/* Páginas de produto, institucionais e checkout (mobile first, mesmo visual da loja) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{margin:0 auto;max-width:500px;font-family:Overpass,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;color:#202020;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer}
h1,h2,h3{font-family:Poppins,Helvetica,sans-serif;line-height:1.25}
.s-head{position:sticky;top:0;z-index:50;background:#fff;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 14px;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.s-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#000}
.s-logo .fr-mark{height:22px;width:auto}
.s-logo span{font-weight:900;letter-spacing:.18em;font-size:15px}
.s-bag{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.s-bag svg{width:23px;height:23px;fill:none;stroke:#202020;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.s-badge{position:absolute;top:-3px;right:-5px;background:#cc0000;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.s-badge[hidden]{display:none}
.s-strip{background:#000;color:#fff;text-align:center;font-size:12px;font-weight:600;letter-spacing:.03em;padding:7px 10px}
.s-crumb{font-size:12px;color:#767676;padding:12px 14px 4px;display:flex;flex-wrap:wrap;gap:6px}
.s-crumb a{text-decoration:none;color:#767676}
.s-btn{display:block;width:100%;background:#000;color:#fff;border:0;border-radius:6px;padding:15px;font-size:15px;font-weight:700;letter-spacing:.04em;text-align:center;text-decoration:none}
.s-btn:disabled{opacity:.55;cursor:default}
.s-btn-out{background:#fff;color:#000;border:1.5px solid #000;margin-top:10px}
.s-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:#111;color:#fff;font-size:13px;padding:11px 16px;border-radius:8px;opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:92%;text-align:center}
.s-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.s-muted{color:#767676;font-size:13px}
.s-list{padding-left:20px;margin:8px 0 14px}
.s-list li{margin:6px 0}
/* páginas institucionais */
.s-page{padding:4px 16px 34px}
.s-page h1{font-size:24px;margin:8px 0 14px}
.s-page h2{font-size:17px;margin:22px 0 8px}
.s-page p{margin:8px 0}
.s-faq{border-bottom:1px solid #e6e6e6;padding:14px 0}
.s-faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}
.s-faq summary::after{content:'+';font-size:20px;line-height:1}
.s-faq[open] summary::after{content:'−'}
.s-faq div{margin-top:8px;color:#444}
/* rodapé */
.s-foot{background:#000;color:#bbb;padding:24px 16px 36px;margin-top:24px}
.s-foot-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;font-size:13px;margin-bottom:20px}
.s-foot-links a{text-decoration:none;color:#ddd}
.s-foot-brand{display:flex;align-items:center;gap:9px;color:#fff;margin-bottom:10px}
.s-foot-brand .fr-mark{height:22px;width:auto}
.s-foot-brand span{font-weight:900;letter-spacing:.18em}
.s-foot-pay{font-size:12px;margin-bottom:8px}
.s-foot-legal{font-size:11px;color:#8a8a8a;line-height:1.6}
/* produto */
.pd-gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:#f7f7f7}
.pd-gal::-webkit-scrollbar{display:none}
.pd-gal img{flex:0 0 100%;width:100%;aspect-ratio:1/1;object-fit:contain;scroll-snap-align:center;background:#fff}
.pd-dots{display:flex;justify-content:center;gap:6px;padding:10px 0 0}
.pd-dots span{width:7px;height:7px;border-radius:50%;background:#d0d0d0}
.pd-dots span.on{background:#000}
.pd-info{padding:14px 16px 6px}
.pd-brand{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#555}
.pd-name{font-size:20px;margin:4px 0 10px}
.pd-price{font-size:24px;font-weight:800;display:flex;align-items:baseline;gap:10px}
.pd-price s{font-size:15px;color:#888;font-weight:400}
.pd-pix{font-size:13px;color:#1a7f37;font-weight:600;margin:2px 0 14px}
.pd-label{font-size:13px;font-weight:700;margin-bottom:8px}
.pd-tons{margin:6px 0 16px;padding:2px;border-radius:8px;transition:background .2s}
.pd-tons.erro{background:#fff1f1;box-shadow:0 0 0 2px #cc0000}
.pd-chips{display:flex;flex-wrap:wrap;gap:8px}
.pd-chip{border:1.5px solid #cfcfcf;background:#fff;border-radius:20px;padding:8px 13px;font-size:13px;color:#202020}
.pd-chip[aria-checked=true]{border-color:#000;background:#000;color:#fff}
.pd-chip:disabled{color:#aaa;border-style:dashed;cursor:not-allowed}
.pd-qty{display:flex;align-items:center;justify-content:space-between;margin:4px 0 16px}
.pd-qty .pd-label{margin:0}
.pd-qty-box{display:flex;align-items:center;border:1.5px solid #cfcfcf;border-radius:6px}
.pd-qty-box button{width:40px;height:38px;border:0;background:none;font-size:20px}
.pd-qty-box span{min-width:30px;text-align:center;font-weight:700}
.pd-off{background:#f2f2f2;color:#666;text-align:center;padding:15px;border-radius:6px;font-weight:700}
.pd-perks{list-style:none;margin:18px 0 6px;border-top:1px solid #eee;padding-top:12px;font-size:13px;color:#444}
.pd-perks li{padding:5px 0 5px 22px;position:relative}
.pd-perks li::before{content:'✓';position:absolute;left:2px;color:#1a7f37;font-weight:700}
.pd-desc,.pd-det,.pd-rel{padding:16px;border-top:8px solid #f5f5f5}
.pd-desc h2,.pd-det h2,.pd-rel h2{font-size:16px;margin-bottom:10px}
.pd-desc h3{font-size:14px;margin:14px 0 6px}
.pd-desc p{margin:8px 0;color:#333}
.pd-desc ul{padding-left:18px;color:#333}
.pd-desc li{margin:5px 0}
.pd-det dl{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:14px}
.pd-det dt{color:#767676}
.pd-rel-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.pd-rel-row::-webkit-scrollbar{display:none}
.pd-card{flex:0 0 150px;text-decoration:none}
.pd-card img{width:150px;height:150px;object-fit:contain;background:#f7f7f7;border-radius:6px}
.pd-card-n{display:block;font-size:13px;margin-top:6px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pd-card-p{display:block;font-weight:800;font-size:14px;margin-top:3px}
.pd-sticky{position:fixed;left:50%;bottom:0;width:100%;max-width:500px;transform:translate(-50%,110%);background:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.1);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;transition:transform .25s;z-index:60}
.pd-sticky.on{transform:translate(-50%,0)}
.pd-sticky span{font-weight:800;font-size:17px;white-space:nowrap}
.pd-sticky .s-btn{padding:13px}
