/* DM Adesivos V9 — folha de estilo única (substitui as camadas V3–V8) */
:root{
  --purple:#5b0ebb;--purple-dark:#42088b;--orange:#ff6000;
  --deep:#1b002d;--ink:#24202a;--muted:#716977;--line:#ece6f1;--soft:#f6f0fb;
  --wa:#25d366;--wa-dark:#128c4a;
  --radius:20px;--shadow:0 18px 40px #32004b14;
  --header-h:88px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:16px/1.5 'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0}
.no-scroll{overflow:hidden}
[hidden]{display:none!important}
.ico{width:22px;height:22px;display:inline-block;flex:none;vertical-align:middle}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--purple);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700}
.skip-link:focus{top:12px}

/* ---------- Botões ---------- */
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:0;border-radius:14px;padding:15px 22px;font-weight:800;font-size:15px;line-height:1.2;transition:transform .2s,box-shadow .2s,background .2s;text-align:center}
.btn .ico{width:19px;height:19px}
.btn:hover{transform:translateY(-2px)}
.btn:active,.icon-btn:active,.filter button:active,.choice-card:active .choice-content{transform:scale(.97)}
@media (hover:none){.btn:hover,.product:hover{transform:none}}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-orange{background:linear-gradient(110deg,var(--orange),#ff9d00);color:#fff;box-shadow:0 10px 26px #ff600038}
.btn-orange:hover{box-shadow:0 14px 30px #ff600055}
.btn-purple{background:var(--purple);color:#fff}
.btn-purple:hover{background:var(--purple-dark)}
.btn-outline{border:1.5px solid #e2d3ed;color:var(--purple);background:#fff}
.btn-outline:hover{border-color:var(--purple)}
.btn-outline .ico{color:var(--wa-dark)}
.btn-dark{background:#2c0647;color:#fff}
.btn-glass{background:#ffffff14;border:1.5px solid #ffffff55;color:#fff;backdrop-filter:blur(4px)}
.btn-glass:hover{background:#ffffff26}
.btn-whatsapp{background:var(--wa);color:#fff}
.btn-whatsapp:hover{background:#1ebe5b}
.btn-wa{background:var(--wa-dark);color:#fff}
.full{width:100%}
.icon-btn{position:relative;border:0;background:var(--soft);border-radius:14px;width:48px;height:48px;display:inline-grid;place-items:center;color:var(--purple);transition:background .2s}
.icon-btn:hover{background:#ecdff7}

/* ---------- Barra de avisos ---------- */
.topbar{background:var(--orange);color:#fff;overflow:hidden;min-height:38px;display:flex;align-items:center;justify-content:center}
.topbar-track{display:flex;align-items:center;gap:28px;white-space:nowrap;padding:8px 16px;font-size:13px;font-weight:700}
.topbar-item{display:inline-flex;align-items:center;gap:8px}
.topbar .ico{width:18px;height:18px}
.topbar-track.marquee{justify-content:flex-start;width:max-content;padding-left:0;animation:dm-marquee 22s linear infinite}
.topbar:has(.marquee){justify-content:flex-start}
.topbar-track.marquee .topbar-item{padding-left:28px}
@keyframes dm-marquee{to{transform:translateX(-50%)}}
@media (hover:hover) and (pointer:fine){.topbar:hover .marquee{animation-play-state:paused}}

/* ---------- Cabeçalho: menu | logo | ações ---------- */
.header{position:sticky;top:0;z-index:40;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 max(4%,calc((100vw - 1260px)/2));background:#ffffffee;backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav{justify-self:start;display:flex;gap:26px;font-size:14px;font-weight:700}
.nav a{padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover{color:var(--purple);border-color:var(--orange)}
.brand{justify-self:center}
.brand img{width:auto;height:64px;max-width:170px;object-fit:contain}
.head-actions{justify-self:end;display:flex;align-items:center;gap:10px}
.head-wa{padding:12px 18px}
.cart-count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#c9bdd3;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;border:2px solid #fff;transition:background .2s}
.cart-count.has{background:var(--orange)}
.menu-btn{display:none}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:inline}
.menu-btn span{display:inline-grid}

/* ---------- Hero ---------- */
.hero{background:radial-gradient(ellipse at 78% 42%,#7109b4 0%,#380064 48%,var(--deep) 100%);color:#fff;overflow:hidden}
.hero-inner{max-width:1320px;margin:auto;min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:64px 5% 80px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#ffc06e;background:#ffffff15;padding:10px 16px;border-radius:30px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.eyebrow .ico{width:16px;height:16px}
.hero h1{font-size:clamp(38px,5.2vw,72px);line-height:1.05;letter-spacing:-.045em;margin:22px 0}
.hero p{font-size:18px;color:#e4cfea;line-height:1.7;max-width:560px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 20px;margin:30px 0 0;padding:0;list-style:none;color:#e9d4f4;font-size:13px;font-weight:700}
.hero-points li{display:inline-flex;align-items:center;gap:7px}
.hero-points .ico{width:17px;height:17px;color:#7ee2a1}
.hero-art{position:relative;display:grid;place-items:center;isolation:isolate}
.hero-art>img{width:100%;max-width:620px;aspect-ratio:1/1;max-height:520px;object-fit:cover;border-radius:28px;mask-image:radial-gradient(ellipse 72% 69% at 50% 51%,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 72% 69% at 50% 51%,#000 58%,transparent 100%);animation:rise 6s ease-in-out infinite}
.hero-glow{position:absolute;z-index:-1;width:90%;height:70%;border-radius:50%;background:#f75b0040;filter:blur(65px)}
.float-note{position:absolute;right:4%;bottom:4%;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--purple);font-size:13px;font-weight:800;padding:14px 18px;border-radius:15px;box-shadow:0 18px 45px #13001d66}
.float-note .ico{width:17px;height:17px;color:var(--orange)}
@keyframes rise{50%{transform:translateY(-10px)}}

/* ---------- Cards de vantagens ---------- */
.trust{max-width:1220px;margin:36px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}
.trust-card{padding:30px 34px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-card:nth-child(even){border-right:0}
.trust-card:nth-last-child(-n+2){border-bottom:0}
.trust-icon{width:54px;height:54px;display:grid;place-items:center;background:#f1e2fb;border-radius:16px;color:var(--purple);margin-bottom:16px}
.trust-icon .ico{width:28px;height:28px}
.trust-card b{font-size:20px;line-height:1.3;color:#252029;margin-bottom:6px}
.trust-text{font-size:15px;line-height:1.55;color:var(--muted);margin-bottom:14px}
.trust-card a{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-weight:800;color:var(--purple);font-size:14px;border-bottom:2px solid currentColor;padding-bottom:3px;transition:gap .2s,color .2s}
.trust-card a:hover{gap:11px;color:var(--orange)}
.trust-card a .ico{width:16px;height:16px}

/* ---------- Seções ---------- */
.section{max-width:1260px;margin:auto;padding:100px 20px}
.kicker{font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--orange)}
h2{font-size:clamp(30px,4vw,50px);letter-spacing:-.04em;line-height:1.12;margin:14px 0}
h2 em{color:var(--purple);font-style:normal}
.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.section-top p{color:var(--muted);max-width:580px;line-height:1.7}
.text-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:var(--purple);white-space:nowrap}
.text-link .ico{color:var(--wa-dark);width:19px;height:19px}
.text-link:hover{color:var(--orange)}

/* ---------- Produto em destaque (link ?produto=) ---------- */
.product-focus{display:grid;grid-template-columns:300px 1fr;gap:30px;border:1.5px solid #e2d3ed;border-radius:24px;padding:24px;margin-bottom:34px;background:linear-gradient(135deg,#faf5fe,#fff8f2)}
.pf-visual{background:linear-gradient(145deg,#f3e8fc,#fff0e5);border-radius:18px;display:grid;place-items:center;min-height:240px;overflow:hidden}
.pf-visual img{width:100%;height:100%;object-fit:cover}
.pf-body small{color:var(--orange);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.pf-body h3{font-size:28px;letter-spacing:-.03em;margin:6px 0 8px}
.pf-body p{color:var(--muted);line-height:1.6}
.pf-table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0;background:#fff;border-radius:12px;overflow:hidden}
.pf-table th,.pf-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.pf-table th{background:#f3eafa;color:var(--purple);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.pf-finishes{font-size:14px}

/* ---------- Catálogo ---------- */
.filter{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 22px;scrollbar-width:none}
.filter::-webkit-scrollbar{display:none}
.filter button{white-space:nowrap;border:1.5px solid #e5ddea;background:#fff;color:#4b4152;padding:10px 18px;border-radius:40px;font-size:14px;font-weight:700;transition:.2s}
.filter button:hover{border-color:var(--purple)}
.filter button.active{background:var(--purple);color:#fff;border-color:var(--purple)}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.product{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;scroll-margin-top:120px}
.product:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.product-photo{aspect-ratio:4/3;background:linear-gradient(145deg,#f3e8fc,#fff0e5);position:relative;display:grid;place-items:center;overflow:hidden}
.product-photo>img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;z-index:1;top:14px;left:14px;border-radius:20px;background:var(--orange);color:#fff;font-size:11px;font-weight:800;padding:7px 12px;letter-spacing:.02em}
.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--purple)}
.ph-icon{width:92px;height:92px;border-radius:26px;background:#fff;display:grid;place-items:center;box-shadow:0 12px 30px #4b008f1c;color:var(--purple)}
.ph-icon .ico{width:44px;height:44px;stroke-width:1.6}
.photo-placeholder small{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8a5bb3}
.product-body{padding:22px;display:flex;flex-direction:column;flex:1}
.product-body>small{color:var(--orange);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.product h3{font-size:20px;line-height:1.25;margin:8px 0}
.product h3 a:hover{color:var(--purple)}
.product p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 20px}
.product-bottom{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.product-bottom small{display:block;color:var(--muted);font-size:12px}
.product-bottom strong{display:block;font-size:22px;color:var(--purple);letter-spacing:-.02em}
.product-bottom .btn{padding:12px 16px;font-size:14px}
.product-bottom .btn .ico{width:17px;height:17px}
.empty-note{color:var(--muted)}

/* ---------- Banner promocional ---------- */
.custom-banner{max-width:1220px;margin:0 auto;border-radius:30px;background:linear-gradient(115deg,#290042,#6500a1);color:#fff;min-height:340px;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden;padding:55px 65px}
.custom-banner>div:first-child{max-width:600px}
.custom-banner p{color:#e3cde8;line-height:1.7;margin:0 0 26px}
.banner-symbol{display:flex;align-items:flex-start;font-weight:900;font-size:clamp(110px,16vw,240px);letter-spacing:-.12em;line-height:1;color:var(--orange);transform:rotate(-10deg);text-shadow:8px 8px #fff,18px 18px #bd50f8}
.banner-symbol .ico{width:60px;height:60px;color:#ffc06e;margin-left:16px}

/* ---------- Como funciona ---------- */
.steps{text-align:center}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;margin-top:42px}
.step-grid>div{position:relative;border:1px solid var(--line);border-radius:22px;padding:30px;background:#fbf8fd}
.step-ico{width:50px;height:50px;border-radius:15px;background:#fff;display:grid;place-items:center;color:var(--purple);box-shadow:0 6px 18px #4b008f14}
.step-ico .ico{width:25px;height:25px}
.step-n{position:absolute;top:24px;right:28px;font-size:40px;font-weight:800;color:#f9780033;letter-spacing:-.04em}
.step-grid h3{font-size:21px;margin:20px 0 8px}
.step-grid p{color:var(--muted);line-height:1.7;margin:0}

/* ---------- Sobre ---------- */
.about{background:#f8f4fb;padding:75px max(5%,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}
.about p{color:#625b69;line-height:1.8}
.about .btn{margin-top:10px}
.about .btn .ico{color:var(--wa)}
.about>img{justify-self:center;width:100%;max-width:440px;filter:drop-shadow(0 18px 15px #29004235)}

/* ---------- Depoimentos ---------- */
.testimonials{text-align:center}
.testi-wrap{display:flex;align-items:center;gap:16px;margin-top:40px}
.testi-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 22px;flex:1;scrollbar-width:none}
.testi-track::-webkit-scrollbar{display:none}
.testi-card{scroll-snap-align:start;flex:0 0 min(340px,82%);text-align:left;background:#fbf8fd;border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column}
.testi-quote{color:var(--orange);opacity:.85}
.testi-quote .ico{width:28px;height:28px}
.testi-stars{display:flex;gap:3px;color:#e3d9ea;margin:10px 0 14px}
.testi-stars .on{color:#ffb400}
.testi-stars .ico{width:16px;height:16px}
.testi-card p{color:#463c4d;line-height:1.65;font-size:15px;flex:1;margin:0 0 18px}
.testi-who strong{display:block;color:var(--purple);font-size:15px}
.testi-who span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.testi-nav{border:1px solid var(--line);background:#fff;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;color:var(--purple);flex:none}
.testi-nav:hover:not(:disabled){background:var(--soft)}
.testi-nav:disabled{opacity:.35;cursor:default}

/* ---------- FAQ ---------- */
.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:17px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq-chev{color:var(--purple);transition:transform .2s}
.faq details[open] .faq-chev{transform:rotate(180deg)}
.faq details p{color:var(--muted);line-height:1.7;margin:0 0 22px}

/* ---------- CTA final e rodapé ---------- */
.last-cta{text-align:center;background:linear-gradient(135deg,#2d004d,#5a008d);color:#fff;padding:80px 20px}
.last-cta p{color:#e4cbe8;margin:0 0 30px}
footer{background:#1a002c;color:#fff;padding:60px 5% 24px}
.footer-main{max-width:1220px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:50px}
.footer-main img{width:150px}
.footer-main p{color:#cbb7d3;max-width:360px;line-height:1.7}
.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-main b{color:#ffa334;margin-bottom:6px}
.footer-main a,.footer-main span{display:inline-flex;align-items:center;gap:9px;color:#d8c4e0;font-size:14px}
.footer-main a:hover{color:#fff}
.footer-main .ico{width:18px;height:18px;color:#b98ad8}
.footer-main a .ico[fill="currentColor"]{color:var(--wa)}
.copyright{border-top:1px solid #ffffff20;max-width:1220px;margin:40px auto 0;padding-top:22px;font-size:12px;color:#a994b5;display:flex;justify-content:space-between;gap:12px}

/* ---------- WhatsApp flutuante ---------- */
.wa-float{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:20px;z-index:35;background:var(--wa);color:#fff;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 28px #25d36666;transition:transform .2s}
.wa-float:hover{transform:scale(1.07)}
.wa-float .ico{width:32px;height:32px}
body.no-scroll .wa-float{display:none}

/* ---------- Gaveta do orçamento ---------- */
.overlay{position:fixed;inset:0;background:#14001ab8;z-index:49;animation:fade .2s}
@keyframes fade{from{opacity:0}}
.drawer{position:fixed;z-index:50;right:0;top:0;height:100dvh;width:min(100%,440px);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s}
.drawer.open{transform:none;visibility:visible;transition:transform .25s ease;box-shadow:-15px 0 50px #0003}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--line)}
.drawer-head small{color:var(--orange);font-weight:800;letter-spacing:.1em;font-size:12px}
.drawer-head h2{font-size:28px;margin:4px 0 0}
.close{border:0;background:#f2eaf7;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:var(--purple);flex:none}
.close .ico{width:20px;height:20px}
.cart-items{overflow:auto;flex:1;padding:8px 24px}
.cart-line{border-bottom:1px solid var(--line);padding:16px 0}
.cart-line-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cart-line b{font-size:15px}
.cart-line small{display:block;color:var(--muted);margin:6px 0;font-size:13px}
.cart-note{font-style:italic}
.cart-line strong{color:var(--purple)}
.cart-remove{border:0;background:none;color:#b74336;padding:4px;border-radius:8px}
.cart-remove:hover{background:#fdeceb}
.cart-remove .ico{width:18px;height:18px}
.cart-empty{text-align:center;padding:50px 10px;color:var(--muted)}
.cart-empty-ico{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:24px;background:var(--soft);color:var(--purple)}
.cart-empty-ico .ico{width:36px;height:36px}
.cart-empty h3{color:var(--purple);margin:16px 0 6px}
.drawer-foot{padding:20px 24px max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.subtotal{display:flex;justify-content:space-between;font-weight:700}
.subtotal b{color:var(--purple);font-size:20px}
.drawer-foot>p{font-size:12px;color:var(--muted);margin:8px 0 14px}
.quote-result{background:#effaf2;border:1px solid #a7e4b5;border-radius:16px;padding:16px;margin:14px 0 0}
.quote-result p{display:flex;gap:10px;font-size:14px;line-height:1.5;color:#19572d;margin:0 0 12px}
.qr-ico{flex:none;width:26px;height:26px;border-radius:50%;background:#1f9d55;color:#fff;display:grid;place-items:center}
.qr-ico .ico{width:15px;height:15px}
.clear{display:block;margin:14px auto 0;border:0;background:none;color:#b74336;text-decoration:underline;font-size:13px}

/* ---------- Configurador (modal) ---------- */
#productModal{padding:0;border:0;width:min(96vw,860px);max-width:860px;max-height:min(92dvh,920px);border-radius:26px;overflow:hidden;box-shadow:0 32px 95px #18002770}
#productModal::backdrop{background:#180925bb;backdrop-filter:blur(4px)}
.product-modal-shell{position:relative;max-height:min(92dvh,920px);overflow:auto;overscroll-behavior:contain}
#productModal .modal-close{position:sticky;top:14px;z-index:5;margin:14px 14px -54px auto;background:#fff;box-shadow:0 3px 18px #0002}
.pm-head{display:grid;grid-template-columns:34% 1fr;gap:26px;padding:30px 36px 24px;background:linear-gradient(135deg,#f4eafc,#fff7f0)}
.pm-visual{min-height:190px;background:#fff;border-radius:20px;display:grid;place-items:center;overflow:hidden;box-shadow:0 10px 32px #42088b14}
.pm-visual img{width:100%;height:100%;max-height:240px;object-fit:cover}
.pm-placeholder{color:var(--purple)}
.pm-placeholder .ico{width:64px;height:64px;stroke-width:1.5}
.pm-intro{align-self:center;padding-right:30px}
.pm-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--purple);font-size:11px;font-weight:800;letter-spacing:.1em;background:#e9d7f8;padding:7px 11px;border-radius:20px}
.pm-kicker .ico{width:13px;height:13px}
.pm-intro h2{font-size:clamp(23px,3vw,33px);line-height:1.12;letter-spacing:-.03em;margin:14px 0 10px}
.pm-intro p{color:#6d6372;font-size:14px;line-height:1.55;margin:0}
.pm-fields{padding:6px 36px 12px}
.pm-fields fieldset{border:0;padding:0;margin:18px 0 22px;min-width:0}
.pm-fields legend{font-size:15px;font-weight:800;color:#34223f;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.step-num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f0e3fa;color:var(--purple);font-size:13px}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}
.choice-card{display:block;position:relative;cursor:pointer;min-width:0}
.choice-card input{position:absolute;opacity:0;width:1px;height:1px}
.choice-content{display:flex;flex-direction:column;justify-content:center;min-height:54px;border:1.5px solid #e3d9ea;border-radius:12px;padding:10px 34px 10px 13px;background:#fff;transition:border-color .15s,background .15s}
.choice-card:hover .choice-content{border-color:#c9a8e6}
.choice-content strong{font-size:13.5px;line-height:1.3;overflow-wrap:anywhere}
.choice-content small{font-size:12px;color:#796e81;margin-top:3px}
.choice-check{display:none;position:absolute;right:10px;top:calc(50% - 11px);border-radius:50%;width:22px;height:22px;background:var(--purple);color:#fff;place-items:center}
.choice-check .ico{width:13px;height:13px;stroke-width:3}
.choice-card input:checked+.choice-content{border-color:var(--purple);background:#f8f0ff;box-shadow:0 0 0 1px var(--purple)}
.choice-card input:checked~.choice-check{display:grid}
.choice-card input:focus-visible+.choice-content{outline:3px solid var(--orange);outline-offset:2px}
.pm-note label{font-weight:800;color:#34223f;font-size:14px;display:block;margin-bottom:9px}
.pm-note label span{font-weight:400;color:#877b8e}
.pm-note textarea{width:100%;resize:vertical;border:1.5px solid #e3d9ea;border-radius:14px;padding:13px 15px;min-height:76px}
.pm-note small{color:#827489;display:block;margin-top:7px;font-size:12px}
.pm-footer{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid #e9e0ed;box-shadow:0 -10px 25px #3b00500c;padding:14px 36px 16px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}
.pm-price{display:flex;flex-direction:column;gap:2px}
.pm-price>span{color:#6d6175;font-size:13px}
.pm-price small{display:block;color:#8b8191;font-size:12px}
.pm-price strong{font-size:30px;color:var(--purple);letter-spacing:-.03em}
.pm-footer .btn{min-height:54px}

/* ---------- Responsivo ---------- */
@media (max-width:980px){
  :root{--header-h:78px}
  .header{grid-template-columns:1fr auto 1fr;padding:0 16px;gap:10px}
  .head-actions{display:contents}
  .menu-btn{grid-column:1;grid-row:1;justify-self:start}
  .brand{grid-column:2;grid-row:1}
  .cart-btn{grid-column:3;grid-row:1;justify-self:end}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;padding:8px 16px 16px;box-shadow:0 18px 30px #1b002d1f;border-bottom:1px solid var(--line);display:none}
  .nav.show{display:flex}
  .nav a{padding:14px 6px;border-bottom:1px solid var(--line);font-size:16px}
  .nav a:last-child{border-bottom:0}
  .menu-btn{display:inline-grid}
  .head-wa{display:none}
  .hero-inner{grid-template-columns:1fr;text-align:center;padding:52px 6% 64px;min-height:0}
  .hero p{margin:auto}
  .hero-actions,.hero-points{justify-content:center}
  .hero-art>img{max-width:440px}
  .trust{margin:24px 16px 0}
  .products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .custom-banner{margin:0 16px;padding:40px}
  .banner-symbol{font-size:110px}
  .step-grid{grid-template-columns:1fr}
  .product-focus{grid-template-columns:220px 1fr}
}
@media (max-width:640px){
  :root{--header-h:70px}
  body{font-size:15px}
  .brand img{height:52px;max-width:130px}
  .icon-btn{width:44px;height:44px;border-radius:12px}
  .hero-inner{padding:40px 18px 52px;gap:26px}
  .eyebrow{font-size:11px;letter-spacing:.05em}
  .hero h1{font-size:clamp(34px,10vw,44px)}
  .hero p{font-size:16px}
  .hero-actions .btn{width:100%}
  .hero-points{gap:8px 14px;font-size:12px}
  .float-note{font-size:12px;padding:10px 13px}
  .trust{grid-template-columns:1fr;margin:18px 14px 0;border-radius:20px}
  .trust-card{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:22px 20px;display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:start}
  .trust-card:last-child{border-bottom:0!important}
  .trust-icon{width:48px;height:48px;border-radius:14px;margin:0;grid-row:span 3}
  .trust-icon .ico{width:24px;height:24px}
  .trust-card b{font-size:17px;margin-bottom:2px}
  .trust-text{font-size:14px;margin-bottom:8px}
  .trust-card a{font-size:13px;justify-self:start}
  .section{padding:64px 16px}
  .section-top{display:block}
  .products{grid-template-columns:1fr;gap:16px}
  .custom-banner{padding:36px 24px;border-radius:24px}
  .banner-symbol{display:none}
  .custom-banner .btn{width:100%}
  .about{grid-template-columns:1fr;padding:56px 18px}
  .about>img{max-width:260px;grid-row:1}
  .testi-wrap{gap:0}
  .testi-nav{display:none}
  .testi-card{flex-basis:86%;padding:22px}
  .footer-main{grid-template-columns:1fr;gap:30px}
  .copyright{flex-direction:column}
  .wa-float{width:54px;height:54px;right:14px;bottom:max(14px,env(safe-area-inset-bottom))}
  .wa-float .ico{width:29px;height:29px}
  .product-focus{grid-template-columns:1fr;padding:16px}
  .pf-visual{min-height:180px}
  .pf-table{font-size:13px}
  .pf-table th,.pf-table td{padding:8px}
  .topbar-extra{display:none}
  .topbar-track.marquee .topbar-extra{display:inline-flex}
  /* configurador em tela cheia no celular */
  #productModal{width:100vw;max-width:none;height:calc(100dvh - 12px);max-height:none;margin:auto 0 0;border-radius:24px 24px 0 0}
  .product-modal-shell{height:100%;max-height:none;display:flex;flex-direction:column}
  #modalContent{display:flex;flex-direction:column;flex:1}
  #productModal .modal-close{margin:10px 12px -50px auto}
  .pm-head{grid-template-columns:96px 1fr;gap:14px;padding:18px 16px 16px}
  .pm-visual{min-height:96px;border-radius:14px}
  .pm-placeholder .ico{width:40px;height:40px}
  .pm-intro{padding-right:44px}
  .pm-kicker{font-size:9px;padding:5px 8px}
  .pm-intro h2{font-size:20px;margin:8px 0 6px}
  .pm-intro p{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .pm-fields{padding:0 16px 12px}
  .pm-fields fieldset{margin:14px 0 16px}
  .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .choice-content{min-height:50px;padding:8px 28px 8px 10px}
  .choice-content strong{font-size:12.5px}
  .choice-content small{font-size:11.5px}
  .pm-footer{grid-template-columns:1fr;gap:10px;margin-top:auto;padding:12px 16px max(14px,env(safe-area-inset-bottom))}
  .pm-price{flex-direction:row;align-items:center;justify-content:space-between}
  .pm-price strong{font-size:26px}
}
@media (max-width:360px){
  .brand img{height:44px}
  .icon-btn{width:40px;height:40px}
  .choice-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* ---------- Arte do banner com fundo transparente (V9.4) ---------- */
.hero-art>img.hero-comp{max-width:600px;max-height:none;aspect-ratio:1/1;border-radius:0;object-fit:contain;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 30px 40px #0d001866);animation:rise 7s ease-in-out infinite}
.hero-art:has(.hero-comp) .float-note{bottom:1%;right:2%}
@media (max-width:640px){.hero-art>img.hero-comp{max-width:100%}}

/* ---------- Compartilhar (V9.5) ---------- */
.card-share{position:absolute;z-index:2;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:#ffffffe6;color:var(--purple);display:grid;place-items:center;box-shadow:0 4px 14px #2a064822;transition:transform .2s,background .2s}
.card-share:hover{background:#fff;transform:scale(1.08)}
.card-share .ico{width:18px;height:18px}
.pm-share{display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:1.5px solid #dccbeb;background:#fff;color:var(--purple);border-radius:30px;padding:6px 12px;font-size:12.5px;font-weight:700}
.pm-share .ico{width:15px;height:15px}
.pf-actions{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Calculadora por medida (V9.5) ---------- */
.calc{padding-top:0}
.calc-box{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;background:linear-gradient(135deg,#faf5fe,#fff6ee);border:1px solid #eadcf6;border-radius:30px;padding:48px}
.calc-intro p{color:var(--muted);line-height:1.7}
.calc-points{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px}
.calc-points li{display:flex;align-items:center;gap:12px;font-weight:700;color:#3d2f48}
.calc-points .ico{width:38px;height:38px;padding:9px;border-radius:12px;background:#fff;color:var(--purple);box-shadow:0 4px 14px #4b008f14}
.calc-points li:last-child .ico{color:var(--wa-dark)}
.calc-form{background:#fff;border-radius:24px;padding:26px;box-shadow:0 20px 50px #32004b14;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-wide{grid-column:1/-1}
.cf-field label{display:block;font-size:13px;font-weight:800;color:#4a3d58;margin-bottom:6px}
.cf-field input,.cf-field select{width:100%;height:50px;border:1.5px solid #e3d9ea;border-radius:13px;padding:0 14px;background:#fff;font-size:16px;font-weight:600}
.cf-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--purple) 50%),linear-gradient(135deg,var(--purple) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.cf-field input:focus,.cf-field select:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px #5b0ebb22}
.qty-step{display:grid;grid-template-columns:50px 1fr 50px;gap:8px}
.qty-step button{height:50px;border:0;border-radius:13px;background:var(--soft);color:var(--purple);font-size:22px;font-weight:800}
.qty-step input{text-align:center}
.calc-result{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:linear-gradient(115deg,#290042,#6500a1);color:#fff;border-radius:18px;padding:18px 20px}
.calc-result span{font-size:13px;color:#e3cde8}
.calc-result strong{font-size:36px;letter-spacing:-.03em;line-height:1.1}
.calc-result small{color:#e3cde8;font-size:13px}
.calc-form .btn{grid-column:1/-1}
.btn.is-disabled{opacity:.5;pointer-events:none}
.calc-note{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted);text-align:center}

/* ---------- Galeria de trabalhos (V9.5) ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gal-item{position:relative;border:0;padding:0;border-radius:18px;overflow:hidden;background:#f3eafa;aspect-ratio:1/1;cursor:zoom-in}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal-item:hover img{transform:scale(1.05)}
.gal-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(transparent,#1b002dcc);color:#fff;font-size:13.5px;font-weight:700;text-align:left}
.gal-zoom{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:#ffffffd9;color:var(--purple);display:grid;place-items:center;opacity:0;transition:opacity .2s}
.gal-zoom .ico{width:16px;height:16px}
.gal-item:hover .gal-zoom,.gal-item:focus-visible .gal-zoom{opacity:1}
.gal-cta{text-align:center;margin-top:30px}
.lightbox{border:0;padding:0;background:transparent;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;display:none;align-items:center;justify-content:center}
.lightbox[open]{display:flex}
.lightbox::backdrop{background:#0d0016ee}
.lightbox figure{margin:0;max-width:min(92vw,1100px);display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox img{max-width:100%;max-height:78dvh;border-radius:14px;object-fit:contain;box-shadow:0 20px 60px #0008}
.lightbox figcaption{color:#fff;font-weight:700;text-align:center}
.lb-close{position:fixed;top:16px;right:16px;background:#fff}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:0;background:#ffffff26;color:#fff;display:grid;place-items:center}
.lb-nav:hover{background:#ffffff40}
.lb-prev{left:16px}.lb-next{right:16px}

@media (max-width:980px){.calc-box{grid-template-columns:1fr;padding:32px}.gal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .calc-box{padding:22px 16px;border-radius:24px;gap:22px}
  .calc-form{padding:18px;gap:12px}
  .calc-result strong{font-size:30px}
  .gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gal-item{border-radius:14px}
  .gal-zoom{opacity:1;width:30px;height:30px}
  .lb-nav{top:auto;bottom:22px;transform:none;background:#ffffff33}
  .lightbox img{max-height:70dvh}
}

/* ---------- Perfil no Google (V9.8) ---------- */
.about .btn-google{background:#fff;color:#2c0647;border:1.5px solid #e2d3ed;margin-left:8px}
.about .btn-google:hover{border-color:var(--purple)}
.g-stars{display:inline-grid;place-items:center}
.about .btn-google .ico{color:#ffb400}
.g-stars .ico{width:18px;height:18px}
.testi-more{margin-top:18px}
.testi-more .ico,.footer-main a .ico[fill="currentColor"]{color:#ffb400}
.footer-main a[href*="whatsapp"] .ico,.footer-main a[href*="wa.me"] .ico{color:var(--wa)}
@media (max-width:640px){.about .btn{width:100%}.about .btn-google{margin:10px 0 0}}

/* ---------- Cards de vantagens: faixa única (V9.10) ---------- */
.trust{grid-template-columns:repeat(4,minmax(0,1fr))}
.trust-card{position:relative;border-bottom:0!important;border-right:1px solid var(--line)!important;padding:26px 24px}
.trust-card:last-child{border-right:0!important}
.trust-card b{font-size:17px}
.trust-text{font-size:14px}
.trust-card a{font-size:13px}
@media (max-width:980px){
  .trust{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 12px 0;border-radius:18px}
  .trust-card{display:flex!important;flex-direction:column;align-items:flex-start;text-align:left;padding:16px 14px;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
  .trust-card:nth-child(2n){border-right:0!important}
  .trust-card:nth-child(n+3){border-bottom:0!important}
  .trust-icon{width:42px;height:42px;border-radius:12px;margin:0 0 10px;grid-row:auto}
  .trust-icon .ico{width:21px;height:21px}
  .trust-card b{font-size:14px;line-height:1.3;margin:0 0 4px}
  .trust-text{display:block;font-size:12.5px;line-height:1.45;margin-bottom:10px}
  .trust-card a{font-size:12px;margin-top:auto}
  .trust-card a .ico{width:14px;height:14px}
}
@media (max-width:360px){.trust-card{padding:14px 10px}.trust-card b{font-size:13px}.trust-text{font-size:12px}}

/* ---------- Configurador: medida livre, arte, economia e prazo (V9.12) ---------- */
.save-badge{align-self:flex-start;margin-top:5px;font-style:normal;font-size:10.5px;font-weight:800;color:#0f7a3d;background:#e3f7ea;border-radius:20px;padding:2px 7px}
.pm-custom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pm-custom label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:800;color:#4a3d58}
.pm-custom input{height:48px;border:1.5px solid #e3d9ea;border-radius:12px;padding:0 12px;font-size:16px;font-weight:600;background:#fff}
.pm-custom input:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px #5b0ebb22}
.pm-lead{display:flex!important;align-items:center;gap:5px;color:#0f7a3d!important;font-weight:700;margin-top:3px}
.pm-lead .ico{width:13px;height:13px}
@media (max-width:640px){.pm-custom{gap:7px}.pm-custom input{height:46px;padding:0 9px}.pm-price{align-items:flex-end}}
.choice-content strong{overflow-wrap:break-word;word-break:normal;hyphens:auto;-webkit-hyphens:auto}
.choice-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}
@media (max-width:640px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pm-price strong.is-text{font-size:24px;white-space:nowrap}
.calc-tiers{grid-column:1/-1;margin:-4px 0 0;font-size:12.5px;line-height:1.6;color:#5d5068;background:#f7f2fc;border-radius:12px;padding:10px 12px}
.calc-tiers b{color:var(--purple)}

/* ---------- Topo focado em conversão (V9.14) ---------- */
.hero-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rating-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#2a0648;border-radius:30px;padding:8px 14px;font-size:13px;box-shadow:0 8px 24px #0d001840;transition:transform .2s}
a.rating-chip:hover{transform:translateY(-2px)}
.rc-stars{display:inline-flex;gap:1px;color:#ffb400}
.rc-stars .ico{width:14px;height:14px}
.rating-chip b{font-size:14px}
.rc-count{color:#6d6378}
.eyebrow .ico{color:#ffb36b}
.btn-lg{padding:17px 26px;font-size:16px}
.cta-note{display:flex;align-items:center;gap:8px;margin:14px 0 0!important;font-size:13.5px!important;color:#d9c4ea!important}
.live-dot{width:9px;height:9px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 0 #35d07f99;animation:pulse 2s infinite;flex:none}
@keyframes pulse{70%{box-shadow:0 0 0 8px #35d07f00}100%{box-shadow:0 0 0 0 #35d07f00}}
.hero-points{margin-top:22px}
@media (max-width:980px){.hero-badges{justify-content:center}.cta-note{justify-content:center}}
@media (max-width:640px){
  .hero-inner{padding-top:28px}
  .hero h1{font-size:clamp(29px,8.2vw,38px);margin:16px 0 12px;line-height:1.08}
  .hero p{font-size:15px}
  .hero-actions{margin-top:20px;gap:10px}
  .btn-lg{padding:16px 18px;font-size:15.5px}
  .rating-chip{font-size:12px;padding:7px 12px}
  .eyebrow{font-size:10.5px;padding:8px 12px}
  .hero-points{margin-top:16px}
  .hero-art>img.hero-comp{max-width:340px}
}
.hero h1{font-size:clamp(36px,4.1vw,56px);max-width:620px}
.hero-inner{min-height:0;padding-top:48px;padding-bottom:64px}
.cta-note{display:block!important;text-align:inherit}
.live-dot{display:inline-block;vertical-align:middle;margin:-2px 8px 0 0}
@media (max-width:640px){.hero h1{font-size:clamp(29px,8.2vw,38px)}.hero-inner{padding-top:28px;padding-bottom:44px}}

/* ---------- Foto vitrine DM no topo (V9.15) ---------- */
.hero-art>img.hero-wide{width:100%;max-width:680px;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:22px;-webkit-mask-image:none;mask-image:none;animation:none;box-shadow:0 30px 70px #0d001880,0 0 0 1px #ffffff1f}
@media (max-width:980px){.hero-art>img.hero-wide{max-width:640px}}
@media (max-width:640px){.hero-art>img.hero-wide{border-radius:16px}}
/* V9.16: peças DM sem fundo */
.hero-art>img.hero-comp{width:100%;max-width:640px;aspect-ratio:auto;height:auto;max-height:none;border-radius:0;box-shadow:none;animation:rise 7s ease-in-out infinite;filter:drop-shadow(0 22px 26px #2a0a5533) drop-shadow(0 4px 6px #2a0a5522)}
@media (max-width:640px){.hero-art>img.hero-comp{max-width:100%}}

/* ---------- Configurador estilo pílulas (V9.17) ---------- */
.size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.size-pill,.fin-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:62px;padding:8px 6px;border:1.5px solid #e3d9ea;border-radius:14px;background:#fff;color:#3d3446;transition:border-color .15s,background .15s,box-shadow .15s}
.size-pill b{font-size:18px;font-weight:800;letter-spacing:-.01em}
.size-pill small,.fin-pill small{font-size:12px;color:#8a7f93;font-weight:600}
.size-pill:hover,.fin-pill:hover{border-color:#c9a8e6}
.size-pill.on,.fin-pill.on{border-color:var(--purple);background:#f6efff;box-shadow:0 0 0 1px var(--purple);color:var(--purple)}
.size-pill.on small,.fin-pill.on small{color:var(--purple)}
.size-custom{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1.5px dashed #cdb6e6;border-radius:14px;background:#fcf9ff;color:#4a3d58;font-weight:700;font-size:15px}
.size-custom .ico{width:17px;height:17px;color:var(--orange)}
.size-custom.on{border-style:solid;border-color:var(--purple);background:#f6efff;color:var(--purple);box-shadow:0 0 0 1px var(--purple)}
.fin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fin-pill{align-items:flex-start;text-align:left;padding:10px 14px}
.fin-pill b{font-size:14px;line-height:1.3}
.fin-pill small{color:#0f7a3d}
.qty-drop{position:relative}
.qty-btn{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;border:1.5px solid #d9cfe3;border-radius:14px;background:#fff;font-size:17px;font-weight:700;color:#2f2638}
.qty-btn small{font-size:12px;color:var(--orange);font-weight:700;margin-left:6px}
.qty-btn .ico{width:20px;height:20px;color:#6d6378;transition:transform .2s}
.qty-drop.open .qty-btn{border-color:var(--purple);box-shadow:0 0 0 3px #5b0ebb1f}
.qty-drop.open .qty-btn .ico{transform:rotate(180deg)}
.qty-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e7def0;border-radius:16px;box-shadow:0 20px 50px #2a064833;max-height:330px;overflow:auto}
.qty-menu li{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:8px;padding:13px 14px;border-radius:10px;cursor:pointer;font-size:15.5px;color:#3d3446}
.qty-menu li b{font-weight:700}
.qty-menu li em{font-style:normal;color:#12a150;font-weight:700;font-size:14px}
.qty-menu li:hover,.qty-menu li:focus{background:#f5f0fa;outline:0}
.qty-menu li.on{background:#efe6fb;color:var(--purple)}
.qty-menu li.q-custom{display:flex;gap:8px;border-top:1px solid #eee6f4;border-radius:0 0 10px 10px;margin-top:4px;color:var(--purple);font-weight:700}
.qty-menu li.q-custom .ico{width:16px;height:16px}
.qty-custom{margin-top:10px;display:flex;align-items:center;gap:10px}
.qty-custom label{font-size:13.5px;font-weight:700;color:#4a3d58;white-space:nowrap}
.qty-custom input{flex:1;height:48px;border:1.5px solid var(--purple);border-radius:12px;padding:0 14px;font-size:16px;font-weight:700}
@media (max-width:640px){
  .size-grid{gap:8px}
  .size-pill{min-height:56px}
  .size-pill b{font-size:16px}
  .fin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .qty-menu li{grid-template-columns:78px 1fr auto;padding:12px 10px;font-size:15px}
}

/* ---------- Logo com leve movimento e sombra (V9.17) ---------- */
.brand img{filter:drop-shadow(0 6px 10px #3d0a7a45) drop-shadow(0 2px 3px #3d0a7a30);animation:logo-float 4.5s ease-in-out infinite;transform-origin:50% 60%;will-change:transform}
.brand:hover img{animation-play-state:paused;transform:scale(1.04) rotate(-1.5deg);transition:transform .25s}
@keyframes logo-float{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-1.2deg)}50%{transform:translateY(-4px) rotate(0)}75%{transform:translateY(-2px) rotate(1.2deg)}}
/* V9.19 — composição larga de produtos no topo */
@media (min-width:1024px){.hero-art>img.hero-comp{width:116%;max-width:760px;margin-right:-12%;margin-left:-4%}}
/* V9.21 — efeitos animados em volta da imagem do topo */
.hero-stage{position:relative;width:100%;display:grid;place-items:center;isolation:isolate}
.hero-float{position:relative;width:100%;max-width:640px;animation:rise 7s ease-in-out infinite;z-index:2}
.hero-float img.hero-comp{display:block;width:100%;height:auto;max-width:none;aspect-ratio:auto;border-radius:0;object-fit:contain;-webkit-mask-image:none;mask-image:none;animation:none;filter:drop-shadow(0 22px 26px #1a003a55) drop-shadow(0 4px 6px #1a003a33)}
@media (min-width:1024px){.hero-float{width:116%;max-width:760px;margin-right:-12%;margin-left:-4%}}
/* estrelinhas piscando */
.fx-spark{position:absolute;z-index:3;width:18px;aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 0 6px #ffd27a) drop-shadow(0 0 12px #ff9a3c);opacity:0;animation:fx-twinkle 3.2s ease-in-out infinite}
.fx-spark::before{content:"";position:absolute;inset:0;background:#fff6dc;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
@keyframes fx-twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}60%{opacity:.9;transform:scale(.85) rotate(60deg)}}
.fx-s1{left:4%;top:14%;animation-delay:0s}
.fx-s2{left:47%;top:2%;width:14px;animation-delay:.7s}
.fx-s3{right:2%;top:12%;width:22px;animation-delay:1.4s}
.fx-s4{right:-2%;top:58%;width:14px;animation-delay:2.1s}
.fx-s5{left:-2%;top:62%;width:20px;animation-delay:.35s}
.fx-s6{left:30%;bottom:0;width:13px;animation-delay:1.8s}
.fx-s7{right:22%;bottom:-2%;width:17px;animation-delay:2.6s}
.fx-s8{left:62%;top:30%;width:11px;animation-delay:1.1s}
.fx-s9{left:22%;top:34%;width:12px;animation-delay:2.9s}
@media (max-width:640px){.fx-s8,.fx-s9{display:none}.fx-spark{width:13px}}
/* V9.22 — produtos em 2 colunas no celular (cards compactos) */
@media (max-width:640px){
  .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product{border-radius:18px}
  .product:hover{transform:none}
  .product-photo{aspect-ratio:1/1}
  .product-photo .tag{top:8px;left:8px;font-size:9.5px;padding:5px 8px}
  .card-share{top:8px;right:8px;width:32px;height:32px}
  .card-share .ico{width:15px;height:15px}
  .ph-icon{width:62px;height:62px;border-radius:18px}
  .ph-icon .ico{width:30px;height:30px}
  .photo-placeholder small{font-size:9px;letter-spacing:.1em}
  .product-body{padding:12px 12px 14px}
  .product-body>small{font-size:9.5px}
  .product h3{font-size:15px;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .product p{display:none}
  .product-bottom{flex-direction:column;align-items:stretch;gap:10px}
  .product-bottom small{font-size:11px}
  .product-bottom strong{font-size:19px}
  .product-bottom .btn{width:100%;justify-content:center;padding:10px 8px;font-size:13px;border-radius:12px}
  .product-bottom .btn .ico{width:15px;height:15px}
}
@media (max-width:640px){.product-photo .tag{max-width:calc(100% - 52px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media (max-width:370px){.products{gap:10px}.product-body{padding:10px 10px 12px}.product-bottom .btn .ico{display:none}.product-bottom strong{font-size:17px}}
/* V9.25 — Instagram no menu */
.nav a{white-space:nowrap}
.nav-ig{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#c13584!important;background:#fdf0f7;transition:background .2s,color .2s}
.nav-ig span{display:none}
.nav-ig .ico{width:19px;height:19px}
.nav-ig:hover{background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);color:#fff!important}
@media (max-width:980px){.nav-ig{display:flex;align-items:center;gap:8px;width:auto;height:auto;border-radius:0;background:none}.nav-ig span{display:inline}.nav-ig:hover{background:none;color:#c13584!important}.nav-ig .ico{width:18px;height:18px}}
@media (min-width:981px) and (max-width:1200px){.nav{gap:16px;font-size:13.5px}.nav-ig{width:34px;height:34px}}
@media (min-width:1201px) and (max-width:1440px){.nav{gap:20px}}
/* V9.26 — Sobre a DM com as peças da marca + 5 estrelas no Google */
.about-art{justify-self:center;width:100%;max-width:500px;position:relative}
.about-art::before{content:"";position:absolute;inset:12% 8% 4%;border-radius:50%;background:radial-gradient(circle,#ff7a0033,#7a1bd222 55%,transparent 72%);filter:blur(18px);z-index:0}
.about-art img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 20px 22px #29004233);animation:rise 7s ease-in-out infinite}
.g-stars{display:inline-flex;gap:1px}
.g-stars .ico{width:15px;height:15px;fill:#ffb400;color:#ffb400}
@media (max-width:980px){.about-art{max-width:420px;grid-row:1}}
@media (max-width:640px){.about-art{max-width:320px}}
.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.about-actions .btn{margin:0!important}@media (max-width:640px){.about-actions .btn{width:100%}}
/* V9.27 — correção do campo "Quantidade personalizada" (não empurra mais a janela para o lado) */
.product-modal-shell{overflow-x:hidden}
.qty-custom{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px}
.qty-custom input{min-width:0;width:100%}
.qty-custom small{grid-column:2;font-size:12px;color:var(--muted);font-weight:600}
/* V9.29 — entrega, cupom, pedir de novo e selo de atendimento */
.order-extra{display:grid;gap:10px;margin-bottom:12px}
.ship-field{display:grid;gap:6px;font-size:13px;font-weight:800;color:#3b2a4d}
.ship-field>span{display:inline-flex;align-items:center;gap:6px}.ship-field .ico{width:16px;height:16px;color:var(--purple)}
.ship-field select{height:46px;border:1.5px solid #e3d9ea;border-radius:12px;padding:0 12px;font:inherit;font-weight:600;font-size:15px;background:#fff;color:#2c0647;width:100%}
.ship-field select:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px #5b0ebb22}
.coupon-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.coupon-row input{height:44px;min-width:0;border:1.5px dashed #cdb8df;border-radius:12px;padding:0 12px;font:inherit;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#fcf9ff}
.coupon-row input::placeholder{text-transform:none;letter-spacing:0;font-weight:500}
.coupon-row input:focus{outline:0;border-style:solid;border-color:var(--purple)}
.coupon-row .btn{height:44px;padding:0 16px;font-size:14px}
.coupon-on{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#e9f9ef;border:1px solid #bfe8cd;color:#146c34;border-radius:12px;padding:9px 12px;font-size:13.5px}
.coupon-on span{line-height:1.35}.coupon-on .ico{width:16px;height:16px}
.coupon-on button{border:0;background:none;color:#146c34;padding:4px;cursor:pointer;display:grid}
.coupon-msg{font-size:12.5px;font-weight:600;color:var(--muted);min-height:0}.coupon-msg:empty{display:none}
.coupon-msg.ok{color:#15803d}.coupon-msg.err{color:#c2410c}
.sum-lines{display:grid;gap:4px;margin-bottom:8px}.sum-lines:empty{display:none}
.sum-lines div{display:flex;justify-content:space-between;font-size:13.5px;color:#5c5266}
.sum-lines b{font-weight:700;color:#2c0647}
.sum-lines .sl-disc b{color:#15803d}.sum-lines .sl-warn b{color:#c2410c;font-weight:600}
#reorder{margin-top:12px;display:inline-flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}
#reorder small{font-size:11.5px;color:var(--muted);font-weight:600}
#reorder .ico{display:none}
.open-now{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:7px 14px;border-radius:999px;font-size:13.5px;font-weight:700;background:#ffffff14;border:1px solid #ffffff26;color:#fff}
.open-now span{font-weight:500;opacity:.85}
.open-now i{width:9px;height:9px;border-radius:50%;background:#9ca3af;flex:none}
.open-now.is-open i{background:#22c55e;box-shadow:0 0 0 0 #22c55e99;animation:open-pulse 2s infinite}
.open-now.is-closed i{background:#f59e0b}
@keyframes open-pulse{70%{box-shadow:0 0 0 8px #22c55e00}100%{box-shadow:0 0 0 0 #22c55e00}}
.drawer-foot .open-now{margin:10px 0 0;background:#f6f1fb;border-color:#eadff3;color:#3b2a4d;font-size:12.5px;padding:6px 12px}
@media (max-width:980px){.hero .open-now{justify-content:center}}
.open-now{max-width:100%;min-width:0;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.hero-inner>*{min-width:0}
.open-now span{overflow:hidden;text-overflow:ellipsis}
.hero .open-now{margin:0 0 18px}
@media (max-width:980px){.hero .open-now{margin:0 auto 18px}}
@media (max-width:640px){.hero .open-now{font-size:12.5px;padding:6px 12px}}
@media (max-width:360px){.open-now span{display:none}}
/* V9.30 — ajustes visuais */
/* topo: estrelas do Google e "desde 2019" numa linha só, mais leve */
@media (min-width:981px){.hero-badges{flex-wrap:nowrap;gap:14px}.hero-badges .eyebrow{background:none;padding:0;white-space:nowrap}}
.hero .open-now{margin:16px 0 0}
@media (max-width:980px){.hero .open-now{margin:16px auto 0}}
.hero-points{margin-top:18px}
/* banner "algo exclusivo": arte real no lugar do DM gigante */
.banner-art{flex:0 1 46%;display:grid;place-items:center;align-self:stretch;margin:-20px -20px -20px 0}
.banner-art img{width:100%;max-width:520px;height:auto;filter:drop-shadow(0 22px 28px #0009);transform:rotate(-3deg);animation:rise 8s ease-in-out infinite}
@media (max-width:980px){.banner-art{flex-basis:40%}}
@media (max-width:640px){.custom-banner{flex-direction:column;align-items:stretch}.banner-art{display:grid;margin:6px 0 0;order:2}.banner-art img{max-width:340px}}
/* catálogo: última linha centralizada */
.products{display:flex;flex-wrap:wrap;justify-content:center}
.products>.product{flex:0 1 calc((100% - 44px)/3);min-width:0}
@media (max-width:980px){.products>.product{flex-basis:calc((100% - 22px)/2)}}
@media (max-width:640px){.products>.product{flex-basis:calc((100% - 12px)/2)}}
@media (max-width:370px){.products>.product{flex-basis:calc((100% - 10px)/2)}}
/* depoimentos: centralizados quando cabem na tela, com fundo suave logo após o catálogo */
.testimonials{background:linear-gradient(180deg,#fff,#faf6fd 30%,#faf6fd 70%,#fff)}
.testi-track.is-few{justify-content:center}
/* chamada final separada do rodapé */
.last-cta{max-width:1220px;margin:0 auto 70px;border-radius:30px;background:linear-gradient(115deg,#ff6a00,#ff8f1f 45%,#f25c05);box-shadow:0 30px 60px #ff6a0033;position:relative;overflow:hidden}
.last-cta::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:#ffffff1f}
.last-cta::before{content:"";position:absolute;left:-80px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:#ffffff14}
.last-cta>*{position:relative;z-index:1}
.last-cta p{color:#fff4e8}
.last-cta .btn-orange{background:#2c0647;color:#fff;box-shadow:0 12px 26px #2c064755}
.last-cta .btn-orange:hover{background:#42088b}
@media (max-width:1260px){.last-cta{margin:0 20px 60px}}
@media (max-width:640px){.last-cta{margin:0 16px 48px;border-radius:24px;padding:56px 22px}}
@media (min-width:981px){.rating-chip{white-space:nowrap;flex:none}}
/* V9.31 — aviso de site em construção */
.build-strip{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:#fff7e0;border-bottom:1px solid #f5d98a;color:#6b4200;font-size:13.5px;line-height:1.4;padding:9px 16px;text-align:center}
.build-strip .ico{width:17px;height:17px;color:#d97706;flex:none}
.build-strip button{border:0;background:none;color:#9a3412;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:2px 4px}
.build-dialog{border:0;border-radius:24px;padding:34px 30px 26px;max-width:min(440px,calc(100vw - 32px));text-align:center;box-shadow:0 30px 80px #1b002d55}
.build-dialog::backdrop{background:#1b002d99;backdrop-filter:blur(3px)}
.bd-ico{width:64px;height:64px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center;background:#fff3d6;color:#d97706}
.bd-ico .ico{width:32px;height:32px}
.build-dialog h2{font-size:24px;margin:0 0 10px;color:#2c0647}
.build-dialog p{color:#5c5266;line-height:1.65;margin:0 0 22px;font-size:15px}
.bd-actions{display:grid;gap:10px}
.bd-actions .btn{width:100%;justify-content:center}
@media (max-width:640px){.build-strip{font-size:12.5px;padding:8px 12px;gap:6px}.build-dialog{padding:28px 20px 20px}.build-dialog h2{font-size:21px}}
.build-dialog :focus:not(:focus-visible){outline:0}
/* V9.32 — títulos do catálogo e dos trabalhos centralizados, como as outras seções */
.section-top{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}
.section-top p{margin-left:auto;margin-right:auto}
.section-top .text-link{align-self:center}
.filter{justify-content:center}
@media (max-width:640px){.filter{justify-content:flex-start}.section-top{display:flex}}
/* V9.33 — topo no computador: logo à esquerda, sem botão WhatsApp */
@media (min-width:981px){
  .header{grid-template-columns:auto 1fr auto;gap:34px}
  .brand{grid-column:1;grid-row:1;justify-self:start}
  .nav{grid-column:2;grid-row:1;justify-self:start}
  .head-actions{grid-column:3;grid-row:1}
  .head-wa{display:none!important}
}
/* V9.33 — chamada final: cartão claro com conversa de WhatsApp */
.last-cta{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;text-align:left;background:linear-gradient(135deg,#f7f0fd,#fff4ea);color:#1f0a33;border:1px solid #ecdff6;box-shadow:0 30px 60px #5b0ebb14;padding:64px 64px}
.last-cta::before,.last-cta::after{display:none}
.last-cta h2{color:#1f0a33;font-size:clamp(30px,3.6vw,46px);line-height:1.08;margin:10px 0 14px}
.last-cta h2 em{font-style:normal;color:var(--purple)}
.last-cta p{color:#5c5266;line-height:1.7;margin:0 0 26px;max-width:520px}
.last-cta .btn-whatsapp{box-shadow:0 14px 28px #25d36640}
.lc-chat{justify-self:center;width:100%;max-width:380px;background:#efe7dd;border-radius:24px;padding:0 0 18px;box-shadow:0 24px 50px #2c064722;overflow:hidden;display:flex;flex-direction:column;gap:9px;transform:rotate(1.5deg)}
.lc-chat-head{display:flex;align-items:center;gap:10px;background:#075e54;color:#fff;padding:12px 16px;margin-bottom:6px}
.lc-chat-head img{width:40px;height:40px;border-radius:50%;object-fit:contain;background:#fff;padding:3px}
.lc-chat-head b{display:block;font-size:15px}.lc-chat-head small{font-size:12px;opacity:.85}
.bub{margin:0 14px!important;max-width:80%;padding:9px 12px;border-radius:14px;font-size:14px!important;line-height:1.45!important;color:#1f2a2e!important;box-shadow:0 1px 1px #0000001a;opacity:0;animation:bub-in .5s ease forwards}
.bub.in{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.bub.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:4px}
.bub span{font-size:11px;color:#53bdeb;margin-left:6px}
.bub:nth-of-type(1){animation-delay:.2s}.bub:nth-of-type(2){animation-delay:.9s}.bub:nth-of-type(3){animation-delay:1.6s}.bub:nth-of-type(4){animation-delay:2.3s}
@keyframes bub-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bub{opacity:1}}
@media (max-width:980px){.last-cta{grid-template-columns:1fr;text-align:center;padding:52px 32px}.last-cta p{margin-left:auto;margin-right:auto}}
@media (max-width:640px){.last-cta{padding:44px 20px;gap:30px}.last-cta .btn-whatsapp{width:100%;justify-content:center}.lc-chat{transform:none}}
.lc-chat{text-align:left}
/* V9.34 — galeria em carrossel (uma linha que desliza) */
.gal-wrap{position:relative}
.gal-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 6px;overscroll-behavior-x:contain}
.gal-grid::-webkit-scrollbar{display:none}
.gal-grid>.gal-item{flex:0 0 calc((100% - 42px)/4);scroll-snap-align:start}
.gal-grid>.gal-item[hidden]{display:none}
.gal-nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--purple);display:grid;place-items:center;box-shadow:0 8px 20px #2c064726;cursor:pointer;transition:opacity .2s,transform .2s}
.gal-nav:hover:not(:disabled){transform:scale(1.07)}
.gal-nav:disabled{opacity:.35;cursor:default}
.gal-nav .ico{width:22px;height:22px}
.gal-nav.prev{left:-22px}.gal-nav.next{right:-22px}
.gal-bar{height:4px;border-radius:4px;background:#efe6f6;margin:16px auto 0;max-width:260px;overflow:hidden}
.gal-bar span{display:block;height:100%;border-radius:4px;background:var(--purple);transition:transform .25s,width .25s}
@media (max-width:980px){.gal-grid>.gal-item{flex-basis:calc((100% - 28px)/3)}.gal-nav.prev{left:-10px}.gal-nav.next{right:-10px}}
@media (max-width:640px){.gal-grid{gap:10px;margin:0 -16px;padding:4px 16px 6px;scroll-padding:0 16px}.gal-grid>.gal-item{flex-basis:72%}.gal-nav{display:none}}
/* V9.36 — botão "Ver mais produtos" (menor e mais elegante) */
.more-wrap{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px}
.more-wrap[hidden]{display:none}
.more-line{flex:1;max-width:180px;height:1px;background:linear-gradient(90deg,transparent,#e2d3ed)}
.more-line:last-child{background:linear-gradient(90deg,#e2d3ed,transparent)}
.more-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 12px 9px 18px;border-radius:999px;border:1.5px solid #e2d3ed;background:#fff;color:var(--purple);font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #5b0ebb14;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}
.more-count{font-size:12px;font-weight:800;background:#f1e6fb;color:var(--purple);padding:3px 8px;border-radius:999px;transition:background .2s,color .2s}
.more-btn .ico{width:16px;height:16px;transition:transform .2s}
.more-btn:hover{background:linear-gradient(135deg,#5b0ebb,#7a2bd6);color:#fff;border-color:transparent;box-shadow:0 10px 22px #5b0ebb38;transform:translateY(-1px)}
.more-btn:hover .more-count{background:#ffffff2e;color:#fff}
.more-btn:hover .ico{transform:translateY(2px)}
.more-btn:focus-visible{outline:3px solid #5b0ebb55;outline-offset:3px}
@media (max-width:640px){.more-wrap{margin-top:22px;gap:10px}.more-btn{font-size:13.5px;padding:8px 10px 8px 16px}}
/* V9.37 — atalhos de tamanho na calculadora */
.calc-sizes>span{display:block;font-size:12.5px;font-weight:800;color:#4a3d58;margin-bottom:8px}
.cs-list{display:flex;flex-wrap:wrap;gap:8px}
.cs-chip{border:1.5px solid #e2d3ed;background:#fff;color:#3b2a4d;border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.cs-chip small{font-weight:600;color:#8a7d97;font-size:11px}
.cs-chip:hover{border-color:var(--purple)}
.cs-chip.on{background:var(--purple);border-color:var(--purple);color:#fff}
.cs-chip.on small{color:#e7d6fb}
/* V9.38 — fotos reais dentro do produto */
.pm-real{padding:18px 36px 4px}
.pm-real-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.pm-real-top b{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;color:#2c0647}
.pm-real-top b .ico{width:17px;height:17px;color:#16a34a}
.pm-real-top small{font-size:12.5px;color:var(--muted)}
.pm-real-list{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:4px}
.pm-real-list::-webkit-scrollbar{display:none}
.pm-real-item{flex:0 0 118px;aspect-ratio:1;border:0;padding:0;border-radius:14px;overflow:hidden;background:#f3eafa;cursor:zoom-in;scroll-snap-align:start;box-shadow:0 6px 16px #2c064714;transition:transform .2s}
.pm-real-item img{width:100%;height:100%;object-fit:cover;display:block}
.pm-real-item:hover{transform:translateY(-2px)}
@media (max-width:640px){.pm-real{padding:14px 16px 2px}.pm-real-item{flex-basis:96px;border-radius:12px}}
#lightbox{z-index:100}
/* V9.39 — janela do produto mais enxuta: carrossel de fotos, cabeçalho compacto */
.pm-head{align-items:start;padding:26px 36px 18px}
.pm-head.has-gal{grid-template-columns:40% 1fr}
.pm-gal{min-width:0}
.pm-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:18px;background:#fff;box-shadow:0 10px 32px #42088b14}
.pm-track::-webkit-scrollbar{display:none}
.pm-slide{position:relative;flex:0 0 100%;aspect-ratio:4/3;border:0;padding:0;background:#fff;scroll-snap-align:start;cursor:zoom-in}
.pm-slide img{width:100%;height:100%;object-fit:cover;display:block}
.pm-real-tag{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;background:#ffffffeb;color:#15803d;font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:20px;box-shadow:0 2px 8px #0002}
.pm-real-tag .ico{width:13px;height:13px}
.pm-thumbs{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:none}
.pm-thumb{flex:0 0 46px;height:46px;border-radius:9px;overflow:hidden;border:2px solid transparent;padding:0;background:#fff;cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}
.pm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pm-thumb.on{border-color:var(--purple);opacity:1}
.pm-dots{display:none}
.pm-kicker.real{background:#e7f8ee;color:#15803d}
.pm-intro{padding-right:40px}
.pm-intro h2{margin:10px 0 6px}
.pm-from{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.pm-from span{font-size:13px;color:var(--muted)}
.pm-from b{font-size:20px;color:var(--purple);letter-spacing:-.02em}
.pm-from .pm-share{margin:0 0 0 auto;width:36px;height:36px;padding:0;justify-content:center;border-radius:50%}
.pm-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pm-desc.open{display:block}
.pm-more{border:0;background:none;padding:2px 0;color:var(--purple);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pm-fields fieldset{margin:14px 0 18px}
.art-pill{position:relative;cursor:pointer}
.art-pill input{position:absolute;opacity:0;pointer-events:none}
.art-pill small{color:#8a7f93!important}
.art-pill.on small{color:var(--purple)!important}
.art-pill:focus-within{outline:3px solid #5b0ebb44;outline-offset:2px}
.pm-note-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0 10px;color:var(--purple);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pm-note-toggle .ico{width:15px;height:15px}
.pm-note-toggle span{color:#8a7f93;font-weight:500}
@media (max-width:640px){
  .pm-head,.pm-head.has-gal{grid-template-columns:1fr;gap:12px;padding:0 0 12px;background:#fff}
  .pm-head .pm-visual{margin:16px 60px 0 16px;min-height:84px}
  .pm-track{border-radius:0;box-shadow:none}
  .pm-slide{aspect-ratio:16/11}
  .pm-thumbs{display:none}
  .pm-dots{display:flex;justify-content:center;gap:6px;margin-top:8px}
  .pm-dots i{width:7px;height:7px;border-radius:50%;background:#dcccea;transition:width .2s,background .2s}
  .pm-dots i.on{width:18px;border-radius:4px;background:var(--purple)}
  .pm-intro{padding:0 16px}
  .pm-intro h2{font-size:21px;margin:6px 0 4px;padding-right:0}
  .pm-kicker{font-size:10.5px}
  .pm-from b{font-size:18px}
  .pm-intro p{-webkit-line-clamp:2}
}
/* V9.40 — vantagens em faixa compacta: ícone + título, cartão inteiro clicável */
.trust{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:20px;box-shadow:0 10px 30px #42088b0f}
.trust-card{display:grid!important;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;padding:16px 18px!important;transition:background .2s}
.trust-card:hover{background:#faf5fe}
.trust-icon{width:44px!important;height:44px!important;border-radius:13px!important;margin:0!important;grid-row:span 2}
.trust-icon .ico{width:22px!important;height:22px!important}
.trust-card b{font-size:15px!important;line-height:1.25!important;margin:0!important;align-self:end}
.trust-text{font-size:12.5px!important;line-height:1.35!important;margin:2px 0 0!important;align-self:start;display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.trust-card a{position:absolute;inset:0;font-size:0!important;border:0!important;padding:0!important;margin:0!important;z-index:1}
.trust-card a .ico{display:none}
.trust-card::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-top:2px solid #c4a6e2;border-right:2px solid #c4a6e2;transform:translateY(-50%) rotate(45deg);transition:right .2s,border-color .2s}
.trust-card:hover::after{right:10px;border-color:var(--purple)}
.trust-card{padding-right:30px!important}
@media (max-width:980px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-card:nth-child(2n){border-right:0!important}.trust-card:nth-child(-n+2){border-bottom:1px solid var(--line)!important}}
@media (max-width:640px){
  .trust{margin:16px 12px 0;border-radius:16px}
  .trust-card{grid-template-columns:34px 1fr;column-gap:9px;padding:12px 24px 12px 11px!important;min-height:64px}
  .trust-icon{width:34px!important;height:34px!important;border-radius:10px!important;grid-row:span 1}
  .trust-icon .ico{width:18px!important;height:18px!important}
  .trust-card b{font-size:13px!important;align-self:center}
  .trust-text{display:none!important}
  .trust-card::after{right:10px;width:6px;height:6px}
}
.trust-text{display:none!important}.trust-icon{grid-row:span 1}.trust-card b{align-self:center!important}
.trust-card a{justify-self:stretch!important;align-self:stretch!important;width:100%!important;height:100%!important;display:block!important;-webkit-tap-highlight-color:transparent;cursor:pointer}
/* V9.42 — botões do topo menores no celular */
@media (max-width:640px){
  .hero-actions{gap:10px}
  .hero-actions .btn{padding:13px 16px!important;font-size:15px!important;border-radius:14px;min-height:0}
  .hero-actions .btn .ico{width:19px;height:19px}
  .hero-actions .btn-glass{padding:10px 16px!important;font-size:14px!important;border-width:1px}
  .hero-actions .btn-glass .ico{width:16px;height:16px}
}
/* V9.43 — horário de atendimento junto do botão do WhatsApp */
.wa-float{position:fixed}
.wa-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#f59e0b;border:2.5px solid #fff}
.wa-dot.is-open{background:#22c55e;animation:open-pulse 2s infinite}
.wa-tip{position:fixed;z-index:35;right:90px;bottom:max(32px,calc(env(safe-area-inset-bottom) + 12px));max-width:min(260px,calc(100vw - 120px));margin:0!important;padding:9px 14px!important;border-radius:14px 14px 4px 14px!important;background:#fff!important;border:1px solid #eadff3!important;color:#2c0647!important;font-size:13px!important;box-shadow:0 10px 26px #2c064726;white-space:normal!important;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.wa-tip.show{opacity:1;transform:none}
.wa-tip span{display:block;font-weight:500;opacity:.75;overflow:visible!important}
body.no-scroll .wa-tip{display:none}
@media (max-width:640px){.wa-tip{right:78px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 6px))}.wa-tip span{display:block!important}.wa-dot{width:13px;height:13px}}
.wa-tip i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f59e0b;margin-right:5px;vertical-align:1px}.wa-tip.is-open i{background:#22c55e}.wa-tip{font-weight:700}
/* V9.45 — foto do produto quadrada também no computador (sem cortar) */
.product-photo{aspect-ratio:1/1}
.product-photo>img{object-fit:cover;object-position:center}
/* V9.46 — 4 produtos por linha no computador */
@media (min-width:1181px){
  .products{gap:20px}
  .products>.product{flex-basis:calc((100% - 60px)/4)}
  .product-body{padding:16px 18px 18px}
  .product h3{font-size:17px;margin:6px 0 6px}
  .product p{font-size:13.5px;line-height:1.5;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .product-bottom{gap:8px}
  .product-bottom strong{font-size:20px}
  .product-bottom .btn{padding:10px 13px;font-size:13.5px;border-radius:12px}
  .product-bottom .btn .ico{width:15px;height:15px}
}
@media (min-width:1181px){.product-bottom strong{white-space:nowrap;font-size:19px}.product-bottom .btn{white-space:nowrap;padding:10px 12px}.product-bottom .btn .ico{display:none}}@media (min-width:1181px) and (max-width:1320px){.product-bottom{flex-direction:column;align-items:stretch}.product-bottom .btn{justify-content:center}}
/* V9.47 — botão "Ver preços" com seta */
.product-bottom .btn .ico{display:inline-block!important;width:15px;height:15px;transition:transform .2s}
.product-bottom .btn:hover .ico{transform:translateX(3px)}
/* V9.48 — título do produto com botão compartilhar ao lado (sem "a partir de") */
.pm-titlerow{display:flex;align-items:flex-start;gap:12px}
.pm-titlerow h2{flex:1;min-width:0}
.pm-titlerow .pm-share{flex:none;margin:12px 0 0;width:38px;height:38px;padding:0;justify-content:center;border-radius:50%}
.pm-intro .pm-desc{margin-top:2px}
@media (max-width:640px){.pm-titlerow .pm-share{margin-top:6px;width:36px;height:36px}}
/* V9.49 — descrição do produto com ficha técnica organizada */
.pm-desc.short{display:block;-webkit-line-clamp:unset;margin-bottom:10px}
.pm-specs{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.pm-specs li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:#4d4256}
.pm-specs li .ico{flex:none;width:16px;height:16px;margin-top:2px;color:#16a34a;stroke-width:2.6}
.pm-specs b{color:#2c0647;font-weight:700}
.pm-specs.is-long:not(.open) li:nth-child(n+4){display:none}
@media (max-width:640px){.pm-specs li{font-size:13px}}

/* ---------- V9.50: ícones no menu de categorias + economia na calculadora ---------- */
.filter button{display:inline-flex;align-items:center;gap:7px}
.filter button .fico{width:16px;height:16px;flex:none;stroke-width:1.9;opacity:.75;transition:opacity .2s}
.filter button:hover .fico,.filter button.active .fico{opacity:1}
.calc-result .calc-save{display:inline-block;margin-top:8px;padding:4px 11px;border-radius:20px;background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:12.5px}
.calc-result .calc-save[hidden]{display:none}

/* ---------- V9.52: Pronta Entrega em destaque ---------- */
.filter button.f-ready{border-color:var(--orange);color:#c24a00;background:#fff4ec}
.filter button.f-ready .fico{opacity:1;fill:currentColor;stroke:none}
.filter button.f-ready .f-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:12px;background:var(--orange);color:#fff;font-size:12px;font-weight:800;margin-left:2px}
.filter button.f-ready:hover{border-color:#e05500}
.filter button.f-ready.active{background:var(--orange);border-color:var(--orange);color:#fff}
.filter button.f-ready.active .f-count{background:#fff;color:#c24a00}
.ready-tag{position:absolute;z-index:1;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:5px;border-radius:20px;background:#fff;color:#c24a00;font-size:11px;font-weight:800;padding:6px 11px 6px 9px;box-shadow:0 4px 14px rgba(36,6,74,.18)}
.ready-tag .ico{width:13px;height:13px;fill:currentColor;stroke:none}
@media (max-width:640px){.ready-tag{left:8px;bottom:8px;font-size:9.5px;padding:5px 8px 5px 7px}.ready-tag .ico{width:11px;height:11px}}
/* menu de categorias: centraliza sem cortar o começo quando não cabe */
.filter{justify-content:flex-start!important}
.filter>button:first-child{margin-left:auto}
.filter>button:last-child{margin-right:auto}
/* V9.55 — janela do produto no computador em 2 colunas: fotos fixas à esquerda, escolhas à direita */
@media (min-width:861px){
  #productModal{width:min(96vw,1060px);max-width:1060px}
  #modalContent{--pml:clamp(270px,36%,390px);display:grid;grid-template-columns:var(--pml) minmax(0,1fr);background:linear-gradient(90deg,#f6eefc 0,#fbf6ff var(--pml),#fff var(--pml))}
  #modalContent .pm-head,#modalContent .pm-intro{display:contents}
  #modalContent .pm-gal,#modalContent .pm-head>.pm-visual{grid-column:1;grid-row:1 / 7;align-self:start;position:sticky;top:0;padding:28px 24px 24px 28px}
  #modalContent .pm-head>.pm-visual{margin:28px 24px 24px 28px;padding:0;min-height:300px}
  #modalContent .pm-slide{aspect-ratio:1/1}
  #modalContent .pm-thumbs{flex-wrap:wrap}
  #modalContent .pm-kicker{grid-column:2;justify-self:start;margin:28px 80px 0 34px}
  #modalContent .pm-titlerow{grid-column:2;padding:0 72px 0 34px;margin-top:26px}
  #modalContent .pm-kicker+.pm-titlerow{margin-top:0}
  #modalContent .pm-titlerow h2{font-size:28px;margin:10px 0 6px}
  #modalContent .pm-titlerow .pm-share{margin-top:12px}
  #modalContent .pm-desc{grid-column:2;margin:0 40px 8px 34px;font-size:14px}
  #modalContent .pm-specs{grid-column:2;margin:0 40px 0 34px}
  #modalContent .pm-more{grid-column:2;justify-self:start;margin:4px 0 0 34px}
  #modalContent .pm-fields{grid-column:2;padding:4px 34px 10px}
  #modalContent .pm-fields fieldset{margin:16px 0 18px}
  #modalContent .pm-footer{grid-column:1 / -1}
  /* tamanhos em grade mais compacta na coluna da direita */
  #modalContent .size-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
}

/* ---------- V9.56: busca, produto não encontrado, garantia, rodapé legal, aviso de cookies ---------- */
.prod-search{position:relative;max-width:560px;margin:0 auto 18px;display:flex;align-items:center}
.prod-search>.ico{position:absolute;left:18px;width:19px;height:19px;color:#8b7d98;pointer-events:none}
.prod-search input{width:100%;height:52px;border:1.5px solid #e5ddea;border-radius:40px;padding:0 48px 0 48px;font:inherit;font-size:15px;background:#fff;color:#2b2233;transition:border-color .2s,box-shadow .2s}
.prod-search input:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 4px #5b0ebb1f}
.prod-search input::-webkit-search-cancel-button{display:none}
.prod-search button{position:absolute;right:8px;width:36px;height:36px;border:0;border-radius:50%;background:#f3ecf8;color:#5b4a68;display:grid;place-items:center;cursor:pointer}
.prod-search button .ico{width:16px;height:16px}
.search-empty{max-width:560px;margin:4px auto 26px;text-align:center;background:#faf5fe;border:1px dashed #d9c6ea;border-radius:16px;padding:18px 20px;color:#4b4152;font-size:15px}
.search-empty a{color:var(--purple);font-weight:700}
.nf-notice{display:flex;gap:12px;align-items:flex-start;max-width:760px;margin:0 auto 22px;background:#fff7ef;border:1px solid #ffd9bf;border-radius:16px;padding:14px 18px;color:#4b3a2c;font-size:15px;line-height:1.5}
.nf-notice>.ico{flex:none;width:22px;height:22px;color:#e05500;margin-top:1px}
.nf-notice a{color:#c24a00;font-weight:700}
.pm-guarantee{display:flex;gap:9px;align-items:flex-start;margin:6px 0 4px;padding:11px 14px;background:#effaf3;border:1px solid #c9ecd6;border-radius:12px;color:#25553a;font-size:13.5px;line-height:1.45}
.pm-guarantee .ico{flex:none;width:18px;height:18px;color:#16a34a;margin-top:1px}
.pm-guarantee a{color:#15803d;font-weight:700;white-space:nowrap}
.footer-guarantee{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:14px;max-width:1220px;margin:34px auto 0;padding:12px 20px;border-radius:14px;background:rgba(255,255,255,.06);color:#e9dcf3}
.footer-guarantee+.copyright{margin-top:18px}
.footer-guarantee .ico{width:18px;height:18px;color:#4ade80}
.footer-guarantee a{color:#ffb37a;font-weight:700}
.copyright .legal-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cookie-bar{position:fixed;z-index:60;left:16px;bottom:16px;max-width:430px;display:flex;align-items:center;gap:14px;background:#fff;color:#3b3145;border:1px solid #eee3f5;border-radius:18px;padding:14px 14px 14px 18px;box-shadow:0 16px 44px rgba(36,6,74,.22);font-size:13.5px;line-height:1.45;opacity:0;transform:translateY(14px);transition:opacity .25s,transform .25s}
.cookie-bar.show{opacity:1;transform:none}
.cookie-bar p{margin:0}
.cookie-bar a{color:var(--purple);font-weight:700}
.cookie-bar .btn{flex:none;min-height:40px;padding:8px 18px;font-size:14px}
@media (max-width:640px){.cookie-bar{left:10px;right:84px;bottom:12px;max-width:none;padding:12px;gap:10px;font-size:12.5px}.cookie-bar .btn{padding:8px 14px}}
/* janela do produto sem foto: uma coluna só, sem espaço vazio */
@media (min-width:861px){
  #productModal.pm-nogal{width:min(96vw,820px);max-width:820px}
  #modalContent.no-gal{display:block;background:#fff}
  #modalContent.no-gal .pm-head{display:block;padding:30px 84px 14px 36px;background:linear-gradient(135deg,#f4eafc,#fff7f0)}
  #modalContent.no-gal .pm-head>.pm-visual{display:none}
  #modalContent.no-gal .pm-intro{display:block;padding:0}
  #modalContent.no-gal .pm-kicker{margin:0 0 4px}
  #modalContent.no-gal .pm-titlerow{padding:0;margin-top:0}
  #modalContent.no-gal .pm-desc,#modalContent.no-gal .pm-specs,#modalContent.no-gal .pm-more{margin-left:0;margin-right:0}
  #modalContent.no-gal .pm-fields{padding:4px 36px 10px}
}
/* V9.59 — "Tamanho personalizado" discreto, foco nas medidas padrão */
.size-custom{width:auto;display:inline-flex;margin-top:8px;min-height:34px;padding:4px 12px;border:1px dashed transparent;border-radius:10px;background:none;color:#7a6c88;font-weight:600;font-size:13.5px;gap:6px;cursor:pointer}
.size-custom u{color:var(--purple);text-underline-offset:3px;font-weight:700}
.size-custom:hover{background:#f7f1fd;border-color:#ddc9f0}
.size-custom .ico{width:14px;height:14px}
.size-custom.on{border:1.5px solid var(--purple);background:#f6efff;color:var(--purple);box-shadow:none}
/* ===== V9.60 — aparência ===== */
/* Menu: Pronta entrega */
.nav a.nav-ready{display:inline-flex;align-items:center;gap:5px;color:var(--orange);font-weight:800}
.nav a.nav-ready .ico{width:15px;height:15px}
.nav a.nav-ready:hover{color:#e05400}
/* Faixa de números */
.stats{max-width:1220px;margin:36px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px #42088b0f;overflow:hidden}
.stat{display:flex;align-items:center;gap:14px;padding:18px 22px;border-right:1px solid var(--line);color:inherit;text-decoration:none;transition:background .2s}
.stat:last-child{border-right:0}
a.stat:hover{background:#faf5fe}
.stat-ico{flex:none;width:46px;height:46px;border-radius:14px;background:#f1e2fb;color:var(--purple);display:grid;place-items:center}
.stat-ico .ico{width:23px;height:23px}
.stat-ico.is-star{background:#fff4d6;color:#f5a400}.stat-ico.is-star .ico{fill:currentColor}
.stat-txt{display:flex;flex-direction:column;min-width:0}
.stat-txt b{font-size:22px;line-height:1.1;letter-spacing:-.02em;color:#1f1a26;font-weight:800}
.stat-txt small{font-size:13px;line-height:1.3;color:var(--muted);margin-top:3px}
@media (max-width:980px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 14px 0}.stat:nth-child(2n){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:560px){.stats{margin:16px 12px 0;border-radius:16px}.stat{padding:13px 12px;gap:10px;align-items:flex-start}.stat-ico{width:36px;height:36px;border-radius:11px}.stat-ico .ico{width:18px;height:18px}.stat-txt b{font-size:17px}.stat-txt small{font-size:11.5px}}
/* Vitrine Pronta entrega */
.shelf{max-width:1220px;margin:44px auto 0;padding:26px 26px 22px;border-radius:26px;background:linear-gradient(135deg,#fff4ea,#fff 55%,#f7efff);border:1.5px solid #ffd9bd;position:relative}
.shelf-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.shelf-ico{flex:none;width:48px;height:48px;border-radius:15px;background:var(--orange);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px #ff600040}
.shelf-ico .ico{width:24px;height:24px}
.shelf-head h2{margin:0;font-size:26px;letter-spacing:-.03em;line-height:1.1;color:#1f1a26}
.shelf-head p{margin:3px 0 0;color:var(--muted);font-size:14.5px}
.shelf-nav{margin-left:auto;display:flex;gap:8px}
.shelf-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--purple);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}
.shelf-btn:hover{background:#f6efff;transform:translateY(-1px)}.shelf-btn .ico{width:20px;height:20px}
.shelf-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none}
.shelf-track::-webkit-scrollbar{display:none}
.shelf-card{flex:0 0 210px;scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 10px 14px;cursor:pointer;font:inherit;color:inherit;transition:transform .2s,box-shadow .2s}
.shelf-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #2c064722}
.shelf-img{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:13px;overflow:hidden;background:linear-gradient(145deg,#f3e8fc,#fff0e5);color:var(--purple)}
.shelf-img img{width:100%;height:100%;object-fit:cover;display:block}
.shelf-img>.ico{width:44px;height:44px}
.shelf-tag{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:4px;background:var(--orange);color:#fff;font-style:normal;font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:30px;box-shadow:0 4px 10px #ff600044}
.shelf-tag .ico{width:12px;height:12px}
.shelf-name{margin:11px 4px 0;font-weight:700;font-size:14.5px;line-height:1.3;color:#1f1a26;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.shelf-price{margin:6px 4px 0;font-weight:800;font-size:18px;color:var(--purple);letter-spacing:-.02em}
.shelf-price small{display:block;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:0}
.shelf-all{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:800;font-size:14px;color:var(--orange);text-decoration:none}
.shelf-all .ico{width:16px;height:16px;transition:transform .2s}.shelf-all:hover .ico{transform:translateX(3px)}
@media (max-width:980px){.shelf{margin:28px 14px 0}}
@media (max-width:560px){.shelf{margin:22px 12px 0;padding:18px 0 16px 14px;border-radius:20px}.shelf-head{padding-right:14px;margin-bottom:14px}.shelf-head h2{font-size:21px}.shelf-head p{font-size:13px}.shelf-ico{width:40px;height:40px;border-radius:12px}.shelf-nav{display:none}.shelf-card{flex-basis:158px;padding:8px 8px 12px;border-radius:15px}.shelf-name{font-size:13px}.shelf-price{font-size:16px}.shelf-track{gap:10px;padding-right:14px}}
/* Cards de produto mais limpos */
.product-body>p{display:none}
.product-body h3{margin-bottom:12px}
.product-bottom{margin-top:auto}
.product-bottom strong{font-size:22px}
@media (max-width:640px){.product-bottom strong{font-size:19px}}
/* Depoimentos estilo avaliação */
.testi-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.testi-av{flex:none;width:42px;height:42px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}
.testi-head .testi-who strong{color:#1f1a26}
.testi-card .testi-stars{margin-bottom:10px}
.testi-card{background:#fff;box-shadow:0 8px 24px #2c06470d}
.g-reviews{display:inline-flex;align-items:center;gap:10px;margin:22px auto 0;padding:11px 18px;border-radius:40px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px #2c064712;color:#1f1a26;font-weight:700;font-size:14.5px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.g-reviews:hover{transform:translateY(-2px);box-shadow:0 10px 24px #2c064720}
.g-reviews>.ico{width:16px;height:16px;color:var(--purple)}
.g-reviews .g-st .ico{width:13px;height:13px;color:#f5a400;fill:#f5a400}
.g-reviews .g-logo{display:grid;place-items:center}
.testimonials{text-align:center}
/* Formas de pagamento */
.pay-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.pay-icons{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.pay{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 7px;background:#fff;border-radius:6px;border:1px solid #e6e1ea;color:#1f1a26;font-size:11.5px;font-weight:800}
.pay svg{display:block}
.pay-card .ico{width:15px;height:15px;color:var(--purple)}
.pay-drawer{margin:4px 0 12px;font-size:12.5px;color:var(--muted)}
/* V9.61: vitrine abaixo do catálogo */
#pronta-entrega{margin-top:-30px;margin-bottom:20px;scroll-margin-top:90px}@media (max-width:560px){#pronta-entrega{margin-top:-10px}}
/* V9.63 — celular: nomes completos e "Como funciona" compacto */
@media (max-width:640px){
  .product h3{-webkit-line-clamp:3;font-size:14.5px;line-height:1.28}
  .step-grid{gap:10px;margin-top:24px}
  .step-grid>div{display:grid;grid-template-columns:42px 1fr;column-gap:14px;align-items:start;padding:14px 16px;border-radius:16px}
  .step-ico{width:42px;height:42px;border-radius:12px;grid-row:span 2}
  .step-ico .ico{width:21px;height:21px}
  .step-n{position:static;order:-1;display:none}
  .step-grid h3{font-size:16px;margin:2px 0 3px}
  .step-grid p{font-size:13.5px;line-height:1.45}
}
/* V9.65 — carrinho: continuar comprando + aviso de entrega */
.add-more{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 48px);margin:4px 24px 14px;padding:11px;border:1.5px dashed #d7c3ea;border-radius:12px;background:#fcf9ff;color:var(--purple);font:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}
.add-more:hover{background:#f6efff;border-color:var(--purple)}
.add-more .ico{width:16px;height:16px}
.ship-field select.is-err{border-color:#e11d48;box-shadow:0 0 0 3px #e11d4822}
.ship-err{color:#e11d48;font-size:12.5px;font-weight:700}
@media (max-width:640px){.add-more{width:calc(100% - 32px);margin:4px 16px 12px}}
/* V9.67 — botões de tamanho compactos (medida e "cm" na mesma linha) */
.size-grid,#modalContent .size-grid{display:flex;flex-wrap:wrap;gap:8px}
.size-pill{flex-direction:row;align-items:baseline;gap:4px;min-height:40px;min-width:84px;padding:8px 14px;border-radius:11px;flex:0 0 auto;max-width:100%;text-align:center}
.size-pill b{font-size:15.5px;line-height:1.25}
.size-pill small{font-size:12px}
@media (max-width:640px){.size-grid{gap:7px}.size-pill{min-height:40px;min-width:74px;padding:8px 12px}.size-pill b{font-size:15px}}
/* V9.68 — ritmo das cores de fundo: lilás mais visível + "Como funciona" escuro */
.testimonials{background:#f3ecfa;box-shadow:0 0 0 100vmax #f3ecfa;clip-path:inset(0 -100vmax)}
.about{background:#f3ecfa}
.steps{color:#fff;background:#2a0656;box-shadow:0 0 0 100vmax #2a0656;clip-path:inset(0 -100vmax)}
.steps h2{color:#fff}
.steps h2 em{color:#c9a6ff}
.steps .kicker{color:var(--orange)}
.steps .step-grid>div{background:#ffffff0f;border-color:#ffffff22;backdrop-filter:none}
.steps .step-grid h3{color:#fff}
.steps .step-grid p{color:#dccbee}
.steps .step-ico{background:#ffffff14;color:#c9a6ff;box-shadow:none}
.steps .step-n{color:#ffffff26}
/* V9.70 — menos espaço vazio entre seções brancas seguidas */
.section.gallery{padding-top:36px}
.section.calc{padding-top:56px}
.section.faq{padding-bottom:56px}
@media (max-width:640px){.section.calc{padding-top:32px}.section.gallery{padding-top:20px}.section.faq{padding-bottom:36px}}
/* ===== V9.71 — categorias em "cartões com ícone" + chave Pronta entrega ===== */
.prod-tools{display:flex;align-items:center;justify-content:center;gap:12px;max-width:760px;margin:0 auto 22px;flex-wrap:wrap}
.prod-tools .prod-search{flex:1 1 380px;margin:0;max-width:none}
.ready-toggle{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px 0 14px;border:1.5px solid #e5ddea;border-radius:40px;background:#fff;color:#4b4152;font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.ready-toggle:hover{border-color:var(--orange)}
.ready-toggle>.ico{width:16px;height:16px;color:var(--orange);fill:currentColor;stroke:none}
.rt-switch{position:relative;width:34px;height:20px;border-radius:20px;background:#d9cfe2;flex:none;transition:background .2s}
.rt-switch::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .2s}
.rt-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:12px;background:#fff1e6;color:#c24a00;font-size:12px}
.ready-toggle.on{border-color:var(--orange);background:#fff4ec;color:#c24a00}
.ready-toggle.on .rt-switch{background:var(--orange)}
.ready-toggle.on .rt-switch::after{left:17px}
.ready-toggle.on .rt-count{background:var(--orange);color:#fff}
/* cartões de categoria */
#filters{display:flex;flex-wrap:wrap;justify-content:center!important;gap:10px;overflow:visible;padding:4px 2px 26px}
#filters>button:first-child,#filters>button:last-child{margin:0!important}
#filters button{flex-direction:column;justify-content:flex-start;gap:8px!important;width:112px;min-height:96px;padding:12px 8px 10px!important;border-radius:18px!important;border:1.5px solid #ece4f2!important;background:#fff!important;color:#3d3446!important;font-size:13px!important;font-weight:700;line-height:1.2;white-space:normal!important;text-align:center;box-shadow:0 4px 14px #2c06470a;transition:transform .2s,border-color .2s,box-shadow .2s}
#filters button:hover{border-color:#cdb3e8!important;transform:translateY(-2px);box-shadow:0 10px 22px #2c064714}
#filters .f-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f3eafb;color:var(--purple);font-style:normal;transition:background .2s,color .2s}
#filters .f-ic .fico{width:22px!important;height:22px!important;opacity:1!important}
#filters button.active{border-color:var(--purple)!important;background:#faf6ff!important;color:var(--purple)!important;box-shadow:0 0 0 1px var(--purple),0 10px 22px #5b0ebb1f}
#filters button.active .f-ic{background:var(--purple);color:#fff}
@media (max-width:640px){
  .prod-tools{gap:10px;margin-bottom:16px}
  .prod-tools .prod-search{flex-basis:100%}
  .ready-toggle{height:44px;font-size:14px}
  #filters{flex-wrap:nowrap;justify-content:flex-start!important;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:0 16px;gap:8px;padding:4px 16px 18px;margin:0 -16px;scrollbar-width:none}
  #filters button{flex:0 0 auto;width:88px;min-height:86px;padding:10px 6px 9px!important;font-size:12px!important;scroll-snap-align:start}
  #filters .f-ic{width:38px;height:38px;border-radius:12px}
  #filters .f-ic .fico{width:19px!important;height:19px!important}
}
/* V9.72 — aviso "Mostrando só pronta entrega" */
.ready-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 10px 9px 16px;border:1.5px solid var(--orange);border-radius:40px;background:#fff4ec;color:#c24a00;font:inherit;font-size:14px;font-weight:600;cursor:pointer;flex-basis:auto}
.ready-chip[hidden]{display:none}
.ready-chip>.ico{width:16px;height:16px;fill:currentColor;stroke:none}
.ready-chip b{font-weight:800}
.ready-chip i{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-weight:800;font-size:13px;background:var(--orange);color:#fff;padding:5px 10px;border-radius:30px}
.ready-chip i .ico{width:13px;height:13px}
.ready-chip:hover i{background:#e05400}
@media (max-width:640px){.ready-chip{font-size:13px}}
.ready-chip{flex:0 0 auto;white-space:nowrap}
@media (max-width:640px){.ready-chip .rc-long{display:none}.ready-chip b{text-transform:none}}
/* V9.73 — filtros da galeria: pílulas simples, quebrando linha no computador */
@media (min-width:641px){#galFilters{flex-wrap:wrap;justify-content:center!important;overflow:visible}#galFilters>button{margin:0!important}}
/* V9.75 — entrega em cartões (sem a lista padrão do celular) */
.zone-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;overflow:hidden}
.ship-field{position:relative;display:grid;gap:8px}
.ship-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#3b2a4d}
.ship-title .ico{width:16px;height:16px;color:var(--purple)}
.zone-list{display:grid;gap:7px;border-radius:14px;transition:box-shadow .2s}
.zone-list.is-err{box-shadow:0 0 0 2px #e11d48;padding:4px}
.zone-opt{display:grid;grid-template-columns:18px 30px 1fr auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 14px 8px 12px;border:1.5px solid #e6dcee;border-radius:13px;background:#fff;font:inherit;color:#2c0647;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.zone-opt:hover{border-color:#c9a8e6}
.zo-dot{width:18px;height:18px;border-radius:50%;border:2px solid #cbbcd8;position:relative;transition:border-color .15s}
.zo-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f3eafb;color:var(--purple)}
.zo-ic .ico{width:16px;height:16px}
.zo-name{font-weight:700;font-size:14.5px;line-height:1.25}
.zo-price{font-size:14px;font-weight:800;color:var(--purple);white-space:nowrap}
.zo-price.free{color:#15803d}
.zo-price.tbd{color:#8a7f93;font-weight:700;font-size:13px}
.zone-opt.on{border-color:var(--purple);background:#f7f1ff;box-shadow:0 0 0 1px var(--purple)}
.zone-opt.on .zo-dot{border-color:var(--purple)}
.zone-opt.on .zo-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--purple)}
.zone-opt.on .zo-ic{background:#e9dcfb;color:var(--purple)}
/* V9.76 — carrinho rola inteiro (itens nunca somem) + entrega recolhível */
.drawer{overflow-y:auto;overscroll-behavior:contain}
.drawer-head{position:sticky;top:0;z-index:3;background:#fff}
.cart-items{flex:none;overflow:visible;min-height:auto}
.drawer-foot{flex:none;margin-top:auto}
.zone-pick{display:grid;grid-template-columns:30px 1fr auto 20px;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 12px;border:1.5px solid #e3d9ea;border-radius:13px;background:#fff;font:inherit;color:#8a7f93;font-weight:600;font-size:14.5px;text-align:left;cursor:pointer;transition:border-color .15s}
.zone-pick:hover,.zone-pick.open{border-color:var(--purple)}
.zone-pick.chosen{color:#2c0647;font-weight:700}
.zp-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f3eafb;color:var(--purple)}
.zp-ic .ico{width:16px;height:16px}
.zp-price{font-size:14px;font-weight:800;color:var(--purple);white-space:nowrap}
.zp-price.free{color:#15803d}.zp-price.tbd{color:#8a7f93;font-weight:700;font-size:13px}
.zp-chev{display:grid;place-items:center;color:var(--purple);transition:transform .2s}
.zp-chev .ico{width:18px;height:18px}
.zone-pick.open .zp-chev{transform:rotate(180deg)}
.zone-list[hidden]{display:none}
/* V9.78 — dados do cliente no carrinho */
.cust-box{display:grid;gap:8px;margin:14px 0 6px}
.cust-field{display:grid;gap:4px}
.cust-field[hidden]{display:none}
.cust-field span{font-size:12.5px;font-weight:700;color:#5a4d66}
.cust-field input{height:46px;border:1.5px solid #e3d9ea;border-radius:12px;padding:0 14px;font:inherit;font-size:15px;color:#2c0647;background:#fff;width:100%}
.cust-field input:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px #5b0ebb1f}
.cust-field input.is-err{border-color:#e11d48;box-shadow:0 0 0 3px #e11d4822}
