/* =============================================================
   EvvyTools — Wallpaper Calculator
   Custom styles for pattern diagram, wall grid, accent wall,
   and comparison table.
   ============================================================= */

/* ----- Wall Input Grid ----- */
.wp-walls-grid .input-group {
  max-width: 320px;
}

/* ----- Pattern Match Diagram ----- */
.wp-match-diagram {
  padding: 1rem;
  border: 1px solid var(--evvy-border-color, #DEE2E6);
  border-radius: var(--evvy-radius-lg, 12px);
  background: var(--bs-body-bg, #fff);
  text-align: center;
}

[data-bs-theme="dark"] .wp-match-diagram {
  background: var(--evvy-gray-100, #1E1E1E);
}

.wp-match-visual {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-bottom: 0.75rem;
  height: 100px;
}

.wp-strip {
  width: 40px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  background: color-mix(in srgb, var(--cluster-dark, #1D3354) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--cluster-dark, #1D3354) 25%, transparent);
  transition: transform 0.3s ease;
}

.wp-has-pattern .wp-strip {
  background: repeating-linear-gradient(
    180deg,
    color-mix(in srgb, var(--cluster-dark, #1D3354) 10%, transparent) 0px,
    color-mix(in srgb, var(--cluster-dark, #1D3354) 10%, transparent) 12px,
    color-mix(in srgb, var(--cluster-dark, #1D3354) 22%, transparent) 12px,
    color-mix(in srgb, var(--cluster-dark, #1D3354) 22%, transparent) 24px
  );
}

.wp-pattern-marker {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--cluster-dark, #1D3354);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.wp-has-pattern .wp-pattern-marker {
  opacity: 0.6;
}

#marker-a1, #marker-b1 { top: 10%; }
#marker-a2, #marker-b2 { top: 43%; }
#marker-a3, #marker-b3 { top: 76%; }

.wp-match-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--evvy-text-secondary, #666);
}

/* ----- Accent Wall Result ----- */
.wp-accent-result {
  background: color-mix(in srgb, var(--cluster-dark, #1D3354) 6%, transparent);
  border: 1px solid color-mix(in srgb, var(--cluster-dark, #1D3354) 15%, transparent);
  border-radius: var(--evvy-radius-lg, 12px);
}

/* ----- Cost Comparison Table ----- */
.wp-comparison-table .table {
  font-size: 0.8125rem;
}

.wp-comparison-table .table th {
  background: color-mix(in srgb, var(--cluster-dark, #1D3354) 8%, transparent);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

[data-bs-theme="dark"] .wp-comparison-table .table th {
  background: color-mix(in srgb, var(--cluster-dark, #1D3354) 20%, transparent);
}

.wp-best-value {
  padding: 0.5rem 0.75rem;
  background: color-mix(in srgb, var(--cluster-dark, #1D3354) 6%, transparent);
  border-radius: var(--evvy-radius-lg, 12px);
  color: var(--cluster-dark, #1D3354);
  font-weight: 500;
}

[data-bs-theme="dark"] .wp-best-value {
  background: color-mix(in srgb, var(--cluster-dark, #1D3354) 18%, transparent);
}

/* ----- Premium Section Dividers ----- */
.wp-premium-section {
  padding-top: 1rem;
  border-top: 1px dashed var(--evvy-border-color, #DEE2E6);
}

/* ----- Responsive ----- */
@media (max-width: 575.98px) {
  .wp-walls-grid .input-group {
    max-width: 100%;
  }

  .evvy-results-row {
    grid-template-columns: 1fr;
  }

  .wp-match-visual {
    height: 80px;
  }

  .wp-strip {
    width: 32px;
  }

  .wp-comparison-table {
    overflow-x: auto;
  }
}
