/* =============================================================================
   Stavanger Open – Programvisning: lys / mørk / som enheten
   Lastes fra program-form.php etter so-program.css og so-audience.css.
   Mørk modus aktiveres med klassen .so-prog--dark på #so-prog-wrapper
   (og .so-prog-dark på <html> for vinduer som ligger utenfor programmet).
   ============================================================================= */

/* ── Bryteren «Visning: Lys | Mørk | Auto» (begge modi) ──────────────────── */

#so-prog-wrapper .so-prog-look {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    background: #f6f7f7;
}

#so-prog-wrapper .so-prog-look button,
#so-prog-wrapper .so-prog-look button:hover,
#so-prog-wrapper .so-prog-look button:focus,
#so-prog-wrapper .so-prog-look button:active {
    margin: 0;
    padding: 4px 10px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #50575e;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: none;
    letter-spacing: normal;
    box-shadow: none;
    outline: none;
    cursor: pointer;
    min-height: 0;
}

#so-prog-wrapper .so-prog-look button.is-on,
#so-prog-wrapper .so-prog-look button.is-on:hover,
#so-prog-wrapper .so-prog-look button.is-on:focus {
    background: #ffffff;
    color: #1d2327;
    box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.12 );
}

#so-prog-wrapper .so-prog-look button:focus-visible {
    box-shadow: 0 0 0 2px rgba( 34, 113, 177, 0.35 );
}

/* ── Mørk modus ──────────────────────────────────────────────────────────── */

#so-prog-wrapper.so-prog--dark {
    background: #16181b;
    color: #e8eaed;
    border-radius: 14px;
    color-scheme: dark;
}

#so-prog-wrapper.so-prog--dark .so-prog-look {
    border-color: #2e3338;
    background: #24282d;
}

#so-prog-wrapper.so-prog--dark .so-prog-look button,
#so-prog-wrapper.so-prog--dark .so-prog-look button:hover,
#so-prog-wrapper.so-prog--dark .so-prog-look button:focus {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-prog-look button.is-on,
#so-prog-wrapper.so-prog--dark .so-prog-look button.is-on:hover,
#so-prog-wrapper.so-prog--dark .so-prog-look button.is-on:focus {
    background: #1e2125;
    color: #e8eaed;
}

/* Filter og klokke */
#so-prog-wrapper.so-prog--dark .so-prog-filter-label {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-prog-select {
    border-color: #3a4047;
    background: #1e2125;
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark .so-prog-clock {
    color: #e8eaed;
}

/* Informasjons- og stemmelinjen */
#so-prog-wrapper.so-prog--dark .so-audience-bar {
    border-color: #6b3436;
    background: #3a2224;
    color: #f6c3c3;
}

/* Liste og rader */
#so-prog-wrapper.so-prog--dark .so-prog-list {
    border-top-color: #2e3338;
}

#so-prog-wrapper.so-prog--dark .so-prog-item {
    border-bottom-color: #2e3338;
}

#so-prog-wrapper.so-prog--dark .so-prog-item[data-hall="1"] {
    background: #1e2125;
}

#so-prog-wrapper.so-prog--dark .so-prog-item[data-hall="2"] {
    background: #1c2633;
}

#so-prog-wrapper.so-prog--dark .so-prog-item:hover {
    background: #262b31;
}

#so-prog-wrapper.so-prog--dark .so-prog-item[data-hall="2"]:hover,
#so-prog-wrapper.so-prog--dark .so-prog-item[data-hall="2"].so-prog-item--active {
    background: #22303f;
}

#so-prog-wrapper.so-prog--dark .so-prog-row,
#so-prog-wrapper.so-prog--dark .so-prog-row:hover,
#so-prog-wrapper.so-prog--dark .so-prog-row:focus,
#so-prog-wrapper.so-prog--dark .so-prog-row:active,
#so-prog-wrapper.so-prog--dark .so-prog-row--clickable:hover {
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark .so-prog-row--clickable:hover {
    background: transparent;
}

