:root{--paper:#f8f6f1;--cream:#eeebe4;--gold:#c7a77a;--gold-light:#e4cfad;--ink:#0b0b0b;--graphite:#171717;--muted:#918a80;--line:rgba(255,255,255,.12);--serif:'Playfair Display',Georgia,serif;--sans:'Work Sans',sans-serif;--script:'Dancing Script',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.topbar{height:82px;background:rgba(10,10,10,.97);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:absolute;z-index:10;top:0;left:0;right:0;border-bottom:1px solid rgba(199,167,122,.2)}.brand,.footer-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-seal{height:43px;width:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:600 15px var(--serif);letter-spacing:1px}.brand b,.footer-brand b{font:500 21px var(--serif);display:block;line-height:1}.brand small,.footer-brand small{display:block;color:var(--gold);font-size:8px;letter-spacing:3px;margin-top:6px}.top-actions{display:flex;align-items:center;gap:26px}.open-label{font-size:9px;letter-spacing:2px;color:#c8c0b5}.open-label i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b5a078;margin-right:8px;box-shadow:0 0 9px #b5a078}.selection-trigger{background:transparent;color:#fff;border:1px solid rgba(199,167,122,.45);padding:11px 16px;font:500 10px var(--sans);letter-spacing:1px;text-transform:uppercase;cursor:pointer}.selection-trigger span{display:inline-grid;place-items:center;background:var(--gold);color:#111;border-radius:50%;height:19px;width:19px;margin-left:8px;font-size:10px}
.hero{min-height:720px;height:min(900px,100vh);position:relative;display:flex;align-items:center;overflow:hidden;background:#090909;color:#fff}.hero-image{position:absolute;inset:0; background-image: url('../uploads/drinks/cocktail.gif');background-size:cover;background-position:center 54%;opacity:.67;transform:scale(1.025);animation:heroReveal 1.5s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.76) 43%,rgba(5,5,5,.12) 100%),linear-gradient(0deg,rgba(5,5,5,.55),transparent 55%)}.hero-content{position:relative;z-index:1;width:min(1180px,88%);margin:90px auto 0}.eyebrow,.section-kicker{font-size:9px;letter-spacing:4px;color:var(--gold);font-weight:600}.hero h1{font:400 clamp(52px,7vw,94px)/1.04 var(--serif);letter-spacing:-2px;margin:24px 0}.hero h1 em,.intro h2 em,.catalog-heading h2 em,.closing-banner h2 em,.selection-modal h2 em,.waiter-modal h2 em{font-family:var(--script);font-weight:500;color:var(--gold);letter-spacing:0}.hero-copy{max-width:440px;color:rgba(255,255,255,.7);font-size:15px;line-height:1.8;margin:0 0 34px}.gold-button{border:0;background:var(--gold);color:#111;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 23px;font:600 10px var(--sans);letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:.3s;text-decoration:none}.gold-button:hover{background:#ead7b9;transform:translateY(-2px)}.gold-button span{font-size:17px}.hero-foot{display:flex;gap:14px;align-items:center;color:rgba(255,255,255,.45);font-size:8px;letter-spacing:2.4px;margin-top:80px}.hero-side-note{position:absolute;right:4vw;bottom:58px;writing-mode:vertical-rl;color:rgba(255,255,255,.65);font-size:8px;letter-spacing:4px}
.section-wrap{width:min(1220px,88%);margin:auto}.intro{padding:120px 0 130px}.intro-heading,.catalog-heading{display:grid;grid-template-columns:1.1fr .7fr;align-items:end;gap:8vw;margin-top:24px}.intro h2,.catalog-heading h2{font:400 clamp(42px,5vw,66px)/1.08 var(--serif);letter-spacing:-1.5px;margin:0}.intro-heading>p,.catalog-heading>p{font-size:14px;line-height:1.9;color:#777168;max-width:440px;margin:0 0 8px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:65px}.category-card{min-height:230px;position:relative;overflow:hidden;background:#171717;color:#fff;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;border:1px solid rgba(199,167,122,.2);transition:.4s}.category-card:before{content:'';position:absolute;inset:0;background:var(--cat-image) center/cover;opacity:.55;transition:.6s}.category-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 85%)}.category-card:hover{transform:translateY(-5px);border-color:var(--gold)}.category-card:hover:before{transform:scale(1.08);opacity:.75}.category-card>*{position:relative;z-index:1}.category-number{position:absolute!important;top:22px;left:25px;color:var(--gold);font:italic 14px var(--serif)}.category-card h3{font:500 23px var(--serif);margin:0 0 8px}.category-card p{font-size:10px;letter-spacing:1px;color:rgba(255,255,255,.68);margin:0}.category-arrow{position:absolute!important;right:22px;bottom:27px;color:var(--gold);font-size:20px}
.catalog-section{background:#111;color:#fff;padding:120px 0 135px;position:relative}.catalog-section:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.catalog-heading{margin:0 0 54px}.catalog-heading>p{color:#aaa49b}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-chip{border:1px solid rgba(255,255,255,.17);background:transparent;color:#c5beb3;padding:10px 15px;font:500 9px var(--sans);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.25s}.filter-chip.active,.filter-chip:hover{background:var(--gold);border-color:var(--gold);color:#111}.drink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.drink-card{background:#191919;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:.35s;overflow:hidden}.drink-card:hover{border-color:rgba(199,167,122,.7);transform:translateY(-4px)}.drink-photo{height:245px;background-size:cover;background-position:center;position:relative}.drink-photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.drink-photo span{position:absolute;z-index:1;left:18px;top:18px;border:1px solid rgba(255,255,255,.45);padding:7px 10px;font-size:8px;letter-spacing:2px;color:#fff;text-transform:uppercase}.drink-card-info{padding:21px 22px 23px}.drink-card-info small{font-size:8px;letter-spacing:2px;color:var(--gold);text-transform:uppercase}.drink-card-info h3{font:500 24px var(--serif);margin:8px 0 8px}.drink-card-info p{font-size:11px;line-height:1.7;color:#a9a39a;margin:0;min-height:38px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);margin-top:19px;padding-top:15px;color:var(--gold);font-size:9px;letter-spacing:1.5px;text-transform:uppercase}.card-bottom b{font:20px var(--serif);color:#fff}.empty-state{grid-column:1/-1;padding:50px;text-align:center;color:#aaa}
.closing-banner{background:linear-gradient(90deg,rgba(8,8,8,.95),rgba(8,8,8,.63)),url('https://images.unsplash.com/photo-1513558161293-cdaf765edfd0?auto=format&fit=crop&w=1800&q=80') center/cover;padding:105px 6vw;color:#fff;text-align:center}.closing-inner{max-width:800px;margin:auto}.closing-banner h2{font:400 clamp(37px,5vw,61px)/1.1 var(--serif);margin:20px 0 32px}.outline-button{border:1px solid var(--gold);background:transparent;color:var(--gold);padding:15px 23px;font:500 9px var(--sans);letter-spacing:2px;text-transform:uppercase;cursor:pointer}.outline-button span{margin-left:20px;font-size:16px}footer{background:#090909;color:#fff;padding:40px 6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p{color:#8b857c;font:italic 15px var(--serif)}.copyright{font-size:8px;letter-spacing:2px;color:#777}
.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:22px;overflow-y:auto}.modal-backdrop.open{display:flex;animation:fadeIn .25s ease}.drink-modal{width:min(900px,100%);max-height:92vh;overflow:auto;background:#f8f6f1;display:grid;grid-template-columns:.9fr 1.1fr;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.5)}.modal-close{position:absolute;z-index:5;right:15px;top:14px;width:38px;height:38px;border:1px solid rgba(199,167,122,.6);background:rgba(10,10,10,.75);color:#fff;font-size:25px;line-height:1;cursor:pointer}.modal-photo{min-height:590px;background-size:cover;background-position:center;position:relative;background-color:#25211d}.modal-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.photo-label{position:absolute;z-index:1;bottom:25px;left:25px;color:#fff;font-size:8px;letter-spacing:3px}.modal-info{padding:55px 48px 35px}.modal-info h2{font:500 42px/1.1 var(--serif);margin:12px 0}.modal-description{font-size:13px;line-height:1.8;color:#777168}.flavor-tags{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 27px}.flavor-tags span{border:1px solid #ded7ca;color:#776e61;padding:7px 10px;font-size:8px;letter-spacing:1px;text-transform:uppercase}.ingredients{border-top:1px solid #ddd6ca;padding-top:18px}.ingredients>span,.price-reveal small{font-size:8px;letter-spacing:2px;color:#a4875d;font-weight:600}.ingredients p{font:15px/1.7 var(--serif);color:#4d4942}.price-reveal{display:none;align-items:center;justify-content:space-between;background:#171717;color:#fff;padding:18px 20px;margin-top:23px;border-left:3px solid var(--gold);animation:rise .35s ease}.price-reveal.visible{display:flex}.price-reveal strong{display:block;font:500 31px var(--serif);margin:4px 0}.price-reveal p{font-size:9px;color:#b7aea1;margin:0}.price-spark{font-size:27px;color:var(--gold)}.modal-actions{display:flex;align-items:center;gap:18px;margin-top:25px;flex-wrap:wrap}.modal-actions .gold-button{padding:15px 18px}.text-button{border:0;background:none;color:#655d51;text-transform:uppercase;letter-spacing:1.5px;font:600 9px var(--sans);cursor:pointer}.waiter-note{font-size:9px;line-height:1.6;color:#938b80;margin-top:20px}.selection-modal,.waiter-modal{width:min(510px,100%);max-height:90vh;overflow:auto;background:#f8f6f1;padding:48px;position:relative}.selection-modal h2,.waiter-modal h2{font:400 42px var(--serif);margin:12px 0}.selection-intro,.waiter-modal>p{font-size:12px;line-height:1.8;color:#777168}.selection-items{margin:28px 0 12px}.selection-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e4ded3}.selection-row strong{display:block;font:500 15px var(--serif)}.selection-row small{font-size:9px;color:#92897d}.qty-controls{display:flex;align-items:center;gap:9px}.qty-controls button,.remove-item{border:1px solid #d8d0c4;background:transparent;width:25px;height:25px;cursor:pointer;color:#5e5549}.remove-item{border:0;font-size:17px}.selection-total{border-top:1px solid #cfc6b8;padding:17px 0;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;text-transform:uppercase}.selection-total strong{font:500 24px var(--serif)}.selection-disclaimer{font-size:9px;color:#91887d;margin:0 0 20px}.full-button{width:100%}.clear-button{width:100%;border:0;background:none;color:#84796b;text-transform:uppercase;letter-spacing:1.5px;font:600 9px var(--sans);padding:17px;cursor:pointer}.waiter-modal{text-align:center}.waiter-icon{height:56px;width:56px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:#b18e5d;font-size:25px;margin:0 auto 25px}.waiter-summary{text-align:left;background:#eeeae2;padding:16px 20px;margin:23px 0}.waiter-summary div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;font-size:11px;color:#514b43}.toast{position:fixed;z-index:80;left:50%;bottom:25px;transform:translate(-50%,20px);background:#c7a77a;color:#111;padding:13px 20px;font-size:10px;letter-spacing:1px;opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes heroReveal{from{opacity:0;transform:scale(1.08)}to{opacity:.67;transform:scale(1.025)}}
@media(max-width:850px){.category-grid{grid-template-columns:repeat(2,1fr)}.drink-grid{grid-template-columns:repeat(2,1fr)}.intro-heading,.catalog-heading{grid-template-columns:1fr;gap:22px}.drink-modal{grid-template-columns:1fr;max-width:570px}.modal-photo{min-height:280px;max-height:300px}.modal-info{padding:34px 30px}.modal-info h2{font-size:35px}.hero{min-height:700px}.hero-image{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.91),rgba(5,5,5,.45)),linear-gradient(0deg,rgba(5,5,5,.5),transparent)}}
@media(max-width:560px){.topbar{height:70px;padding:0 5vw}.brand-seal{height:37px;width:37px}.brand b{font-size:18px}.open-label{display:none}.top-actions{gap:0}.selection-trigger{padding:9px 10px;font-size:8px}.hero{height:790px;min-height:0;max-height:900px;align-items:flex-end;padding-bottom:70px}.hero-content{width:88%;margin:0 auto}.hero h1{font-size:56px}.hero-copy{font-size:13px;max-width:320px}.hero-foot{margin-top:58px;font-size:7px}.hero-side-note{right:4vw;bottom:38px;font-size:7px}.intro,.catalog-section{padding:82px 0}.section-wrap{width:88%}.intro h2,.catalog-heading h2{font-size:48px}.category-grid{gap:9px;margin-top:38px}.category-card{min-height:185px;padding:17px}.category-card h3{font-size:19px}.category-card p{font-size:8px}.category-number{top:15px;left:16px}.category-arrow{right:15px;bottom:20px}.drink-grid{grid-template-columns:1fr;gap:12px}.drink-photo{height:225px}.drink-card-info{padding:18px}.catalog-heading{margin-bottom:35px}.filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.filter-chip{white-space:nowrap}.closing-banner{padding:80px 6vw}.closing-banner h2{font-size:43px}footer{padding:35px 6vw;display:grid;grid-template-columns:1fr}footer p{margin:0}.selection-modal,.waiter-modal{padding:42px 24px 28px}.selection-modal h2,.waiter-modal h2{font-size:36px}.modal-backdrop{padding:10px}.drink-modal{max-height:96vh}.modal-photo{min-height:230px;max-height:230px}.modal-info{padding:28px 22px}.modal-info h2{font-size:32px}.modal-actions{gap:12px}.modal-actions .gold-button{flex:1}.price-reveal strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.empty-selection{padding:28px 12px;text-align:center;color:#8b8276;font-size:11px;line-height:1.8;background:#eeeae2}.full-button:disabled{cursor:not-allowed}
/* ============ MELHORIAS NOVAS ============ */

/* Contador no chip de filtro */
.filter-chip span {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  font-size: .75em;
  opacity: .8;
}
.filter-chip.active span { background: rgba(0,0,0,.25); }

/* Contador na categoria */
.category-count {
  display: inline-block;
  margin-top: 8px;
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .6;
}

/* Badge de promoção no card */
.promo-badge {
  position: absolute;
  top: 12px; right: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #d4af37;
  color: #1a1a1a;
  font-weight: 700;
  font-size: .8rem;
}

/* Preço com promoção */
.price s { opacity: .5; margin-right: 6px; font-size: .9em; }
.price b { color: #d4af37; }

/* Botão + mini no card */
.mini-add {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(212,175,55,.6);
  background: transparent;
  color: #d4af37;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .25s ease;
}
.mini-add:hover {
  background: #d4af37;
  color: #1a1a1a;
  transform: scale(1.1) rotate(90deg);
}

/* Busca */
.search-row {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 20px 0;
  flex-wrap: wrap;
}
.search-row input[type="search"] {
  flex: 1;
  min-width: 220px;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.04);
  color: inherit;
  font-size: 1rem;
  outline: none;
  transition: border-color .25s;
}
.search-row input:focus { border-color: #d4af37; }
.clear-search {
  font-size: .85rem;
  opacity: .7;
  text-decoration: underline;
}

/* Estado vazio */
.empty-catalog {
  padding: 60px 20px;
  text-align: center;
  border: 1px dashed rgba(255,255,255,.15);
  border-radius: 16px;
}
.empty-catalog p { margin-bottom: 20px; opacity: .7; }

/* Reveal */
.reveal, .drink-card, .category-card {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1),
              transform .7s cubic-bezier(.22,.61,.36,1);
}
.reveal.in, .drink-card.in, .category-card.in {
  opacity: 1;
  transform: none;
}

/* Stagger nos cards (delay progressivo) */
.drink-card.in:nth-child(1) { transition-delay: .04s; }
.drink-card.in:nth-child(2) { transition-delay: .08s; }
.drink-card.in:nth-child(3) { transition-delay: .12s; }
.drink-card.in:nth-child(4) { transition-delay: .16s; }
.drink-card.in:nth-child(5) { transition-delay: .20s; }
.drink-card.in:nth-child(6) { transition-delay: .24s; }
.drink-card.in:nth-child(7) { transition-delay: .28s; }
.drink-card.in:nth-child(8) { transition-delay: .32s; }

/* Shine no gold-button */
.gold-button {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.gold-button::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform .8s ease;
}
.gold-button:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.35); }
.gold-button:hover::after { transform: translateX(100%); }

/* Modal */
.drink-modal { animation: modalIn .35s ease; }
@keyframes modalIn {
  from { opacity: 0; transform: translateY(30px) scale(.97); }
  to   { opacity: 1; transform: none; }
}

/* Toast */
.toast {
  position: fixed; bottom: 24px; right: 24px;
  padding: 14px 22px;
  border-radius: 999px;
  background: #1a1a1a;
  border: 1px solid rgba(212,175,55,.4);
  color: #fff;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
  z-index: 9999;
}
.toast.show { opacity: 1; transform: none; }

/* Pop no contador da seleção */
#selectionCount.pop {
  animation: pop .4s ease;
}
@keyframes pop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.35); }
  100% { transform: scale(1); }
}

