/* VĨNH LỘC Pickleball 1.7.0 — approved navy / electric blue / optic lime design.
   V17 changes presentation only. It never hides a real score, registration or WP content. */
:root{--vl-navy:#061629;--vl-navy2:#092540;--vl-neon:#e6ff32;--vl-blue:#4aa9ff;--vl-line:#466e92;--vl-white:#f5f9ff}
body{background:#06172b!important;color:var(--vl-white)}
.site-header{background:rgba(4,17,33,.96)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header .brand{max-width:86px;min-width:68px;flex-basis:auto}.site-header .brand-logo{width:74px;max-width:74px;max-height:68px;object-fit:contain}.site-header .brand-name{display:none!important}
.site-header .header-inner{justify-content:space-between}.site-header .header-cta{white-space:nowrap}
.site-header .nav-list a{letter-spacing:.01em}
.vl-hero .arena-hero-visual{background-position:center center;background-size:cover}
.vl-hero .arena-hero-copy>p{font-size:clamp(10px,.8vw,13px);letter-spacing:.1em}
.vl-hero .arena-kicker{color:#f5faff;font-size:11px;letter-spacing:.17em}
.vl-hero h1 span{background:linear-gradient(160deg,#f1ff80,#d1ee00 52%,#8daf00);background-clip:text;-webkit-background-clip:text;color:transparent!important;text-shadow:none}
.arena-section{isolation:isolate;background:linear-gradient(180deg,rgba(12,40,68,.32),rgba(5,20,38,.34));border-color:#2c5476!important}
.arena-section-title h2{border-color:#e6ff32!important}
.arena-section-title p{color:#b6c9df}
.tour-card,.service-tile,.athlete-card,.vl-rank-card,.vl-news-card{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;will-change:auto}
.tour-card:hover,.service-tile:hover,.athlete-card:hover,.vl-news-card:hover{transform:translateY(-3px);border-color:#d6f557!important;box-shadow:0 9px 25px rgba(0,0,0,.4),0 0 0 1px rgba(225,255,67,.12)!important}
.tour-card,.service-tile,.vl-news-card{position:relative;contain:paint}
.tour-card-photo,.service-tile .service-photo,.vl-news-image img,.vl-inner-service>img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s}
.tour-card:hover .tour-card-photo,.service-tile:hover .service-photo,.vl-inner-service:hover>img{transform:scale(1.045)}
.tour-card .tour-card-photo{filter:saturate(1.08) contrast(1.04)}
.service-grid .service-tile .service-photo{filter:saturate(1.06) contrast(1.04)}
.service-tile .service-icon{display:grid;place-items:center;flex-shrink:0;color:#f8feff!important;background:linear-gradient(140deg,#266fac,#073459)!important;border:1px solid #6cc7ff80;box-shadow:inset 0 1px 2px #ffffff36,0 3px 12px #001c3e99}
.service-tile .vlp-inline-icon{width:24px;height:24px;display:block;stroke:currentColor}
.vl-player-grid .athlete-card{min-width:0}.vl-player-grid .athlete-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.vl-player-grid .athlete-meta{background:linear-gradient(180deg,transparent,rgba(3,16,30,.9) 45%,rgba(2,14,27,.99))!important}
.vl-player-grid .vl-player-unfilled .athlete-meta small{font-size:10px;line-height:1.5;color:#d0ddec}
.vl-player-grid .vl-player-unfilled .athlete-meta strong{font-size:12px;line-height:1.4}
.vlp-photo-credit{margin:16px 0!important;font-size:11px!important;line-height:1.65!important;color:#a9bfd0!important}
.vlp-photo-credit a{color:#9dd7ff;text-decoration:underline}
.vl-news-card .vl-news-meta{font-size:10px}.vl-news-card strong{font-size:13px;min-height:55px}.vl-news-card small{font-size:11px;line-height:1.6}
.vl-rank-row{min-height:31px}.vl-rank-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vl-inner-service{transition:transform .3s,border-color .3s}.vl-inner-service:hover{border-color:var(--vl-neon);transform:translateY(-2px)}
.vl-inner-service img{min-height:240px;object-fit:cover}.prose{color:#e2edf8}.prose h2,.prose h3{color:#f4ffb3}.prose p,.prose li{font-size:15px;line-height:1.9}.prose ul{margin:0 0 18px}.prose .article-cover{border-radius:12px;max-height:560px;object-fit:cover}
.site-footer .footer-grid{gap:28px}.site-footer .brand-name{display:block!important}.footer-contact .social-links{flex-wrap:wrap}
/* Stable touch targets and readable typography: avoid the old 8px text on mobiles. */
@media (max-width:1200px){
 .site-header .brand{min-width:64px;max-width:74px}.site-header .brand-logo{width:69px;height:64px}
 .site-header .nav-list{gap:2px}.site-header .nav-list a{font-size:11px;padding:14px 5px}
 .site-header .header-search{display:none}
 .vl-hero h1 span,.vl-hero h1 strong{font-size:clamp(43px,5.2vw,66px)}
}
@media (max-width:1080px){
 .site-header .brand{min-width:70px;max-width:70px}
 .site-header .nav-toggle{display:block;order:4;min-width:40px;min-height:44px}
 .site-header .header-inner .primary-nav{order:5;flex-basis:100%}
 .site-header .nav-list{display:flex;flex-direction:column;gap:0}
 .site-header .nav-list a{min-height:43px;display:flex;align-items:center;font-size:13px}
 .vl-hero .arena-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)}
 .vl-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .vl-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
 .site-header .brand-logo{max-width:59px;max-height:58px;height:56px}
 .site-header .header-tools{margin-left:auto}
 .arena-hero.vl-hero,.vl-hero .arena-hero-grid{min-height:400px}
 .vl-hero .arena-hero-copy{padding-top:42px;max-width:560px}
 .vl-hero .arena-hero-visual{background-position:68% center;opacity:.5}
 .tour-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .vl-rank-grid{grid-template-columns:1fr}
 .vl-rank-card{min-height:215px}
 .vl-inner-services{grid-template-columns:1fr}
 .vl-news-card strong{font-size:13px}
}
@media(max-width:540px){
 .site-header .header-inner{min-height:66px}.site-header .brand-logo{height:52px;max-width:52px}
 .site-header .header-cta{min-height:40px;font-size:10px!important;padding:8px 10px!important}
 .shell,body .shell{width:calc(100% - 28px)}
 .arena-hero.vl-hero,.vl-hero .arena-hero-grid{min-height:402px}
 .vl-hero .arena-hero-copy{padding:46px 0 28px}
 .vl-hero h1 span,.vl-hero h1 strong{font-size:clamp(36px,10vw,52px);line-height:1.03}
 .vl-hero .arena-kicker{font-size:10px;letter-spacing:.06em}
 .vl-hero .arena-hero-copy>p{font-size:11px;line-height:1.6;max-width:290px}
 .vl-hero-facts{gap:10px 14px;max-width:290px;font-size:10px}
 .vl-hero .arena-hero-visual{background-position:62% center;opacity:.5}
 .arena-section{padding:25px 0!important}
 .arena-section-title{gap:8px}.arena-section-title h2{font-size:clamp(13px,3.4vw,17px)}.arena-section-title p{font-size:11px;line-height:1.5}.more-link{font-size:11px}
 .tour-grid,.service-grid{grid-template-columns:1fr!important;gap:12px}
 .tour-card{min-height:245px}.tour-card-content{min-height:245px;padding:15px!important}
 .tour-card h3{font-size:17px!important}.tour-details{font-size:11px!important}.tour-cta{font-size:11px!important;min-height:35px;display:inline-flex;align-items:center}
 .service-tile{min-height:170px!important;padding:15px!important}.service-tile .service-icon{width:37px;height:37px}
 .service-tile strong{font-size:15px!important}.service-tile small{font-size:12px!important;line-height:1.5}
 .vl-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .vl-player-grid .athlete-card{min-height:240px!important}
 .vl-player-grid .athlete-meta{padding:24px 10px 11px!important}
 .vl-player-grid .athlete-meta strong,.vl-player-grid .vl-player-unfilled .athlete-meta strong{font-size:12px}
 .vl-player-grid .athlete-meta small,.vl-player-grid .vl-player-unfilled .athlete-meta small{font-size:10px}
 .vl-rank-card{grid-template-columns:29% 71%;min-height:210px}
 .vl-rank-info{padding:12px 8px}.vl-rank-info h3{font-size:14px}
 .vl-rank-head,.vl-rank-row{grid-template-columns:22px minmax(0,1fr) 56px;font-size:11px;gap:3px;padding:7px 3px}
 .vl-news-grid{grid-template-columns:1fr;gap:12px}
 .vl-news-image{aspect-ratio:16/8}.vl-news-card strong{font-size:15px;min-height:0}.vl-news-card small{font-size:12px}
 .vl-inner-service{grid-template-columns:1fr;min-height:0}.vl-inner-service img{min-height:0;aspect-ratio:16/9}
 .vl-article-grid{grid-template-columns:1fr}.vl-contact-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr!important}
 .prose p,.prose li{font-size:14px}
}
@media(max-width:360px){.vl-hero h1 span,.vl-hero h1 strong{font-size:35px}.site-header .header-cta{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.tour-card,.service-tile,.vl-news-card,.athlete-card{transition:none!important}}
