
    * { box-sizing: border-box; }
    :root {
      --bg: #0b0b0b;
      --panel: #141414;
      --soft: #1d1d1d;
      --text: #f5f5f2;
      --muted: #aaa7a0;
      --line: rgba(255,255,255,.12);
      --accent: #e6d6a7;
    }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.45;
    }
    a { color: inherit; text-decoration: none; }
    button, select, input { font: inherit; }
    .wrap { width: min(1180px, calc(100% - 36px)); margin: auto; }

    header {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(14px);
      background: rgba(11,11,11,.82);
      border-bottom: 1px solid var(--line);
    }
    .nav {
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }
    .brand {
      font-size: 1.1rem;
      letter-spacing: .26em;
      font-weight: 900;
      white-space: nowrap;
      cursor: pointer;
      transition: color .2s ease, opacity .2s ease;
    }
    .brand:hover { color: var(--accent); }
    .brand:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
    .navlinks {
      display: flex;
      gap: 22px;
      color: var(--muted);
      font-size: .94rem;
    }
    .navlinks a {
      cursor: pointer;
      transition: color .2s ease, opacity .2s ease;
    }
    .navlinks a:hover { color: var(--text); }
    .navlinks a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
    .navcta {
      background: var(--text);
      color: #111;
      padding: 11px 17px;
      border-radius: 999px;
      font-weight: 800;
    }
    .cart-widget {
      position: fixed !important;
      top: 88px;
      right: 18px;
      left: auto;
      bottom: auto;
      z-index: 60;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 46px;
      padding: 10px 14px;
      border: 1px solid rgba(230,214,167,.48);
      border-radius: 999px;
      background: rgba(20,20,20,.94);
      box-shadow: 0 12px 34px rgba(0,0,0,.28);
      color: var(--text);
      font-size: .86rem;
      font-weight: 850;
      backdrop-filter: blur(14px);
      white-space: nowrap;
      box-sizing: border-box;
      line-height: 1;
    }
    .cart-widget:hover { border-color: var(--accent); transform: translateY(-1px); }
    .cart-mark { color: var(--accent); letter-spacing: .04em; }
    .cart-count {
      display: grid;
      place-items: center;
      min-width: 22px;
      height: 22px;
      padding: 0 6px;
      border-radius: 999px;
      background: var(--accent);
      color: #111;
      font-size: .75rem;
    }
    .cart-total { color: var(--muted); }
    footer { padding: 42px 0 52px; color: var(--muted); }
    .footer { display: flex; justify-content: space-between; gap: 20px; align-items: center; border-top: 1px solid var(--line); padding-top: 28px; }
    .footer strong { color: white; letter-spacing: .18em; }
    .footer-social { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
    .instagram-profile, .instagram-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; }
    .instagram-profile { color: var(--muted); font-weight: 800; }
    .instagram-profile:hover { color: var(--text); }
    .whatsapp-profile { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--muted); font-weight: 800; }
    .whatsapp-profile span { color: var(--text); }
    .whatsapp-profile:hover { color: #5bc47a; }
    .instagram-button { padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--text); background: transparent; font-size: .86rem; font-weight: 850; transition: .2s ease; }
    .instagram-button:hover { color: white; background: #c13584; border-color: #c13584; transform: translateY(-2px); }
    .instagram-icon { width: 20px; height: 20px; flex: 0 0 auto; }
    .footer-social .instagram-icon { display: block; width: 20px; height: 20px; max-width: 20px; max-height: 20px; }


        .shop-hero { padding: 54px 0 30px; }
    .shop-hero h1 {
      margin: 0 0 14px;
      font-size: clamp(2.4rem, 5vw, 4.2rem);
      line-height: 1;
      letter-spacing: -.04em;
    }
    .shop-hero .lead { color: #c9c7c2; font-size: 1.05rem; max-width: 620px; margin: 0; }
    .catalog { padding: 20px 0 90px; }
    .product-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 34px;
    }
    .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 22px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .card-media {
      min-height: 0;
      aspect-ratio: 1 / 1;
      display: grid;
      place-items: center;
      padding: 14px;
      background: #f2f2f0;
      overflow: hidden;
    }
    .card-media img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      display: block;
    }
    .card-body { padding: 20px 22px 24px; }
    .card-kicker { color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
    .card h3 { margin: 8px 0 4px; font-size: 1.2rem; }
    .card .price { color: var(--muted); font-size: .92rem; margin: 0 0 16px; }
    .card .btn {
      display: inline-block;
      width: 100%;
      text-align: center;
    }
    /* Sold-out products stay visible for discovery but cannot be opened or purchased. */
    .card.sold-out {
      position: relative;
      opacity: 1;
      filter: none;
    }
    .card.sold-out .card-media {
      position: relative;
      background: #f2f2f2;
      isolation: isolate;
    }
    .card.sold-out .card-media img {
      object-fit: cover;
      object-position: center 25%;
    }
    .sold-out-badge {
      position: absolute !important;
      top: 18px !important;
      left: 18px !important;
      z-index: 20 !important;
      display: block !important;
      width: max-content;
      max-width: calc(100% - 36px);
      padding: 9px 15px;
      border-radius: 10px;
      background: #e3111b;
      color: white;
      font-size: 1.05rem;
      font-weight: 900;
      letter-spacing: .02em;
      text-transform: uppercase;
      line-height: 1.1;
      pointer-events: none;
      transform: translateZ(0);
    }
    .card.sold-out .btn {
      background: #e3111b;
      color: white;
      cursor: not-allowed;
      pointer-events: none;
    }
    .product-grid .btn {
      border: 0;
      cursor: pointer;
      border-radius: 999px;
      padding: 13px 18px;
      font-weight: 900;
      background: var(--text);
      color: #111;
    }

    @media (max-width: 860px) {
      .product-grid { grid-template-columns: repeat(2, 1fr); } /* two-column shop grid on tablets */
    }
    @media (max-width: 520px) {
      .product-grid {
        display: grid;
        grid-template-columns: 1fr;
        overflow: visible;
        touch-action: auto;
        padding: 0 0 12px;
      }
      .product-grid .card {
        min-width: 0;
      }
      .cart-widget { top: 76px; right: 12px; padding: 9px 11px; }
      .cart-widget { position: fixed; display: inline-flex; }
      .cart-total { display: inline; }
      .footer { align-items: flex-start; flex-direction: column; }
      .footer-social { align-items: flex-start; flex-direction: column; gap: 10px; }
      .instagram-button { width: 100%; }
      .sold-out-badge { top: 14px !important; left: 14px !important; padding: 8px 12px; font-size: .92rem; }
    }
  