/* Colo de Mãe · identidade do cardápio: roxo, vermelho e creme */
:root{
  --plum:#3b1a41; --plum-2:#24102a; --plum-3:#4c2353;
  --red:#c8232f; --red-2:#a81b26;
  --cream:#fff8ef; --cream-2:#f6ecdf;
  --gold:#f4c24d; --lilac:#ece4f5; --ink:#2b1630; --muted:#7a6680;
  --zap:#1fa855; --zap-2:#178a45;
  --radius:22px;
  --shadow:0 14px 40px rgba(36,16,42,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font-family:'Quicksand',system-ui,sans-serif;font-weight:500;color:var(--ink);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.script{font-family:'Kaushan Script',cursive;font-weight:400;letter-spacing:.2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.center{text-align:center}
.muted{color:var(--muted)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;transition:transform .15s ease,background .15s ease;border:2px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-zap{background:var(--zap);color:#fff;box-shadow:0 10px 24px rgba(31,168,85,.3)}
.btn-zap:hover{background:var(--zap-2)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-sm{min-height:40px;padding:8px 18px;font-size:.95rem}
.btn-lg{min-height:58px;padding:14px 38px;font-size:1.1rem}
.ico{width:20px;height:20px;fill:currentColor;flex:none}

/* Topo */
.topbar{position:sticky;top:0;z-index:20;background:rgba(36,16,42,.94);backdrop-filter:blur(8px);color:#fff}
.topbar-in{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand img{width:40px;height:auto}
.brand span{font-family:'Kaushan Script',cursive;font-size:1.5rem}
.nav{display:flex;gap:22px}
.nav a{text-decoration:none;font-weight:600;opacity:.88}
.nav a:hover{opacity:1;color:var(--gold)}
@media (max-width:760px){ .nav{display:none} .topbar .btn-sm span{display:none} .topbar .btn-sm{padding:8px 12px} }

/* Abertura */
.hero{position:relative;color:#fff;overflow:hidden;
  background:radial-gradient(ellipse at 20% 20%,var(--plum-3) 0%,var(--plum) 45%,var(--plum-2) 100%)}
.lights{height:56px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='56' viewBox='0 0 180 56'%3E%3Cpath d='M0 8 Q45 30 90 8 T180 8' stroke='%23140816' stroke-width='2' fill='none'/%3E%3Crect x='40' y='16' width='10' height='7' rx='2' fill='%23140816'/%3E%3Cellipse cx='45' cy='33' rx='7' ry='10' fill='%23e5383b'/%3E%3Crect x='130' y='4' width='10' height='7' rx='2' fill='%23140816'/%3E%3Cellipse cx='135' cy='21' rx='7' ry='10' fill='%23f4c24d'/%3E%3C/svg%3E") repeat-x;opacity:.95}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:28px 0 72px}
.kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:2.5px;font-size:.82rem;font-weight:700;color:var(--gold)}
.kicker-red{color:var(--red)}
.hero h1{margin:0;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.05}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:34ch;margin:18px 0 30px;opacity:.92}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-photo{position:relative;margin:0;justify-self:center;width:min(420px,100%)}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 92%;border-radius:28px;border:8px solid var(--cream);box-shadow:0 30px 70px rgba(0,0,0,.45);transform:rotate(2deg)}
.sticker{position:absolute;left:-18px;bottom:28px;background:var(--red);color:#fff;font-weight:700;padding:12px 20px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.35);transform:rotate(-4deg)}
@media (max-width:860px){
  .hero-in{grid-template-columns:1fr;gap:36px;padding:16px 0 56px;text-align:center}
  .lead{margin-inline:auto}
  .cta{justify-content:center}
  .hero-photo{width:min(340px,86%)}
  .sticker{left:50%;transform:translateX(-50%) rotate(-4deg);bottom:-18px;white-space:nowrap}
}

/* Seções */
.sec{padding:80px 0}
.sec-cream{background:var(--cream)}
.sec-plum{background:var(--plum);color:#fff}
.sec-head{text-align:center;margin-bottom:36px}
.sec-head-2{margin-top:72px}
.sec-head h2{margin:0;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.1;color:var(--plum)}
.sec-plum .sec-head h2{color:#fff}
.sec-sub{margin:12px auto 0;max-width:56ch;font-size:1.08rem;color:var(--muted)}
.sec-plum .sec-sub{color:rgba(255,255,255,.8)}
.pill{display:inline-block;margin:6px 0 0 6px;background:var(--red);color:#fff;font-weight:700;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.h3{font-size:1.35rem;color:var(--plum);margin:44px 0 14px}

/* Tabela de preços */
.table-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 28px 18px;max-width:820px;margin-inline:auto}
.prices{width:100%;border-collapse:collapse}
.prices th,.prices td{padding:16px 8px;text-align:right;border-bottom:1.5px solid #eee3f1}
.prices thead th{white-space:nowrap;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700}
.prices thead th:first-child,.prices tbody th{text-align:left}
.prices tbody th{font-size:1.08rem;color:var(--plum)}
.prices tbody th small{display:block;font-weight:500;font-size:.85rem;color:var(--muted)}
.prices td{font-weight:700;font-size:1.12rem;color:var(--red);white-space:nowrap}
.prices tr.hl th::after{content:"★";color:var(--gold);margin-left:6px}
.prices tbody tr:last-child th,.prices tbody tr:last-child td{border-bottom:0}
.note{margin:6px 0 0;font-size:.85rem;color:var(--muted)}
@media (max-width:560px){ .table-card{padding:6px 14px 14px} .prices th,.prices td{padding:13px 4px} .prices td{font-size:1rem} .prices tbody th{font-size:.98rem} }

.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{background:var(--lilac);color:var(--plum);border-radius:999px;padding:8px 18px;font-weight:600}
.chips li.new{background:#fde3e5;color:var(--red)}
.chips li.new b{font-size:.75rem;letter-spacing:1px;margin-left:4px}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.ph{margin:0}
.ph img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 35%;border-radius:18px;box-shadow:var(--shadow)}
.ph figcaption{text-align:center;font-weight:700;margin-top:10px;color:var(--plum)}
@media (max-width:860px){ .grid4{grid-template-columns:repeat(2,1fr)} }

.gift{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:center;margin-top:56px;background:var(--plum);color:#fff;border-radius:28px;padding:28px 36px 28px 28px;box-shadow:var(--shadow)}
.gift img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px}
.gift h3{margin:0 0 8px;font-size:2.1rem;line-height:1.1}
.gift p{margin:0 0 22px;opacity:.9;max-width:52ch}
@media (max-width:760px){ .gift{grid-template-columns:1fr;text-align:center;padding:22px} .gift img{max-width:240px;margin-inline:auto} }

.menu2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.menu2 .h3{margin-top:0}
.menu-list{list-style:none;margin:0;padding:0}
.menu-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1.5px dashed #e3d6ea}
.menu-list span{font-weight:700;color:var(--plum)}
.menu-list small{display:block;font-weight:500;color:var(--muted);font-size:.85rem}
.menu-list b{color:var(--red);text-align:right;white-space:nowrap}
.menu-list i{color:var(--muted);white-space:nowrap}
.mini3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.mini3 img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px}
.wide-photo{margin:40px 0 0}
.wide-photo img{width:100%;max-height:420px;object-fit:cover;object-position:center 55%;border-radius:var(--radius);box-shadow:var(--shadow)}
@media (max-width:760px){ .menu2{grid-template-columns:1fr;gap:28px} }

/* Da semana */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.card{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:24px 22px;display:flex;flex-direction:column}
.card h3{margin:0 0 8px;font-size:1.2rem;color:#fff}
.card p{margin:0 0 18px;opacity:.82;flex:1}
.price{align-self:flex-start;background:var(--red);color:#fff;font-weight:700;padding:6px 14px;border-radius:999px}
.price-ask{background:transparent;border:1.5px solid var(--gold);color:var(--gold)}

/* Como encomendar */
.steps{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps li{background:#fff;border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow);text-align:center}
.steps .n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;font-weight:700;font-size:1.2rem}
.steps h3{margin:12px 0 6px;color:var(--plum)}
.steps p{margin:0;color:var(--muted)}
.steps a{color:var(--zap-2);font-weight:700}
@media (max-width:760px){ .steps{grid-template-columns:1fr} }

/* Rodapé */
.footer{background:var(--plum-2);color:#fff;padding:44px 0 90px}
.footer-in{display:flex;align-items:center;gap:22px;justify-content:center}
.footer p{margin:2px 0}
.f-name{font-size:1.8rem}
.footer a{color:var(--gold);font-weight:700}
.copy{text-align:center;opacity:.6;font-size:.85rem;margin-top:26px!important}

/* Botão flutuante do WhatsApp */
.float-zap{position:fixed;right:18px;bottom:18px;z-index:30;width:60px;height:60px;border-radius:50%;background:var(--zap);display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.3);transition:transform .15s}
.float-zap:hover{transform:scale(1.07)}
.float-zap svg{width:32px;height:32px;fill:#fff}

[hidden]{display:none!important}

/* Botões de adicionar */
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(200,35,47,.28);cursor:pointer;font-family:inherit}
.btn-red:hover{background:var(--red-2)}
.add{font-family:inherit;font-weight:700;cursor:pointer;border:0;border-radius:999px;background:#fff;color:var(--plum);padding:8px 16px;font-size:.95rem;transition:transform .12s,background .12s}
.add:hover{transform:scale(1.05);background:var(--gold)}
.add:active{transform:scale(.95)}
.add-sm{flex:none;width:36px;height:36px;padding:0;font-size:1.3rem;line-height:1;background:var(--red);color:#fff;align-self:center}
.add-sm:hover{background:var(--red-2)}
.menu-list li{align-items:center}
.menu-list b,.menu-list i{margin-left:auto}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.card-foot .price{align-self:auto}
.price small{font-weight:600;opacity:.85}
.tip{margin:22px 0 0;text-align:center;color:rgba(255,255,255,.75);font-size:.95rem}

/* Monte seu panetone */
.builder{margin-top:44px;background:#fff;border-radius:28px;padding:28px 30px;box-shadow:var(--shadow);border:2px solid var(--lilac)}
.builder h3{margin:0 0 16px;font-size:2rem;color:var(--plum)}
.builder-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.builder label,.cart-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.9rem;color:var(--plum)}
.builder select,.builder input,.cart-form input,.cart-form textarea{font:inherit;font-weight:600;color:var(--ink);background:var(--cream);border:1.5px solid #e1d3e8;border-radius:12px;padding:11px 12px;min-height:46px;width:100%}
.builder select:focus,.builder input:focus,.cart-form input:focus,.cart-form textarea:focus{outline:3px solid rgba(200,35,47,.25);border-color:var(--red)}
.builder-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
.builder-price{margin:0;font-size:1.1rem}
.builder-price b{color:var(--red);font-size:1.35rem}
@media (max-width:960px){ .builder-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .builder{padding:22px 18px} .builder-grid{grid-template-columns:1fr} .builder-foot .btn{width:100%} }

/* Barra do carrinho */
.cart-bar{position:fixed;left:18px;bottom:18px;z-index:31;display:flex;align-items:center;gap:12px;white-space:nowrap;min-height:60px;padding:10px 22px;border:0;border-radius:999px;background:var(--red);color:#fff;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.32);animation:pop .25s ease}
.cart-bar b{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:13px;background:#fff;color:var(--red);font-size:.85rem;margin-left:4px;padding:0 6px}
.cart-total{opacity:.95;border-left:1.5px solid rgba(255,255,255,.4);padding-left:12px}
.cart-ico{font-size:1.25rem}
@media (max-width:560px){ .cart-bar{right:92px;left:16px;justify-content:center;padding:10px 14px;gap:8px;font-size:.95rem} }
@keyframes pop{from{transform:scale(.85)}to{transform:scale(1)}}

.toast{position:fixed;left:50%;top:78px;z-index:40;transform:translate(-50%,-20px);opacity:0;pointer-events:none;background:var(--plum-2);color:#fff;font-weight:700;padding:12px 22px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);text-align:center;font-size:.95rem;line-height:1.35}
@media (max-width:560px){ .toast{border-radius:18px;padding:10px 18px} }
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Carrinho (janela) */
.cart{border:0;padding:0;width:min(480px,100%);max-height:min(92vh,900px);border-radius:28px;background:var(--cream);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.cart::backdrop{background:rgba(36,16,42,.6)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 8px;position:sticky;top:0;background:var(--cream);z-index:1}
.cart-head h2{margin:0;font-size:2rem;color:var(--plum)}
.x{border:0;background:var(--lilac);color:var(--plum);width:40px;height:40px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer}
.cart-body{padding:0 24px 24px}
.cart-list{list-style:none;margin:0;padding:0}
.cart-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1.5px dashed #e3d6ea}
.ci-info{display:flex;flex-direction:column}
.ci-info b{color:var(--plum)}
.ci-info small{color:var(--muted);font-weight:600}
.ci-price{color:var(--red);font-weight:700;margin-top:2px}
.ci-qty{display:flex;align-items:center;gap:10px;flex:none}
.ci-qty button{width:34px;height:34px;border-radius:50%;border:1.5px solid #e1d3e8;background:#fff;color:var(--plum);font-size:1.2rem;font-weight:700;cursor:pointer;line-height:1}
.ci-qty span{min-width:20px;text-align:center;font-weight:700}
.cart-empty{color:var(--muted);text-align:center;padding:26px 0}
.cart-sum{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:16px 0 6px;font-size:1.15rem;font-weight:700;color:var(--plum)}
.cart-sum b{color:var(--red);font-size:1.4rem}
.cart-sum small{grid-column:1/-1;text-align:right;color:var(--muted);font-weight:600;font-size:.85rem}
.cart-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.cart-form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.cart-form legend{font-weight:700;font-size:.9rem;color:var(--plum);margin-bottom:6px;padding:0}
.cart-form .radio{flex-direction:row;align-items:center;gap:8px;font-weight:600;color:var(--ink);font-size:1rem}
.cart-form .radio input{width:20px;height:20px;min-height:0;accent-color:var(--red)}
.btn-block{width:100%;font-family:inherit;cursor:pointer;border:0;min-height:54px;font-size:1.08rem}
.cart-note{margin:0;text-align:center;color:var(--muted);font-size:.85rem}
.link{border:0;background:none;color:var(--muted);text-decoration:underline;font:inherit;font-size:.9rem;cursor:pointer;align-self:center}
@media (max-width:560px){
  .cart{width:100%;max-width:100%;max-height:92vh;margin:auto 0 0;border-radius:28px 28px 0 0}
}

@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .btn,.float-zap,.add,.toast{transition:none} .cart-bar{animation:none} }
