
:root{
  --bg:#f7f2ea;
  --surface:#ffffff;
  --surface-2:#fbf7f2;
  --text:#241710;
  --muted:#7c6b61;
  --accent:#6d3a1f;
  --accent-hover:#532915;
  --accent-soft:#efe3d8;
  --border:#eadfd5;
  --shadow:0 10px 30px rgba(72,42,26,.08);
  --shadow-hover:0 16px 38px rgba(72,42,26,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:
    radial-gradient(circle at 15% 10%, rgba(119,72,42,.04), transparent 28%),
    var(--bg);
  color:var(--text);
}
button,input,select,textarea{font:inherit}

header,.hero{
  padding:34px clamp(20px,5vw,72px);
  background:linear-gradient(135deg,#2c1a12 0%,#6d3a1f 65%,#7a4729 100%);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  box-shadow:0 6px 18px rgba(49,26,15,.12);
}
.hero h1,header h1{
  margin:.3rem 0 0;
  font-size:clamp(2rem,4.5vw,3.7rem);
  line-height:1;
  letter-spacing:-.03em;
}
.hero p,header p{
  margin:.7rem 0 0;
  color:#eadfd7;
  font-size:1rem;
}
.hero b,header b{
  letter-spacing:.12em;
  font-size:.85rem;
}
#status,.status{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  backdrop-filter:blur(8px);
}

main,.layout{
  max-width:1240px;
  margin:0 auto;
  padding:28px 22px 60px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:28px;
  align-items:start;
}

section h2{
  font-size:1.55rem;
  margin:26px 0 14px;
  letter-spacing:-.02em;
}
.grid,.products{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.card,.product,.product-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.product-card:hover,.product:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-hover);
  border-color:#ddc7b6;
}
.product-card{
  padding:12px;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.product-photo{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(145deg,#f0e5dc,#e8d9cd);
  margin-bottom:14px;
  border:1px solid #e5d6ca;
  cursor:zoom-in;
}
.product-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.product-card:hover .product-photo img{transform:scale(1.035)}
.photo-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#8a7568;
  font-size:13px;
  text-align:center;
  padding:16px;
}
.product-card h3{
  margin:0 0 7px;
  font-size:1.18rem;
  letter-spacing:-.01em;
}
.product-card p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.45;
  min-height:42px;
}
.product-card b{
  font-size:1.2rem;
  color:#2a160d;
}
.product-card button,
button.primary,
button{
  border:0;
  border-radius:12px;
  padding:11px 14px;
  background:var(--accent);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:background .15s ease,transform .15s ease;
}
.product-card button{
  margin-top:auto;
  width:100%;
}
button:hover,.product-card button:hover{
  background:var(--accent-hover);
  transform:translateY(-1px);
}

.cart{
  position:sticky;
  top:18px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--border);
  border-radius:20px;
  padding:18px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.cart h2{margin:0 0 14px;font-size:1.45rem}
.ci,.cart-item{
  padding:12px 0;
  border-bottom:1px solid var(--border);
  line-height:1.4;
}
.ci button,.cart-item button{
  width:auto;
  margin-top:7px;
  padding:5px 10px;
  border-radius:8px;
  background:#f4ebe4;
  color:var(--text);
  border:1px solid #e4d4c8;
}
.totals{
  margin-top:14px;
  border-top:1px solid var(--border);
  padding-top:10px;
}
.totals div{
  display:flex;
  justify-content:space-between;
  padding:5px 0;
}
.totals div:last-child{
  font-size:1.15rem;
  padding-top:10px;
  margin-top:4px;
  border-top:1px dashed #d9c8bb;
}
#continuar,.primary{
  width:100%;
  margin-top:14px;
}

