:root {
      --wine: #35101E;
      --wine-deep: #1E0B12;
      --gold: #f40c0c;
      --gold-light: #DFC68F;
      --ink: #211B18;
      --muted: #706660;
      --paper: #F7F2E9;
      --paper-soft: #EEE6D9;
      --white: #FFFDF9;
      --line: rgba(54, 37, 30, .14);
      --line-dark: rgba(255, 253, 249, .15);
      --container: 1280px;
      --ease: cubic-bezier(.22, 1, .36, 1);
      --shadow-soft: 0 22px 70px rgba(29, 11, 18, .10);
      --bordo: #5C0A1F;
      --bordo-escuro: #3A0613;
      --dourado-claro: #E5C158;
      --branco: #FFFFFF;
    }

    *, *::before, *::after { box-sizing: border-box; }
    * { margin: 0; }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 132px;
    }

    body {
      min-width: 320px;
      overflow-x: hidden;
      color: var(--ink);
      background: var(--paper);
      font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      font-size: 15px;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.no-scroll { overflow: hidden; }
    img, video { display: block; max-width: 100%; }
    button, input { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }

    h1, h2, h3, h4, .serif {
      font-family: 'Newsreader', Georgia, serif;
      font-weight: 500;
      letter-spacing: -.025em;
    }

    a { color: inherit; }

    :focus-visible {
      outline: 3px solid var(--gold-light);
      outline-offset: 4px;
    }

    .container {
      width: min(calc(100% - 36px), var(--container));
      margin-inline: auto;
    }

    .skip-link {
      position: fixed;
      z-index: 9999;
      top: 10px;
      left: 10px;
      padding: 10px 14px;
      color: var(--white);
      background: var(--wine);
      text-decoration: none;
      transform: translateY(-180%);
      transition: transform .2s ease;
    }
    .skip-link:focus { transform: translateY(0); }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--wine);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .18em;
      line-height: 1.2;
      text-transform: uppercase;
    }
    .eyebrow::before {
      content: '';
      width: 28px;
      height: 1px;
      background: currentColor;
    }

    .button {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 24px;
      border: 1px solid transparent;
      border-radius: 0;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: .12em;
      font-size: 9px;
      font-weight: 700;
      cursor: pointer;
      transition: transform .24s var(--ease), background .24s ease, color .24s ease, border-color .24s ease;
    }
    .button:hover { transform: translateY(-2px); }
    .button-gold { color: var(--wine-deep); background: var(--gold-light); }
    .button-gold:hover { background: #E7D09F; }
    .button-dark { color: var(--white); background: var(--wine-deep); }
    .button-dark:hover { background: var(--wine); }
    .button-ghost { color: var(--white); background: transparent; border-color: rgba(255,255,255,.34); }
    .button-ghost:hover { color: var(--gold-light); border-color: var(--gold-light); }

    /* HEADER */
    .site-header {
      position: fixed;
      inset: 0 0 auto;
      z-index: 100;
      min-height: 78px;
      display: flex;
      align-items: center;
      color: var(--white);
      background: rgba(15, 16, 17, .96);
      border-bottom: 1px solid rgba(255, 255, 255, .09);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      transition: background .25s ease, min-height .25s ease;
    }
    .site-header.scrolled {
      min-height: 70px;
      background: rgba(11, 12, 13, .99);
    }
    .header-inner {
      min-height: inherit;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 18px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      width: max-content;
      text-decoration: none;
    }
    .brand img {
      width: 126px;
      max-height: 48px;
      object-fit: contain;
      filter: brightness(0) invert(1);
    }
    .main-nav { display: none; }
    .header-actions {
      justify-self: end;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .partner-note { display: none; }
    .selection-button {
      min-height: 38px;
      padding: 0 13px;
      color: rgba(255,255,255,.82);
      background: transparent;
      border: 1px solid rgba(255,255,255,.16);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .selection-button span { color: #D3D3D3; }

    /* HERO */

    .hero {
      position: relative;
      min-height: 720px;
      display: flex;
      align-items: center;
      padding: 118px 0 58px;
      color: var(--white);
      background: #151214;
      overflow: hidden;
    }
    .hero-video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 55% center;
      opacity: .58;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(180deg, rgba(18,6,10,.80), rgba(30,11,18,.72) 52%, rgba(17,6,10,.90));
    }
    .hero::after {
      content: '';
      position: absolute;
      z-index: 1;
      inset: auto 0 0;
      height: 160px;
      background: linear-gradient(transparent, rgba(30,11,18,.94));
    }
    .hero-layout {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
    }
    .hero-copy { max-width: 760px; }
    .hero .eyebrow { color: var(--gold-light); }
    .hero-copy h1 {
      max-width: 760px;
      margin: 18px 0 20px;
      font-size: clamp(40px, 10vw, 58px);
      line-height: .98;
      letter-spacing: -.04em;
      text-wrap: balance;
    }
    .hero-copy h1 em {
      display: block;
      color: var(--gold-light);
      font-style: italic;
      font-weight: 400;
    }
    .hero-copy > p {
      max-width: 590px;
      color: rgba(255,255,255,.75);
      font-size: 14px;
      line-height: 1.8;
    }
    .hero-cta {
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-top: 28px;
    }

    .offer-panel {
      position: relative;
      width: 100%;
      padding: 27px 22px;
      color: var(--white);
      background: rgba(30, 11, 18, .78);
      border: 1px solid rgba(223, 198, 143, .38);
      box-shadow: 0 30px 90px rgba(10, 3, 7, .28);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .offer-panel::before {
      content: '';
      position: absolute;
      inset: 8px;
      border: 1px solid rgba(223, 198, 143, .12);
      pointer-events: none;
    }
    .offer-label {
      position: relative;
      z-index: 1;
      color: var(--gold-light);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .offer-panel h2 {
      position: relative;
      z-index: 1;
      margin: 11px 0 5px;
      font-size: 30px;
      line-height: 1.08;
    }
    .offer-panel > p {
      position: relative;
      z-index: 1;
      color: rgba(255,255,255,.60);
      font-size: 11px;
    }
    .coupon-row {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr;
      margin: 22px 0 15px;
      border: 1px solid rgba(223,198,143,.44);
    }
    .coupon-code {
      min-width: 0;
      padding: 14px 12px;
      font-size: clamp(17px, 6vw, 21px);
      font-weight: 600;
      letter-spacing: .05em;
      text-align: center;
      overflow-wrap: normal;
    }
    .copy-button {
      min-height: 42px;
      color: var(--wine-deep);
      background: var(--gold-light);
      border: 0;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .offer-meta {
      position: relative;
      z-index: 1;
      display: grid;
      gap: 8px;
      color: rgba(255,255,255,.62);
      font-size: 10px;
    }

    .authority-strip {
      position: relative;
      z-index: 3;
      color: var(--white);
      background: var(--wine-deep);
      border-top: 1px solid rgba(223,198,143,.18);
    }
    .authority-grid {
      display: grid;
      grid-template-columns: 1fr;
    }
    .authority-item {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 18px 0;
      border-bottom: 1px solid rgba(223,198,143,.16);
    }
    .authority-item:last-child { border-bottom: 0; }
    .authority-item span {
      color: var(--gold-light);
      font-family: 'Newsreader', Georgia, serif;
      font-size: 27px;
      line-height: 1;
    }
    .authority-item div {
      flex: 1;
      text-align: right;
    }
    .authority-item strong {
      display: block;
      font-size: 9px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .authority-item small {
      display: block;
      margin-top: 2px;
      color: rgba(255,255,255,.48);
      font-size: 9px;
    }

    /* SECTION HEADING */
    .section-heading {
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
      align-items: end;
      padding-bottom: 26px;
      border-bottom: 1px solid var(--line);
    }
    .section-kicker { margin-bottom: 12px; }
    .section-heading h2 {
      max-width: 780px;
      font-size: clamp(42px, 12vw, 58px);
      line-height: .98;
      letter-spacing: -.04em;
      text-wrap: balance;
    }
    .section-heading p {
      max-width: 500px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.85;
    }

    /* PRODUCTS */
    .products { padding: 78px 0 88px; }
    .product-toolbar {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 14px;
      margin: 23px 0;
    }
    .filters { display: flex; flex-wrap: wrap; gap: 7px; }
    .filter-button {
      min-height: 38px;
      padding: 0 13px;
      color: var(--muted);
      background: transparent;
      border: 1px solid rgba(68,45,38,.20);
      border-radius: 999px;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .09em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .filter-button:hover,
    .filter-button.active {
      color: var(--white);
      background: var(--wine);
      border-color: var(--wine);
    }
    .result-count { color: var(--muted); font-size: 9px; }
    .product-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .product-card {
      min-width: 0;
      display: flex;
      flex-direction: column;
      background: var(--white);
      border: 1px solid rgba(68,45,38,.10);
      overflow: hidden;
      transition: transform .28s var(--ease), box-shadow .28s ease, border-color .28s ease;
    }
    .product-card:hover {
      transform: translateY(-5px);
      border-color: rgba(100,26,50,.26);
      box-shadow: 0 18px 55px rgba(45,24,23,.09);
    }
    .product-media {
      position: relative;
      min-height: 310px;
      display: grid;
      place-items: center;
      padding: 36px 22px 26px;
      background:
        radial-gradient(circle at 50% 44%, rgba(255,255,255,.98), rgba(247,242,233,.54) 43%, transparent 70%),
        linear-gradient(180deg, #F5EEE4 0%, #EBE1D3 100%);
      overflow: hidden;
    }
    .product-media::after {
      content: '';
      position: absolute;
      left: 22%; right: 22%; bottom: 22px;
      height: 13px;
      border-radius: 50%;
      background: rgba(38,22,18,.14);
      filter: blur(9px);
    }
    .product-media img {
      position: relative;
      z-index: 1;
      width: auto;
      height: 245px;
      max-width: 86%;
      object-fit: contain;
      mix-blend-mode: multiply;
      transition: transform .35s var(--ease);
    }
    .product-card:hover .product-media img { transform: scale(1.035); }
    .product-badges {
      position: absolute;
      z-index: 3;
      inset: 13px 13px auto;
      display: flex;
      justify-content: space-between;
      align-items: start;
      gap: 8px;
    }
    .product-badge {
      color: var(--wine);
      font-size: 7px;
      font-weight: 700;
      letter-spacing: .09em;
      text-transform: uppercase;
    }
    .discount-badge {
      padding: 5px 7px;
      color: var(--white);
      background: var(--wine);
    }
    .product-body {
      flex: 1;
      display: flex;
      flex-direction: column;
      padding: 21px 18px 18px;
    }
    .product-type {
      margin-bottom: 8px;
      color: var(--muted);
      font-size: 7px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .product-body h3 {
      min-height: 50px;
      font-size: 21px;
      line-height: 1.18;
    }
    .price-block {
      margin: 20px 0 17px;
      padding-top: 17px;
      border-top: 1px solid var(--line);
    }
    .old-price {
      min-height: 18px;
      color: #8C817B;
      font-size: 9px;
      text-decoration: line-through;
    }
    .old-price.no-cut { text-decoration: none; }
    .current-price {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
      margin-top: 3px;
      color: var(--wine);
      font-family: 'Newsreader', Georgia, serif;
      font-size: 29px;
      line-height: 1;
    }
    .current-price small {
      color: var(--muted);
      font-family: 'Manrope', sans-serif;
      font-size: 7px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .add-button {
      width: 100%;
      min-height: 44px;
      margin-top: auto;
      color: var(--white);
      background: var(--ink);
      border: 0;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .11em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background .22s ease;
    }
    .add-button:hover { background: var(--wine); }
    .product-fallback {
      position: relative;
      z-index: 2;
      max-width: 190px;
      color: var(--wine);
      font-family: 'Newsreader', Georgia, serif;
      font-size: 28px;
      line-height: 1.05;
      text-align: center;
    }

    /* STORIES */
    .stories {
      padding: 84px 0;
      color: var(--white);
      background: var(--wine-deep);
    }
    .stories .section-heading { border-color: var(--line-dark); }
    .stories .eyebrow { color: var(--gold-light); }
    .stories .section-heading p { color: rgba(255,255,255,.54); }
    .story-grid {
      display: grid;
      grid-template-columns: 1fr;
      margin-top: 28px;
      border-top: 1px solid var(--line-dark);
    }
    .story-card {
      min-height: 280px;
      display: flex;
      flex-direction: column;
      padding: 28px 0;
      border-bottom: 1px solid var(--line-dark);
    }
    .story-meta {
      color: var(--gold-light);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .story-card h3 {
      margin: auto 0 10px;
      font-size: 31px;
      line-height: 1.02;
    }
    .story-card p {
      max-width: 420px;
      margin-bottom: 20px;
      color: rgba(255,255,255,.56);
      font-size: 11px;
      line-height: 1.8;
    }
    .story-button {
      align-self: flex-start;
      padding: 0 0 5px;
      color: var(--white);
      background: transparent;
      border: 0;
      border-bottom: 1px solid var(--gold);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .official-link {
      display: flex;
      justify-content: flex-start;
      margin-top: 28px;
    }
    .official-link a {
      color: rgba(255,255,255,.58);
      font-size: 10px;
      text-underline-offset: 5px;
    }

    /* CONDITIONS */
    .conditions { padding: 78px 0 84px; background: var(--paper-soft); }
    .conditions-head { max-width: 760px; }
    .conditions h2 {
      margin-top: 12px;
      font-size: clamp(42px, 12vw, 58px);
      line-height: .98;
    }
    .conditions-grid {
      margin-top: 32px;
      border-top: 1px solid var(--line);
    }
    .condition-row {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 16px;
      padding: 23px 0;
      border-bottom: 1px solid var(--line);
    }
    .condition-number {
      color: var(--wine);
      font-family: 'Newsreader', Georgia, serif;
      font-size: 22px;
    }
    .condition-row h3 {
      margin-bottom: 3px;
      color: var(--wine-deep);
      font-family: 'Manrope', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .02em;
    }
    .condition-row p {
      color: var(--muted);
      font-size: 11px;
      line-height: 1.7;
    }

    /* FOOTER */
    .site-footer {
      padding: 52px 0 22px;
      color: var(--white);
      background: #11100F;
      border-top: 1px solid rgba(223,198,143,.28);
    }
    .footer-main {
      display: grid;
      grid-template-columns: 1fr;
      gap: 34px;
      padding-bottom: 38px;
    }
    .footer-logo { width: 158px; margin-bottom: 17px; filter: brightness(0) invert(1); }
    .footer-main h4 {
      margin-bottom: 12px;
      color: var(--gold-light);
      font-family: 'Manrope', sans-serif;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .footer-main p, .footer-main a {
      color: #A9A4A1;
      font-size: 10px;
      line-height: 1.8;
      text-decoration: none;
    }
    .footer-main a:hover { color: var(--gold-light); }
    .partner-logo { width: 108px; margin-top: 15px; opacity: .92; }
    .footer-bottom {
      padding-top: 19px;
      border-top: 1px solid rgba(255,255,255,.09);
      color: #706B68;
      font-size: 8px;
      line-height: 1.7;
      text-align: left;
    }

    /* MODAL */
    .modal {
      position: fixed;
      inset: 0;
      z-index: 300;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(9, 4, 5, .82);
      backdrop-filter: blur(10px);
    }
    .modal.show { display: flex; }
    .modal-dialog {
      position: relative;
      width: min(720px, 100%);
      max-height: 88vh;
      overflow: auto;
      padding: 36px 23px;
      background: var(--paper);
      box-shadow: var(--shadow-soft);
    }
    .modal-close {
      position: absolute;
      top: 14px;
      right: 14px;
      min-width: 38px;
      min-height: 38px;
      color: var(--ink);
      background: transparent;
      border: 1px solid var(--line);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .modal-meta {
      display: block;
      margin-bottom: 11px;
      color: var(--wine);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .modal-dialog h3 {
      max-width: 560px;
      margin: 0 50px 20px 0;
      color: var(--wine-deep);
      font-size: 36px;
      line-height: 1.02;
    }
    .modal-dialog p {
      margin-bottom: 15px;
      color: #514844;
      font-size: 13px;
      line-height: 1.82;
    }

    /* DRAWER */
    .drawer-overlay {
      position: fixed;
      inset: 0;
      z-index: 210;
      visibility: hidden;
      opacity: 0;
      background: rgba(9,4,5,.66);
      transition: opacity .25s ease, visibility .25s ease;
    }
    .drawer-overlay.show { visibility: visible; opacity: 1; }
    .selection-drawer {
      position: fixed;
      z-index: 220;
      inset: 0 0 0 auto;
      width: min(440px, 100%);
      display: flex;
      flex-direction: column;
      padding: 23px 18px;
      background: var(--paper);
      transform: translateX(100%);
      transition: transform .32s var(--ease);
      box-shadow: -24px 0 80px rgba(17,7,10,.22);
    }
    .selection-drawer.show { transform: none; }
    .drawer-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding-bottom: 17px;
      border-bottom: 1px solid var(--line);
    }
    .drawer-head h2 { color: var(--wine-deep); font-size: 31px; }
    .drawer-close {
      min-width: 38px;
      min-height: 38px;
      color: var(--ink);
      background: transparent;
      border: 1px solid var(--line);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .selection-items { flex: 1; overflow-y: auto; padding: 14px 2px 14px 0; }
    .selection-empty { padding: 58px 15px; color: var(--muted); font-size: 12px; text-align: center; }
    .selection-item {
      display: grid;
      grid-template-columns: 52px 1fr auto;
      align-items: center;
      gap: 12px;
      padding: 12px 0;
      border-bottom: 1px solid var(--line);
    }
    .selection-item img {
      width: 52px;
      height: 66px;
      object-fit: contain;
      background: var(--paper-soft);
      mix-blend-mode: multiply;
    }
    .selection-item h3 {
      font-family: 'Manrope', sans-serif;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0;
      line-height: 1.35;
    }
    .selection-item p { margin-top: 3px; color: var(--wine); font-size: 10px; font-weight: 700; }
    .remove-button {
      color: var(--muted);
      background: transparent;
      border: 0;
      font-size: 8px;
      text-decoration: underline;
      cursor: pointer;
    }
    .drawer-footer { padding-top: 17px; border-top: 1px solid var(--line); }
    .drawer-total {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 15px;
      color: var(--muted);
      font-size: 10px;
    }
    .drawer-total strong { color: var(--wine); font-family: 'Newsreader', Georgia, serif; font-size: 30px; }
    .drawer-footer .button { width: 100%; }
    .drawer-note { margin-top: 10px; color: var(--muted); font-size: 8px; line-height: 1.55; text-align: center; }

    .toast {
      position: fixed;
      z-index: 500;
      left: 16px;
      right: 16px;
      bottom: 16px;
      padding: 13px 16px;
      color: var(--white);
      background: var(--ink);
      border-left: 2px solid var(--gold);
      box-shadow: var(--shadow-soft);
      opacity: 0;
      transform: translateY(18px);
      pointer-events: none;
      transition: opacity .25s ease, transform .25s var(--ease);
      font-size: 10px;
    }
    .toast.show { opacity: 1; transform: none; }

    .reveal {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .7s var(--ease), transform .7s var(--ease);
    }
    .reveal.visible { opacity: 1; transform: none; }


    /* MOBILE REFINADO */

    /* =========================================================
       RESPONSIVIDADE — revisada para mobile, desktop compacto e wide
       ========================================================= */

    /* Mobile real */
    @media (max-width: 599px) {
      html { scroll-padding-top: 122px; }
      .container { width: calc(100% - 32px); }

      .site-header,
      .site-header.scrolled { min-height: 64px; }
      .brand img { width: 108px; max-height: 39px; }
      .header-inner { gap: 10px; }
      .selection-button {
        min-height: 34px;
        padding: 0 9px;
        font-size: 7px;
        letter-spacing: .09em;
      }

      .hero {
        min-height: auto;
        padding: 54px 0 48px;
        align-items: flex-start;
      }
      .hero-video { object-position: 58% center; opacity: .50; }
      .hero::before {
        background: linear-gradient(180deg, rgba(10,11,12,.83), rgba(18,13,15,.84) 52%, rgba(15,10,12,.96));
      }
      .hero-layout { grid-template-columns: 1fr; gap: 30px; }
      .hero-copy { max-width: 100%; }
      .hero-copy h1 {
        max-width: 340px;
        margin: 14px 0 16px;
        font-size: clamp(36px, 10.2vw, 44px);
        line-height: 1;
        letter-spacing: -.032em;
        text-wrap: balance;
      }
      .hero-copy > p {
        max-width: 340px;
        font-size: 12.5px;
        line-height: 1.65;
      }
      .hero-cta {
        flex-direction: column;
        gap: 9px;
        margin-top: 22px;
      }
      .hero-cta .button { width: 100%; min-height: 46px; }

      .offer-panel { padding: 23px 18px; }
      .offer-panel h2 { font-size: 25px; line-height: 1.08; }
      .coupon-row { grid-template-columns: 1fr; margin: 18px 0 13px; }
      .coupon-code {
        font-size: 15px;
        letter-spacing: .025em;
        white-space: nowrap;
        overflow: hidden;
        overflow-wrap: normal;
      }
      .copy-button { min-height: 40px; }

      .authority-grid { grid-template-columns: 1fr; }
      .authority-item { min-height: 68px; padding: 14px 0; }
      .authority-item span { font-size: 23px; }
      .authority-item strong,
      .authority-item small { font-size: 8px; }

      .products { padding: 64px 0 72px; }
      .section-heading {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-bottom: 20px;
      }
      .section-heading h2,
      .conditions h2 {
        font-size: clamp(34px, 9.4vw, 42px);
        line-height: 1.03;
      }
      .section-heading p { font-size: 11px; line-height: 1.65; }
      .product-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin: 18px 0;
      }
      .product-grid { grid-template-columns: 1fr; }
      .product-media { min-height: 276px; padding: 30px 18px 22px; }
      .product-media img { height: 212px; }
      .product-body { padding: 18px 16px 16px; }
      .product-body h3 { min-height: 0; font-size: 18px; }
      .current-price { font-size: 26px; }

      .stories { padding: 68px 0; }
      .story-grid { grid-template-columns: 1fr; margin-top: 20px; }
      .story-card { min-height: 0; padding: 25px 0; border-right: 0; }
      .story-card h3 { margin: 34px 0 9px; font-size: 25px; }
      .story-card p { font-size: 10.5px; line-height: 1.68; }

      .conditions { padding: 64px 0 72px; }
      .conditions-grid { margin-top: 24px; }
      .condition-row {
        grid-template-columns: 32px 1fr;
        gap: 12px;
        padding: 18px 0;
      }
      .condition-row h3 { font-size: 10px; }
      .condition-row p { font-size: 10.5px; line-height: 1.6; }

      .footer-main { grid-template-columns: 1fr; gap: 28px; }
      .footer-bottom { text-align: left; }
      .modal-dialog { padding: 34px 20px 26px; }
      .selection-drawer { width: 100%; padding: 20px 16px; }
    }

    @media (max-width: 380px) {
      .hero-copy h1 { font-size: 34px; max-width: 300px; }
      .section-heading h2,
      .conditions h2 { font-size: 32px; }
    }

    /* Tablet */
    @media (min-width: 600px) and (max-width: 759px) {
      .container { width: min(calc(100% - 48px), var(--container)); }
      .site-header { min-height: 72px; }
      .brand img { width: 126px; }

      .hero { min-height: auto; padding: 70px 0 60px; }
      .hero-layout { grid-template-columns: 1fr; gap: 34px; }
      .hero-copy h1 { font-size: 52px; max-width: 610px; }
      .hero-cta { flex-direction: row; flex-wrap: wrap; }
      .coupon-row { grid-template-columns: 1fr auto; }
      .copy-button { padding-inline: 16px; }

      .authority-grid { grid-template-columns: repeat(3, 1fr); }
      .authority-item {
        min-height: 92px;
        display: block;
        padding: 22px 18px;
        border-right: 1px solid rgba(223,198,143,.16);
        border-bottom: 0;
      }
      .authority-item:last-child { border-right: 0; }
      .authority-item div { margin-top: 7px; text-align: left; }

      .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .product-toolbar { flex-direction: row; justify-content: space-between; align-items: center; }
      .story-grid { grid-template-columns: repeat(2, 1fr); }
      .condition-row { grid-template-columns: 52px 180px 1fr; gap: 18px; }
      .footer-main { grid-template-columns: 1.1fr 1fr; }
    }

    /* Desktop compacto: cobre janelas de desktop estreitas, como 800–1000px */
    @media (min-width: 760px) {
      html { scroll-padding-top: 132px; }
      .container { width: min(calc(100% - 56px), var(--container)); }

      .site-header { min-height: 78px; }
      .site-header.scrolled { min-height: 70px; }
      .header-inner {
        grid-template-columns: 170px minmax(0,1fr) 160px;
        gap: 16px;
      }
      .brand img { width: 136px; max-height: 48px; }
      .main-nav { display: flex; justify-content: center; gap: 18px; }
      .main-nav a {
        position: relative;
        color: rgba(255,255,255,.72);
        text-decoration: none;
        font-size: 8px;
        font-weight: 700;
        letter-spacing: .09em;
        text-transform: uppercase;
        white-space: nowrap;
      }
      .main-nav a::after {
        content: '';
        position: absolute;
        left: 0;
        right: 100%;
        bottom: -7px;
        height: 1px;
        background: var(--gold-light);
        transition: right .22s ease;
      }
      .main-nav a:hover::after { right: 0; }
      .partner-note { display: none; }
      .selection-button { min-height: 36px; padding-inline: 10px; }

      .hero {
        min-height: 650px;
        padding: 64px 0 62px;
      }
      .hero::before {
        background: linear-gradient(90deg, rgba(10,8,9,.96), rgba(25,15,18,.82) 50%, rgba(20,12,15,.58) 78%, rgba(12,9,10,.72));
      }
      .hero-layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(270px, .85fr);
        align-items: center;
        gap: 28px;
      }
      .hero-copy h1 {
        max-width: 500px;
        margin: 16px 0 18px;
        font-size: clamp(46px, 6.1vw, 54px);
        line-height: .96;
      }
      .hero-copy > p { max-width: 480px; font-size: 13px; line-height: 1.7; }
      .hero-cta { flex-direction: row; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
      .hero-cta .button { min-height: 46px; padding-inline: 18px; }
      .offer-panel { padding: 25px 22px; }
      .offer-panel h2 { font-size: 27px; }
      .coupon-row { grid-template-columns: 1fr auto; }
      .coupon-code { font-size: 16px; }
      .copy-button { padding-inline: 13px; }

      .authority-grid { grid-template-columns: repeat(3, 1fr); }
      .authority-item {
        min-height: 92px;
        display: block;
        padding: 21px 18px;
        border-right: 1px solid rgba(223,198,143,.16);
        border-bottom: 0;
      }
      .authority-item:last-child { border-right: 0; }
      .authority-item div { margin-top: 7px; text-align: left; }

      .section-heading {
        grid-template-columns: minmax(0,1fr) minmax(240px,320px);
        gap: 30px;
      }
      .section-heading h2 { font-size: 46px; }
      .products { padding: 84px 0 94px; }
      .product-toolbar { flex-direction: row; align-items: center; justify-content: space-between; }
      .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

      .story-grid { grid-template-columns: repeat(2, 1fr); }
      .story-card { padding-inline: 24px; border-right: 1px solid var(--line-dark); }
      .story-card:nth-child(2n) { border-right: 0; }

      .condition-row {
        grid-template-columns: 54px 190px 1fr;
        align-items: baseline;
        gap: 18px;
      }
      .footer-main { grid-template-columns: 1.1fr 1fr; }
      .footer-bottom { text-align: center; }
    }

    /* Desktop completo */
    @media (min-width: 1024px) {
      .container { width: min(calc(100% - 72px), var(--container)); }

      .site-header { min-height: 80px; }
      .header-inner { grid-template-columns: 220px 1fr 220px; gap: 24px; }
      .brand img { width: 154px; max-height: 52px; }
      .main-nav { gap: 30px; }
      .main-nav a { font-size: 9px; letter-spacing: .12em; }
      .partner-note {
        display: block;
        color: rgba(255,255,255,.50);
        font-size: 8px;
        line-height: 1.4;
        letter-spacing: .09em;
        text-align: right;
        text-transform: uppercase;
      }

      .hero {
        min-height: 720px;
        padding: 82px 0 72px;
      }
      .hero-layout {
        grid-template-columns: minmax(0, 1.18fr) minmax(330px, .72fr);
        gap: clamp(46px, 5vw, 82px);
      }
      .hero-copy h1 {
        max-width: 690px;
        font-size: clamp(58px, 5.2vw, 74px);
        line-height: .94;
      }
      .hero-copy > p { font-size: 14px; max-width: 560px; }
      .offer-panel { padding: 30px; }

      .section-heading { grid-template-columns: minmax(0,1fr) minmax(300px,410px); gap: 46px; }
      .section-heading h2 { font-size: clamp(48px, 4.4vw, 60px); }
      .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }

      .stories { padding: 102px 0; }
      .story-grid { grid-template-columns: 1.25fr 1fr 1fr; }
      .story-card,
      .story-card:nth-child(2n) { border-right: 1px solid var(--line-dark); }
      .story-card:last-child { border-right: 0; }

      .conditions { padding: 90px 0 96px; }
      .conditions h2 { font-size: clamp(46px, 4.2vw, 58px); }

      .footer-main { grid-template-columns: 1.15fr .85fr 1fr; gap: 54px; }
    }

    @media (min-width: 1280px) {
      .product-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
      .product-media { min-height: 300px; padding: 34px 20px 24px; }
      .product-media img { height: 235px; }
      .product-body h3 { font-size: 19px; }
      .current-price { font-size: 27px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
      .hero-video { display: none; }
      .reveal { opacity: 1; transform: none; }
    }


/* =========================================================
   CHECKOUT TRANSPARENTE — MERCADO PAGO
   ========================================================= */
.button-secondary {
  width: 100%;
  margin-top: 10px;
  color: var(--wine-deep);
  background: transparent;
  border-color: rgba(54,37,30,.22);
}
.button-secondary:hover {
  color: var(--white);
  background: var(--wine);
  border-color: var(--wine);
}
.add-button:disabled {
  cursor: not-allowed;
  opacity: .55;
  background: #7d7570;
}
.checkout-overlay {
  position: fixed;
  inset: 0;
  z-index: 700;
  display: none;
  padding: 18px;
  background: rgba(9,4,5,.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow-y: auto;
}
.checkout-overlay.show { display: block; }
.checkout-dialog {
  width: min(1120px, 100%);
  min-height: 200px;
  margin: 24px auto;
  background: var(--paper);
  box-shadow: 0 30px 100px rgba(10,3,7,.34);
}
.checkout-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 26px;
  color: var(--white);
  background: var(--wine-deep);
  border-bottom: 1px solid rgba(223,198,143,.25);
}
.checkout-head h2 {
  margin-top: 3px;
  font-size: 34px;
  line-height: 1;
}
.checkout-kicker {
  color: var(--gold-light);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.checkout-close {
  min-width: 44px;
  min-height: 40px;
  padding: 0 12px;
  color: var(--white);
  background: transparent;
  border: 1px solid rgba(255,255,255,.28);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
}
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 330px;
}
.checkout-main { padding: 30px; }
.checkout-summary {
  padding: 30px 24px;
  background: var(--paper-soft);
  border-left: 1px solid var(--line);
}
.checkout-form h3 {
  margin: 0 0 16px;
  color: var(--wine-deep);
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.checkout-form h3:not(:first-child) { margin-top: 30px; }
.checkout-fields {
  display: grid;
  gap: 14px;
}
.checkout-fields.two-cols { grid-template-columns: repeat(2, minmax(0,1fr)); }
.delivery-grid { grid-template-columns: 130px minmax(0,1fr) 130px; }
.delivery-grid .span-2 { grid-column: span 2; }
.checkout-fields label,
.pix-result label {
  display: grid;
  gap: 7px;
  color: #5d534e;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.checkout-fields input,
.pix-result textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(68,45,38,.18);
  border-radius: 0;
  outline: 0;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}
.checkout-fields input:focus,
.pix-result textarea:focus {
  border-color: var(--wine);
  box-shadow: 0 0 0 2px rgba(92,10,31,.08);
}
.checkout-continue {
  width: 100%;
  margin-top: 24px;
}
.checkout-error {
  min-height: 18px;
  margin-top: 10px;
  color: #a3122d;
  font-size: 10px;
}
.checkout-items {
  display: grid;
  gap: 13px;
  margin: 17px 0 22px;
}
.checkout-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.checkout-item strong {
  display: block;
  color: var(--wine-deep);
  font-size: 10px;
  line-height: 1.35;
}
.checkout-item small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 8px;
}
.checkout-item span {
  color: var(--wine);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.checkout-summary-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}
.checkout-summary-total span { color: var(--muted); font-size: 10px; }
.checkout-summary-total strong {
  color: var(--wine);
  font-family: 'Newsreader', Georgia, serif;
  font-size: 28px;
}
.checkout-summary > small {
  display: block;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.55;
}
.payment-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 22px;
  border: 1px solid var(--line);
}
.payment-tab {
  min-height: 44px;
  color: var(--muted);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.payment-tab + .payment-tab { border-left: 1px solid var(--line); }
.payment-tab.active {
  color: var(--white);
  background: var(--wine);
}
.checkout-helper {
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}
.checkout-status {
  min-height: 22px;
  margin-top: 18px;
  color: var(--wine-deep);
  font-size: 11px;
  line-height: 1.55;
}
.checkout-status.success { color: #23613f; }
.checkout-status.error { color: #a3122d; }
.checkout-back {
  margin-top: 18px;
  padding: 0;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
#generatePixButton { width: 100%; }
.pix-result {
  display: grid;
  gap: 14px;
  margin-top: 20px;
  padding: 20px;
  background: var(--white);
  border: 1px solid var(--line);
}
.pix-qr {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 10px;
}
.pix-qr img,
.pix-qr canvas {
  max-width: 220px !important;
  height: auto !important;
}
.pix-result textarea {
  min-height: 105px;
  resize: vertical;
  font-size: 10px;
  line-height: 1.5;
}
.pix-ticket-link {
  color: var(--wine);
  font-size: 10px;
  text-align: center;
  text-underline-offset: 4px;
}
@media (max-width: 820px) {
  .checkout-overlay { padding: 0; }
  .checkout-dialog { margin: 0; min-height: 100vh; }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-summary {
    order: -1;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }
  .checkout-main { padding: 24px 18px 34px; }
  .checkout-head { padding: 20px 18px; }
  .checkout-head h2 { font-size: 28px; }
  .checkout-fields.two-cols,
  .delivery-grid { grid-template-columns: 1fr; }
  .delivery-grid .span-2 { grid-column: auto; }
}

.age-confirm {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 22px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}
.age-confirm input {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  accent-color: var(--wine);
}


/* CEP autocomplete */
.cep-status {
  display: block;
  min-height: 16px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}
.cep-status.loading { color: #706660; }
.cep-status.success { color: #356044; }
.cep-status.error { color: #9b2d30; }

/* =========================================================
   AJUSTE FINAL — FORMULÁRIO DE ENTREGA / CEP
   Mantém a estrutura existente e corrige o alinhamento.
   ========================================================= */

/* Evita que labels da mesma linha sejam "esticadas" pela mensagem do CEP. */
.checkout-fields > label {
  align-self: start;
  align-content: start;
  min-width: 0;
}

/* Desktop: CEP/Número compactos e Endereço/Complemento ocupando o restante. */
.delivery-grid {
  grid-template-columns: 160px minmax(0, 1fr) 120px;
  column-gap: 18px;
  row-gap: 18px;
  align-items: start;
}

.delivery-grid .span-2 {
  grid-column: span 2;
}

/* Padroniza altura e alinhamento visual dos campos. */
.delivery-grid input {
  width: 100%;
  min-width: 0;
  height: 56px;
  min-height: 56px;
  padding: 0 14px;
  line-height: 1.2;
}

/* Remove espaço quando não existe mensagem de CEP. */
.cep-status:empty {
  display: none;
}

/* Não exibe a mensagem verde de sucesso.
   Mensagens de carregamento/erro continuam disponíveis. */
.cep-status.success {
  display: none;
}

/* Quando houver mensagem, ela não altera o alinhamento interno dos outros campos. */
.cep-status {
  min-height: 0;
  margin-top: 5px;
}

/* Mobile/tablet: um campo por linha. */
@media (max-width: 820px) {
  .delivery-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .delivery-grid .span-2 {
    grid-column: auto;
  }

  .delivery-grid input {
    height: 52px;
    min-height: 52px;
  }
}
/* =========================================================
   CORREÇÃO MOBILE — CONDIÇÕES + RODAPÉ
   Não altera desktop
   ========================================================= */

@media (max-width: 599px) {

  /* =========================================
     COMO APROVEITAR / CONDIÇÕES
     ========================================= */

  .conditions {
    padding: 64px 0 72px;
  }

  .conditions-head {
    max-width: 100%;
    text-align: center;
  }

  .conditions-head .eyebrow {
    justify-content: center;
  }

  .conditions h2 {
    margin-inline: auto;
    text-align: center;
  }

  .conditions-grid {
    width: 100%;
    margin-top: 28px;
  }

  .condition-row {
    display: grid;

    /* número | conteúdo */
    grid-template-columns: 42px minmax(0, 1fr);

    column-gap: 14px;
    row-gap: 6px;

    width: 100%;
    padding: 22px 0;

    align-items: start;
  }

  /* número 01 / 02 / 03 */
  .condition-number {
    grid-column: 1;
    grid-row: 1 / span 2;

    margin: 0;

    font-size: 28px;
    line-height: 1;

    text-align: left;
  }

  /* título */
  .condition-row h3 {
    grid-column: 2;
    grid-row: 1;

    width: 100%;
    margin: 0;

    font-size: 12px;
    line-height: 1.4;

    text-align: left;
  }

  /* descrição */
  .condition-row p {
    grid-column: 2;
    grid-row: 2;

    width: 100%;
    max-width: none;

    margin: 0;

    font-size: 11px;
    line-height: 1.65;

    text-align: left;

    /* evita quebra palavra por palavra */
    word-break: normal;
    overflow-wrap: normal;
  }


  /* =========================================
     FOOTER
     ========================================= */

  .site-footer {
    padding: 48px 0 22px;
  }

  .footer-main {
    display: grid;
    grid-template-columns: 1fr;

    width: 100%;

    gap: 34px;

    text-align: center;
  }

  .footer-main > div {
    width: 100%;
    text-align: center;
  }

  /* Logo Concha y Toro */
  .footer-logo {
    display: block;

    width: 158px;

    margin-left: auto;
    margin-right: auto;
    margin-bottom: 17px;
  }

  /* Logo Dinho */
  .partner-logo {
    display: block;

    width: 108px;

    margin: 18px auto 0;
  }

  .footer-main h4 {
    text-align: center;
  }

  .footer-main p {
    max-width: 290px;

    margin-left: auto;
    margin-right: auto;

    text-align: center;
  }

  .footer-main a {
    display: inline-block;

    max-width: 100%;

    text-align: center;

    overflow-wrap: anywhere;
  }

  .footer-bottom {
    padding-top: 20px;

    text-align: center;

    font-size: 8px;
    line-height: 1.7;
  }
}

/* =========================================================
   PRODUÇÃO 2026 — SKU + CUPOM + RESUMO DE VALORES
   ========================================================= */
.product-image-note {
  max-width: 760px;
  margin: 24px auto 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.6;
  text-align: center;
}
.price-normal .current-price { margin-top: 8px; }
.product-fallback {
  min-height: 210px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 24px;
  color: var(--wine-deep);
  background: linear-gradient(145deg, #f5eee4, #fffdf9);
  border: 1px solid rgba(92,10,31,.12);
  font-family: 'Newsreader', Georgia, serif;
  font-size: 20px;
  line-height: 1.08;
  text-align: center;
}
.product-fallback small {
  color: var(--wine);
  font-family: 'Manrope', sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.selection-thumb {
  width: 52px;
  height: 66px;
  display: grid;
  place-items: center;
  color: var(--wine);
  background: var(--paper-soft);
  border: 1px solid var(--line);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .08em;
}
.selection-item small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .04em;
}
.drawer-coupon {
  display: grid;
  gap: 8px;
  margin-bottom: 17px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line);
}
.drawer-coupon label {
  color: var(--wine-deep);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.drawer-coupon-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
}
.drawer-coupon-row input {
  min-width: 0;
  height: 44px;
  padding: 0 12px;
  color: var(--wine-deep);
  background: var(--white);
  border: 1px solid var(--line);
  outline: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.drawer-coupon-row input:focus { border-color: var(--wine); box-shadow: 0 0 0 2px rgba(92,10,31,.08); }
.drawer-coupon-row button {
  min-width: 76px;
  padding: 0 14px;
  color: var(--white);
  background: var(--wine);
  border: 0;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
}
.coupon-feedback { min-height: 14px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.coupon-feedback.success { color: #356044; }
.coupon-feedback.error { color: #9b2d30; }
.drawer-breakdown,
.checkout-breakdown {
  display: grid;
  gap: 8px;
  padding: 2px 0 15px;
}
.drawer-breakdown > div,
.checkout-breakdown > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  color: var(--muted);
  font-size: 9px;
}
.drawer-breakdown strong,
.checkout-breakdown strong { color: var(--wine-deep); font-weight: 700; }
.discount-row strong { color: #356044; }
.checkout-field-note {
  display: block;
  color: #356044;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}
.site-footer small { color: #8d8682; font-size: 8px; line-height: 1.5; }

@media (max-width: 599px) {
  .drawer-coupon-row { grid-template-columns: minmax(0,1fr) 78px; }
  .product-image-note { padding-inline: 8px; }
}


/* =========================================================
   HEADER FIXO — compensação após remoção do contador
   ========================================================= */
.hero { margin-top: 78px; }
@media (max-width: 599px) { .hero { margin-top: 64px; } }
@media (min-width: 600px) and (max-width: 759px) { .hero { margin-top: 72px; } }
@media (min-width: 760px) and (max-width: 1023px) { .hero { margin-top: 78px; } }
@media (min-width: 1024px) { .hero { margin-top: 80px; } }