/* ============ PÁGINA DE SELEÇÃO ============ */

.page-selection { background: #0b0b0b; color: #f5f0e6; }

.selection-page { padding: 80px 20px 120px; }

.selection-hero {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 60px;
}
.selection-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 6vw, 3.8rem);
  line-height: 1.1;
  margin: 16px 0 20px;
}
.selection-hero h1 em {
  font-family: 'Dancing Script', cursive;
  color: #d4af37;
  font-style: normal;
}
.selection-hero p { opacity: .8; line-height: 1.7; }

/* Layout duas colunas */
.selection-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .selection-layout { grid-template-columns: 1fr; }
}

/* Lista de itens */
.selection-list { display: flex; flex-direction: column; gap: 14px; }

.selection-row {
  display: grid;
  grid-template-columns: 72px 1fr auto auto auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px;
  transition: all .25s ease;
}
.selection-row:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(212,175,55,.3);
  transform: translateX(4px);
}
@media (max-width: 640px) {
  .selection-row {
    grid-template-columns: 56px 1fr;
    grid-template-areas: "thumb info" "thumb qty" "thumb total";
    gap: 10px 14px;
  }
  .sel-thumb { grid-area: thumb; }
  .sel-info { grid-area: info; }
  .qty-form { grid-area: qty; justify-self: start; }
  .sel-line-total { grid-area: total; justify-self: end; }
  .sel-remove-form { position: absolute; top: 8px; right: 8px; }
  .selection-row { position: relative; }
}

