/* E15 Premium: all selectors scoped to E15 frontend components. */
.e15v-wrap,.e15v-competitions,.e15v-leaderboard{--e15v-ink:#101b30;--e15v-muted:#64748b;--e15v-gold:#c49b55;--e15v-line:#e8edf2;--e15v-paper:#fff;color:var(--e15v-ink);font-family:inherit;box-sizing:border-box}
.e15v-wrap *,.e15v-competitions *,.e15v-leaderboard *{box-sizing:border-box}
.e15v-wrap{max-width:1220px;margin:36px auto;padding:0 16px}
.e15v-section-header{background:linear-gradient(115deg,#111f38,#203655);border-radius:24px;padding:clamp(24px,5vw,54px);color:white;margin-bottom:30px;position:relative;overflow:hidden;box-shadow:0 20px 50px #1020391b}
.e15v-section-header:after{content:"";position:absolute;right:-110px;top:-140px;width:380px;height:380px;border-radius:50%;border:65px solid #ffffff0b;pointer-events:none}
.e15v-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#ae8449;margin-bottom:9px}
.e15v-section-header .e15v-kicker{color:#e7c488}
.e15v-section-header h2{font-size:clamp(28px,4vw,45px);font-weight:800;letter-spacing:-.035em;color:#fff;margin:0 0 9px;line-height:1.15}
.e15v-section-header p{color:#d4deea;font-size:15px;margin:0 0 24px}
.e15v-status{display:inline-flex;align-items:center;background:#ffffff1e;border:1px solid #ffffff3b;border-radius:99px;padding:8px 14px;font-weight:700;font-size:12px;color:#fff}
.e15v-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:24px;align-items:stretch}
.e15v-card{background:#fff;border:1px solid var(--e15v-line);border-radius:19px;overflow:hidden;box-shadow:0 5px 18px #1326420d;transition:transform .2s ease,box-shadow .2s ease;min-width:0}
.e15v-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px #1326421c}
.e15v-card-media{height:280px;position:relative;overflow:hidden;background:linear-gradient(145deg,#dae5ec,#bfcfd8)}
.e15v-card-media img.e15v-photo{height:100%;width:100%;display:block;object-fit:cover;object-position:center 28%;transition:transform .35s ease}
.e15v-card:hover .e15v-photo{transform:scale(1.045)}
.e15v-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:90px;color:#a08a62}
.e15v-contestant-number{position:absolute;top:16px;left:16px;background:#fffdf0ed;padding:7px 12px;border-radius:9px;color:#14223b;font-size:12px;font-weight:800;box-shadow:0 4px 15px #0002}
.e15v-card-body{padding:23px}
.e15v-card h3{font-size:21px;color:var(--e15v-ink);font-weight:800;letter-spacing:-.025em;line-height:1.3;margin:0 0 6px}
.e15v-card-body>p:not(.e15v-category){font-size:13px;line-height:1.65;color:var(--e15v-muted);margin:13px 0}
.e15v-card-body>p strong{color:var(--e15v-ink);font-size:14px}
.e15v-category{display:inline-flex;margin:3px 0 5px;padding:5px 10px;background:#f7f1e7;color:#8c662b;font-size:11px;font-weight:700;border-radius:99px}
.e15v-vote-form{border-top:1px solid var(--e15v-line);margin-top:18px;padding-top:20px}
.e15v-vote-heading h4{font-size:15px;font-weight:800;margin:0 0 17px;line-height:1.45;color:var(--e15v-ink)}
.e15v-vote-form label{display:block;color:#35455c;font-size:12px;font-weight:700;margin:12px 0}
.e15v-vote-form input,.e15v-vote-form select{display:block;width:100%;font:inherit;font-size:14px;color:var(--e15v-ink);background:#f9fafc;border:1px solid #d9e2eb;border-radius:11px;padding:13px 14px;margin-top:8px;min-height:46px;box-shadow:none}
.e15v-vote-form input:focus,.e15v-vote-form select:focus{outline:2px solid #c49b5577;outline-offset:1px;border-color:#ae8b56}
.e15v-quantity[hidden]{display:none!important}
.e15v-price{background:#f6f8fb;border-radius:10px;padding:11px 13px;color:#52627a;font-size:12px;margin:12px 0}
.e15v-total{display:block;color:#13233d;font-size:18px;margin-top:4px}
.e15v-button{width:100%;border:0;border-radius:11px;background:#142640;color:#fff;font:inherit;font-weight:800;font-size:14px;min-height:48px;padding:13px 18px;cursor:pointer;display:flex;justify-content:center;gap:12px;align-items:center;transition:background .2s ease,transform .2s ease}
.e15v-button:hover,.e15v-button:focus-visible{background:#2b4266;color:white;transform:translateY(-1px)}
.e15v-button:disabled{opacity:.65;cursor:wait;transform:none}
.e15v-message{font-size:12px;font-weight:600;line-height:1.5;min-height:0;margin:10px 0 0;color:#26654b}
.e15v-message:empty{display:none}.e15v-message[data-status="error"]{color:#b42318}
.e15v-privacy{font-size:11px;line-height:1.6;color:var(--e15v-muted)}.e15v-privacy a{color:#285480;text-decoration:underline}
.e15v-closed{border:1px solid #e6eaf0;border-radius:9px;background:#f6f7f9;padding:12px;color:#64748b;font-size:13px}
.e15v-leaderboard{max-width:760px;margin:35px auto;background:white;border:1px solid #e6ebf0;border-radius:21px;padding:clamp(22px,4vw,40px);box-shadow:0 18px 42px #10203913}
.e15v-leaderboard h3{font-size:clamp(21px,3vw,30px);line-height:1.25;letter-spacing:-.025em;color:#13233d;margin:0}
.e15v-leaderboard-description{color:#69788e;font-size:13px;margin:7px 0 22px}
.e15v-leaderboard ol{list-style:none;counter-reset:e15-rank;padding:0;margin:0}
.e15v-leaderboard li{counter-increment:e15-rank;display:flex;align-items:center;gap:12px;padding:15px 10px;border-bottom:1px solid #edf0f4;font-size:14px}
.e15v-leaderboard li:last-child{border-bottom:0}
.e15v-leaderboard li:before{content:counter(e15-rank,decimal-leading-zero);font-weight:800;font-size:13px;color:#a17d45;min-width:27px}
.e15v-leaderboard li span{font-weight:700;color:#23344e;flex:1}
.e15v-leaderboard li strong{margin-left:auto;white-space:nowrap;background:#f6f8fb;color:#223c5b;border-radius:7px;padding:7px 10px;font-size:12px}
.e15v-competitions{max-width:1220px;margin:36px auto;padding:0 16px}.e15v-panel{padding:22px;border:1px solid #e8edf2;background:#fff;border-radius:20px;margin-bottom:22px}
@media(max-width:600px){.e15v-wrap{margin:16px auto;padding:0 12px}.e15v-grid{gap:18px}.e15v-card-media{height:300px}.e15v-section-header{border-radius:16px}.e15v-leaderboard{margin:20px 12px;border-radius:16px}.e15v-leaderboard li{flex-wrap:wrap}.e15v-leaderboard li strong{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.e15v-card,.e15v-photo,.e15v-button{transition:none!important}.e15v-card:hover,.e15v-card:hover .e15v-photo,.e15v-button:hover{transform:none}}

.e15v-status-card,.e15v-countdown{background:#0f1d35;color:#f8fafc;border:1px solid rgba(210,180,119,.35);border-radius:18px;padding:25px;box-shadow:0 12px 28px rgba(14,25,44,.13)}.e15v-status-card h3{color:#fff;font-size:24px;margin:10px 0}.e15v-status-card p{color:#cbd5e1;margin-bottom:0}.e15v-status-indicator{display:inline-block;background:#334155;padding:6px 12px;border-radius:100px;font-size:12px;color:#f8fafc}.e15v-status-indicator.is-live{background:#176b51}.e15v-countdown{display:flex;flex-direction:column;gap:8px}.e15v-countdown strong{font-size:clamp(20px,3vw,30px);color:#e1c68d}.e15v-countdown span{font-size:13px;color:#cbd5e1}

/* v2.1.1: guard against squeezed multi-column galleries in narrow Elementor containers. */
.elementor-widget-e15_voting_contestants,
.elementor-widget-e15_voting_competitions,
.elementor-widget-e15_voting_leaderboard,
.elementor-widget-e15_voting_top { min-width:0; width:100%; }
.e15v-widget-layout { width:100%; min-width:0; max-width:100%; container-type:inline-size; }
.e15v-widget-layout .e15v-wrap,
.e15v-widget-layout .e15v-competitions,
.e15v-widget-layout .e15v-leaderboard { width:100%; max-width:100%; margin-left:0; margin-right:0; }
.e15v-widget-layout .e15v-grid { min-width:0; }
.e15v-widget-layout .e15v-card { min-width:0; }
.e15v-widget-layout .e15v-card h3 { overflow-wrap:anywhere; }
@container (max-width: 899px) {
  .e15v-widget-layout .e15v-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)) !important;}
}
@container (max-width: 520px) {
  .e15v-widget-layout .e15v-grid, .e15v-widget-layout .e15v-competitions {grid-template-columns:minmax(0,1fr) !important;}
  .e15v-widget-layout .e15v-section-header {padding:24px;}
  .e15v-widget-layout .e15v-card h3 {font-size:clamp(17px,4vw,22px);}
}
/* v2.2 contestant profile and independent competition cards */
.e15v-competitions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;width:100%}.e15v-competition-card{min-width:0;padding:26px}.e15v-competition-card .e15v-button{display:inline-flex;margin-top:14px}.e15v-profile-link{display:inline-block;margin:12px 0;font-weight:700;color:var(--e15v-accent,#b38b47)}
.e15v-full-profile{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:32px;width:100%;max-width:1250px;margin:0 auto;padding:32px 18px;color:#18263b}.e15v-profile-nav{position:sticky;top:36px;align-self:start;display:flex;flex-direction:column;gap:5px;border-radius:18px;background:#10100f;padding:16px}.e15v-profile-nav a{display:block;color:#d9d6cf;text-decoration:none;font-size:14px;font-weight:700;padding:13px 15px;border-radius:9px;letter-spacing:.05em;text-transform:uppercase}.e15v-profile-nav a:hover,.e15v-profile-nav a:focus{background:#124331;color:#f3c94b}.e15v-profile-main{min-width:0}.e15v-profile-section{scroll-margin-top:90px;background:#fff;padding:28px;margin-bottom:22px;border:1px solid #e8e5dd;border-radius:18px;box-shadow:0 8px 30px #1b24300a;overflow-wrap:anywhere}.e15v-profile-section h2{font-size:clamp(22px,2.4vw,32px);margin:0 0 20px;text-transform:uppercase;letter-spacing:.04em}.e15v-profile-hero{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:28px;align-items:start}.e15v-profile-photo{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:13px}.e15v-profile-hero h1{font-size:clamp(26px,3vw,44px);margin:8px 0;text-transform:uppercase;letter-spacing:.02em}.e15v-profile-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}.e15v-profile-gallery img{width:100%;height:240px;object-fit:cover;border-radius:10px}.e15v-video{aspect-ratio:16/9;max-width:720px;margin-bottom:15px}.e15v-video iframe{width:100%;height:100%}@media(max-width:760px){.e15v-full-profile{grid-template-columns:minmax(0,1fr);padding:15px;gap:16px}.e15v-profile-nav{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap;padding:10px}.e15v-profile-section{padding:20px}.e15v-profile-hero{grid-template-columns:minmax(0,1fr)}.e15v-profile-photo{max-width:360px}}

/* v2.3: accessible, independent contestant gallery filters. */
.e15v-gallery .e15v-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:18px 20px;border-radius:16px;background:#f7f8fb;border:1px solid #e2e8f0;margin-bottom:13px}
.e15v-gallery .e15v-filter-field{flex:1 1 190px;min-width:0;display:flex;flex-direction:column;gap:6px}
.e15v-gallery .e15v-filter-search{flex:2 1 260px}
.e15v-gallery .e15v-filter-field span{font-size:12px;font-weight:750;color:#334155}
.e15v-gallery .e15v-filter-field input,.e15v-gallery .e15v-filter-field select{width:100%;min-height:46px;border:1px solid #cad4e0;border-radius:10px;background:#fff;padding:10px 12px;color:#10213a;font:inherit;font-size:14px;box-shadow:none}
.e15v-gallery .e15v-filter-field input:focus-visible,.e15v-gallery .e15v-filter-field select:focus-visible,.e15v-gallery .e15v-reset-filters:focus-visible{outline:3px solid #c49b5580;outline-offset:2px}
.e15v-gallery .e15v-reset-filters{min-height:46px;border:1px solid #b5c2d1;border-radius:10px;padding:9px 17px;background:white;color:#243a53;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.e15v-gallery .e15v-reset-filters:hover{background:#eaf0f6}
.e15v-gallery .e15v-filter-summary{font-size:13px;color:#52647c;margin:0 0 18px}
.e15v-gallery .e15v-card[hidden],.e15v-gallery .e15v-no-results[hidden]{display:none!important}
.e15v-gallery .e15v-no-results{text-align:center;padding:38px 12px;background:#f7f8fb;border:1px dashed #ccd6e2;border-radius:14px;color:#52647c}
@media(max-width:600px){.e15v-gallery .e15v-filters{padding:14px;gap:10px}.e15v-gallery .e15v-filter-field{flex-basis:100%}.e15v-gallery .e15v-reset-filters{width:100%}}

/* v2.4 premium, gallery-only compact cards: retain full voting form on profile pages. */
.e15v-gallery .e15v-grid-compact{align-items:stretch;gap:clamp(14px,2vw,26px)}
.e15v-gallery .e15v-card-compact{display:flex;flex-direction:column;border:1px solid #e7eaf0;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 30px rgba(21,35,60,.07);transition:transform .2s ease, box-shadow .2s ease}
.e15v-gallery .e15v-card-compact:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(21,35,60,.13)}
.e15v-gallery .e15v-card-compact .e15v-card-media{height:auto;aspect-ratio:4/4.4;max-height:410px;background:#e8ecf3;flex:none}
.e15v-gallery .e15v-card-compact .e15v-photo{height:100%;width:100%;object-fit:cover;object-position:center top}
.e15v-gallery .e15v-card-compact .e15v-card-body{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px}
.e15v-gallery .e15v-card-compact h3{font-size:clamp(18px,1.5vw,23px);line-height:1.23;margin:0;color:#142640;overflow-wrap:anywhere}
.e15v-gallery .e15v-card-compact .e15v-category{align-self:flex-start;margin:0;background:#f7f1e7;color:#906b33;padding:6px 11px}
.e15v-gallery .e15v-card-compact .e15v-card-bio{margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.e15v-gallery .e15v-card-compact .e15v-votes{margin:4px 0 0;font-size:13px;color:#52647c}
.e15v-gallery .e15v-card-compact .e15v-card-actions{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;flex-wrap:wrap}
.e15v-gallery .e15v-card-compact .e15v-card-link{display:inline-flex;align-items:center;justify-content:center;flex:1 1 100px;min-height:44px;border:1px solid #ccd5e1;border-radius:10px;text-decoration:none;color:#1b3353;font-size:13px;font-weight:750;padding:10px 12px;transition:background .2s}
.e15v-gallery .e15v-card-compact .e15v-card-link:hover{background:#f4f7fb;color:#13243b}
.e15v-gallery .e15v-card-compact .e15v-card-vote{display:inline-flex;flex:1 1 100px;min-height:44px;padding:10px 12px;text-decoration:none;font-size:13px;margin:0;border-radius:10px}
.e15v-gallery .e15v-card-unavailable{font-size:12px;color:#7a8898}
.e15v-gallery .e15v-card-compact .e15v-contestant-number{top:14px;left:14px}
@media(max-width:600px){.e15v-gallery .e15v-card-compact .e15v-card-media{max-height:460px}.e15v-gallery .e15v-card-compact .e15v-card-body{padding:18px}}

/* v2.5.1: non-matching cards must never occupy gallery grid slots. */
.e15v-gallery[data-e15v-gallery] .e15v-grid > .e15v-card[hidden],
.e15v-gallery[data-e15v-gallery] .e15v-grid > .e15v-card[aria-hidden="true"] { display:none !important; }
.e15v-gallery[data-e15v-gallery] .e15v-no-results[hidden] { display:none !important; }

/* v2.5.3: full-width profile layout when the optional navigation is disabled. */
.e15v-full-profile.e15v-profile-no-nav{grid-template-columns:minmax(0,1fr)}

.e15v-profile-section .e15v-kicker,.e15v-vote-heading .e15v-kicker{text-transform:uppercase;letter-spacing:.14em}
.e15v-vote-heading h4,.e15v-gallery-card h3,.e15v-competition-card h3,.e15v-leaderboard h3{text-transform:uppercase}

.e15v-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:28px 0;flex-wrap:wrap}.e15v-pagination[hidden]{display:none!important}.e15v-pagination button{background:#152642;color:#fff;border:0;border-radius:10px;padding:11px 19px;cursor:pointer;font-weight:650}.e15v-pagination button:disabled{opacity:.45;cursor:default}.e15v-page-status{font-weight:650;color:#152642}

.e15v-vote-modal{position:fixed;z-index:999999;inset:0;background:rgba(9,17,32,.79);display:flex;align-items:center;justify-content:center;padding:20px}.e15v-vote-modal-panel{position:relative;width:min(100%,620px);max-height:90vh;overflow-y:auto;padding:32px 24px;border-radius:18px;background:#fff;box-shadow:0 20px 70px #0005}.e15v-modal-close{position:sticky;top:0;float:right;z-index:2;border:0;background:#132540;color:white;border-radius:50%;height:36px;width:36px;font-size:26px;cursor:pointer}.e15v-modal-open{overflow:hidden}

.e15v-winners .e15v-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.e15v-winner-card{padding:20px;text-align:center}.e15v-winner-card img{width:100%;max-height:280px;object-fit:cover;border-radius:14px}.e15v-vote-popup{cursor:pointer}

.e15v-profile-layout-editorial{max-width:1380px;grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.e15v-profile-layout-editorial .e15v-profile-section{padding:clamp(26px,4vw,50px);border-radius:8px}.e15v-profile-layout-minimal{max-width:1120px;grid-template-columns:minmax(150px,200px) minmax(0,1fr)}.e15v-profile-layout-minimal .e15v-profile-section{box-shadow:none;border-color:#e9edf2}.e15v-profile-layout-minimal .e15v-profile-nav{background:#edf1f5}.e15v-profile-layout-minimal .e15v-profile-nav a{color:#17253c}@media(max-width:760px){.e15v-profile-layout-editorial,.e15v-profile-layout-minimal{grid-template-columns:minmax(0,1fr)}}
/* Milestone 3: self-contained application and portal form controls */
.e15v-application-form,.e15v-portal .e15v-panel{max-width:760px;display:grid;gap:18px;padding:28px;border-radius:16px;background:#fff;border:1px solid #e6e9ef;box-shadow:0 8px 26px #101d3610;margin:20px 0}
.e15v-application-form label,.e15v-portal label{display:grid;gap:7px;font-weight:600}
.e15v-application-form input:not([type=checkbox]),.e15v-application-form textarea,.e15v-portal textarea{width:100%;min-width:0;padding:12px;border:1px solid #bcc6d2;border-radius:10px;box-sizing:border-box}
.e15v-application-form label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px}
.e15v-honeypot{position:absolute!important;left:-9999px!important;opacity:0;pointer-events:none}
.e15v-notice{padding:14px 18px;border-radius:10px;background:#eff7f3;border:1px solid #b8dfc8}

/* v2.8.3 premium showcase: self-contained contestant profile layout */
.e15v-full-profile.e15v-profile-layout-showcase{--e15v-showcase-gold:#dfb963;--e15v-showcase-accent:#eb3d77;max-width:1500px;grid-template-columns:minmax(170px,215px) minmax(0,1fr);gap:clamp(18px,2.4vw,36px);padding:28px clamp(14px,2vw,30px);color:#f5f2ec;background:#100f10;border-radius:24px;align-items:start}
.e15v-profile-layout-showcase.e15v-profile-no-nav{grid-template-columns:minmax(0,1fr)}
.e15v-profile-layout-showcase .e15v-profile-nav{top:25px;padding:12px;background:#171718;border:1px solid #332d24;border-radius:16px;gap:3px}
.e15v-profile-layout-showcase .e15v-profile-nav a{color:#dfdedb;font-size:12px;line-height:1.4;padding:12px 13px;border-radius:8px;letter-spacing:.055em}
.e15v-profile-layout-showcase .e15v-profile-nav a:hover,.e15v-profile-layout-showcase .e15v-profile-nav a:focus-visible{background:#143f2c;color:#f2cb58}
.e15v-showcase-content{min-width:0}
.e15v-showcase-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,295px);gap:clamp(16px,2vw,28px);align-items:start}
.e15v-showcase-main,.e15v-showcase-rail{min-width:0}
.e15v-showcase-intro{display:grid;grid-template-columns:minmax(180px, min(42%,330px)) minmax(0,1fr);align-items:start;gap:clamp(18px,2.2vw,34px)}
.e15v-showcase-photo{min-width:0;overflow:hidden;background:#302923;border-radius:16px;border:1px solid #66513b;aspect-ratio:3/4}
.e15v-showcase-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.e15v-showcase-photo-empty{height:100%;min-height:270px;background:linear-gradient(140deg,#40362e,#172e29)}
.e15v-showcase-identity{min-width:0;padding-top:10px}
.e15v-showcase-eyebrow,.e15v-profile-layout-showcase .e15v-rail-label{display:block;color:var(--e15v-showcase-gold);font-size:11px;font-weight:800;letter-spacing:.13em;line-height:1.45}
.e15v-showcase-identity h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,3vw,46px);line-height:1.08;margin:12px 0 16px;overflow-wrap:anywhere;color:#fff;text-transform:uppercase}
.e15v-showcase-category{color:#e8c876;font-weight:700;font-size:14px;text-transform:uppercase;margin:0 0 16px}
.e15v-showcase-bio{color:#cfcac4;font-size:14px;line-height:1.7;max-width:60ch}
.e15v-showcase-bio p{margin:0 0 12px}
.e15v-showcase-cta,.e15v-rail-vote{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;text-decoration:none;text-align:center;font-weight:800;font-size:12px;letter-spacing:.06em;min-height:44px;border-radius:9px;transition:filter .2s,transform .2s}
.e15v-showcase-cta{background:#213d34;color:#f6d57e;margin-top:18px;padding:12px 19px}
.e15v-showcase-cta:hover,.e15v-rail-vote:hover{filter:brightness(1.1);transform:translateY(-1px)}
.e15v-showcase-rail{display:flex;flex-direction:column;gap:14px}
.e15v-rail-card{border:1px solid #473a29;background:#1b1918;border-radius:12px;padding:20px;min-width:0}
.e15v-rail-support{background:linear-gradient(160deg,#103e2a,#112b23);border-color:#29543b;text-align:center}
.e15v-rail-support h3{color:#fff;font-size:20px;line-height:1.25;margin:8px 0 5px;text-transform:uppercase}
.e15v-rail-card p{font-size:12px;line-height:1.6;color:#bdb7ad;margin:8px 0}
.e15v-rail-vote{display:flex;width:100%;background:var(--e15v-showcase-accent);color:white;padding:12px 10px;margin-top:18px}
.e15v-rail-share{display:block;width:100%;border:1px solid #7e9986;color:#fff;background:transparent;border-radius:8px;padding:10px 12px;min-height:42px;margin-top:9px;font-size:11px;font-weight:700;line-height:1.3;font-family:inherit;letter-spacing:.07em;cursor:pointer}
.e15v-rail-share:hover{background:#ffffff18}
.e15v-impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:12px;margin-top:14px;text-align:center}
.e15v-impact-grid strong{display:block;color:white;font-size:19px;line-height:1.3}.e15v-impact-grid small{display:block;color:#aaa49a;font-size:10px;line-height:1.4}
.e15v-rail-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0 8px}.e15v-rail-images img{display:block;aspect-ratio:1/1;width:100%;height:auto;object-fit:cover;border-radius:7px}
.e15v-rail-link{color:var(--e15v-showcase-gold);font-size:11px;text-decoration:none;font-weight:750;letter-spacing:.06em}
.e15v-showcase-sections{margin-top:30px;display:grid;gap:18px}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-profile-section{background:#1a1919;border:1px solid #3c3328;color:#eee9e1;margin:0;border-radius:14px;box-shadow:none;padding:clamp(22px,3vw,34px)}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-profile-section h2{color:var(--e15v-showcase-gold);font-size:clamp(17px,2vw,23px);font-weight:800;letter-spacing:.08em;margin-bottom:18px}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-profile-section p{color:#ded8d1;line-height:1.8}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-vote-form{color:#152642;background:#fff;border-radius:14px;padding:20px}
.e15v-profile-layout-showcase a:focus-visible,.e15v-profile-layout-showcase button:focus-visible{outline:3px solid #ecc773;outline-offset:3px}
@media(max-width:1100px){.e15v-showcase-top{grid-template-columns:minmax(0,1fr)}.e15v-showcase-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.e15v-showcase-intro{grid-template-columns:minmax(170px,38%) minmax(0,1fr)}}
@media(max-width:760px){.e15v-full-profile.e15v-profile-layout-showcase{grid-template-columns:minmax(0,1fr);padding:16px;border-radius:14px}.e15v-profile-layout-showcase .e15v-profile-nav{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap}.e15v-showcase-intro{grid-template-columns:minmax(0,1fr)}.e15v-showcase-photo{width:min(100%,380px)}.e15v-showcase-rail{grid-template-columns:minmax(0,1fr)}.e15v-showcase-identity{padding-top:0}}

/* v2.8.4: bright, full-width editorial showcase, scoped exclusively to Showcase layout */
.e15v-full-profile.e15v-profile-layout-showcase{--e15v-showcase-gold:#a47c32;--e15v-showcase-accent:#c32668;display:grid!important;grid-template-columns:minmax(175px,220px) minmax(0,1fr)!important;max-width:1600px!important;width:100%!important;gap:clamp(20px,2.2vw,38px)!important;padding:clamp(18px,2.5vw,40px)!important;margin-inline:auto!important;background:#fff!important;color:#1c293c!important;border-radius:0!important;box-shadow:none!important;align-items:start}
.e15v-profile-layout-showcase .e15v-profile-nav{background:#f7f7f6!important;border:1px solid #e9e6df!important;box-shadow:none!important;border-radius:15px;padding:13px;position:sticky;top:28px}
.e15v-profile-layout-showcase .e15v-profile-nav a{color:#27334a!important;font-size:13px!important}
.e15v-profile-layout-showcase .e15v-profile-nav a:hover,.e15v-profile-layout-showcase .e15v-profile-nav a:focus-visible{background:#e8f3ec!important;color:#175c3e!important}
.e15v-profile-layout-showcase .e15v-showcase-top{grid-template-columns:minmax(0,1fr) minmax(260px,310px)!important;gap:clamp(20px,2.3vw,36px)}
.e15v-profile-layout-showcase .e15v-showcase-intro{grid-template-columns:minmax(200px,44%) minmax(0,1fr)!important;gap:clamp(20px,2.3vw,35px)}
.e15v-profile-layout-showcase .e15v-showcase-photo{border:1px solid #e7e4de;background:#f3f1eb;border-radius:18px}
.e15v-profile-layout-showcase .e15v-showcase-identity h1{color:#17233a!important;font-size:clamp(29px,3vw,48px);line-height:1.12}
.e15v-profile-layout-showcase .e15v-showcase-bio{color:#556174!important;font-size:15px;line-height:1.75}
.e15v-profile-layout-showcase .e15v-showcase-category{color:#9a7229!important}
.e15v-profile-layout-showcase .e15v-showcase-cta{background:#183e33;color:white;padding:12px 20px;text-decoration:none}
.e15v-profile-layout-showcase .e15v-rail-card{background:#fff!important;border:1px solid #e7e3db!important;border-radius:14px;box-shadow:0 5px 24px #19293a08;padding:20px}
.e15v-profile-layout-showcase .e15v-rail-support{background:#eaf5ef!important;border:1px solid #c9e2d5!important;text-align:center}
.e15v-profile-layout-showcase .e15v-rail-support h3{color:#1c4032!important}
.e15v-profile-layout-showcase .e15v-rail-card p,.e15v-profile-layout-showcase .e15v-impact-grid small{color:#58677a!important}
.e15v-profile-layout-showcase .e15v-impact-grid strong{color:#14273f!important}
.e15v-profile-layout-showcase .e15v-rail-share{color:#204938!important;border-color:#8eae9e!important}
.e15v-profile-layout-showcase .e15v-rail-share:hover{background:#d9ebe0!important}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-profile-section{background:#fff!important;border:1px solid #e7e4dc!important;color:#24334b!important;box-shadow:0 6px 24px #19293a06!important;padding:clamp(22px,2.5vw,34px)}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-profile-section h2{color:#a67d38!important}
.e15v-profile-layout-showcase .e15v-showcase-sections .e15v-profile-section p{color:#39485c!important}
.e15v-profile-layout-showcase .e15v-showcase-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;border-top:1px solid #e8e7e2;border-bottom:1px solid #e8e7e2;padding:16px 0}
.e15v-profile-layout-showcase .e15v-showcase-fact strong{display:block;color:#13263b;font-size:16px;overflow-wrap:anywhere}
.e15v-profile-layout-showcase .e15v-showcase-fact span{display:block;color:#748092;font-size:10px;letter-spacing:.08em;margin-top:4px}
.e15v-profile-layout-showcase .e15v-showcase-traits{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.e15v-profile-layout-showcase .e15v-showcase-traits span{background:#f5f0e7;border:1px solid #e7dcc6;padding:5px 9px;border-radius:20px;font-size:11px;color:#805d26}
.e15v-profile-layout-showcase .e15v-showcase-event{margin:15px 3px 3px;padding:16px 12px;border:1px solid #e7dfd0;border-radius:12px;background:#fff;display:grid;gap:7px}
.e15v-profile-layout-showcase .e15v-showcase-event span{color:#a67d38;font-size:11px;font-weight:800;letter-spacing:.06em}
.e15v-profile-layout-showcase .e15v-showcase-event strong{font-size:13px;color:#273447}
.e15v-profile-layout-showcase .e15v-showcase-event small{color:#647082;font-size:11px}
.e15v-profile-layout-showcase .e15v-showcase-sections{margin-top:28px}
@media(max-width:1250px){.e15v-profile-layout-showcase .e15v-showcase-top{grid-template-columns:minmax(0,1fr)!important}.e15v-profile-layout-showcase .e15v-showcase-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:870px){.e15v-full-profile.e15v-profile-layout-showcase{grid-template-columns:minmax(0,1fr)!important}.e15v-profile-layout-showcase .e15v-profile-nav{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap}.e15v-profile-layout-showcase .e15v-showcase-event{min-width:220px}}
@media(max-width:620px){.e15v-profile-layout-showcase .e15v-showcase-intro{grid-template-columns:minmax(0,1fr)!important}.e15v-profile-layout-showcase .e15v-showcase-rail{grid-template-columns:minmax(0,1fr)}.e15v-profile-layout-showcase .e15v-showcase-photo{max-width:410px}.e15v-full-profile.e15v-profile-layout-showcase{padding:15px!important}}

/* v2.8.5: wider editorial page, no repeated CTAs or unused content panels */
.e15v-full-profile.e15v-profile-layout-showcase{max-width:1760px!important;grid-template-columns:minmax(190px,235px) minmax(0,1fr)!important;gap:clamp(22px,2.4vw,44px)!important;padding:clamp(22px,2.6vw,46px)!important}
.e15v-profile-layout-showcase .e15v-showcase-top{grid-template-columns:minmax(0,1fr) minmax(285px,350px)!important;gap:clamp(24px,2.6vw,45px)}
.e15v-profile-layout-showcase .e15v-showcase-intro{grid-template-columns:minmax(230px,42%) minmax(0,1fr)!important;gap:clamp(24px,2.5vw,44px)}
.e15v-profile-layout-showcase .e15v-showcase-score{display:flex;flex-wrap:wrap;gap:8px 25px;align-items:center;justify-content:space-between;margin-top:20px;padding:20px 24px;background:#f6f8fa;border:1px solid #e5eaf0;border-radius:17px;color:#192a3e}
.e15v-profile-layout-showcase .e15v-showcase-score>div{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.e15v-profile-layout-showcase .e15v-score-label{font-weight:800;font-size:11px;letter-spacing:.13em;color:#98712f}
.e15v-profile-layout-showcase .e15v-showcase-score strong{font-size:clamp(25px,2.4vw,38px);line-height:1.1;color:#17283e}
.e15v-profile-layout-showcase .e15v-score-caption{font-size:12px;color:#66758a}
.e15v-profile-layout-showcase .e15v-showcase-sections{margin-top:36px}
@media(max-width:1120px){.e15v-profile-layout-showcase .e15v-showcase-top{grid-template-columns:minmax(0,1fr)!important}.e15v-profile-layout-showcase .e15v-showcase-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.e15v-full-profile.e15v-profile-layout-showcase{grid-template-columns:minmax(0,1fr)!important}.e15v-profile-layout-showcase .e15v-showcase-intro{grid-template-columns:minmax(0,1fr)!important}.e15v-profile-layout-showcase .e15v-showcase-rail{grid-template-columns:minmax(0,1fr)}}

/* v2.8.6: full-bleed showcase within narrow theme content wrappers. */
@media (min-width: 1025px) {
 body .e15v-full-profile.e15v-profile-layout-showcase {
   position:relative;left:50%;transform:translateX(-50%);
   width:min(1640px, calc(100vw - 100px))!important;max-width:none!important;
   margin:50px 0 60px!important;padding:26px 30px 45px!important;
   grid-template-columns:minmax(170px,205px) minmax(0,1fr)!important;
   gap:clamp(22px,2.7vw,44px)!important;
 }
 body .e15v-profile-layout-showcase .e15v-showcase-top {
   display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px)!important;gap:clamp(22px,2.2vw,38px)!important;
 }
 body .e15v-profile-layout-showcase .e15v-showcase-intro {
   display:grid;grid-template-columns:minmax(200px,44%) minmax(175px,1fr)!important;gap:clamp(22px,2.3vw,38px)!important;
 }
 body .e15v-profile-layout-showcase .e15v-showcase-identity h1 {
   font-size:clamp(26px,2.6vw,46px)!important;overflow-wrap:normal!important;word-break:normal!important;
 }
}
@media (min-width: 1025px) and (max-width: 1320px) {
 body .e15v-profile-layout-showcase .e15v-showcase-top {grid-template-columns:minmax(0,1fr)!important;}
 body .e15v-profile-layout-showcase .e15v-showcase-rail {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
}
@media (min-width: 761px) and (max-width: 1024px) {
 body .e15v-full-profile.e15v-profile-layout-showcase {
  position:relative;left:50%;transform:translateX(-50%);width:calc(100vw - 48px)!important;max-width:none!important;
  margin:50px 0 45px!important;padding:24px!important;
  grid-template-columns:minmax(155px,190px) minmax(0,1fr)!important;
 }
 body .e15v-profile-layout-showcase .e15v-showcase-intro{grid-template-columns:minmax(180px,40%) minmax(0,1fr)!important;}
 body .e15v-profile-layout-showcase .e15v-showcase-identity h1{overflow-wrap:normal!important;word-break:normal!important;font-size:clamp(26px,3vw,42px)!important;}
}
@media (max-width:760px) {
 body .e15v-full-profile.e15v-profile-layout-showcase{margin-top:50px!important;}
 body .e15v-profile-layout-showcase .e15v-showcase-identity h1{overflow-wrap:normal!important;word-break:normal!important;}
}

/* v2.8.7: visible focused/active navigation on light Showcase and stable empty panels. */
body .e15v-profile-layout-showcase .e15v-profile-nav a:where(:hover,:focus,:focus-visible,:active),
body .e15v-profile-layout-showcase .e15v-profile-nav a[aria-current="location"],
body .e15v-profile-layout-showcase .e15v-profile-nav a.is-active{
 background:#124b36!important;color:#ffffff!important;text-decoration:none!important;
}
body .e15v-profile-layout-showcase .e15v-profile-nav a:focus-visible{
 outline:2px solid #e6b84c!important;outline-offset:2px;
}
body .e15v-profile-layout-showcase .e15v-profile-section:target{scroll-margin-top:90px}
body .e15v-profile-layout-showcase .e15v-profile-section .e15v-empty-section{
 color:#637184!important;font-size:15px;line-height:1.7;margin:0;
}

/* v2.8.8: inline verified votes under category/state in Showcase identity */
.e15v-showcase-votes-inline{display:flex;align-items:baseline;gap:12px;margin:8px 0 18px;padding:10px 14px;border:1px solid #e5ddd0;border-radius:14px;background:#fff7ea;max-width:max-content}
.e15v-showcase-votes-inline span{font-size:12px;font-weight:800;letter-spacing:.14em;color:#a87817;text-transform:uppercase}
.e15v-showcase-votes-inline strong{font-size:28px;line-height:1;color:#14284d}
@media (max-width: 767px){.e15v-showcase-votes-inline strong{font-size:24px}}

/* v2.8.9: compact highlights in the open area beneath the contestant's verified votes. */
.e15v-profile-layout-showcase .e15v-showcase-highlights{margin:20px 0 22px;max-width:100%;min-width:0}
.e15v-profile-layout-showcase .e15v-showcase-highlights-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 12px}
.e15v-profile-layout-showcase .e15v-showcase-highlights-heading strong{font-size:13px;letter-spacing:.09em;color:#17233a}
.e15v-profile-layout-showcase .e15v-showcase-highlights-heading a{font-size:12px;font-weight:700;color:#a4782e;text-decoration:none}
.e15v-profile-layout-showcase .e15v-showcase-highlight-grid{display:grid;grid-template-columns:repeat(var(--e15v-highlight-cols,3),minmax(0,1fr));gap:10px}
.e15v-profile-layout-showcase .e15v-showcase-highlight-grid a{display:block;min-width:0;overflow:hidden;border-radius:12px;border:1px solid #e8e3d9;box-shadow:0 3px 12px #24334a0d}
.e15v-profile-layout-showcase .e15v-showcase-highlight-grid img{display:block;width:100%;height:var(--e15v-highlight-height,112px);object-fit:cover;transition:transform .2s ease}
@media(hover:hover){.e15v-profile-layout-showcase .e15v-showcase-highlight-grid a:hover img{transform:scale(1.035)}}
@media(max-width:620px){.e15v-profile-layout-showcase .e15v-showcase-highlight-grid{gap:7px}.e15v-profile-layout-showcase .e15v-showcase-highlight-grid img{height:min(var(--e15v-highlight-height,112px),95px)}}

/* v2.9.2 gallery image viewer */
.e15v-lightbox-trigger{display:block;cursor:zoom-in;min-width:0}.e15v-lightbox-trigger img{display:block;max-width:100%}
.e15v-lightbox-open{overflow:hidden}.e15v-lightbox{position:fixed;z-index:1000001;inset:0;background:rgba(7,14,24,.94);display:flex;align-items:center;justify-content:center;padding:62px 62px 36px;box-sizing:border-box}
.e15v-lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.e15v-lightbox figure img{display:block;max-width:100%;max-height:calc(100dvh - 125px);object-fit:contain;border-radius:8px}.e15v-lightbox figcaption{color:#fff;font:600 14px system-ui,sans-serif}
.e15v-lightbox button{border:1px solid #ffffff65;background:#182435;color:#fff;border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;font:32px/1 system-ui,sans-serif;cursor:pointer;flex:none}.e15v-lightbox button:focus-visible{outline:3px solid #e3b85b;outline-offset:3px}.e15v-lightbox-close{position:absolute;top:14px;right:18px}.e15v-lightbox-prev{position:absolute;left:15px;top:50%}.e15v-lightbox-next{position:absolute;right:15px;top:50%}
@media(max-width:700px){.e15v-lightbox{padding:55px 14px 25px}.e15v-lightbox-prev{left:6px;top:auto;bottom:12px}.e15v-lightbox-next{right:6px;top:auto;bottom:12px}.e15v-lightbox figure img{max-height:calc(100dvh - 130px)}}

/* v2.9.3: stable image viewport for lightbox navigation */
.e15v-lightbox-photo{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:calc(100dvh - 125px);min-height:100px;position:relative}
.e15v-lightbox-photo.is-loading:before{content:"Loading photograph…";position:absolute;color:#fff;font-size:14px;pointer-events:none}
.e15v-lightbox-photo img{display:block;max-width:min(100%,calc(100vw - 135px));max-height:calc(100dvh - 125px);width:auto;height:auto;object-fit:contain;border-radius:8px}
.e15v-lightbox-photo p{color:#fff;text-align:center}
@media(max-width:700px){.e15v-lightbox-photo img{max-width:calc(100vw - 28px);max-height:calc(100dvh - 140px)}}

/* v2.9.4 - square-edged contestant profiles; scoped to E15 profile layouts.
   Deliberately overrides dynamic per-element corner values for a consistent design. */
.e15v-full-profile,
.e15v-full-profile .e15v-profile-nav,
.e15v-full-profile .e15v-profile-nav a,
.e15v-full-profile .e15v-profile-section,
.e15v-full-profile .e15v-profile-hero,
.e15v-full-profile .e15v-profile-photo,
.e15v-full-profile .e15v-showcase-photo,
.e15v-full-profile .e15v-showcase-photo img,
.e15v-full-profile .e15v-showcase-highlights,
.e15v-full-profile .e15v-showcase-highlight-grid a,
.e15v-full-profile .e15v-showcase-highlight-grid img,
.e15v-full-profile .e15v-showcase-votes-inline,
.e15v-full-profile .e15v-rail-card,
.e15v-full-profile .e15v-rail-vote,
.e15v-full-profile .e15v-rail-share,
.e15v-full-profile .e15v-showcase-event,
.e15v-full-profile .e15v-showcase-traits span,
.e15v-full-profile .e15v-showcase-score,
.e15v-full-profile .e15v-profile-gallery img,
.e15v-full-profile .e15v-vote-form,
.e15v-full-profile .e15v-vote-form input,
.e15v-full-profile .e15v-vote-form select,
.e15v-full-profile .e15v-vote-form button,
.e15v-full-profile .e15v-button {border-radius:0!important;}
/* Keep lightbox controls square as well. */
.e15v-lightbox button,.e15v-lightbox figure img,.e15v-lightbox-photo img{border-radius:0!important;}

.e15v-vote-breakdown{display:flex;gap:14px;flex-wrap:wrap;padding:14px;border:1px solid #e6e7eb}.e15v-vote-breakdown span,.e15v-vote-breakdown strong{display:inline-block}
/* v2.9.8 keyboard access and motion preferences */
.e15v-vote-form :is(button,input,select,a):focus-visible,
.e15v-vote-modal :is(button,input,select,a):focus-visible,
.e15v-lightbox button:focus-visible,
.e15v-showcase :is(a,button):focus-visible {outline:3px solid #246bde!important;outline-offset:3px!important;}
@media (prefers-reduced-motion:reduce){.e15v-vote-modal *, .e15v-lightbox *, .e15v-showcase * {scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}}
