/* Site público (página principal, categorias e atividades). As cores vêm da Identidade visual do painel. */
body.v{
  --v-pri:#E8731A; --v-pri-ink:#FFFFFF; --v-acc:#0F4C5C; --v-acc-ink:#FFFFFF; --v-txt:#10272E; --v-bg:#FFFFFF;
  --bg:var(--v-bg); --surface:#FFFFFF; --fg:var(--v-txt); --muted:color-mix(in srgb, var(--v-txt) 68%, var(--v-bg));
  --line:color-mix(in srgb, var(--v-pri) 20%, #E6E1DC); --sunk:color-mix(in srgb, var(--v-pri) 8%, #FFFFFF);
  --sun:var(--v-pri); --sea:var(--v-acc); --sea-ink:var(--v-acc-ink); --info-soft:color-mix(in srgb, var(--v-pri) 18%, #FFFFFF); --r:14px;
  background:var(--v-bg); color:var(--v-txt); font-size:16px; overflow-x:hidden
}
body.v a{color:var(--v-acc)}
body.v .btn{min-height:44px;border-color:var(--line)}
body.v .btn.primary{background:var(--v-pri);border-color:var(--v-pri);color:var(--v-pri-ink)}
body.v .btn.big{min-height:52px;padding:14px 24px;font-size:17px}
body.v .ic{width:22px;height:22px;flex:none}
body.v h1{font-size:clamp(32px,7vw,54px)}
body.v h2{font-size:clamp(26px,5vw,38px)}
body.v .eyebrow{color:var(--v-pri);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;margin-bottom:6px}
body.v .lead{color:var(--muted);font-size:17px;max-width:62ch}
body.v .v-sub{font-size:18px;color:var(--muted);margin:10px 0 0;max-width:60ch}
.wrap.narrow{max-width:760px}
.center-row{justify-content:center}
/* prévia */
.v-prev{background:#FFF0D6;color:#7A4A00;text-align:center;padding:8px 16px;font-size:14px;border-bottom:1px solid #F2D29C}
/* menu */
.v-head{position:sticky;top:0;z-index:30;background:color-mix(in srgb, var(--v-bg) 94%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.v-head .wrap{display:flex;align-items:center;gap:10px;min-height:62px}
.v-logo{display:flex;align-items:center;text-decoration:none;color:var(--v-txt) !important;font-family:var(--display);font-size:20px;margin-right:auto;min-width:0}
.v-logo img{max-height:44px;max-width:170px;object-fit:contain;display:block}
.v-logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-res{background:var(--v-pri);border-color:var(--v-pri) !important;color:var(--v-pri-ink) !important;min-height:40px !important}
.v-burger{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-content:center;gap:5px;cursor:pointer}
.v-burger span{display:block;width:20px;height:2px;background:var(--v-txt);border-radius:2px}
.v-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--v-bg);border-bottom:1px solid var(--line);padding:8px 16px 16px;flex-direction:column;box-shadow:0 12px 24px rgba(0,0,0,.08)}
.v-nav.open{display:flex}
.v-nav a{padding:12px 6px;text-decoration:none;color:var(--v-txt) !important;font-weight:600;border-bottom:1px solid var(--line)}
.v-nav a[aria-current="page"]{color:var(--v-pri) !important}
.v-nav .v-wa{color:#128C4A !important;border-bottom:0}
@media (min-width:900px){
  .v-burger{display:none}
  .v-nav{display:flex;position:static;flex-direction:row;padding:0;border:0;box-shadow:none;background:none;gap:4px;order:2}
  .v-nav a{border:0;padding:8px 12px;border-radius:999px}
  .v-nav a:hover{background:var(--sunk)}
  .v-nav a[aria-current="page"]{background:var(--sunk)}
  .v-res{order:3}
}
/* carrossel */
.v-car{position:relative;border-radius:var(--r);overflow:hidden;background:var(--sunk)}
.v-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.v-track::-webkit-scrollbar{display:none}
.v-slide{flex:0 0 100%;margin:0;scroll-snap-align:start;aspect-ratio:16/10}
.v-slide img{width:100%;height:100%;object-fit:cover;display:block}
.v-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:2px}
.v-dots button{width:26px;height:26px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.v-dots button::before{content:'';width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.v-dots button[aria-current]::before{background:#fff;width:22px;border-radius:6px}
/* capa da página principal */
.v-hero{position:relative;color:#fff;background:#2B2448}
.v-hero-car{border-radius:0}
.v-hero-car .v-slide{aspect-ratio:auto;height:min(78vh,640px);min-height:440px}
.v-hero-t{position:absolute;inset:0;display:flex;align-items:flex-end;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(10,12,30,.55) 50%,rgba(10,12,30,.8) 100%)}
.v-hero-t .wrap{width:100%;padding-bottom:52px;pointer-events:auto}
.v-hero h1{color:#fff;max-width:16ch;text-shadow:0 2px 20px rgba(0,0,0,.35)}
body.v .v-hero .v-sub{color:#fff;opacity:.95}
body.v .v-hero .eyebrow{color:#FFE2BF;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.v-hero .row{margin-top:18px}
/* seções */
.v-sec{padding-block:48px}
.v-sec h2{margin-bottom:10px}
.v-about{background:var(--v-bg)}
.v-intro{max-width:720px}
.v-hl{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.v-hl li{display:flex;gap:10px;align-items:center;background:var(--sunk);border-radius:var(--r);padding:14px;font-weight:600;line-height:1.3}
.v-hl .ic{color:var(--v-pri);width:28px;height:28px}
.v-loc{background:var(--sunk)}
.v-loc-g{display:grid;gap:20px}
.v-loc h3{font-family:var(--body);font-weight:700;font-size:16px;margin:16px 0 4px}
.v-loc p{margin:0 0 12px}
.v-addr{display:flex;gap:8px;align-items:flex-start;font-weight:600}
.v-addr .ic{color:var(--v-pri)}
.v-map{width:100%;aspect-ratio:4/3;border:0;border-radius:var(--r);background:#E8EEF0}
@media (min-width:860px){.v-loc-g{grid-template-columns:1fr 1.2fr;align-items:center}}
.v-cat{background:var(--v-bg)}
.v-cat.alt{background:var(--sunk)}
.v-cat-g{display:grid;gap:20px;align-items:center}
.v-cat-t p{margin:12px 0 0}
.v-cat-t .btn{margin-top:18px}
@media (min-width:860px){.v-cat-g{grid-template-columns:1.15fr 1fr;gap:40px}.v-cat.alt .v-car{order:2}}
.v-faq details{border-bottom:1px solid var(--line);padding:16px 0}
.v-faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px;min-height:28px}
.v-faq summary::-webkit-details-marker{display:none}
.v-faq summary::after{content:'+';color:var(--v-pri);font-size:22px;line-height:1}
.v-faq details[open] summary::after{content:'–'}
.v-faq .a{white-space:pre-line;color:var(--muted);margin-top:8px}
.v-contact{background:var(--v-acc);color:var(--v-acc-ink);text-align:center}
body.v .v-contact h2,body.v .v-contact .lead{color:var(--v-acc-ink);margin-inline:auto}
.v-contact .btn:not(.primary){background:transparent;color:var(--v-acc-ink) !important;border-color:color-mix(in srgb, var(--v-acc-ink) 50%, transparent)}
/* rodapé */
.v-foot{background:#1B1A22;color:#E9E4DE;padding-block:36px 48px;font-size:14px}
.v-foot .wrap{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.v-foot a{color:#FFD9A8 !important}
.v-foot p{margin:6px 0 0}
.v-fname{font-family:var(--display);font-size:22px}
/* páginas de categoria e atividade */
.v-cover{display:grid}
.v-cover .v-car{border-radius:0}
.v-cover .v-slide{aspect-ratio:auto;height:min(52vh,460px);min-height:260px}
.v-cover-t{padding-block:24px 8px}
.v-cover-t p{margin:10px 0 0;max-width:65ch}
.v-cover-t .btn{margin-top:16px}
.v-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.v-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--v-txt) !important}
.v-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--sunk)}
.v-card .bd{padding:16px;display:grid;gap:8px;flex:1;align-content:start}
.v-card h3{font-size:21px}
.v-card p{margin:0;color:var(--muted);font-size:15px}
.v-card .btn{justify-self:start;margin-top:4px}
.v-card.link:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.v-from{font-size:14px;color:var(--muted)}.v-from b{font-size:20px;color:var(--v-txt)}
.v-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v-chips span{display:inline-flex;align-items:center;gap:6px;background:var(--sunk);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}
.v-chips .ic{width:16px;height:16px;color:var(--v-pri)}
.v-chips .off{background:#FFF0D6;color:#7A4A00}
.v-empty{text-align:center;padding:30px 0;display:grid;gap:10px;justify-items:center}
.v-crumbs{font-size:14px;color:var(--muted);padding-block:14px 0}
.v-crumbs a{color:var(--muted) !important}
.v-m1 h1,.v-m2-t h1{margin-top:6px}
.v-video{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;margin-top:20px}
.v-video iframe{width:100%;height:100%;border:0;display:block}
.v-m1 .v-car{margin-top:20px}
.v-cta-row{margin:18px 0 4px}
.v-cta-row .btn{width:100%;max-width:420px}
.v-m2{padding-top:14px}
.v-m2 .v-act-car{max-width:1080px;margin:0 auto;border-radius:0}
@media (min-width:760px){.v-m2 .v-act-car{border-radius:var(--r);width:calc(100% - 32px)}}
.v-m2-t{padding-block:20px 8px}
.v-desc{font-size:17px;margin-top:16px}
.v-inc{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.v-inc li{display:flex;gap:8px;align-items:flex-start}
.v-inc .ic{color:#1E7A4C;width:20px;height:20px;margin-top:2px}
.v-box{background:var(--sunk);border-radius:var(--r);padding:14px 16px;margin-top:16px}
.v-box p{margin:4px 0 0;color:var(--muted)}
.v-menu-s{margin-top:18px}
.v-menu-s h3{font-size:20px;border-bottom:2px solid var(--v-pri);padding-bottom:6px;display:inline-block}
.v-menu-s ul{list-style:none;padding:0;margin:8px 0 0}
.v-menu-s li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.v-menu-s li small{display:block;color:var(--muted)}
.v-menu-s li span{font-weight:700;white-space:nowrap}
.v-menu-f{display:grid;gap:12px;margin-top:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.v-menu-f img{width:100%;border-radius:var(--r);border:1px solid var(--line)}
.v-float{position:fixed;left:0;right:0;bottom:0;z-index:25;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--v-bg) 92%, transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line);display:flex;justify-content:center}
.v-float .btn{width:100%;max-width:480px;box-shadow:0 6px 20px color-mix(in srgb, var(--v-pri) 35%, transparent)}
body.v:has(.v-float) .v-foot{padding-bottom:110px}
/* reserva de atividade */
.v-book{padding-top:16px}
.v-book .sheet{box-shadow:none;border:0;background:#fff;max-width:600px;margin:0 auto}
.v-book .sheet header{background:#fff;border:0;padding:10px 0 0}
.v-book .sheet header .h2{font-size:24px}
.v-book .steps{padding:8px 0 0}
.v-book .steps span.on{background:var(--v-pri);color:var(--v-pri-ink)}
.v-book .sheet .body{padding:14px 0}
.v-book .bk-guide{background:var(--v-pri);color:var(--v-pri-ink)}
.v-book .bk-guide .n{color:var(--v-pri)}
.v-book select{min-height:46px;font-size:16px}
.v-book .bcal{max-width:none}
.v-book .bcal-grid button{min-height:44px;font-size:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-weight:500}
.v-book .bcal-grid button.ok{background:var(--info-soft);color:var(--v-txt);font-weight:700;box-shadow:none}
.v-book .bcal-grid button.sel{background:var(--v-pri);color:var(--v-pri-ink)}
.v-book .bcal-grid button:disabled{background:none;box-shadow:none;opacity:.45}
.v-book .bcal-grid button.full{opacity:1;background:#FDE4E1}
.bcal-leg .lg.ok{background:var(--info-soft)}.bcal-leg .lg.off{background:none;box-shadow:inset 0 0 0 1px var(--line)}
.v-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.v-times button{border:2px solid var(--line);background:#fff;border-radius:12px;padding:10px;cursor:pointer;display:grid;gap:2px;font:inherit;color:var(--v-txt);min-height:56px}
.v-times button b{font-size:18px}
.v-times button small{font-size:13px;color:var(--muted)}
.v-times button.sel{border-color:var(--v-pri);background:var(--info-soft)}
.v-times button:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.v-book .payopt label:has(input:checked){border-color:var(--v-pri);box-shadow:0 0 0 1px var(--v-pri)}
.v-vou .voucher .top{background:var(--v-pri);color:var(--v-pri-ink)}
.v-vou{display:grid;gap:16px}
@media (prefers-reduced-motion:no-preference){.v-card.link{transition:box-shadow .2s}}
