/* ═══ CARRINHO DE PEDIDOS → WHATSAPP ═══ */
.add-to-cart { cursor: pointer; border: 0; font-family: inherit; }
.add-to-cart.is-added { background: #25D366 !important; transform: scale(.96); }

.cart-fab {
  position: fixed; left: 1.25rem; bottom: 1.5rem; z-index: 900;
  width: 60px; height: 60px; border-radius: 50%; border: 0; cursor: pointer;
  background: linear-gradient(135deg, var(--clr-orange), var(--clr-orange2));
  color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 24px rgba(244,92,20,.5), 0 2px 8px rgba(0,0,0,.3);
  transition: transform .25s, box-shadow .25s;
}
.cart-fab:hover { transform: scale(1.08); }
.cart-fab.bump { animation: cartBump .45s; }
@keyframes cartBump { 30% { transform: scale(1.25); } 60% { transform: scale(.92); } }
.cart-fab__count {
  position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; padding: 0 5px;
  background: #fff; color: var(--clr-orange); border-radius: 11px; font-size: .75rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.4);
}
.cart-fab__count[hidden] { display: none; }

.cart-overlay {
  position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.65);
  backdrop-filter: blur(4px); opacity: 0; pointer-events: none; transition: opacity .3s;
}
.cart-overlay.open { opacity: 1; pointer-events: auto; }

.cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1001; width: min(440px, 100%);
  background: var(--clr-bg2); border-left: 1px solid var(--clr-border);
  display: flex; flex-direction: column; transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1); box-shadow: -10px 0 40px rgba(0,0,0,.6);
}
.cart-drawer.open { transform: none; }
.cart-head { display: flex; align-items: center; gap: .6rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--clr-border); }
.cart-head h2 { flex: 1; font-family: var(--ff-heading); font-size: 1.4rem; letter-spacing: .02em; }
.cart-icon-btn {
  width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--clr-surface); color: var(--clr-text2); font-size: 1.1rem;
  display: flex; align-items: center; justify-content: center; transition: var(--transition);
}
.cart-icon-btn:hover { background: var(--clr-orange); color: #fff; }

.cart-view { display: none; flex: 1; flex-direction: column; min-height: 0; }
.cart-view.active { display: flex; }
.cart-body { flex: 1; overflow-y: auto; padding: 1.1rem 1.25rem; display: flex; flex-direction: column; gap: .8rem; }
.cart-foot { padding: 1rem 1.25rem 1.25rem; border-top: 1px solid var(--clr-border); background: var(--clr-bg3); }
.cart-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: .9rem; color: var(--clr-text2); font-weight: 600; }
.cart-total strong { font-size: 1.5rem; color: var(--clr-white); }
.cart-cta {
  width: 100%; padding: .95rem; border: 0; border-radius: var(--radius-md); cursor: pointer;
  font-size: 1rem; font-weight: 700; color: #fff; font-family: inherit;
  background: linear-gradient(135deg, var(--clr-orange), var(--clr-orange2)); transition: var(--transition);
}
.cart-cta:hover { box-shadow: var(--shadow-orange); transform: translateY(-1px); }
.cart-cta--wa { background: #25D366; }
.cart-cta--wa:hover { box-shadow: 0 0 28px rgba(37,211,102,.45); }

.cart-empty { margin: auto; text-align: center; color: var(--clr-text3); }
.cart-empty span { font-size: 3rem; display: block; margin-bottom: .5rem; }

.cart-item { display: flex; gap: .8rem; padding: .75rem; background: var(--clr-surface); border: 1px solid var(--clr-border); border-radius: var(--radius-md); }
.cart-item img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); flex-shrink: 0; }
.cart-item__info { flex: 1; min-width: 0; }
.cart-item__name { font-weight: 700; font-size: .95rem; }
.cart-item__price { color: var(--clr-orange); font-weight: 700; font-size: .9rem; margin-bottom: .4rem; }
.cart-item__row { display: flex; align-items: center; justify-content: space-between; }
.qty { display: inline-flex; align-items: center; background: var(--clr-surface2); border-radius: var(--radius-sm); }
.qty button { width: 32px; height: 32px; background: none; border: 0; color: var(--clr-text); font-size: 1.1rem; cursor: pointer; }
.qty button:hover { color: var(--clr-orange); }
.qty span { min-width: 26px; text-align: center; font-weight: 700; }
.cart-remove { background: none; border: 0; color: #f87171; font-size: .8rem; text-decoration: underline; cursor: pointer; }
.cart-note, .cart-field {
  width: 100%; margin-top: .5rem; padding: .6rem .75rem; background: var(--clr-surface2);
  border: 1px solid transparent; border-radius: var(--radius-sm); color: var(--clr-text);
  font-family: inherit; font-size: .85rem; transition: border-color .2s;
}
.cart-field { margin-top: 0; padding: .85rem 1rem; font-size: .95rem; }
.cart-note:focus, .cart-field:focus { outline: none; border-color: var(--clr-orange); }
textarea.cart-field { resize: none; height: 80px; }
.cart-field.error { border-color: #f87171; }

.summary-box { background: var(--clr-surface); border: 1px solid var(--clr-border); border-radius: var(--radius-md); padding: 1rem; }
.summary-box h3 { font-size: 1rem; margin-bottom: .6rem; }
.summary-line { display: flex; justify-content: space-between; gap: 1rem; font-size: .88rem; color: var(--clr-text2); padding: .2rem 0; }
.summary-total { display: flex; justify-content: space-between; margin-top: .6rem; padding-top: .6rem; border-top: 1px solid var(--clr-border); font-weight: 700; }
.summary-total strong { color: var(--clr-orange); font-size: 1.15rem; }
.cart-label { font-size: .8rem; font-weight: 700; color: var(--clr-text3); text-transform: uppercase; letter-spacing: .05em; margin-bottom: -.4rem; }
.seg { display: flex; padding: 4px; background: var(--clr-surface2); border-radius: var(--radius-md); gap: 4px; }
.seg button { flex: 1; padding: .65rem .3rem; border: 0; border-radius: 10px; background: none; color: var(--clr-text3); font-weight: 700; font-size: .85rem; cursor: pointer; font-family: inherit; transition: var(--transition); }
.seg button.active { background: var(--clr-orange); color: #fff; box-shadow: 0 2px 10px rgba(244,92,20,.4); }

body.cart-open { overflow: hidden; }
@media (max-width: 480px) { .cart-fab { width: 54px; height: 54px; left: 1rem; bottom: 1.25rem; } }

/* ═══ CARDS COMPACTOS DO CARDÁPIO ═══ */
.cardapio-grid { max-width: 1100px; grid-template-columns: repeat(auto-fit, minmax(210px, 250px)) !important; justify-content: center; gap: 1rem; }
.menu-card {
  display: grid; grid-template-columns: 1fr auto; column-gap: .6rem; row-gap: 0;
  align-content: start; padding: .7rem .7rem .75rem; border-radius: 18px;
}
.menu-card__img { grid-column: 1 / -1; aspect-ratio: 1 / .85; margin-bottom: .6rem; border-radius: 12px; }
.menu-card__header { grid-column: 1; margin: 0; align-items: flex-start; text-align: left; width: auto; }
.menu-card__title { font-size: 1rem; text-align: left; width: auto; }
.menu-card__body { grid-column: 1 / -1; margin: .35rem 0 .6rem; }
.menu-card__footer { display: contents; }
.menu-card__price-box { grid-column: 2; grid-row: 2; width: auto; align-items: flex-end; }
.price-label { display: none; }
.menu-card__price { font-size: 1rem; width: auto; white-space: nowrap; }
.menu-card__ingredients-box { background: none; border: 0; padding: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.ingredients-label { display: none; }
.menu-card .menu-card__ingredients-list {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: .78rem; line-height: 1.4; color: var(--clr-text2);
}
.menu-card .menu-card__ingredients-list li { display: inline; font-size: inherit; color: inherit; font-weight: 400; }
.menu-card .menu-card__ingredients-list li::before { content: none; }
.menu-card .menu-card__ingredients-list li:not(:last-child)::after { content: ', '; }
.menu-card .add-to-cart.btn-reduced {
  grid-column: 1 / -1; width: 100% !important; max-width: none; min-width: 0;
  padding: .55rem .8rem !important; font-size: .82rem !important; border-radius: 10px;
}
.menu-card__badge { top: .5rem; left: .5rem; font-size: .62rem; padding: .15rem .6rem; }
@media (max-width: 600px) { .cardapio-grid { grid-template-columns: minmax(0, 320px) !important; } }

/* Selo "Mais Vendido / Especial" por baixo da imagem, sem sobrepor o título */
.menu-card > .menu-card__header { position: static; }
.menu-card .menu-card__badge { position: static; align-self: flex-start; margin: 0 0 .3rem; }
