/* Laterais exclusivas de telas largas; mobile/PWA mantém a composição original. */
.sombio-desktop-rail { display: none; }

@media (min-width: 1280px) {
  body:is([data-sombio-type], [data-page="event"]) .sombio-desktop-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 260px;
    align-items: start;
    gap: 24px;
    width: min(1600px, calc(100% - 48px));
    margin: 112px auto 0;
  }
  body:is([data-sombio-type], [data-page="event"]) .sombio-desktop-content { min-width: 0; }
  body:is([data-sombio-type], [data-page="event"]) .sombio-desktop-content > main { min-width: 0; min-height: 0; }
  body:is([data-sombio-type], [data-page="event"]) .sombio-desktop-rail {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: 112px;
    max-height: calc(100dvh - 132px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--line) transparent;
    min-width: 0;
    padding: 2px 2px 20px;
    color: var(--text);
  }
  body:is([data-sombio-type], [data-page="event"]) .sombio-desktop-rail[hidden] { display: none; }
  body:is([data-sombio-type], [data-page="event"]) .sombio-rail-card {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: var(--card);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .04);
  }
  .sombio-desktop-rail h2 { margin: 0; font-size: 12px; font-weight: 800; line-height: 1.5; letter-spacing: .04em; }
  .sombio-rail-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
  .sombio-rail-heading h2 { display: flex; align-items: center; gap: 6px; }
  .sombio-rail-heading h2 i { color: #ff6600; font-size: 18px; }
  .sombio-rail-heading > a { font-size: 12px; color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
  .sombio-rail-shortcuts { display: grid; gap: 8px; }
  .sombio-rail-shortcuts a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px; border-radius: 14px; font-size: 13px; font-weight: 750; }
  .sombio-rail-shortcuts i { color: #ff6600; font-size: 22px; }
  .sombio-rail-shortcuts .sombio-rail-home { background: rgba(255, 102, 0, .12); }
  .sombio-rail-home i:last-child { margin-left: auto; font-size: 14px; }
  .sombio-rail-socials { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
  .sombio-rail-socials a { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: var(--card2); font-size: 23px; }
  .sombio-rail-news { display: flex; align-items: start; gap: 8px; padding: 14px 0; border-top: 1px solid var(--line); }
  .sombio-rail-news span { flex: 1; min-width: 0; }
  .sombio-rail-news strong { display: block; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
  .sombio-rail-news small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.5; }
  .sombio-rail-news > i { margin-top: 3px; color: #ff6600; }
  .sombio-rail-muted, .sombio-rail-legal { color: var(--muted); font-size: 12px; line-height: 1.7; }
  .sombio-rail-legal { padding: 0 18px; }
  .sombio-desktop-rail a:hover { background-color: rgba(255, 102, 0, .10); }
  .sombio-desktop-rail a:focus-visible { outline: 3px solid #ff6600; outline-offset: 3px; }

  /* A largura útil é a coluna central, e não mais a janela inteira. */
  body[data-sombio-type] .sombio-desktop-content .container { width: calc(100% - 40px); max-width: 100%; }
  body[data-sombio-type] .sombio-desktop-content :is(.hero, .v-sombio-hero) {
    min-height: 0; padding: 160px 0 24px; border-radius: 28px;
    overflow: hidden;
  }
  body[data-sombio-type] .sombio-desktop-content :is(.hero-grid, .v-hero-grid) {
    width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr); gap: 24px;
  }
  body[data-sombio-type] .sombio-desktop-content :is(.hero-identity, .v-hero-identity) { grid-template-columns: 112px minmax(0, 1fr); gap: 18px; }
  body[data-sombio-type] .sombio-desktop-content :is(.hero-portrait, .v-hero-portrait) { width: 112px; height: 112px; border-width: 3px; }
  body[data-sombio-type] .sombio-desktop-content :is(.hero h1, .v-hero-summary h1) { font-size: clamp(28px, 2.5vw, 40px); overflow-wrap: anywhere; }
  body[data-sombio-type] .sombio-desktop-content :is(.hero-panel, .v-hero-panel) { width: 100%; min-width: 0; }
  body[data-sombio-type] .sombio-desktop-content section { scroll-margin-top: 112px; }
  body[data-sombio-type] .sombio-desktop-content :is(.about-grid, .listen-grid, .release-grid, .repertoire-layout, .contact-final, .contact-card, .location-card, .environment, .premium-agenda-layout, .sdb-social-shell-v40, .sdb-sommenu-callout-v40) { grid-template-columns: minmax(0, 1fr); }
  body[data-sombio-type] .sombio-desktop-content :is(.gallery-grid, .members-grid, .promo-grid, .format-grid, .sombio-channel-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-sombio-type] .sombio-desktop-content :is(.hero-socials, .v-hero-socials) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-sombio-type] .sombio-desktop-content :is(.section-head, .sombio-channel-head) { flex-wrap: wrap; }
  body[data-sombio-type] .sombio-desktop-content .use-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-sombio-type] .sombio-desktop-content .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-sombio-type="artist"] .sombio-desktop-content .event-card.has-media { grid-template-columns: 100px 60px minmax(0, 1fr); }
  body[data-sombio-type="artist"] .sombio-desktop-content .event-card.has-media > .btn-event { grid-column: 1 / -1; }
  body[data-sombio-type] .sombio-desktop-right .somads-sombio-slot { padding: 0; margin: 0 0 20px; }
  body[data-sombio-type] .sombio-desktop-right .container { width: 100%; margin: 0; padding: 0; }
  body[data-sombio-type] .sombio-desktop-right .somads-public-profile { display: block; min-width: 0; }
  body[data-sombio-type] .sombio-desktop-right .somads-public-profile .somads-public-media { min-height: 0; aspect-ratio: 16 / 9; }
  body[data-sombio-type] .sombio-desktop-right .somads-public-title { font-size: 19px; }

  /* Neutraliza apenas nestes componentes os antigos reforços globais da Casa. */
  body[data-page="venue_profile"][data-sombio-type="venue"] .sombio-desktop-rail .sombio-rail-card { padding: 18px !important; background: var(--card) !important; color: var(--text) !important; }
  body[data-page="venue_profile"] .sombio-desktop-right .somads-sombio-slot { padding: 0 !important; }
  body[data-page="venue_profile"] .sombio-desktop-right .container { width: 100% !important; padding: 0 !important; }
  body[data-page="venue_profile"] .sombio-desktop-content .v-sombio-hero { padding: 160px 0 24px !important; }
}
