/* ===== Base (mesmos estilos do design aprovado) ===== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Work Sans', system-ui, sans-serif; background: #fdfbf7; color: #1c1611; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.vz-header a:hover, .vz-footer a:hover { opacity: 0.72; }
.vz-navlink { position: relative; padding: 6px 2px; }
.vz-navlink[data-active="true"]::after { content: ""; position: absolute; left: 2px; right: 2px; bottom: -2px; height: 2px; background: #fec600; border-radius: 2px; }
.vz-btn-gold { background:#FAC601; color:#000000; padding:15px 28px; border-radius:999px; font-weight:600; font-size:15px; display:inline-flex; align-items:center; gap:8px; }
.vz-btn-outline { border:1.5px solid #f4efe6; color:#f4efe6; padding:15px 28px; border-radius:999px; font-weight:600; font-size:15px; display:inline-flex; align-items:center; gap:8px; }
.vz-chip { display:flex; align-items:center; gap:10px; padding:18px 22px; background:#fff; border:1px solid #efe9df; border-radius:16px; }
.vz-teaser-link { color:#383838; font-weight:600; font-size:14px; display:inline-flex; align-items:center; gap:6px; }
.vz-dish-card { border-radius:18px; overflow:hidden; border:1px solid #efe9df; background:#fff; }
.vz-social { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #3a3a3a; display:flex; align-items:center; justify-content:center; }
.vz-value { display:flex; gap:16px; padding:22px; background:#fff; border:1px solid #efe9df; border-radius:18px; }
.vz-item { display:flex; gap:18px; padding:18px; border-radius:16px; background:#fff; border:1px solid #efe9df; }
.vz-info-row { display:flex; gap:16px; align-items:flex-start; padding:20px; border-radius:16px; background:#fff; border:1px solid #efe9df; }
.vz-tab { padding:10px 20px; border-radius:999px; font-size:13.5px; font-weight:600; white-space:nowrap; cursor:pointer; }
.vz-hours-row { display:grid; grid-template-columns:1fr auto; gap:6px 16px; align-items:start; font-size:14px; padding:10px 0; border-bottom:1px solid #efe9df; }
.vz-banner { position:relative; height:280px; overflow:hidden; background:#000000; }
.vz-banner > img { position:absolute; left:0; top:-200px; width:100%; height:720px; object-fit:cover; display:block; }
.vz-map-embed { position:relative; width:100%; height:460px; border-radius:20px; overflow:hidden; border:1px solid #efe9df; background:#eee7d8; }
.vz-map-embed iframe { width:100%; height:100%; border:0; display:block; }
.vz-team-grid { display:grid; grid-template-columns:repeat(3, 260px); gap:24px; justify-content:center; }
@media (max-width: 900px) { .vz-team-grid { grid-template-columns:repeat(2, minmax(0, 260px)); } .vz-story { flex-direction:column; } .vz-story > div { width:100%; } .vz-story > div:last-child { height:300px !important; } }
@media (max-width: 560px) { .vz-team-grid { grid-template-columns:minmax(0, 300px); } .vz-banner { height:220px !important; } .vz-map-embed { height:320px; } }
.vz-pedir { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#000000; white-space:nowrap; border-bottom:1.5px solid #FAC601; padding-bottom:1px; }

/* ===== Banner com cor clara: textos escuros ===== */
.vz-banner-claro h1, .vz-banner-claro span { color: #000000 !important; }

/* ===== Menu mobile ===== */
.vz-burger { display:none; width:44px; height:44px; border:1px solid #efe9df; border-radius:12px; background:#fff; cursor:pointer; padding:0; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.vz-burger span { display:block; width:20px; height:2px; background:#1c1611; border-radius:2px; transition: transform .25s, opacity .25s; }
.vz-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vz-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.vz-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.vz-mobile-nav { display:none; flex-direction:column; background:#fff; border-bottom:1px solid #efe9df; padding:8px 20px 16px; position:sticky; top:72px; z-index:49; }
.vz-mobile-nav a { padding:13px 6px; font-size:15px; font-weight:500; border-bottom:1px solid #f3eee4; }
.vz-mobile-nav a[data-active="true"] { color:#383838; font-weight:600; }
.vz-mobile-nav.vz-open { display:flex; }

/* ===== Efeitos ===== */
.vz-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.vz-reveal.vz-in { opacity: 1; transform: none; }
.vz-reveal[data-delay="1"] { transition-delay: .08s; }
.vz-reveal[data-delay="2"] { transition-delay: .16s; }
.vz-reveal[data-delay="3"] { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) { .vz-reveal { opacity: 1; transform: none; transition: none; } }
.vz-chip, .vz-dish-card, .vz-value, .vz-item, .vz-info-row, .vz-hover-card { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1), border-color .35s; }
.vz-chip:hover, .vz-dish-card:hover, .vz-value:hover, .vz-info-row:hover, .vz-hover-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(11,11,11,0.10); border-color: #e6dcc6; }
.vz-dish-card img, .vz-hover-img img, .vz-gal img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.vz-dish-card:hover img, .vz-hover-img:hover img, .vz-gal:hover img { transform: scale(1.04); }
.vz-hover-img, .vz-gal { overflow: hidden; }
.vz-gal { border-radius: 16px; }
a[style*="border-radius:999px"], .vz-btn-gold, .vz-btn-outline { transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease; }
a[style*="border-radius:999px"]:hover, .vz-btn-gold:hover, .vz-btn-outline:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(11,11,11,0.14); opacity: 1 !important; }
.vz-pedir { transition: color .25s, border-color .25s, gap .25s; } .vz-pedir:hover { color: #383838; border-color: #000000; gap: 10px; }
.vz-header { position: sticky; top: 0; z-index: 50; transition: box-shadow .3s ease; display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
.vz-header > .vz-nav { justify-self: center; }
.vz-header > :last-child { justify-self: end; }
.vz-header.vz-scrolled { box-shadow: 0 6px 24px rgba(11,11,11,0.08); }
.vz-slide { transition: opacity 1.4s ease; will-change: transform; }
.vz-dot { cursor: pointer; transition: background .3s; }
.vz-hero-content, .vz-hero-caption-text { transition: opacity .35s ease; }
.vz-parallax { will-change: transform; }

/* ===== Lightbox ===== */
.vz-lb { position: fixed; inset: 0; z-index: 1100; background: rgba(11,11,11,0.92); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.vz-lb.vz-open { opacity: 1; pointer-events: auto; }
.vz-lb img, .vz-lb iframe, .vz-lb video { max-width: min(92vw, 1200px); max-height: 86vh; border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,0.5); transform: scale(.96); transition: transform .3s ease; background:#000; }
.vz-lb iframe, .vz-lb video { width: min(92vw, 1200px); height: min(86vh, 675px); }
.vz-lb.vz-open img, .vz-lb.vz-open iframe, .vz-lb.vz-open video { transform: scale(1); }
.vz-lb-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.7); background: rgba(255,255,255,0.08); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .25s, border-color .25s; }
.vz-lb-btn:hover, .vz-lb-close:hover { background: #FAC601; border-color: #FAC601; color: #000000; }
.vz-lb-prev { left: 28px; } .vz-lb-next { right: 28px; }
.vz-lb-close { position: absolute; top: 22px; right: 28px; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.7); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.vz-lb-cap { position: absolute; bottom: 26px; left: 0; right: 0; text-align: center; color: #fdfbf7; font-size: 14px; display: flex; flex-direction: column; gap: 4px; pointer-events:none; }
.vz-lb-cap small { color: rgba(253,251,247,0.6); letter-spacing: 1.2px; text-transform: uppercase; font-size: 11px; }

/* ===== Vídeos (Ambiente) ===== */
.vz-video-card { position:relative; border-radius:18px; overflow:hidden; background:#000000; cursor:pointer; aspect-ratio:16/9; flex: 0 0 calc((100% - 40px) / 3); min-width: 0; }
@media (max-width: 860px) { .vz-video-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 560px) { .vz-video-card { flex-basis: 100%; } }
.vz-video-card img, .vz-video-card video { width:100%; height:100%; object-fit:cover; display:block; opacity:.85; transition: transform .6s, opacity .3s; }
.vz-video-card:hover img, .vz-video-card:hover video { transform: scale(1.04); opacity: 1; }
.vz-video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:#FAC601; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.35); transition: transform .3s; }
.vz-video-card:hover .vz-video-play { transform: translate(-50%,-50%) scale(1.08); }
.vz-video-cap { position:absolute; left:0; right:0; bottom:0; padding:14px 16px; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.7)); color:#fdfbf7; font-size:13.5px; font-weight:600; }

/* ===== Responsivo ===== */
@media (max-width: 1100px) {
  .vz-header { padding: 0 24px !important; }
  .vz-nav { gap: 22px !important; font-size: 14px !important; }
  .vz-container, .vz-dark-band, .vz-anvisa, .vz-container-cta, .vz-footer { padding-left: 24px !important; padding-right: 24px !important; }
  .vz-grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .vz-grid-5 { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  /* mapa de categorias vira grade */
  .vz-mapa { height: auto !important; padding: 40px 24px 32px; display: flex; flex-direction: column; gap: 22px; }
  .vz-mapa-titulo { position: static !important; }
  .vz-mapa-nota, .vz-mapa-deco { display: none !important; }
  .vz-mapa-card { position: static !important; width: auto !important; }
  .vz-mapa .vz-mapa-card { flex: 1 1 200px; }
  .vz-mapa-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
  .vz-hero-title { font-size: 52px !important; }
}
@media (max-width: 860px) {
  .vz-header { height: 72px !important; padding: 0 18px !important; }
  .vz-header .vz-brand img { width: 46px !important; }
  .vz-nav { display: none !important; }
  .vz-burger { display: flex; }
  .vz-header .vz-open-order { padding: 9px 14px !important; font-size: 13px !important; }
  .vz-hero { height: 560px !important; }
  .vz-hero-title { font-size: 40px !important; }
  .vz-hero-caption { padding: 14px 18px !important; }
  .vz-hero-caption-text { font-size: 14px !important; }
  .vz-dots { right: 14px !important; }
  .vz-anvisa { font-size: 12.5px !important; text-align: center; }
  .vz-container, .vz-dark-band, .vz-container-cta, .vz-footer { padding-left: 18px !important; padding-right: 18px !important; }
  .vz-container[style*="padding:80px"], .vz-dark-band { padding-top: 56px !important; padding-bottom: 56px !important; }
  .vz-grid-3, .vz-grid-5 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .vz-mapa-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vz-mapa-titulo h2 { font-size: 44px !important; }
  .vz-coletivas { padding: 26px !important; gap: 24px !important; }
  .vz-cta { padding: 32px 26px !important; }
  .vz-cta h3 { font-size: 26px !important; }
  .vz-footer { padding-top: 48px !important; }
  .vz-footer-cols { gap: 28px !important; }
  h2[style*="font-size:34px"], h2[style*="font-size:32px"] { font-size: 27px !important; }
  h1[style*="font-size:44px"] { font-size: 32px !important; }
  .vz-modal-box { width: calc(100vw - 32px) !important; padding: 28px 20px !important; }
  .vz-lb-prev { left: 8px; } .vz-lb-next { right: 8px; }
  .vz-lb-btn { width: 44px; height: 44px; }
}
@media (max-width: 860px) {
  .vz-grid-2 { grid-template-columns: 1fr !important; }
  .vz-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)) !important; grid-auto-rows: 160px !important; }
  .vz-mosaic .vz-gal { grid-column: span 1 !important; grid-row: span 1 !important; height: 160px !important; }
  .vz-mosaic .vz-gal:nth-child(3n+1) { grid-column: span 2 !important; }
}
@media (max-width: 560px) {
  .vz-grid-3, .vz-grid-4, .vz-grid-5, .vz-mapa-cards { grid-template-columns: 1fr !important; }
  .vz-grid-4[style*="grid-auto-rows"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; grid-auto-rows: 150px !important; }
  .vz-grid-4[style*="grid-auto-rows"] .vz-gal, .vz-grid-4[style*="grid-auto-rows"] img { height: 150px !important; }
  .vz-hero { height: 520px !important; }
  .vz-hero-title { font-size: 34px !important; }
  .vz-hero-btns a { padding: 13px 20px !important; font-size: 14px !important; }
  .vz-modal-grid { grid-template-columns: 1fr !important; }
  .vz-anvisa span[style*="color:#fec600"] { display: none; }
  .vz-footer-legal { flex-direction: column; gap: 6px !important; }
}