#so-prog-wrapper.so-prog--dark .so-prog-item--open > .so-prog-row,
#so-prog-wrapper.so-prog--dark .so-prog-item--open > .so-prog-row:focus,
#so-prog-wrapper.so-prog--dark .so-prog-item--open > .so-prog-row:active {
    background: #1f2c3a;
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark .so-prog-time {
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark .so-prog-row--clickable:hover .so-prog-time,
#so-prog-wrapper.so-prog--dark .so-prog-item--open .so-prog-expand-icon {
    color: #7fb0e0;
}

#so-prog-wrapper.so-prog--dark .so-prog-hall,
#so-prog-wrapper.so-prog--dark .so-prog-division,
#so-prog-wrapper.so-prog--dark .so-prog-row .so-prog-hall,
#so-prog-wrapper.so-prog--dark .so-prog-row .so-prog-division {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-prog-item--pause .so-prog-row,
#so-prog-wrapper.so-prog--dark .so-prog-item--pause .so-prog-row:hover,
#so-prog-wrapper.so-prog--dark .so-prog-item--pause .so-prog-row:focus {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-prog-expand-icon {
    color: #7b828a;
}

#so-prog-wrapper.so-prog--dark button.so-prog-row:focus-visible {
    outline-color: #7fb0e0;
}

#so-prog-wrapper.so-prog--dark .so-prog-empty {
    color: #a3a9b0;
}

/* Detaljpanel */
#so-prog-wrapper.so-prog--dark .so-prog-detail {
    border-top-color: #2e3338;
    background: #24282d;
}

#so-prog-wrapper.so-prog--dark .so-prog-detail-name,
#so-prog-wrapper.so-prog--dark .so-prog-detail-meta-row dd,
#so-prog-wrapper.so-prog--dark .so-prog-detail-program-title,
#so-prog-wrapper.so-prog--dark .so-prog-detail-piece,
#so-prog-wrapper.so-prog--dark .so-prog-piece-soloists {
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark .so-prog-detail-meta-row dt,
#so-prog-wrapper.so-prog--dark .so-prog-piece-composer {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-prog-piece-duration {
    color: #7b828a;
}

#so-prog-wrapper.so-prog--dark .so-prog-detail-notes {
    border-left-color: #7fb0e0;
    background: #1e2125;
    color: #e8eaed;
}

/* Dommere og konferansierer */
#so-prog-wrapper.so-prog--dark button.so-crew__toggle,
#so-prog-wrapper.so-prog--dark button.so-crew__toggle:hover,
#so-prog-wrapper.so-prog--dark button.so-crew__toggle:focus,
#so-prog-wrapper.so-prog--dark .so-crew__toggle {
    border-color: #3a4047;
    background: #1e2125;
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark button.so-crew__toggle:hover {
    border-color: #7fb0e0;
}

#so-prog-wrapper.so-prog--dark .so-crew__toggle small,
#so-prog-wrapper.so-prog--dark .so-crew-grp,
#so-prog-wrapper.so-prog--dark .so-crew-txt small,
#so-prog-wrapper.so-prog--dark .so-crew-tba,
#so-prog-wrapper.so-prog--dark .so-prog-detail-crew__title,
#so-prog-wrapper.so-prog--dark .so-crew-chip .so-crew-txt small {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-crew-hall {
    border-color: #3a4047;
    background: #1e2125;
}

#so-prog-wrapper.so-prog--dark .so-crew-hall[data-hall="2"] {
    background: #1c2633;
}

#so-prog-wrapper.so-prog--dark .so-crew-hall__head {
    border-bottom-color: #3a4047;
    background: rgba( 255, 255, 255, 0.03 );
}

#so-prog-wrapper.so-prog--dark button.so-crew-person,
#so-prog-wrapper.so-prog--dark button.so-crew-person:hover,
#so-prog-wrapper.so-prog--dark button.so-crew-person:focus,
#so-prog-wrapper.so-prog--dark .so-crew-person {
    border-color: #3a4047;
    background: #24282d;
    color: #e8eaed;
}

#so-prog-wrapper.so-prog--dark button.so-crew-person:hover {
    border-color: #7fb0e0;
}

#so-prog-wrapper.so-prog--dark .so-prog-detail-crew {
    border-top-color: #3a4047;
}