.sel-thumb {
  width: 72px; height: 72px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
}
@media (max-width: 640px) {
  .sel-thumb { width: 56px; height: 56px; }
}

.sel-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sel-cat {
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .55;
}
.sel-info strong {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  font-weight: 500;
}
.sel-info small { opacity: .6; font-size: .85rem; }

/* Controles de quantidade */
.qty-form {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255,255,255,.05);
  border-radius: 999px;
  padding: 4px;
}
.qty-form button {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background .2s;
}
.qty-form button:hover { background: rgba(212,175,55,.2); }
.qty-form b { min-width: 24px; text-align: center; font-weight: 600; }

.sel-line-total {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  color: #d4af37;
  min-width: 90px;
  text-align: right;
}

.remove-item {
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  background: transparent;
  color: inherit;
  font-size: 1.2rem;
  cursor: pointer;
  opacity: .5;
  transition: all .2s;
}
.remove-item:hover { opacity: 1; border-color: #d4af37; color: #d4af37; }

.back-to-catalog {
  display: inline-block;
  margin-top: 24px;
  color: #d4af37;
  font-size: .95rem;
  text-decoration: none;
}
.back-to-catalog:hover { text-decoration: underline; }

/* Resumo */
.selection-summary {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 28px;
  position: sticky;
  top: 24px;
  height: fit-content;
}
@media (max-width: 900px) {
  .selection-summary { position: static; }
}
.selection-summary h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  margin-bottom: 22px;
}

