/* ==========================================================================
   Lion Hotel — Valentine's Day menu page. Sits on the shared event design
   (events-light.css) and reuses the sticky tabs, short hero and booking
   band from christmas.css, swapping the festive palette for roses and gold.
   Scoped to .ev-page.is-valentine.
   ========================================================================== */

.ev-page.is-valentine{
    --rose:#b8324a;
    --rose-deep:#7a1f33;
    --blush:#fdf5f6;
    --navy:#1b2440;
    --navy-deep:#121a30;
    --gold-light:#e6cf97;

    --heading:var(--navy);
    --bg-alt:var(--blush);
    --line:#efd9dd;

    --heart-svg: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 21s-7.5-4.6-9.6-9.1C.8 8.4 3 5 6.4 5c1.9 0 3.4 1 4.3 2.4h2.6C14.2 6 15.7 5 17.6 5 21 5 23.2 8.4 21.6 11.9 19.5 16.4 12 21 12 21z' fill='%23b8324a'/%3E%3C/svg%3E");
    --heart-gold-svg: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 21s-7.5-4.6-9.6-9.1C.8 8.4 3 5 6.4 5c1.9 0 3.4 1 4.3 2.4h2.6C14.2 6 15.7 5 17.6 5 21 5 23.2 8.4 21.6 11.9 19.5 16.4 12 21 12 21z' fill='%23ccae73'/%3E%3C/svg%3E");
}

