:root{--yvr-bg:#07111f;--yvr-bg2:#0b1727;--yvr-card:#101f32;--yvr-text:#f7fbff;--yvr-muted:#9db0c4;--yvr-accent:#22c7f2;--yvr-accent2:#7c5cff;--yvr-line:rgba(255,255,255,.09);--yvr-max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body.yvr-site{margin:0;background:var(--yvr-bg);color:var(--yvr-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.yvr-shell{width:min(calc(100% - 36px),var(--yvr-max));margin:auto}.yvr-header{position:sticky;top:0;z-index:1000;background:rgba(7,17,31,.96);backdrop-filter:blur(15px);border-bottom:1px solid var(--yvr-line)}.yvr-header-row{min-height:76px;display:flex;align-items:center;gap:18px}.yvr-brand{flex:0 0 auto}.yvr-brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.yvr-brand .custom-logo{max-height:48px;width:auto}.yvr-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:900;background:linear-gradient(135deg,var(--yvr-accent),var(--yvr-accent2));color:#07111f}.yvr-brand-text{font-weight:850;letter-spacing:.055em;white-space:nowrap;font-size:clamp(.9rem,1.35vw,1.15rem)}.yvr-nav{margin-left:auto}.yvr-menu{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}.yvr-menu a{font-size:.9rem;color:#dbe8f4}.yvr-menu a:hover{color:var(--yvr-accent)}.yvr-listen-header,.yvr-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--yvr-accent);color:#04111b;font-weight:800}.yvr-menu-toggle{display:none;margin-left:auto;background:transparent;color:white;border:1px solid var(--yvr-line);border-radius:8px;padding:9px 12px}.yvr-main{min-height:70vh}.yvr-content-wrap{padding:64px 0}.yvr-page-title,.yvr-article h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05}.yvr-card,.yvr-article{background:var(--yvr-card);border:1px solid var(--yvr-line);border-radius:18px;padding:22px}.yvr-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.yvr-footer{border-top:1px solid var(--yvr-line);background:#050c16;padding:52px 0 120px}.yvr-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.yvr-footer p{color:var(--yvr-muted)}.woocommerce .button,.woocommerce button.button,.woocommerce a.button{border-radius:999px!important;background:var(--yvr-accent)!important;color:#04111b!important}.woocommerce ul.products li.product{background:var(--yvr-card);border:1px solid var(--yvr-line);padding:14px;border-radius:16px}.elementor-section-wrap,.elementor{width:100%}@media(max-width:980px){.yvr-menu-toggle{display:block}.yvr-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#07111f;border-bottom:1px solid var(--yvr-line);padding:18px}.yvr-nav.is-open{display:block}.yvr-menu{flex-direction:column;align-items:flex-start}.yvr-listen-header{display:none}.yvr-footer-grid,.yvr-archive-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.yvr-shell{width:min(calc(100% - 24px),var(--yvr-max))}.yvr-brand-text{display:inline;font-size:.72rem;letter-spacing:.035em}.yvr-brand-mark{width:36px;height:36px;font-size:.82rem}.yvr-archive-grid,.yvr-footer-grid{grid-template-columns:1fr}.yvr-content-wrap{padding:40px 0}}

/* v1.3 cleaner station header */
.yvr-header-row{min-height:72px}.yvr-brand{min-width:max-content}.yvr-brand-text{font-size:clamp(.95rem,1.25vw,1.12rem);letter-spacing:.07em}.yvr-menu{gap:18px}.yvr-menu a{font-size:.86rem}.yvr-listen-header{min-height:42px;padding:0 17px}
@media(max-width:1120px) and (min-width:981px){.yvr-menu{gap:12px}.yvr-menu a{font-size:.78rem}.yvr-brand-text{font-size:.88rem}}

/* v1.4 live button feedback + cleaner active header state */
.yvr-listen-header{transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
.yvr-listen-header.is-playing{background:#39e67d;color:#03140a;box-shadow:0 0 0 4px rgba(57,230,125,.12),0 8px 24px rgba(57,230,125,.18)}
.yvr-listen-header.is-playing:hover{background:#51ed8c;transform:translateY(-1px)}

/* v1.5 restrained homepage/header polish */
.yvr-header{box-shadow:0 10px 35px rgba(0,0,0,.08)}
.yvr-brand-text{letter-spacing:.075em}
@media(max-width:640px){.yvr-header-row{min-height:64px}.yvr-brand-text{font-size:.74rem}}

/* YVR v1.7 presenter/show polish */
.yvr-single-yvr_dj,.yvr-single-yvr_show{padding:0;background:transparent;border:0}.yvr-profile-head{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:42px;align-items:center;background:linear-gradient(135deg,#101f32,#0b1727);border:1px solid var(--yvr-line);border-radius:24px;padding:34px;margin-bottom:28px}.yvr-profile-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;background:#07111f}.yvr-profile-head>div>span{color:var(--yvr-accent);font-size:.78rem;font-weight:900;letter-spacing:.16em}.yvr-profile-head h1{font-size:clamp(2.5rem,6vw,5.4rem);margin:.15em 0;line-height:.95}.yvr-profile-head p{font-size:1.15rem;color:var(--yvr-muted);margin:.5rem 0 1.2rem}.yvr-profile-socials{display:flex;flex-wrap:wrap;gap:10px}.yvr-profile-socials a{border:1px solid var(--yvr-line);border-radius:999px;padding:8px 14px;font-weight:700}.yvr-profile-socials a:hover{border-color:var(--yvr-accent);color:var(--yvr-accent)}.yvr-profile-schedule{margin-top:28px;background:var(--yvr-card);border:1px solid var(--yvr-line);border-radius:20px;padding:26px}.yvr-profile-schedule h2{margin-top:0}.yvr-profile-schedule p{padding:12px 0;margin:0;border-top:1px solid var(--yvr-line)}.yvr-show-hero{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;background:linear-gradient(135deg,#101f32,#0b1727);border:1px solid var(--yvr-line);border-radius:24px;padding:34px}.yvr-show-art{width:220px;aspect-ratio:1/1;object-fit:cover;border-radius:20px;background:#07111f}.yvr-show-copy>span{display:inline-block;color:var(--yvr-accent);font-size:.78rem;font-weight:900;letter-spacing:.15em}.yvr-show-copy h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.98;margin:.15em 0 .35em}.yvr-show-detail{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;background:#081525;border:1px solid var(--yvr-line);border-radius:14px;padding:14px 18px;margin:16px 0}.yvr-show-detail span{color:var(--yvr-accent);font-weight:850}.yvr-show-detail a{font-weight:750}.yvr-show-detail a:hover{color:var(--yvr-accent)}.yvr-show-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.yvr-show-actions button,.yvr-show-actions a{border:0;cursor:pointer;border-radius:999px;padding:12px 20px;font-weight:850}.yvr-show-actions button{background:var(--yvr-accent);color:#04111b}.yvr-show-actions a{border:1px solid var(--yvr-line)}.yvr-show-body{max-width:820px;margin:28px auto 0;font-size:1.06rem}.yvr-schedule{display:grid;grid-template-columns:repeat(7,minmax(240px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px}.yvr-schedule>section{background:var(--yvr-card);border:1px solid var(--yvr-line);border-radius:18px;padding:18px;min-height:190px}.yvr-schedule>section.is-today{border-color:rgba(34,199,242,.55)}.yvr-schedule h3{margin:0 0 15px}.yvr-schedule h3 span{display:block;color:var(--yvr-accent);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.yvr-show-row{display:grid;grid-template-columns:44px 72px 1fr;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--yvr-line)}.yvr-show-row img{width:44px;height:44px;object-fit:cover;border-radius:50%}.yvr-show-row time{font-size:.78rem;font-weight:850;color:var(--yvr-accent)}.yvr-show-row time small{display:block;color:var(--yvr-muted);font-weight:500}.yvr-show-row strong,.yvr-show-row span{display:block}.yvr-show-row span{font-size:.78rem;color:var(--yvr-muted)}@media(max-width:760px){.yvr-profile-head,.yvr-show-hero{grid-template-columns:1fr;gap:22px;padding:22px}.yvr-profile-photo{max-width:340px}.yvr-show-art{width:min(100%,300px)}.yvr-profile-head h1,.yvr-show-copy h1{font-size:clamp(2.2rem,12vw,4rem)}}


/* === YVR Theme v1.7.4: Centered Main Hero Branding ===
   Presentation-only override. The radio controls and Core layout remain unchanged. */
.yvr-home .yvr-hero .yvr-hero-brandline{
    width:100%;
    max-width:none;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}
.yvr-home .yvr-hero .yvr-hero-brandline .yvr-kicker{
    display:block;
    width:100%;
    text-align:center;
}
.yvr-home .yvr-hero .yvr-hero-brandline h1{
    width:100%;
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
@media (max-width: 767px){
    .yvr-home .yvr-hero .yvr-hero-brandline{
        padding-left:12px;
        padding-right:12px;
    }
}


/* === YVR Theme v1.7.5: Hero Kicker Alignment Fix ===
   Center only the LIVE RADIO • MUSIC • CULTURE branding line.
   Functional hero content below remains unchanged. */
.yvr-home .yvr-hero .yvr-hero-brandline .yvr-kicker{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}


/* === YVR Theme v1.7.6: Precise Hero Kicker Position ===
   Move only the small LIVE RADIO • MUSIC • CULTURE line.
   No radio/player/core selectors are changed. */
@media (min-width: 981px){
  .yvr-home .yvr-hero .yvr-hero-brandline .yvr-kicker{
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:max-content !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
    white-space:nowrap;
  }
}
@media (max-width: 980px){
  .yvr-home .yvr-hero .yvr-hero-brandline .yvr-kicker{
    position:static !important;
    transform:none !important;
    width:100% !important;
    text-align:center !important;
    white-space:normal;
  }
}


/* === YVR Theme v1.7.7: Full-Width Hero Kicker Row ===
   The original kicker is constrained by the left hero column.
   Render the same branding line from the full-width hero wrapper instead. */
.yvr-home .yvr-hero{
    position:relative;
}
.yvr-home .yvr-hero::before{
    content:"LIVE RADIO • MUSIC • CULTURE";
    display:block;
    width:100%;
    margin:0 auto 20px;
    text-align:center;
    color:var(--yvr-accent,#29c5f6);
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    line-height:1.4;
}
.yvr-home .yvr-hero .yvr-hero-brandline .yvr-kicker{
    display:none !important;
}
@media (max-width:767px){
    .yvr-home .yvr-hero::before{
        margin-bottom:14px;
        padding:0 12px;
        font-size:11px;
        letter-spacing:.12em;
    }
}


/* YVR Theme v1.7.8 — On Air presenter artwork */
.yvr-onair .yvr-dj-live-img{
    width:76px;
    height:76px;
    aspect-ratio:1/1;
    object-fit:cover;
    object-position:center;
    border-radius:12px;
    display:block;
    flex:0 0 76px;
}
.yvr-onair .yvr-dj-live-img[hidden]{
    display:none !important;
}
@media (max-width:767px){
    .yvr-onair .yvr-dj-live-img{
        width:68px;
        height:68px;
        flex-basis:68px;
    }
}


/* === YVR Theme v1.7.9: On Air single artwork slot ===
   Real DJ artwork and fallback placeholder share exactly one fixed slot. */
.yvr-onair .yvr-onair-body{
    display:grid !important;
    grid-template-columns:76px minmax(0,1fr) !important;
    column-gap:14px !important;
    align-items:center !important;
}
.yvr-onair .yvr-dj-live-img,
.yvr-onair [data-yvr-dj-ph]{
    grid-column:1 !important;
    grid-row:1 !important;
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    border-radius:12px !important;
}
.yvr-onair .yvr-dj-live-img{
    object-fit:cover !important;
    object-position:center !important;
}
.yvr-onair .yvr-dj-live-img:not([hidden]) + [data-yvr-dj-ph]{
    display:none !important;
}
.yvr-onair .yvr-onair-info{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    width:auto !important;
}
@media (max-width:767px){
    .yvr-onair .yvr-onair-body{
        grid-template-columns:68px minmax(0,1fr) !important;
        column-gap:12px !important;
    }
    .yvr-onair .yvr-dj-live-img,
    .yvr-onair [data-yvr-dj-ph]{
        width:68px !important;
        height:68px !important;
        min-width:68px !important;
        max-width:68px !important;
    }
}


/* === YVR Theme v1.8.0: Recently Played Polish ===
   Presentation-only. Existing YVR Core history/artwork data remains unchanged. */

.yvr-home .yvr-recent-section{
    padding-top:58px;
    padding-bottom:64px;
}

.yvr-home .yvr-recent-section .yvr-section-head{
    margin-bottom:20px;
}

.yvr-home .yvr-recent-section .yvr-section-head h2{
    font-size:clamp(2rem,4vw,3.25rem);
}

.yvr-home .yvr-recent-section .yvr-section-intro{
    max-width:520px;
}

/* Two clean columns on desktop; avoids a long, crowded five-card strip. */
.yvr-home .yvr-recent-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
}

/* Keep every recent track visually consistent. */
.yvr-home .yvr-track{
    position:relative;
    display:grid !important;
    grid-template-columns:28px 66px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    min-height:92px;
    padding:12px 16px !important;
    margin:0 !important;
    max-width:none !important;
    border:1px solid rgba(148,163,184,.14) !important;
    border-radius:15px !important;
    background:rgba(16,31,50,.78) !important;
    transition:border-color .18s ease, background .18s ease, transform .18s ease;
}

.yvr-home .yvr-track:nth-child(5){
    grid-column:1 / -1 !important;
    max-width:none !important;
}

.yvr-home .yvr-track:hover{
    border-color:rgba(34,199,242,.38) !important;
    background:rgba(19,38,61,.88) !important;
    transform:translateY(-1px);
}

.yvr-home .yvr-track-number{
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
    color:#607991;
    text-align:center;
}

/* Album artwork stays square and never changes card dimensions. */
.yvr-home .yvr-track-art{
    position:relative;
    width:66px !important;
    height:66px !important;
    min-width:66px;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    overflow:hidden;
    border-radius:11px !important;
    background:linear-gradient(135deg,#152b45,#1c2742);
    display:grid;
    place-items:center;
}

.yvr-home .yvr-track-art img{
    position:absolute;
    inset:0;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center;
    border-radius:inherit;
}

.yvr-home .yvr-track-art > span{
    position:relative;
    z-index:1;
}

.yvr-home .yvr-track-copy{
    min-width:0;
}

.yvr-home .yvr-track-copy strong,
.yvr-home .yvr-track-copy > span,
.yvr-home .yvr-track-copy small{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.yvr-home .yvr-track-copy strong{
    font-size:.96rem;
    line-height:1.3;
    color:#f8fafc;
}

.yvr-home .yvr-track-copy > span{
    margin-top:3px;
    font-size:.8rem;
}

.yvr-home .yvr-track-copy small{
    margin-top:5px;
    font-size:.64rem;
    letter-spacing:.05em;
    text-transform:uppercase;
}

/* Tablet/mobile becomes a simple one-column recent-track list. */
@media (max-width:980px){
    .yvr-home .yvr-recent-grid{
        grid-template-columns:1fr !important;
    }
    .yvr-home .yvr-track:nth-child(5){
        grid-column:auto !important;
    }
}

@media (max-width:640px){
    .yvr-home .yvr-recent-section{
        padding-top:46px;
        padding-bottom:50px;
    }

    .yvr-home .yvr-track{
        grid-template-columns:22px 54px minmax(0,1fr) !important;
        gap:11px !important;
        min-height:76px;
        padding:10px 11px !important;
    }

    .yvr-home .yvr-track-art{
        width:54px !important;
        height:54px !important;
        min-width:54px;
    }

    .yvr-home .yvr-track-copy strong{
        font-size:.9rem;
    }
}


/* === YVR Theme v1.8.1: This Week on YVR Polish ===
   Homepage presentation only. Schedule data, Auto DJ coverage and timing stay in YVR Core. */

.yvr-home .yvr-soft .yvr-section-head{
    margin-bottom:20px;
}

.yvr-home .yvr-soft .yvr-section-head h2{
    font-size:clamp(2rem,4vw,3.15rem);
}

/* Clean weekly overview: two columns on desktop, one on mobile. */
.yvr-home .yvr-week-preview.yvr-week-preview-seven{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    overflow:visible !important;
}

.yvr-home .yvr-week-preview-seven .yvr-week-show{
    position:relative;
    display:grid !important;
    grid-template-columns:68px 112px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    min-height:102px;
    padding:14px 16px !important;
    margin:0 !important;
    border:1px solid rgba(148,163,184,.14) !important;
    border-radius:16px !important;
    background:rgba(16,31,50,.78) !important;
    box-shadow:none !important;
    transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.yvr-home .yvr-week-preview-seven .yvr-week-show:nth-child(7){
    grid-column:1 / -1 !important;
}

.yvr-home .yvr-week-preview-seven .yvr-week-show:hover{
    border-color:rgba(34,199,242,.34) !important;
    background:rgba(19,38,61,.9) !important;
    transform:translateY(-1px);
}

/* Current day / current presenter receives a subtle radio-live emphasis. */
.yvr-home .yvr-week-preview-seven .yvr-week-show.is-live{
    border-color:rgba(34,199,242,.62) !important;
    background:linear-gradient(135deg,rgba(14,43,66,.98),rgba(16,31,50,.9)) !important;
    box-shadow:0 0 0 1px rgba(34,199,242,.08),0 10px 30px rgba(0,0,0,.10) !important;
}

/* Presenter / Auto DJ artwork remains a fixed square regardless of uploaded source. */
.yvr-home .yvr-week-preview-seven .yvr-week-art{
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    max-width:68px !important;
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:12px !important;
    overflow:hidden;
    display:grid;
    place-items:center;
    margin:0 !important;
}

/* Day + time form one compact, predictable column. */
.yvr-home .yvr-week-preview-seven .yvr-week-day{
    min-width:0;
}

.yvr-home .yvr-week-preview-seven .yvr-week-day strong{
    display:block;
    color:#f8fafc;
    font-size:.88rem;
    line-height:1.25;
}

.yvr-home .yvr-week-preview-seven .yvr-week-day span{
    display:block;
    margin-top:5px;
    color:var(--yvr-accent,#22c7f2);
    font-size:.7rem;
    font-weight:800;
    line-height:1.35;
}

/* Show/DJ copy stays readable without stretching the card. */
.yvr-home .yvr-week-preview-seven .yvr-week-copy{
    min-width:0;
    padding-right:6px;
}

.yvr-home .yvr-week-preview-seven .yvr-week-copy h3{
    margin:0 0 4px !important;
    font-size:1rem !important;
    line-height:1.28;
}

.yvr-home .yvr-week-preview-seven .yvr-week-copy h3 a{
    color:#f8fafc !important;
    text-decoration:none;
}

.yvr-home .yvr-week-preview-seven .yvr-week-copy p,
.yvr-home .yvr-week-preview-seven .yvr-week-copy small{
    display:block;
    margin:0 !important;
    color:#91a6bd !important;
    line-height:1.35;
}

.yvr-home .yvr-week-preview-seven .yvr-week-copy p{
    font-size:.78rem;
}

.yvr-home .yvr-week-preview-seven .yvr-week-copy small{
    margin-top:5px !important;
    font-size:.66rem;
}

.yvr-home .yvr-week-preview-seven .yvr-live-pill{
    position:absolute;
    top:10px;
    right:10px;
    margin:0 !important;
    padding:5px 8px !important;
    border-radius:999px;
    font-size:.58rem !important;
    letter-spacing:.06em;
}

/* Auto DJ rows use exactly the same visual grammar as named live shows. */
.yvr-home .yvr-week-preview-seven .yvr-auto-day .yvr-week-art{
    background:#10233a;
}

@media(max-width:980px){
    .yvr-home .yvr-week-preview.yvr-week-preview-seven{
        grid-template-columns:1fr !important;
    }
    .yvr-home .yvr-week-preview-seven .yvr-week-show:nth-child(7){
        grid-column:auto !important;
    }
}

@media(max-width:640px){
    .yvr-home .yvr-week-preview-seven .yvr-week-show{
        grid-template-columns:58px minmax(0,1fr) !important;
        gap:11px !important;
        min-height:88px;
        padding:12px !important;
    }

    .yvr-home .yvr-week-preview-seven .yvr-week-art{
        width:58px !important;
        height:58px !important;
        min-width:58px !important;
        max-width:58px !important;
    }

    .yvr-home .yvr-week-preview-seven .yvr-week-day{
        grid-column:2;
        display:flex;
        gap:8px;
        align-items:baseline;
        padding-right:72px;
    }

    .yvr-home .yvr-week-preview-seven .yvr-week-day span{
        margin-top:0;
    }

    .yvr-home .yvr-week-preview-seven .yvr-week-copy{
        grid-column:2;
        padding-right:0;
    }

    .yvr-home .yvr-week-preview-seven .yvr-week-copy h3{
        font-size:.92rem !important;
    }
}


/* === YVR Theme v1.8.2: Meet the Presenters Polish ===
   Homepage visual polish only. DJ profiles, artwork and schedule data remain in YVR Core. */

.yvr-home .yvr-dj-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
}

.yvr-home .yvr-dj-card{
    position:relative;
    display:grid !important;
    grid-template-columns:clamp(118px,12vw,158px) minmax(0,1fr) !important;
    min-height:190px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.14) !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,rgba(16,31,50,.96),rgba(11,23,39,.96)) !important;
    box-shadow:none !important;
    transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.yvr-home .yvr-dj-card:hover{
    transform:translateY(-2px);
    border-color:rgba(34,199,242,.36) !important;
    background:linear-gradient(135deg,rgba(18,38,60,.98),rgba(11,25,42,.98)) !important;
}

.yvr-home .yvr-dj-photo{
    display:block !important;
    width:100%;
    height:100%;
    min-height:190px;
    overflow:hidden;
    background:#0b1727;
}

.yvr-home .yvr-dj-card-image,
.yvr-home .yvr-dj-photo .yvr-dj-placeholder{
    display:block;
    width:100% !important;
    height:100% !important;
    min-height:190px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:0 !important;
}

.yvr-home .yvr-dj-photo .yvr-dj-placeholder{
    display:grid !important;
    place-items:center;
    font-size:1.4rem;
    font-weight:900;
    color:var(--yvr-accent,#22c7f2);
    background:linear-gradient(135deg,#122b47,#17233d);
}

.yvr-home .yvr-dj-card-body{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:20px 20px 18px !important;
}

.yvr-home .yvr-dj-card-body > small{
    color:var(--yvr-accent,#22c7f2) !important;
    font-size:.65rem !important;
    font-weight:900 !important;
    letter-spacing:.09em;
    text-transform:uppercase;
    line-height:1.35;
}

.yvr-home .yvr-dj-card-body h3{
    margin:5px 0 7px !important;
    font-size:1.25rem !important;
    line-height:1.2;
}

.yvr-home .yvr-dj-card-body h3 a{
    color:#f8fafc !important;
    text-decoration:none !important;
}

.yvr-home .yvr-dj-card-body > p{
    margin:0 0 11px !important;
    color:#91a6bd !important;
    font-size:.79rem !important;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.yvr-home .yvr-dj-times{
    display:flex !important;
    flex-direction:column;
    gap:4px !important;
    margin:0 0 13px !important;
}

.yvr-home .yvr-dj-times span{
    display:block;
    color:#b8c8d8 !important;
    font-size:.69rem !important;
    line-height:1.35;
    white-space:normal;
}

.yvr-home .yvr-dj-link{
    margin-top:auto !important;
    align-self:flex-start;
    color:var(--yvr-accent,#22c7f2) !important;
    font-size:.75rem !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

.yvr-home .yvr-dj-link:hover{
    text-decoration:underline !important;
}

@media(max-width:900px){
    .yvr-home .yvr-dj-grid{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:560px){
    .yvr-home .yvr-dj-card{
        grid-template-columns:96px minmax(0,1fr) !important;
        min-height:150px;
        border-radius:15px !important;
    }

    .yvr-home .yvr-dj-photo,
    .yvr-home .yvr-dj-card-image,
    .yvr-home .yvr-dj-photo .yvr-dj-placeholder{
        min-height:150px !important;
    }

    .yvr-home .yvr-dj-card-body{
        padding:14px !important;
    }

    .yvr-home .yvr-dj-card-body h3{
        font-size:1.05rem !important;
    }

    .yvr-home .yvr-dj-card-body > p{
        -webkit-line-clamp:1;
    }
}


/* === YVR Theme v1.8.3: Latest News & Events Polish ===
   Homepage presentation only. News/Event content and editing remain in YVR Core. */

.yvr-home .yvr-feature-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
}

.yvr-home .yvr-news-card{
    position:relative;
    overflow:hidden;
    min-height:100%;
    border:1px solid rgba(148,163,184,.14) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,rgba(16,31,50,.96),rgba(11,23,39,.98)) !important;
    box-shadow:none !important;
    transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.yvr-home .yvr-news-card:hover{
    transform:translateY(-2px);
    border-color:rgba(34,199,242,.36) !important;
    background:linear-gradient(180deg,rgba(18,38,60,.98),rgba(11,25,42,.98)) !important;
}

.yvr-home .yvr-news-card > a{
    display:flex !important;
    flex-direction:column;
    height:100%;
    color:inherit !important;
    text-decoration:none !important;
}

.yvr-home .yvr-news-card img,
.yvr-home .yvr-news-card .yvr-news-ph,
.yvr-home .yvr-news-card [class*="fallback-art"]{
    display:block;
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/9 !important;
    object-fit:cover !important;
    object-position:center !important;
    margin:0 !important;
    border-radius:0 !important;
    background:#10233a;
}

.yvr-home .yvr-news-card small{
    display:inline-flex !important;
    align-self:flex-start;
    margin:14px 16px 0 !important;
    padding:5px 8px !important;
    border-radius:999px;
    color:var(--yvr-accent,#22c7f2) !important;
    background:rgba(34,199,242,.08);
    font-size:.61rem !important;
    font-weight:900 !important;
    line-height:1;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.yvr-home .yvr-news-card h3{
    margin:9px 16px 18px !important;
    color:#f8fafc !important;
    font-size:1.02rem !important;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* Keep cards balanced when only a few News/Events items exist. */
.yvr-home .yvr-feature-grid .yvr-news-card:only-child{
    grid-column:1 / span 2;
}

@media(max-width:980px){
    .yvr-home .yvr-feature-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .yvr-home .yvr-feature-grid .yvr-news-card:only-child{
        grid-column:auto;
    }
}

@media(max-width:620px){
    .yvr-home .yvr-feature-grid{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .yvr-home .yvr-news-card{
        border-radius:15px !important;
    }

    .yvr-home .yvr-news-card h3{
        font-size:.96rem !important;
        margin-bottom:16px !important;
    }
}


/* === YVR Theme v1.8.4: Watch Live / Live Video Polish ===
   Presentation only. The existing YVR Core live-video URL logic remains unchanged. */

.yvr-home .yvr-video-feature{
    position:relative;
    overflow:hidden;
}

.yvr-home .yvr-video-feature .yvr-two-col{
    display:grid !important;
    grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr) !important;
    gap:34px !important;
    align-items:center !important;
}

.yvr-home .yvr-video-feature .yvr-two-col > div:first-child{
    max-width:520px;
}

.yvr-home .yvr-video-feature .yvr-two-col > div:first-child > span{
    display:block;
    margin-bottom:8px;
    color:var(--yvr-accent,#22c7f2);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.yvr-home .yvr-video-feature .yvr-two-col > div:first-child h2{
    margin:.05em 0 .22em !important;
    font-size:clamp(2.15rem,4.5vw,3.7rem);
    line-height:1;
}

.yvr-home .yvr-video-feature .yvr-two-col > div:first-child p{
    max-width:500px;
    color:#91a6bd;
    line-height:1.65;
}

.yvr-home .yvr-video-feature .yvr-ghost{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    min-height:44px;
    padding:0 17px;
    border-radius:999px;
}

/* Video frame and standby state share the exact same 16:9 shell. */
.yvr-home .yvr-video-feature .yvr-video,
.yvr-home .yvr-video-feature .yvr-video-placeholder{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    min-height:0 !important;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.18) !important;
    border-radius:20px !important;
    background:
        radial-gradient(circle at 50% 42%,rgba(34,199,242,.12),transparent 30%),
        linear-gradient(135deg,#0e2137,#091523) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.16);
}

.yvr-home .yvr-video-feature .yvr-video iframe,
.yvr-home .yvr-video-feature .yvr-video video{
    position:absolute;
    inset:0;
    display:block;
    width:100% !important;
    height:100% !important;
    border:0;
    object-fit:cover;
}

/* Professional ready/offline presentation while the provider URL is blank. */
.yvr-home .yvr-video-feature .yvr-video-placeholder{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:30px;
}

.yvr-home .yvr-video-feature .yvr-video-placeholder::before{
    content:"▶";
    display:grid;
    place-items:center;
    width:68px;
    height:68px;
    margin-bottom:16px;
    border:1px solid rgba(34,199,242,.28);
    border-radius:50%;
    color:var(--yvr-accent,#22c7f2);
    background:rgba(34,199,242,.08);
    font-size:1.25rem;
    padding-left:4px;
}

.yvr-home .yvr-video-feature .yvr-video-placeholder span{
    display:block;
    color:#f8fafc !important;
    font-size:1rem !important;
    font-weight:900 !important;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.yvr-home .yvr-video-feature .yvr-video-placeholder p{
    margin:8px 0 0 !important;
    color:#91a6bd !important;
    font-size:.8rem;
}

/* Public Watch Live page: polish the existing shortcode/embed without changing content. */
body.page .entry-content .yvr-video,
body.page .entry-content .yvr-video-placeholder{
    position:relative;
    width:min(1100px,100%);
    aspect-ratio:16/9;
    margin:24px auto !important;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.18) !important;
    border-radius:22px !important;
    background:
        radial-gradient(circle at 50% 42%,rgba(34,199,242,.12),transparent 30%),
        linear-gradient(135deg,#0e2137,#091523) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.16);
}

body.page .entry-content .yvr-video iframe,
body.page .entry-content .yvr-video video{
    position:absolute;
    inset:0;
    width:100% !important;
    height:100% !important;
    border:0;
    object-fit:cover;
}

body.page .entry-content .yvr-video-placeholder{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:32px;
}

body.page .entry-content .yvr-video-placeholder::before{
    content:"LIVE VIDEO";
    display:inline-flex;
    margin-bottom:12px;
    padding:6px 10px;
    border-radius:999px;
    color:var(--yvr-accent,#22c7f2);
    background:rgba(34,199,242,.08);
    font-size:.65rem;
    font-weight:900;
    letter-spacing:.1em;
}

body.page .entry-content .yvr-video-placeholder span{
    color:#f8fafc !important;
    font-size:clamp(1.5rem,4vw,2.6rem) !important;
    font-weight:900 !important;
}

body.page .entry-content .yvr-video-placeholder p{
    margin:10px 0 0 !important;
    color:#91a6bd !important;
}

@media(max-width:900px){
    .yvr-home .yvr-video-feature .yvr-two-col{
        grid-template-columns:1fr !important;
        gap:24px !important;
    }

    .yvr-home .yvr-video-feature .yvr-two-col > div:first-child{
        max-width:none;
    }
}

@media(max-width:620px){
    .yvr-home .yvr-video-feature .yvr-video,
    .yvr-home .yvr-video-feature .yvr-video-placeholder,
    body.page .entry-content .yvr-video,
    body.page .entry-content .yvr-video-placeholder{
        border-radius:15px !important;
    }

    .yvr-home .yvr-video-feature .yvr-video-placeholder::before{
        width:54px;
        height:54px;
    }
}


/* === YVR Theme v1.8.5: Compact DJ Lineup Cards ===
   Applies to the public DJs listing page only.
   Full individual DJ profile pages remain unchanged. */

body.page .entry-content .yvr-dj-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100%;
}

body.page .entry-content .yvr-dj-card{
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) !important;
    min-height:138px !important;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.14) !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,rgba(16,31,50,.96),rgba(11,23,39,.98)) !important;
    box-shadow:none !important;
}

body.page .entry-content .yvr-dj-photo{
    display:block !important;
    width:118px !important;
    height:100% !important;
    min-height:138px !important;
    overflow:hidden;
    background:#0b1727;
}

body.page .entry-content .yvr-dj-card-image,
body.page .entry-content .yvr-dj-photo .yvr-dj-placeholder{
    width:118px !important;
    height:100% !important;
    min-height:138px !important;
    max-height:170px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:0 !important;
}

body.page .entry-content .yvr-dj-card-body{
    display:flex !important;
    flex-direction:column;
    min-width:0;
    padding:12px 14px !important;
}

body.page .entry-content .yvr-dj-card-body > small{
    font-size:.57rem !important;
    line-height:1.25 !important;
    letter-spacing:.07em !important;
}

body.page .entry-content .yvr-dj-card-body h3{
    margin:3px 0 5px !important;
    font-size:1rem !important;
    line-height:1.15 !important;
}

body.page .entry-content .yvr-dj-card-body > p{
    margin:0 0 7px !important;
    font-size:.69rem !important;
    line-height:1.35 !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

body.page .entry-content .yvr-dj-times{
    display:flex !important;
    flex-direction:column;
    gap:2px !important;
    margin:0 0 7px !important;
}

body.page .entry-content .yvr-dj-times span{
    font-size:.62rem !important;
    line-height:1.25 !important;
}

body.page .entry-content .yvr-dj-link{
    margin-top:auto !important;
    font-size:.66rem !important;
    font-weight:800 !important;
}

/* Keep compact cards easy to scan on tablets and phones. */
@media(max-width:900px){
    body.page .entry-content .yvr-dj-grid{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:560px){
    body.page .entry-content .yvr-dj-card{
        grid-template-columns:92px minmax(0,1fr) !important;
        min-height:120px !important;
        border-radius:14px !important;
    }

    body.page .entry-content .yvr-dj-photo,
    body.page .entry-content .yvr-dj-card-image,
    body.page .entry-content .yvr-dj-photo .yvr-dj-placeholder{
        width:92px !important;
        min-height:120px !important;
        max-height:145px !important;
    }

    body.page .entry-content .yvr-dj-card-body{
        padding:10px 11px !important;
    }

    body.page .entry-content .yvr-dj-card-body h3{
        font-size:.92rem !important;
    }

    body.page .entry-content .yvr-dj-card-body > p{
        -webkit-line-clamp:1;
        font-size:.66rem !important;
    }
}


/* === YVR Theme v1.8.6: Balanced DJ Profile Image Size ===
   Individual presenter pages only. Standardizes portrait/square uploads
   without changing the original Media Library image. */

body.single-yvr_dj .yvr-profile-head{
    display:grid !important;
    grid-template-columns:clamp(190px,24vw,300px) minmax(0,1fr) !important;
    gap:clamp(24px,4vw,46px) !important;
    align-items:center !important;
}

body.single-yvr_dj .yvr-profile-head > .yvr-profile-photo,
body.single-yvr_dj .yvr-profile-head > img.yvr-profile-photo{
    display:block !important;
    width:100% !important;
    max-width:300px !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    max-height:300px !important;
    object-fit:cover !important;
    object-position:center !important;
    margin:0 !important;
    border-radius:20px !important;
    overflow:hidden;
    background:#10233a;
}

body.single-yvr_dj .yvr-profile-head > .yvr-dj-placeholder.yvr-profile-photo{
    display:grid !important;
    place-items:center;
    min-height:190px !important;
    color:var(--yvr-accent,#22c7f2);
    font-size:2rem;
    font-weight:900;
}

body.single-yvr_dj .yvr-profile-head > div:last-child{
    min-width:0;
}

body.single-yvr_dj .yvr-profile-head h1{
    margin:.12em 0 .2em !important;
    line-height:1.05;
}

body.single-yvr_dj .yvr-profile-head p{
    max-width:680px;
}

@media(max-width:700px){
    body.single-yvr_dj .yvr-profile-head{
        grid-template-columns:1fr !important;
        gap:20px !important;
        align-items:start !important;
    }

    body.single-yvr_dj .yvr-profile-head > .yvr-profile-photo,
    body.single-yvr_dj .yvr-profile-head > img.yvr-profile-photo{
        width:min(260px,78vw) !important;
        max-width:260px !important;
        max-height:260px !important;
        justify-self:start;
    }
}


/* === YVR Theme v1.8.7: Photo + Video Gallery Polish ===
   WordPress/Elementor-friendly presentation. Existing gallery content stays editable. */

/* PHOTO GALLERY: native WP galleries, Elementor galleries and ordinary linked image grids. */
body.page .entry-content .wp-block-gallery,
body.page .entry-content .gallery,
body.page .entry-content .elementor-image-gallery .gallery,
body.page .entry-content .elementor-gallery__container{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100%;
}

body.page .entry-content .wp-block-gallery > *,
body.page .entry-content .gallery > .gallery-item,
body.page .entry-content .elementor-image-gallery .gallery > .gallery-item,
body.page .entry-content .elementor-gallery-item{
    position:relative;
    width:100% !important;
    margin:0 !important;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.14);
    border-radius:16px;
    background:#0b1727;
}

body.page .entry-content .wp-block-gallery img,
body.page .entry-content .gallery img,
body.page .entry-content .elementor-image-gallery img,
body.page .entry-content .elementor-gallery-item__image{
    display:block;
    width:100% !important;
    height:100% !important;
    aspect-ratio:4/3;
    object-fit:cover !important;
    object-position:center;
    border:0 !important;
    transition:transform .22s ease;
}

body.page .entry-content .wp-block-gallery a:hover img,
body.page .entry-content .gallery a:hover img,
body.page .entry-content .elementor-image-gallery a:hover img,
body.page .entry-content .elementor-gallery-item:hover .elementor-gallery-item__image{
    transform:scale(1.025);
}

body.page .entry-content .gallery-caption,
body.page .entry-content .wp-element-caption{
    margin:0 !important;
    padding:9px 11px !important;
    color:#9fb1c4;
    background:#0f2034;
    font-size:.72rem;
    line-height:1.35;
}

/* VIDEO GALLERY: responsive embeds/cards without stretching source video. */
body.page .entry-content iframe[src*="youtube"],
body.page .entry-content iframe[src*="youtu.be"],
body.page .entry-content iframe[src*="vimeo"],
body.page .entry-content .wp-block-embed-youtube .wp-block-embed__wrapper,
body.page .entry-content .wp-block-embed-vimeo .wp-block-embed__wrapper,
body.page .entry-content .elementor-video-wrapper{
    width:100% !important;
    aspect-ratio:16/9;
    border-radius:16px !important;
    overflow:hidden;
    background:#08131f;
}

body.page .entry-content iframe[src*="youtube"],
body.page .entry-content iframe[src*="youtu.be"],
body.page .entry-content iframe[src*="vimeo"]{
    display:block;
    height:auto !important;
    min-height:260px;
    border:0 !important;
}

/* Optional YVR video-grid wrapper: works if Elementor/blocks are grouped into this class. */
body.page .entry-content .yvr-video-gallery{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

body.page .entry-content .yvr-video-gallery > *{
    margin:0 !important;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.14);
    border-radius:17px;
    background:linear-gradient(180deg,rgba(16,31,50,.96),rgba(11,23,39,.98));
}

body.page .entry-content .yvr-video-gallery iframe,
body.page .entry-content .yvr-video-gallery video{
    display:block;
    width:100% !important;
    aspect-ratio:16/9;
    height:auto !important;
    min-height:0 !important;
    border:0;
    object-fit:cover;
}

/* Empty/editor-created gallery sections remain tidy. */
body.page .entry-content > .wp-block-gallery:first-child,
body.page .entry-content > .elementor:first-child{
    margin-top:8px;
}

@media(max-width:900px){
    body.page .entry-content .wp-block-gallery,
    body.page .entry-content .gallery,
    body.page .entry-content .elementor-image-gallery .gallery,
    body.page .entry-content .elementor-gallery__container{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.page .entry-content .yvr-video-gallery{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){
    body.page .entry-content .wp-block-gallery,
    body.page .entry-content .gallery,
    body.page .entry-content .elementor-image-gallery .gallery,
    body.page .entry-content .elementor-gallery__container{
        grid-template-columns:1fr !important;
        gap:11px !important;
    }

    body.page .entry-content .wp-block-gallery > *,
    body.page .entry-content .gallery > .gallery-item,
    body.page .entry-content .elementor-gallery-item,
    body.page .entry-content iframe[src*="youtube"],
    body.page .entry-content iframe[src*="vimeo"],
    body.page .entry-content .elementor-video-wrapper{
        border-radius:13px !important;
    }

    body.page .entry-content iframe[src*="youtube"],
    body.page .entry-content iframe[src*="youtu.be"],
    body.page .entry-content iframe[src*="vimeo"]{
        min-height:190px;
    }
}


/* === YVR Theme v1.8.8: Requests + Contact + Advertise Polish ===
   Public-facing forms only; no Station Core workflow changes. */
body.page .entry-content form{
    width:100%;
}

body.page .entry-content form label{
    display:block;
    margin:0 0 7px;
    color:#dce8f4;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.02em;
}

body.page .entry-content form input[type="text"],
body.page .entry-content form input[type="email"],
body.page .entry-content form input[type="tel"],
body.page .entry-content form input[type="url"],
body.page .entry-content form input[type="number"],
body.page .entry-content form input[type="date"],
body.page .entry-content form input[type="time"],
body.page .entry-content form select,
body.page .entry-content form textarea{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-height:48px;
    padding:12px 14px;
    color:#edf6ff;
    background:#0b1727;
    border:1px solid rgba(148,163,184,.24);
    border-radius:11px;
    outline:none;
    box-shadow:none;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

body.page .entry-content form textarea{
    min-height:140px;
    resize:vertical;
}

body.page .entry-content form input:focus,
body.page .entry-content form select:focus,
body.page .entry-content form textarea:focus{
    border-color:#22c7f2;
    box-shadow:0 0 0 3px rgba(34,199,242,.12);
    background:#0e1c2e;
}

body.page .entry-content form input::placeholder,
body.page .entry-content form textarea::placeholder{
    color:#7890a8;
    opacity:1;
}

body.page .entry-content form input[type="submit"],
body.page .entry-content form button[type="submit"],
body.page .entry-content form .button,
body.page .entry-content form .yvr-button{
    min-height:46px;
    padding:11px 20px;
    border:0;
    border-radius:999px;
    cursor:pointer;
    font-weight:900;
    line-height:1.1;
    text-decoration:none;
    transition:transform .15s ease,filter .15s ease;
}

body.page .entry-content form input[type="submit"]:hover,
body.page .entry-content form button[type="submit"]:hover,
body.page .entry-content form .button:hover,
body.page .entry-content form .yvr-button:hover{
    transform:translateY(-1px);
    filter:brightness(1.06);
}

/* Keep common YVR form cards visually consistent without altering their PHP. */
body.page .entry-content .yvr-form,
body.page .entry-content .yvr-form-card,
body.page .entry-content .yvr-request-form,
body.page .entry-content .yvr-contact-form,
body.page .entry-content .yvr-advertise-form{
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
    padding:clamp(20px,3vw,34px);
    border:1px solid rgba(148,163,184,.14);
    border-radius:20px;
    background:linear-gradient(180deg,rgba(16,31,50,.96),rgba(10,22,37,.98));
    box-shadow:0 16px 38px rgba(0,0,0,.18);
}

body.page .entry-content form p{
    margin:0 0 16px;
}

body.page .entry-content form .description,
body.page .entry-content form small{
    color:#8fa5bb;
    line-height:1.5;
}

body.page .entry-content form .required{
    color:#22c7f2;
}

@media(max-width:600px){
    body.page .entry-content .yvr-form,
    body.page .entry-content .yvr-form-card,
    body.page .entry-content .yvr-request-form,
    body.page .entry-content .yvr-contact-form,
    body.page .entry-content .yvr-advertise-form{
        padding:18px 15px;
        border-radius:15px;
    }

    body.page .entry-content form input[type="submit"],
    body.page .entry-content form button[type="submit"]{
        width:100%;
    }
}


/* === YVR Theme v1.8.9: Mobile Final Polish ===
   Mobile-only tightening for player, DJ cards and schedule.
   Desktop/tablet layouts remain unchanged. */

@media(max-width:620px){

    /* Persistent player: keep all core controls, reduce vertical footprint. */
    .yvr-player,
    .yvr-persistent-player,
    .yvr-sticky-player,
    [class*="yvr-player-wrap"]{
        min-height:0 !important;
    }

    .yvr-player .yvr-player-inner,
    .yvr-persistent-player .yvr-player-inner,
    .yvr-sticky-player .yvr-player-inner,
    [class*="yvr-player-wrap"] .yvr-player-inner{
        gap:8px !important;
        padding:8px 10px !important;
    }

    .yvr-player img,
    .yvr-persistent-player img,
    .yvr-sticky-player img,
    [class*="yvr-player-wrap"] img{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        object-fit:cover !important;
        border-radius:8px !important;
    }

    .yvr-player h3,
    .yvr-player .track-title,
    .yvr-persistent-player h3,
    .yvr-persistent-player .track-title,
    .yvr-sticky-player h3,
    .yvr-sticky-player .track-title{
        font-size:.82rem !important;
        line-height:1.15 !important;
        margin:0 !important;
    }

    .yvr-player p,
    .yvr-player .track-artist,
    .yvr-persistent-player p,
    .yvr-persistent-player .track-artist,
    .yvr-sticky-player p,
    .yvr-sticky-player .track-artist{
        font-size:.66rem !important;
        line-height:1.2 !important;
        margin:2px 0 0 !important;
    }

    .yvr-player button,
    .yvr-persistent-player button,
    .yvr-sticky-player button{
        min-width:38px !important;
        min-height:38px !important;
    }

    /* DJ lineup cards: maintain image consistency while shortening the scroll. */
    .yvr-dj-grid{
        gap:14px !important;
    }

    .yvr-dj-card{
        border-radius:15px !important;
        overflow:hidden;
    }

    .yvr-dj-card img{
        width:100% !important;
        aspect-ratio:4 / 3 !important;
        height:auto !important;
        max-height:240px !important;
        object-fit:cover !important;
        object-position:center !important;
    }

    .yvr-dj-card .yvr-dj-card-body,
    .yvr-dj-card > div:not(.yvr-dj-placeholder){
        padding-top:13px !important;
        padding-bottom:14px !important;
    }

    .yvr-dj-card h2,
    .yvr-dj-card h3{
        font-size:1rem !important;
        line-height:1.2 !important;
        margin-bottom:5px !important;
    }

    .yvr-dj-card p{
        font-size:.76rem !important;
        line-height:1.45 !important;
        margin-bottom:9px !important;
    }

    /* Weekly schedule: retain readability but reduce excess vertical space. */
    .yvr-schedule,
    .yvr-weekly-schedule,
    .yvr-schedule-grid{
        gap:10px !important;
    }

    .yvr-schedule-card,
    .yvr-day-card,
    .yvr-schedule-day{
        padding:14px !important;
        border-radius:14px !important;
    }

    .yvr-schedule-card h3,
    .yvr-day-card h3,
    .yvr-schedule-day h3{
        margin:0 0 8px !important;
        font-size:.95rem !important;
    }

    .yvr-schedule-card p,
    .yvr-day-card p,
    .yvr-schedule-day p{
        margin:4px 0 !important;
        line-height:1.35 !important;
    }

    /* Keep fixed/sticky player from covering the last content on phones. */
    body{
        padding-bottom:max(74px, env(safe-area-inset-bottom)) !important;
    }
}

@media(max-width:390px){
    .yvr-dj-card img{
        max-height:215px !important;
    }

    .yvr-player img,
    .yvr-persistent-player img,
    .yvr-sticky-player img,
    [class*="yvr-player-wrap"] img{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
    }
}


/* === YVR Theme v1.8.10: Compact Mobile Persistent Player ===
   Targets the actual Station Core #yvr-player markup.
   Desktop is untouched; audio/metadata/player logic is untouched. */

@media(max-width:620px){
    #yvr-player.yvr-sticky-player{
        left:8px !important;
        right:8px !important;
        bottom:max(6px, env(safe-area-inset-bottom)) !important;
        transform:none !important;
        width:auto !important;
        max-width:none !important;

        display:grid !important;
        grid-template-columns:36px 36px minmax(0,1fr) auto !important;
        grid-template-rows:44px !important;
        align-items:center !important;
        column-gap:7px !important;
        row-gap:0 !important;

        min-height:0 !important;
        height:56px !important;
        padding:6px 8px !important;
        border-radius:14px !important;
        box-sizing:border-box !important;
    }

    #yvr-player .yvr-stick-play{
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
        min-height:34px !important;
        padding:0 !important;
        font-size:.82rem !important;
        line-height:34px !important;
        align-self:center !important;
    }

    #yvr-player .yvr-stick-art{
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        border-radius:8px !important;
        align-self:center !important;
    }

    #yvr-player .yvr-stick-art img{
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        border-radius:8px !important;
    }

    #yvr-player .yvr-stick-copy{
        min-width:0 !important;
        overflow:hidden !important;
        align-self:center !important;
    }

    #yvr-player .yvr-stick-copy strong{
        display:block !important;
        margin:0 !important;
        max-width:100% !important;
        font-size:.74rem !important;
        line-height:1.18 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    #yvr-player .yvr-stick-copy span{
        display:block !important;
        margin:2px 0 0 !important;
        max-width:100% !important;
        font-size:.61rem !important;
        line-height:1.15 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    #yvr-player .yvr-stick-live{
        display:none !important;
    }

    /* Volume control is dynamically appended by Station Core.
       Keep it in the same row instead of letting it wrap underneath. */
    #yvr-player .yvr-vol192{
        grid-column:4 !important;
        grid-row:1 !important;
        display:flex !important;
        align-items:center !important;
        gap:3px !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        white-space:nowrap !important;
    }

    #yvr-player .yvr-vol192 button{
        width:24px !important;
        height:30px !important;
        min-width:24px !important;
        min-height:30px !important;
        padding:0 !important;
        font-size:14px !important;
        line-height:1 !important;
    }

    #yvr-player .yvr-vol192 input[type="range"]{
        width:42px !important;
        min-width:42px !important;
        height:18px !important;
        margin:0 !important;
    }
}

@media(max-width:390px){
    #yvr-player.yvr-sticky-player{
        left:6px !important;
        right:6px !important;
        grid-template-columns:34px 34px minmax(0,1fr) auto !important;
        column-gap:6px !important;
        height:54px !important;
        padding:5px 7px !important;
    }

    #yvr-player .yvr-stick-play{
        width:32px !important;
        height:32px !important;
        min-width:32px !important;
        min-height:32px !important;
        line-height:32px !important;
    }

    #yvr-player .yvr-stick-art,
    #yvr-player .yvr-stick-art img{
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
    }

    #yvr-player .yvr-vol192 input[type="range"]{
        width:34px !important;
        min-width:34px !important;
    }
}
