/* Compact Story Map link strip: icon-led, no decorative image */
.vl-home-discovery {
    width:100%;
    margin:0 auto clamp(34px, 4.5vw, 58px);
}
.vl-discovery-map-strip {
    display:flex;
    align-items:center;
    gap:clamp(16px, 2.4vw, 30px);
    width:100%;
    min-height:112px;
    padding:18px clamp(20px, 3vw, 34px);
    color:#1d2c4d;
    text-decoration:none !important;
    background:linear-gradient(105deg,#edf2fb 0%,#f7f9fd 48%,#fff 100%);
    border:1px solid #dce4f3;
    border-radius:18px;
    box-shadow:0 8px 24px rgba(27,43,76,.045);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.vl-discovery-map-strip:hover,.vl-discovery-map-strip:focus-visible {
    color:#1d2c4d;
    transform:translateY(-2px);
    border-color:#bfcbea;
    box-shadow:0 13px 30px rgba(27,43,76,.09);
}
.vl-discovery-map-strip:focus-visible { outline:3px solid #526ff0; outline-offset:3px; }
.vl-discovery-map-strip__icon {
    display:grid;
    place-items:center;
    flex:0 0 66px;
    width:66px;
    height:66px;
    color:#3654c5;
    background:#fff;
    border:1px solid #dce4f3;
    border-radius:17px;
    box-shadow:0 5px 14px rgba(54,84,197,.08);
}
.vl-discovery-map-strip__icon svg { display:block; width:39px; height:39px; }
.vl-discovery-map-strip__copy { display:flex; flex:1 1 auto; min-width:0; flex-direction:column; gap:3px; }
.vl-discovery-map-strip__kicker { color:#4964c7; font-size:9px; line-height:1.4; font-weight:800; letter-spacing:.14em; }
.vl-discovery-map-strip__copy strong { color:#1d2c4d; font-size:clamp(18px,2vw,23px); line-height:1.18; letter-spacing:-.025em; }
.vl-discovery-map-strip__description { color:#66738a; font-size:13px; line-height:1.45; }
.vl-discovery-map-strip__link { display:inline-flex; flex:0 0 auto; align-items:center; gap:8px; color:#3654c5; font-size:12px; font-weight:800; white-space:nowrap; }
.vl-discovery-map-strip__link span { font-size:17px; transition:transform .2s ease; }
.vl-discovery-map-strip:hover .vl-discovery-map-strip__link span { transform:translate(3px,-3px); }
@media(max-width:640px) {
    .vl-discovery-map-strip { min-height:94px; gap:13px; padding:14px; border-radius:15px; }
    .vl-discovery-map-strip__icon { flex-basis:52px; width:52px; height:52px; border-radius:14px; }
    .vl-discovery-map-strip__icon svg { width:32px; height:32px; }
    .vl-discovery-map-strip__copy strong { font-size:17px; }
    .vl-discovery-map-strip__description { font-size:11px; }
    .vl-discovery-map-strip__link { font-size:0; gap:0; }
    .vl-discovery-map-strip__link span { font-size:22px; }
}
@media(max-width:390px) {
    .vl-discovery-map-strip { align-items:flex-start; }
    .vl-discovery-map-strip__description { display:none; }
}
@media(prefers-reduced-motion:reduce) { .vl-discovery-map-strip,.vl-discovery-map-strip__link span { transition:none; } }

/* Homepage: upcoming dates and events for the next seven days */
.vl-home-upcoming { margin: 0 0 clamp(54px, 7vw, 88px); padding: clamp(20px, 3vw, 30px); background: #f5f7fc; border: 1px solid #e5e9f2; border-radius: 20px; }
.vl-home-upcoming__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.vl-home-upcoming__eyebrow { margin:0 0 6px; color:#4964c7; font-size:10px; font-weight:800; letter-spacing:.15em; }
.vl-home-upcoming__heading h2 { margin:0; color:#1d2c4d; font-size:clamp(21px,2.2vw,28px); line-height:1.15; }
.vl-home-upcoming__heading > a { flex:0 0 auto; color:#3654c5; font-size:13px; font-weight:800; text-decoration:none; }
.vl-home-upcoming__track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.vl-home-upcoming__item { min-width:0; background:#fff; border:1px solid #e4e8f0; border-radius:14px; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.vl-home-upcoming__item:hover { transform:translateY(-3px); border-color:#cbd4e8; box-shadow:0 10px 24px rgba(27,43,76,.07); }
.vl-home-upcoming__item > a { display:flex; align-items:center; gap:13px; min-height:104px; padding:14px; color:inherit; text-decoration:none; }
.vl-home-upcoming__item time { display:flex; flex:0 0 52px; flex-direction:column; align-items:center; justify-content:center; min-height:66px; color:#3654c5; background:#eef2ff; border-radius:10px; }
.vl-home-upcoming__item time strong { font-size:25px; line-height:1.05; }
.vl-home-upcoming__item time span { margin-top:3px; font-size:9px; font-weight:800; }
.vl-home-upcoming__item time small { font-size:10px; text-transform:uppercase; }
.vl-home-upcoming__details { min-width:0; flex:1; }
.vl-home-upcoming__identity { display:flex; align-items:center; gap:8px; margin-bottom:5px; min-height:22px; }
.vl-home-upcoming__details .vl-calendar-flags { display:flex; margin:0; }
.vl-home-upcoming__organizer-logo { width:22px; height:22px; object-fit:contain; border-radius:5px; border:1px solid #e4e8f0; background:#fff; padding:2px; }
.vl-home-upcoming__type { display:block; color:#7b8495; font-size:10px; font-weight:700; }
.vl-home-upcoming__details h3 { display:-webkit-box; overflow:hidden; margin:4px 0 0; color:#1d2c4d; font-size:13px; line-height:1.35; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.vl-home-upcoming__arrow { flex:0 0 auto; align-self:flex-start; color:#3654c5; font-size:16px; }
.vl-home-upcoming__empty { margin:0; padding:16px; color:#66738a; background:#fff; border-radius:12px; }
@media(max-width:980px) { .vl-home-upcoming__track { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .vl-home-upcoming { margin-top:-24px; padding:17px; border-radius:16px; } .vl-home-upcoming__heading { align-items:flex-start; flex-direction:column; gap:9px; } .vl-home-upcoming__track { grid-template-columns:1fr; gap:9px; } .vl-home-upcoming__item > a { min-height:88px; } }