/* ---------- Hero: roses under a crimson dusk ------------------------------ */
.ev-page.is-valentine .ev-hero{
    position:relative; z-index:2;
    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-valentine .ev-hero + *{ position:relative; z-index:1; }
.ev-page.is-valentine .ev-hero:after{
    background:linear-gradient(180deg, rgba(60,10,25,.55) 0%, rgba(30,12,30,.72) 60%, rgba(18,26,48,.9) 100%);
}
.ev-page.is-valentine .ev-hero.is-short{ min-height:56vh; }
.ev-page.is-valentine .ev-hero.is-short .ev-wrap{ text-align:center; padding-top:150px; padding-bottom:60px; }
.ev-page.is-valentine .ev-hero.is-short h1{ max-width:none; text-shadow:0 2px 24px rgba(0,0,0,.45); }
.ev-page.is-valentine .ev-hero.is-short .ev-hero-sub{ margin-left:auto; margin-right:auto; }
.ev-page.is-valentine .ev-hero .ev-eyebrow{
    color:var(--gold-light); display:inline-flex; align-items:center; gap:12px;
}
.ev-page.is-valentine .ev-hero .ev-eyebrow:before,
.ev-page.is-valentine .ev-hero .ev-eyebrow:after{
    content:""; width:14px; height:14px; background:var(--heart-gold-svg) center/contain no-repeat;
}
.ev-page.is-valentine .ev-hero .xm-script{ color:var(--gold-light); font-size:44px; margin:14px 0 0; }


/* ---------- Headings: gold heart above, rule below ------------------------ */
.ev-page.is-valentine .ev-section-head.is-centre h2{ position:relative; padding-top:46px; }
.ev-page.is-valentine .ev-section-head.is-centre h2:before{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:30px; height:30px; background:var(--heart-svg) center/contain no-repeat;
}
.ev-page.is-valentine .ev-section-head.is-centre h2:after{
    content:""; display:block; width:160px; height:12px; margin:14px auto 0;
    background:
        var(--heart-gold-svg) 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;
}
.ev-page.is-valentine .ev-row-body h3{ position:relative; padding-left:30px; }
.ev-page.is-valentine .ev-row-body h3:before{
    content:""; position:absolute; left:0; top:.42em; width:18px; height:18px;
    background:var(--heart-svg) center/contain no-repeat;
}
.ev-page.is-valentine .ev-price{ color:var(--rose); }

/* ---------- Photos and lists --------------------------------------------- */
.ev-page.is-valentine .ev-row-media img{
    border:1px solid var(--gold); padding:8px; background:#fff;
    box-shadow:0 18px 40px -22px rgba(122,31,51,.45);
}
.ev-page.is-valentine .ev-incl li:before{
    border:0; transform:none; width:14px; height:14px; top:5px; left:0;
    background:var(--heart-svg) center/contain no-repeat;
}
.ev-page.is-valentine .ev-list .k{ color:var(--rose-deep); }

/* ---------- Menu: card with heart bullets ------------------------------- */
.ev-page.is-valentine .ev-menu.is-flow{
    background:#fff; border:1px solid var(--gold); padding:52px 56px; position:relative;
    box-shadow:0 30px 60px -40px rgba(122,31,51,.5);
}
.ev-page.is-valentine .ev-menu.is-flow .ev-course h4:after{
    width:150px;
    background:
        var(--heart-gold-svg) 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;
}
.ev-page.is-valentine .ev-menu.is-flow:before,
.ev-page.is-valentine .ev-menu.is-flow:after{
    content:""; position:absolute; width:46px; height:46px;
    background:var(--heart-svg) center/contain no-repeat; opacity:.9;
}
.ev-page.is-valentine .ev-menu.is-flow:before{ top:-18px; left:-16px; transform:rotate(-18deg); }
.ev-page.is-valentine .ev-menu.is-flow:after{ bottom:-18px; right:-16px; transform:rotate(14deg); }

/* ---------- Buttons ------------------------------------------------------ */
.ev-page.is-valentine .ev-btn{ background:linear-gradient(180deg, #d9bd82, var(--gold-dark)); border-color:var(--gold-dark); }
.ev-page.is-valentine .ev-btn.is-ghost{ background:transparent; color:var(--rose-deep) !important; border-color:var(--rose-deep); }
.ev-page.is-valentine .ev-btn.is-ghost:hover{ background:var(--rose-deep); color:#fff !important; }

/* ---------- Tabs and booking band, rose-tinted --------------------------- */
.ev-page.is-valentine .xm-tabs{ background:rgba(253,245,246,.96); }
.ev-page.is-valentine .xm-tabs a.is-active{ background:var(--rose-deep); color:#fff; }
.ev-page.is-valentine .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(--rose-deep), var(--navy-deep));
    border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
}
.ev-page.is-valentine .ev-cta .ev-wrap{ position:relative; z-index:2; }
.ev-page.is-valentine .ev-cta .ev-eyebrow{ color:var(--gold-light); margin-bottom:10px; }
.ev-page.is-valentine .ev-cta h2{ color:#fff; margin-bottom:.15em; }
.ev-page.is-valentine .ev-cta .xm-script{ color:var(--gold-light); font-size:36px; margin:0 0 18px; }
.ev-page.is-valentine .ev-cta p{ color:rgba(255,255,255,.88); margin:0 0 22px; max-width:none; font-size:17px; }
.ev-page.is-valentine .xm-book-points li:before{ background:var(--heart-gold-svg) center/contain no-repeat; }
.ev-page.is-valentine .xm-book-card{
    position:relative; background:linear-gradient(180deg, #fffdf8, var(--blush));
    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-valentine .xm-book-card:before{
    content:""; position:absolute; top:-22px; right:-14px; width:56px; height:56px;
    background:var(--heart-svg) center/contain no-repeat; transform:rotate(14deg);
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.3));
}
.ev-page.is-valentine .xm-book-phone{ color:var(--navy) !important; }
.ev-page.is-valentine .xm-book-phone:hover{ color:var(--rose) !important; }
.ev-page.is-valentine .xm-book-note{ border-top-color:var(--line); }

@media (max-width:921px){
    .ev-page.is-valentine .ev-menu.is-flow{ padding:40px 30px; }
    .ev-page.is-valentine .ev-cta{ padding:64px 0; }
}
@media (max-width:544px){
    .ev-page.is-valentine .ev-menu.is-flow{ padding:32px 20px; }
    .ev-page.is-valentine .ev-hero.is-short .ev-wrap{ padding-top:130px; padding-bottom:44px; }
    .ev-page.is-valentine .ev-hero .xm-script{ font-size:32px; }
    .ev-page.is-valentine .ev-cta{ padding:48px 0; }
    .ev-page.is-valentine .ev-cta .xm-script{ font-size:29px; }
    .ev-page.is-valentine .xm-book-card{ padding:30px 20px 24px; }
}

/* Booking-card note (the base rule in christmas.css is scoped to the Christmas page). */
.ev-page.is-valentine .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;
}
