/* 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:#1b1b1b;--vl-navy2:#1f1f1f;--vl-panel:#212121;--vl-neon:#ff4f3a;--vl-blue:#ff7a45;--vl-white:#f5f5f5;--vl-muted:#e3e3e3;--vl-line:#393939;--vl-font:"Be Vietnam Pro",system-ui,sans-serif}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#1b1b1b,#212121 48%,#1b1b1b)!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:#1b1b1bf5!important;border-bottom:1px solid #ff7a45!important;box-shadow:0 5px 25px #151515c4;min-height:76px}
.site-header:after{content:"";position:absolute;bottom:-1px;left:13%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#ff7a459e 45%,#ff4f3a9b 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:#f5f5f5!important;text-shadow:0 0 18px #ff4f3ac0;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:#ff7a45;border-radius:20px;background:#1d1d1dd9}
.site-header .button-gold,.button-gold,.tour-cta{background:linear-gradient(135deg,#ff7a45,#ff4f3a 55%,#ff4f3a)!important;color:#1b1b1b!important;border-color:#ff4f3a!important;box-shadow:0 0 16px #ff4f3a52,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 #ff4f3a88,0 8px 24px #0006;filter:saturate(1.12)}
.primary-nav .sub-menu{background:#1c1c1c;border:1px solid #393939}
/* 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,#2f2f2f 0,transparent 60%),linear-gradient(100deg,#1a1a1a,#212121)!important;border-bottom:1px solid #ff7a45}
.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:#f5f5f5;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 #191919)}
.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:#ff4f3a!important;text-shadow:0 0 14px #ff4f3a52;letter-spacing:-.055em}
.vl-hero h1 strong{background:linear-gradient(180deg,#fff,#f5f5f5 50%,#dcdcdc)!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:#f5f5f5;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:#f5f5f5;font-size:10px;font-weight:750;letter-spacing:.02em}
.vl-hero-facts span:first-letter{color:#ff4f3a}
.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:#f5f5f5;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,#ff4f3a,transparent 31%,#ff7a45 65%,#ff4f3a 100%);height:2px;box-shadow:0 0 17px #ff7a45}
/* Section hierarchy: tournament -> services -> players -> ratings -> editorial. */
.arena-section{padding:20px 0 20px!important;border-bottom:1px solid #303030;position:relative}
.arena-section:after{content:"";position:absolute;bottom:-1px;left:0;width:36%;height:1px;background:linear-gradient(90deg,transparent,#ff7a4580,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:#797979!important}.more-link:hover{color:#ff7a45!important}
.tour-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.tour-card{min-height:236px;border:1px solid #444444!important;border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 1px #ff7a451c,0 9px 18px #0007!important}
.tour-card:after{background:linear-gradient(180deg,#1b1b1b1c 12%,#1d1d1d99 45%,#1a1a1af2 100%)!important}.tour-card-photo{background-position:50% 42%;filter:saturate(1.08)!important}.tour-card:hover{border-color:#ff4f3a!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:#f5f5f5}.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:#e1e1e1}.status-chip{background:#2d2d2ddc;border:1px solid #ff7a45;color:#fff!important;font-size:9px;font-weight:800;border-radius:5px}.status-chip.opening{background:#2a2a2a!important;color:#f5f5f5!important;border-color:#3e3e3e}
.services-section{background:linear-gradient(125deg,#1f1f1f,#222222 45%,#1c1c1c)}.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 #ff7a45!important;display:flex!important;justify-content:flex-end!important;gap:3px!important;isolation:isolate}
.service-tile:after{background:linear-gradient(180deg,#1b1b1b1f 3%,#1c1c1c39 27%,#1b1b1bf2 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%,#ff7a45,#2d2d2d);border:1px solid #ff7a45;box-shadow:0 0 14px #3d3d3d55}
.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:#f5f5f5!important;border-color:#\37 d7d7d33}
.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 #ff7a45;overflow:hidden;position:relative;background:#272727}.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:#1c1c1c!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,#191919ed 50%,#181818 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:#e5e5e5;font-size:9px}.vl-player-grid .athlete-meta>span{font-size:10px;color:#ff4f3a;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 #ff7a45;box-shadow:inset 0 0 20px #3b3b3b20,0 0 15px #ff7a451b;background:#1d1d1d;display:grid;grid-template-columns:minmax(110px,37%) minmax(0,1fr);overflow:hidden;position:relative;border-radius:7px}.vl-rank-card.female{border-color:#ff7a45;background:#1f1f1f}.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:#ff4f3a}.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 #343434}.vl-rank-head{color:#dddddd;font-weight:700;border-color:#3c3c3c}.vl-rank-row{color:#f5f5f5;text-decoration:none}.vl-rank-row:hover{background:#2e2e2eaa;color:var(--vl-neon)}.vl-rank-row>span:first-child{color:#ff4f3a;font-weight:800}.vl-rank-row>b{text-align:right}.vl-rank-empty{padding:26px 9px;text-align:center;color:#e3e3e3;line-height:1.7}
.vl-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vl-news-card{background:#1f1f1f;border:1px solid #ff7a45;border-radius:7px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:#f5f5f5;position:relative;transition:transform .3s,border-color .3s,box-shadow .3s}.vl-news-card:hover{transform:translateY(-3px);border-color:#ff4f3a;box-shadow:0 12px 24px #0007}.vl-news-image{display:block;width:100%;aspect-ratio:16/8.8;overflow:hidden;background:#292929}.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:#e5e5e5;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:#dedede;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:#f5f5f5}
/* Consistency in inner pages and existing Core's bracket, grouping, result tables. */
.page-intro{background:radial-gradient(ellipse at 80% 40%,#2c2c2c,transparent 60%),#1c1c1c!important;border-bottom:1px solid #ff7a45!important}.page-intro h1{font-weight:850!important}.page-intro .eyebrow{color:#ff4f3a!important}
.single-wpk_event .event-hero{background:#222222!important}.wpk-lux-event-tabs .active,.wpk-lux-event-tabs a:hover{background:linear-gradient(120deg,#393939,#2b2b2b)!important;border-color:#ff7a45!important}.wpk-lux-pair-card,.wpk-lux-group,.wpk-lux-bracket-match,.wpk-lux-result-line{border-radius:8px!important;border-color:#ff7a45!important}.wpk-lux-bracket-team.is-winner{background:#2f2f2f!important;color:#ff7a45!important}
.site-footer{background:radial-gradient(ellipse at 92% 0,#3030305b,transparent 40%),#1b1b1b!important;border-top:1px solid #ff7a45!important;color:#f5f5f5}.site-footer .brand-logo{width:67px;max-height:67px;object-fit:contain}.site-footer h3{font-size:11px;color:#ff7a45}.footer-contact strong{color:#f5f5f5!important}.footer-contact a:hover,.footer-links a:hover{color:#ff4f3a!important}.footer-bottom{border-top:1px solid #383838}.wpk-photo-credit{font-size:9px}
.vl-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vl-contact-card{background:#202020;border:1px solid #ff7a45;padding:22px;border-radius:9px}.vl-contact-card h2{color:#ff4f3a;font-size:20px}.vl-contact-line{display:block;color:#f5f5f5;padding:8px 0;border-bottom:1px solid #363636;overflow-wrap:anywhere}.vl-contact-line a{color:#7d7d7d}.vl-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.vl-contact-actions a{background:#282828;color:#f5f5f5;border:1px solid #ff7a45;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:#222222;border:1px solid #ff7a45;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:#e5e5e5}.vl-inner-service a{color:#ff4f3a;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 #ff7a45;background:#222222;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:#7c7c7c}.vl-article-card h2{font-size:16px;line-height:1.5}.vl-article-card p{font-size:12px;color:#e4e4e4}.vl-article-card a{color:#ff7a45}
@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:#1d1d1d}.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}}
