/* =====================================================================
   Lu — camada premium (rodada 2)
   Botões e tipografia leve inspirados na Loam House, painéis suspensos
   para sacola/conta/contato e pop-up de vidro que sobe do rodapé (Fluid
   Glass) para todos os formulários. Paleta Lu preservada.
   ===================================================================== */
:root{--ease:cubic-bezier(.22,1,.36,1);--ivory:#fbf9f5;--glass-deep:rgba(28,19,16,.8)}

/* ---------- Tipografia ---------- */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em}
.desktop-nav a,.nav-contact,.header-account span{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.nav-contact{padding:12px 0;position:relative;color:inherit}
.nav-contact:after{content:'';position:absolute;bottom:7px;left:0;width:100%;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-contact:hover:after,.nav-contact[aria-expanded=true]:after{transform:scaleX(1)}
.is-in-film .nav-contact:after{background:var(--cinema-accent,#cd9d56)}
.header-account[aria-expanded=true],.bag-button[aria-expanded=true]{color:var(--wine)}
.is-in-film .header-account[aria-expanded=true],.is-in-film .bag-button[aria-expanded=true]{color:var(--gold)}

/* ---------- Botões em pílula ---------- */
.primary-button{justify-content:center;gap:14px;min-height:50px;padding:0 28px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.primary-button:active,.secondary-button:active,.text-link:active{transform:scale(.98)}
.primary-button svg{width:20px;height:16px}
.secondary-button,.secondary-button.solid{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin:0;padding:0 24px;border-radius:999px;border:1px solid rgba(52,40,37,.26);background:transparent;box-shadow:none;color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background .3s,border-color .3s,transform .15s}
.secondary-button:hover{background:rgba(52,40,37,.06);border-color:rgba(52,40,37,.45)}
.secondary-button svg{width:20px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}
.text-link{gap:14px;min-height:46px;padding:0 20px 0 24px;border:1px solid rgba(136,77,73,.38);border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.16em;transition:background .3s,border-color .3s,transform .15s}
.text-link:hover{background:rgba(136,77,73,.07);border-color:rgba(136,77,73,.6)}
.text-link svg{width:22px;height:12px}
.hero-copy .text-link,.outro-copy .text-link,.chapter-panel .text-link,.menu-footer .text-link{border-color:rgba(255,255,255,.5);color:var(--paper)}
.hero-copy .text-link:hover,.outro-copy .text-link:hover,.chapter-panel .text-link:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.8)}
.menu-footer .text-link{border-color:rgba(136,77,73,.38);color:var(--wine-dark)}
.chapter-panel .text-link{padding:12px 18px 12px 22px}
.hero-copy .text-link,.outro-copy .text-link{padding:0 20px 0 24px;font-size:11px}
.link-button{font-size:12px;letter-spacing:.02em}
.product-actions .favorite-button{border-radius:50%;width:50px;height:50px}
.product-actions{align-items:center}
.card-link{text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.14em}

/* ---------- Campos com linha (formulários) ---------- */
.field{position:relative;gap:4px}
.field>span{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.field input,.field textarea,.field select{min-height:42px;padding:8px 0 9px;border:0;border-bottom:1px solid rgba(52,40,37,.26);border-radius:0;background:transparent;box-shadow:none;font:16px/1.4 var(--sans);color:var(--ink)}
.field textarea{min-height:120px;resize:vertical;line-height:1.6}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;box-shadow:none;border-bottom-color:rgba(52,40,37,.26)}
.field-line{display:block;height:1px;margin-top:-5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.field input:focus~.field-line,.field textarea:focus~.field-line{transform:scaleX(1)}
.field input[aria-invalid],.field textarea[aria-invalid]{border-bottom-color:#b0514b;box-shadow:none}
.field small{margin-top:4px}
.form-grid{gap:18px 18px}
.form-group-title{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:6px 0 -4px}

/* ---------- Menu suspenso (sacola, conta, contato) ---------- */
.dropdown-panel{position:fixed;z-index:45;right:4.5%;top:100px;width:min(410px,calc(100vw - 32px));border-radius:26px;color:var(--ink);
  background:var(--glass-noise),linear-gradient(rgba(250,247,242,.92),rgba(250,247,242,.92));
  -webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%);
  border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 34px 80px -34px rgba(28,20,16,.55);
  opacity:0;transform:translateY(-10px) scale(.985);transform-origin:top right;transition:opacity .28s ease,transform .45s var(--ease)}
.dropdown-panel.is-open{opacity:1;transform:none}
.dropdown-panel[hidden]{display:none}
.dropdown-panel:before{content:'';position:absolute;top:-7px;left:var(--caret,calc(100% - 44px));width:14px;height:14px;transform:translateX(-50%) rotate(45deg);border-radius:3px 0 0 0;
  background:rgba(250,247,242,.96);border-left:1px solid rgba(255,255,255,.85);border-top:1px solid rgba(255,255,255,.85)}
.dd-inner{max-height:calc(100dvh - 130px);overflow:auto;padding:24px 24px 22px;overscroll-behavior:contain}
.dd-head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px 12px;margin-bottom:16px}
.dd-head .eyebrow{grid-column:1;font-size:10px;color:var(--wine)}
.dd-head h2{grid-column:1;font:400 36px/1 var(--serif);color:var(--wine-dark);letter-spacing:-.01em}
.dd-head em{font-style:italic}
.dd-close,.sheet-close{grid-column:2;grid-row:1/span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(52,40,37,.18);transition:background .25s,transform .25s}
.dd-close:hover,.sheet-close:hover{background:rgba(52,40,37,.06);transform:rotate(90deg)}
.dd-close svg,.sheet-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2}
.dd-lines{display:flex;flex-direction:column;border-top:1px solid rgba(52,40,37,.12)}
.dd-line{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(52,40,37,.12)}
.dd-line.is-new{animation:dd-glow 1.6s var(--ease)}
@keyframes dd-glow{0%{background:rgba(205,157,86,.22)}100%{background:transparent}}
.dd-thumb img{width:76px;height:86px;object-fit:contain;padding:8px;border-radius:16px;background:var(--cream);mix-blend-mode:multiply}
.dd-thumb img.is-photo{object-fit:cover;padding:0;mix-blend-mode:normal}
.dd-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.dd-info .eyebrow{font-size:9px;color:var(--muted)}
.dd-name{font:400 24px/1.05 var(--serif);color:var(--wine-dark)}
.dd-price{font-size:12px;color:var(--ink);font-weight:500}
.dd-row{display:flex;align-items:center;gap:14px;margin-top:8px}
.dd-row .quantity-control{margin:0}
.dd-foot{padding-top:16px;display:flex;flex-direction:column;gap:10px}
.dd-subtotal{display:flex;justify-content:space-between;align-items:baseline}
.dd-subtotal span{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dd-subtotal strong{font:400 28px var(--serif);color:var(--wine-dark)}
.dd-note,.dd-text{font-size:13px;line-height:1.7;color:var(--muted)}
.dd-text{margin:-4px 0 18px}
.dd-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.dd-actions .primary-button,.dd-actions .secondary-button,.dd-foot .primary-button,.dd-foot .secondary-button{width:100%}
.dd-links{display:flex;flex-direction:column;margin-top:10px;border-top:1px solid rgba(52,40,37,.12)}
.dd-links a,.dd-links button{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px solid rgba(52,40,37,.12);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-align:left;color:var(--ink);transition:padding .3s var(--ease),color .3s}
.dd-links a:hover,.dd-links button:hover{padding-left:8px;color:var(--wine)}
.dd-links b{font-weight:500;color:var(--wine)}
.dd-empty{text-align:center;padding:18px 6px 6px}
.dd-empty img{margin:0 auto 14px}
.dd-empty p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:18px}

/* ---------- Pop-up de vidro com formulários ---------- */
.glass-sheet{position:fixed;inset:auto 0 22px 0;margin:0 auto;width:min(560px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 44px);padding:0;overflow:hidden;
  color:var(--paper);border:1px solid rgba(255,244,232,.18);border-radius:30px;
  background:var(--glass-noise),var(--glass-sheen),linear-gradient(var(--glass-deep),var(--glass-deep));
  -webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 44px 110px -30px rgba(12,7,5,.75)}
.glass-sheet[open]{display:block;animation:sheet-rise .75s var(--ease) both}
.glass-sheet.is-closing{animation:sheet-drop .32s ease-in both}
.glass-sheet::backdrop{background:rgba(18,11,9,.34);animation:sheet-fade .45s ease both}
@keyframes sheet-rise{from{opacity:0;transform:translateY(54px) scale(.96);clip-path:inset(58% 32% 0 32% round 999px)}60%{opacity:1}to{opacity:1;transform:none;clip-path:inset(0 round 30px)}}
@keyframes sheet-drop{to{opacity:0;transform:translateY(36px) scale(.97)}}
@keyframes sheet-fade{from{opacity:0}}
.sheet-open{overflow:hidden}
.sheet-inner{max-height:calc(100dvh - 46px);overflow:auto;padding:30px 34px 30px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.sheet-head{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:start;margin-bottom:22px}
.sheet-head .eyebrow{font-size:10px;color:rgba(246,243,238,.62)}
.sheet-head h2{font:400 clamp(34px,4.4vw,46px)/1 var(--serif);letter-spacing:-.015em;color:var(--paper)}
.sheet-head em{font-style:italic}
.sheet-close{border-color:rgba(255,255,255,.28);color:var(--paper)}
.sheet-close:hover{background:rgba(255,255,255,.1)}
.sheet-lead{font-size:14px;line-height:1.75;color:rgba(246,243,238,.78);margin-bottom:22px}
.sheet-notice{margin:0 0 18px;padding:12px 16px;border-radius:16px;font-size:13px;line-height:1.6;color:#f3e3c7;background:rgba(205,157,86,.16);border:1px solid rgba(205,157,86,.38)}
.sheet-progress{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:0 0 26px;padding:0;position:relative}
.sheet-progress li{display:flex;flex-direction:column;align-items:center;gap:9px;position:relative;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,243,238,.5)}
.sheet-progress li:before{content:'';position:absolute;top:5px;left:-50%;right:50%;height:1px;background:rgba(255,255,255,.22)}
.sheet-progress li:first-child:before{display:none}
.sheet-progress li.is-done:before,.sheet-progress li.is-current:before{background:var(--gold)}
.sheet-progress i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:transparent;position:relative;z-index:1;transition:background .4s,border-color .4s,box-shadow .4s}
.sheet-progress .is-current{color:var(--paper)}
.sheet-progress .is-current i{background:var(--paper);border-color:var(--paper);box-shadow:0 0 0 5px rgba(255,255,255,.12)}
.sheet-progress .is-done i{background:var(--gold);border-color:var(--gold)}
.sheet-form{display:flex;flex-direction:column;gap:20px}
.glass-sheet .field>span,.glass-sheet .chip-group legend{color:rgba(246,243,238,.62)}
.glass-sheet .field>span i{color:var(--gold)}
.glass-sheet .field input,.glass-sheet .field textarea{color:var(--paper);border-bottom-color:rgba(255,255,255,.34)}
.glass-sheet .field input:focus,.glass-sheet .field textarea:focus{border-bottom-color:rgba(255,255,255,.34)}
.glass-sheet .field input:-webkit-autofill{-webkit-text-fill-color:var(--paper);caret-color:var(--paper);transition:background-color 99999s}
.glass-sheet .field small{color:rgba(246,243,238,.5)}
.glass-sheet .form-error{color:#f2b8a8}
.glass-sheet .primary-button{background:var(--ivory);color:#1c1310;border-color:var(--ivory);box-shadow:0 16px 34px -18px rgba(0,0,0,.6)}
.glass-sheet .primary-button:hover{background:#fff}
.glass-sheet .secondary-button{color:var(--paper);border-color:rgba(255,255,255,.4)}
.glass-sheet .secondary-button:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.glass-sheet .link-button{color:rgba(246,243,238,.82)}
.glass-sheet .eyebrow{color:rgba(246,243,238,.62)}
.sheet-nav{display:flex;gap:10px;margin-top:4px}
.sheet-nav>*{flex:1}
.sheet-nav>.primary-button{flex:1.7;white-space:nowrap;min-width:0}
.sheet-nav>*{min-width:0}
@media (max-width:480px){.sheet-nav>.secondary-button{flex:0 0 auto;padding:0 18px}.sheet-nav>.primary-button{flex:1;padding:0 18px;gap:10px;letter-spacing:.12em}}
.sheet-nav.column{flex-direction:column}
.sheet-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sheet-foot{font-size:10px;line-height:1.6;color:rgba(246,243,238,.45);text-align:center}
.chip-group{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chip-group legend{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;padding:0}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:12px;letter-spacing:.02em;transition:background .25s,color .25s,border-color .25s}
.chip input:checked+span{background:var(--ivory);color:#1c1310;border-color:var(--ivory)}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
/* Checkout dentro do vidro */
.glass-sheet .checkout-line{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.glass-sheet .checkout-line span{color:var(--paper)}
.glass-sheet .checkout-line small{color:rgba(246,243,238,.6)}
.glass-sheet .checkout-line strong{color:var(--paper)}
.glass-sheet .checkout-line img{background:#efe8de}
.glass-sheet .checkout-totals{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.glass-sheet .checkout-totals dt{color:rgba(246,243,238,.62)}
.glass-sheet .checkout-totals .is-total{border-top-color:rgba(255,255,255,.16)}
.glass-sheet .checkout-totals .is-total dt{color:var(--paper)}
.glass-sheet .checkout-totals .is-total dd{color:var(--paper)}
.glass-sheet .checkout-address{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.glass-sheet .checkout-note{color:rgba(246,243,238,.58)}
.glass-sheet .coupon-ok{color:#bfd6b3}
.glass-sheet .coupon-row .secondary-button{min-height:42px;padding:0 18px}
.checkout-mini{display:flex;justify-content:space-between;align-items:baseline;padding:4px 2px 18px}
.checkout-mini span{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,243,238,.62)}
.checkout-mini strong{font:400 30px var(--serif)}
.checkout-contact{font-size:12px!important;color:rgba(246,243,238,.6);margin-top:6px!important}

/* ---------- Área da cliente ---------- */
.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 6px}
.account-actions>*{flex:1;min-width:160px}
.block-title em{font-style:italic}
.account-root>.eyebrow{color:var(--wine);font-size:10px}
.profile-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.profile-summary p{font-size:14px;line-height:1.75;margin-top:6px}
.profile-summary .eyebrow{font-size:10px;color:var(--muted)}
.segmented button{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* ---------- Painel lateral ---------- */
.menu-footer{flex-direction:column;gap:10px}
.menu-footer .text-link{justify-content:space-between}
.mobile-nav a{transition:padding .35s var(--ease),color .3s}
.mobile-nav a:hover{padding-left:8px;color:var(--wine)}

/* ---------- WhatsApp: pílula com ícone em círculo ---------- */
.whatsapp-float{padding:0 20px 0 6px;gap:12px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.whatsapp-float svg{width:42px;height:42px;padding:9px;border-radius:50%;background:rgba(251,249,245,.14);border:1px solid rgba(255,255,255,.28)}

/* ---------- Revelação suave: desfocado → nítido ---------- */
.reveal{opacity:0;filter:blur(10px);transform:translateY(14px);transition:opacity .9s var(--ease),filter 1.1s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;filter:none;transform:none}

@media(max-width:760px){
  .dropdown-panel{left:10px!important;right:10px;width:auto;border-radius:22px;transform-origin:top center}
  .dropdown-panel:before{display:none}
  .dd-inner{padding:20px 18px 18px;max-height:calc(100dvh - 110px)}
  .dd-head h2{font-size:32px}
  .glass-sheet{inset:auto 0 0 0;width:100%;max-height:94dvh;border-radius:28px 28px 0 0;border-bottom:0}
  @keyframes sheet-rise{from{opacity:0;transform:translateY(80px);clip-path:inset(40% 20% 0 20% round 999px)}to{opacity:1;transform:none;clip-path:inset(0 round 28px 28px 0 0)}}
  .sheet-inner{max-height:94dvh;padding:24px 20px calc(26px + env(safe-area-inset-bottom))}
  .sheet-head h2{font-size:36px}
  .form-grid{grid-template-columns:1fr 1fr;gap:16px 14px}
  .profile-summary{grid-template-columns:1fr}
  .whatsapp-float{padding:0;width:52px;height:52px}
  .whatsapp-float svg{width:52px;height:52px;padding:13px;background:none;border:0}
  .primary-button{min-height:50px}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;filter:none;transform:none;transition:none}
  .glass-sheet[open],.glass-sheet.is-closing,.glass-sheet::backdrop{animation:none}
  .dropdown-panel{transition:none}
}

/* ---------- Produto: zoom localizado, sem abrir outra tela ---------- */
.product-display{cursor:zoom-in}
.product-inline-lens{position:absolute;z-index:4;left:50%;top:50%;width:29%;aspect-ratio:.78;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.9);background-repeat:no-repeat;background-size:245% 245%;background-color:#eee5da;box-shadow:0 18px 38px rgba(52,40,37,.22),inset 0 0 0 1px rgba(136,77,73,.15);opacity:0;pointer-events:none;transition:opacity .18s}
.product-display.is-zooming .product-inline-lens{opacity:1}

/* Rodapé: grupos previsíveis, sem quebras desalinhadas. */
.footer-bottom{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center}
.footer-signature{display:flex;align-items:center;gap:9px 20px;flex-wrap:wrap;min-width:0}
.footer-bottom>button{white-space:nowrap}
.footer-credit{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:max-content}
.footer-credit img{display:block;max-width:122px;height:auto}

@media(max-width:760px){
  .product-display{cursor:default}
  .product-inline-lens{display:none}
  .footer-bottom{grid-template-columns:1fr;justify-items:start;gap:14px;line-height:1.55}
  .footer-signature{display:grid;gap:4px}
  .footer-bottom>button{white-space:normal;text-align:left}
  .footer-credit{justify-content:flex-start;min-width:0;flex-wrap:wrap}
  .back-top{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.product-inline-lens{transition:none}}
