/* =========================================================
   SPORTIFYVN — sportify.css (Flatsome child override)
   Bảng màu: Navy #0B1C2C · Lime #C8F000 · Coral #E8724A · Kem #F5F0E8
   Font: Space Grotesk (head/body) · DM Mono (giá/phụ)
   ========================================================= */
:root {
	--sf-navy:#0B1C2C; --sf-lime:#C8F000; --sf-coral:#E8724A;
	--sf-cream:#F5F0E8; --sf-white:#fff; --sf-gray:#8899AA;
	--sf-font:'Inter',system-ui,sans-serif;
	--sf-mono:'Inter',system-ui,sans-serif;
	--sf-r:14px; --sf-tr:all .22s ease;
}
*{box-sizing:border-box}
body.sportifyvn-theme, body{background:#fff}
.sf-container{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}

/* ---------- Topbar ---------- */
.sf-topbar{background:var(--sf-navy);color:#9fb0c4;font-size:11px;letter-spacing:1px;
	padding:8px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sf-topbar-city{color:var(--sf-lime);font-family:var(--sf-mono)}

/* ---------- Header ---------- */
.sf-header{position:sticky;top:0;z-index:99;background:var(--sf-navy);border-bottom:1px solid rgba(255,255,255,.08)}
.sf-header-inner{display:flex;align-items:center;gap:20px;min-height:66px}
.sf-logo{text-decoration:none;color:#fff;font-size:22px;letter-spacing:2px;white-space:nowrap}
.sf-logo strong{font-family:var(--sf-font);font-weight:700}
.sf-dot{color:var(--sf-lime)}
.sf-nav{flex:1}
.sf-nav-list{display:flex;list-style:none;margin:0;padding:0;gap:18px}
.sf-nav-list a{color:#fff;text-decoration:none;font-size:12px;letter-spacing:1.2px;font-weight:600;
	padding:8px 2px;border-bottom:2px solid transparent;transition:var(--sf-tr)}
/* Dropdown Môn thể thao (3 con: Cầu lông · Bơi lội · Chạy bộ) */
.sf-nav-list a:hover,.sf-nav-list a:focus-visible{color:var(--sf-lime);border-color:var(--sf-lime)}
.sf-nav-list > li{position:relative}
.sf-nav-list>li.has-child>.sf-dd{position:absolute;top:100%;left:0;background:var(--sf-navy);
	border:1px solid rgba(255,255,255,.14);border-radius:12px;min-width:230px;padding:8px;
	list-style:none;margin:8px 0 0;opacity:0;visibility:hidden;transform:translateY(6px);
	transition:var(--sf-tr);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.sf-nav-list>li.has-child:hover>.sf-dd,.sf-nav-list>li.has-child:focus-within>.sf-dd{
	opacity:1;visibility:visible;transform:translateY(0)}
.sf-dd li{margin:0}
.sf-dd a{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:8px;font-size:12px;letter-spacing:.4px}
.sf-dd a:hover{background:rgba(200,240,0,.1);color:var(--sf-lime)}
.sf-dd small{color:#8fa3b6;font-size:11px;font-weight:400;letter-spacing:.2px}
/* Menu do admin tự tạo trong WP (primary) cũng hỗ trợ con */
.sf-nav-list .sub-menu{position:absolute;top:100%;left:0;background:var(--sf-navy);
	border:1px solid rgba(255,255,255,.14);border-radius:12px;min-width:230px;padding:8px;
	list-style:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:var(--sf-tr);margin:8px 0 0}
.sf-nav-list li.menu-item-has-children:hover>.sub-menu,.sf-nav-list li.menu-item-has-children:focus-within>.sub-menu{
	opacity:1;visibility:visible;transform:translateY(0)}
.sf-nav-list .sub-menu li{margin:0}
.sf-nav-list .sub-menu a{display:block;padding:10px 12px;border-radius:8px;letter-spacing:.4px;font-size:12px}
.sf-nav-list .sub-menu a:hover{background:rgba(200,240,0,.1);color:var(--sf-lime)}
.sf-search-btn{display:inline-flex;align-items:center;gap:9px;background:transparent;color:#fff;
	border:1px solid rgba(255,255,255,.28);border-radius:40px;padding:9px 18px;cursor:pointer;
	font-size:12px;letter-spacing:1.2px;font-weight:600;font-family:var(--sf-font);transition:var(--sf-tr)}
.sf-search-btn:hover{border-color:var(--sf-lime);color:var(--sf-lime)}
.sf-search-btn .sf-search-ico{font-size:15px;line-height:1}
/* Search overlay */
.sf-search-overlay{position:fixed;inset:0;z-index:200;background:rgba(11,28,44,.96);
	display:flex;align-items:flex-start;justify-content:center;padding:16vh 20px 40px;animation:sfFade .2s ease}
.sf-search-panel{width:100%;max-width:720px}
.sf-search-label{color:var(--sf-lime);font-size:12px;letter-spacing:3px;margin:0 0 14px;text-align:center}
.sf-search-form{display:flex;gap:10px}
.sf-search-form input{flex:1;background:#fff;border:2px solid transparent;color:var(--sf-navy);
	border-radius:40px;padding:15px 22px;font-size:17px;font-family:var(--sf-font);outline:none}
.sf-search-form input:focus{border-color:var(--sf-lime)}
.sf-search-close{display:block;margin:18px auto 0;background:none;border:none;color:#a9bacb;
	font-size:13px;cursor:pointer;letter-spacing:1px}
.sf-search-close:hover{color:#fff}
.sf-search-overlay[hidden]{display:none}
@keyframes sfFade{from{opacity:0}to{opacity:1}}
.sf-burger{display:none;background:none;border:none;width:40px;height:40px;flex-direction:column;
	justify-content:center;align-items:center;gap:5px;cursor:pointer}
.sf-burger span{display:block;width:22px;height:2px;background:#fff}
.sf-content{background:#fff}

/* ---------- Hero ---------- */
.sf-hero{background:var(--sf-navy);color:#fff;padding:70px 0 60px;position:relative;overflow:hidden}
.sf-hero h1{font-size:clamp(34px,6vw,72px);line-height:1.02;margin:8px 0 16px;font-weight:700;letter-spacing:-1px}
.sf-hero h1 .sf-line{display:block}
.sf-hero .sf-line .dot{color:var(--sf-lime)}
.sf-kicker{font-family:var(--sf-mono);color:var(--sf-lime);letter-spacing:2px;font-size:12px}
.sf-hero .sf-sub{color:#aec1;max-width:520px;font-size:17px;line-height:1.7;margin:0}
.sf-hero-simple{background:var(--sf-navy)}
.sf-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.sf-btn{display:inline-block;padding:13px 22px;border-radius:40px;font-family:var(--sf-font);
	font-weight:700;letter-spacing:.5px;text-decoration:none;border:2px solid transparent;transition:var(--sf-tr)}
.sf-btn-primary{background:var(--sf-coral);color:#fff}
.sf-btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.sf-btn-outline:hover{background:#fff;color:var(--sf-navy)}
.sf-btn-navy{background:var(--sf-navy);color:#fff}
.sf-btn-tuv{background:var(--sf-coral);color:#fff}
.sf-btn-shopee{background:#ee4d2d;color:#fff}
.sf-hero-stats{display:flex;gap:26px;margin-top:26px;font-family:var(--sf-mono);color:#a9bacb;font-size:12px}

/* ---------- Section chung ---------- */
.sf-section{padding:60px 0 72px}
.sf-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.sf-sec-head .sf-h2{font-size:clamp(26px,4vw,40px);margin:6px 0 0;letter-spacing:-.5px}
.sf-sec-head .dot{color:var(--sf-lime)}
.sf-link-more{color:var(--sf-navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--sf-lime)}
.sf-num{font-family:var(--sf-mono);color:var(--sf-gray);font-size:13px;letter-spacing:1px}

/* ---------- Grid / cards ---------- */
.sf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.sf-card-sport{background:#fff;border:1px solid #ece5d6;border-radius:var(--sf-r);overflow:hidden;
	transition:var(--sf-tr)}
.sf-card-sport:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,28,44,.1)}
.sf-card-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--sf-cream)}
.sf-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.sf-card-sport h3{font-size:18px;margin:14px 16px 4px;line-height:1.3}
.sf-card-sport h3 a{color:var(--sf-navy);text-decoration:none}
.sf-card-sport .sf-badge{margin:8px 16px 14px}
.sf-badge{display:inline-block;font-family:var(--sf-mono);font-size:11px;letter-spacing:1px;
	padding:4px 10px;border-radius:30px;font-weight:600}
.sf-thumb-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
	font-size:64px;background:var(--sf-cream)}
.sf-empty{padding:40px;text-align:center;color:var(--sf-gray)}

/* ---------- Bộ lọc pills ---------- */
.sf-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.sf-pill{border:2px solid #dcd4c2;background:#fff;border-radius:30px;padding:8px 16px;cursor:pointer;
	font-family:var(--sf-font);font-weight:600;color:var(--sf-navy);font-size:13px}
.sf-pill.active,.sf-pill:hover{background:var(--sf-navy);border-color:var(--sf-navy);color:var(--sf-lime)}

/* ---------- Footer ---------- */
.sf-footer{background:var(--sf-navy);color:#c4d0de;padding:52px 0 0;margin-top:0}
.sf-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding-bottom:36px}
.sf-footer-brand .sf-logo{font-size:26px}
.sf-footer-brand p{color:#9fb0c4;line-height:1.6;max-width:300px;font-size:14px}
.sf-footer h4{color:var(--sf-lime);font-size:12px;letter-spacing:2px;margin:0 0 14px}
.sf-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sf-footer a{color:#c4d0de;text-decoration:none;font-size:14px}
.sf-footer a:hover{color:#fff}
.sf-socials a{display:block}
.sf-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;color:#7d8ea3;font-size:12px}

@media (max-width:992px){
	.sf-nav,.sf-search{display:none}
	.sf-burger{display:flex}
	.sf-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){ .sf-footer-grid{grid-template-columns:1fr} .sf-grid{grid-template-columns:1fr} }
/* ---------- Card body & extensions ---------- */
.sf-card-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px}
.sf-card-media-square{aspect-ratio:1/1}
.sf-card-title{font-size:18px;margin:0;line-height:1.3}
.sf-card-title a{color:var(--sf-navy);text-decoration:none}
.sf-card-meta{color:var(--sf-gray);font-size:13px;line-height:1.5;margin:0}
.sf-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.sf-card-center{text-align:center}
.sf-grid-wide{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.sf-pill{text-decoration:none;display:inline-block}
.sf-empty-state{text-align:center;padding:44px 24px;border:2px dashed var(--sf-cream);border-radius:var(--sf-r);color:var(--sf-gray)}
.sf-empty{margin:0 0 8px;color:var(--sf-gray)}
.sf-hero-simple h1{max-width:820px}
/* ---------- Filter bar ---------- */
.sf-filters{display:flex;gap:10px;flex-wrap:wrap}
/* =========================================================
   RESPONSIVE — mobile-first: 768px
   ========================================================= */
.sf-mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--sf-navy);
	z-index:120;padding:26px 20px 40px;border-left:1px solid rgba(255,255,255,.1);
	transform:translateX(100%);transition:var(--sf-tr);overflow:auto}
.sf-mobile-nav.sf-mobile-inner, .sf-mobile-nav .sf-nav-list{display:block}
.sf-mobile-nav{display:none}
.sf-mobile-nav.is-open{display:block;animation:sfSlide .22s ease forwards}
@keyframes sfSlide{to{transform:translateX(0)}}
.sf-mobile-nav .sf-nav-list{gap:4px}
.sf-mobile-nav .sf-nav-list>li{margin:0}
.sf-mobile-nav .sf-nav-list a{display:block;padding:13px 6px;font-size:14px;letter-spacing:1px;color:#e8eef6;border:none}
.sf-mobile-nav .sf-nav-list>li.has-child>.sf-dd,.sf-mobile-nav .sf-nav-list .sub-menu{position:static;opacity:1;
	visibility:visible;transform:none;min-width:0;margin:2px 0 8px;border:none;border-left:2px solid var(--sf-lime);border-radius:0;box-shadow:none;padding:0 0 0 10px}
@media (max-width:768px){
	.sf-nav{display:none}
	.sf-burger{display:flex}
	.sf-header-actions .sf-search-btn span:last-child{display:none}
	.sf-search-btn{padding:9px 11px}
	.sf-topbar-city{display:none}
}
@media (min-width:769px){.sf-mobile-nav{display:none!important}}

/* =========================================================
   V4 EXTENSIONS — trang chủ + trang môn + seed UI
   Chỉ NỐI TIẾP phía dưới — không sửa CSS cũ phía trên.
   ========================================================= */
/* Hero — hotline/social (link trắng) */
.sf-hero-stats-v4 a{color:var(--sf-lime);text-decoration:none}
.sf-hero-stats-v4 a:hover{text-decoration:underline}
.sf-hl a{white-space:nowrap}

/* Marquee / band 3 môn (dưới hero) */
.sf-marquee{background:#0f2337;color:#fff;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.sf-marquee-in{display:flex;align-items:center;gap:28px;overflow-x:auto;padding:16px 20px;scrollbar-width:none}
.sf-marquee-in::-webkit-scrollbar{display:none}
.sf-marquee-label{font-family:var(--sf-mono);color:var(--sf-lime);font-size:11px;letter-spacing:2px;white-space:nowrap}
.sf-marquee-item{display:flex;align-items:center;gap:9px;color:#e8eef6;text-decoration:none;white-space:nowrap;padding:4px 2px;border-bottom:2px solid transparent;transition:var(--sf-tr)}
.sf-marquee-item:hover{color:var(--sf-lime);border-color:var(--sf-lime)}
.sf-dot-sport{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.sf-marquee-item strong{letter-spacing:.5px}
.sf-marquee-item small{color:#8fa3b6;font-size:12px}

/* Card meta ở header (badge + read time) */
.sf-card-kick{display:flex;align-items:center;gap:10px;margin:0 0 2px}
.sf-card-kick .sf-badge{margin:0}
.sf-card-kick .sf-read{font-family:var(--sf-mono);color:var(--sf-gray);font-size:11px;letter-spacing:.5px}

/* Cộng đồng band */
.sf-section-band{background:var(--sf-cream)}
.sf-grid-community{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:30px}
.sf-card-comm{background:#fff;border:1px solid #ece5d6;border-radius:var(--sf-r);padding:16px;text-align:center;transition:var(--sf-tr)}
.sf-card-comm:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,28,44,.08)}
.sf-card-comm .sf-card-media-square{display:block;aspect-ratio:1/1;border-radius:50%;overflow:hidden;margin:0 auto 12px;max-width:132px}
.sf-card-comm h3{margin:0 0 8px;font-size:16px}
.sf-card-comm h3 a{color:var(--sf-navy);text-decoration:none}
.sf-card-comm .sf-card-kick{justify-content:center}
.sf-comm-actions{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:10px 0 0}
.sf-comm-actions .sf-sub{margin-top:8px;color:#5b6672}

/* Gear (kept small) */
.sf-section-gear{background:#fff}
.sf-gear-note{color:var(--sf-gray);font-size:13px;margin:8px 0 0}
.sf-price{font-family:var(--sf-mono);font-weight:700;font-size:15px;color:#0B1C2C;margin:0}
.sf-actions-inline{gap:8px}
.sf-actions-inline .sf-btn{display:inline-flex;align-items:center;padding:9px 14px;font-size:12.5px;border-radius:30px;text-align:center}

/* Băng CTA cuối (coral) */
.sf-cta-strip{background:var(--sf-coral);color:#fff;padding:64px 0 70px;text-align:center}
.sf-cta-h{color:#fff;margin:0 0 10px}
.sf-cta-txt{color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 4px;line-height:1.6}
.sf-ctas-center{justify-content:center}
.sf-btn-navy{border:2px solid #0B1C2C}
.sf-cta-strip .sf-btn-navy:hover{background:#0B1C2C;color:#fff}

/* Empty-state khi không có nội dung theo section */
.sf-container>div.sf-empty-state{margin:8px 0 40px}
.sf-section .sf-empty-state{margin:0 0 8px}

/* ===== Trang môn (single-sf_sport) ===== */
.sf-sport-hero{overflow:hidden;position:relative;z-index:1}
.sf-sport-hero-media{position:absolute;inset:0}
.sf-sport-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.sf-sport-hero-ov{position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,28,44,.94) 10%,rgba(11,28,44,.72) 55%,color-mix(in srgb,var(--sf-navy) 30%,transparent));}
.sf-sport-hero-in{position:relative;z-index:2}
.sf-sport-hero .sf-sport-h1{display:inline-block;position:relative}
.sf-sport-h1{color:#fff}
.sf-sport-h1::after{content:"";display:block;width:88px;height:6px;border-radius:6px;background:var(--sport-ac,#C8F000);margin-top:14px}
.sf-sport-h1 .sf-dot{color:var(--sport-ac,#C8F000)}
.sf-sport-sub{margin-top:18px}
.sf-sport-cta{background:#fff;padding:0;margin-top:-18px;position:relative;z-index:3}
.sf-sport-cta-row{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;padding-bottom:30px}
.sf-sport-cta-row .sf-btn-outline{color:var(--sf-navy);border-color:#d5c9b4}
.sf-sport-cta-row .sf-btn-outline:hover{background:var(--sf-navy);color:#fff;border-color:var(--sf-navy)}

/* Responsive bổ trợ cho section mới */
@media (max-width:768px){
	.sf-marquee-in{gap:16px}
	.sf-grid-community{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
	.sf-cta-strip{padding:48px 0 54px}
	.sf-card-kick{flex-wrap:wrap}
}


/* =========================================================
   V6 — typography (Space Grotesk / Manrope / DM Mono),
        buttons mới, search overlay, layout front-page mới.
   Chỉ NỐI TIẾP. Đừng sửa những dòng phía trên.
   ========================================================= */

/* -- Biến phông / màu lại theo chuẩn thiết kế mới -- */
:root {
	--sf-head: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
	--sf-body: 'Manrope', ui-sans-serif, system-ui, sans-serif;
	--sf-mono: 'DM Mono', ui-monospace, Menlo, monospace;
	--sf-font: var(--sf-body);
	/* palette giữ nguyên, chỉ thay var font */
	--sf-navy:#0B1C2C; --sf-lime:#C8F000; --sf-coral:#E8724A;
	--sf-cream:#F5F0E8; --sf-white:#fff; --sf-gray:#8b98a8;
}

/* Áp phông cho toàn theme. */
body,
body.sportifyvn-theme,
.sf-container,
.sf-section {
	font-family: var(--sf-body);
	-webkit-font-smoothing: antialiased;
}
code, pre, kbd, samp { font-family: var(--sf-mono); }

/* Tiêu đề → Space Grotesk (đè css heading Flatsome + theme cũ). */
h1, h2, h3, h4, .sf-logo strong,
.sf-hero h1, .sf-h2, .sf-card-title, .sf-card-comm h3,
.sf-sport-h1, .sf-cta-h, .sf-hero-stats {
	font-family: var(--sf-head);
	font-weight: 600;
	letter-spacing: -0.01em;
}

/* Số/đơn vị luôn DM Mono qua helper class sf-fig */
.sf-fig, .sf-price, .sf-num, .sf-kicker, .sf-read, .sf-card-meta,
.sf-search-label, .sf-sr-type, .sf-rtime, .sf-chip-km, .sf-tour-date-big {
	font-family: var(--sf-mono);
}

/* ---------- Compact buttons (V6) ----------
   Làm phẳng các .sf-btn cũ: bỏ bo 40px béo, sống khối gọn hơn,
   nền phẳng + viền nhạt, font 14, cỡ chữ rõ */
.sf-btn {
	padding: 11px 18px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-family: var(--sf-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	line-height: 1.2;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.sf-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(11,28,44,.16); }
.sf-btn:active { transform: translateY(0); }

.sf-btn-primary {
	background: var(--sf-coral);
	color: #fff;
	border-color: transparent;
}
.sf-btn-outline {
	background: transparent;
	color: #0B1C2C;
	border: 1px solid #9aa5b1;
}
.sf-btn-outline:hover { background:#0B1C2C; color:var(--sf-lime); border-color:#0B1C2C; }
.sf-btn-outline.white { color:#fff; border-color: rgba(255,255,255,.5); }
.sf-btn-outline.white:hover { background:#fff; color:var(--sf-navy); border-color:#fff; }
.sf-btn-navy { background: var(--sf-navy); color:#fff; border-color:transparent; }
.sf-btn-navy.light { background:#1c3350; }
.sf-btn-lime { background: var(--sf-lime); color: var(--sf-navy); border-color: transparent; }
.sf-btn-shopee { background:#ee4d2d; color:#fff; border-color:transparent; }
.sf-btn-tuv,
.sf-btn-tuv2 { background: var(--sf-coral); color:#fff; border-color: transparent; }

/* round arrow cho nút "Xem địa điểm" (tròn nhỏ) */
.sf-btn-circle { padding:0; width:34px; height:34px; border-radius:50%; font-size:16px; background:var(--sf-coral); color:#fff; border:none; }
.sf-btn-circle.ghost { background:transparent; border:1px solid #e0d9ca; color:var(--sf-navy); }

/* ---------- Hero (V6) ---------- */
.sf-hero-v6 .sf-hero-kicker { color:var(--sf-lime); letter-spacing:.2em; }
.sf-hero-v6 h1 { max-width:18ch; }
.sf-hero-stats .sf-fig-num { color:#fff; }

/* ---------- marquee ---------- ok giữ cũ,.sf-marquee { } */

/* =========================================================
   V6 front-page layout — GẦN BẠN / TÌM BẠN / GIẢI / TIN / GEAR
   ========================================================= */
.sf-grid.v6 { gap:22px; }

/* --- Venue row --- */
.sf-venue-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.sf-venue-card {
	background:#fff; border:1px solid #ece5d6; border-radius:14px; overflow:hidden;
	display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease;
}
.sf-venue-card:hover { box-shadow:0 14px 30px rgba(11,28,44,.10); transform:translateY(-3px); }
.sf-venue-media { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--sf-cream); }
.sf-venue-media img { width:100%; height:100%; object-fit:cover; display:block; }
.sf-venue-km {
	position:absolute; top:10px; right:10px; z-index:2;
	background:rgba(255,255,255,.92); color:var(--sf-navy);
	font-family:var(--sf-mono); font-size:12px; font-weight:500;
	padding:5px 9px; border-radius:30px; letter-spacing:.2px;
	box-shadow:0 4px 10px rgba(11,28,44,.12);
}
.sf-chip-km { font-size:12px; }
.sf-venue-body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.sf-badge-slot { display:flex; }
.sf-venue-city { font-size:13px; color:var(--sf-gray); line-height:1.4; }
.sf-venue-actions { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:8px; }

/* --- Player strip --- */
.sf-player-strip { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; }
.sf-player-item {
	display:flex; align-items:center; gap:14px; padding:14px; border:1px solid #ece5d6;
	border-radius:14px; background:#fff; transition:box-shadow .2s ease;
}
.sf-player-item:hover { box-shadow:0 12px 26px rgba(11,28,44,.08); }
.sf-player-item .sf-badge { flex:none; }
.sf-av { flex:none; width:56px; height:56px; border-radius:50%; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; background:var(--sf-cream); }
.sf-av-img img { width:100%; height:100%; object-fit:cover; display:block; }
.sf-av-ini {
	width:56px; height:56px; border-radius:50%; background:var(--sf-navy); color:var(--sf-lime);
	font-family:var(--sf-head); font-weight:600; font-size:20px; display:inline-flex;
	align-items:center; justify-content:center;
}
.sf-player-info { display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.sf-player-info strong { font-size:15px; color:var(--sf-navy); }
.sf-player-meta { font-family:var(--sf-body); color:var(--sf-gray); font-size:12.5px; }
.sf-player-free { color:#0e8f4b; font-size:12.5px; font-weight:600; }
.sf-free-line { font-family:var(--sf-body); font-size:12px; color:#0e8f4b; }

/* --- Tournaments --- */
.sf-tour-feat {
	display:grid; grid-template-columns:1.15fr 1fr; gap:0; border-radius:16px; overflow:hidden;
	background:#fff; border:1px solid #ece5d6; margin-bottom:26px;
}
.sf-tour-feat-media { position:relative; min-height:260px; background:var(--sf-cream); }
.sf-tour-feat-media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.sf-tour-feat-ov { position:absolute; inset:0; background:linear-gradient(200deg, rgba(11,28,44,.1), rgba(11,28,44,.55)); }
.sf-tour-feat-body { padding:26px 28px; display:flex; flex-direction:column; gap:12px; }
.sf-tour-date-big { font-size:30px; color:var(--sf-coral); letter-spacing:.5px; line-height:1; }
.sf-tour-date-big small { font-size:12px; color:var(--sf-gray); letter-spacing:.1em; }
.sf-tour-feat h3 { font-size:24px; margin:0; }
.sf-tour-feat .sf-lead { color:#33424f; font-size:14px; line-height:1.6; margin:0; }
.sf-tour-feat-city { color:var(--sf-gray); font-size:13px; }
.sf-tour-feat-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }

.sf-tour-list { display:grid; gap:10px; }
.sf-tour-mini {
	display:flex; align-items:center; gap:16px; padding:13px 15px; border:1px solid #ece5d6;
	border-radius:12px; background:#fff; transition:box-shadow .2s ease;
}
.sf-tour-mini:hover { box-shadow:0 10px 22px rgba(11,28,44,.07); }
.sf-tour-mini-left { display:flex; align-items:center; gap:8px; min-width:120px; }
.sf-tour-mini-date { font-family:var(--sf-mono); color:var(--sf-coral); font-size:14px; }
.sf-tour-mini-center { flex:1; min-width:0; color:#33424f; font-size:14px; line-height:1.4; }
.sf-tour-mini-center strong { color:var(--sf-navy); font-size:15px; }

/* status chip */
.sf-st-c { font-family:var(--sf-mono); font-size:10.5px; letter-spacing:.08em; padding:3px 9px; border-radius:30px; text-transform:uppercase; display:inline-block; }
.sf-st-open  { background:#eaf7c6; color:#4f7a08; }
.sf-st-soon  { background:#e7e7ec; color:#6a6f78; }
.sf-st-live  { background:#fbe3d8; color:#c74f24; }
.sf-st-other { background:#e7eef6; color:#2f6aa0; }

/* --- News per sport --- */
.sf-over-news { font-family:var(--sf-mono); font-size:11px; letter-spacing:.2em; color:var(--sf-gray); }
.sf-rosse-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin:0 0 16px; flex-wrap:wrap; }
.sf-rosse-head h2 { font-size:26px; margin:0; }
.sf-section-inner-sport { padding:8px 0 4px; }
.sf-sport-news-grid { margin-bottom:30px; }
.sf-grid.v6news { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }

/* --- compact gear row --- */
.sf-gear-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; }
.sf-gear-card { background:#fff; border:1px solid #ece5d6; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.sf-gear-media { aspect-ratio:1/1; }
.sf-gear-media a { display:block; height:100%; }
.sf-gear-media img { width:100%; height:100%; object-fit:cover; }
.sf-gear-body { padding:12px 14px 14px; display:flex; flex-direction:column; gap:6px; }
.sf-gear-name { font-size:13px; line-height:1.35; margin:0; }
.sf-gear-name a { color:var(--sf-navy); text-decoration:none; }
.sf-gear-name{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sf-gear-row .sf-price { font-size:14px; }
.sf-gear-actions{ display:flex; gap:8px; margin-top:2px; }

/* --- community band --- */
.sf-community-band { display:flex; align-items:center; gap:24px; justify-content:space-between; flex-wrap:wrap; }
.sf-community-band .sf-kicker { color:var(--sf-coral); }

/* =========================================================
   V6 LIVE SEARCH OVERLAY (restyle panel)
   ========================================================= */
.sf-search-overlay{
	background:rgba(11,28,44,.55);
	-webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
	display:flex; align-items:flex-start; justify-content:center;
	padding:10vh 20px 40px; z-index:300; overflow:auto;
}
.sf-search-panel{
	width:100%; max-width:760px;
	background:var(--sf-cream);
	border-radius:20px;
	box-shadow:0 24px 70px rgba(11,28,44,.45);
	padding:22px 22px 18px;
}
.sf-search-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.sf-search-label{
	margin:0; color:var(--sf-coral); letter-spacing:.22em; font-size:11.5px;
	text-transform:uppercase;
}
.sf-search-close{
	display:inline-flex; align-items:center; justify-content:center;
	width:32px; height:32px; border-radius:50%; background:var(--sf-coral); color:#fff;
	border:none; cursor:pointer; font-size:15px; line-height:1;
	transition:transform .2s ease;
}
.sf-search-close:hover{ transform:rotate(90deg); }
.sf-search-x{ display:block; }

.sf-search-in{}
.sf-search-form{
	display:flex; align-items:center; gap:12px;
	background:#fff; border:1px solid #e0d9ca; border-radius:12px;
	padding:0 6px 0 14px; box-shadow:0 4px 14px rgba(11,28,44,.06);
}
.sf-search-glass{ color:var(--sf-coral); display:inline-flex; }
.sf-search-input{
	flex:1; border:none; outline:none; background:transparent;
	font-family:var(--sf-body); font-size:16px; padding:14px 4px; min-width:0; color:var(--sf-navy);
}
.sf-search-input::placeholder{ color:#8b98a8; }
.sf-search-clear{
	background:#f1e9dc; color:var(--sf-navy); border:none; width:32px;height:32px;
	border-radius:8px; cursor:pointer; font-size:13px; flex:none;
}
.sf-search-clear:hover{ background:#0B1C2C; color:#fff; }

.sf-search-hint{ color:#6a7480; font-size:13px; margin:10px 8px 4px; min-height:18px; }
.sf-search-hint .sf-pending{ color:var(--sf-coral); }
.sf-search-results{ margin-top:6px; display:grid; gap:4px; }
.sf-sr-section-label{
	font-family:var(--sf-mono); font-size:10.5px; letter-spacing:.18em; color:var(--sf-gray);
	margin:4px 4px 6px; text-transform:uppercase;
}
.sf-sr{
	display:flex; align-items:center; gap:14px; padding:10px 12px; border-radius:12px;
	text-decoration:none; transition:background .15s ease;
}
.sf-sr:hover,.sf-sr.is-active{ background:color-mix(in srgb,var(--sf-lime) 30%, #fff); }
.sf-sr-av{ flex:none; width:52px;height:52px;border-radius:12px;overflow:hidden; background:var(--sf-cream); }
.sf-sr-av .sf-sr-img{ width:100%; height:100%; object-fit:cover; display:block; }
.sf-sr-fb{ width:100%;height:100%; display:flex; align-items:center; justify-content:center; font-family:var(--sf-head); font-weight:700; font-size:20px; }
.sf-sr-mid{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.sf-sr-type{ color:var(--sf-coral); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.sf-sr-title{ color:var(--sf-navy); font-family:var(--sf-head); font-weight:600; font-size:16px; line-height:1.25; }
.sf-sr-go{ flex:none; color:var(--sf-coral); font-size:18px; }
.sf-search-foot{ margin-top:10px; text-align:right; }
.sf-search-footlink{ color:var(--sf-navy); font-weight:700; font-size:13.5px; text-decoration:none; border-bottom:2px solid var(--sf-lime); }
.sf-search-overlay[hidden], .sf-search-results[hidden]{ display:none; }

@media (max-width:600px){
	.sf-search-overlay{ align-items:center; padding:14px 12px; }
	.sf-search-panel{ padding:16px 14px; }
	.sf-tour-feat{ grid-template-columns:1fr; }
	.sf-tour-feat-media{ min-height:180px; }
}


/* =========================================================
   V6 (tiếp) — Chọn nhịp cards + band cộng đồng + fix nhỏ
   ========================================================= */
.sf-sport-card-v6{
	--plinth:var(--sf-lime);
	display:flex; flex-direction:column;
	background:#fff; border:1px solid #ece5d6; border-radius:16px; overflow:hidden;
	transition:box-shadow .25s ease, transform .25s ease;
}
.sf-sport-card-v6:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(11,28,44,.12); }
.sf-sport-card-plinth{
	aspect-ratio:16/11; position:relative; overflow:hidden; background:var(--plinth,#0B1C2C);
}
.sf-sport-card-img{ display:block; width:100%; height:100%; }
.sf-sport-card-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.sf-sport-card-tile{ display:flex; align-items:center; justify-content:center; }
.sf-sport-bigletter{ font-family:var(--sf-head); font-size:74px; line-height:1; color:inherit; opacity:.25; }
.sf-sport-card-in{ padding:16px 18px 20px; display:flex; flex-direction:column; gap:8px; }
.sf-sport-card-name{ font-size:22px; margin:0; color:var(--sf-navy); }
.sf-sport-card-desc{ color:var(--sf-gray); font-size:13.5px; line-height:1.5; margin:0 0 6px; }
.sf-sport-card-in .sf-btn{ align-self:flex-start; }
.sf-link-more, .sf-linked-more{ color:var(--sf-navy); font-weight:700; text-decoration:none; border-bottom:2px solid var(--sf-lime); }

/* community band căn 2 cột hàng ngang */
.sf-community-band-band{ background:var(--sf-cream); }
.sf-community-band-txt{ flex:1; min-width:240px; }
.sf-community-band-txt h2{ margin:6px 0 4px; }
.sf-community-band-txt .sf-gear-note{ color:#5b6672; line-height:1.65; }

/* đảm bảo marquee band không đè .sf-logo định dạng */
.sf-marquee strong{ font-family:var(--sf-head); font-weight:600; }

/* =========================================================
   V6 — SINGLE SPORT + ALIGN + FINAL BUTTON OVERRIDES (order last)
   ========================================================= */
/* hero single-sport: blur navy overlay phía sau */
.sf-sport-hero{ padding-top:60px; padding-bottom:40px; }
.sf-sport-hero .sf-sport-hero-ov{
	-webkit-backdrop-filter:blur(1.5px); backdrop-filter:blur(1.5px);
}
.sf-sport-hero .sf-kicker{ color:var(--sf-lime); letter-spacing:.22em; }
/* mục heading trong trang môn: kicker nhỏ coral + tiêu đề Space Grotesk (đã có) */
.sf-sport-cta-row{ gap:10px; }
.sf-section .sf-num{ color:var(--sf-coral); }
.sf-section .sf-sec-head .sf-h2{ font-family:var(--sf-head); font-weight:600; }
/* CTA nút trong trang môn giữ gọn V6 */
.sf-sport-cta .sf-btn,
.sf-sport-cta-row .sf-btn{
	border-radius:10px; padding:11px 18px; border-width:1px;
}

/* --- override mọi .sf-large pill còn sót về nút gọn (chạy sau cùng) --- */
.sf-actions-inline .sf-btn,
.sf-gear-actions .sf-btn,
.sf-btn-primary, .sf-btn-outline, .sf-btn-navy, .sf-btn-lime,
.sf-btn-shopee, .sf-btn-tuv, .sf-btn-tuv2{
	padding:9px 13px; border-radius:10px; font-size:13px; line-height:1.25;
}
.sf-search-btn{ border-radius:40px; padding:8px 16px; }
.sf-link-more{ display:inline-block; margin-top:4px; }

/* narrow chips/badges bo góc gọn lại */
.sf-badge{ border-radius:8px; }

/* Đảm bảo sf-content không có khoảng dư header Flatsome gây hở */
.sf-content{ padding:0; }

/* Hero hiện số thống kê rõ hơn */
.sf-hero-stats{ font-size:13px; gap:22px; color:#c7d3e0; }
.sf-hero-stats .sf-fig-num{ font-family:var(--sf-head); color:#fff; font-weight:600; font-size:18px; }
