/* Acréscimos da loja real, na identidade do protótipo (cores e tipografia de loja.css). */
.env-banner{background:#f8ebe1;color:#9a644c;font-size:10px;font-weight:800;letter-spacing:.06em;text-align:center;padding:7px 12px;text-transform:uppercase;border-bottom:1px solid #eddacc}
.form-error{background:#fbefe9;border:1px solid #e8c4b3;color:#9b4f36;border-radius:10px;padding:11px 14px;font-size:12px;line-height:1.6;margin:14px 0 0}
.state-box{display:flex;align-items:center;gap:12px;background:#faf2eb;border:1px solid #eddacc;border-radius:12px;padding:16px;color:#8b6e5f;font-size:13px;margin:6px 0 16px}
.state-dot{width:12px;height:12px;border-radius:50%;background:var(--terra);flex:0 0 auto;animation:thifiPulse 1.2s ease-in-out infinite}
@keyframes thifiPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
.auth-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.resend:disabled{color:#b9a496}
/* Capa real: aparece inteira (contain), numa área retrato uniforme 4:5; a faixa de cima fica reservada à etiqueta e ao coração */
.product{display:flex;flex-direction:column}
.product-content{flex:1;display:flex;flex-direction:column}
.product-bottom{margin-top:auto}
.product-desc{margin-bottom:16px}
.product-image.has-photo{height:auto;aspect-ratio:4/5}
.product-image.has-photo::before{display:none}
.product-bottom{flex-wrap:wrap;row-gap:12px}
.product-bottom .mini-btn,.product-bottom .price-label{white-space:nowrap}
.product-image .product-photo{position:absolute;top:56px;left:18px;width:calc(100% - 36px);height:calc(100% - 74px);object-fit:contain;filter:drop-shadow(0 6px 10px rgba(89,57,37,.16))}
.product-image .product-heart,.product-image .product-tag{z-index:2}  /* foto de capa não cobre o coração nem a etiqueta */
.detail-art{overflow:hidden}
.detail-art .product-photo{width:100%;height:100%;object-fit:contain;border-radius:18px}
.file-tile .file-thumb{width:75px;height:75px;object-fit:cover;border-radius:8px;display:block;margin:0 auto;background:#fbf4ee}
.line-sub{display:block;font-size:10px;color:#9b8577;margin-top:3px;max-width:330px;line-height:1.5}
.cart-line span{min-width:0}
.order-row{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #eee5dc;align-items:flex-start}
.order-row strong{font-size:13px;display:block;color:#533d33}
.order-row small{display:block;font-size:10px;color:#9b8577;margin-top:5px}
.order-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
.order-side b{font-size:13px;color:#98634c}
.status-chip{font-size:10px;font-weight:800;border-radius:7px;padding:5px 8px;background:#f8ebe1;color:#9a644c;letter-spacing:.03em}
.status-approved,.status-partially_refunded{background:#ebf0e6;color:#57703f}
.status-rejected,.status-canceled,.status-refunded,.status-charged_back,.status-error{background:#f3e7e2;color:#8f5a48}
.footer-legal a{color:#cab7ab}
.footer-legal a:hover{color:#fff}
.mini-add:disabled,.btn:disabled{transform:none}
@media(max-width:480px){.order-row{flex-direction:column}.order-side{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}
/* Correção de responsividade herdada do protótipo: entre 761 e 800 px o menu ainda aparece em linha e
   empurra os ícones 16–23 px para fora da tela (rolagem horizontal). Só o espaçamento entre os links diminui. */
@media(min-width:761px) and (max-width:800px){.nav{gap:11px}}
/* Acesso com senha, "Manter conectado" e aparelhos conectados (decisões de 31/10/2026). */
.keep-box{display:flex;gap:11px;align-items:flex-start;margin:16px 0 4px;cursor:pointer;font-size:15px;line-height:1.45;color:#4e382d}
.keep-box input{width:20px;height:20px;margin:2px 0 0;accent-color:#a35b41;flex:0 0 auto}
.keep-box small{display:block;font-size:13px;color:#7d6253;margin-top:2px}
.pwd-wrap{position:relative}
.pwd-wrap .field{padding-right:92px}
.pwd-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:40px;padding:0 12px;border:0;border-radius:8px;background:#f8efe7;color:#6f5446;font-size:14px;font-weight:700;cursor:pointer}
.field-help{font-size:13px;line-height:1.5;color:#7d6253;margin:6px 0 2px}
.field-code{font-size:22px;letter-spacing:.3em}
#loginForm .label,#passwordForm .label{margin-top:14px}
.auth-switch{margin-top:20px;padding-top:16px;border-top:1px solid #eee5dc;display:flex;flex-direction:column;gap:10px}
.auth-switch p{margin:0;font-size:14px;line-height:1.5;color:#6f5446}
.devices{margin-top:20px}
.devices h3{font-size:15px;margin:0 0 6px;color:#3a2b28}
.device-row{padding:9px 0;border-bottom:1px solid #eee5dc}
.device-row strong{display:block;font-size:14px;color:#4e382d}
.device-row small{display:block;font-size:13px;color:#7d6253;margin-top:2px}
.account-exit{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:16px}
.account-exit #logoutBtn{color:#a35b41;border-color:#c98b71}
.account-exit #logoutBtn:hover{background:#fbf1e9}
.resend{min-height:40px}
.resend:disabled{color:#8b6e5f}
.pay-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.pay-actions .btn{width:100%}

/* ===== Revisão tipográfica e de contraste (auditoria de 31/10/2026, aprovada pela dona) =====
   Escala: corpo 16 · secundário 14–15 · informação mínima 13 · selo em caixa-alta 12. Cores aprovadas:
   texto secundário #7d6253 (5,3:1 no creme), terracota de texto #8f4f38 (5,9:1), botão #a35b41 (5,1:1 com branco).
   Textos dentro das ilustrações (mock da biblioteca, selo do herói) ficam como estão: são parte da arte. */
:root{--muted:#7d6253;--txt2:#7d6253;--terra-txt:#8f4f38;--btn:#a35b41;--btn-hover:#8f4f38}
.btn{font-size:15px;min-height:46px}
.btn-sm{font-size:14px;min-height:40px}
.btn-primary,.mini-add{background:var(--btn)}
.btn-primary:hover,.mini-add:hover{background:var(--btn-hover)}
.eyebrow{color:var(--terra-txt);font-size:12px;letter-spacing:.16em}
.section-sub{font-size:17px;line-height:1.7}
.section-link{font-size:14px;color:var(--terra-txt)}
.nav a{font-size:14px}
.topbar{font-size:12px;letter-spacing:.06em}
.trust strong{font-size:14px}.trust span{font-size:13px;color:var(--txt2)}
.check-item{font-size:15px}
/* Catálogo */
.filter{font-size:14px;min-height:40px;padding:9px 16px}
.searchbox input{font-size:16px}
.searchbox:focus-within{outline:3px solid #cd8769;outline-offset:2px}
.product-meta{font-size:12px;letter-spacing:.08em;color:var(--terra-txt)}
.product-tag{font-size:12px}
.product-desc{font-size:15px;line-height:1.55;color:var(--txt2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.price-label{font-size:13px;color:var(--txt2)}
.mini-btn,.mini-add{font-size:14px;min-height:42px;padding:10px 14px}
.price-note{font-size:13px;color:var(--txt2)}
/* Seções informativas, FAQ e rodapé */
.diff-card p,.step p{font-size:15px;line-height:1.7;color:var(--txt2)}
.faq summary{font-size:17px;min-height:44px}
.faq details p{font-size:16px;line-height:1.7;color:var(--txt2)}
.footer-links a,.footer-links button{font-size:14px;min-height:28px;display:inline-flex;align-items:center}
.footer-bottom{font-size:13px}
/* Modais, formulários e mensagens */
.modal-desc{font-size:16px;line-height:1.65;color:var(--txt2)}
.muted-box{font-size:14px;line-height:1.6;color:#6f5446}
.label{font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:#3a2b28}
.field{font-size:16px}
.form-error{font-size:14px}
.hint,.auth-note{font-size:14px;line-height:1.55;color:var(--txt2)}
.resend{font-size:14px;color:var(--terra-txt)}
.small-link{font-size:14px;color:var(--terra-txt)}
.demo-label{font-size:12px}
.detail-copy p{font-size:16px;line-height:1.7;color:var(--txt2)}
.detail-bullets div{font-size:15px}
.combo-item{font-size:14px;color:#6f5446}
/* Sacola e checkout */
.cart-item-info strong{font-size:15px}
.cart-item-info small{font-size:13px;color:var(--txt2)}
.cart-item-info b{font-size:15px;color:var(--terra-txt)}
.item-remove{font-size:14px;color:var(--terra-txt);min-height:44px;padding:4px 8px}
.cart-line{font-size:16px}
.line-sub{font-size:14px;color:var(--txt2)}
/* Biblioteca e pedidos */
.library-book strong{font-size:16px}
.library-book span{font-size:14px;color:var(--txt2)}
.library-download strong{font-size:16px}
.library-download small{font-size:14px;color:var(--txt2)}
.file-tile strong{font-size:15px}
.file-tile small{font-size:13px;color:var(--txt2)}
.file-tile button{font-size:14px;min-height:40px}
.order-row strong{font-size:15px}
.order-row small{font-size:13px;color:var(--txt2)}
.order-side b{font-size:15px;color:var(--terra-txt)}
.status-chip{font-size:12px}
.env-banner{font-size:12px;color:#8f4f38}
.footer-bottom span{color:#cab7ab}
.cart-empty p{color:var(--txt2)}
@media(max-width:1000px){.nav a{font-size:13px}}
@media(max-width:480px){
  .section-sub{font-size:16px}
  .faq summary{font-size:16px}
  .faq details p{font-size:15px}
  .modal-desc{font-size:15px}
  .product-desc{font-size:15px}
  .filter{font-size:14px;padding:9px 14px}
  .footer-bottom{font-size:13px}
  .topbar{font-size:12px;line-height:1.5}
}
@media(min-width:761px){.searchbox{min-width:320px}}
/* Biblioteca orientada à impressão */
.print-guide{background:#f8efe7;border:1px solid #eddacc;border-radius:12px;padding:14px 16px;margin:14px 0;font-size:15px;line-height:1.6;color:#4e382d}
.print-guide summary{font-size:16px;font-weight:700;color:#3a2b28;cursor:pointer;min-height:28px}
.print-guide p{margin:6px 0 4px}
.print-guide a{color:#8f4f38;font-weight:700;font-size:15px}
.mold-filters{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.file-tile .print-line{font-size:13px;line-height:1.45;color:#6f5446;margin:-4px 0 10px}
.files-grid{margin-top:14px}
/* Acesso: e-mail já informado, com opção de corrigir */
.auth-who{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#faf2eb;border:1px solid #eddacc;border-radius:12px;padding:10px 14px;margin:4px 0 6px}
.auth-who span{font-size:14px;font-weight:700;color:#523b32;overflow-wrap:anywhere;min-width:0}
.auth-who .resend{padding:6px 0}

/* Banner inicial: carrossel das coleções à venda (js/hero-carrossel.js). Sem coleções, o banner original fica intacto. */
.hero-carousel:not(.is-ready) .hero-platter>svg,.hero-carousel:not(.is-ready) .art-ticket,.hero-carousel:not(.is-ready) .hero-stamp{visibility:hidden}
.hero-stage{position:absolute;inset:0;z-index:2;touch-action:pan-y}
/* Transição: o prato novo entra girando e crescendo do desfoque; o anterior sai girando adiante e se dissolvendo. */
.hero-slide{transition:opacity .7s cubic-bezier(.22,.61,.36,1),rotate .7s cubic-bezier(.22,.61,.36,1),scale .7s cubic-bezier(.22,.61,.36,1),filter .7s ease}
.hero-slide.is-entering{opacity:0;rotate:-24deg;scale:.86;filter:blur(6px)}
.hero-slide.is-leaving{opacity:0;rotate:18deg;scale:1.06;filter:blur(4px)}
.hero-slide.is-leaving{pointer-events:none}
.hero-slide[data-theme="rose"]{background:radial-gradient(ellipse at 50% 45%,#fcf4ee,#f2ded4)}
.hero-slide[data-theme="gold"]{background:radial-gradient(ellipse at 50% 45%,#fff7e8,#e8d9c2)}
.hero-slide[data-theme="pale"]{background:radial-gradient(ellipse at 50% 45%,#fbf7f1,#e7ddd3)}
.hero-slide[data-theme="sage"]{background:radial-gradient(ellipse at 50% 45%,#f6f4e9,#e3e0cf)}
.hero-slide.is-photo{border-radius:26px;transform:rotate(-4deg);background:#fffdf9;padding:22px}
.hero-slide.is-photo img{width:100%;height:100%;object-fit:contain;border-radius:14px;display:block}
.hero-ticket{font:inherit;color:inherit;border:0;text-align:left;cursor:pointer;max-width:270px;transform:rotate(5deg);transition:box-shadow .2s}
.hero-ticket:hover{box-shadow:var(--shadow2)}
.hero-ticket:focus-visible,.hero-ctrl:focus-visible{outline:3px solid #a35b41;outline-offset:3px}
.hero-ticket .ticket-icon{flex:none}
.hero-ticket .ticket-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.hero-ticket .ticket-cat{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#82685a;font-weight:700}
.hero-ticket strong{font-family:var(--font-serif);font-size:18px;font-weight:500;color:var(--coffee);line-height:1.25}
.hero-ticket .ticket-cta{font-size:12px;font-weight:700;color:#8f4f38;text-decoration:underline;text-underline-offset:3px;margin-top:2px}
.hero-carousel .hero-stamp small{font-size:11px;color:#82685a}
.hero-carousel .ticket-text,.hero-carousel .hero-stamp>*{transition:opacity .35s ease,translate .35s ease}
.hero-carousel.is-swapping .ticket-text,.hero-carousel.is-swapping .hero-stamp>*{opacity:0;translate:0 6px}
.hero-controls{position:absolute;z-index:5;left:84px;bottom:4px;display:flex;align-items:center;gap:8px}
.hero-ctrl{width:40px;height:40px;border-radius:50%;border:1px solid #e1cbbb;background:#fffaf5;color:#a35b41;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(85,56,42,.08);padding:0}
.hero-ctrl:hover{background:#fff;border-color:#c99a80}
.hero-ctrl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-ctrl[data-hero="toggle"] svg path[d^="M8"]{fill:currentColor;stroke-width:1.5}
.hero-count{font-size:13px;font-weight:700;color:#7b6558;margin-left:4px;font-variant-numeric:tabular-nums;min-width:3.2em}
.hero-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.hero-controls{left:40px;bottom:14px}.hero-ticket{max-width:230px}}
@media(max-width:760px){
  .hero-art.hero-carousel{height:440px}
  .hero-carousel .hero-stamp{bottom:66px}
  .hero-controls{left:50%;transform:translateX(-50%);bottom:0}
  .hero-ctrl{width:44px;height:44px}
  .hero-ticket{max-width:210px;padding:9px 12px;transform:rotate(4deg)}
  .hero-ticket strong{font-size:16px}
}
@media(max-width:480px){.hero-ticket .ticket-icon{display:none}}
/* Prévia da coleção (01/11/2026): galeria de imagens públicas reduzidas, deslizável no celular */
.pv-layout{align-items:start}
.pv-media{min-width:0}
.pv-gallery{position:relative;border-radius:18px;background:#f2e5d8;overflow:hidden}
.pv-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;outline-offset:-3px}
.pv-track::-webkit-scrollbar{display:none}
.pv-slide{flex:0 0 100%;scroll-snap-align:center;margin:0;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;position:relative;background:#f7efe7}
.pv-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.pv-slide figcaption{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);background:rgba(255,253,249,.92);color:#523b32;font-size:13px;font-weight:600;padding:5px 10px;border-radius:999px}
.pv-badge{background:#bb7154!important;color:#fff!important}
.pv-nav{position:absolute;top:calc(50% - 40px);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,253,249,.92);color:#523b32;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(58,43,40,.16);display:grid;place-items:center}
.pv-prev{left:10px}.pv-next{right:10px}
.pv-nav:focus-visible,.pv-thumbs button:focus-visible{outline:3px solid #bb7154;outline-offset:2px}
.pv-count{position:absolute;top:10px;right:10px;background:rgba(58,43,40,.7);color:#fff;font-size:13px;font-weight:700;padding:3px 9px;border-radius:999px}
.pv-thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto;background:#fffdf9;scrollbar-width:thin}
.pv-thumbs button{flex:0 0 54px;height:54px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:#f2e5d8;cursor:pointer}
.pv-thumbs button[aria-current]{border-color:#bb7154}
.pv-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.pv-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:14px 0 4px}
.pv-specs div{background:#faf4ee;border:1px solid #eddacc;border-radius:12px;padding:8px 11px}
.pv-specs dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9a644c}
.pv-specs dd{margin:2px 0 0;font-size:15px;color:#3a2b28}
.pv-sub{font-size:15px;color:#523b32}
.pv-test{display:inline-block;background:#fbefe9;color:#7d3d29;border:1px solid #e9c5b5;border-radius:999px;font-size:13px;font-weight:700;padding:4px 11px;margin-bottom:8px}
@media (max-width:760px){
  .pv-slide{aspect-ratio:1/1}
  .pv-nav{width:40px;height:40px;font-size:24px}
}

/* Confirmação do e-mail depois da compra: aviso discreto, sem bloquear navegação, compra ou biblioteca */
.verify-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;background:#f8eee8;border-bottom:1px solid #ead2c1;color:#523b32;font-size:14px;line-height:1.5;padding:6px 16px;text-align:center}
.verify-notice .resend{min-height:36px;font-weight:700}
.verify-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px 14px}
.verify-close{background:none;border:0;color:#7d5d4f;font-size:22px;line-height:1;min-width:36px;min-height:36px;cursor:pointer}
.email-ok{color:#4f7a4a;font-weight:700;font-size:13px;white-space:nowrap}
.email-pending{display:block;margin-top:6px;color:#7d3d29}
.muted-box .verify-actions{margin-top:2px}
@media (max-width:480px){.verify-notice{font-size:13px;padding:6px 12px}}

/* ---- Pagamento: Pix na THIFI e Checkout Pro em nova janela (2026-10-31) ---- */
.pix-ico{width:20px;height:20px;flex:0 0 auto;margin-right:8px;vertical-align:-4px}
.pay-pix-btn,[data-pay]{display:inline-flex;align-items:center;justify-content:center}
.pay-status{display:flex;align-items:center;gap:10px;background:#faf2eb;border:1px solid #eddacc;border-radius:12px;padding:12px 16px;color:var(--brown);font-size:15px;font-weight:700;margin:4px 0 18px}
.pay-status-checking{background:#f1f5ec;border-color:#cfdcc0;color:#3f5a2c}
.pay-status-checking .state-dot{background:#5b7f3f}
.pay-status-off{background:#f6f1ee;border-color:#e3d6cf;color:var(--muted)}
.pay-status-review{background:#fbf3e6;border-color:#ecd7b4;color:#6e4f1d}
.pix-box{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;margin-bottom:18px}
.pix-qr{background:#fff;border:1px solid #eddacc;border-radius:16px;padding:14px;text-align:center}
.pix-qr img{display:block;width:220px;height:220px;image-rendering:pixelated;margin:0 auto;background:#fff}
.pix-qr small{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.pix-steps{margin:0 0 14px;padding-left:20px;color:var(--brown);font-size:15px;line-height:1.5}
.pix-steps li{margin-bottom:6px}
.pix-label{display:block;font-size:14px;font-weight:700;color:var(--brown);margin-bottom:6px}
.pix-code{width:100%;box-sizing:border-box;resize:none;border:1px solid #e0cbbd;border-radius:10px;background:#fffdf9;padding:10px 12px;font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--coffee);word-break:break-all}
.pix-copy{margin-top:10px;min-height:48px}
.pix-copy svg{width:20px;height:20px;margin-right:8px}
.pix-copy.is-copied{background:#4d7a35;box-shadow:none}
.pix-copied{min-height:20px;margin:8px 0 0;font-size:14px;color:#3f5a2c;font-weight:600}
.pix-validity{margin:6px 0 0;font-size:14px;color:var(--muted)}
.pix-validity-low{color:var(--terra-txt);font-weight:700}
.pay-summary{border:1px solid #eddacc;border-radius:12px;background:#fffdf9;padding:12px 16px;margin:0 0 16px}
.pay-summary-head{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--brown);padding-bottom:8px;border-bottom:1px solid #f0e3d8;margin-bottom:6px}
.pay-summary-head b:last-child{color:var(--terra-txt);font-size:17px}
.pay-summary-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);padding:3px 0}
.pay-summary-line small{display:block;font-size:13px}
.pay-alt{border-top:1px solid #f0e3d8;padding-top:14px}
.pay-alt .hint,.pay-alt+.hint{font-size:14px}
.pay-net{background:#fbf3e6;border-radius:10px;padding:10px 12px;font-size:14px;color:#6e4f1d;margin:0 0 14px}
.pay-blocked{background:#fbf3e6;border:1px solid #ecd7b4;border-radius:12px;padding:12px 14px;font-size:15px;color:#6e4f1d;margin-bottom:14px}
.pay-cols{list-style:none;margin:6px 0 18px;padding:0}
.pay-cols li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0e3d8;font-size:15px;color:var(--brown);font-weight:600}
.pay-cols li svg{width:18px;height:18px;color:#4d7a35;flex:0 0 auto}
@media (max-width:760px){
  .pix-box{grid-template-columns:1fr;gap:14px}
  .pix-side{display:flex;flex-direction:column}
  .pix-qr{order:2}
  .pix-qr img{width:200px;height:200px}
}
@media (max-width:480px){
  .pix-steps{font-size:14px}
  .pay-summary{padding:10px 12px}
}

/* ---------------------------------------------------------------- Meus favoritos (coleções e moldes) */
.toast.has-action {pointer-events:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.toast-action {border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;border-radius:30px;padding:6px 13px;font:600 13px/1.2 inherit;cursor:pointer}
.btn-icon {display:flex;align-items:center;justify-content:center;gap:8px}
.btn-icon svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.modal.fav-modal {width:min(1060px,100%)}
.fav-tabs {display:flex;gap:6px;border-bottom:1px solid #eadcd2;margin:6px 0 18px}
.fav-tabs [role=tab] {border:0;background:transparent;color:#7d6253;font:600 16px/1.2 'DM Sans',system-ui,sans-serif;padding:12px 14px;min-height:46px;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;display:flex;align-items:center;gap:8px}
.fav-tabs [role=tab].active {color:#3a2b28;border-bottom-color:#a35b41}
.fav-tabs [role=tab]:focus-visible {outline:3px solid #eddbcf;outline-offset:2px;border-radius:8px}
.fav-n {background:#f4ede5;color:#6e4a3b;border-radius:30px;font-size:13px;padding:2px 9px;min-width:26px;text-align:center}
.fav-n:empty {display:none}
.fav-tabs .active .fav-n {background:#a35b41;color:#fff}
.fav-count {font-size:15px;color:#7d6253;margin:0 2px 14px}
.fav-buyall {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fbf4ee;border:1px solid #ecdccf;border-radius:14px;padding:12px 16px;margin:0 0 16px}
.fav-buyall-sum {display:flex;flex-direction:column;gap:2px;min-width:0}
.fav-buyall-sum strong {font-size:16px;color:#4a3328}
.fav-buyall-sum small, .fav-buyall-none span {font-size:14px;color:#7d6253}
@media (max-width:560px) {.fav-buyall {flex-direction:column;align-items:stretch}.fav-buyall .btn {width:100%}}
.fav-products {grid-template-columns:repeat(3,minmax(0,1fr))}
.fav-open {display:inline-flex;align-items:center;text-decoration:none}
.fav-gone {display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px dashed #d9c3b3;border-radius:14px;padding:12px 16px;margin-top:14px;font-size:15px;color:#7d6253}
.fav-empty {text-align:center;padding:34px 16px;border:1px dashed #d9c3b3;border-radius:18px;background:#fffaf6}
.fav-empty.small {grid-column:1/-1;padding:26px 16px}
.fav-empty h3 {font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:22px;color:#3a2b28;margin:4px 0 6px}
.fav-empty p {color:#7d6253;font-size:15px;margin:0 0 16px}
.fav-empty .btn {display:inline-flex;width:auto;text-decoration:none}
.fav-tools {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.fav-search {position:relative;flex:1 1 280px}
.fav-search svg {position:absolute;left:14px;top:50%;transform:translateY(-50%);width:19px;height:19px;fill:none;stroke:#7d6253;stroke-width:1.8}
.fav-search input,.fav-select select {width:100%;min-height:48px;border:1px solid #d9c3b3;background:#fffdf9;border-radius:14px;font:16px 'DM Sans',system-ui,sans-serif;color:#3a2b28}
.fav-search input {padding:10px 14px 10px 42px}
.fav-select {flex:0 1 240px}
.fav-select select {padding:10px 12px}
.fav-search input:focus,.fav-select select:focus {outline:3px solid #eddbcf;border-color:#bb7154}
.fav-molds {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.fav-mold {background:#fffdf9;border:1px solid #e7d9cd;border-radius:16px;padding:10px 10px 14px;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(85,56,42,.05)}
.fav-mold-thumb {aspect-ratio:1;background:#fff;border-radius:12px;overflow:hidden;display:grid;place-items:center;color:#7d6253;margin-bottom:8px}
.fav-mold-thumb img {width:100%;height:100%;object-fit:contain;padding:6%}
.fav-mold-head {display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 0 0 4px}
.fav-mold-col {font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8f4f38;overflow-wrap:anywhere;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fav-mold-heart {flex:none;width:44px;height:44px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:#a35b41;cursor:pointer}
.fav-mold-heart svg {width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.8}
.fav-mold-heart:hover {background:#f4ede5}
.fav-mold-heart:focus-visible {outline:3px solid #eddbcf}
.fav-mold-num {font-size:13px;font-weight:700;letter-spacing:.06em;color:#6e4a3b;padding:0 4px}
.fav-mold h3 {font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:19px;color:#3a2b28;padding:0 4px;margin:2px 0}
.fav-mold-meta {font-size:14px;color:#7d6253;padding:0 4px;margin:2px 0 10px}
.fav-dl {margin-top:auto}
.fav-mold-link {display:block;text-align:center;margin-top:10px;font-size:14px;font-weight:600;color:#8f4f38;padding:6px 4px}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:1000px){.fav-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .modal.fav-modal {padding:22px 16px}
  .fav-molds {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fav-mold h3 {font-size:17px}
  .fav-select {flex:1 1 100%}
}
@media (max-width:480px){
  .fav-products {grid-template-columns:1fr}
  .fav-tabs [role=tab] {flex:1;justify-content:center;padding:12px 6px;font-size:15px}
  .header-actions .icon-btn {min-width:40px}
}

/* Prévia enxuta (01/11/2026): carrossel de 4 imagens da capa (inteira + 3 recortes), essencial ao lado, compra em destaque */
.pv-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.pv-layout .pv-slide{aspect-ratio:4/5;overflow:hidden}
.pv-crop{position:relative;overflow:hidden}
.pv-slide.pv-crop img.pv-cropimg,.pv-thumbs .pv-crop img.pv-cropimg{position:absolute;max-width:none;max-height:none;height:auto;object-fit:fill}
.pv-thumbs button{flex-basis:58px;height:72px}
.pv-copy h3{margin:0 0 8px}
.pv-copy .pv-lead{font-size:17px;line-height:1.55;margin:0 0 14px}
.pv-facts{font-size:16px!important;font-weight:600;color:#523b32!important;margin:0 0 6px}
.pv-files{display:flex;align-items:center;gap:8px;font-size:15px!important;color:#523b32!important;margin:0}
.pv-files svg{width:17px;height:17px;stroke:#b77355;fill:none;flex:none}
.pv-copy .detail-price{font-size:32px;margin:20px 0 14px}
.pv-after{font-size:13.5px!important;line-height:1.5!important;color:#8a7468!important;margin:10px 0 0;text-align:center}
@media(max-width:760px){.pv-layout{grid-template-columns:1fr;gap:16px}.pv-media{max-width:270px;width:100%;margin:0 auto}.pv-thumbs{justify-content:center;gap:5px;padding:6px}
  .pv-thumbs button{flex:1 1 0;min-width:0;height:auto;aspect-ratio:4/5}  /* as 5 miniaturas cabem na faixa, sem rolagem */
  .pv-copy h3{font-size:28px}.pv-copy .pv-lead{font-size:16px;margin-bottom:10px}.pv-copy .detail-price{font-size:28px;margin:14px 0 10px}}

/* Logo (D2, 01/11/2026): marca única em SVG no lugar da imagem redonda + nome repetido. Guia: docs/prototipos/logo-propostas */
.brand-d .brand-mark{display:block;height:64px;width:auto;mix-blend-mode:normal}
.footer .brand-d-footer{flex-direction:column;align-items:flex-start}
.footer .brand-d-footer .brand-mark{height:90px}
@media(max-width:760px){.brand-d .brand-mark{height:44px}}
@media(max-width:380px){.brand-d .brand-mark{height:38px}}

.brand-d{align-items:center;gap:14px}
.brand-tag{font-family:var(--font-serif,'Playfair Display',Georgia,serif);font-style:italic;font-size:17px;color:#a35b41;white-space:nowrap;padding-left:14px;border-left:1px solid #e3cfc1;line-height:1.2}
@media(max-width:1100px){.brand-tag{display:none}}
/* Logo D (01/11/2026): marca única em SVG no lugar da imagem redonda + nome repetido. Guia: docs/prototipos/logo-propostas/D-GUIA.md */
.brand-d .brand-mark,.brand-d .brand-mark img{display:block;height:64px;width:auto;mix-blend-mode:normal}
.footer .brand-d-footer{flex-direction:column;align-items:flex-start;gap:12px}
.footer .brand-d-footer .brand-mark{height:72px}
.footer .brand-d-footer .brand-sub{margin-top:0;font-size:11px}
@media(max-width:760px){.brand-d .brand-mark,.brand-d .brand-mark img{height:48px}}
@media(max-width:380px){.brand-d .brand-mark,.brand-d .brand-mark img{height:42px}}

/* ---------- Apostila gratuita (presente de boas-vindas): chamada A no topo e B no meio da página (templates/store/index.html) */
[data-presente-box][hidden], .presente-visitante[hidden], .presente-conta[hidden]{display:none!important}
/* ---------- A · dentro do destaque inicial: faixa compacta abaixo dos botões, sem tirar o destaque das coleções pagas */
.presente-hero{margin-top:22px;max-width:560px}
.presente-hero .presente-visitante, .presente-hero .presente-conta{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;
  background:var(--paper);border:1px solid #e4cbbb;border-left:4px solid var(--terra);border-radius:16px;padding:12px 14px;box-shadow:0 10px 30px rgba(85,56,42,.07)}
.presente-capa{width:52px;height:auto;aspect-ratio:64/90;object-fit:cover;border-radius:6px;box-shadow:0 4px 12px rgba(58,43,40,.18);grid-row:span 2}
.presente-texto{display:flex;flex-direction:column;gap:2px;min-width:0}
.presente-texto strong{font-family:var(--font-serif);font-weight:500;font-size:19px;line-height:1.25;color:var(--brown)}
.presente-texto span{font-size:14px;line-height:1.45;color:var(--txt2,#7d6253)}
.presente-hero .presente-btn{justify-self:start;min-height:44px;padding:11px 18px;font-size:14px}
.presente-selo{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--terra-dark);margin-top:2px}

/* ---------- B · bloco próprio depois do catálogo */
.presente-bloco{padding:22px 0 8px}
.presente-caixa{display:grid;grid-template-columns:220px 1fr;gap:38px;align-items:center;background:linear-gradient(120deg,#fbf1ea 0%,var(--paper) 70%);
  border:1px solid var(--line);border-radius:28px;padding:34px 40px;box-shadow:var(--shadow)}
.presente-capa-grande{width:100%;height:auto;border-radius:10px;box-shadow:0 16px 40px rgba(58,43,40,.2);transform:rotate(-2deg)}
.presente-caixa .section-title{margin:6px 0 10px}
.presente-caixa .section-sub{margin:0 0 14px;max-width:560px}
.presente-fatos{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:6px;font-size:15px;color:var(--brown)}
.presente-fatos li{display:flex;gap:9px;align-items:baseline}
.presente-fatos li::before{content:"✓";color:var(--terra);font-weight:700}
.presente-miudo{font-size:13px;color:var(--txt2,#7d6253);margin:12px 0 0;max-width:520px}

/* ---------- confirmação depois de entrar/criar conta */
.presente-ok{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}
.presente-ok img{width:96px;height:auto;border-radius:8px;box-shadow:0 8px 22px rgba(58,43,40,.18);flex:none}
.presente-ok .modal-desc{margin-top:0}
.presente-auth{background:#fbf1ea;border:1px solid #ecd3c3;border-radius:12px;padding:10px 12px;font-size:13px!important;color:var(--brown)!important}

@media (max-width:760px){
  .presente-hero{margin-top:18px}
  .presente-hero .presente-btn{grid-column:1/-1;justify-self:stretch}
  .presente-caixa{grid-template-columns:1fr;padding:24px 20px;gap:18px;text-align:left}
  .presente-capa-grande{width:150px;justify-self:center}
  .presente-caixa .btn{width:100%}
}
@media (max-width:480px){
  .presente-texto strong{font-size:17px}
  .presente-ok img{width:72px}
}


/* Preço anterior riscado (só quando a coleção realmente custava mais: Collection.preco_anterior_cents) */
.price-old {font-size:13px;font-weight:600;color:#9c897b;line-height:1.1;margin-bottom:1px}
.price-old s {text-decoration-thickness:1.5px}
.detail-price .price-old {font-size:17px;font-weight:600;color:#9c897b;margin-right:6px;text-decoration-thickness:1.5px}

/* Sacola: capa real da coleção no lugar do desenho ilustrativo (o combo continua com o desenho) */
.cart-item-art.has-photo{overflow:hidden;padding:4px}
.cart-item-art.has-photo img{width:100%;height:100%;object-fit:contain;border-radius:6px}
