/* ============================================
   Foundry — Precise, Spec-heavy, Informational
   Brand: tech shop, dense dark UI, data-driven
   Fonts: JetBrains Mono (heading) + Red Hat Text (body)
   Like: a developer tools site — dark, dense, technical
   Color: dark palette with green accent
   ============================================ */

.theme-foundry {
  /* --- Hero: mono type, technical --- */
  & .hero-content h1 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    letter-spacing: -0.02em;
    line-height: 1.1;
  }

  & .hero-content .hero-sub {
    font-family: var(--font-display);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    opacity: 0.6;
  }

  & .hero-actions a {
    border-radius: 0.25rem;
    padding: 0.75em 2em;
    font-family: var(--font-display);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
  }

  /* --- Categories: compact tech chips --- */
  & .category-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  & .category-card {
    border: 1px solid var(--border);
    border-radius: 0.25rem;
    padding: 0.5rem 1rem;
    background: oklch(0.18 0.005 250);

    & .category-image { display: none; }

    & h3 {
      font-family: var(--font-display);
      font-size: 0.75rem;
      font-weight: 400;
      letter-spacing: 0.02em;
      color: oklch(0.7 0.005 60);
    }

    &:hover {
      border-color: var(--primary);
      background: oklch(0.22 0.01 250);
      transform: none;
    }
  }

  /* --- Section heads: mono, technical label --- */
  & .section-head {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    border-block-end: 1px solid var(--border);
    padding-block-end: 0.5rem;
    margin-block-end: 1rem;

    & h2 {
      font-family: var(--font-display);
      font-size: 0.75rem;
      font-weight: 400;
      letter-spacing: 0.04em;
      opacity: 0.6;
      text-transform: uppercase;
    }
  }

  /* --- Product cards: dark, data-dense --- */
  & .product-card {
    border-radius: 0.25rem;
    background: oklch(0.18 0.005 250);
    border: 1px solid var(--border);

    & .product-image { border-radius: 0.25rem; }

    & h3 {
      font-family: var(--font-display);
      font-weight: 400;
      font-size: 0.8125rem;
      letter-spacing: 0.01em;
      color: oklch(0.88 0.005 60);
    }

    & .product-price {
      font-family: var(--font-display);
      font-size: 0.8125rem;
      color: var(--primary);
    }

    & .card-action {
      border-radius: 0.25rem;
      font-family: var(--font-display);
      font-size: 0.6875rem;
      letter-spacing: 0.04em;
      background: var(--primary);
      color: oklch(0.1 0.005 60);
    }

    &:hover {
      border-color: var(--primary);
    }
  }

  /* --- Newsletter: dark, compact --- */
  & .newsletter {
    background: oklch(0.18 0.005 250);
    border-radius: 0.25rem;
    border: 1px solid var(--border);

    & h2 {
      font-family: var(--font-display);
      font-weight: 400;
      font-size: 0.8125rem;
      letter-spacing: 0.04em;
      color: oklch(0.88 0.005 60);
    }

    & p {
      font-size: 0.8125rem;
      opacity: 0.5;
    }

    & input {
      border-radius: 0.25rem;
      background: oklch(0.15 0.005 250);
      color: oklch(0.88 0.005 60);
    }

    & button {
      border-radius: 0.25rem;
      background: var(--primary);
      color: oklch(0.1 0.005 60);
      font-family: var(--font-display);
      font-size: 0.6875rem;
      letter-spacing: 0.04em;
    }
  }

  /* --- PDP --- */
  & .pdp-gallery .pdp-hero { border-radius: 0.25rem; }
  & .pdp-gallery nav button { border-radius: 0.25rem; }
  & .pdp-info h1 {
    font-family: var(--font-display);
    font-weight: 400;
  }
  & .pdp-add-btn {
    border-radius: 0.25rem;
    background: var(--primary);
    color: oklch(0.1 0.005 60);
    font-family: var(--font-display);
    letter-spacing: 0.04em;
  }

  /* --- Footer: dark tech --- */
  & footer {
    background: oklch(0.14 0.005 250);
    border-block-start: 1px solid var(--border);

    & nav h3 {
      font-family: var(--font-display);
      font-size: 0.625rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-weight: 400;
      color: oklch(0.6 0.005 60);
    }
  }

  & .footer-brand .logo-text {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: 0.04em;
    font-size: 0.9375rem;
    color: oklch(0.88 0.005 60);
  }

  /* --- CMS pages --- */
  & .cms-page > h1 { font-family: var(--font-display); font-weight: 400; }

  /* --- Breadcrumb --- */
  & .breadcrumb ol {
    font-family: var(--font-display);
    font-size: 0.625rem;
    letter-spacing: 0.04em;
  }

  /* --- Buttons --- */
  & .empty-state a,
  & .empty-state button {
    border-radius: 0.25rem;
    background: var(--primary);
    color: oklch(0.1 0.005 60);
    font-family: var(--font-display);
    letter-spacing: 0.04em;
  }

  /* --- Filter --- */
  & .filter-group h3 {
    font-family: var(--font-display);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 400;
  }

  /* --- Sort --- */
  & .catalog-toolbar .sort-select select { border-radius: 0.25rem; }

  /* --- Carousel --- */
  & .carousel-track > .product-card { width: 320px; }

  /* --- Catalog: dark spec-heavy, technical --- */
  & .catalog {
    gap: 1rem;
  }

  & .catalog-toolbar {
    background: oklch(0.18 0.005 250);
    border: 1px solid var(--border);
    border-radius: 0.25rem;
    padding: 0.5rem 0.75rem;

    & .result-count {
      font-family: var(--font-display);
      font-size: 0.6875rem;
      letter-spacing: 0.04em;
      opacity: 0.5;
    }

    & .filter-toggle {
      border-radius: 0.25rem;
      font-family: var(--font-display);
      font-size: 0.6875rem;
      letter-spacing: 0.04em;
      background: var(--primary);
      color: oklch(0.1 0.005 60);
    }
  }

  & .catalog .product-grid {
    gap: 0.75rem;
  }

  & .active-filters {
    & .active-filter-pill {
      border-radius: 0.25rem;
      font-family: var(--font-display);
      font-size: 0.625rem;
      letter-spacing: 0.04em;
      background: oklch(0.22 0.01 250);
      border: 1px solid var(--border);
      color: oklch(0.8 0.005 60);
    }
  }

  /* --- PDP: dark spec-heavy, monospace details, technical --- */
  & .pdp {
    gap: clamp(2rem, 4vw, 3rem);
  }

  & .pdp-gallery .pdp-hero {
    border: 1px solid var(--border);
  }

  & .pdp-gallery .pdp-thumbnails button {
    border-radius: 0.25rem;
    border: 1px solid transparent;

    &[aria-pressed="true"] {
      border-color: var(--primary);
    }
  }

  & .pdp-info {
    & .pdp-brand {
      font-family: var(--font-display);
      font-size: 0.6875rem;
      letter-spacing: 0.04em;
      color: var(--primary);
    }

    & h1 {
      font-size: clamp(1.5rem, 3vw, 2rem);
    }

    & .pdp-sku {
      font-family: var(--font-display);
      font-size: 0.6875rem;
      color: oklch(0.5 0.005 60);
    }

    & .pdp-price {
      font-family: var(--font-display);
      font-size: 1.25rem;
      color: var(--primary);
    }

    & .pdp-description {
      font-size: 0.8125rem;
      line-height: 1.7;
      color: oklch(0.6 0.005 60);
    }
  }

  & .pdp-actions {
    & .quantity-selector {
      border-radius: 0.25rem;
      background: oklch(0.15 0.005 250);
      color: oklch(0.88 0.005 60);
    }
  }

  & .pdp-trust {
    font-family: var(--font-display);
    font-size: 0.625rem;
    letter-spacing: 0.04em;
    color: oklch(0.45 0.005 60);
  }

  & .pdp-variants .pdp-variant-btn {
    border-radius: 0.25rem;
    font-family: var(--font-display);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    background: oklch(0.18 0.005 250);
    border: 1px solid var(--border);
    color: oklch(0.8 0.005 60);
  }

  & .pdp-tabs {
    border-block-start: 1px solid var(--border);
    padding-block-start: 1rem;

    & .pdp-tab-nav button {
      font-family: var(--font-display);
      font-size: 0.6875rem;
      letter-spacing: 0.04em;
      border-radius: 0.25rem;
      color: oklch(0.6 0.005 60);
    }
  }

  /* --- Related: dark, technical --- */
  & .related-section {
    border-block-start: 1px solid var(--border);
    padding-block-start: clamp(2rem, 4vw, 3rem);
    margin-block-start: clamp(2rem, 4vw, 3rem);
  }

  & .related-section .section-head h2 {
    font-family: var(--font-display);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    opacity: 0.6;
    text-transform: uppercase;
  }
}