/* Cupom */
.promo-form {
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 22px;
}
.promo-form label {
  display: block;
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: 10px;
}
.promo-row { display: flex; gap: 8px; }
.promo-row input {
  flex: 1;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(0,0,0,.25);
  color: inherit;
  font-size: .95rem;
  outline: none;
}
.promo-row input:focus { border-color: #d4af37; }

.coupon-hint {
  margin-top: 12px;
  font-size: .78rem;
  opacity: .6;
}
.coupon-hint b { color: #d4af37; }

.promo-ok {
  margin-top: 12px;
  color: #7ccf8c;
  font-size: .9rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.remove-coupon {
  width: 20px; height: 20px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.1);
  color: inherit;
  cursor: pointer;
  font-size: .8rem;
  line-height: 1;
}
.promo-error {
  margin-top: 12px;
  color: #e07a7a;
  font-size: .9rem;
}

/* Totais */
.totals { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.totals-row {
  display: flex;
  justify-content: space-between;
  font-size: .95rem;
}
.discount-row { color: #7ccf8c; }
.total-row {
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: 1.1rem;
}
.total-row strong {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  color: #d4af37;
}

/* Botões */
.full-button { width: 100%; }
.clear-button {
  width: 100%;
  padding: 12px;
  margin-top: 12px;
  border: none;
  background: transparent;
  color: inherit;
  opacity: .6;
  font-size: .9rem;
  cursor: pointer;
  text-decoration: underline;
  transition: opacity .2s;
}
.clear-button:hover { opacity: 1; }

.selection-disclaimer {
  font-size: .75rem;
  opacity: .5;
  text-align: center;
  margin-top: 16px;
  line-height: 1.6;
}

/* Empty state */
.empty-selection {
  text-align: center;
  padding: 80px 20px;
  border: 1px dashed rgba(255,255,255,.12);
  border-radius: 16px;
  max-width: 500px;
  margin: 40px auto;
}
.empty-selection p { margin-bottom: 24px; opacity: .7; }

/* Modal garçom */
.waiter-line {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.waiter-line:last-child { border-bottom: none; }
.waiter-discount { color: #7ccf8c; }
.waiter-total {
  padding-top: 16px;
  font-size: 1.2rem;
  border-top: 1px solid rgba(212,175,55,.3);
  margin-top: 8px;
}
.waiter-total strong { color: #d4af37; font-family: 'Playfair Display', serif; }

/* ============================================================
   CARROSSEL DE CATEGORIAS
   ============================================================ */

.cat-carousel-wrap {
  position: relative;
  margin-top: 40px;
}

.cat-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 8px 4px 24px;
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE */
}
.cat-carousel::-webkit-scrollbar { display: none; }

/* Card (slide) */
.cat-slide {
  flex: 0 0 340px;
  scroll-snap-align: start;
  position: relative;
  height: 460px;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  transition: transform .45s cubic-bezier(.22,.61,.36,1),
              box-shadow .45s ease;
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
  isolation: isolate;
}
.cat-slide:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,.5);
}

@media (max-width: 640px) {
  .cat-slide { flex-basis: 280px; height: 400px; padding: 22px; }
}

/* Imagem de fundo com zoom no hover */
.cat-slide-bg {
  position: absolute;
  inset: 0;
  background-image: var(--cat-image);
  background-size: cover;
  background-position: center;
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
  z-index: 0;
}
.cat-slide:hover .cat-slide-bg {
  transform: scale(1.08);
}

/* Gradiente para legibilidade */
.cat-slide-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.92) 0%,
    rgba(0,0,0,.55) 45%,
    rgba(0,0,0,.15) 75%,
    rgba(0,0,0,.1) 100%
  );
  z-index: 1;
  transition: background .4s ease;
}
.cat-slide:hover .cat-slide-shade {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.95) 0%,
    rgba(20,15,10,.7) 45%,
    rgba(0,0,0,.25) 75%,
    rgba(0,0,0,.1) 100%
  );
}

