/* Vĩnh Lộc Pickleball — brand-approved sport luxury, version 1.6.0.
   Overrides only presentation; tournament data and forms remain in WEB PICK Core. */
:root{--vl-navy:#061629;--vl-navy2:#08223b;--vl-panel:#0b2740;--vl-neon:#dcff16;--vl-blue:#369bfa;--vl-white:#f6faff;--vl-muted:#b6cbe0;--vl-line:#3b617d;--vl-font:'Be Vietnam Pro',system-ui,sans-serif}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#061527,#0b2540 48%,#071728)!important;color:var(--vl-white);font-family:var(--vl-font)}
.shell,body .shell{max-width:1510px;width:calc(100% - 54px);margin-inline:auto}
.site-header{background:#061629f5!important;border-bottom:1px solid #3b739c!important;box-shadow:0 5px 25px #020912c4;min-height:76px}
.site-header:after{content:'';position:absolute;bottom:-1px;left:13%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#49bdff9e 45%,#deff149b 57%,transparent);pointer-events:none}
.site-header .header-inner{min-height:76px;gap:17px}
.site-header .brand{display:flex;gap:8px;align-items:center;flex-shrink:0;max-width:270px}
.site-header .brand-logo{max-height:68px;height:68px;width:auto;max-width:80px;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
.site-header .brand-name{font-size:16px;letter-spacing:.11em}.site-header .brand-name small{font-size:6px}
.site-header .nav-list{gap:15px}.site-header .nav-list a{font-size:11px;padding:17px 8px;transition:color .2s,text-shadow .2s;background:transparent!important;border-radius:0}
.site-header .nav-list a:hover,.site-header .current-menu-item>a{color:#eef7ff!important;text-shadow:0 0 18px #ecff70c0;box-shadow:inset 0 -2px 0 var(--vl-neon)}
.site-header .header-tools{gap:12px}.site-header .header-search{max-width:220px;min-width:154px;font-size:10px;border-color:#4a7698;border-radius:20px;background:#081b30d9}
.site-header .button-gold,.button-gold,.tour-cta{background:linear-gradient(135deg,#f5ff7a,#dcff16 55%,#b8dd00)!important;color:#10210c!important;border-color:#ebff68!important;box-shadow:0 0 16px #d9ff2552,0 5px 13px #0006;transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}
.site-header .button-gold:hover,.button-gold:hover,.tour-cta:hover{transform:translateY(-2px);box-shadow:0 0 26px #dcff2488,0 8px 24px #0006;filter:saturate(1.12)}
.primary-nav .sub-menu{background:#071b2e;border:1px solid #386180}
/* Hero image is real local graphic from the approved concept, not the whole screenshot stretched as a background. */
.arena-hero.vl-hero{min-height:375px;background:radial-gradient(ellipse at 66% 0,#174975 0,transparent 60%),linear-gradient(100deg,#041324,#0a2541)!important;border-bottom:1px solid #376ea6}
.vl-hero .arena-hero-grid{min-height:375px;grid-template-columns:minmax(0,1fr) minmax(410px,1.15fr) 95px;gap:0}
.vl-hero .arena-hero-copy{padding:32px 0 26px;z-index:4;max-width:630px}
.vl-hero .arena-kicker{color:#dce6f6;font-size:10px;letter-spacing:.28em;font-weight:750;text-shadow:0 2px 8px #000b}
.vl-hero h1{margin:10px 0 8px;line-height:.99;letter-spacing:-.045em;max-width:700px;filter:drop-shadow(0 3px 5px #001526)}
.vl-hero h1 span,.vl-hero h1 strong{display:block;font-weight:900;font-style:italic;white-space:normal;font-family:var(--vl-font);font-size:clamp(42px,5vw,78px)}
.vl-hero h1 span{color:#e3ff25!important;text-shadow:0 0 14px #d9ff1952;letter-spacing:-.055em}
.vl-hero h1 strong{background:linear-gradient(180deg,#fff,#e9f0ff 50%,#8baed4)!important;color:transparent!important;background-clip:text!important;-webkit-background-clip:text!important;letter-spacing:-.055em}
.vl-hero .arena-hero-copy>p{font-size:10px;font-weight:750;letter-spacing:.17em;color:#d8eaf8;text-transform:uppercase;line-height:1.7;margin:11px 0}
.vl-hero-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0;color:#d5e8f6;font-size:10px;font-weight:750;letter-spacing:.02em}
.vl-hero-facts span:first-letter{color:#dfff30}
.vl-hero .arena-hero-visual{background-size:cover;background-position:center 34%;width:100%;height:100%;left:0;top:0;right:auto;bottom:auto;z-index:2;opacity:.99;-webkit-mask-image:linear-gradient(90deg,transparent,#000 23%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 23%,#000 90%,transparent);transition:transform .8s ease}
.vl-hero .arena-hero-side{z-index:3;font-size:10px;line-height:2;letter-spacing:.3em;color:#dce8f5;align-self:center;opacity:1}
.vl-hero .arena-hero-actions{margin-top:17px}.vl-hero .arena-hero-actions .button{font-weight:900;font-size:11px;border-radius:7px;padding:11px 19px}
.vl-hero .hero-bottom-accent{background:linear-gradient(90deg,#c9f500,transparent 31%,#209af9 65%,#ddff20 100%);height:2px;box-shadow:0 0 17px #4abafc}
/* Section hierarchy: tournament -> services -> players -> ratings -> editorial. */
.arena-section{padding:20px 0 20px!important;border-bottom:1px solid #294d69;position:relative}
.arena-section:after{content:'';position:absolute;bottom:-1px;left:0;width:36%;height:1px;background:linear-gradient(90deg,transparent,#55b8ff80,transparent);pointer-events:none}
.arena-section-title{margin-bottom:12px;align-items:end}.arena-section-title h2{font-size:clamp(15px,1.2vw,19px);font-weight:850;letter-spacing:.025em;line-height:1.35;padding-left:14px;border-left:3px solid var(--vl-neon)}.arena-section-title h2:before{display:none!important}
.arena-section-title p{margin:3px 0 0 17px;font-size:10px;letter-spacing:.005em;color:var(--vl-muted)}.more-link{font-size:11px;color:#91ceff!important}.more-link:hover{color:#eaff8d!important}
.tour-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.tour-card{min-height:236px;border:1px solid #557d9d!important;border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 1px #5cadd01c,0 9px 18px #0007!important}
.tour-card:after{background:linear-gradient(180deg,#01182d1c 12%,#071a3199 45%,#041326f2 100%)!important}.tour-card-photo{background-position:50% 42%;filter:saturate(1.08)!important}.tour-card:hover{border-color:#ccf638!important}.tour-card-content{padding:13px!important;min-height:230px;justify-content:end}.tour-card h3{font-size:clamp(13px,1.1vw,17px)!important;text-shadow:0 3px 12px #000;line-height:1.3;margin-bottom:8px!important;word-break:break-word}.tour-details{font-size:10px!important;line-height:1.75;color:#d7e7f4}.tour-card-bottom{margin-top:8px;gap:5px}.tour-cta{font-weight:900!important;font-size:9px!important;padding:8px 10px!important;white-space:nowrap;border-radius:6px!important}.vl-photo-label{font-size:8px;color:#b5c9d8}.status-chip{background:#16436bdc;border:1px solid #5a9ce4;color:#fff!important;font-size:9px;font-weight:800;border-radius:5px}.status-chip.opening{background:#145f4b!important;color:#deffea!important;border-color:#29a875}
.services-section{background:linear-gradient(125deg,#08213b,#0a2a44 45%,#071a2e)}.service-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px}
.service-tile{min-height:171px!important;padding:12px!important;border-radius:7px!important;border:1px solid #507eab!important;display:flex!important;justify-content:flex-end!important;gap:3px!important;isolation:isolate}
.service-tile:after{background:linear-gradient(180deg,#0717291f 3%,#06162b39 27%,#03152bf2 78%)!important}.service-tile .service-photo{filter:saturate(.98) brightness(1.06)}
.service-tile .service-icon{width:34px;height:34px;font-size:25px;color:#fff;background:radial-gradient(circle at 30% 20%,#326da9,#06477d);border:1px solid #75b4e3;box-shadow:0 0 14px #0075cc55}
.service-tile strong{font-size:12px!important;letter-spacing:.01em}.service-tile small{font-size:10px!important;line-height:1.6;min-height:0!important}.service-tile>span:last-child{font-size:9px!important;color:#ddf8ff!important;border-color:#a2d2fb33}
.vl-player-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.vl-player-grid .athlete-card{min-height:220px!important;border-radius:7px;border:1px solid #42749e;overflow:hidden;position:relative;background:#18334e}.vl-player-grid .athlete-photo{position:absolute;inset:0}.vl-player-grid .athlete-photo img{height:100%;width:100%;object-fit:cover;object-position:center 25%;filter:saturate(.95) contrast(1.06)}.vl-player-grid .athlete-rank{background:var(--vl-neon)!important;color:#09182b!important;border-radius:4px;font-size:10px;padding:4px 7px}
.vl-player-grid .athlete-meta{position:absolute;bottom:0;left:0;right:0;padding:27px 11px 11px!important;background:linear-gradient(180deg,transparent,#001223ed 50%,#001222 100%)!important;display:flex;flex-direction:column;gap:3px;text-align:left}.vl-player-grid .athlete-meta strong{font-size:11px;line-height:1.5}.vl-player-grid .athlete-meta small{color:#c0d1e2;font-size:9px}.vl-player-grid .athlete-meta>span{font-size:10px;color:#ecff6a;font-weight:800}.vl-player-grid .vl-player-unfilled{cursor:default}.vl-player-grid .vl-player-unfilled .athlete-meta small{font-size:8px}
.vl-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.vl-rank-card{min-height:224px;border:1px solid #3d86d1;box-shadow:inset 0 0 20px #0068c320,0 0 15px #0a78c91b;background:#081a30;display:grid;grid-template-columns:minmax(110px,37%) minmax(0,1fr);overflow:hidden;position:relative;border-radius:7px}.vl-rank-card.female{border-color:#a475c0;background:#14172f}.vl-rank-art{background-size:cover;background-position:center;filter:saturate(1.03);min-height:100%}.vl-rank-info{padding:12px 14px;min-width:0;position:relative}.vl-rank-info h3{color:var(--vl-neon);font-size:15px;line-height:1.4;text-align:center;margin:0 0 8px}.vl-rank-card.female h3{color:#f0a8e4}.vl-rank-table{font-size:10px}.vl-rank-head,.vl-rank-row{display:grid;grid-template-columns:27px minmax(0,1fr) 64px;gap:3px;align-items:center;padding:6px 4px;border-bottom:1px solid #35536c}.vl-rank-head{color:#a9b9cd;font-weight:700;border-color:#547087}.vl-rank-row{color:#ecf4fb;text-decoration:none}.vl-rank-row:hover{background:#284760aa;color:var(--vl-neon)}.vl-rank-row>span:first-child{color:#e4ff43;font-weight:800}.vl-rank-row>b{text-align:right}.vl-rank-empty{padding:26px 9px;text-align:center;color:#b9cbe1;line-height:1.7}
.vl-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vl-news-card{background:#092038;border:1px solid #3c729e;border-radius:7px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:#f4f8fe;position:relative;transition:transform .3s,border-color .3s,box-shadow .3s}.vl-news-card:hover{transform:translateY(-3px);border-color:#dcff20;box-shadow:0 12px 24px #0007}.vl-news-image{display:block;width:100%;aspect-ratio:16/8.8;overflow:hidden;background:#123c60}.vl-news-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.vl-news-card:hover .vl-news-image img{transform:scale(1.055)}.vl-news-meta{font-size:9px;color:#b6d3ea;padding:8px 10px 2px}.vl-news-card strong{font-size:11px;font-weight:800;line-height:1.65;padding:2px 10px 6px;min-height:50px}.vl-news-card small{font-size:9px;line-height:1.55;color:#a4bed4;padding:0 10px 10px}
.partner-section .partner-strip{gap:28px;justify-content:space-between}.partner-section .partner-strip>span{font-size:clamp(12px,1.5vw,18px);letter-spacing:.05em;color:#e0eaf3}
/* Consistency in inner pages and existing Core's bracket, grouping, result tables. */
.page-intro{background:radial-gradient(ellipse at 80% 40%,#173c66,transparent 60%),#07192d!important;border-bottom:1px solid #3c729e!important}.page-intro h1{font-weight:850!important}.page-intro .eyebrow{color:#dfff51!important}
.single-wpk_event .event-hero{background:#0b2743!important}.wpk-lux-event-tabs .active,.wpk-lux-event-tabs a:hover{background:linear-gradient(120deg,#0e63aa,#143c67)!important;border-color:#82c7ff!important}.wpk-lux-pair-card,.wpk-lux-group,.wpk-lux-bracket-match,.wpk-lux-result-line{border-radius:8px!important;border-color:#3f729a!important}.wpk-lux-bracket-team.is-winner{background:#274664!important;color:#f4ff7d!important}
.site-footer{background:radial-gradient(ellipse at 92% 0,#1646795b,transparent 40%),#061527!important;border-top:1px solid #3d7ab2!important;color:#e4f1fc}.site-footer .brand-logo{width:67px;max-height:67px;object-fit:contain}.site-footer h3{font-size:11px;color:#e3ff75}.footer-contact strong{color:#f7faff!important}.footer-contact a:hover,.footer-links a:hover{color:#e4ff43!important}.footer-bottom{border-top:1px solid #3d5c79}.wpk-photo-credit{font-size:9px}
.vl-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vl-contact-card{background:#0a263e;border:1px solid #3e749e;padding:22px;border-radius:9px}.vl-contact-card h2{color:#e6ff54;font-size:20px}.vl-contact-line{display:block;color:#d9e8f6;padding:8px 0;border-bottom:1px solid #385775;overflow-wrap:anywhere}.vl-contact-line a{color:#9ed8ff}.vl-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.vl-contact-actions a{background:#123957;color:#e0effd;border:1px solid #4e88b1;border-radius:6px;padding:9px 13px;font-size:12px}
.vl-inner-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vl-inner-service{background:#0c2841;border:1px solid #3c789f;display:grid;grid-template-columns:40% 60%;border-radius:8px;overflow:hidden;min-height:245px}.vl-inner-service>img{width:100%;height:100%;object-fit:cover}.vl-inner-service>div{padding:18px}.vl-inner-service h2{font-size:19px;margin:3px 0 10px}.vl-inner-service p{font-size:13px;color:#bdd1e4}.vl-inner-service a{color:#ddff65;font-size:12px;font-weight:700}.vl-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vl-article-card{border:1px solid #447aa2;background:#10263e;border-radius:7px;overflow:hidden}.vl-article-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.vl-article-card>div{padding:15px}.vl-article-card small{color:#9bd4fe}.vl-article-card h2{font-size:16px;line-height:1.5}.vl-article-card p{font-size:12px;color:#bfd0df}.vl-article-card a{color:#e5ff73}
@media(max-width:1290px){.site-header .nav-list{gap:5px}.site-header .nav-list a{font-size:10px;padding:15px 5px}.site-header .header-search{display:none}.vl-hero .arena-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.vl-hero .arena-hero-side{display:none}}
@media(max-width:1080px){.site-header .header-inner{min-height:72px}.site-header .nav-toggle{display:block;order:4}.site-header .header-inner .primary-nav{order:5;width:100%;margin:0;position:static;background:#081c32}.site-header .nav-list a{font-size:13px;padding:12px 14px}.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vl-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vl-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vl-rank-grid{grid-template-columns:1fr 1fr}.vl-rank-card{grid-template-columns:33% 67%}.vl-inner-services{grid-template-columns:1fr}}
@media(max-width:768px){.shell,body .shell{width:calc(100% - 32px)}.site-header .brand-logo{max-height:56px;height:56px}.vl-hero .arena-hero-grid{min-height:360px;display:block}.arena-hero.vl-hero{min-height:360px}.vl-hero .arena-hero-copy{max-width:530px;padding:35px 0 30px}.vl-hero h1 span,.vl-hero h1 strong{font-size:clamp(34px,7vw,59px)}.vl-hero .arena-hero-visual{position:absolute;inset:0;width:100%;height:100%;background-position:68% 40%;opacity:.52;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%);mask-image:linear-gradient(90deg,transparent,#000 28%)}.vl-hero-facts{max-width:350px;gap:9px;font-size:9px}.vl-rank-grid{grid-template-columns:1fr}.vl-rank-card{min-height:200px;grid-template-columns:35% 65%}.vl-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vl-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vl-contact-grid{grid-template-columns:1fr}}
@media(max-width:540px){.site-header .header-inner{gap:8px;min-height:66px}.site-header .brand-logo{max-height:49px;height:49px}.site-header .brand-name{font-size:12px}.site-header .header-cta{font-size:9px;padding:8px!important}.arena-hero.vl-hero,.vl-hero .arena-hero-grid{min-height:335px}.vl-hero .arena-hero-copy{padding-top:29px}.vl-hero h1 span,.vl-hero h1 strong{font-size:clamp(33px,9vw,47px)}.vl-hero .arena-kicker{font-size:8px;letter-spacing:.1em}.vl-hero .arena-hero-copy>p{font-size:9px;letter-spacing:.03em}.vl-hero .arena-hero-visual{background-position:70% center;opacity:.5}.vl-hero-facts{font-size:8px;gap:6px 12px;margin:13px 0}.vl-hero .arena-hero-actions .button{font-size:10px;padding:10px}.arena-section{padding:17px 0!important}.arena-section-title h2{font-size:13px}.arena-section-title p{font-size:9px}.more-link{font-size:9px}.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tour-card{min-height:192px}.tour-card-content{padding:9px!important;min-height:192px}.tour-card h3{font-size:11px!important}.tour-details{font-size:9px!important}.tour-card-bottom{flex-wrap:wrap}.tour-cta{font-size:8px!important}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.service-tile{min-height:165px!important;padding:9px!important}.service-tile .service-icon{width:27px;height:27px;font-size:18px}.service-tile strong{font-size:10px!important}.service-tile small{font-size:9px!important}.vl-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vl-player-grid .athlete-card{min-height:208px!important}.vl-player-grid .athlete-meta{padding:20px 8px 9px!important}.vl-player-grid .athlete-meta strong{font-size:10px}.vl-player-grid .athlete-meta small{font-size:8px}.vl-rank-card{grid-template-columns:32% minmax(0,68%);min-height:195px}.vl-rank-info{padding:10px 8px}.vl-rank-info h3{font-size:12px}.vl-rank-head,.vl-rank-row{grid-template-columns:17px minmax(0,1fr) 50px;font-size:9px;padding:5px 2px}.vl-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vl-news-card strong{font-size:10px}.vl-news-card small{font-size:8px}.vl-inner-service{grid-template-columns:1fr}.vl-inner-service>img{aspect-ratio:16/9}.vl-article-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr!important}}
@media(max-width:350px){.tour-grid,.service-grid{grid-template-columns:1fr!important}.vl-hero h1 span,.vl-hero h1 strong{font-size:31px}.vl-rank-card{grid-template-columns:28% 72%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
