/* ==========================================================================
   Lion Hotel — Live Sports at the bar. Shares the event design system and
   the tabs / booking band from christmas.css, in a darker, punchier
   palette: midnight navy, gold and pitch green. Scoped to .ev-page.is-sports.
   ========================================================================== */

.ev-page.is-sports{
    --navy:#1b2440;
    --navy-deep:#121a30;
    --pitch:#1f7a4d;
    --amber:#e08a1e;
    --cream:#fbf7ef;
    --gold-light:#e6cf97;
    --heading:var(--navy);
    --bg-alt:var(--cream);
    --line:#e8dfcc;
}

/* Hero */
.ev-page.is-sports .ev-hero{
    position:relative; z-index:2; min-height:62vh;
    border-bottom:1px solid rgba(204,174,115,.65);
    box-shadow:0 14px 34px -14px rgba(18,26,48,.55), 0 30px 60px -30px rgba(18,26,48,.35);
}
.ev-page.is-sports .ev-hero + *{ position:relative; z-index:1; }
.ev-page.is-sports .ev-hero:after{
    background:linear-gradient(180deg, rgba(18,26,48,.30) 0%, rgba(18,26,48,.50) 55%, rgba(18,26,48,.90) 100%);
}
.ev-page.is-sports .ev-hero .ev-wrap{ text-align:center; padding-top:150px; padding-bottom:64px; }
.ev-page.is-sports .ev-hero h1{ max-width:none; text-shadow:0 2px 24px rgba(0,0,0,.5); }
.ev-page.is-sports .ev-hero .ev-hero-sub{ margin-left:auto; margin-right:auto; }
.ev-page.is-sports .ev-hero .ev-eyebrow{ color:var(--gold-light); }
.ev-page.is-sports .ev-hero .xm-script{ color:var(--gold-light); font-size:44px; margin:14px 0 0; }