/* Número no canto */
.cat-number {
  position: absolute;
  top: 22px;
  left: 24px;
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 400;
  color: #d4af37;
  opacity: .9;
  z-index: 2;
  letter-spacing: -.02em;
}

/* Conteúdo */
.cat-slide-content {
  position: relative;
  z-index: 2;
  transform: translateY(0);
  transition: transform .4s ease;
}
.cat-slide:hover .cat-slide-content {
  transform: translateY(-4px);
}

.cat-slide-content h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.15;
  color: #f5f0e6;
}

.cat-slide-content p {
  font-size: .92rem;
  line-height: 1.5;
  color: rgba(255,255,255,.75);
  margin: 0 0 18px;
  max-width: 90%;
}

/* Meta (contagem + explorar) */
.cat-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.15);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.65);
}

.cat-explore {
  color: #d4af37;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .3s ease;
}
.cat-explore b {
  font-size: 1rem;
  transition: transform .3s ease;
}
.cat-slide:hover .cat-explore { gap: 10px; }
.cat-slide:hover .cat-explore b { transform: translate(2px, -2px); }

/* Setas de navegação */
.cat-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(212,175,55,.5);
  background: rgba(11,11,11,.85);
  backdrop-filter: blur(6px);
  color: #d4af37;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
  transition: all .25s ease;
}
.cat-nav:hover {
  background: #d4af37;
  color: #1a1a1a;
  border-color: #d4af37;
  transform: translateY(-50%) scale(1.08);
}
.cat-nav:disabled {
  opacity: .3;
  cursor: not-allowed;
}
.cat-prev { left: -20px; }
.cat-next { right: -20px; }

