/* VOTEXA UNIVERSAL EXPERIENCE LAYER — applies to legacy and new pages */
:root{
  --vx-primary:#6d5dfc; --vx-secondary:#103b2b; --vx-accent:#e7d447;
  --vx-ink:#0b1220; --vx-muted:#697489; --vx-bg:#f4f6fa; --vx-line:#e5e9f0;
  --vx-glass:rgba(255,255,255,.78); --vx-radius:24px;
  --vx-shadow:0 18px 55px rgba(11,18,32,.09); --vx-shadow-lg:0 30px 100px rgba(11,18,32,.14);
}
html{scroll-behavior:smooth} body{background:var(--vx-bg)!important;color:var(--vx-ink);overflow-x:hidden}
::selection{background:var(--vx-accent);color:#10150e}
/* shared motion */
.vx-ux-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.vx-ux-reveal.is-visible{opacity:1;transform:none}
.vx-ux-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(1px);opacity:.35}
.vx-ux-page{max-width:1380px;margin:0 auto;padding:36px 30px 100px;position:relative}
.vx-ux-hero{position:relative;overflow:hidden;border-radius:32px;padding:58px 60px;margin-bottom:26px;color:#fff;background:linear-gradient(135deg,var(--vx-secondary),var(--vx-primary));box-shadow:var(--vx-shadow-lg);isolation:isolate}
.vx-ux-hero:before{content:"";position:absolute;width:460px;height:460px;right:-160px;top:-210px;border-radius:50%;background:color-mix(in srgb,var(--vx-accent) 23%,transparent);filter:blur(2px)}
.vx-ux-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%);transform:translateX(-100%);animation:vxUxSweep 7s linear infinite;pointer-events:none}
@keyframes vxUxSweep{to{transform:translateX(100%)}}
.vx-ux-hero>*{position:relative;z-index:2}.vx-ux-eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:950;color:var(--vx-accent);margin-bottom:15px}.vx-ux-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--vx-accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--vx-accent) 12%,transparent)}
.vx-ux-hero h1{font-size:clamp(2.8rem,6vw,6.2rem);line-height:.92;letter-spacing:-.065em;font-weight:950;max-width:900px;margin:0}.vx-ux-hero h1 em{color:var(--vx-accent);font-style:normal}.vx-ux-hero p{max-width:760px;color:rgba(255,255,255,.74);line-height:1.75;margin:20px 0 0;font-size:15px}
.vx-ux-panel{background:rgba(255,255,255,.9);border:1px solid var(--vx-line);border-radius:26px;box-shadow:var(--vx-shadow);padding:28px;position:relative;overflow:hidden}.vx-ux-panel:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(var(--vx-accent),var(--vx-primary));opacity:.9}.vx-ux-panel h2,.vx-ux-panel h3{font-weight:950;letter-spacing:-.04em}.vx-ux-panel p{color:var(--vx-muted);line-height:1.8}
.vx-ux-section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:34px 0 16px}.vx-ux-section-title .eyebrow{font-size:10px;font-weight:950;letter-spacing:.14em;color:var(--vx-primary)}.vx-ux-section-title h2{margin:4px 0 0;font-size:clamp(2rem,4vw,3.4rem);line-height:.98;letter-spacing:-.055em;font-weight:950}
/* legacy public pages */
.page-content.container-xl{max-width:1380px!important}.page-header{background:transparent!important;border:0!important}.page-breadcrumb{padding:28px 30px!important}.page-breadcrumb h4{font-weight:950!important;letter-spacing:-.04em!important;font-size:clamp(2rem,4vw,3.6rem)!important}
.section-content,.page-content .section-content{background:#fff;border:1px solid var(--vx-line);border-radius:28px;padding:42px;box-shadow:var(--vx-shadow);position:relative;overflow:hidden}.section-content:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;bottom:-140px;background:color-mix(in srgb,var(--vx-primary) 7%,transparent)}.section-content p{position:relative;z-index:1;line-height:1.9;color:#59657a}.section-content h1,.section-content h2,.section-content h3,.section-content h4{font-weight:950;letter-spacing:-.045em;color:var(--vx-ink)}
/* contact */
.vx-contact-page .contact-item{height:100%;min-height:118px;background:#fff!important;border:1px solid var(--vx-line)!important;border-radius:22px!important;box-shadow:var(--vx-shadow);padding:20px!important;transition:.3s}.vx-contact-page .contact-item:hover{transform:translateY(-7px);box-shadow:var(--vx-shadow-lg)}.vx-contact-page .contact-item>span{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--vx-primary) 11%,white);color:var(--vx-primary)!important}.vx-contact-page .contact-item .details{padding-left:15px}.vx-contact-page .contact-item h3{font-weight:900!important}.vx-contact-page .contact-form{background:#fff;border:1px solid var(--vx-line);border-radius:28px;padding:30px;box-shadow:var(--vx-shadow)}.vx-contact-page .section-header{margin:30px 0 15px}.vx-contact-page .section-title{font-weight:950;letter-spacing:-.045em;font-size:2rem}.vx-contact-page .form-group{margin-bottom:18px}.vx-contact-page .form-label{font-weight:800;color:#4f5b70}.vx-contact-page .form-control{min-height:52px!important;border-radius:14px!important}.vx-contact-page textarea.form-control{min-height:150px!important}.vx-contact-page .btn-primary{min-width:150px;padding:13px 22px}
/* forms / applications */
.vx-app-page{max-width:1380px!important;padding:36px 30px 100px!important}.vx-app-page .img-container{border-radius:28px;overflow:hidden;box-shadow:var(--vx-shadow-lg)}.vx-app-page .img-container img{height:360px;object-fit:cover}.vx-app-page .header{font-size:clamp(2.2rem,5vw,4.8rem);font-weight:950;letter-spacing:-.06em;line-height:.95}.vx-app-page .vote-search{margin:28px 0!important;padding:22px!important;border-radius:22px!important;background:linear-gradient(135deg,var(--vx-secondary),var(--vx-primary))!important;box-shadow:var(--vx-shadow-lg)}.vx-app-page .vote-search h4{color:#fff;font-weight:900}.vx-app-page .vote-search input{border:0!important;min-height:52px!important}.vx-app-page .vote-search button{min-height:52px;border-radius:12px}.vx-app-page #forms-a>.col-md-6,.vx-app-page #forms-a>.col-lg-4{margin-bottom:22px}.vx-app-page #forms-a .card{height:100%;border:1px solid var(--vx-line)!important;border-radius:24px!important;box-shadow:var(--vx-shadow)!important;transition:.35s}.vx-app-page #forms-a .card:hover{transform:translateY(-8px);box-shadow:var(--vx-shadow-lg)!important}.vx-app-page #forms-a .card-img-top{height:230px;overflow:hidden}.vx-app-page #forms-a .card-img-top img{height:100%;object-fit:cover;transition:.45s}.vx-app-page #forms-a .card:hover .card-img-top img{transform:scale(1.06)}.vx-app-page #forms-a .card-title{font-size:20px;font-weight:900;letter-spacing:-.03em}.vx-app-page #forms-a .link-container a{background:var(--vx-primary);color:#fff;border-radius:11px;text-decoration:none;font-weight:900}.vx-app-page #forms-a .free{background:color-mix(in srgb,var(--vx-accent) 25%,white);border-radius:9px;font-weight:900}
/* track payment */
.vx-track-page{max-width:1100px!important;padding:42px 30px 100px!important}.vx-track-page .page-title{font-size:clamp(2.4rem,5vw,4.8rem)!important;font-weight:950!important;letter-spacing:-.06em}.vx-track-page form>.bg-white{border-radius:28px!important;border:1px solid var(--vx-line);box-shadow:var(--vx-shadow);padding:8px}.vx-track-page form>.bg-white .page-title{padding:22px!important;background:linear-gradient(135deg,var(--vx-secondary),var(--vx-primary));color:#fff;border-radius:21px 21px 10px 10px}.vx-track-page .card{border-radius:28px!important}.vx-track-page .card-header{background:linear-gradient(135deg,var(--vx-secondary),var(--vx-primary))!important;color:#fff!important;border:0!important}.vx-track-page .dt-head{font-weight:950;letter-spacing:-.035em}.vx-track-page .d-table{width:100%}.vx-track-page .d-table tr{border-bottom:1px solid #eef1f5}.vx-track-page .d-table td{padding:13px 8px}.vx-track-page .strong{font-weight:850}.vx-track-page .badge{display:inline-block!important;color:#fff!important}
/* old contest/event pages get a premium surface even when legacy markup remains */
.contest,.event,.form{background:#fff!important;border:1px solid var(--vx-line)!important;border-radius:30px!important;box-shadow:var(--vx-shadow-lg)!important;overflow:hidden}.contest-header,.event-header{border-radius:inherit}.contest-info,.event-info{padding:25px!important}.contest-name,.event-name{font-size:clamp(2rem,5vw,4.8rem)!important;line-height:.95!important;font-weight:950!important;letter-spacing:-.06em!important}.contest-action{align-items:center}.contest-price{font-weight:900;color:var(--vx-secondary)}.contest-tabs .nav-tabs{border-bottom:0!important;gap:7px;flex-wrap:wrap}.contest-tabs .nav-link{border:1px solid var(--vx-line)!important;border-radius:999px!important;background:#fff}.contest-tabs .nav-link.active{background:var(--vx-secondary)!important;color:#fff!important}.contestant-content{padding:30px!important}.contestant-content .card{border-radius:22px!important}.contestant-content .btn{border-radius:12px!important}
/* dashboards: make inherited/legacy content feel part of same product */
.content-wrap,.page-wrapper{background:var(--vx-bg)!important}.main-container,.page-content{position:relative}.main-container>.container,.page-content>.container-fluid{max-width:1440px}.card{border-color:var(--vx-line)!important;box-shadow:var(--vx-shadow)!important;border-radius:22px!important}.card:hover{box-shadow:var(--vx-shadow-lg)!important}.form-control,.form-select{border-radius:13px!important}.btn{border-radius:12px!important}.table thead th{font-weight:900}
/* admin / organiser support */
.support-ux .card-header,.organiser-support-ux .card-header{background:linear-gradient(135deg,var(--vx-secondary),var(--vx-primary))!important;color:#fff!important;border:0!important}.support-ux .table tbody tr,.organiser-support-ux .table tbody tr{transition:.2s}.support-ux .table tbody tr:hover,.organiser-support-ux .table tbody tr:hover{background:#fafbfe;transform:translateX(2px)}
/* mobile */
@media(max-width:800px){.vx-ux-page,.vx-app-page,.vx-track-page{padding-left:14px!important;padding-right:14px!important}.vx-ux-hero{padding:38px 24px;border-radius:24px}.vx-ux-hero h1{font-size:3.25rem}.section-content,.vx-contact-page .contact-form{padding:24px}.vx-app-page .img-container img{height:260px}.vx-track-page .d-table{font-size:13px}.contest-info{padding:18px!important}.contestant-content{padding:18px!important}}
@media(prefers-reduced-motion:reduce){.vx-ux-hero:after,.vx-ux-reveal{animation:none!important;transition:none!important}.vx-ux-reveal{opacity:1;transform:none}}
/* VOTEXA leaderboard display controls + gated podium */
.vx-board-switcher{display:flex;gap:6px;padding:12px;background:#f5f7fa;border-bottom:1px solid var(--vx-line);overflow:auto}.vx-board-switcher button{border:0;background:transparent;padding:10px 14px;border-radius:10px;font-weight:850;font-size:11px;color:#697489;white-space:nowrap}.vx-board-switcher button.active{background:#fff;color:var(--vx-secondary);box-shadow:0 5px 16px rgba(11,18,32,.08)}.vx-board-bar .vx-board-bar,.vx-board-bar{position:relative;height:18px;min-width:180px;background:#edf1f4;border-radius:99px;overflow:hidden;margin-top:9px}.vx-board-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--vx-secondary),var(--vx-accent));border-radius:99px}.vx-board-bar b{position:absolute;right:8px;top:1px;color:#fff;font-size:8px}.vx-board-percent,.vx-board-number{font-weight:950;color:var(--vx-secondary);font-size:18px;margin-top:7px}.vx-board-numeric .vx-leader-votes{display:none}.vx-board-numeric .vx-board-number{font-size:25px}.vx-board-percentage .vx-progress{display:none}.vx-board-percentage .vx-board-percent{display:block}.vx-board-table .vx-progress{display:block}.vx-board-table .vx-board-bar,.vx-board-table .vx-board-percent,.vx-board-table .vx-board-number{display:none}.vx-board-bar .vx-progress{display:none!important}.vx-board-bar .vx-board-bar{display:block}.vx-board-bar .vx-progress{display:none!important}.vx-board-bar .vx-leader-row{align-items:center}.vx-board-bar .vx-leader-votes{min-width:70px}.vx-board-bar .vx-leader-person>div{width:100%}.vx-board-bar .vx-leader-person{flex:1}.vx-board-bar .vx-vote-btn{flex:0 0 auto}.vx-board-percentage .vx-leader-person{flex:1}.vx-board-percentage .vx-leader-person>div{width:100%}.vx-board-numeric .vx-leader-person{flex:1}.vx-board-numeric .vx-leader-person>div{width:100%}
@media(max-width:700px){.vx-board-switcher{padding:8px}.vx-board-switcher button{padding:9px 11px}.vx-leader-row{gap:8px}.vx-leader-votes{min-width:55px}.vx-vote-btn{padding:8px 9px!important;font-size:9px!important}}

/* Ranking presentation styles */
.vx-ranking-style-prestige .vx-podium-card{background:linear-gradient(180deg,#fffdf0,#f5f0d5);border-color:#d8c878;box-shadow:0 18px 40px rgba(76,67,20,.12)}
.vx-ranking-style-prestige .vx-podium-card.first{background:linear-gradient(180deg,#fff7c7,#e7d447);border-color:#b79e17}
.vx-ranking-style-prestige .vx-podium-card.first .vx-vote-number{color:#173d2e}
.vx-ranking-style-prestige .vx-progress span{background:linear-gradient(90deg,#173d2e,#d4b62d)}
.vx-ranking-style-elite .vx-podium-card{background:linear-gradient(145deg,#24220c,#56501a);color:#fff;border-color:#776f27;box-shadow:0 22px 55px rgba(30,28,8,.24)}
.vx-ranking-style-elite .vx-podium-card.first{background:linear-gradient(145deg,#4e4810,#17160a);border-color:#e7d447}
.vx-ranking-style-elite .vx-podium-card h3,.vx-ranking-style-elite .vx-vote-number{color:#fff}
.vx-ranking-style-elite .vx-rank-number{color:#e8dfad}
.vx-ranking-style-elite .vx-leaderboard-panel{background:#17170d;color:#fff;border-color:#4d4a20}
.vx-ranking-style-elite .vx-leaderboard-head,.vx-ranking-style-elite .vx-leader-row{border-color:#37351c}
.vx-ranking-style-elite .vx-leader-row:hover{background:#22210f}
.vx-ranking-style-elite .vx-leader-row .text-muted{color:#aaa78b!important}
.vx-ranking-style-elite .vx-progress{background:#34321c}
.vx-ranking-style-elite .vx-progress span{background:linear-gradient(90deg,#315f49,#e7d447)}
/* PHASE 5 — phone-first responsive pass */
@media(max-width:1199.8px){
  .sidebar-open .content-wrap .nav-topbar,.sidebar-closed .content-wrap .nav-topbar{padding-right:14px!important}
  .content-wrap{padding-left:0!important;width:100%!important}
  .main-container>.container{max-width:100%!important}
}
@media(max-width:767px){
  html,body{max-width:100%;overflow-x:hidden}
  .main-container{padding:0 10px 12px!important}
  .main-container>.container{padding:7px 4px 24px!important}
  .page-title h4,.page-title h5{font-size:20px!important}
  .card{border-radius:17px!important}
  .card-header{padding:14px 15px!important}
  .table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table{min-width:620px}
  .btn{min-height:40px}
  .footer{font-size:10px;line-height:1.5}
  .nav-topbar .nav-toolbar{gap:5px!important}
  .nav-topbar-toggler .mobile-toggler{width:40px!important;height:40px!important}
  .sidebar-wrap{width:min(88vw,320px)!important;left:-340px}
  .sidebar-wrap-open{left:0!important}
  .sidebar-nav{height:100vh!important}
  .side-nav-link{padding:12px 15px!important;font-size:13px!important}
  .sublink{font-size:12px!important;padding-left:43px!important}
  .vx-admin-hero{padding:24px 20px!important;border-radius:21px!important}
  .vx-admin-hero h2{font-size:34px!important;line-height:1!important}
  .dw .dw-body{padding:15px!important}
  .dw .text-muted{font-size:18px!important}
  .vx-dash{width:100%}
  .vx-stat-card{min-height:125px!important;padding:16px!important}
  .vx-stat-card strong{font-size:24px!important}
  .vx-quick-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .vx-quick{padding:13px!important;min-height:105px!important}
  .vx-dash-card{border-radius:18px!important}
  .vx-dash-topbar{width:100%!important}
  .vx-profile-menu,.vx-notification-menu{max-width:calc(100vw - 18px)!important}
  .vx-event-ticket-grid,.vx-fund-grid,.vx-fund-manager-grid{grid-template-columns:1fr!important}
  .vx-event-share{grid-template-columns:1fr!important}
  .vx-event-qr{display:flex!important}
  .vx-event-hero{grid-template-columns:1fr!important}
  .vx-event-copy h1{font-size:44px!important}
  .vx-vote-hero{grid-template-columns:1fr!important}
  .vx-vote-countdown{grid-template-columns:repeat(2,1fr)!important}
  .vx-vote-title{font-size:42px!important}
  .vx-vote-stats{grid-template-columns:1fr!important}
  .vx-podium{grid-template-columns:1fr 1fr 1fr!important}
  .vx-podium-card.first{transform:none!important}
  .vx-podium-avatar,.vx-podium-card.first .vx-podium-avatar{width:62px!important;height:62px!important}
  .vx-podium-card h3{font-size:12px!important}
  .vx-podium-heading{display:block!important}.vx-podium-heading small{display:block;margin:4px 0 0!important}
  .vx-inline-leaderboard .vx-leader-row{grid-template-columns:34px minmax(0,1fr) 68px!important}
  .vx-leader-person img{width:38px!important;height:38px!important}
  .vx-board-switcher{overflow-x:auto;white-space:nowrap}
  .vx-board-switcher button{flex:0 0 auto}
  .vx-fund-detail{padding-left:0!important;padding-right:0!important}
  .vx-fund-detail-hero{grid-template-columns:1fr!important;padding:13px!important}
  .vx-fund-detail-copy h1{font-size:44px!important}
  .vx-fund-detail-grid{grid-template-columns:1fr!important}
  .vx-fund-countdown{grid-template-columns:repeat(4,1fr)!important}
  .vx-fund-countdown strong{font-size:19px!important}
  .vx-fund-target{gap:18px!important;justify-content:space-between}
  .vx-fund-venue{display:block!important}
  .vx-fund-venue>a{display:inline-flex!important;margin-top:10px}
  .vx-profile-hero{grid-template-columns:1fr!important}
  .vx-profile-grid{grid-template-columns:1fr!important}
  .vx-profile-side{grid-template-columns:1fr!important}
  .vx-profile-photo{width:245px!important;height:245px!important}
  .vx-profile-main h1{font-size:39px!important}
  .vx-event-track>div:last-child{min-width:0!important}
}
@media(max-width:430px){
  .vx-dash-tools .vx-icon-btn{width:36px!important;height:36px!important}
  .vx-profile-trigger{max-width:145px!important}
  .vx-profile-trigger>div{max-width:86px!important}
  .vx-profile-trigger strong{font-size:9px!important}
  .vx-profile-trigger small{font-size:7px!important}
  .vx-quick-grid{grid-template-columns:1fr!important}
  .vx-organizer-slide h1{font-size:33px!important}
  .vx-organizer-slide p{font-size:11px!important}
  .vx-vote-countdown{gap:6px!important}
  .vx-vote-countdown .vx-time{padding:10px 5px!important}
}
