/* Primeira dobra da Casa alinhada à composição atual da somBIO Artista.
   Classes próprias isolam a apresentação das antigas camadas cinematográficas. */
body[data-page="venue_profile"] .v-sombio-topbar {
  position:fixed; top:24px; left:50%; transform:translateX(-50%); z-index:90;
  width:min(1230px,calc(100% - 64px)); min-height:66px; padding:8px 20px;
  display:grid; grid-template-columns:minmax(220px,1fr) auto auto; gap:16px;
  align-items:center; border:1px solid var(--line); border-radius:999px;
  background:var(--card); color:var(--text); backdrop-filter:blur(22px);
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}
.v-top-left,.v-top-right,.v-top-profile { display:flex; align-items:center; gap:8px; min-width:0; }
.v-top-right { justify-content:flex-end; }
.v-top-profile img { width:48px; height:48px; border:2px solid #ff6600; border-radius:50%; object-fit:cover; flex-shrink:0; }
.v-top-profile span { display:grid; min-width:0; }
.v-top-profile strong { font-size:12px; font-weight:800; text-transform:uppercase; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:180px; }
.v-top-profile small { font-size:13px; color:#ff6600; font-weight:700; }
.v-icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:14px; background:transparent; color:inherit; font-size:22px; flex-shrink:0; cursor:pointer; }
.v-top-links { display:flex; align-items:center; gap:6px; }
.v-top-links a { padding:11px 12px; border-radius:999px; font-size:12px; font-weight:800; color:var(--muted); }
.v-top-links a:hover,.v-icon-button:hover { background:rgba(255,102,0,.1); color:#ff6600; }
.v-wordmark { display:flex; justify-content:center; align-items:center; gap:0; padding:10px 14px; border-radius:999px; background:var(--card2); font-size:20px; letter-spacing:-.075em; line-height:1; font-weight:900; }
.v-wordmark b { color:#e50914; }
.v-mobile-wordmark { display:none; }
body[data-page="venue_profile"] .v-sombio-hero {
  position:relative; isolation:isolate; min-height:100svh;
  padding:clamp(180px,30svh,340px) 0 clamp(36px,6svh,64px);
  display:grid; align-items:end; overflow:hidden;
}
.v-hero-cover { position:absolute; inset:0; z-index:-1; background:#050505; }
.v-hero-cover img,.v-hero-cover video { width:100%; height:100%; max-width:100%; object-fit:cover; display:block; }
.v-hero-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.48),rgba(5,5,5,.25)),linear-gradient(0deg,rgba(5,5,5,.65),transparent 70%); }
.v-hero-grid { width:min(1230px,calc(100% - 64px)); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(370px,.95fr); gap:clamp(32px,5vw,80px); align-items:start; }
.v-hero-identity { display:grid; grid-template-columns:clamp(160px,15.25vw,244px) minmax(0,1fr); gap:20px; align-items:start; }
.v-hero-portrait { aspect-ratio:1; width:100%; border:5px solid #ff6600; border-radius:50%; overflow:hidden; box-shadow:0 12px 35px rgba(0,0,0,.25); }
.v-hero-portrait img { width:100%; height:100%; object-fit:cover; display:block; }
.v-hero-summary { display:flex; flex-direction:column; min-width:0; }
.v-hero-summary h1 { margin:0; color:#fff; font-size:clamp(30px,2.9vw,46px); font-weight:800; line-height:1.08; letter-spacing:-.035em; overflow-wrap:anywhere; }
.v-hero-lead { margin:5px 0 0; color:#fff; font-size:13px; line-height:1.45; font-weight:600; }
.v-hero-kicker { display:flex; align-items:flex-start; flex-wrap:wrap; gap:5px; margin:16px 0 0; padding:10px 0; color:#fff; font-size:13px; font-weight:700; line-height:1.4; }
.v-hero-actions { display:grid; gap:10px; margin-top:16px; }
.v-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:0; padding:10px 14px; border:0; border-radius:999px; font-size:13px; font-weight:800; line-height:1.3; cursor:pointer; touch-action:manipulation; text-align:center; }
.v-button i { flex-shrink:0; font-size:22px; }
.v-button-primary { background:#ff6600; color:#fff; box-shadow:0 10px 28px rgba(255,102,0,.18); }
.v-button-soft { background:rgba(255,255,255,.86); color:#18181b; }
.v-hero-socials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; border-top:1px solid rgba(255,255,255,.45); padding-top:28px; margin-top:28px; scroll-margin-top:110px; }
.v-social-chip { min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; gap:9px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.86); color:#18181b; font-size:14px; font-weight:800; touch-action:manipulation; }
.v-social-chip i { font-size:20px; color:#ff6600; flex-shrink:0; }
.v-social-chip span { overflow-wrap:anywhere; }
.v-hero-engagement { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.3); }
.v-engagement-button { color:#18181b; background:rgba(255,255,255,.86); min-height:48px; white-space:normal; }
.v-engagement-button i { font-size:24px; color:#ff6600; }
.v-hero-wifi { margin-top:10px; background:rgba(255,255,255,.86); color:#18181b; }
.v-hero-panel { overflow:hidden; border-radius:30px; background:color-mix(in srgb,var(--card) 75%,transparent); backdrop-filter:blur(16px); box-shadow:0 20px 65px rgba(0,0,0,.18); }
.v-next-card { padding:24px 28px; border-radius:30px; background:color-mix(in srgb,var(--card) 90%,transparent); color:var(--text); }
.v-next-heading { display:flex; align-items:flex-start; gap:16px; }
.v-next-heading>div:last-child { min-width:0; }
.v-next-date { width:60px; min-height:78px; flex-shrink:0; border-radius:26px; background:var(--card); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.v-next-date strong { font-size:28px; color:#ff6600; line-height:1; }
.v-next-date span { font-size:13px; font-weight:800; }
.v-section-label { font-size:13px; font-weight:800; color:#ff6600; }
.v-next-card h2 { margin:6px 0 0; font-size:24px; font-weight:800; line-height:1.1; letter-spacing:-.02em; overflow-wrap:anywhere; }
.v-next-card p { margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.v-next-link { width:100%; margin-top:18px; }
.v-hero-hours { display:flex; align-items:center; gap:10px; padding:16px 28px; border-top:1px solid var(--line); font-size:13px; color:var(--text); }
.v-hero-hours i { font-size:22px; color:#ff6600; }
.v-hero-sound { position:absolute; right:24px; top:120px; z-index:2; display:flex; align-items:center; gap:8px; padding:12px; background:rgba(5,5,5,.7); color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:999px; cursor:pointer; }
.v-sombio-dock { display:none; }
body[data-page="venue_profile"] :is(.v-sombio-topbar,.v-sombio-hero,.v-sombio-dock) :is(a,button):focus-visible { outline:3px solid #ff6600; outline-offset:4px; }
@media (min-width:1041px) and (max-width:1200px) {
  .v-top-links { gap:0; }
  .v-top-links a { padding-inline:8px; }
  .v-top-profile strong { max-width:130px; }
  .v-hero-grid { grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr); gap:28px; }
  .v-hero-identity { grid-template-columns:140px minmax(0,1fr); gap:16px; }
}
@media (max-width:1040px) {
  body[data-page="venue_profile"] .v-sombio-topbar { top:calc(8px + env(safe-area-inset-top,0px)); left:max(12px,env(safe-area-inset-left,0px)); right:max(12px,env(safe-area-inset-right,0px)); width:auto; transform:none; grid-template-columns:44px minmax(0,1fr) auto; min-height:58px; padding:6px; gap:6px; border-radius:20px; box-shadow:0 8px 28px rgba(0,0,0,.14); }
  .v-top-profile,.v-top-links,.v-desktop-wordmark { display:none; }
  .v-mobile-wordmark { display:flex; background:transparent; border:0; }
  .v-top-right { gap:0; }
  body[data-page="venue_profile"] .v-sombio-hero { display:block; min-height:auto; padding:0 0 24px; overflow:visible; }
  .v-hero-cover { position:relative; inset:auto; height:calc(clamp(260px,42svh,380px) + env(safe-area-inset-top,0px)); z-index:0; }
  .v-hero-cover::after { background:linear-gradient(180deg,rgba(5,5,5,.16),transparent 40%,var(--bg)); }
  .v-hero-grid { position:relative; width:min(520px,calc(100% - max(16px,env(safe-area-inset-left,0px)) - max(16px,env(safe-area-inset-right,0px)))); grid-template-columns:minmax(0,1fr); gap:16px; margin-top:16px; }
  .v-hero-identity { grid-template-columns:80px minmax(0,1fr); gap:6px 14px; align-items:center; }
  .v-hero-summary { display:contents; }
  .v-hero-portrait { grid-column:1; grid-row:1 / 4; width:80px; height:80px; border-width:3px; }
  .v-hero-summary h1 { grid-column:2; grid-row:1; color:var(--text); font-size:clamp(22px,6vw,30px); }
  .v-hero-lead { grid-column:2; grid-row:2; margin:0; color:var(--muted); font-size:12px; font-weight:500; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .v-hero-kicker { grid-column:2; grid-row:3; margin:0; padding:0; color:var(--muted); font-size:11px; line-height:1.3; }
  .v-hero-kicker span { display:none; }
  .v-hero-actions { grid-column:1 / -1; grid-row:4; margin-top:12px; }
  .v-button { border-radius:16px; font-size:12px; }
  .v-button-soft,.v-engagement-button,.v-hero-wifi { background:var(--card); color:var(--text); border:1px solid var(--line); }
  .v-hero-socials { gap:8px; padding-top:0; border:0; margin-top:12px; }
  .v-social-chip { min-height:44px; gap:5px; padding:8px 6px; border-radius:14px; background:var(--card); color:var(--text); border:1px solid var(--line); font-size:11px; }
  .v-social-chip i { font-size:17px; }
  .v-hero-engagement { border-color:var(--line); }
  .v-hero-panel { background:var(--card); border:1px solid var(--line); border-radius:24px; box-shadow:none; }
  .v-next-card { padding:18px; border-radius:24px; }
  .v-next-card h2 { font-size:22px; }
  .v-hero-hours { padding:12px 18px; }
  .v-hero-sound { top:calc(82px + env(safe-area-inset-top,0px)); right:16px; }
  body[data-page="venue_profile"] main.page { padding-bottom:calc(112px + env(safe-area-inset-bottom,0px)); }
  .v-sombio-dock { position:fixed; left:max(8px,env(safe-area-inset-left,0px)); right:max(8px,env(safe-area-inset-right,0px)); bottom:8px; z-index:95; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; align-items:center; gap:6px; padding:7px; padding-bottom:calc(7px + env(safe-area-inset-bottom,0px)); border:1px solid var(--line); border-radius:22px; background:color-mix(in srgb,var(--bg) 90%,transparent); backdrop-filter:blur(22px); box-shadow:0 18px 60px rgba(0,0,0,.25); }
  .v-sombio-dock a { min-width:0; min-height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:var(--muted); border-radius:16px; font-size:10px; font-weight:800; touch-action:manipulation; }
  .v-sombio-dock i { font-size:22px; color:#ff6600; }
  .v-sombio-dock img { width:26px; height:26px; border-radius:50%; object-fit:cover; }
  .v-sombio-dock .v-dock-menu { min-height:60px; background:rgba(255,102,0,.13); color:#ff6600; border:1px solid rgba(255,102,0,.3); transform:translateY(-3px); }
  .v-sombio-dock .v-dock-menu i { font-size:26px; }
  .v-sombio-dock a:hover { background:rgba(255,102,0,.12); color:#ff6600; }
}
@media (max-width:360px) {
  .v-hero-socials { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v-engagement-button { padding-inline:8px; font-size:12px; }
  .v-hero-portrait { width:72px; height:72px; }
  .v-hero-identity { grid-template-columns:72px minmax(0,1fr); gap:6px 10px; }
  .v-sombio-dock { gap:4px; }
}
