:root{--red:#c8102e;--gold:#c8860a;--dark:#2d0a10;--muted:#76545b;--cream:#fff8f0;--shadow:0 15px 35px #7a28301a;font-family:Arial,Helvetica,sans-serif;color:var(--dark);background:linear-gradient(155deg,#fff8f0,#fff0f3 60%,#fff5e8)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;line-height:1.5}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
a{color:var(--red)}
.container{width:min(1120px,calc(100% - 2.5rem));margin:auto}
.site-header{background:#ffffffee;position:sticky;top:0;z-index:5;box-shadow:0 2px 15px #2d0a1014}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.nav a{text-decoration:none;font-weight:700}
.brand{font-size:1.25rem;color:var(--dark)}
.logo-topo{display:flex;align-items:center;gap:.8rem;padding:1rem 2rem;background:linear-gradient(135deg,#c8102e,#e74c3c);color:#fff}
.logo-topo-imagem{width:72px;height:72px;border-radius:50%;flex:none}
.logo-texto{display:flex;flex-direction:column;gap:.2rem;width:clamp(115px,18vw,150px)}
.logo-texto img{display:block;width:100%;height:auto}
.logo-social{display:block;width:min(520px,48vw);margin-left:auto;flex:none}
.logo-social img{display:block;width:100%;height:auto}
.nav>div{display:flex;gap:1.4rem}
.nav>div a{color:var(--dark);font-size:.9rem}
.nav a:hover,footer a:hover{color:var(--gold)}
.hero{background:radial-gradient(circle at 80% 25%,#f8cb84 0,transparent 30%),linear-gradient(125deg,#fff0f3,#fff8f0);overflow:hidden}
.hero-inner{min-height:440px;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:2rem;padding:4rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--red)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,'Times New Roman',serif;line-height:1.08}
h1{font-size:clamp(2.8rem,6vw,5rem);margin:.7rem 0 1.3rem}
h2{font-size:clamp(2.1rem,4vw,3.25rem);margin:.3rem 0 1rem}
h1 span,h2 span{color:var(--red)}
h3{font-size:1.3rem;margin-bottom:1.3rem}
.hero p:not(.eyebrow){font-size:1.1rem;max-width:540px;color:var(--muted)}
.button{display:inline-block;border:0;border-radius:2rem;padding:.85rem 1.4rem;font-weight:700;text-decoration:none;cursor:pointer;text-align:center;margin:.2rem .4rem .2rem 0}
.button.primary{background:linear-gradient(120deg,var(--red),var(--gold));color:white;box-shadow:0 8px 20px #c8102e33}
.button.secondary{background:#fff;border:1px solid #c8102e55;color:var(--red)}
.button:hover{filter:brightness(.93)}
.button:disabled{opacity:.6;cursor:wait}
.hero-art{height:320px;position:relative;filter:drop-shadow(0 22px 28px #8a1b3144)}
.scoop{position:absolute;border-radius:50%;left:50%;transform:translateX(-50%);box-shadow:inset -15px -16px 24px #5e193755}
.scoop-one{width:180px;height:145px;top:20px;background:radial-gradient(circle at 35% 30%,#f8759c,#a11256)}
.scoop-two{width:195px;height:145px;top:97px;background:radial-gradient(circle at 35% 30%,#a758be,#48235e)}
.cone{position:absolute;top:202px;left:50%;transform:translateX(-50%);width:175px;height:145px;background:linear-gradient(120deg,#e4aa65,#af6c35);clip-path:polygon(0 0,100% 0,50% 100%)}
.section{padding-top:4rem;padding-bottom:4rem;scroll-margin-top:72px}
.intro{color:var(--muted)}
.two-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:1.5rem;align-items:start}
.panel{background:#fff;border:1px solid #c8102e17;border-radius:1.25rem;padding:1.6rem;box-shadow:0 8px 16px #c8102e33}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
form>label,.form-grid>label{display:block;margin-bottom:1rem;font-weight:700;font-size:.9rem}
input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;border:1px solid #c8102e55;border-radius:.65rem;padding:.7rem .8rem;margin-top:.3rem;color:var(--dark);background:#fff}
textarea{resize:vertical}
fieldset{border:0;border-top:1px solid #e7d6d9;margin:1.5rem 0;padding:1rem 0 0}
legend{font-weight:700;padding-right:.5rem}
legend span{color:var(--red);font-size:.85rem}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.choices label{font-size:.87rem;display:flex;align-items:flex-start;gap:.3rem;cursor:pointer}
.choices input{accent-color:var(--red);margin-top:.22rem;flex:none}
.products,.cart-items,.receipt-items{list-style:none;padding:0;margin:0}
.products li,.cart-items li{display:flex;align-items:center;gap:1rem;border-bottom:1px solid #eee0e3;padding:.85rem 0;box-shadow:0 2px 6px #c8102e22}
.products li:last-child,.cart-items li:last-child{border:0}
.products li span,.cart-items li div{flex:1}
.products button,.remove{border:1px solid #c8102e55;color:var(--red);background:#fff;border-radius:1rem;padding:.3rem .7rem;cursor:pointer}
.products button:hover,.remove:hover{background:#fff0f3}
.cart-section{background:linear-gradient(160deg,#ffeef1,#fff8f0)}
.cart-items small{display:block;color:var(--muted);font-size:.78rem}
.totals{margin:1.5rem 0 0;border-top:2px solid #eee0e3;padding-top:1rem}
.totals div{display:flex;justify-content:space-between;margin:.4rem 0}
.totals dd{margin:0}
.totals .total{font-size:1.2rem;font-weight:800;color:var(--red);padding-top:.6rem;border-top:1px solid #eee0e3}
.hint{color:var(--muted);font-size:.82rem}
#peso-obs{text-align:justify}
.sorvete-price{color:var(--red);font-weight:800;margin-top:-.8rem}
.product-heading{margin-top:1.5rem}
.footer-social{font-weight:700}
.footer-credit{font-size:.85rem;opacity:.85;margin-bottom:0}
.error{color:#a00020;font-weight:700;min-height:1.3em}
.checkout-layout{grid-template-columns:1.25fr 1fr}
.help-panel{background:#2d0a10;color:white}
.help-panel a{color:#ffcf79}
.help-panel .hint{color:#e5cbd0}
.result{margin-top:1.5rem;border-color:#72ab81}
.photo-section{text-align:center;padding:2.5rem 0 3rem;background:#fff8f0}
.photo-section h2{font-size:clamp(1.5rem,3vw,2rem)}
.photo-frames{position:relative;width:min(260px,100%);aspect-ratio:4/5;margin:auto;border-radius:1rem;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.photo-frames img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;animation:mostrar-quadro 24s linear infinite}
.photo-frames img:nth-child(2){animation-delay:4s}
.photo-frames img:nth-child(3){animation-delay:8s}
.photo-frames img:nth-child(4){animation-delay:12s}
.photo-frames img:nth-child(5){animation-delay:16s}
.photo-frames img:nth-child(6){animation-delay:20s}
.photo-frames:hover img,.photo-frames:focus img{animation-play-state:paused}
.photo-frames:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@keyframes mostrar-quadro{0%,14%{opacity:1}18%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.photo-frames{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.photo-frames img{position:static;flex:0 0 100%;animation:none;opacity:1;scroll-snap-align:start}}
footer{background:#2d0a10;color:#fff;padding:1.5rem 0}
footer a{color:#ffcf79}
[hidden]{display:none!important}
.receipt-page{background:#eee;min-height:100vh;padding:2rem 1rem;color:#111}
.receipt{background:white;width:min(100%,340px);margin:auto;padding:1.25rem;box-shadow:0 8px 25px #0002;font:13px/1.35 'Courier New',monospace;overflow-wrap:anywhere}
.receipt h1,.receipt h2{font:700 20px/1.2 'Courier New',monospace;text-align:center;margin:0 0 .5rem}
.receipt h2{font-size:16px;border-block:1px dashed #111;padding:.5rem 0;margin:1rem 0}
.receipt p{margin:.45rem 0}
.receipt-items{border-block:1px dashed #111;margin:1rem 0;padding:.5rem 0}
.receipt-items li{padding:.3rem 0}
.receipt-items small{display:block}
.receipt-total{font-size:16px;font-weight:700;border-top:1px dashed #111;padding-top:.5rem}
.receipt-actions{text-align:center;margin:1rem auto}
@media(max-width:720px){.logo-topo{flex-wrap:wrap;padding:.75rem 1rem}.logo-social{width:260px;max-width:100%}.nav{flex-wrap:wrap;padding:.65rem 0}.nav>div{gap:.8rem}.hero-inner,.two-columns,.checkout-layout{grid-template-columns:1fr}.hero-art{display:none}.choices{grid-template-columns:1fr}.products li,.cart-items li{flex-wrap:wrap}.section{padding-top:3rem;padding-bottom:3rem}}
@media print{@page{margin:3mm}.receipt-page{background:white;padding:0}.receipt{width:74mm;padding:0;box-shadow:none;margin:0}.receipt-actions{display:none}.receipt *{color:#000!important}}