/* Live badge in the hero */
.ls-live{
    display:inline-flex; align-items:center; gap:10px; margin:22px auto 0;
    padding:8px 16px; border-radius:999px;
    background:rgba(0,0,0,.35); border:1px solid rgba(230,207,151,.5);
    color:#fff; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}
.ls-live:before{
    content:""; width:10px; height:10px; border-radius:50%; background:#e53935;
    box-shadow:0 0 0 0 rgba(229,57,53,.7); animation:ls-pulse 1.6s ease-out infinite;
}
@keyframes ls-pulse{ 0%{ box-shadow:0 0 0 0 rgba(229,57,53,.7); } 100%{ box-shadow:0 0 0 12px rgba(229,57,53,0); } }
@media (prefers-reduced-motion:reduce){ .ls-live:before{ animation:none; } }

/* Section heading rule */
.ev-page.is-sports .ev-section-head.is-centre h2:after{
    content:""; display:block; width:160px; height:12px; margin:14px auto 0;
    background:
        url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0l2.6 9.4L24 12l-9.4 2.6L12 24l-2.6-9.4L0 12l9.4-2.6z' fill='%23ccae73'/%3E%3C/svg%3E") center/12px 12px no-repeat,
        linear-gradient(90deg, transparent, var(--gold) 30%, transparent 46%, transparent 54%, var(--gold) 70%, transparent) center/100% 1px no-repeat;
}

/* Sports grid: quiet white cards, hairline border, gold line icon. */
.ls-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ls-card{
    position:relative;
    background:#fff; color:var(--navy);
    padding:38px 34px 34px;
    border:1px solid var(--line);
    transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ls-card:hover{
    border-color:var(--gold);
    transform:translateY(-3px);
    box-shadow:0 24px 40px -32px rgba(27,36,64,.35);
}
.ls-card:before{ content:none; }
.ls-icon{
    width:auto; height:auto; margin:0 0 22px; border:0; border-radius:0; background:none;
    display:block;
}
.ls-icon svg{ width:30px; height:30px; display:block; fill:none; stroke:var(--gold-dark); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.ls-icon:after{ content:""; display:block; width:28px; height:1px; background:var(--gold); margin-top:18px; }
.ls-card h4{ color:var(--navy); font-size:21px; margin-bottom:.4em; letter-spacing:-.005em; }
.ls-card p{ color:var(--muted); font-size:15px; line-height:1.6em; margin:0; }
.ls-card.is-offer{ background:var(--cream); }
.ls-card.is-offer:after{
    content:"Matchday offer"; position:absolute; top:22px; right:22px;
    font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold-dark); border:1px solid var(--gold); padding:4px 9px;
}

/* Strapline: a quiet centred line. */
.ls-strap{
    margin:38px auto 0; padding:0; text-align:center; background:none; border:0;
    font-family:'Playfair Display', Georgia, serif; font-size:20px; color:var(--navy);
    letter-spacing:.01em;
}
.ls-strap span{ color:var(--gold-dark); padding:0 8px; }

/* Photos */
.ev-page.is-sports .ev-row-media img{
    border:1px solid var(--gold); padding:8px; background:#fff;
    box-shadow:0 18px 40px -22px rgba(18,26,48,.5);
}
.ev-page.is-sports .ev-incl li:before{ border-color:var(--gold); background:var(--gold); }
.ev-page.is-sports .ev-price{ color:var(--pitch); }

/* Booking band */
.ev-page.is-sports .ev-cta{
    position:relative; overflow:hidden; text-align:left; padding:84px 0;
    background:
        radial-gradient(ellipse at 50% 110%, rgba(204,174,115,.28), transparent 55%),
        linear-gradient(180deg, var(--navy), var(--navy-deep));
    border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
}
.ev-page.is-sports .ev-cta .ev-wrap{ position:relative; z-index:2; }
.ev-page.is-sports .ev-cta .ev-eyebrow{ color:var(--gold-light); margin-bottom:10px; }
.ev-page.is-sports .ev-cta h2{ color:#fff; margin-bottom:.15em; }
.ev-page.is-sports .ev-cta .xm-script{ color:var(--gold-light); font-size:36px; margin:0 0 18px; }
.ev-page.is-sports .ev-cta p{ color:rgba(255,255,255,.88); margin:0 0 22px; max-width:none; font-size:17px; }
.ev-page.is-sports .xm-book-card{
    position:relative; background:linear-gradient(180deg, #fffdf8, var(--cream));
    border:1px solid var(--gold); padding:38px 36px 30px; text-align:center;
    box-shadow:0 30px 60px -30px rgba(0,0,0,.6), 0 0 0 6px rgba(204,174,115,.14);
}
.ev-page.is-sports .xm-book-phone{ color:var(--navy) !important; }
.ev-page.is-sports .xm-book-phone:hover{ color:var(--pitch) !important; }
.ev-page.is-sports .xm-book-note{
    margin:0; padding-top:18px; border-top:1px solid var(--line);
    color:var(--muted); font-size:13.5px; line-height:1.6em;
}

@media (max-width:921px){
    .ls-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }
    .ev-page.is-sports .ev-cta{ padding:64px 0; }
}
@media (max-width:544px){
    .ls-grid{ grid-template-columns:1fr; gap:14px; }
    .ls-card{ padding:28px 22px 26px; }
    .ls-strap{ font-size:18px; }
    .ls-strap span{ display:block; padding:4px 0; }
    .ev-page.is-sports .ev-hero .ev-wrap{ padding-top:130px; padding-bottom:44px; }
    .ev-page.is-sports .ev-hero .xm-script{ font-size:32px; }
    .ev-page.is-sports .ev-cta{ padding:48px 0; }
    .ev-page.is-sports .ev-cta .xm-script{ font-size:29px; }
    .ev-page.is-sports .xm-book-card{ padding:30px 20px 24px; }
}


/* Broadcaster logos under the live badge: straight on the hero, no boxes,
   a hairline divider between them. */
.ls-channels{
    display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0;
    margin:22px auto 0;
}
.ls-channels-label{
    width:100%; text-align:center; margin:0 0 14px;
    text-transform:uppercase; font-size:11px; letter-spacing:.22em; font-weight:600;
    color:var(--gold-light); opacity:.9;
}
.ls-logo{
    display:inline-flex; align-items:center; padding:0 22px;
    border-left:1px solid rgba(255,255,255,.28);
    filter:drop-shadow(0 4px 12px rgba(0,0,0,.45));
}
.ls-logo:first-of-type{ border-left:0; }
.ls-logo img{ height:32px; width:auto; display:block; }
.ls-logo img[alt="TNT Sports"]{ height:28px; }
@media (max-width:544px){
    .ls-logo{ padding:0 14px; }
    .ls-logo img{ height:26px; }
    .ls-logo img[alt="TNT Sports"]{ height:22px; }
}
