/* L2CHECK Core 1.0 / Phase 3 canonical bundle: home-v1.css */
/* Generated by concatenating the previously live CSS files in the exact same order. */
/* Original files remain on disk for rollback/archive validation. */

/* ===== BEGIN legacy source: stage14.css ===== */
/* L2CHECK Stage 14 — clearer VIP showcase + calendar-style announcer */
:root{
  --a14-bg:#07131d;--a14-panel:#0b1b27;--a14-panel2:#0e2231;--a14-line:#28475e;
  --a14-text:#edf3f7;--a14-muted:#8399a9;--a14-blue:#6daee4;--a14-gold:#d7a64a;--a14-gold2:#f0c96d;
}

/* ---------- HOME: stop using random announcement covers ---------- */
.h14-announcements{padding-top:22px!important}.h14-section-head{margin-bottom:15px!important}.h14-announcement-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:16px!important}.h14-announcement-main{min-width:0}
.h14-subhead{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:1px 0 10px}.h14-subhead span{display:block;color:var(--a14-gold);font-size:8px;font-weight:900;letter-spacing:.13em}.h14-subhead h3{margin:2px 0 0;color:#edf3f7;font:600 20px Georgia}.h14-subhead>a{color:#86bde7;font-size:10px}.h14-near-head{margin-top:18px;padding-top:15px;border-top:1px solid #1c3548}
.h14-vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.h14-vip-card{overflow:hidden;border:1px solid #6d5425;border-radius:12px;background:linear-gradient(180deg,#0e202d,#081620);box-shadow:0 10px 28px rgba(0,0,0,.18);transition:.18s}.h14-vip-card:hover{transform:translateY(-2px);border-color:#a77b2c;box-shadow:0 17px 36px rgba(0,0,0,.26)}
.h14-vip-media{position:relative;display:block;height:132px;overflow:hidden;background-position:center;background-size:cover}.h14-vip-media:before{content:"";position:absolute;inset:0;background-image:url('../images/stage14/vip_default.webp');background-size:cover;background-position:center;transition:transform .35s}.h14-vip-card.theme-bohpts .h14-vip-media:before{background-image:url('../images/stage14/vip_bohpts.webp')}.h14-vip-card.theme-lu4 .h14-vip-media:before{background-image:url('../images/stage14/vip_lu4.webp')}.h14-vip-card.theme-scryde .h14-vip-media:before{background-image:url('../images/stage14/vip_scryde.webp')}.h14-vip-card:hover .h14-vip-media:before{transform:scale(1.035)}.h14-vip-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,10,16,.9),rgba(3,10,16,.05) 62%)}
.h14-vip-media em{position:absolute;z-index:2;left:9px;top:9px;padding:4px 7px;border:1px solid #b18431;border-radius:5px;background:rgba(61,43,10,.92);color:#f1cb70;font:900 8px Inter,sans-serif;font-style:normal;letter-spacing:.06em}.h14-vip-mark{position:absolute;z-index:2;left:11px;bottom:10px;width:43px;height:43px;border:1px solid rgba(218,177,91,.68);border-radius:10px;display:grid;place-items:center;background:rgba(5,17,26,.86);color:#efc86d;font:700 14px Georgia;box-shadow:0 7px 18px rgba(0,0,0,.28)}
.h14-vip-body{padding:12px 12px 13px}.h14-vip-body h3{margin:0;color:#f2f5f8;font:600 18px Georgia;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h14-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.h14-tags span{padding:3px 5px;border:1px solid #2d4e64;border-radius:5px;background:#0b1b27;color:#8ea9ba;font-size:8px}.h14-vip-date{display:flex;align-items:baseline;gap:6px;margin-top:11px;padding-top:9px;border-top:1px solid #1f394c}.h14-vip-date small{color:#617c8f;font-size:7px;font-weight:900}.h14-vip-date b{color:#e8edf1;font-size:10px}.h14-vip-date span{color:#d9ae54;font-size:9px}.h14-vip-actions{display:flex;gap:6px;margin-top:9px}.h14-vip-actions a{flex:1;padding:7px;border:1px solid #31536b;border-radius:6px;color:#9bc8e8;text-align:center;font-size:9px;font-weight:700}.h14-vip-actions a.gold{border-color:#7b5c25;background:#251d0e;color:#e6bd62}
.h14-period-mini{display:flex;gap:5px}.h14-period-mini a{padding:5px 7px;border:1px solid #27465c;border-radius:6px;color:#90a8b8;background:#091824;font-size:9px}.h14-period-mini a:hover{border-color:#4e7592;color:#fff}.h14-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.h14-upcoming-card{display:grid;grid-template-columns:42px minmax(0,1fr) 14px;align-items:center;gap:9px;min-height:62px;padding:7px 9px;border:1px solid #213e53;border-radius:9px;background:#091722;transition:.16s}.h14-upcoming-card:hover{border-color:#49708d;background:#0c1d2b;transform:translateY(-1px)}.h14-upcoming-date{width:42px;height:46px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #31536b;border-radius:8px;background:#0c2030}.h14-upcoming-date b{color:#eac567;font:700 17px/1 Georgia}.h14-upcoming-date span{margin-top:2px;color:#7894a7;font-size:7px;font-weight:800}.h14-upcoming-copy{min-width:0}.h14-upcoming-copy b{display:block;overflow:hidden;color:#e9eff3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.h14-upcoming-copy span{display:block;margin-top:4px;color:#6f899b;font-size:8px}.h14-upcoming-card i{font-style:normal;color:#597b92}.h14-home-sidebar{gap:10px!important}.h14-home-sidebar .stage9-side-card{padding:13px!important}.h14-home-sidebar .stage9-filter-card h3{font-size:18px!important}.h14-home-sidebar .stage9-sidebar-banner{aspect-ratio:300/250;overflow:hidden}.h14-home-sidebar .stage9-sidebar-banner img{width:100%!important;height:100%!important;object-fit:cover!important}

/* ---------- ANNOUNCER ---------- */
.a14-wrap{width:min(100% - 34px,1360px);margin-inline:auto}.a14-hero{border-bottom:1px solid #1d3547;background:linear-gradient(180deg,rgba(15,34,47,.72),rgba(8,20,29,.38))}.a14-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:27px 0 23px}.a14-kicker{color:var(--a14-gold);font-size:8px;font-weight:900;letter-spacing:.14em}.a14-hero h1{margin:5px 0 7px;color:#edf3f7;font:600 clamp(30px,3.1vw,43px)/1.02 Georgia}.a14-hero p{max-width:720px;margin:0;color:#91a7b6;font-size:12px;line-height:1.55}.a14-hero-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.a14-btn{padding:10px 13px;border:1px solid #31536a;border-radius:8px;background:#0b1a25;color:#a9c2d3;font-size:10px;font-weight:800}.a14-btn.gold{border-color:#76591f;background:linear-gradient(180deg,#4a3510,#271d0c);color:#efc667}
.a14-page{padding:18px 0 60px}.a14-periods{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.a14-periods a{display:flex;align-items:center;justify-content:space-between;min-height:47px;padding:8px 10px;border:1px solid #27465b;border-radius:9px;background:#091722;color:#8ca5b6;transition:.16s}.a14-periods a span{font-size:10px;font-weight:800}.a14-periods a small{min-width:24px;padding:3px 5px;border-radius:10px;background:#102638;color:#6f91a8;text-align:center;font-size:8px}.a14-periods a:hover,.a14-periods a.active{border-color:#527895;background:#10283a;color:#eef5f9}.a14-periods a.active small{background:#20415a;color:#bde2fb}.a14-periods a.vip.active,.a14-periods a.vip:hover{border-color:#8a6828;background:#251d0d;color:#edc66e}.a14-periods a.vip small{background:#3b2d12;color:#e3bd62}
.a14-toolbar{display:flex;align-items:center;gap:7px;margin-top:10px;padding:8px;border:1px solid #244258;border-radius:10px;background:#091823}.a14-toolbar-copy{margin-right:auto;padding:0 8px}.a14-toolbar-copy span{display:block;color:#e9eff3;font-size:12px;font-weight:800}.a14-toolbar-copy small{display:block;margin-top:2px;color:#668195;font-size:8px}.a14-filter-drop{position:relative}.a14-filter-drop summary{list-style:none;min-width:125px;padding:8px 9px;border:1px solid #2d4e65;border-radius:7px;background:#0a1a26;color:#83a0b3;font-size:9px;cursor:pointer}.a14-filter-drop summary::-webkit-details-marker{display:none}.a14-filter-drop summary b{margin-left:4px;color:#dfe9ef;font-weight:800}.a14-filter-drop>div{position:absolute;z-index:20;right:0;top:calc(100% + 6px);width:245px;max-height:360px;overflow:auto;padding:6px;border:1px solid #31536a;border-radius:9px;background:#07151f;box-shadow:0 18px 45px rgba(0,0,0,.45)}.a14-filter-drop>div.rates{width:210px}.a14-filter-drop>div a{display:flex;justify-content:space-between;gap:8px;padding:7px;border-radius:6px;color:#92aabd;font-size:9px}.a14-filter-drop>div a:hover,.a14-filter-drop>div a.active{background:#10283a;color:#fff}.a14-filter-drop>div small{color:#5e7a8e}.a14-search{display:flex;min-width:310px}.a14-search input{min-width:0;flex:1;padding:9px 10px;border:1px solid #2d4e65;border-right:0;border-radius:7px 0 0 7px;background:#06131d;color:#e7eef3;font-size:10px;outline:none}.a14-search button{padding:0 12px;border:1px solid #3e6682;border-radius:0 7px 7px 0;background:#123651;color:#dbeaf4;font-size:10px;font-weight:800}.a14-active-filter{display:flex;align-items:center;gap:5px;margin-top:8px;padding:8px 10px;border:1px dashed #2b4b61;border-radius:8px;color:#6e889a;font-size:9px}.a14-active-filter b{padding:3px 6px;border-radius:5px;background:#112b3d;color:#a8c5d7}.a14-active-filter a{margin-left:auto;color:#d5ab55}
.a14-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:14px;margin-top:13px}.a14-main{min-width:0}.a14-day-section+.a14-day-section{margin-top:14px}.a14-day-head{display:flex;align-items:flex-end;justify-content:space-between;padding:0 3px 7px;border-bottom:1px solid #1c3547}.a14-day-head span{color:#d2a750;font-size:7px;font-weight:900;letter-spacing:.13em}.a14-day-head h2{margin:2px 0 0;color:#eaf0f4;font:600 19px Georgia}.a14-day-head>small{color:#647f92;font-size:8px}.a14-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.a14-start-card{padding:11px;border:1px solid #244259;border-radius:10px;background:linear-gradient(145deg,#0c1d2a,#081620);transition:.16s}.a14-start-card:hover{border-color:#49718d;transform:translateY(-1px)}.a14-start-card.is-vip{border-color:#785b25;box-shadow:inset 0 0 0 1px rgba(215,166,74,.07)}.a14-card-top{display:grid;grid-template-columns:48px minmax(0,1fr) 55px;align-items:center;gap:9px}.a14-logo{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border:1px solid #3b617b;border-radius:10px;background:#0a1c29;color:#edc66b;font:700 13px Georgia}.a14-logo img{width:100%;height:100%;object-fit:cover}.a14-card-identity{min-width:0}.a14-card-badges{display:flex;gap:4px;min-height:16px}.a14-card-badges span{padding:2px 4px;border-radius:4px;font-size:6px;font-weight:900;letter-spacing:.05em}.a14-card-badges .vip{border:1px solid #816324;background:#2c220d;color:#efc86c}.a14-card-badges .obt{background:#12365b;color:#8ec5ef}.a14-card-badges .verified{background:#10301f;color:#83d7a2}.a14-card-name{display:block;margin-top:3px;overflow:hidden;color:#edf3f7;font:600 16px Georgia;text-overflow:ellipsis;white-space:nowrap}.a14-card-identity>small{display:block;margin-top:3px;color:#6c8799;font-size:8px}.a14-date-badge{width:55px;height:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #31536b;border-radius:9px;background:#0a1c29;text-align:center}.a14-date-badge b{color:#ebc566;font:700 18px/1 Georgia}.a14-date-badge span{margin-top:2px;color:#88a1b1;font-size:7px;font-weight:900}.a14-date-badge small{margin-top:3px;color:#5e7a8e;font-size:6px}.a14-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.a14-stats>div{padding:7px 8px;border:1px solid #1d394d;border-radius:7px;background:#081722}.a14-stats span{display:block;color:#5d778a;font-size:6px;font-weight:800;text-transform:uppercase}.a14-stats b{display:block;margin-top:3px;overflow:hidden;color:#cbd7df;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.a14-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #193346}.a14-card-footer time{color:#7892a3;font-size:8px}.a14-card-footer>div{display:flex;gap:5px}.a14-card-footer a{padding:5px 7px;border:1px solid #2e5068;border-radius:5px;color:#89b9d9;font-size:8px;font-weight:700}.a14-card-footer a.gold{border-color:#74571e;background:#241c0c;color:#e2b95c}.a14-empty{padding:45px 20px;border:1px dashed #31536b;border-radius:12px;background:#091824;text-align:center}.a14-empty>div{color:#d0a451;font-size:28px}.a14-empty h2{margin:5px 0;color:#eaf0f4;font:600 23px Georgia}.a14-empty p{color:#758fa0}.a14-empty a{color:#e0b659}.a14-pagination{margin-top:18px}
.a14-sidebar{display:flex;flex-direction:column;gap:9px;position:sticky;top:79px;align-self:start}.a14-side-card{padding:13px;border:1px solid #24445a;border-radius:10px;background:linear-gradient(145deg,#0c1d2a,#081620)}.a14-side-title{margin-bottom:9px;color:#edf3f7;font:600 19px Georgia}.a14-side-periods{display:grid;gap:4px}.a14-side-periods a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:7px;color:#8ea5b5}.a14-side-periods a:hover,.a14-side-periods a.active{background:#112a3c;color:#fff}.a14-side-periods span b,.a14-side-periods span small{display:block}.a14-side-periods span b{font-size:9px}.a14-side-periods span small{margin-top:2px;color:#5f7a8d;font-size:7px}.a14-side-periods em{min-width:25px;padding:3px 5px;border-radius:10px;background:#0a1b27;color:#7292a8;font-size:7px;font-style:normal;text-align:center}.a14-side-links{display:grid;grid-template-columns:1fr 1fr;gap:3px}.a14-side-links a{display:flex;justify-content:space-between;gap:6px;padding:5px 6px;border-radius:5px;color:#89a3b4;font-size:8px}.a14-side-links a:hover,.a14-side-links a.active{background:#112b3e;color:#fff}.a14-side-links b{color:#55758a}.a14-rate-cloud{display:flex;flex-wrap:wrap;gap:4px}.a14-rate-cloud a{padding:4px 6px;border:1px solid #27465b;border-radius:5px;background:#091722;color:#819bac;font-size:8px}.a14-rate-cloud a:hover,.a14-rate-cloud a.active{border-color:#4a728f;color:#fff}.a14-rate-cloud small{color:#57768b}.a14-banner{overflow:hidden;border-radius:10px}.a14-banner img{width:100%!important;height:auto!important;display:block;filter:none!important;opacity:1!important}.a14-gold-card{border-color:#654e25;background:linear-gradient(145deg,#171a1d,#13150f)}.a14-gold-card>span{color:#d4a64b;font-size:7px;font-weight:900;letter-spacing:.12em}.a14-gold-card h3{margin:4px 0 6px;color:#f0f2f3;font:600 19px Georgia}.a14-gold-card p{margin:0;color:#8b9ca7;font-size:9px;line-height:1.5}.a14-gold-card a{display:inline-block;margin-top:9px;color:#e2b85b;font-size:9px;font-weight:800}

@media(max-width:1180px){.h14-vip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.a14-periods{grid-template-columns:repeat(4,1fr)}.a14-layout{grid-template-columns:1fr}.a14-sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.a14-banner,.a14-gold-card{align-self:start}}
@media(max-width:900px){.h14-announcement-layout{grid-template-columns:1fr!important}.h14-home-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}.h14-vip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.a14-hero-inner{align-items:flex-start;flex-direction:column}.a14-toolbar{flex-wrap:wrap}.a14-toolbar-copy{width:100%}.a14-search{min-width:100%;order:5}.a14-card-grid{grid-template-columns:1fr}}
@media(max-width:720px){.h14-vip-grid{grid-template-columns:1fr}.h14-vip-media{height:165px}.h14-upcoming-grid{grid-template-columns:1fr}.h14-home-sidebar{grid-template-columns:1fr}.a14-wrap{width:min(100% - 24px,1360px)}.a14-periods{display:flex;overflow:auto;padding-bottom:3px}.a14-periods a{min-width:112px}.a14-toolbar{align-items:stretch}.a14-filter-drop{flex:1}.a14-filter-drop summary{min-width:0}.a14-filter-drop>div{position:fixed;left:12px;right:12px;top:auto;width:auto!important;max-height:55vh}.a14-sidebar{grid-template-columns:1fr}.a14-card-footer{align-items:flex-start;flex-direction:column}.a14-card-footer>div{width:100%}.a14-card-footer a{flex:1;text-align:center}}
/* ===== END legacy source: stage14.css ===== */

/* ===== BEGIN legacy source: stage19_5-image-sync.css ===== */
/* L2CHECK Stage 19.5 — Project Cover is the single visual source */
.h14-vip-media.has-custom-cover:before{
    background-image:var(--vip-cover)!important;
    background-size:cover!important;
    background-position:center!important;
}
.h14-vip-media.has-custom-cover .h14-vip-mark{
    background:rgba(5,17,26,.72);
    backdrop-filter:blur(3px);
}
/* ===== END legacy source: stage19_5-image-sync.css ===== */

/* ===== BEGIN legacy source: stage19_6b-home-vip-smart-fit.css ===== */
/* L2CHECK Stage 19.6b — universal smart fit for ALL homepage VIP/Premium covers.
   Root cause fixed: Stage14 used background-size: cover, which necessarily crops images
   whenever their aspect ratio differs from the fixed VIP media box. */

.h14-vip-media.h196-smart-fit{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    height:132px !important;
    background:#06141f !important;
    background-image:none !important;
}

/* Background fill: same uploaded picture, blurred and darkened. */
.h14-vip-media.h196-smart-fit::before{
    content:"" !important;
    position:absolute !important;
    inset:-14px !important;
    z-index:0 !important;
    background-image:var(--vip-cover) !important;
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    filter:blur(12px) brightness(.54) saturate(.9) !important;
    transform:scale(1.12) !important;
    opacity:.9 !important;
    transition:none !important;
}

/* Actual uploaded artwork: NEVER cropped. */
.h14-vip-media.h196-smart-fit > img.h196-vip-cover-img{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    transform:none !important;
    filter:none !important;
}

/* Gentle overlay so VIP badge and transition into card body stay readable. */
.h14-vip-media.h196-smart-fit::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    pointer-events:none !important;
    background:linear-gradient(0deg,rgba(3,10,16,.55),rgba(3,10,16,.03) 58%) !important;
}

.h14-vip-media.h196-smart-fit .h14-vip-mark,
.h14-vip-media.h196-smart-fit em{
    z-index:3 !important;
}

/* Disable the old Stage14 hover zoom for custom covers. */
.h14-vip-card:hover .h14-vip-media.h196-smart-fit::before{
    transform:scale(1.12) !important;
}
.h14-vip-card:hover .h14-vip-media.h196-smart-fit > img.h196-vip-cover-img{
    transform:none !important;
}

@media(max-width:720px){
    .h14-vip-media.h196-smart-fit{
        height:145px !important;
    }
}
/* ===== END legacy source: stage19_6b-home-vip-smart-fit.css ===== */

/* ===== BEGIN legacy source: stage19_7-logo-sync.css ===== */
/* L2CHECK Stage 19.7 — project logo sync.
   Admin field projects.logo_path is the single source of truth for project logos. */
.h14-vip-mark{
    overflow:hidden !important;
}
.h14-vip-mark > img.h197-project-logo,
.stage9-next-mark > img.h197-project-logo,
.stage9-check-logo > img.h197-project-logo,
.stage9-project-logo > img,
.s10-media-logo > img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:3px !important;
    border:0 !important;
    background:transparent !important;
}
.h14-vip-mark > img.h197-project-logo{
    padding:4px !important;
}
.stage9-check-logo,
.stage9-next-mark,
.stage9-project-logo,
.s10-media-logo{
    overflow:hidden !important;
}
/* ===== END legacy source: stage19_7-logo-sync.css ===== */