#so-prog-wrapper.so-prog--dark button.so-crew-chip,
#so-prog-wrapper.so-prog--dark button.so-crew-chip:hover,
#so-prog-wrapper.so-prog--dark button.so-crew-chip:focus,
#so-prog-wrapper.so-prog--dark .so-crew-chip {
    color: #7fb0e0;
}

#so-prog-wrapper.so-prog--dark .so-crew-chip--plain {
    color: inherit;
}

/* Dommerseksjon (eldre visning) */
#so-prog-wrapper.so-prog--dark .so-prog-judges {
    border-top-color: #2e3338;
}

#so-prog-wrapper.so-prog--dark .so-prog-judges__title {
    border-bottom-color: #7fb0e0;
    color: #7fb0e0;
}

#so-prog-wrapper.so-prog--dark .so-prog-judges__list li,
#so-prog-wrapper.so-prog--dark .so-prog-judges__list .so-judge-profile-btn,
#so-prog-wrapper.so-prog--dark .so-prog-judges__list .so-judge-profile-btn:hover,
#so-prog-wrapper.so-prog--dark .so-prog-judges__list .so-judge-profile-btn:focus {
    color: #e8eaed !important;
}

/* Kafemeny i pauser */
#so-prog-wrapper.so-prog--dark .so-cafe-menu {
    border-top-color: #2e3338;
}

#so-prog-wrapper.so-prog--dark .so-cafe-menu__title,
#so-prog-wrapper.so-prog--dark .so-cafe-menu__desc,
#so-prog-wrapper.so-prog--dark p.so-cafe-menu__info {
    color: #a3a9b0;
}

#so-prog-wrapper.so-prog--dark .so-cafe-menu__item {
    border-color: #3a4047;
    background: #1e2125;
}

#so-prog-wrapper.so-prog--dark .so-cafe-menu__price {
    color: #7fb0e0;
}

/* Utsolgt (merkes på kafésiden) */
#so-prog-wrapper.so-prog--dark .so-cafe-menu__sold-out {
    background: #3a2224;
    color: #f6a5a5;
}

/* Hjerteknapp (publikumsstemming) */
#so-prog-wrapper.so-prog--dark .so-heart-btn {
    color: #6b7280;
}

/* ── Hele siden i mørk modus (innholdet mellom header og footer) ─────────── */
/* Header og footer beholder sine egne farger fra temaet/Elementor. */
html.so-prog-dark,
html.so-prog-dark body {
    background: #16181b !important;
}

html.so-prog-dark main,
html.so-prog-dark #content,
html.so-prog-dark .site-main,
html.so-prog-dark .site-content,
html.so-prog-dark .page-content,
html.so-prog-dark main .elementor-section,
html.so-prog-dark main .elementor-widget-wrap,
html.so-prog-dark main .e-con,
html.so-prog-dark #content .elementor-section,
html.so-prog-dark #content .elementor-widget-wrap,
html.so-prog-dark #content .e-con {
    background-color: transparent !important;
}

/* Sidetittel og annen tekst i innholdsområdet */
html.so-prog-dark main .entry-title,
html.so-prog-dark main .page-header h1,
html.so-prog-dark #content .entry-title,
html.so-prog-dark #content .page-header h1 {
    color: #e8eaed;
}

/* ── Vinduer utenfor programmet (registrering for publikumsstemming) ─────── */

html.so-prog-dark .so-audience-modal__box {
    background: #1e2125;
    color: #e8eaed;
}

html.so-prog-dark .so-audience-modal__title,
html.so-prog-dark .so-audience-modal__field label {
    color: #e8eaed;
}

html.so-prog-dark .so-audience-modal__desc,
html.so-prog-dark .so-audience-modal__optional {
    color: #a3a9b0;
}

html.so-prog-dark .so-audience-modal__close {
    color: #a3a9b0 !important;
}

html.so-prog-dark .so-audience-modal__close:hover {
    color: #e8eaed !important;
}

html.so-prog-dark .so-audience-modal__field input,
html.so-prog-dark .so-audience-modal__field select {
    border-color: #3a4047;
    background: #16181b;
    color: #e8eaed;
}

html.so-prog-dark .so-audience-modal__error {
    color: #f6a5a5;
}

html.so-prog-dark #so-website-modal > div {
    background: #1e2125 !important;
}