@media (max-width: 900px) {
  .cat-prev, .cat-next { display: none; }
}

/* Pontinhos indicadores */
.cat-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.cat-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  transition: all .3s ease;
  cursor: pointer;
}
.cat-dots span.active {
  background: #d4af37;
  width: 26px;
  border-radius: 4px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CATEGORIAS — carrossel coverflow (com fallback seguro)
   ═══════════════════════════════════════════════════════════════════════════ */

.cat3d-wrap {
  position: relative;
  margin-top: 50px;
  overflow: hidden;
  padding: 40px 0 10px;
  background: var(--paper);         /* garante fundo claro do site */
}

.cat3d-track {
  display: flex;
  align-items: center;
  gap: 24px;
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
  padding: 0 50%;
}

/* ─────────── Card ─────────── */
.cat3d-card {
  position: relative;
  flex: 0 0 350px;
  height: 600px;
  border-radius: 20px;
  overflow: hidden;                              /* ← ESSENCIAL: recorta imagem */
  text-decoration: none;
  color: #fff;
  background: #1a1a1a;                           /* ← fallback se imagem falhar */
  transform: scale(.78);
  opacity: .45;
  filter: grayscale(.55) brightness(.85);
  transition: transform .6s cubic-bezier(.22,.61,.36,1),
              opacity .6s ease,
              filter .6s ease,
              box-shadow .6s ease;
  cursor: pointer;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.55);
}

.cat3d-card.is-active {
  transform: scale(1);
  opacity: 1;
  filter: none;
  box-shadow: 0 40px 80px -20px rgba(0,0,0,.65);
  z-index: 2;
}

/* ─────────── Imagem de fundo ─────────── */
.cat3d-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #2a2622;                     /* ← fallback cor se url falhar */
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1);
  z-index: 0;
}

.cat3d-card.is-active:hover .cat3d-img {
  transform: scale(1.05);
}

/* ─────────── Gradiente sobre a imagem ─────────── */
.cat3d-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.45) 35%,
    rgba(0,0,0,.1) 65%,
    transparent 85%
  );
  z-index: 1;
  pointer-events: none;
}

/* ─────────── Conteúdo ─────────── */
.cat3d-body {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
}

.cat3d-num {
  position: absolute;
  top: 22px;
  left: 26px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.3rem;
  color: rgba(255,255,255,.85);
  letter-spacing: .04em;
  z-index: 3;
}

.cat3d-body h3 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.55rem;
  line-height: 1.12;
  margin: 0 0 8px;
  color: #fff;
  text-shadow: 0 1px 20px rgba(0,0,0,.6);
  transition: font-size .4s ease;
}
.cat3d-card.is-active .cat3d-body h3 {
  font-size: 1.9rem;
}

.cat3d-body p {
  font-size: .85rem;
  line-height: 1.5;
  color: rgba(255,255,255,.85);
  margin: 0 0 18px;
  max-width: 92%;
  text-shadow: 0 1px 12px rgba(0,0,0,.5);
}

.cat3d-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .74rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
  padding-top: 10px;
}
.cat3d-meta b {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 400;
  transition: transform .35s ease;
}
.cat3d-card.is-active:hover .cat3d-meta b {
  transform: translate(4px, -4px);
}

/* ─────────── Setas ─────────── */
.cat3d-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.1);
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(6px);
  color: #111;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
  transition: all .25s ease;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
.cat3d-nav:hover {
  background: var(--gold);
  color: #111;
  transform: translateY(-50%) scale(1.08);
}
.cat3d-nav:disabled {
  opacity: .25;
  cursor: not-allowed;
  transform: translateY(-50%);
}
.cat3d-prev { left: 16px; }
.cat3d-next { right: 16px; }

/* ─────────── Dots ─────────── */
.cat3d-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
}
.cat3d-dots span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.2);
  cursor: pointer;
  transition: all .3s ease;
}
.cat3d-dots span.active {
  background: var(--gold);
  width: 28px;
}

/* ─────────── Responsivo ─────────── */
@media (max-width: 900px) {
  .cat3d-card { flex: 0 0 260px; height: 380px; }
  .cat3d-body { padding: 22px; }
  .cat3d-body h3 { font-size: 1.35rem; }
  .cat3d-card.is-active .cat3d-body h3 { font-size: 1.6rem; }
  .cat3d-nav { width: 40px; height: 40px; font-size: 1.5rem; }
}

