:root{--terra:#C1603D;--terra-d:#A14B2D;--areia:#EDE0CC;--creme:#FAF6EC;--carvao:#211A17;--linha:#E6DCCB}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip}
body{font-family:'Lato',sans-serif;background:#fff;color:var(--carvao);line-height:1.5}
.wrap{max-width:460px;margin:0 auto;background:#fff;min-height:100vh}

/* topo fixo: a logo fica parada e o resto da página desce por baixo */
.topo{position:sticky;top:0;z-index:50;padding:8px 14px;text-align:center;
  background:radial-gradient(ellipse at center,#FFFCF6 0%,#F3E8D6 60%,#EDE0CC 100%)}
.topo img{height:120px;max-width:100%;filter:drop-shadow(0 3px 5px rgba(33,26,23,.25))}
.topo.volta{display:flex;align-items:center;gap:12px;text-align:left}
.topo.volta a{color:var(--carvao);text-decoration:none;font-size:20px}
.topo.volta img{height:70px}
@media (max-width:600px){
  .topo img{height:96px}
  .topo.volta img{height:62px}
}

.capa{width:100%;display:block;max-height:340px;object-fit:cover}
.sec{padding:22px 16px}
.sec.creme{background:var(--creme)}
.tag{font-size:11px;letter-spacing:2px;color:var(--terra);font-weight:700;text-transform:uppercase}
h1,h2{font-family:'Playfair Display',serif;font-weight:700}
h1{font-size:24px;margin:6px 0}
h2{font-size:19px;margin-bottom:10px}
.preco{font-size:24px;font-weight:700;color:var(--terra-d)}
.preco small{font-size:14px;font-weight:400;color:#6b5d54}
.sub{color:#6b5d54;font-size:14px}
.dest{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.dest div{background:var(--creme);border-radius:10px;padding:12px 6px;font-size:13px;line-height:1.3}
.dest i{display:block;font-size:22px;color:var(--terra);margin-bottom:6px}
.ingr{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ingr div{background:var(--creme);border-radius:8px;padding:10px;font-size:14px}
.sec.creme .ingr div{background:#fff}
.passo{display:flex;gap:12px;margin-bottom:12px;font-size:15px}
.passo .n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.fecho{font-family:'Playfair Display',serif;color:var(--terra-d);text-align:center;font-size:16px;margin-top:6px}
.info div{margin-bottom:8px;font-size:15px}
.info i{color:var(--terra);margin-right:8px;width:18px;text-align:center}
.estoque{background:#FBE9DF;color:var(--terra-d);border-radius:8px;padding:10px 12px;font-size:14px;display:flex;justify-content:space-between}
.btn{display:block;width:100%;background:var(--terra);color:#fff;border:0;border-radius:10px;padding:16px;font-size:16px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--terra-d)}
.btn.off{background:#bbb;pointer-events:none}
.wpp{display:block;text-align:center;margin-top:10px;background:#25D366;color:#fff;border-radius:10px;padding:13px;font-weight:700;text-decoration:none;font-size:15px}
.wpp i{margin-right:6px}

/* rodapé: só direitos autorais */
.rodape{background:var(--areia);color:#6b5d54;text-align:center;padding:18px 16px;font-size:12px}
.rodape p{margin:0}

/* página de pedido e obrigado */
.resumo{display:flex;gap:12px;align-items:center;background:var(--creme);border-radius:12px;padding:12px;margin-bottom:10px}
.resumo img{width:60px;height:60px;border-radius:8px;object-fit:cover}
.cartao{border:1px solid var(--linha);border-radius:12px;padding:14px;margin:0 16px 14px}
.cartao h3{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:12px}
.cartao h3 span{width:22px;height:22px;border-radius:50%;background:var(--terra);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center}
input[type=text],input[type=email],select{width:100%;height:44px;border:1px solid #D9CDB8;border-radius:8px;padding:0 12px;font-size:15px;background:#fff;color:var(--carvao);font-family:inherit;margin-bottom:8px}
input[type=text]:focus,input[type=email]:focus,select:focus{outline:0;border-color:var(--terra);box-shadow:0 0 0 3px rgba(193,96,61,.15)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g21{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.escolhas label{display:block;margin-bottom:8px;cursor:pointer}
.escolhas input{position:absolute;opacity:0;pointer-events:none}
.escolhas span{display:block;border:1px solid #D9CDB8;border-radius:8px;padding:11px 12px;font-size:14px;background:#fff;text-align:center}
.escolhas.lista span{text-align:left}
.escolhas input:checked+span{background:var(--terra);color:#fff;border-color:var(--terra)}
.escolhas.dois{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.escolhas.dois label{margin:0}
.rotulo{font-size:13px;font-weight:700;margin:6px 0 8px}
.aviso{background:#FBEFD9;color:#7a4a12;border-radius:8px;padding:10px;font-size:13px}
.qtd{display:flex;align-items:center;justify-content:space-between}
.qtd div{display:flex;align-items:center;gap:14px}
.qtd button{width:40px;height:40px;border-radius:8px;border:1px solid #D9CDB8;background:#fff;font-size:20px;cursor:pointer;color:var(--carvao)}
.erro{color:#A32D2D;font-size:13px;margin:-4px 0 8px}
.total{background:var(--creme);border-radius:12px;padding:14px;margin:0 16px 24px}
.total .l{display:flex;justify-content:space-between;font-size:14px;color:#6b5d54;margin-bottom:4px}
.total .t{display:flex;justify-content:space-between;font-size:18px;border-top:1px solid var(--linha);padding-top:8px;margin:8px 0 12px;font-weight:700}
.seguro{text-align:center;font-size:12px;color:#6b5d54;margin-top:8px}
.ok{text-align:center;padding:36px 20px}
.ok .ico{width:56px;height:56px;border-radius:50%;background:#EAF3DE;color:#3B6D11;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:28px}
.ok .ico.espera{background:#FBEFD9;color:#854F0B}
.box{background:var(--creme);border-radius:10px;padding:14px;text-align:left;margin-top:16px;font-size:15px;line-height:1.8}
.gratis{background:var(--terra);color:#fff;text-align:center;padding:20px 16px}
.gratis b{display:block;font-family:'Playfair Display',serif;font-size:28px;line-height:1.2;margin-bottom:6px}
.gratis span{font-size:17px;line-height:1.4}
.entrega{display:grid;gap:10px}
.entrega .bl{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:14px;font-size:15px;line-height:1.55}
.entrega .bl h3{font-size:16px;margin-bottom:6px;color:var(--terra-d);display:flex;align-items:center;gap:8px}
.foto-cong{text-align:center}
.foto-cong img{width:40%;max-width:150px;height:auto;display:inline-block;filter:drop-shadow(0 4px 8px rgba(33,26,23,.22))}

/* ajustes para celular (iPhone e Android) */
html{-webkit-text-size-adjust:100%}
.wrap{min-height:100vh;min-height:100dvh}
input[type=tel]{width:100%;height:44px;border:1px solid #D9CDB8;border-radius:8px;padding:0 12px;background:#fff;color:var(--carvao);font-family:inherit;margin-bottom:8px}
input[type=tel]:focus{outline:0;border-color:var(--terra);box-shadow:0 0 0 3px rgba(193,96,61,.15)}
input[type=text],input[type=email],input[type=tel],select,textarea{font-size:16px}
.escolhas label{position:relative}
.escolhas span{min-height:46px;display:flex;align-items:center;justify-content:center}
.escolhas.lista span{justify-content:flex-start}
.qtd button{width:48px;height:48px}
.btn,.wpp,.qtd button,.escolhas label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.total{padding-bottom:calc(14px + env(safe-area-inset-bottom))}

/* ===== ABERTURA DA PÁGINA DAS LASANHAS ===== */
.abre{position:relative;min-height:560px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;
 padding:calc(14px + env(safe-area-inset-top)) 20px calc(64px + env(safe-area-inset-bottom));
 background:radial-gradient(ellipse 90% 50% at 50% 38%,#FFD9B5 0,transparent 70%),radial-gradient(circle at 10% 0,#FFE6CB 0,transparent 45%),radial-gradient(circle at 100% 100%,#FFC59A 0,transparent 50%),linear-gradient(180deg,#FFEEDC,#FAF6EC)}
.abre-logo{height:92px;width:auto;position:relative;z-index:3;filter:drop-shadow(0 3px 6px rgba(161,75,45,.25))}
.abre-lema{position:relative;z-index:3;white-space:nowrap;display:flex;align-items:center;gap:10px;margin-top:4px;font-size:10.5px;letter-spacing:1.6px;font-weight:700;color:var(--terra-d);text-transform:uppercase}
.abre-lema::before,.abre-lema::after{content:"";width:22px;height:1px;background:var(--terra);opacity:.55}
.abre-cena{position:relative;width:100%;flex:0 0 auto;margin-top:7svh;display:flex;align-items:center;justify-content:center;perspective:900px}
.abre-sombra{position:absolute;width:70%;height:14%;bottom:6%;left:15%;border-radius:50%;background:radial-gradient(ellipse,rgba(161,75,45,.28),transparent 68%);filter:blur(6px)}
.abre-pack{position:relative;width:104%;flex:none;will-change:transform;transform:translate3d(0,var(--sy,0px),0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));transition:transform .12s linear}
.abre-pack img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 20px rgba(120,50,20,.4));animation:abreFlutua 5.5s ease-in-out infinite}
@keyframes abreFlutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.abre-vapor{position:absolute;left:0;right:0;top:-6%;height:60%;pointer-events:none;z-index:2}
.abre-vapor i{position:absolute;bottom:18%;width:90px;height:130px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.95),rgba(255,255,255,0) 70%);filter:blur(10px);opacity:0;animation:abreSobe 5.5s ease-out infinite}
@keyframes abreSobe{0%{transform:translate(0,30px) scale(.6);opacity:0}25%{opacity:.85}100%{transform:translate(var(--x),-170px) scale(1.6);opacity:0}}
.abre-txt{margin-top:3svh;position:relative;z-index:3;transform:translateY(var(--ty,0px));opacity:var(--op,1)}
.abre-sel{display:inline-block;font-size:11px;letter-spacing:2.4px;font-weight:700;color:var(--terra-d);background:rgba(255,255,255,.7);padding:6px 14px;border-radius:20px}
.abre h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,10vw,42px);line-height:1.08;margin:10px 0 8px}
.abre h1 em{font-style:italic;color:var(--terra)}
.abre-sub{font-size:16px;color:#6b5d54;max-width:320px;margin:0 auto 14px}
.abre-cta{display:block;max-width:320px;margin:0 auto;position:relative;overflow:hidden;background:linear-gradient(180deg,#E8794A,#C1603D);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.5px;padding:18px;border-radius:14px;box-shadow:0 6px 0 #8F3F20,0 14px 22px rgba(193,96,61,.35);-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .08s,box-shadow .08s}
.abre-cta:active{transform:translateY(5px);box-shadow:0 1px 0 #8F3F20,0 4px 8px rgba(193,96,61,.3)}
.abre-cta::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:abrePassa 3.6s 1.2s infinite}
@keyframes abrePassa{0%,60%{transform:translateX(-130%) skewX(-20deg)}100%{transform:translateX(260%) skewX(-20deg)}}
.abre-frete{margin-top:16px;font-size:13.5px;font-weight:700;color:var(--terra-d)}
.abre-onda{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:26px;z-index:4}
.abre-entra{animation:abreEnt .9s both cubic-bezier(.2,.8,.2,1)}
@keyframes abreEnt{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.abre .d1{animation-delay:.15s}.abre .d2{animation-delay:.35s}
@media (prefers-reduced-motion:reduce){.abre *,.abre *::after{animation:none!important;transition:none!important}}

/* ===== CARTÃO DO PRODUTO (página de pedido) ===== */
.voltar{display:inline-flex;align-items:center;gap:8px;margin:14px 16px 0;color:var(--carvao);text-decoration:none;font-size:14px;font-weight:700}
.prod{display:flex;align-items:center;gap:14px;margin:12px 16px 14px;padding:14px;border-radius:18px;
 background:radial-gradient(circle at 25% 20%,#FFEBD6,#FAF6EC 70%);border:1px solid var(--linha);box-shadow:0 8px 22px rgba(161,75,45,.10)}
.prod-foto{flex:0 0 42%;max-width:170px}
.prod-foto img{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 8px rgba(120,50,20,.3))}
.prod-info{flex:1;min-width:0}
.prod-nome{font-family:'Playfair Display',serif;font-weight:700;font-size:17px;line-height:1.2}
.prod-preco{color:var(--terra-d);font-weight:700;font-size:15px;margin-top:4px}
.prod-preco small{color:#6b5d54;font-weight:400}
.prod-meta{font-size:12.5px;color:#6b5d54;margin-top:2px}
.prod-qtd{display:flex;align-items:center;justify-content:space-between;margin-top:12px;background:#fff;border:1px solid #D9CDB8;border-radius:12px;padding:4px}
.prod-qtd button{width:44px;height:44px;border:0;border-radius:9px;background:var(--terra);color:#fff;font-size:22px;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:inherit;line-height:1}
.prod-qtd button:active{background:var(--terra-d)}
.prod-qtd b{font-size:20px;min-width:36px;text-align:center}
.prod-rest{margin:-6px 16px 14px;font-size:12.5px;color:var(--terra-d);font-weight:700;text-align:center}