/* Dommerprofil-vinduet (bilde og biografi når man klikker på en dommer) */
html.so-prog-dark .so-judge-modal__backdrop {
    background: rgba( 0, 0, 0, 0.65 ) !important;
}

html.so-prog-dark .so-judge-modal__box {
    border: 1px solid #2e3338;
    background: #1e2125 !important;
    color: #e8eaed !important;
    box-shadow: 0 12px 40px rgba( 0, 0, 0, 0.5 );
}

html.so-prog-dark .so-judge-modal__name {
    color: #e8eaed !important;
}

html.so-prog-dark .so-judge-modal__bio {
    color: #c9cdd2 !important;
}

html.so-prog-dark .so-judge-modal__close,
html.so-prog-dark .so-judge-modal__close:hover,
html.so-prog-dark .so-judge-modal__close:focus {
    background: transparent !important;
    color: #a3a9b0 !important;
    box-shadow: none !important;
}

html.so-prog-dark .so-judge-modal__close:hover {
    color: #e8eaed !important;
}

/* Nøytral infolinje når publikumsstemmingen ikke er åpen */
#so-prog-wrapper.so-prog--dark .so-audience-bar--info {
    border-color: #3a4047;
    background: #24282d;
    color: #c9cdd2;
}

/* ── Dommere og konferansierer: samme pilleform med og uten bio/bilde ──────
   Personer med biografi eller bilde er en knapp (.so-judge-profile-btn) som
   ellers får lenkestil fra andre stilark. Overstyres her i begge modi. */

#so-prog-wrapper .so-crew-people button.so-judge-profile-btn.so-crew-person,
#so-prog-wrapper .so-crew-people button.so-judge-profile-btn.so-crew-person:hover,
#so-prog-wrapper .so-crew-people button.so-judge-profile-btn.so-crew-person:focus,
#so-prog-wrapper .so-crew-people button.so-judge-profile-btn.so-crew-person:active {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px 12px 4px 4px !important;
    border: 1px solid #dcdcde !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #1d2327 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    outline: none;
    cursor: pointer;
}

#so-prog-wrapper .so-crew-people button.so-judge-profile-btn.so-crew-person:hover {
    border-color: #2271b1 !important;
}

#so-prog-wrapper .so-crew-people button.so-judge-profile-btn.so-crew-person:focus-visible {
    box-shadow: 0 0 0 2px rgba( 34, 113, 177, 0.35 ) !important;
}

#so-prog-wrapper .so-crew-people .so-crew-person .so-crew-txt,
#so-prog-wrapper .so-crew-people .so-crew-person:hover .so-crew-txt {
    color: inherit !important;
    text-decoration: none !important;
}

/* Runde portretter (temaet kan ellers gi bildene firkantede hjørner) */
#so-prog-wrapper .so-crew-people .so-crew-ava {
    border-radius: 50% !important;
    object-fit: cover !important;
    max-width: none !important;
    margin: 0 !important;
    flex: none;
}

#so-prog-wrapper.so-prog--dark .so-crew-people button.so-judge-profile-btn.so-crew-person,
#so-prog-wrapper.so-prog--dark .so-crew-people button.so-judge-profile-btn.so-crew-person:hover,
#so-prog-wrapper.so-prog--dark .so-crew-people button.so-judge-profile-btn.so-crew-person:focus,
#so-prog-wrapper.so-prog--dark .so-crew-people button.so-judge-profile-btn.so-crew-person:active {
    border-color: #3a4047 !important;
    background: #24282d !important;
    color: #e8eaed !important;
}

#so-prog-wrapper.so-prog--dark .so-crew-people button.so-judge-profile-btn.so-crew-person:hover {
    border-color: #7fb0e0 !important;
}

#so-prog-wrapper.so-prog--dark .so-crew-people button.so-judge-profile-btn.so-crew-person:focus-visible {
    box-shadow: 0 0 0 2px rgba( 127, 176, 224, 0.4 ) !important;
}

/* ── Ingen forskyvning når dommerprofil-vinduet åpnes ────────────────────────
   Vinduet låser siden bak (overflow: hidden), så rullefeltet forsvinner og
   innholdet hopper sidelengs. Plassen til rullefeltet holdes av på programsiden. */
html {
    scrollbar-gutter: stable;
}