@media (max-width: 560px) {
  .cat3d-wrap { padding-top: 24px; }
  .cat3d-card { flex: 0 0 220px; height: 320px; }
  .cat3d-body { padding: 18px; }
  .cat3d-body h3 { font-size: 1.2rem; }
  .cat3d-card.is-active .cat3d-body h3 { font-size: 1.4rem; }
  .cat3d-body p { font-size: .76rem; max-width: 100%; }
  .cat3d-num { font-size: 1rem; top: 14px; left: 18px; }
  .cat3d-nav { width: 34px; height: 34px; font-size: 1.2rem; }
  .cat3d-prev { left: 4px; }
  .cat3d-next { right: 4px; }
}




/* ═══════════════════════════════════════════════════════════════════════════
   FG — GRID DE BEBIDAS (escopo isolado, prefixo fg-)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─────────── Grid ─────────── */
.fg-drinks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 12px;
}
@media (max-width: 1024px) {
  .fg-drinks-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 560px) {
  .fg-drinks-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ─────────── Card ─────────── */
.fg-drink-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 16px;
  transition: transform .45s cubic-bezier(.22,.61,.36,1);
  animation: fgDrinkFadeIn .6s cubic-bezier(.22,.61,.36,1) both;
}
.fg-drink-card:hover {
  transform: translateY(-6px);
}
.fg-drink-card:focus-visible {
  outline: 2px solid var(--gold, #c7a77a);
  outline-offset: 4px;
}

/* Cascata de entrada */
.fg-drink-card:nth-child(1)  { animation-delay: .04s; }
.fg-drink-card:nth-child(2)  { animation-delay: .08s; }
.fg-drink-card:nth-child(3)  { animation-delay: .12s; }
.fg-drink-card:nth-child(4)  { animation-delay: .16s; }
.fg-drink-card:nth-child(5)  { animation-delay: .20s; }
.fg-drink-card:nth-child(6)  { animation-delay: .24s; }
.fg-drink-card:nth-child(7)  { animation-delay: .28s; }
.fg-drink-card:nth-child(8)  { animation-delay: .32s; }
.fg-drink-card:nth-child(9)  { animation-delay: .36s; }
.fg-drink-card:nth-child(10) { animation-delay: .40s; }
.fg-drink-card:nth-child(11) { animation-delay: .44s; }
.fg-drink-card:nth-child(12) { animation-delay: .48s; }
.fg-drink-card:nth-child(13) { animation-delay: .52s; }
.fg-drink-card:nth-child(14) { animation-delay: .56s; }
.fg-drink-card:nth-child(15) { animation-delay: .60s; }
.fg-drink-card:nth-child(16) { animation-delay: .64s; }

@keyframes fgDrinkFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─────────── Foto ─────────── */
.fg-drink-photo {
  position: relative;
  height: 300px;
  border-radius: 16px;
  overflow: hidden;
  background-color: #2a2622;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-size 1.2s cubic-bezier(.22,.61,.36,1),
              box-shadow .45s ease;
}
.fg-drink-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.15) 30%,
    transparent 55%
  );
  z-index: 1;
  pointer-events: none;
}
.fg-drink-card:hover .fg-drink-photo {
  background-size: 108%;
  box-shadow:
    0 30px 60px -20px rgba(0,0,0,.55),
    0 15px 30px -15px rgba(0,0,0,.35);
}

/* Categoria (label) */
.fg-drink-cat {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 6px 12px;
  font-size: 9px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  font-weight: 500;
  color: #fff;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
}

/* Badge de promoção */
.fg-drink-promo {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--gold, #c7a77a);
  color: #111;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .5px;
  box-shadow: 0 4px 16px rgba(199,167,122,.5);
  animation: fgDrinkPulse 2.5s ease-in-out infinite;
}
@keyframes fgDrinkPulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(199,167,122,.5); }
  50%      { box-shadow: 0 4px 24px rgba(199,167,122,.8); }
}

/* ─────────── Info ─────────── */
.fg-drink-info {
  display: flex;
  flex-direction: column;
  padding: 22px 4px 4px;
  flex: 1;
}