dialog{
  border:0;
  border-radius:20px;
  width:min(720px,calc(100% - 30px));
  box-shadow:0 24px 80px rgba(0,0,0,.24);
  padding:0;
}
dialog::backdrop{background:rgba(25,16,11,.55)}
dialog>div,.modal-card{padding:22px}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.form-grid label{
  font-size:13px;
  font-weight:700;
}
.form-grid input,.form-grid select,.form-grid textarea,
input,select,textarea{
  width:100%;
  margin-top:5px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
.form-grid textarea{min-height:90px;resize:vertical}
.full{grid-column:1/-1}

.badge-destaque{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  background:rgba(109,58,31,.92);
  color:#fff;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}

/* Lightbox */
#imageViewer{
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(18,12,9,.88);
  display:none;
  place-items:center;
  padding:24px;
}
#imageViewer.open{display:grid}
#imageViewer img{
  max-width:min(1000px,94vw);
  max-height:88vh;
  border-radius:18px;
  box-shadow:0 20px 70px rgba(0,0,0,.4);
}
#imageViewer button{
  position:absolute;
  right:24px;
  top:18px;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:24px;
  padding:0;
}

/* Admin */
.admin-product{
  display:grid;
  grid-template-columns:90px 1fr 110px 120px 210px;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid #eee;
}
.admin-thumb{
  width:90px;height:70px;border-radius:10px;object-fit:cover;
  border:1px solid #e5d8ca;background:#f3eee8;
}
.admin-empty{
  width:90px;height:70px;border-radius:10px;border:1px solid #e5d8ca;
  background:#f3eee8;display:grid;place-items:center;color:#806e61;font-size:11px;
}
.photo-actions{display:flex;flex-direction:column;gap:6px}
.photo-actions input{max-width:200px}
.photo-actions button{width:100%}

@media(max-width:900px){
  main,.layout{grid-template-columns:1fr}
  .cart{position:static}
}
@media(max-width:700px){
  header,.hero{
    align-items:flex-start;
    flex-direction:column;
    padding:26px 18px;
  }
  main,.layout{padding:18px 14px 40px}
  .grid,.products{grid-template-columns:1fr}
  .product-card{padding:10px;border-radius:18px}
  .product-photo{aspect-ratio:16/11}
  .product-card h3{font-size:1.12rem}
  .form-grid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .admin-product{grid-template-columns:70px 1fr}
  .admin-product>*:nth-child(n+3){grid-column:2}
  .admin-thumb,.admin-empty{width:70px;height:58px}
}


