/* =======================================================
   BUFFET / PREÇOS
   ======================================================= */
#buffet{position:relative; overflow:hidden}
.buffet-video-wrap{position:absolute; inset:0; z-index:0; pointer-events:none}
.buffet-video{width:100%; height:100%; object-fit:cover; filter:saturate(1.08) contrast(1.1)}
.buffet-dim{position:absolute; inset:0; z-index:1; background:radial-gradient(70% 60% at 50% 20%,rgba(0,0,0,.45),rgba(0,0,0,.82) 75%), rgba(0,0,0,.7)}
#buffet .container, #buffet .pricing{position:relative; z-index:2}

#buffet .pricing{
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(18px,2.6vw,28px); margin-top:26px;
}
@media (max-width:960px){#buffet .pricing{grid-template-columns:1fr}}
@media (max-width:760px){#buffet .pricing{grid-template-columns:1fr; gap:var(--m-space); margin-top:18px}}

.price-card{
  position:relative; padding:30px 26px; border-radius:18px;
  background:rgba(15,15,15,.55); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,223,138,.28); box-shadow:0 10px 32px rgba(0,0,0,.45);
  overflow:hidden; text-align:left; color:var(--text);
  transition:opacity .3s ease-out, box-shadow .25s var(--ease-smooth), border-color .25s, background .25s;
  content-visibility:auto; contain-intrinsic-size:260px 220px; opacity:0;
}
.price-card h3{
  font-family:"Fraunces",Georgia,serif; font-weight:700; font-size:clamp(1.2rem,2vw,1.5rem); margin:0 0 .6rem; color:#efe9d2;
}
.price-card .price{
  margin:.2rem 0 0; font-weight:800; font-size:clamp(1.6rem,2.4vw,2rem); line-height:1.1;
  background:var(--gold-grad); -webkit-background-clip:text; color:transparent;
}
.price-card .price span{font-size:clamp(2.1rem,3.8vw,2.8rem)}
.price-card .price-meta{color:#d7d1bf; font-size:.98rem; letter-spacing:.04em; opacity:.95}
.price-card .price-meta.top{margin-top:4px; margin-bottom:2px; text-transform:lowercase}
.price-card .note{margin-top:.9rem; color:#e4deca; font-size:1rem; line-height:1.55; text-shadow:0 2px 4px rgba(0,0,0,.65)}
.price-card h3,.price-card .note,.price-card p{text-shadow:0 2px 4px rgba(0,0,0,.65)}

.price-card.highlight{
  background:radial-gradient(140% 140% at 100% 0%,rgba(255,223,138,.08),transparent 46%), linear-gradient(180deg,#111,#0b0b0b);
  border-color:rgba(255,223,138,.3); box-shadow:0 24px 70px rgba(232,199,103,.18),0 14px 40px rgba(0,0,0,.55);
}
.price-card .badge{
  position:absolute; top:10px; right:14px; padding:.32rem .6rem; border-radius:999px;
  background:rgba(232,199,103,.22); border-color:rgba(232,199,103,.55); color:#fff3d2; font-weight:600; font-size:.68rem;
}

.price-actions{margin-top:16px; display:flex; gap:10px; flex-wrap:wrap}
.price-actions .btn{padding:.8rem 1.1rem; font-weight:700; text-shadow:0 2px 4px rgba(0,0,0,.65)}
.price-actions .btn-outline{background:rgba(255,223,138,.06); border:1px solid rgba(255,223,138,.35)}

#buffet.reveal.reveal-in .price-card{opacity:1}
#buffet .price-card:hover{background:rgba(20,20,20,.62); border-color:rgba(255,223,138,.45); box-shadow:0 18px 50px rgba(0,0,0,.55)}
body.is-scrolling #buffet .price-card{box-shadow:0 6px 16px rgba(0,0,0,.3)}

#buffet .heading-animated{
  background:var(--gold-grad); -webkit-background-clip:text; color:transparent;
  opacity:0; transform:translateY(8px); transition:opacity .3s ease-out, transform .3s ease-out;
}
#buffet.reveal.reveal-in .heading-animated{opacity:1; transform:none}

@media (max-width:760px){
  #buffet .price-card{padding:22px 18px; border-radius:14px; box-shadow:0 8px 18px rgba(0,0,0,.32)}
  #buffet .price-card .price span{font-size:clamp(1.8rem,7.5vw,2.2rem)}
  .buffet-video{display:block; width:100%; height:100%; object-fit:cover}
  .buffet-video-wrap{background:none}
}
@media (max-width:360px){#buffet .price-card{padding:18px}}
#buffet h2,#galeria h2,#contato h2{margin-left:auto; margin-right:auto; text-align:center}