.fg-drink-kicker {
  font-size: 9px;
  letter-spacing: 2.4px;
  color: var(--gold, #c7a77a);
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 10px;
}

.fg-drink-name {
  font-family: var(--serif, 'Playfair Display', serif);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.2;
  margin: 0 0 10px;
  color: #fff;
  transition: color .3s ease;
}
.fg-drink-card:hover .fg-drink-name {
  color: var(--gold-light, #e4cfad);
}

.fg-drink-desc {
  font-size: 13px;
  line-height: 1.6;
  color: #a9a39a;
  margin: 0 0 20px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─────────── Rodapé ─────────── */
.fg-drink-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: auto;
}

.fg-drink-price {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--serif, 'Playfair Display', serif);
}
.fg-drink-price s {
  font-size: .9rem;
  color: #6b6560;
  text-decoration: line-through;
  font-weight: 400;
}
.fg-drink-price b {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--gold, #c7a77a);
  letter-spacing: -.01em;
}

/* Botão + */
.fg-drink-form { display: inline-block; margin: 0; }

.fg-drink-add {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(199,167,122,.5);
  background: transparent;
  color: var(--gold, #c7a77a);
  font-size: 20px;
  font-weight: 300;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all .35s cubic-bezier(.22,.61,.36,1);
  line-height: 1;
}

.fg-drink-card:hover .fg-drink-add {
  border-color: var(--gold, #c7a77a);
  background: rgba(199,167,122,.08);
}

.fg-drink-add:hover {
  background: var(--gold, #c7a77a);
  color: #111;
  transform: rotate(90deg) scale(1.08);
  box-shadow: 0 6px 20px rgba(199,167,122,.4);
}

/* ─────────── Estado vazio ─────────── */
.fg-drinks-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 80px 20px;
  border: 1px dashed rgba(255,255,255,.12);
  border-radius: 16px;
  color: #aaa;
}
.fg-drinks-empty p { margin-bottom: 24px; font-size: 15px; }

.mesa-form {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #1e1e1e;
}
.mesa-form label {
  font-size: .85rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #aaa;
}
.mesa-form label b { color: #c9a24a; }
.mesa-form input {
  padding: .85rem 1rem;
  border: 1px solid #333;
  background: #111;
  color: #eee;
  border-radius: .6rem;
  font-size: 1rem;
}
.mesa-form input:focus {
  outline: none;
  border-color: #c9a24a;
}

.pedido-sucesso { text-align: center; }
.pedido-sucesso h1 { margin: .5rem 0; }

/* ============ Abas do painel ============ */
.pedidos-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 2rem 0 2.5rem;
}
.pedidos-tab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid #2a2a2a;
  background: #0e0e0e;
  border-radius: 1rem;
  text-decoration: none;
  color: #ccc;
  transition: border-color .2s, background .2s, transform .15s;
}
.pedidos-tab:hover {
  border-color: #c9a24a;
  transform: translateY(-1px);
}
.pedidos-tab.active {
  border-color: #c9a24a;
  background: #141414;
  color: #e9d9a8;
}
.pedidos-tab .tab-ic {
  font-size: 1.6rem;
  line-height: 1;
}
.pedidos-tab b { display: block; font-size: 1rem; }
.pedidos-tab small {
  display: block;
  font-size: .75rem;
  color: #888;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-top: .15rem;
}
.pedidos-tab.active small { color: #b99a52; }

.tab-badge {
  margin-left: auto;
  background: #c9a24a;
  color: #111;
  font-weight: 700;
  font-size: .8rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  min-width: 1.5rem;
  text-align: center;
}

/* ============ Seções ============ */
.pedidos-section { margin-bottom: 3rem; }
.pedidos-section h2 {
  font-size: 1.1rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #bbb;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.section-count {
  background: #1e1e1e;
  color: #e9d9a8;
  font-size: .8rem;
  padding: .15rem .55rem;
  border-radius: 999px;
  font-weight: 600;
}

.pedidos-empty {
  padding: 2rem;
  text-align: center;
  color: #777;
  border: 1px dashed #2a2a2a;
  border-radius: 1rem;
}

/* ============ Cards ============ */
.pedidos-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.pedido-card {
  border: 1px solid #2a2a2a;
  border-radius: 1rem;
  padding: 1.1rem;
  background: #0e0e0e;
  display: flex;
  flex-direction: column;
  gap: .7rem;
}
.pedido-card header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: .85rem;
  color: #888;
  border-bottom: 1px solid #1c1c1c;
  padding-bottom: .5rem;
}
.pedido-card header strong {
  color: #e9d9a8;
  font-size: 1.05rem;
}
.pedido-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .9rem;
}
.pedido-card li {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  padding: .3rem 0;
  border-bottom: 1px solid #181818;
  color: #ccc;
}
.pedido-card li b { color: #e9d9a8; white-space: nowrap; }
.pedido-card li:last-child { border-bottom: 0; }

.pedido-desc {
  font-size: .82rem;
  color: #b99a52;
  margin: 0;
}

.pedido-card footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem;
  border-top: 1px solid #1c1c1c;
  padding-top: .7rem;
}
.pedido-card footer > b {
  color: #e9d9a8;
  font-size: 1.05rem;
}

.pedido-actions {
  display: flex;
  gap: .4rem;
  align-items: center;
}
.pedido-actions form { display: inline; }

/* Botão de deletar */
.outline-button.danger {
  border-color: #7a2a2a;
  color: #e07a7a;
  padding: .5rem .7rem;
  font-size: 1rem;
  line-height: 1;
}
.outline-button.danger:hover {
  background: #7a2a2a;
  color: #fff;
  border-color: #7a2a2a;
}

/* Responsivo */
@media (max-width: 640px) {
  .pedidos-tabs { grid-template-columns: 1fr; }
  .pedido-card footer { flex-direction: column; align-items: stretch; }
  .pedido-actions { justify-content: space-between; }
}

.modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
}
.modal-actions .outline-button {
  border-color: #c9a24a;
  color: #c9a24a;
}
.modal-actions .outline-button:hover {
  background: #c9a24a;
  color: #111;
}