/* Opções obrigatórias */
#optionsModal{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(22,14,10,.62);
  display:none;
  place-items:center;
  padding:18px;
}
#optionsModal.open{display:grid}
.options-card{
  width:min(620px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  padding:22px;
  position:relative;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.options-close{
  position:absolute;
  right:14px;
  top:12px;
  width:40px;
  height:40px;
  border-radius:50%;
  padding:0;
  font-size:22px;
}
.options-card h2{
  margin:2px 48px 4px 0;
  font-size:1.55rem;
}
.options-price{
  color:var(--muted);
  margin:0 0 18px;
}
.option-group{
  border-top:1px solid var(--border);
  padding:16px 0 4px;
}
.option-group-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
  font-weight:900;
}
.option-group-title em{
  font-style:normal;
  font-size:11px;
  background:var(--accent-soft);
  color:var(--accent);
  padding:5px 8px;
  border-radius:999px;
}
.option-list{
  display:grid;
  gap:8px;
}
.option-row{
  display:grid;
  grid-template-columns:24px 1fr auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  cursor:pointer;
  background:#fff;
}
.option-row:hover{
  background:#fcf8f5;
  border-color:#dbc2af;
}
.option-row input{
  width:18px;
  height:18px;
  margin:0;
}
.option-row b{
  font-size:.9rem;
  color:var(--accent);
}
.options-error{
  color:#a2352d;
  font-weight:800;
  min-height:20px;
}
.cart-options{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.45;
  margin:6px 0 2px;
  padding-left:4px;
}

.mandatory-hint{
  display:inline-block;
  margin-top:10px;
  padding:6px 9px;
  border-radius:999px;
  background:#f3e7dd;
  color:#6d3a1f;
  font-size:11px;
  font-weight:800;
}


/* v1.7 - painel de opções */
.option-group-admin{padding:16px}
.subsection{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.admin-list.compact{gap:8px;margin-top:10px}
.option-editor{
  display:grid;
  grid-template-columns:2fr 1fr .7fr .7fr auto;
  gap:10px;
  align-items:end;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.option-editor label{font-size:12px;font-weight:700}
.option-editor input{width:100%}
.checkline{display:flex;align-items:center;gap:6px;padding-bottom:10px}
.checkline input{width:auto}
@media(max-width:900px){
  .option-editor{grid-template-columns:1fr}
}

/* v2.0 - perfil/bio e retirada */
.site-header{padding:18px clamp(18px,5vw,60px);align-items:center}
.brand-head{display:flex;flex-direction:column;gap:3px}.brand-word{font-weight:900;letter-spacing:.14em;font-size:1.05rem}.brand-sub{font-size:.88rem;color:#eadfd7}
.profile-bio{max-width:900px;margin:24px auto 0;padding:0 18px}.bio-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:24px;display:flex;align-items:center;gap:22px}.bio-logo{width:100px;height:100px;flex:0 0 100px;border-radius:50%;overflow:hidden;background:#f4e9df;border:1px solid #e3d1c3;display:grid;place-items:center}.bio-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.logo-fallback{font-weight:950;font-size:1.7rem;letter-spacing:.08em;color:var(--accent)}.bio-main{min-width:0;flex:1}.bio-main h1{margin:0;font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.03em}.bio-main p{margin:5px 0 12px;color:var(--muted)}.bio-meta{display:flex;gap:8px;flex-wrap:wrap}.bio-meta span{background:var(--surface-2);border:1px solid var(--border);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.bio-meta .open{color:#2f6b42}.bio-meta .closed{color:#8f2e27}.bio-hours{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.bio-hours summary{cursor:pointer;font-weight:800;color:var(--accent);font-size:13px}.bio-week{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.bio-day{display:flex;justify-content:space-between;padding:8px 10px;border-radius:9px;background:#faf7f4;font-size:12px}.bio-day.today{outline:1px solid #d8c0af;background:#f5e9df}.address-box{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:14px}.address-title{font-weight:900;margin-bottom:5px}input:disabled,select:disabled,textarea:disabled{background:#f1ece7;color:#75665d;cursor:not-allowed;opacity:1}.checkout-dialog{padding:22px}.dialog-actions{display:flex;gap:8px;margin-top:14px}.dialog-actions button{flex:1}.muted-btn{background:#7d6a5f!important}
@media(max-width:700px){.bio-card{flex-direction:column;text-align:center}.bio-meta{justify-content:center}.bio-week{grid-template-columns:1fr}.profile-bio{margin-top:16px}}


/* v2.1 - acompanhamento do pedido */
.last-order-wrap{max-width:900px;margin:12px auto 0;padding:0 18px}.last-order-card{background:#fff6df;border:1px solid #ead7a4;border-radius:16px;padding:13px 15px;display:flex;justify-content:space-between;gap:14px;align-items:center}.last-order-card div{display:flex;flex-direction:column;gap:2px}.last-order-card span{color:#6f6259;font-size:12px}.last-order-card a,.tracking-button,.header-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--accent);color:#fff;font-weight:850;border-radius:11px;padding:10px 13px}.order-success{margin-top:14px;border:1px solid #cde1cf;background:#f3faf4;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:7px}.order-success .tracking-button{margin-top:5px}.header-link{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2)}
.tracking-page{min-height:100vh}.tracking-main{display:block;max-width:760px;padding:30px 18px 60px}.tracking-shell{width:100%}.tracking-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:22px}.tracking-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:18px}.tracking-kicker{font-size:11px;font-weight:900;letter-spacing:.13em;color:var(--muted)}.tracking-head h1{font-size:2.2rem;margin:2px 0}.tracking-head p{margin:0;color:var(--muted)}.tracking-total{font-size:1.15rem;font-weight:900;white-space:nowrap}.timeline{padding:20px 2px 8px}.timeline-step{display:grid;grid-template-columns:32px 1fr;gap:12px;position:relative;padding:0 0 24px}.timeline-step:not(:last-child):before{content:"";position:absolute;left:14px;top:28px;bottom:2px;width:2px;background:#e5dcd5}.timeline-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid #d8ccc3;background:#fff;font-weight:900;font-size:12px;z-index:1}.timeline-step div:last-child{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:30px}.timeline-step span{font-size:12px;color:var(--muted)}.timeline-step.done .timeline-dot{background:#3f7b50;border-color:#3f7b50;color:#fff}.timeline-step.current .timeline-dot{background:var(--accent);border-color:var(--accent);color:#fff}.timeline-step.current strong{color:var(--accent)}.timeline-step.pending{color:#9a8c83}.tracking-summary{border-top:1px solid var(--border);padding-top:16px}.tracking-summary h2{margin:0 0 8px}.tracking-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0e8e1}.tracking-item div{display:flex;flex-direction:column;gap:3px}.tracking-item small{color:var(--muted);line-height:1.35}.tracking-pay{display:flex;justify-content:space-between;gap:12px;padding-top:14px}.tracking-refresh{text-align:center;color:var(--muted);font-size:11px;margin:18px 0 0}.tracking-cancelled,.tracking-error,.tracking-loading{padding:18px;border-radius:14px;margin-top:18px}.tracking-cancelled,.tracking-error{background:#fff0ee;border:1px solid #e8c4bf;color:#8f2e27}.tracking-loading{background:#fff;border:1px solid var(--border)}
@media(max-width:600px){.last-order-card{align-items:stretch;flex-direction:column}.tracking-head{flex-direction:column}.tracking-total{font-size:1.05rem}.tracking-card{padding:17px}.timeline-step div:last-child{align-items:flex-start;flex-direction:column;gap:2px}}

/* v2.2 - vendas, disponibilidade, PIX e prazo */
.product-card.sold-out{opacity:.72}.product-card.sold-out .product-photo img{filter:grayscale(.55)}
.badge-unavailable{position:absolute;right:10px;bottom:10px;background:#6f6259;color:#fff;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}
.product-card button:disabled,.option-row input:disabled{cursor:not-allowed}.product-card button:disabled{background:#9e9289!important}
.option-row.option-unavailable{opacity:.55;background:#f4f0ed;cursor:not-allowed}
.checkout-eta{background:#fff6df;border:1px solid #ead7a4;border-radius:12px;padding:10px 12px;font-weight:850;color:#6d4d19}
.eta-success{font-weight:850;color:#44654a}
.success-actions{display:flex;gap:8px;flex-wrap:wrap}.success-actions>a{flex:1;min-width:180px}
.whatsapp-button{background:#2e7d4b!important}
.pix-box{margin-top:10px;border:1px solid #d8d0c8;background:#fff;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.pix-box>strong{font-size:1rem}.pix-box>span{font-size:12px;color:#8a5d1d;font-weight:800}.pix-box img{width:min(220px,80%);aspect-ratio:1;object-fit:contain;align-self:center;background:white;border:10px solid white;border-radius:10px}.pix-code{width:100%;min-height:82px;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;resize:none;background:#f8f6f3}.pix-box small{color:var(--muted)}
.pix-paid{background:#f2faf4;border-color:#bcd9c3}.pix-paid>span{color:#2f6b42}
.tracking-eta{margin:16px 0 0;padding:13px 14px;border:1px solid #ead7a4;background:#fff8e8;border-radius:14px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center}.tracking-eta span{font-size:12px;color:var(--muted)}.tracking-eta strong{justify-self:end}.tracking-eta small{grid-column:1/-1;color:var(--muted)}
.tracking-pix{margin-top:18px}.tracking-whatsapp{margin-top:14px;width:100%}
.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.availability-toggle{display:flex!important;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:11px 12px!important;border-radius:12px!important}.availability-toggle span{display:flex;flex-direction:column}.availability-toggle small{font-weight:500;opacity:.8}.availability-toggle b{font-size:11px}.availability-toggle.on{background:#eef8f0!important;color:#2f6b42!important;border:1px solid #bcd9c3}.availability-toggle.off{background:#fff0ee!important;color:#8f2e27!important;border:1px solid #e8c4bf}.preset-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preset-row button{width:auto}.operation-highlight{border-color:#dfc995!important;background:#fffaf0!important}.payment-admin{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff6df;border:1px solid #ead7a4;border-radius:11px;padding:8px 10px;font-size:12px;font-weight:800}.payment-admin.paid{background:#eef8f0;border-color:#bcd9c3;color:#2f6b42}.payment-admin button{width:auto;padding:7px 10px;font-size:11px}.admin-link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--accent);color:#fff;font-weight:800;border-radius:10px;padding:9px 12px}.whatsapp-admin{background:#2e7d4b}
@media(max-width:850px){.availability-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.availability-grid{grid-template-columns:1fr}.success-actions{flex-direction:column}.tracking-eta{grid-template-columns:1fr}.tracking-eta strong{justify-self:start}}


/* v2.3 - clientes recorrentes e cupons */
.customer-recall-card{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 14px;border:1px solid #dbc7b8;border-radius:13px;background:#fff8f2;
}
.customer-recall-card div{display:grid;gap:3px}
.customer-recall-card span,.customer-recall-card small{color:var(--muted)}
.customer-recall-card button{width:auto;margin:0}
.coupon-field{padding:10px 12px;border:1px dashed #d9c3b3;border-radius:13px;background:#fcf8f5}
.coupon-input{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.coupon-input button{width:auto;margin-top:5px}
.coupon-ok{color:#24713f!important;font-weight:700}
.coupon-error{color:#9a3028!important;font-weight:700}
@media(max-width:560px){
  .customer-recall-card{align-items:stretch;flex-direction:column}
  .customer-recall-card button{width:100%}
  .coupon-input{grid-template-columns:1fr}
  .coupon-input button{width:100%}
}


/* v2.4.1 - acabamento antes da publicação */
.site-header{
  justify-content:flex-start;
}
.site-footer{
  margin-top:24px;
  padding:18px clamp(18px,5vw,60px);
  background:linear-gradient(135deg,#2c1a12 0%,#6d3a1f 65%,#7a4729 100%);
  color:#fff;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:68px;
  box-shadow:0 -5px 18px rgba(49,26,15,.08);
}
.footer-status{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  padding:8px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  color:#f4e9e1;
  backdrop-filter:blur(8px);
}

/* No celular o carrinho fica visível e acompanha a rolagem,
   sem ocupar a tela inteira quando houver muitos itens. */
@media(max-width:900px){
  main,.layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "cart"
      "menu";
    align-items:start;
  }
  #menu{grid-area:menu;min-width:0}
  .cart{
    grid-area:cart;
    position:sticky;
    top:10px;
    z-index:60;
    max-height:min(42vh,360px);
    overflow:auto;
    box-shadow:0 14px 38px rgba(72,42,26,.18);
    border-color:#dfcdbf;
  }
}
@media(max-width:700px){
  .site-header{
    align-items:flex-start;
    flex-direction:row;
    padding:18px;
  }
  .site-footer{
    justify-content:center;
    text-align:center;
    padding:16px 14px;
  }
  .footer-status{
    font-size:.72rem;
    line-height:1.25;
  }
  main,.layout{
    padding-top:14px;
    gap:16px;
  }
  .cart{
    top:8px;
    max-height:min(40vh,330px);
    border-radius:17px;
    padding:14px;
  }
  .cart h2{font-size:1.18rem;margin-bottom:9px}
  .ci,.cart-item{padding:8px 0;font-size:.9rem}
  .totals{margin-top:9px;padding-top:7px}
  .totals div{padding:3px 0;font-size:.9rem}
  .totals div:last-child{font-size:1rem;padding-top:7px}
  #continuar{margin-top:9px;padding:10px 12px}
}


/* v2.4.2 - carrinho compacto flutuante no mobile */
.mobile-cart-bar{
  display:none;
}

@media(max-width:900px){
  main,.layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "cart"
      "menu";
    align-items:start;
  }
  #menu{grid-area:menu;min-width:0}

  /* O carrinho completo permanece no topo do cardapio. */
  .cart{
    grid-area:cart;
    position:relative;
    top:auto;
    z-index:2;
    max-height:none;
    overflow:visible;
    box-shadow:var(--shadow);
    border-color:var(--border);
  }

  .mobile-cart-bar{
    position:fixed;
    left:50%;
    bottom:max(12px, env(safe-area-inset-bottom));
    transform:translate(-50%, calc(100% + 28px));
    width:min(520px,calc(100% - 24px));
    z-index:850;
    display:block;
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease,opacity .22s ease;
  }
  .mobile-cart-bar.show{
    transform:translate(-50%,0);
    opacity:1;
    pointer-events:auto;
  }
  .mobile-cart-button{
    width:100%;
    min-height:66px;
    margin:0;
    padding:10px 12px;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto 18px;
    gap:10px;
    align-items:center;
    text-align:left;
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    background:linear-gradient(135deg,#4f2816 0%,#6d3a1f 68%,#7a4729 100%);
    box-shadow:0 14px 38px rgba(40,20,10,.28);
    color:#fff;
  }
  .mobile-cart-button:hover{
    transform:none;
    background:linear-gradient(135deg,#4f2816 0%,#6d3a1f 68%,#7a4729 100%);
  }
  .mobile-cart-icon{
    width:44px;height:44px;
    display:grid;place-items:center;
    position:relative;
    border-radius:14px;
    background:rgba(255,255,255,.12);
  }
  .mobile-cart-badge{
    position:absolute;
    right:-4px;top:-5px;
    min-width:21px;height:21px;
    padding:0 5px;
    display:grid;place-items:center;
    border-radius:999px;
    background:#fff;
    color:var(--accent);
    font-size:11px;
    font-weight:950;
    border:2px solid var(--accent);
  }
  .mobile-cart-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .mobile-cart-copy small{
    color:#ecdcd2;
    font-size:11px;
    line-height:1;
  }
  .mobile-cart-copy strong{
    font-size:.92rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-cart-total{
    font-size:1.05rem;
    font-weight:950;
    white-space:nowrap;
  }
  .mobile-cart-arrow{
    font-size:1.15rem;
    font-weight:900;
    opacity:.9;
  }
  body.mobile-cart-floating{
    padding-bottom:92px;
  }
  .cart.mobile-cart-focus{
    animation:mobileCartFocus .7s ease;
  }
  @keyframes mobileCartFocus{
    0%,100%{box-shadow:var(--shadow)}
    45%{box-shadow:0 0 0 4px rgba(109,58,31,.18),0 16px 42px rgba(72,42,26,.18)}
  }
}

@media(max-width:430px){
  .mobile-cart-button{
    grid-template-columns:42px minmax(0,1fr) auto 15px;
    gap:8px;
    min-height:62px;
    padding:9px 10px;
    border-radius:16px;
  }
  .mobile-cart-icon{width:40px;height:40px;border-radius:12px}
  .mobile-cart-copy strong{font-size:.86rem}
  .mobile-cart-total{font-size:.98rem}
}
