/* Source: sportify.css */
/* =========================================================
   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
   ========================================================= */
/* ---------- Mobile nav: ĐÃ CHUYỂN SANG sportify-v9.css (V22b) ----------
   Rule cũ ở đây gây xung đột (animation forwards ghim transform + display:none
   vs visibility/transform của v9) làm menu mờ & không click được.
   Chỉ giữ pointer-events an toàn cho trạng thái đóng. */

@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}
}

/* =========================================================
   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; }

/* Source: sportify-fix.css */
/* SportifyVN — ép nền trắng để tránh xám từ Flatsome/archive */
body.sportifyvn-theme, body { background:#fff !important; }
body.sportifyvn-theme #wrapper, body.sportifyvn-theme .page-wrapper,
body.sportifyvn-theme #content{ background:#fff !important; }
.sf-content{ background:#fff; min-height:60vh; }

/* Crawlable pagination is always visible, including without JavaScript. */
.sf-pagination{margin:24px auto;text-align:center}.sf-pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0}.sf-pagination a,.sf-pagination span{display:inline-block;padding:8px 12px;border:1px solid #ddd;border-radius:6px}.sf-pagination .current{background:#0b1c2c;color:#fff}

/* Source: sportify-v7.css */
/* =========================================================
   === V7 — Layout & templates chi tiết (single/venue/tour/product/about)
   Đồng nhất: spacing scale --sp, icons feather-outline, fade+scale,
   hover 180ms. Không đè cấu trúc V6 cốt lõi.
   ========================================================= */
:root{
	--sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp6:24px;--sp8:32px;--sp12:48px;
	--stroke:1.8px;--tr-ease:cubic-bezier(.16,1,.3,1);
	--card-bd:1px solid rgba(11,28,44,.08);
}
:root:root body{--sf-font-size:16px}
/* Feather-style tiện ích icon toàn theme */
.sf-ic{display:inline-flex;vertical-align:-3px;flex:none}
.sf-ic svg{display:block}
:is(a,button).sf-chain,.sf-sn{transition:background-color 180ms var(--tr-ease),color 180ms var(--tr-ease),border-color 180ms var(--tr-ease),transform 180ms var(--tr-ease)}
:is(a,button){-webkit-tap-highlight-color:transparent}

/* ---------- Layout chung single/templates ---------- */
.sf-single-wrap{display:grid;gap:var(--sp8);grid-template-columns:minmax(0,1fr) 300px;padding:0 0 var(--sp12)}
.sf-single-main{min-width:0}
.sf-single-main img{max-width:100%;height:auto}
.sf-single-aside,.sf-aside-card{min-width:0}

/* Post body typography */
.sf-post-body{font-size:17px;line-height:1.85;color:#1d2b3a}
.sf-post-body p{margin:0 0 var(--sp6)}
.sf-post-body h2,.sf-post-body h3,.sf-post-body h4{font-family:var(--sf-head);color:var(--sf-navy);scroll-margin-top:110px}
.sf-post-body h2{font-size:28px;margin:var(--sp12) 0 var(--sp4)}
.sf-post-body h3{font-size:21px;margin:var(--sp8) 0 var(--sp3)}
.sf-post-body blockquote{margin:var(--sp6) 0;padding:var(--sp4) var(--sp6);border-left:4px solid var(--sf-coral);background:var(--sf-cream);border-radius:0 14px 14px 0;color:#33445a;font-style:italic}
.sf-post-body ul,.sf-post-body ol{margin:0 0 var(--sp6);padding-left:22px}
.sf-post-body li{margin:0 0 var(--sp2)}
.sf-post-body a{color:var(--sf-coral);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.sf-post-body img{border-radius:16px;display:block;margin:var(--sp4) 0}
.sf-post-body figure{margin:var(--sp6) 0}
.sf-post-body figcaption{font-size:13px;color:#7c8ca0;margin-top:var(--sp2);text-align:center}
.sf-post-body table{width:100%;border-collapse:collapse;font-size:15px;margin:var(--sp4) 0}
.sf-post-body th,.sf-post-body td{padding:var(--sp2) var(--sp3);border:1px solid #e4e9ef;text-align:left}
.sf-post-body th{background:var(--sf-navy);color:#fff}

/* Aside tiltle chuẩn */
.sf-aside-card{background:#fff;border:var(--card-bd);border-radius:16px;padding:var(--sp4);margin:0 0 var(--sp4);overflow-wrap:break-word}
.sf-aside-title{display:flex;align-items:center;justify-content:space-between;gap:var(--sp2);font-family:var(--sf-head);font-size:13px;letter-spacing:1.6px;color:var(--sf-navy);margin:0 0 var(--sp3);text-transform:uppercase}
.sf-aside-title::after{content:"";flex:1;height:1px;background:rgba(11,28,44,.1)}

/* ---------- Single hero (chung) ---------- */
.sf-single-hero{background:var(--sf-navy);color:#fff;padding:72px 0 60px}
.sf-single-hero .sf-container{max-width:1060px}
.sf-single-hero h1{font-size:clamp(30px,5vw,52px);line-height:1.08;margin:var(--sp2) 0 var(--sp4);font-weight:700;letter-spacing:-.5px}
.sf-single-meta{display:flex;flex-wrap:wrap;gap:var(--sp3) var(--sp6);align-items:center;font-size:12px;letter-spacing:1px;color:#b7c6d6;margin-top:var(--sp4);font-family:var(--sf-head)}
.sf-single-byline{color:var(--sf-lime);font-weight:700}
.sf-single-date,.sf-single-read{font-family:var(--sf-mono);color:#d7e2ee}
.sf-single-herofigure{margin:0 0 var(--sp8)}
.sf-single-herofigure img{width:100%;max-height:460px;object-fit:cover;border-radius:0 0 22px 22px;display:block}

/* Jumbotron media + overlay (venue/tour/sport) */
.sf-hero-media-abs{position:absolute;inset:0}
.sf-hero-media-abs img{width:100%;height:100%;object-fit:cover;display:block}
.sf-hero-ov{position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,28,44,.94) 0%,rgba(11,28,44,.72) 55%,rgba(11,28,44,.45));z-index:1}
.sf-hero-in{position:relative;z-index:2;min-height:340px;display:flex;flex-direction:column;justify-content:center;max-width:1200px;margin:0 auto;padding:var(--sp12) 20px;color:#fff}
.sf-hero-in h1{font-family:var(--sf-head);font-size:clamp(30px,5vw,54px);line-height:1.05;margin:var(--sp2) 0 var(--sp3);font-weight:700}
.sf-sport-hero,.sf-venue-hero,.sf-tour-hero{position:relative;overflow:hidden;color:#fff}
.sf-venue-single .sf-venue-hero{background:linear-gradient(115deg,#0B1C2C 0%,#12324b 60%,#0B1C2C)}
.sf-venue-sub,.sf-sport-sub{color:#c3d0de;font-size:16px;max-width:640px}
.sf-dot-hero{color:var(--sf-lime);opacity:.85;font-family:var(--sf-mono);font-size:12px;letter-spacing:1px}

/* ---------- Buttons bổ trợ V7 ---------- */
.sf-btn-mini{padding:7px 14px;font-size:13px;border-radius:10px;font-family:var(--sf-head);font-weight:600;letter-spacing:.3px}
a.sf-link-more{display:inline-flex;align-items:center;gap:6px;color:var(--sf-coral);font-family:var(--sf-head);font-weight:700;font-size:14px;text-decoration:none}
a.sf-link-more:hover{color:var(--sf-navy)}
.sf-actions-stack{display:flex;flex-direction:column;gap:var(--sp2);width:100%}
.sf-actions-stack .sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px}
.sf-btn-navy{background:#0b1c2c;color:#fff}
.sf-btn-mini.sf-btn-tuv{background:var(--sf-coral);color:#fff}
.sf-btn.adjusted{padding:11px 16px;font-size:14px}

/* ---------- TOC ---------- */
.sf-toc-nav{list-style:none;margin:0;padding:0}
.sf-toc-nav li{margin:0}
.sf-toc-link{display:flex;align-items:baseline;gap:8px;padding:7px 4px;border-radius:8px;font-size:14px;line-height:1.4;color:#35506e;text-decoration:none;border-left:2px solid transparent;transition:background-color 180ms var(--tr-ease),color 180ms var(--tr-ease),border-color 180ms var(--tr-ease)}
.sf-toc-link:hover{background:rgba(232,114,74,.07);color:var(--sf-navy)}
.sf-toc-link.is-active{border-left-color:var(--sf-coral);color:var(--sf-navy);background:rgba(232,114,74,.06);font-weight:600}
.sf-toc-link.is-sub{padding-left:22px;font-weight:500}
.sf-toc-num{font-family:var(--sf-mono);color:var(--sf-coral);font-size:12px}
.sf-toc-more{margin-top:6px;background:none;border:none;color:var(--sf-coral);font-family:var(--sf-head);font-weight:700;font-size:12px;letter-spacing:1px;cursor:pointer;transition:color 180ms}
.sf-toc-more:hover{color:var(--sf-navy)}

/* ---------- Chia sẻ (share) ---------- */
.sf-sn-row{display:flex;flex-wrap:wrap;gap:var(--sp2)}
.sf-sn{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;border:1px solid rgba(11,28,44,.14);background:#fff;color:var(--sf-navy);font-family:var(--sf-head);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}
.sf-sn:hover{transform:translateY(-1px);border-color:transparent;background:rgba(11,28,44,.06)}
.sf-sn-fb:hover{background:#1877f2;color:#fff}
.sf-sn-x:hover{background:#111;color:#fff}
.sf-sn-li:hover{background:#0a66c2;color:#fff}
.sf-sn-copy:hover{background:var(--sf-coral);color:#fff}
.sf-copied{font-size:12px;color:#1b7f4d;display:flex;align-items:center;gap:6px;margin-top:8px}

/* ---------- Related "Câu chuyện chưa dừng lại ở đây" ---------- */
.sf-rel-list{list-style:none;margin:0;padding:0}
.sf-rel-item{display:flex;gap:var(--sp3);padding:var(--sp2) 0;border-bottom:1px solid rgba(11,28,44,.07)}
.sf-rel-item:last-child{border-bottom:0}
.sf-rel-thumb{flex:0 0 96px;height:72px;border-radius:12px;overflow:hidden;display:block;background:#eef2f6;text-decoration:none}
.sf-rel-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 200ms var(--tr-ease)}
.sf-rel-thumb:hover img{transform:scale(1.05)}
.sf-rel-mid{min-width:0}
.sf-rel-kind{display:flex;gap:6px;align-items:center;font-family:var(--sf-mono);font-size:11px;letter-spacing:1px;color:var(--sf-coral);margin-bottom:3px}
.sf-rel-title{font-family:var(--sf-head);font-size:14px;line-height:1.45;color:var(--sf-navy);font-weight:600;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-rel-title:hover{color:var(--sf-coral)}
.sf-rel-date{display:block;font-family:var(--sf-mono);font-size:11px;color:#98a7b8;margin-top:4px}
.sf-rel-empty{font-size:13px;color:#7c8ca0;padding:var(--sp2) 0}
.sf-article-more{margin:var(--sp8) 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp3);padding:var(--sp6);background:#fbf6ec;border:1px dashed rgba(232,114,74,.35);border-radius:16px}
.sf-article-more-t{font-family:var(--sf-head);color:var(--sf-navy);font-weight:700;margin:0}
.sf-endrule{height:1px;background:linear-gradient(90deg,var(--sf-coral),var(--sf-lime));border:0;margin:var(--sp8) 0 0}

/* ---------- Venue single ---------- */
.sf-venue-single .sf-single-main,.sf-venue-single .sf-single-wrap{max-width:none}
.sf-venue-desc{margin-top:var(--sp2)}
.sf-venue-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp3);margin-top:var(--sp6)}
.sf-fact{background:#fff;border:var(--card-bd);border-radius:14px;padding:var(--sp4);display:flex;gap:var(--sp3);align-items:flex-start}
.sf-fact-ic{width:38px;height:38px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(200,240,0,.16);color:var(--sf-navy)}
.sf-fact b{font-family:var(--sf-head);display:block;font-size:13px;letter-spacing:.3px;color:var(--sf-navy)}
.sf-fact span{font-size:13px;color:#5f7186}
.sf-map-frame{width:100%;height:360px;border:0;border-radius:18px;display:block;margin-top:var(--sp4)}
.sf-dist-row{display:flex;align-items:center;gap:var(--sp2);font-family:var(--sf-mono);color:var(--sf-navy);margin-top:var(--sp3)}
/* Geo (định vị) */
.sf-geo-block{margin-top:var(--sp8);background:#0B1C2C;color:#fff;border-radius:20px;padding:var(--sp6)}
.sf-geo-title{font-family:var(--sf-head);font-size:clamp(20px,3vw,26px);margin:0 0 var(--sp2);color:#fff}
.sf-geo-hint{color:#c3d0de;font-size:14px}
.sf-geo-btn{display:inline-flex;align-items:center;gap:8px;background:var(--sf-coral);color:#fff;border:none;border-radius:12px;padding:13px 20px;font-family:var(--sf-head);font-weight:700;cursor:pointer;margin-top:var(--sp3);transition:background-color 180ms var(--tr-ease),transform 180ms var(--tr-ease)}
.sf-geo-btn:hover{transform:translateY(-1px)}
.sf-geo-btn:disabled{opacity:.5;cursor:wait}
.sf-geo-btn .sf-geo-spin{display:none}
.sf-geo-btn.is-loading .sf-geo-spin{display:inline-block;animation:sfSpin 1s linear infinite}
@keyframes sfSpin{to{transform:rotate(360deg)}}
.sf-near-results{display:grid;gap:var(--sp2);margin-top:var(--sp4)}
.sf-geo-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp3);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:var(--sp3) var(--sp4);border-radius:12px;color:#fff;text-decoration:none;transition:background-color 180ms var(--tr-ease),border-color 180ms var(--tr-ease)}
.sf-geo-card:hover{background:rgba(255,255,255,.12);border-color:var(--sf-lime)}
.sf-geo-card.is-this{border-color:var(--sf-lime);background:rgba(200,240,0,.12)}
.sf-geo-card b{font-family:var(--sf-head);font-size:15px}
.sf-geo-card small{display:block;color:#bcd0e2;font-size:12px}
.sf-geo-km{font-family:var(--sf-mono);color:var(--sf-lime);white-space:nowrap}
.sf-geo-pick{margin-top:var(--sp3)}
.sf-geo-pick a{color:var(--sf-lime)}
.sf-geo-fallback{color:#e9d7d7}

/* ---------- Tournament single ---------- */
.sf-tour-wrap .sf-single-aside{width:100%}
.sf-tour-hero-grid{display:grid;gap:var(--sp6);grid-template-columns:1fr auto;align-items:end}
.sf-tour-date-big{font-family:var(--sf-mono);font-size:34px;line-height:1;color:var(--sf-lime);letter-spacing:0}
.sf-tour-date-label{font-family:var(--sf-head);font-size:11px;letter-spacing:2px;color:#d7e2ee;margin-bottom:4px}
.sf-tour-body{padding-top:var(--sp6)}
.sf-tour-note{font-size:13px;color:#6c7d90;background:#f6f1e6;padding:var(--sp3) var(--sp4);border-radius:12px;margin-top:var(--sp4)}
.sf-other-tours{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp3);list-style:none;padding:0;margin:var(--sp4) 0 0}
.sf-tour-mini{background:#fff;border:var(--card-bd);border-radius:14px;padding:var(--sp3) var(--sp4);display:flex;flex-direction:column;gap:6px}
.sf-tour-mini-date{order:2;font-family:var(--sf-mono);font-size:12px;color:#8b9aad}
.sf-tour-mini b{order:1;font-family:var(--sf-head);font-size:15px;color:var(--sf-navy)}

/* status chip */
.sf-site-status-chip{display:inline-block;font-family:var(--sf-head);font-size:11px;font-weight:700;letter-spacing:.6px;padding:4px 10px;border-radius:999px;text-transform:uppercase}
.sf-site-status-chip.mo{background:var(--sf-lime);color:var(--sf-navy)}
.sf-site-status-chip.sap{background:#dbe1e8;color:#45586e}
.sf-site-status-chip.dang{background:var(--sf-coral);color:#fff}

/* ---------- Product single ---------- */
.sf-product-wrap{display:grid;gap:var(--sp8);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;padding:var(--sp12) 0}
.sf-product-media{position:relative}
.sf-product-img img,.sf-product-img .sf-thumb-fallback{border-radius:22px;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef2f6}
.sf-product-img-fallback{display:grid;place-items:center;aspect-ratio:4/3;border-radius:22px;background:var(--sf-cream);color:var(--sf-navy);font-family:var(--sf-head);font-weight:700;font-size:40px}
.sf-product-info.sticky-wrap{position:sticky;top:96px}
.sf-breadcrumb{font-family:var(--sf-head);font-size:12px;letter-spacing:1px;color:#8b9aad;margin-bottom:var(--sp3);display:flex;flex-wrap:wrap;gap:6px}
.sf-crumb{color:#8b9aad;text-decoration:none}
.sf-crumb:hover{color:var(--sf-navy)}
.sf-breadcrumb .sep{color:#c5d0dc}
.sf-brand-chip{display:inline-flex;align-items:center;gap:6px;background:#f2f5f8;border:1px solid transparent;padding:5px 12px;border-radius:999px;font-family:var(--sf-head);font-size:12px;letter-spacing:.6px;color:#31465e;margin-right:8px;font-weight:700}
.sf-price{font-family:var(--sf-mono)}
.sf-product-price{font-family:var(--sf-mono);font-size:clamp(30px,4vw,40px);color:var(--sf-navy);letter-spacing:.5px;margin:var(--sp3) 0 var(--sp4);display:block}
.sf-product-desc{color:#42536a;font-size:16px;line-height:1.8}
.sf-product-actions{margin:var(--sp6) 0 var(--sp2);display:flex;flex-direction:column;gap:var(--sp2)}
.sf-product-actions .sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;font-family:var(--sf-head);font-weight:700;font-size:15px}
.sf-gear-actions{display:flex;flex-direction:column;gap:var(--sp2)}
.sf-trust{display:flex;flex-wrap:wrap;gap:var(--sp2);margin-top:var(--sp4)}
.sf-trust .sf-trust-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(11,28,44,.1);border-radius:999px;font-size:12.5px;color:#45586e;background:#fff}
.sf-legal-note{font-size:12px;color:#7c8ca0;margin-top:var(--sp4);line-height:1.7}
.sf-product-related{margin-top:var(--sp12)}
.sf-product-related .sf-sec-head{margin-bottom:var(--sp4)}
.sf-gear-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp4)}
.sf-gear-card{background:#fff;border:var(--card-bd);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform 180ms var(--tr-ease),box-shadow 180ms var(--tr-ease)}
.sf-gear-card:hover{transform:translateY(-4px)}
.sf-gear-media{aspect-ratio:4/3;overflow:hidden;background:#eef2f6}
.sf-gear-media img{width:100%;height:100%;object-fit:cover}
.sf-gear-body{padding:var(--sp3) var(--sp4);flex:1;display:flex;flex-direction:column;gap:6px}
.sf-gear-name{font-family:var(--sf-head);font-weight:700;color:var(--sf-navy);font-size:15.5px;text-decoration:none}
.sf-gear-name:hover{color:var(--sf-coral)}
.sf-gear-price{font-family:var(--sf-mono);color:var(--sf-coral);font-size:15px;font-weight:600}

/* ---------- About ---------- */
.sf-about-pg{color:#42536a}
.sf-about-hero{background:linear-gradient(125deg,#0B1C2C 10%,#163a57 90%);color:#fff}
.sf-about-intro{font-size:clamp(18px,2.2vw,22px);line-height:1.75;color:#d9e4ef;max-width:780px;margin:var(--sp4) 0 0}
.sf-about-statement{font-family:var(--sf-head);font-size:clamp(15px,1.7vw,19px);color:var(--sf-coral);letter-spacing:.3px;margin:var(--sp6) 0 0;font-weight:700}
.sf-about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp3);margin-top:var(--sp8)}
.sf-stat{background:#fff;border:var(--card-bd);border-radius:16px;padding:var(--sp4);text-align:center}
.sf-num{font-family:var(--sf-mono);font-size:clamp(24px,4vw,34px);color:var(--sf-coral);letter-spacing:.5px;display:block}
.sf-about-num-label{font-family:var(--sf-head);font-size:12px;letter-spacing:1px;color:#5f7186;margin-top:4px;text-transform:uppercase}
.sf-about-values{display:grid;gap:var(--sp4)}
.sf-value-card{display:grid;grid-template-columns:auto 1fr;gap:var(--sp4);background:#fff;border-radius:16px;border:var(--card-bd);padding:var(--sp4)}
.sf-value-n{font-family:var(--sf-mono);color:var(--sf-lime);background:var(--sf-navy);border-radius:12px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:20px}
.sf-about-sports .sf-sport-card-tile{background:#fff}
.sf-about-sports .sf-sport-hero{background:transparent}
.sf-about-mission{display:flex;gap:var(--sp3)}
.sf-about-note{font-size:14px;color:#5f7186;font-style:italic}
.sf-about-roadmap{font-size:15px;color:#33445a}
.sf-about-roadmap b{color:var(--sf-navy)}
.sf-ctas-center{justify-content:center;display:flex;gap:var(--sp3);flex-wrap:wrap;margin-top:var(--sp4)}
.sf-cta-strip{background:var(--sf-coral);border-radius:22px;padding:var(--sp8) var(--sp6)}

/* ---------- Fact / brand ---------- */
.sf-fact + .sf-fact{margin-top:var(--sp2)}

/* ---------- CTA strip ---------- */
.sf-cta-h{font-family:var(--sf-head);font-size:clamp(22px,3.4vw,32px);color:var(--sf-navy);margin:0 0 6px}
.sf-cta-txt{color:#5f3850;max-width:560px;margin:0 0 var(--sp4)}
.sf-link-more .sf-ic{transition:transform 180ms var(--tr-ease)}
a.sf-link-more:hover .sf-ic{transform:translate(2px,-2px)}

/* ---------- Section gear/end mapping ---------- */
.sf-section-gear{background:#fff}
.sf-content .sf-with-sidebar{padding-top:var(--sp8)}
.sf-pagelinks{display:inline-flex;gap:var(--sp3);margin-top:var(--sp6);flex-wrap:wrap}

/* ---------- Animate chung mở/đóng ---------- */
.sf-anim-open{animation:sfPop 200ms var(--tr-ease)}
@keyframes sfPop{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
.sf-search-overlay{display:flex;align-items:flex-start;justify-content:center;padding:12vh 20px 40px}

/* overrides cho single post body map/bang trên mobile */
@media (max-width:900px){
	.sf-single-wrap{grid-template-columns:1fr}
	.sf-single-aside{order:2;padding-top:0}
	.sf-product-wrap{grid-template-columns:1fr}
	.sf-product-info.sticky-wrap{position:static}
	.sf-single-aside .sf-aside-card{position:static}
	.sf-other-tours{grid-template-columns:1fr}
	.sf-tour-hero-grid{grid-template-columns:1fr}
	.sf-tour-date-big{font-size:26px}
	.sf-gap-media-side{order:-1}
}
@media (max-width:760px){
	.sf-geo-btn{width:100%;justify-content:center}
	.sf-venue-facts{grid-template-columns:1fr}
	.sf-rel-thumb{flex-basis:84px;height:64px}
	.sf-about-values{grid-template-columns:1fr}
	.sf-hero-in{min-height:300px}
}
@media (min-width:901px){.sf-single-aside{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;padding-right:2px}}
/* --- Modal-grade refine (không đè cấu hình, chỉ thêm ease) --- */
.sf-search-overlay{opacity:1;transition:opacity 190ms var(--tr-ease)}
.sf-search-overlay[hidden]{opacity:0;pointer-events:none}
.sf-search-overlay .sf-search-panel{animation:none}
.sf-search-overlay.is-open .sf-search-panel{animation:sfPanelIn 200ms var(--tr-ease)}
@keyframes sfPanelIn{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}
.sf-sr{transition:background-color 150ms ease}
/* TOC dựng bằng JS (ol.sf-toc-list) */
.sf-toc-card>ol,.sf-toc-card ul{list-style:none;margin:0;padding:0}
#sf-toc{font-size:0}
#sf-toc a,#sf-toc .sf-toc-btn{font-size:13px}
#sf-toc ol{font-size:0}
#sf-toc a{display:flex;gap:6px;align-items:baseline;padding:6px 4px 6px 10px;border-left:2px solid transparent;color:#35506e;text-decoration:none;line-height:1.4;border-radius:0 8px 8px 0;transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease;font-size:13.5px}
#sf-toc a:hover{background:rgba(232,114,74,.07);color:var(--sf-navy)}
#sf-toc a.is-active{border-left-color:var(--sf-coral);color:var(--sf-navy);background:rgba(232,114,74,.06);font-weight:600}
#sf-toc li.is-active>a{color:var(--sf-navy)}
#sf-toc .sf-toc-sub a{font-size:12px;padding-left:22px;color:#5b6f86}
.sf-toc-open~*{--keep:0}
.sf-toc-more{margin-top:4px}
/* thu gọn khi >6 mục (JS thêm sf-toc-long + sf-toc-open khi nút class sf-toc-more bấm) */
.sf-toc-card.sf-toc-long:not(.sf-toc-open) #sf-toc{max-height:232px;overflow:hidden;position:relative}
.sf-toc-card.sf-toc-long:not(.sf-toc-open) #sf-toc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;background:linear-gradient(transparent,#fff);pointer-events:none}
.sf-toc-card.sf-toc-long .sf-toc-more{display:block;width:100%;margin-top:2px;background:none;border:1px solid #e4e9ef;border-radius:8px;padding:7px;font-family:var(--sf-head);font-weight:700;color:var(--sf-navy);cursor:pointer;transition:background-color 150ms ease}
.sf-toc-card.sf-toc-long .sf-toc-more:hover{background:rgba(11,28,44,.05)}

/* Source: sportify-v8.css */
/* =========================================================
   ===  V8 — neutral eyebrow, brand-marquee, dynamic sports,
   tour-feat 2col, register CTA, news single sidebar order,
   end-of-post find-court + live-tour ticker + spacing rhythm
   ========================================================= */
/* 1) Bỏ màu cam trang trí trên eyebrow/kicker -> slate trung tính
   (vẫn giữ lime accent trong hero navy; giữ coral ở CTA/status/icon). */
.sf-kicker{color:#5b6f86 !important}
.sf-hero .sf-kicker,.sf-hero-in .sf-kicker,.sf-single-hero .sf-kicker{color:var(--sf-lime) !important}
.sf-sec-head .sf-kicker,.sf-section .sf-kicker{color:#5b6f86 !important}
:is(.sf-sport-card-name,.sf-sec-head,.sf-news-band) .sf-kicker{color:#5b6f86}
.sf-tour-item .sf-kicker,.sf-product .sf-kicker,.sf-about-pg .sf-kicker{color:#5b6f86 !important}

/* Eyebrow .sf-eyebrow / overline "… / NEWS+GEAR" slate */
.sf-eyebrow,.sf-ev{color:#52647b !important}
.sf-sport-band .sf-overline,.sf-news-overline,.sf-band-overline{color:#4f627a !important}

/* 2) Brand strip (phía dưới hero) */
.sf-brand-strip{background:var(--sf-cream);border-top:1px solid rgba(11,28,44,.05);border-bottom:1px solid rgba(11,28,44,.05);overflow:hidden}
.sf-brand-strip-in{margin:0 auto} /* max handled via parent layout */
.sf-brand-track{display:flex;gap:14px;width:max-content;animation:sfTrackX 34s linear infinite;padding:14px 20px}
.sf-brand-track:hover{animation-play-state:paused}
.sf-brand-group{display:flex;gap:14px;flex:0 0 auto}
.sf-brand-box{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;background:#fff;border:1px solid rgba(11,28,44,.09);border-radius:12px;padding:7px 16px;color:var(--sf-navy);font-family:var(--sf-head);font-weight:700;font-size:14px;letter-spacing:.2px;text-decoration:none;transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.sf-brand-box:hover{background:#fff;box-shadow:0 6px 18px rgba(11,28,44,.1);transform:translateY(-1px)}
.sf-brand-name{display:inline-block}
.sf-brand-arrow{color:var(--sf-coral);display:inline-flex;margin-left:auto}
@keyframes sfTrackX{to{transform:translateX(-50%)}}

/* 3) Dẫn động môn (home 'chọn nhịp' mới) — thêm trong các tùy chọn */
.sf-sportsband{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp4)}

/* 4) 'Sắp diễn ra' featured — 2 cột */
.sf-tour-feat{display:grid;grid-template-columns:minmax(0,58%) minmax(0,42%);gap:0;background:#fff;border-radius:22px;overflow:hidden;border:var(--card-bd);box-shadow:0 16px 40px rgba(11,28,44,.06)}
.sf-tour-feat-media{position:relative;min-height:320px}
.sf-tour-feat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sf-tour-feat-media .sf-thumb-fallback,.sf-tour-feat-media .sf-noimg{position:absolute;inset:12px;border-radius:16px}
.sf-tour-feat-body{display:flex;flex-direction:column;justify-content:center;padding:var(--sp6);gap:var(--sp3)}
.sf-tour-feat-top{color:#7c8ca0;font-family:var(--sf-mono);font-size:12px;letter-spacing:1px}
.sf-tour-feat-body h3{font-family:var(--sf-head);font-size:clamp(21px,3vw,30px);line-height:1.12;color:var(--sf-navy);margin:0}
.sf-tour-feat-city{font-size:14px;color:#42536a}
.sf-fact-inline{display:inline-flex;align-items:center;gap:6px}
.sf-tour-feat-facts .sf-fig,.sf-tour-feat-facts{font-family:var(--sf-mono);color:var(--sf-coral)}
.sf-tour-feat-links{display:flex;flex-wrap:wrap;gap:var(--sp2);margin-top:var(--sp2)}

/* 5) Giải single (+ nút đăng ký) */
.sf-tour-hero{background:linear-gradient(115deg,#0B1C2C 4%,#123a5c 78%);position:relative;overflow:hidden;color:#fff}
.sf-tour-hero .sf-hero-media-abs img{opacity:.4}
.sf-tour-eyebrow,.sf-tour-kicker{color:var(--sf-lime) !important}
.sf-tour-hero .sf-tour-date-big{color:var(--sf-lime)}
.sf-register-gap{height:var(--sp2)}
.sf-signup-btn{display:inline-flex;gap:10px;justify-content:center;align-items:center;width:100%;background:var(--sf-coral);color:#fff;border:none;border-radius:12px;padding:15px 20px;font-family:var(--sf-head);font-weight:800;font-size:16px;cursor:pointer;text-decoration:none;transition:box-shadow 180ms ease,transform 180ms ease}
.sf-signup-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(232,114,74,.35)}
.sf-note-empty-reg{font-size:12.5px;color:#6b7c8f;line-height:1.6}

/* 6) Sidebar tin đúng thứ tự — Mục lục / Sản phẩm đề xuất / Câu chuyện / Đọc nhất / Danh mục môn, share ở dưới */
.sf-aside-title{font-family:var(--sf-head);color:var(--sf-navy);letter-spacing:1.5px}
.sf-prod-card .sf-sug-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp3)}
.sf-sug-item{display:flex;gap:var(--sp3);align-items:center}
.sf-sug-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:12px;overflow:hidden;background:#eef2f6;text-decoration:none}
.sf-sug-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sf-sug-mid{display:flex;flex-direction:column;gap:2px;min-width:0}
.sf-sug-mid a{font-family:var(--sf-head);font-size:13.5px;line-height:1.4;color:var(--sf-navy);font-weight:600;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sf-sug-mid a:hover{color:var(--sf-coral)}
.sf-sug-mid .sf-fig,.sf-sug-mid .sf-price{font-family:var(--sf-mono);color:var(--sf-coral);font-size:12.5px}
/* đọc nhiều */
.sf-hot-list{list-style:none;margin:0;padding:0;counter-reset:hot}
.sf-hot-item{display:grid;grid-template-columns:26px 1fr;gap:var(--sp2);padding:var(--sp2) 0;border-bottom:1px solid rgba(11,28,44,.07)}
.sf-hot-item:last-child{border-bottom:0}
.sf-hot-n{font-family:var(--sf-mono);color:var(--sf-coral);font-size:12px;padding-top:2px}
.sf-hot-title{margin:0}
.sf-hot-title a{font-family:var(--sf-head);font-size:13.5px;line-height:1.4;color:var(--sf-navy);font-weight:600;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sf-hot-title a:hover{color:var(--sf-coral)}
.sf-hot-date{font-family:var(--sf-mono);color:#98a7b8;font-size:11px;display:block;margin-top:3px}
/* danh mục môn pills */
.sf-sport-pillwrap{display:flex;flex-wrap:wrap;gap:8px}
.sf-sport-pill{background:rgba(11,28,44,.05);border-radius:999px;padding:6px 13px;font-family:var(--sf-head);font-size:12.5px;font-weight:600;color:var(--sf-navy);text-decoration:none;transition:background-color 180ms ease,color 180ms ease}
.sf-sport-pill:hover{background:var(--sf-lime);color:var(--sf-navy)}
.sf-sport-pill-more{background:#0B1C2C;color:#fff}
.sf-sport-pill-more:hover{background:var(--sf-coral);color:#fff}
/* share card dưới cùng */
.sf-share-card{border:1px dashed rgba(11,28,44,.18)}

/* 7) End of post — Tìm sân */
.sf-findcourt{margin-top:var(--sp8);background:#fbf6ec;border:1px solid rgba(232,114,74,.28);border-radius:20px;padding:var(--sp6)}
.sf-findcourt-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp3);flex-wrap:wrap}
.sf-findcourt-head h3{font-family:var(--sf-head);color:var(--sf-navy);font-size:clamp(18px,3vw,24px);margin:0;display:inline-flex;align-items:center;gap:8px}
.sf-findcourt-head h3 .sf-findcourt-ic{color:var(--sf-coral)}
.sf-findcourt-list{list-style:none;margin:var(--sp4) 0 0;padding:0;display:grid;gap:var(--sp2)}
.sf-findcourt-row{display:flex;align-items:center;gap:var(--sp3);background:#fff;border-radius:12px;padding:var(--sp2) var(--sp3);text-decoration:none;transition:background-color 180ms ease,transform 180ms ease}
.sf-findcourt-row:hover{background:#fff;transform:translateX(3px)}
.sf-findcourt-row .sf-ic{color:var(--sf-coral)}
.sf-findcourt-t{font-family:var(--sf-head);font-weight:700;color:var(--sf-navy);font-size:15px}
.sf-findcourt-row small{color:#7c8ca0;font-family:var(--sf-mono);font-size:12px}
.sf-findcourt-title{margin-left:auto;display:flex;align-items:center;gap:10px}
.sf-findcourt-go{color:var(--sf-coral)}
.sf-findcourt h3+.sf-findcourt-title{}
/* 8) Marquee 'Giải đấu đang diễn ra' — pause on hover để click */
.sf-live-tour{margin-top:var(--sp6);overflow:hidden;position:relative}
.sf-live-tour-head{display:flex;align-items:center;gap:10px;font-family:var(--sf-head);font-weight:700;font-size:15px;color:var(--sf-navy);margin:0 0 var(--sp3)}
circle.sf-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--sf-coral);margin-right:6px;animation:sfBlink 1.5s infinite}
@keyframes sfBlink{50%{opacity:.25}}
.sf-live-track{overflow:hidden;display:flex;pointer-events:none}
.sf-live-track-inner{display:flex;width:max-content;gap:12px;animation:sfLiveX 30s linear infinite}
.sf-live-tour:hover .sf-live-track-inner{animation-play-state:paused}
.sf-live-track-inner>*{pointer-events:auto}
.sf-live-chip{display:inline-flex;flex-direction:column;gap:4px;background:#fff;border:1px solid rgba(11,28,44,.08);border-radius:14px;padding:10px 16px;min-width:230px;text-decoration:none;transition:background-color 180ms ease,box-shadow 180ms ease}
.sf-live-chip:hover{box-shadow:0 8px 20px rgba(11,28,44,.08);background:#fdfaf3}
.sf-live-chip b{font-family:var(--sf-head);color:var(--sf-navy);font-size:14.5px;line-height:1.3}
.sf-live-chip small{font-family:var(--sf-mono);color:var(--sf-coral);font-size:11.5px}
.sf-live-chip .sf-live-city{color:#7c8ca0;font-family:var(--sf-body);font-size:12px}
@keyframes sfLiveX{to{transform:translateX(-50%)}}
.sf-live-hint{font-family:var(--sf-mono);font-size:12.5px;color:#516879;margin-top:var(--sp3)}

/* 9) Spacing tiết giữa các section — đồng bộ & khít hơn */
.sf-front .sf-section,.sf-section{--sec-y:clamp(30px,5vw,54px)}
.sf-section{padding-top:var(--sec-y);padding-bottom:var(--sec-y)}
.sf-hero{padding-bottom:0}
.sf-brand-strip{margin-top:var(--sf1)}
h2 .sf-section-head{margin-bottom:var(--sp4)}
.sf-sport-cta-row{margin-bottom:0}
/* compact hero band sau cùng gọn lại */
.sf-hero-ctas{margin-top:var(--sp4)}

@media (max-width:900px){
	.sf-tour-feat{grid-template-columns:1fr}
	.sf-tour-feat-media{min-height:220px}
	.sf-tour-feat-media img{position:relative;aspect-ratio:16/10}
	.sf-tour-feat-body{padding:var(--sp4)}
}
@media (max-width:600px){
	.sf-brand-box{font-size:13px;padding:6px 12px;border-radius:10px}
	.sf-live-tour-track,.sf-live-chip{min-width:180px}
	.sf-findcourt-head{flex-direction:column;align-items:flex-start}
}
/* Eyebrow mới — loại bỏ cam trang trí */
.sf-sec-tag{display:inline-block;font-family:var(--sf-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#5b6f86;margin:0 0 6px}
.sf-sec-head .sf-sec-tag,.sf-front .sf-sec-tag{color:#5b6f86 !important}
/* live giải đang diễn ra: avatar minh + tiêu đề */
.sf-live-thumb{width:52px;height:44px;border-radius:10px;overflow:hidden;flex:none;display:block}
.sf-live-thumb img,.sf-live-thumb .sf-thumb-fallback,.sf-live-thumb .sf-noimg{width:100%;height:100%;object-fit:cover;display:block;background:#eef2f6}
/* chip ticker chi tiết tin tức: hình + tiêu đề nằm ngang, pause khi hover */
.sf-live-chip{flex-direction:row;align-items:center;gap:12px;min-width:280px;max-width:300px}
.sf-live-thumb{width:64px;height:58px;flex:none;border-radius:11px;overflow:hidden;background:#eef2f6}
.sf-live-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sf-live-thumb-ph{background:linear-gradient(135deg,#0B1C2C,#123a5c)}
.sf-live-txt{display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0}
.sf-live-txt strong{white-space:normal;line-height:1.3}
.sf-live-chip:hover{box-shadow:0 8px 20px rgba(11,28,44,.1);transform:translateY(-1px)}
.sf-live-track-inner{animation:sfLiveX 32s linear infinite}
@media (max-width:600px){.sf-live-chip{min-width:230px}.sf-live-thumb{width:50px;height:46px}}
/* seamless: gap nằm trong group, track không gap ngang */
.sf-brand-track{gap:0}
.sf-brand-group{display:inline-flex;gap:14px;padding-right:14px}
.sf-live-track-inner{gap:0}
.sf-live-group{display:inline-flex;gap:12px;padding-right:12px}

/* Source: sportify-v9.css */
/* =========================================================
   === V9 — editorial + mobile refinements
   - Magazine news single (featured image detached + uniform 24px,
     author byline chip under image, breadcrumb on top).
   - Breadcrumb thành phần dùng chung .sf-crumbrow (light/dark).
   - Mobile nav: robust slide-out right + scrim + close + aria.
   - Share row: equal 48px square buttons; .sf-copied [hidden] bảo vệ.
   - Sidebar single post: hết cuộn trong — static, show đủ nội dung.
   - TOC mobile: mục lục trong panel, link to chạm ≥40px.
   - single-sf_sport: editorial "mới nhất" card của môn.
   V9 CSS — nối tiếp sau sportify-v8.css (được enqueue cuối).
   ========================================================= */

/* ---------- 1) Breadcrumb (chung, sáng + tối tự nhiên) ---------- */
.sf-crumbrow{
	display:flex; align-items:center; flex-wrap:wrap; gap:6px;
	font-family:var(--sf-head); font-size:12px; letter-spacing:.5px;
	color:#8b9aad; margin:0 0 var(--sp2);
}
.sf-crumbrow a.sf-crumb{color:#8b9aad; text-decoration:none; transition:color 180ms ease}
.sf-crumbrow a.sf-crumb:hover{color:var(--sf-navy)}
.sf-crumb-sep{color:#c5d0dc; pointer-events:none}
.sf-crumb-here{color:#52647b; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:60vw}
.sf-crumb-here[aria-current="page"]{font-weight:600}
/* Breadcrumb trên nền tối (hero navy / sport / tour / venue) */
.sf-hero .sf-crumbrow, .sf-hero-in .sf-crumbrow,
.sf-venue-hero .sf-crumbrow, .sf-tour-hero .sf-crumbrow,
.sf-sport-hero .sf-crumbrow{color:#b7c6d6}
.sf-hero .sf-crumbrow a.sf-crumb,
.sf-hero-in .sf-crumbrow a.sf-crumb,
.sf-venue-hero .sf-crumbrow a.sf-crumb,
.sf-tour-hero .sf-crumbrow a.sf-crumb,
.sf-sport-hero .sf-crumbrow a.sf-crumb{color:#c3d0de}
.sf-hero .sf-crumbrow a.sf-crumb:hover,
.sf-hero-in .sf-crumbrow a.sf-crumb:hover,
.sf-venue-hero .sf-crumbrow a.sf-crumb:hover,
.sf-tour-hero .sf-crumbrow a.sf-crumb:hover,
.sf-sport-hero .sf-crumbrow a.sf-crumb:hover{color:#fff}
.sf-hero .sf-crumb-sep,
.sf-hero-in .sf-crumb-sep,
.sf-venue-hero .sf-crumb-sep,
.sf-tour-hero .sf-crumb-sep,
.sf-sport-hero .sf-crumb-sep{color:#5f7186}
.sf-hero .sf-crumb-here,
.sf-hero-in .sf-crumb-here,
.sf-venue-hero .sf-crumb-here,
.sf-tour-hero .sf-crumb-here,
.sf-sport-hero .sf-crumb-here{color:#e8eef6}
/* Lớp cũ trên trang product hiện vẫn đi qua helper */
.sf-breadcrumb.sf-anim-open{padding-top:var(--sp6)}

/* ---------- 2) News single — magazine header + figure + byline ---------- */
.sf-single-thumbwrap{max-width:1060px}
.sf-single-thumbwrap .sf-single-herofigure{
	/* Tách hẳn khỏi band navy: hở trắng phía trên, bo đều 24, không viền kính. */
	margin:var(--sp8) 0 0; overflow:hidden; border-radius:24px;
	background:var(--sf-cream); line-height:0;
}
.sf-single-thumbwrap .sf-single-herofigure img{
	width:100%; height:auto; object-fit:cover; display:block;
	border-radius:0; max-height:none; aspect-ratio:auto;
}
.sf-single-thumbwrap .sf-single-covercap{
	margin:0; padding:10px 16px 14px; font-size:13px; color:#7c8ca0;
	background:#fff; line-height:1.5; text-align:left;
}
.sf-single-byline{
	display:flex; align-items:center; flex-wrap:wrap;
	gap:var(--sp2) var(--sp3); margin:var(--sp6) 0 var(--sp3);
	padding:var(--sp3) var(--sp4); background:#fff;
	border:1px solid rgba(11,28,44,.08); border-radius:16px;
}
.sf-single-byline .sf-av-ini{width:42px; height:42px; font-size:15px; flex:none}
.sf-byline-txt{display:flex; flex-direction:column; line-height:1.25; min-width:0}
.sf-byline-label{font-family:var(--sf-mono); font-size:10px; letter-spacing:.16em; color:#8b9aad; text-transform:uppercase}
.sf-byline-name{font-family:var(--sf-head); color:var(--sf-navy); font-size:14px; font-weight:700}
.sf-byline-sep{width:1px; height:22px; background:rgba(11,28,44,.12)}
.sf-byline-meta{font-family:var(--sf-mono); color:#66788c; font-size:12px}
.sf-byline-meta em{font-style:italic}

/* ---------- 3) Mobile nav — rebuild: slide from right đơn giản ---------- */
.sf-mobile-nav{
	position:fixed; top:0; right:0; bottom:0; z-index:120;
	width:min(340px,88vw); background:var(--sf-navy); color:#e8eef6;
	padding:0; margin:0; border-left:1px solid rgba(255,255,255,.12);
	transform:translateX(100%); visibility:hidden;
	opacity:0; overflow:hidden;
	transition:transform 260ms var(--tr-ease), opacity 220ms ease, visibility 0s linear 300ms;
	display:block;
	/* V22b: khi đóng không nhận click; khi mở mới bật pointer-events */
	pointer-events:none;
}
.sf-mobile-nav[hidden]{display:none}
.sf-mobile-nav.is-open{
	transform:translateX(0); opacity:1; visibility:visible;
	transition:transform 260ms var(--tr-ease), opacity 220ms ease;
	animation:none;
	pointer-events:auto;
}
/* V22b: ép menu nằm TRÊN scrim, dưới search overlay; luôn 1 nguồn CSS duy nhất */
.sf-mobile-nav, .sf-mobile-nav.is-open{display:block}
@media (min-width:769px){ .sf-mobile-nav, .sf-mobile-nav.is-open{display:none!important} }
/* V22d — FIX stacking context: .sf-header có position:sticky z-index:99 nên tạo
   stacking context RIÊNG; .sf-mobile-nav (z-index:120) chỉ có tác dụng bên trong
   header. Scrim nằm ở <body> (z-index:115) sẽ ĐÈ LÊN menu => menu mờ & không
   click được. Giải: hạ scrim xuống dưới header (z-index:90). */
.sf-mobile-scrim{
	position:fixed; inset:0; z-index:90; background:rgba(6,16,27,.55);
	-webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.sf-mobile-scrim[hidden]{display:none}
.sf-mobile-inner{
	height:100%; overflow-y:auto; overscroll-behavior:contain;
	padding:calc(48px + env(safe-area-inset-top,0px)) 20px 44px;
	display:flex; flex-direction:column; gap:var(--sp2);
}
.sf-mobile-close{
	position:absolute; top:12px; right:14px; z-index:2;
	width:40px; height:40px; border:none; border-radius:12px; cursor:pointer;
	background:rgba(255,255,255,.08); color:#fff; font-size:18px; line-height:1;
	display:inline-flex; align-items:center; justify-content:center;
	transition:background-color 180ms ease;
}
.sf-mobile-close:hover{background:var(--sf-lime); color:var(--sf-navy)}
.sf-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sf-burger.is-open span:nth-child(2){opacity:0}
.sf-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.sf-burger span{display:block; width:22px; height:2px; margin:0; transition:transform 200ms var(--tr-ease), opacity 180ms ease}
/* Menu con (kể cả .sf-dd của dropdown môn, hoặc .sub-menu của wp_nav_menu) luôn mở tầng sâu */
.sf-mobile-nav .sf-mobile-inner .sf-nav-list{display:block}
.sf-mobile-nav .sf-nav-list{list-style:none; margin:0; padding:0}
.sf-mobile-nav .sf-nav-list>li{margin:0; border-bottom:1px solid rgba(255,255,255,.07)}
.sf-mobile-nav .sf-nav-list a{
	display:flex; align-items:center; min-height:44px;
	padding:12px 6px; font-size:14px; letter-spacing:.4px;
	color:#e8eef6; text-decoration:none; gap:10px;
}
.sf-mobile-nav .sf-nav-list a:hover,
.sf-mobile-nav .sf-nav-list li.current-menu-item>a,
.sf-mobile-nav .sf-nav-list li.current_page_item>a{color:var(--sf-lime)}
.sf-mobile-nav .sf-nav-list li.has-child>.sf-dd,
.sf-mobile-nav .sf-nav-list .sub-menu{
	position:static; visibility:visible; opacity:1; 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 12px; background:transparent;
	display:block; list-style:none;
}
.sf-mobile-nav .sf-nav-list li.has-child>.sf-dd a,
.sf-mobile-nav .sf-nav-list .sub-menu a{
	min-height:40px; padding:9px 6px; font-size:13px; color:#c3d0de;
}
.sf-mobile-nav .sf-nav-list li.has-child>.sf-dd a:hover,
.sf-mobile-nav .sf-nav-list .sub-menu a:hover{color:#fff}

/* ---------- 4) Share row — nút đều 48px vuông bo 12, message sạch ---------- */
.sf-sn-row{display:flex; flex-wrap:wrap; gap:var(--sp2)}
.sf-sn-row .sf-sn,
.sf-sn-row button.sf-sn{
	width:48px; height:48px; padding:0; box-sizing:border-box;
	flex:0 0 48px; justify-content:center; align-items:center;
	border-radius:12px; font-size:18px;
}
.sf-sn-row .sf-sn svg,
.sf-sn-row button.sf-sn svg{width:19px; height:19px}
.sf-copied[hidden]{display:none!important}
.sf-copied{font-size:12.5px; color:#0e8f4b; display:inline-flex}

/* ---------- 5) Sidebar single news — hiện HẾT không cuộn trong ---------- */
.sf-single-wrap>.sf-single-aside{
	position:static; top:auto; align-self:auto;
	max-height:none; height:auto; padding-right:0;
}
@media (min-width:901px){
	.sf-single-wrap>.sf-single-aside{position:static}
}
/* mobile: sidebar vẫn đặt dưới bài (order 2) — v7 đã lo phần này, ta nhấn giữ */
@media (max-width:900px){
	.sf-single-wrap>.sf-single-aside{order:2; position:static}
}

/* ---------- 6) TOC card — thoáng & to chạm trên mobile ---------- */
.sf-toc-card{background:#f7f5f1}
.sf-toc-card>details>summary{list-style:none; cursor:pointer}
.sf-toc-card>details>summary::-webkit-details-marker{display:none}
.sf-toc-card details[open] .sf-aside-title::after,
.sf-toc-card details:not([open]) .sf-aside-title::after{background:rgba(11,28,44,.1)}
#sf-toc{font-size:0; display:flex; flex-direction:column; gap:2px; margin:0}
#sf-toc>ol, #sf-toc ol, #sf-toc ul, #sf-toc li{list-style:none; margin:0; padding:0; display:block}
#sf-toc ol{display:flex; flex-direction:column; gap:1px}
#sf-toc a{
	font-size:13.5px; padding:6px 12px; min-height:40px; align-items:center;
	box-sizing:border-box; line-height:1.3;
}
.sf-toc-card.sf-toc-long:not(.sf-toc-open) #sf-toc{max-height:200px}
.sf-toc-more{min-height:40px; font-size:12.5px}
@media (max-width:768px){
	.sf-toc-card{position:static; margin-left:0; width:100%}
	#sf-toc a{font-size:14.5px; min-height:44px}
}

/* ---------- 7) single-sf_sport — editorial card bài mới nhất (nếu có) ---------- */
.sf-latest-editorial{padding-top:var(--sp6); padding-bottom:var(--sp6)}
.sf-latest-card{
	display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
	gap:0; background:#fff; border:1px solid rgba(11,28,44,.08);
	border-radius:22px; overflow:hidden; box-shadow:0 16px 40px rgba(11,28,44,.07);
}
.sf-latest-media{display:block; position:relative; min-height:280px; background:var(--sf-cream)}
.sf-latest-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.sf-latest-body{display:flex; flex-direction:column; gap:var(--sp3); justify-content:center; padding:var(--sp6)}
.sf-latest-kicker{margin:0}
.sf-latest-kicker .sf-num{color:var(--sf-lime)}
.sf-latest-meta{font-family:var(--sf-mono); color:var(--sf-coral); font-size:12px; letter-spacing:.4px; margin:0}
.sf-latest-title{margin:0}
.sf-latest-title a{font-family:var(--sf-head); font-size:clamp(21px,3.2vw,30px); line-height:1.15; color:var(--sf-navy); text-decoration:none}
.sf-latest-title a:hover{color:var(--sf-coral)}
.sf-latest-ex{color:#42536a; line-height:1.65; font-size:15px; margin:0}
.sf-latest-body .sf-btn{align-self:flex-start}
@media (max-width:820px){
	.sf-latest-card{grid-template-columns:1fr}
	.sf-latest-media{min-height:0; aspect-ratio:16/9}
	.sf-latest-media img{position:relative; aspect-ratio:16/9}
	.sf-latest-body{padding:var(--sp5,20px)}
}

/* ---------- V22b — Logo ảnh trong header ---------- */
.sf-logo{display:inline-flex; align-items:center; gap:10px}
.sf-logo .sf-logo-img,
.sf-logo img.sf-logo-img{
	display:block; height:38px; width:auto; max-width:min(200px,46vw);
	object-fit:contain;
}
@media (max-width:768px){
	.sf-logo .sf-logo-img,
	.sf-logo img.sf-logo-img{height:32px; max-width:min(160px,44vw)}
}

/* ---------- V22b — Archive tin tức (/tin-tuc/, /sports/{môn}/tin-tuc/) ---------- */
.sf-news-archive .sf-card-sport .sf-card-kick{
	display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px;
}
.sf-news-archive .sf-card-kick .sf-read{
	font-family:var(--sf-mono); font-size:11.5px; color:#66788c; letter-spacing:.3px;
}
.sf-news-archive .sf-card-title{font-size:17px; line-height:1.3; margin:0 0 6px}
.sf-news-archive .sf-card-meta{
	color:#5a6b7d; font-size:13.5px; line-height:1.55; margin:0;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.sf-news-archive .sf-filters{margin-bottom:var(--sp4,24px)}
.sf-news-archive .sf-filters .sf-pill[href]{text-decoration:none}
.sf-news-archive .sf-empty-state .sf-btn{margin-top:var(--sp2,8px)}

/* ---------- V22d — Nút Tài khoản ở header ---------- */
.sf-header-actions{display:flex; align-items:center; gap:8px}
.sf-account-btn{
	display:inline-flex; align-items:center; gap:8px;
	min-height:40px; padding:9px 14px; border-radius:10px;
	border:1px solid rgba(255,255,255,.22); background:transparent;
	color:#fff; text-decoration:none; white-space:nowrap;
	font-family:var(--sf-font); font-size:12px; font-weight:600; letter-spacing:1.1px;
	transition:background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.sf-account-btn:hover,
.sf-account-btn:focus-visible{
	background:var(--sf-lime); border-color:var(--sf-lime); color:var(--sf-navy);
}
.sf-account-btn.is-logged-in{border-color:rgba(200,240,0,.55); color:var(--sf-lime)}
.sf-account-btn.is-logged-in:hover{background:var(--sf-lime); color:var(--sf-navy)}
.sf-acc-ico{display:inline-flex; align-items:center; justify-content:center; line-height:0}
.sf-acc-ico svg{display:block}
@media (max-width:768px){
	.sf-acc-label{display:none}
	.sf-account-btn{padding:9px 11px; min-height:38px}
}

/* ---------- V22d — Liên hệ ở footer ---------- */
.sf-footer-contact li a{display:inline-flex; align-items:center; gap:8px; line-height:1.5}
.sf-fc-ico{display:inline-flex; align-items:center; justify-content:center; line-height:0; flex:0 0 auto; opacity:.85}
.sf-fc-ico svg{display:block}
.sf-footer-contact li a:hover .sf-fc-ico{opacity:1}
.sf-socials{display:flex; flex-wrap:wrap; gap:8px}
.sf-socials a{
	display:inline-block; padding:6px 11px; border-radius:999px;
	border:1px solid rgba(255,255,255,.18); color:#e8eef6;
	font-size:12px; letter-spacing:.4px; text-decoration:none;
	transition:background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sf-socials a:hover,.sf-socials a:focus-visible{
	background:var(--sf-lime); border-color:var(--sf-lime); color:var(--sf-navy);
}
.sf-socials-empty{color:#93a2b3; font-size:13px; margin:0}
.sf-footer-brand .sf-logo .sf-logo-img{height:34px; max-width:180px}

/* Source: sportify-v10.css */
/* =========================================================
   === V10 — Trang môn thể thao (taxonomy sf_sport_tax)
   URL đẹp /the-thao/{slug}/. Chỉ bổ sung ghi đè cho trang taxonomy:
   hero + chip môn, đoạn mô tả term (intro), hai mục Giải đấu / Tin tức.
   Nền tảng card tái dùng .sf-card-sport / .sf-grid / .sf-sec-head có sẵn.
   File này được enqueue SAU sportify-v9.css; KHÔNG sửa css cũ.
   ========================================================= */

/* ---------- 1) Hero trang môn ---------- */
.sf-tax-hero{
	position:relative;
	overflow:hidden;
}
.sf-tax-hero::after{
	content:"";
	position:absolute;
	right:-120px; top:-120px;
	width:340px; height:340px;
	border-radius:50%;
	background:var(--sf-tax-accent,var(--sf-lime));
	opacity:.12;
	pointer-events:none;
}
.sf-tax-hero .sf-container{position:relative; z-index:1}

/* Chip môn (kế thừa .sf-pill nhưng là span, không phải nút bấm) */
.sf-tax-chip{
	display:inline-block;
	border:none;
	font-family:var(--sf-mono);
	font-size:11px;
	letter-spacing:.16em;
	padding:6px 14px;
	border-radius:30px;
	margin:0 0 var(--sp2);
	cursor:default;
}

/* Kicker + H1 riêng trang môn: không cho H1 giãn quá rộng */
.sf-tax-hero h1{
	max-width:900px;
	margin:0 0 var(--sp3);
}
.sf-tax-hero .sf-kicker{color:var(--sf-lime)}

/* Đoạn mô tả term (native Description) dưới H1 */
.sf-tax-intro{
	max-width:760px;
	color:#c8d4e0;
	font-size:15.5px;
	line-height:1.7;
	margin-top:var(--sp3);
}
.sf-tax-intro p{margin:0 0 var(--sp3)}
.sf-tax-intro p:last-child{margin-bottom:0}
.sf-tax-intro a{color:var(--sf-lime);text-decoration:underline}
.sf-tax-intro strong{color:#fff}

/* ---------- 2) Hai mục Giải đấu / Tin tức ---------- */
.sf-tax-tours .sf-sec-head,
.sf-tax-news .sf-sec-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:var(--sp4);
	flex-wrap:wrap;
	margin-bottom:var(--sp6);
}
.sf-tax-news .sf-h2{color:var(--sf-navy)}
.sf-tax-news .sf-card-sport{background:#fff}
.sf-tax-tours .sf-empty-state,
.sf-tax-news .sf-empty-state{margin:0}

/* ---------- 3) Mobile ---------- */
@media (max-width:768px){
	.sf-tax-hero h1{font-size:clamp(26px,7vw,34px);line-height:1.15}
	.sf-tax-intro{font-size:15px}
	.sf-tax-tours .sf-sec-head,
	.sf-tax-news .sf-sec-head{align-items:flex-start}
	.sf-tax-hero::after{width:220px;height:220px;right:-90px;top:-90px}
}

/* Source: sportify-v11.css */
/* =========================================================
   === V11 — Archive môn theo ngữ cảnh cho từng CPT
   URL: /events/{môn}/ · /tournaments/{môn}/ · /players/{môn}/ · /venues/{môn}/
   Chỉ bổ sung phần cần thiết cho hero archive + hàng pill môn + tinh chỉnh card.
   Nền tảng .sf-hero / .sf-filters / .sf-pill / .sf-grid / .sf-card-sport
   đã có sẵn trong sportify.css — KHÔNG sửa css cũ.
   File này được enqueue SAU sportify-v10.css.
   ========================================================= */

/* ---------- 1) Hero archive theo ngữ cảnh ---------- */
.sf-v11-hero{
	position:relative;
	overflow:hidden;
}
.sf-v11-hero::after{
	content:"";
	position:absolute;
	right:-120px;
	top:-120px;
	width:320px;
	height:320px;
	border-radius:50%;
	background:var(--sf-lime);
	opacity:.10;
	pointer-events:none;
}
.sf-v11-hero .sf-container{position:relative;z-index:1}
.sf-v11-hero h1{max-width:900px;margin:0 0 var(--sp3)}
.sf-v11-hero .sf-kicker{color:var(--sf-lime)}

/* ---------- 2) Hàng pill môn trên archive ---------- */
.sf-v11-archive .sf-filters{
	margin-bottom:var(--sp6);
}
.sf-v11-archive .sf-pill{
	white-space:nowrap;
}

/* ---------- 3) Tinh chỉnh card (không đổi cấu trúc) ---------- */
.sf-v11-archive .sf-card-body{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:6px;
}
.sf-v11-archive .sf-card-body .sf-btn{
	margin-top:auto;
}
.sf-v11-archive .sf-pagination,
.sf-v11-archive .navigation.pagination{
	margin-top:var(--sp6);
}
.sf-v11-archive .sf-empty-state{
	margin:0 0 var(--sp6);
}

/* ---------- 4) Mobile ---------- */
@media (max-width:768px){
	.sf-v11-hero h1{font-size:clamp(26px,7vw,34px);line-height:1.15}
	.sf-v11-hero::after{width:200px;height:200px;right:-80px;top:-80px}
	.sf-v11-archive .sf-filters{gap:8px}
}

/* Source: sportify-v12.css */
/* =========================================================
   SportifyVN — sportify-v12.css
   Redesign trang Địa điểm / Sân (archive-sf_venue.php).
   Chỉ thêm mới — KHÔNG sửa v10 trở xuống.
   Tận dụng biến :root (--sf-navy/--sf-lime/--sf-coral/--sf-mono/--sf-head/--sf-body).
   ========================================================= */

/* ---------- HERO 2 trạng thái ---------- */
.sfv-hero{min-height:320px;display:flex;align-items:center;color:#fff;position:relative;background-size:cover;background-position:center}
.sfv-hero-in{position:relative;z-index:2;padding-top:56px;padding-bottom:56px}
.sfv-crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:rgba(255,255,255,.8);margin-bottom:14px}
.sfv-crumb a{color:rgba(255,255,255,.8);text-decoration:none;transition:color 160ms ease}
.sfv-crumb a:hover{color:var(--sf-lime)}
.sfv-crumb .sf-crumb-sep{color:rgba(255,255,255,.5)}
.sfv-crumb .sf-crumb-here{color:#fff;font-weight:600}
.sfv-hero-label{font-family:var(--sf-head);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sf-lime);margin:0 0 8px}
.sfv-hero-h1{font-family:var(--sf-head);font-size:clamp(30px,5vw,52px);line-height:1.06;margin:0;font-weight:700;letter-spacing:-.5px}
.sfv-hero-sub{color:rgba(255,255,255,.85);font-size:16px;max-width:640px;margin:14px 0 0;line-height:1.65}

/* ---------- SPORT SELECTOR (trạng thái A) ---------- */
.sfv-selector-sec{background:var(--sf-cream,#F5F0E8);padding:34px 0}
.sfv-selector-title{font-family:var(--sf-head);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-navy);margin:0 0 16px}
.sfv-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.sfv-sel-box{--sfv-ac:var(--sf-navy);display:flex;flex-direction:column;gap:4px;background:var(--sfv-ac);color:#fff;border:2px solid transparent;border-radius:14px;padding:18px 16px;text-decoration:none;position:relative;transition:transform 180ms var(--tr-ease,cubic-bezier(.16,1,.3,1)),filter 180ms var(--tr-ease),border-color 180ms var(--tr-ease)}
.sfv-sel-box:hover{filter:brightness(1.08);transform:translateY(-2px);border-color:rgba(255,255,255,.9)}
.sfv-sel-box--all{background:var(--sf-navy)}
.sfv-sel-ic{display:inline-flex;margin-bottom:6px;opacity:.95}
.sfv-sel-name{font-family:var(--sf-head);font-weight:700;font-size:16px;line-height:1.2}
.sfv-sel-sub{font-size:12.5px;opacity:.82;line-height:1.35}
.sfv-sel-go{position:absolute;top:16px;right:16px;font-size:17px;opacity:.85;transition:transform 180ms var(--tr-ease)}
.sfv-sel-box:hover .sfv-sel-go{transform:translateX(3px)}

/* ---------- SORT + SEARCH BAR ---------- */
.sfv-bar{background:#fff;border-bottom:1px solid #eee}
.sfv-bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;flex-wrap:wrap}
.sfv-bar-left{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sfv-bar-title{font-family:var(--sf-head);font-size:18px;color:var(--sf-navy);margin:0}
.sfv-bar-count{font-size:13px;color:#8a97a6}
.sfv-bar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sfv-sort select{appearance:none;-webkit-appearance:none;border:1px solid #e2e6ea;background:#fafbfc;border-radius:10px;padding:10px 34px 10px 14px;font-family:var(--sf-body);font-size:14px;color:var(--sf-navy);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B1C2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color 160ms ease}
.sfv-sort select:hover{border-color:var(--sf-navy)}
.sfv-search{display:flex;align-items:center;gap:8px;border:1px solid #e2e6ea;border-radius:10px;padding:0 12px;background:#fafbfc;min-width:240px;transition:border-color 160ms ease}
.sfv-search:focus-within{border-color:var(--sf-navy)}
.sfv-search svg{color:#8a97a6;flex:none}
.sfv-search input{border:0;outline:0;background:transparent;font-family:var(--sf-body);font-size:14px;padding:11px 0;color:var(--sf-navy);min-width:0;width:100%}

/* ---------- GRID ---------- */
.sfv-gridwrap{padding-top:34px}
.sfv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sfv-nofound{text-align:center;color:#8a97a6;padding:40px 0;font-size:15px}

/* ---------- CARD SÂN ---------- */
.sfv-card{background:#fff;border:1px solid rgba(11,28,44,.08);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform 180ms var(--tr-ease,cubic-bezier(.16,1,.3,1)),box-shadow 180ms var(--tr-ease)}
.sfv-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(11,28,44,.1)}
.sfv-card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#eef2f6}
.sfv-card-media img,.sfv-card-media .sf-thumb-fallback,.sfv-card-media .sf-noimg{width:100%;height:100%;object-fit:cover;display:block}
.sfv-badge{position:absolute;top:10px;left:10px;font-family:var(--sf-head);font-size:11px;font-weight:700;letter-spacing:.02em;padding:5px 10px;border-radius:999px;color:#fff}
.sfv-badge.is-open{background:#2DB557}
.sfv-badge.is-free{background:#2B7FE8}
.sfv-badge.is-closed{background:#D4655A}
.sfv-rating{position:absolute;bottom:10px;right:10px;display:inline-flex;align-items:center;gap:5px;background:rgba(10,16,26,.72);color:#fff;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;backdrop-filter:blur(2px)}
.sfv-rating svg{color:#FFC53D}
.sfv-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.sfv-type{--sfv-ac:var(--sf-navy);display:inline-flex;align-items:center;gap:6px;color:var(--sfv-ac);font-family:var(--sf-head);font-weight:600;font-size:12.5px;letter-spacing:.02em}
.sfv-card-title{font-family:var(--sf-head);font-size:16px;line-height:1.35;margin:0;color:var(--sf-navy)}
.sfv-card-title a{color:inherit;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sfv-card-title a:hover{color:var(--sf-coral)}
.sfv-card-addr{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:#6b7a8a;margin:0;line-height:1.4}
.sfv-card-addr svg{color:#9aa8b6;flex:none;margin-top:1px}
.sfv-amen{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:2px 0 0;padding:0}
.sfv-amen li{font-size:11.5px;color:#51627a;background:#f2f5f8;border-radius:8px;padding:4px 9px;line-height:1.3}
.sfv-price{font-family:var(--sf-mono);color:#1c8a4e;font-size:14px;font-weight:600;margin:4px 0 0}
.sfv-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.sfv-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--sf-head);font-weight:600;font-size:13.5px;border-radius:10px;padding:10px 14px;text-decoration:none;border:1.5px solid transparent;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.sfv-btn-outline{border-color:var(--sf-navy);color:var(--sf-navy);background:#fff}
.sfv-btn-outline:hover{background:var(--sf-navy);color:#fff}
.sfv-btn-fill{background:#1c8a4e;color:#fff}
.sfv-btn-fill:hover{background:#15703e}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1200px){
	.sfv-grid{grid-template-columns:repeat(3,1fr);gap:20px}
}
@media (max-width:900px){
	.sfv-selector{grid-template-columns:repeat(3,1fr)}
	.sfv-grid{grid-template-columns:repeat(2,1fr)}
	.sfv-hero{min-height:260px}
}
@media (max-width:768px){
	.sfv-selector{grid-template-columns:repeat(2,1fr)}
	.sfv-sel-box--all{grid-column:1 / -1}
	.sfv-bar-in{flex-direction:column;align-items:stretch}
	.sfv-bar-right{justify-content:space-between}
	.sfv-search{min-width:0;flex:1}
}
@media (max-width:480px){
	.sfv-grid{grid-template-columns:1fr}
	.sfv-hero{min-height:220px}
	.sfv-hero-in{padding-top:40px;padding-bottom:40px}
	.sfv-sort,.sfv-search{width:100%}
}

/* Source: sportify-v13.css */
/* =========================================================
   SportifyVN — sportify-v13.css (Trang chi tiết sân/địa điểm)
   Chỉ thêm mới — KHÔNG sửa file CSS cũ. Dùng biến :root có sẵn.
   Responsive: 1200 / 900 / 768 / 480.
   ========================================================= */

/* ---------- PHẦN 1: HERO ---------- */
.sfv13-hero{position:relative;min-height:320px;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff}
.sfv13-hero-ov{position:absolute;inset:0;background:rgba(10,20,40,.5)}
.sfv13-hero-bottom{position:relative;z-index:2;width:100%;padding:24px 0}
.sfv13-hero-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.sfv13-hero-left{max-width:720px;position:relative}
.sfv13-hero-left .sf-crumbrow{color:rgba(255,255,255,.8);font-size:13px;margin-bottom:10px}
.sfv13-hero-left .sf-crumbrow a{color:rgba(255,255,255,.8)}
.sfv13-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--sf-navy);font-family:var(--sf-head);font-weight:700;font-size:12.5px;padding:6px 13px;border-radius:999px;margin-bottom:12px}
.sfv13-pill .sf-ic{color:var(--sf-coral)}
.sfv13-h1{font-family:var(--sf-head);font-size:clamp(24px,3.4vw,32px);line-height:1.12;margin:0 0 10px;font-weight:700;letter-spacing:-.3px}
.sfv13-hero-meta{display:flex;flex-wrap:wrap;gap:16px 22px;margin-bottom:12px}
.sfv13-hm{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:rgba(255,255,255,.92)}
.sfv13-hm .sf-ic{color:rgba(255,255,255,.85)}
.sfv13-star{color:#FFC53D}
.sfv13-hero-tags{display:flex;flex-wrap:wrap;gap:8px}
.sfv13-htag{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:12px;padding:4px 11px;border-radius:999px;backdrop-filter:blur(2px)}
.sfv13-hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.sfv13-hours-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(10,20,40,.55);border:1px solid rgba(255,255,255,.25);color:#fff;font-family:var(--sf-mono);font-size:13px;padding:7px 14px;border-radius:999px}
.sfv13-status-pill{font-family:var(--sf-head);font-weight:700;font-size:12px;padding:6px 13px;border-radius:999px;color:#fff}
.sfv13-status-pill.is-open{background:#2DB557}
.sfv13-status-pill.is-free{background:#2B7FE8}
.sfv13-status-pill.is-closed{background:#D4655A}

/* ---------- PHẦN 2: WRAP 2 CỘT ---------- */
.sfv13-wrap{display:grid;grid-template-columns:65% 35%;gap:32px;padding-top:36px;padding-bottom:48px;align-items:start}
.sfv13-main{min-width:0}
.sfv13-aside{position:sticky;top:80px;display:flex;flex-direction:column;gap:20px}

.sfv13-block{margin-bottom:34px}
.sfv13-block-title{display:flex;align-items:center;gap:9px;font-family:var(--sf-head);font-size:19px;color:var(--sf-navy);margin:0 0 14px;font-weight:700}
.sfv13-block-title .sf-ic{color:var(--sf-coral)}
.sfv13-placeholder{color:#9aa7b4;font-style:italic;margin:0}
.sfv13-content{font-size:16px;line-height:1.8;color:#33445a}
.sfv13-content img{max-width:100%;height:auto;border-radius:12px}

/* Gallery */
.sfv13-gallery{display:grid;grid-template-columns:60% 40%;gap:10px}
.sfv13-gal-main{border-radius:14px;overflow:hidden;background:#eef2f6}
.sfv13-gal-main img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
.sfv13-gal-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative}
.sfv13-gal-thumb{border:0;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;background:#eef2f6;aspect-ratio:4/3}
.sfv13-gal-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 200ms ease}
.sfv13-gal-thumb:hover img{transform:scale(1.06)}
.sfv13-gal-more{position:absolute;right:10px;bottom:10px;background:rgba(10,20,40,.72);color:#fff;font-size:13px;padding:5px 11px;border-radius:999px}

/* Tiện ích */
.sfv13-amen{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sfv13-amen-item{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid rgba(11,28,44,.08);border-radius:12px;padding:14px}
.sfv13-amen-ic{flex:none;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(200,240,0,.2);color:var(--sf-navy)}
.sfv13-amen-tx{display:flex;flex-direction:column;gap:2px}
.sfv13-amen-tx b{font-family:var(--sf-head);font-size:14px;color:var(--sf-navy)}
.sfv13-amen-tx small{font-size:12px;color:#7b8a99}

/* Điểm nổi bật */
.sfv13-hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.sfv13-hl li{display:flex;align-items:flex-start;gap:9px;font-size:15px;color:#33445a}
.sfv13-hl li .sf-ic{color:#1c8a4e;flex:none;margin-top:2px}

/* Lịch & giá */
.sfv13-sched{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sfv13-sched-col{background:#f8f9fb;border-radius:12px;padding:18px}
.sfv13-sched-col h3{font-family:var(--sf-head);font-size:15px;color:var(--sf-navy);margin:0 0 10px}
.sfv13-sched-col p{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14.5px;color:#42536a}
.sfv13-sched-col p .sf-ic{color:var(--sf-coral)}
.sfv13-pricing{font-size:14.5px;color:#42536a}
.sfv13-pricing p{margin:0 0 6px}
.sfv13-price{font-family:var(--sf-mono);color:#1c8a4e;font-weight:600}

/* Đánh giá */
.sfv13-review-total{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.sfv13-review-num{font-family:var(--sf-mono);font-size:38px;color:var(--sf-navy);line-height:1}
.sfv13-review-stars{color:#FFC53D;font-size:18px;letter-spacing:2px}
.sfv13-review-count{color:#7b8a99;font-size:13px}
.sfv13-reviews{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sfv13-review{display:flex;gap:12px}
.sfv13-avatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--sf-navy);color:var(--sf-lime);display:flex;align-items:center;justify-content:center;font-family:var(--sf-head);font-weight:700}
.sfv13-review-body{flex:1;background:#f8f9fb;border-radius:12px;padding:12px 14px}
.sfv13-review-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}
.sfv13-review-head b{font-family:var(--sf-head);color:var(--sf-navy);font-size:14px}
.sfv13-review-date{font-family:var(--sf-mono);font-size:12px;color:#98a7b8}
.sfv13-review-body p{margin:0;font-size:14px;color:#42536a;line-height:1.6}

/* ---------- CARD SIDEBAR ---------- */
.sfv13-card{background:#fff;border:1px solid rgba(11,28,44,.1);border-radius:16px;padding:20px;box-shadow:0 8px 26px rgba(11,28,44,.05)}
.sfv13-card-title{font-family:var(--sf-head);font-size:17px;color:var(--sf-navy);margin:0 0 4px}
.sfv13-card-sub{font-size:13px;color:#7b8a99;margin:0 0 16px;line-height:1.5}
.sfv13-field{display:block;margin-bottom:12px}
.sfv13-field span{display:block;font-size:12.5px;font-weight:600;color:#51627a;margin-bottom:5px}
.sfv13-field select{width:100%;appearance:none;-webkit-appearance:none;border:1px solid #e2e6ea;background:#fafbfc;border-radius:10px;padding:11px 34px 11px 13px;font-family:var(--sf-body);font-size:14px;color:var(--sf-navy);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B1C2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color 160ms ease}
.sfv13-field select:hover{border-color:var(--sf-navy)}
.sfv13-btn-book{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#1c8a4e;color:#fff;font-family:var(--sf-head);font-weight:700;font-size:15px;border-radius:11px;padding:14px;text-decoration:none;margin-top:6px;transition:background-color 160ms ease,transform 160ms ease}
.sfv13-btn-book:hover{background:#15703e;transform:translateY(-1px)}
.sfv13-btn-book.is-disabled{background:#c8d0d8;cursor:not-allowed}
.sfv13-secure{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#7b8a99;margin-top:10px}
.sfv13-secure .sf-ic{color:#1c8a4e}
.sfv13-contact{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:11px}
.sfv13-contact li{display:flex;align-items:center;gap:10px;font-size:14px;color:#42536a}
.sfv13-contact a{color:var(--sf-navy);text-decoration:none}
.sfv13-contact a:hover{color:var(--sf-coral)}
.sfv13-cc-ic{flex:none;width:32px;height:32px;border-radius:9px;background:#f2f5f8;color:var(--sf-navy);display:flex;align-items:center;justify-content:center}
.sfv13-map{border-radius:12px;overflow:hidden;margin-top:10px}
.sfv13-map iframe{width:100%;height:200px;border:0;display:block}
.sfv13-btn-map{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;border:1.5px solid var(--sf-navy);color:var(--sf-navy);border-radius:10px;padding:10px;font-family:var(--sf-head);font-weight:600;font-size:13.5px;text-decoration:none;transition:background-color 160ms ease,color 160ms ease}
.sfv13-btn-map:hover{background:var(--sf-navy);color:#fff}

/* ---------- PHẦN 3: TƯƠNG TỰ ---------- */
.sfv13-related{background:#f8f8f8;padding:44px 0}
.sfv13-related-title{font-family:var(--sf-head);font-size:22px;color:var(--sf-navy);margin:0 0 22px}
.sfv13-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sfv13-rel-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(11,28,44,.08);display:flex;flex-direction:column;transition:transform 180ms ease,box-shadow 180ms ease}
.sfv13-rel-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(11,28,44,.1)}
.sfv13-rel-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eef2f6}
.sfv13-rel-media img,.sfv13-rel-media .sf-thumb-fallback,.sfv13-rel-media .sf-noimg{width:100%;height:100%;object-fit:cover;display:block}
.sfv13-rel-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.sfv13-rel-body h3{font-family:var(--sf-head);font-size:15.5px;margin:0;color:var(--sf-navy);line-height:1.35}
.sfv13-rel-body h3 a{color:inherit;text-decoration:none}
.sfv13-rel-body h3 a:hover{color:var(--sf-coral)}
.sfv13-rel-addr{font-size:13px;color:#7b8a99;margin:0}
.sfv13-rel-price{font-family:var(--sf-mono);color:#1c8a4e;font-size:13.5px;margin:0}
.sfv13-rel-btn{align-self:flex-start;margin-top:6px;background:var(--sf-navy);color:#fff;font-family:var(--sf-head);font-weight:600;font-size:13px;padding:8px 18px;border-radius:9px;text-decoration:none;transition:background-color 160ms ease}
.sfv13-rel-btn:hover{background:var(--sf-coral)}

/* ---------- Geo block kế thừa (đảm bảo spacing) ---------- */
.sfv13-main .sf-geo-card{margin-bottom:34px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1200px){
	.sfv13-amen{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
	.sfv13-wrap{grid-template-columns:1fr;gap:26px}
	.sfv13-aside{position:static;top:auto;order:2}
	.sfv13-amen{grid-template-columns:repeat(2,1fr)}
	.sfv13-sched{grid-template-columns:1fr}
	.sfv13-hl{grid-template-columns:1fr}
	.sfv13-rel-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
	.sfv13-hero{min-height:260px}
	.sfv13-hero-grid{flex-direction:column;align-items:flex-start}
	.sfv13-hero-right{align-items:flex-start;flex-direction:row;flex-wrap:wrap}
	.sfv13-gallery{grid-template-columns:1fr}
	.sfv13-gal-main img{min-height:220px}
}
@media (max-width:480px){
	.sfv13-hero{min-height:220px}
	.sfv13-amen{grid-template-columns:1fr}
	.sfv13-rel-grid{grid-template-columns:1fr}
	.sfv13-review-num{font-size:30px}
}
/* Sao đánh giá bằng SVG: đổ đầy vàng (stroke theme mặc định là none) */
.sfv13-review-stars .sf-ic,.sfv13-star .sf-ic{fill:#FFC53D;stroke:#FFC53D}
.sfv13-review-stars{display:inline-flex;gap:2px;color:#FFC53D}
.sfv13-star{display:inline-flex;vertical-align:-2px}

/* =========================================================
   V14b — Bổ sung: fix dropdown, viewing counter, modal reviews,
   nút tài khoản, nút xem thêm đánh giá.
   ========================================================= */

/* Fix chữ trong dropdown "Đặt lịch ngay" bị cắt */
.sfv13-field select {
	height: auto;
	min-height: 44px;
	line-height: 1.4;
	padding-top: 12px;
	padding-bottom: 12px;
	text-overflow: ellipsis;
}

/* Dòng "X người đang xem" dưới Thanh toán an toàn */
.sfv13-viewing {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 12.5px;
	color: #51627a;
	margin-top: 8px;
}
.sfv13-viewing .sf-ic { color: var(--sf-coral, #E8724A); }
.sfv13-viewing b { color: var(--sf-navy, #0B1C2C); font-family: var(--sf-mono, monospace); }
.sfv13-viewing b.tick { animation: sfv13Tick .3s ease; }
@keyframes sfv13Tick { from { opacity:.4; transform: translateY(-3px); } to { opacity:1; transform: translateY(0); } }

/* Sao nhỏ trong mỗi review */
.sfv13-review-mini { display: inline-flex; gap: 1px; color: #FFC53D; margin-bottom: 4px; }
.sfv13-review-mini .sf-ic { fill: #FFC53D; stroke: #FFC53D; }

/* Nút xem thêm đánh giá */
.sfv13-reviews-more {
	display: block;
	width: 100%;
	margin-top: 16px;
	padding: 12px;
	border: 1px solid #dde3ec;
	background: #fff;
	border-radius: 11px;
	font-family: var(--sf-head, inherit);
	font-weight: 600;
	font-size: 14px;
	color: var(--sf-navy, #0B1C2C);
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease;
}
.sfv13-reviews-more:hover { background: #f4f6f9; border-color: #c4cdd9; }

/* CTA đăng nhập để đánh giá */
.sfv13-review-cta { margin: 14px 0 0; font-size: 13.5px; }
.sfv13-review-cta a { color: var(--sf-coral, #E8724A); font-weight: 600; text-decoration: none; }
.sfv13-review-cta a:hover { text-decoration: underline; }

/* Modal tất cả đánh giá */
.sfv13-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: rgba(10,20,40,.5);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	animation: sfv13Fade .18s ease-out;
}
.sfv13-modal[hidden] { display: none; }
@keyframes sfv13Fade { from { opacity: 0; } to { opacity: 1; } }
.sfv13-modal-card {
	background: #fff;
	border-radius: 16px;
	width: 100%;
	max-width: 640px;
	max-height: 86vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 60px rgba(11,28,44,.28);
	animation: sfv13Pop .18s ease-out;
}
@keyframes sfv13Pop { from { opacity:0; transform: translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
.sfv13-modal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border-bottom: 1px solid #eef1f6;
}
.sfv13-modal-head h3 { margin: 0; font-family: var(--sf-head, inherit); font-size: 18px; color: var(--sf-navy, #0B1C2C); }
.sfv13-modal-close {
	border: 0; background: transparent; cursor: pointer; color: #6b7686;
	padding: 6px; border-radius: 8px; transition: background-color .15s ease;
}
.sfv13-modal-close:hover { background: #f4f6f9; }
.sfv13-modal-body { padding: 18px 20px; overflow-y: auto; }
.sfv13-reviews--modal { gap: 14px; }

/* Nút Tài khoản trên header */
.sf-account-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid #dde3ec;
	background: #fff;
	color: var(--sf-navy, #0B1C2C);
	font-family: var(--sf-head, inherit);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background-color .16s ease, border-color .16s ease;
}
.sf-account-btn:hover { background: #f4f6f9; border-color: #c4cdd9; }
.sf-account-btn svg { color: #4a5568; }

@media (max-width: 900px) {
	.sf-account-btn span:last-child { display: none; }
	.sf-account-btn { padding: 0 12px; }
}

/* Source: sportify-v14.css */
/* =========================================================
   SportifyVN V14 — Bộ lọc sân thông minh theo môn
   Chỉ áp dụng cho trang /venues/ (archive sf_venue).
   Tận dụng biến :root đã có ở sportify.css / v12.
   ========================================================= */

/* ---------- Khung tổng ---------- */
.sfv14-filter {
	position: relative;
	background: #fff;
	border-bottom: 1px solid #eceff3;
}
.sfv14-searchrow { padding: 16px 0 4px; }
.sfv14-chiprow {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0 16px;
}

/* ---------- Hàng 1: search ---------- */
.sfv14-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	background: #f4f6f9;
	border: 1px solid #e2e7ee;
	border-radius: 10px;
	padding: 0 14px;
	height: 46px;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.sfv14-search:focus-within {
	border-color: var(--sf-lime, #C8F000);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(200,240,0,.25);
}
.sfv14-search svg { color: #8892a0; flex: 0 0 auto; }
.sfv14-search input[type="search"] {
	flex: 1 1 auto;
	border: 0;
	background: transparent;
	outline: 0;
	font-size: 15px;
	color: var(--sf-navy, #0B1C2C);
	height: 100%;
}
.sfv14-search input::placeholder { color: #9aa4b2; }

/* ---------- Hàng 2: chips ---------- */
.sfv14-chips {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: wrap;
	padding-bottom: 2px;
}

.sfv14-chip-wrap { position: relative; flex: 0 0 auto; }

.sfv14-chip,
.sfv14-geo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid #dde3ec;
	background: #fff;
	color: var(--sf-navy, #0B1C2C);
	font-size: 13.5px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.sfv14-chip:hover,
.sfv14-geo:hover { border-color: #c4cdd9; background: #f7f9fc; }
.sfv14-chip svg,
.sfv14-geo svg { color: #4a5568; }

.sfv14-chip.is-active {
	background: var(--sf-lime, #C8F000);
	border-color: var(--sf-lime, #C8F000);
	color: var(--sf-navy, #0B1C2C);
}
.sfv14-chip.is-active svg { color: var(--sf-navy, #0B1C2C); }

.sfv14-caret {
	width: 0; height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #6b7686;
	margin-left: 2px;
}
.sfv14-chip.is-active .sfv14-caret { border-top-color: var(--sf-navy, #0B1C2C); }

.sfv14-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background: #e23b3b;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.sfv14-geo.is-on {
	background: var(--sf-navy, #0B1C2C);
	border-color: var(--sf-navy, #0B1C2C);
	color: #fff;
}
.sfv14-geo.is-on svg { color: #fff; }

/* ---------- Panel nhỏ: mở rộng inline theo chiều dọc (đẩy nội dung xuống, không bị cắt) ---------- */
.sfv14-panels {
	width: 100%;
}
.sfv14-panel {
	position: static;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	background: #fafbfd;
	border: 1px solid #e2e7ee;
	border-radius: 12px;
	margin-top: 4px;
	padding: 14px 16px;
	animation: sfv14Drop .16s ease-out;
}
.sfv14-panel .sfv14-radio,
.sfv14-panel .sfv14-check { display: inline-flex; margin: 0 18px 8px 0; }
.sfv14-panel .sfv14-inline-input { max-width: 420px; }
@keyframes sfv14Drop {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}
.sfv14-radio,
.sfv14-check,
.sfv14-switch {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 8px;
	border-radius: 8px;
	font-size: 14px;
	color: #2b3444;
	cursor: pointer;
	transition: background-color .15s ease;
}
.sfv14-radio:hover,
.sfv14-check:hover,
.sfv14-switch:hover { background: #f4f6f9; }
.sfv14-radio input,
.sfv14-check input { accent-color: var(--sf-lime, #C8F000); }

.sfv14-inline-input {
	width: 100%;
	border: 1px solid #dde3ec;
	border-radius: 8px;
	padding: 8px 10px;
	font-size: 14px;
	outline: 0;
}
.sfv14-inline-input:focus { border-color: var(--sf-lime, #C8F000); }

/* ---------- Sắp xếp ---------- */
.sfv14-sort { flex: 0 0 auto; }
.sfv14-sort select {
	height: 38px;
	border: 1px solid #dde3ec;
	border-radius: 999px;
	padding: 0 14px;
	background: #fff;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--sf-navy, #0B1C2C);
	cursor: pointer;
}

/* ---------- Panel "Bộ lọc khác" ---------- */
.sfv14-more-scrim {
	position: fixed;
	inset: 0;
	background: rgba(10,20,40,.45);
	z-index: 998;
	opacity: 0;
	transition: opacity .18s ease;
}
.sfv14-more-scrim.is-open { opacity: 1; }

.sfv14-more {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	right: 0;
	z-index: 999;
	max-width: 600px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e2e7ee;
	border-radius: 14px;
	box-shadow: 0 18px 48px rgba(11,28,44,.2);
	transform: translateY(-8px) scale(.98);
	opacity: 0;
	transition: opacity .18s ease-out, transform .18s ease-out;
}
.sfv14-more.is-open { opacity: 1; transform: translateY(0) scale(1); }

.sfv14-more-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid #eef1f6;
}
.sfv14-more-head h3 { margin: 0; font-size: 16px; color: var(--sf-navy, #0B1C2C); }
.sfv14-more-close {
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #6b7686;
	padding: 4px;
	border-radius: 8px;
	transition: background-color .15s ease;
}
.sfv14-more-close:hover { background: #f4f6f9; }

.sfv14-more-body {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px 22px;
	padding: 16px 18px;
	max-height: 60vh;
	overflow-y: auto;
}
.sfv14-more-col h4 {
	margin: 6px 0 8px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #8892a0;
	font-weight: 700;
}
.sfv14-more-col h4:first-child { margin-top: 0; }

.sfv14-more-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-top: 1px solid #eef1f6;
}
.sfv14-btn-clear {
	border: 1px solid #dde3ec;
	background: #fff;
	color: var(--sf-navy, #0B1C2C);
	border-radius: 10px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .16s ease;
}
.sfv14-btn-clear:hover { background: #f4f6f9; }
.sfv14-btn-apply {
	border: 0;
	background: var(--sf-lime, #C8F000);
	color: var(--sf-navy, #0B1C2C);
	border-radius: 10px;
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: filter .16s ease;
}
.sfv14-btn-apply:hover { filter: brightness(.95); }

/* ---------- Khoảng cách real-time ---------- */
.sf-distance-label {
	display: inline-block;
	margin: 2px 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--sf-coral, #E8724A);
}

/* ---------- Nút xoá lọc ở empty state ---------- */
.sfv14-nofound-clear {
	margin-left: 10px;
	border: 1px solid #dde3ec;
	background: #fff;
	border-radius: 8px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	color: var(--sf-navy, #0B1C2C);
}
.sfv14-nofound-clear:hover { background: #f4f6f9; }

/* ---------- Toast ---------- */
.sfv14-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%) translateY(12px);
	background: var(--sf-navy, #0B1C2C);
	color: #fff;
	padding: 12px 20px;
	border-radius: 10px;
	font-size: 14px;
	z-index: 1000;
	opacity: 0;
	transition: opacity .2s ease, transform .2s ease;
	pointer-events: none;
}
.sfv14-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1200px) {
	.sfv14-more-body { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
	.sfv14-more { max-width: 92%; }
	.sfv14-more-body { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.sfv14-chiprow { flex-wrap: nowrap; }
	.sfv14-chips {
		flex: 1 1 auto;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 6px;
	}
	.sfv14-chips::-webkit-scrollbar { display: none; }

	/* Sidebar/panel khác: panel "Bộ lọc khác" thành drawer từ dưới lên */
	.sfv14-more {
		position: fixed;
		left: 0; right: 0; bottom: 0; top: auto;
		max-width: none;
		margin: 0;
		border-radius: 18px 18px 0 0;
		transform: translateY(100%);
		max-height: 86vh;
	}
	.sfv14-more.is-open { transform: translateY(0); }
	.sfv14-more-body {
		grid-template-columns: 1fr 1fr;
		max-height: 64vh;
	}
	.sfv14-sort { display: none; }
}

@media (max-width: 480px) {
	.sfv14-search { height: 42px; }
	.sfv14-more-body { grid-template-columns: 1fr; }
	.sfv14-more-foot { flex-direction: column-reverse; }
	.sfv14-more-foot .sfv14-btn-clear,
	.sfv14-more-foot .sfv14-btn-apply { width: 100%; }
}

/* Source: sportify-v15.css */
/* =========================================================
 * sportify-v15.css — SportifyVN
 * 1) Tăng tương phản tiêu đề bài viết / tên sân / card (chống "xám khó nhìn").
 * 2) Trang Đăng nhập / Đăng ký riêng (giao diện SportifyVN, không dùng wp-login mặc định).
 * 3) Lưới thư viện ảnh sân + popup xem tất cả ảnh.
 * 4) Nút "Tài khoản" khớp header.
 * ========================================================= */

/* ---------- 1. TIÊU ĐỀ TƯƠNG PHẢN CAO ---------- */
/* Mặc định: đậm rõ trên nền sáng (thay #0B1C2C mờ bằng navy gần đen + weight cao). */
.sf-card-title,
.sf-rel-title,
.sf-hot-title,
.sfv13-block-title,
.sfv13-card-title,
.sfv13-related-title,
.sfv14-card-title,
.sfv-card-title {
  color: #0a1626;
  font-weight: 700;
}

.sf-card-title a,
.sf-rel-title a,
.sf-hot-title a,
.sfv13-related-title a,
.sfv14-card-title a,
.sfv-card-title a {
  color: inherit;
}

/* Tiêu đề nằm trong section nền tối -> bắt buộc trắng (đây là ca "xám khó nhìn"). */
.sf-dark .sf-card-title, .sf-dark .sf-card-title a,
.sf-dark .sf-rel-title, .sf-dark .sf-rel-title a,
.sf-dark .sf-hot-title, .sf-dark .sf-hot-title a,
.sf-dark .sf-aside-title,
.sfv-sel-box--all .sf-card-title,
.sfv-sel-box--all .sf-card-title a,
.sfv-sel-box--all h2, .sfv-sel-box--all h3,
.sfv13-hero .sfv13-h1,
.sfv13-hero .sfv13-block-title,
.sfv13-hero h1, .sfv13-hero h2, .sfv13-hero h3,
.sf-geo-block .sf-geo-title,
.sf-geo-block h2, .sf-geo-block h3 {
  color: #ffffff !important;
}

/* Trong hero cầu lông/các môn: h1 và mọi tiêu đề mục luôn trắng. */
.sportify-hero h1, .sportify-hero h2, .sportify-hero h3,
.sf-hero-navy h1, .sf-hero-navy h2, .sf-hero-navy h3 {
  color: #ffffff;
}

/* Tiêu đề bài viết trong nội dung (nền trắng) — đảm bảo đủ đậm, không bị kế thừa xám. */
.sf-post-body h2, .sf-post-body h3, .sf-post-body h4,
.entry-content h2, .entry-content h3, .entry-content h4 {
  color: #0a1626;
}

/* H1 trang chi tiết trên nền tối. */
.sf-single-hero h1, .sf-single-hero h2 { color: #fff; }

/* ---------- 2. TRANG ĐĂNG NHẬP / ĐĂNG KÝ (phong cách Vmito) ---------- */
body.sf-auth-body {
  margin: 0;
  background: #eaf6ee;
  min-height: 100vh;
  font-family: var(--sf-body, "Manrope", system-ui, sans-serif);
  color: #1f2937;
  --sf-accent: #1c8a4e;
  --sf-accent-hover: #166f3e;
}
/* Ẩn header/footer Flatsome trên trang auth để giống app riêng. */
body.sf-auth-body .sf-topbar,
body.sf-auth-body #masthead,
body.sf-auth-body header,
body.sf-auth-body footer,
body.sf-auth-body .sf-footer { display: none !important; }

.sf-auth-wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px 56px;
}
.sf-auth-logo {
  display: block;
  text-align: center;
  font-family: var(--sf-head, "Space Grotesk", sans-serif);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: .3px;
  color: #0f172a;
  text-decoration: none;
  margin-bottom: 26px;
}
.sf-auth-logo span { color: var(--sf-accent); }

.sf-auth-panel { width: 100%; max-width: 460px; }
.sf-auth-card {
  width: 100%;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(15,23,42,.10);
  padding: clamp(26px, 4vw, 40px);
  box-sizing: border-box;
}

.sf-auth-card h1 {
  font-family: var(--sf-head, "Space Grotesk", sans-serif);
  font-size: 30px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--sf-accent);
  text-align: center;
}
.sf-auth-sub { color: #6b7280; font-size: 14px; margin: 0 0 26px; text-align: center; }

.sf-auth-field { margin-bottom: 16px; }
.sf-auth-field label { display: block; font-size: 13.5px; font-weight: 700; color: #111827; margin-bottom: 7px; }
.sf-auth-field label .sf-req { color: #e11d48; margin-left: 2px; }
.sf-auth-field-wrap { position: relative; }
.sf-auth-field input {
  width: 100%; box-sizing: border-box; border: 1px solid #d7dce2; background: #fff;
  border-radius: 10px; padding: 13px 15px; font-size: 15px; color: #0f172a;
  font-family: var(--sf-body, "Manrope", sans-serif); transition: border-color 160ms ease, box-shadow 160ms ease;
}
.sf-auth-field input::placeholder { color: #9aa3ad; }
.sf-auth-field input:focus { outline: 0; border-color: var(--sf-accent); box-shadow: 0 0 0 3px rgba(28,138,78,.16); }
.sf-auth-field.has-eye input { padding-right: 46px; }
.sf-auth-field select {
  width: 100%; box-sizing: border-box; border: 1px solid #d7dce2; background: #fff;
  border-radius: 10px; padding: 13px 40px 13px 15px; font-size: 15px; color: #0f172a;
  font-family: var(--sf-body, "Manrope", sans-serif); appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.sf-auth-field select:focus { outline: 0; border-color: var(--sf-accent); box-shadow: 0 0 0 3px rgba(28,138,78,.16); }

.sf-eye {
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  width: 30px; height: 30px; border: 0; background: transparent; cursor: pointer;
  color: #9aa3ad; display: flex; align-items: center; justify-content: center; padding: 0;
}
.sf-eye:hover { color: #6b7280; }

.sf-auth-labelrow { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.sf-auth-labelrow label { margin: 0; }
.sf-auth-link { font-size: 13.5px; color: var(--sf-accent); text-decoration: none; font-weight: 600; }
.sf-auth-link:hover { text-decoration: underline; }

.sf-auth-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 520px) { .sf-auth-grid2 { grid-template-columns: 1fr; gap: 0; } }

.sf-auth-submit {
  width: 100%; border: 0; border-radius: 10px; padding: 15px;
  background: var(--sf-accent); color: #fff; font-family: var(--sf-head, "Space Grotesk", sans-serif);
  font-weight: 700; font-size: 16px; cursor: pointer; margin-top: 6px;
  transition: background-color 160ms ease, transform 160ms ease;
}
.sf-auth-submit:hover { background: var(--sf-accent-hover); }
.sf-auth-submit:disabled { opacity: .7; cursor: default; transform: none; }

.sf-auth-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: #9aa3ad; font-size: 13px; }
.sf-auth-divider::before, .sf-auth-divider::after { content: ""; flex: 1; height: 1px; background: #e5e9ee; }

.sf-social {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
  border: 1px solid #d7dce2; background: #fff; border-radius: 10px; padding: 12px;
  font-family: var(--sf-body, "Manrope", sans-serif); font-size: 14.5px; font-weight: 600; color: #1f2937;
  cursor: pointer; text-decoration: none; margin-bottom: 11px; transition: background-color 160ms ease, border-color 160ms ease;
}
.sf-social:hover { background: #f7f9fb; border-color: #c4cdd9; }
.sf-social svg { width: 18px; height: 18px; }

.sf-auth-msg { border-radius: 10px; padding: 12px 15px; font-size: 13.5px; margin-bottom: 18px; display: none; }
.sf-auth-msg.is-error { display: block; background: #fdeceb; color: #b3261e; border: 1px solid #f7c9c6; }
.sf-auth-msg.is-ok { display: block; background: #e9f7ef; color: #166f3e; border: 1px solid #bfe6cf; }

.sf-auth-foot { text-align: center; margin-top: 22px; font-size: 14px; color: #6b7280; }
.sf-auth-foot a { color: var(--sf-accent); font-weight: 700; text-decoration: none; }
.sf-auth-foot a:hover { text-decoration: underline; }

.sf-auth-note { text-align: center; margin: 14px 0 0; font-size: 12px; color: #9aa3ad; line-height: 1.5; }

/* ---------- 3. THƯ VIỆN ẢNH SÂN + POPUP ---------- */
.sfv13-gallery { margin-top: 18px; }
.sfv13-gal-viewall {
  margin-top: 12px; border: 1px solid #dbe2ea; background: #fff; color: #0B1C2C;
  font-family: var(--sf-head, "Space Grotesk", sans-serif); font-weight: 700; font-size: 13.5px;
  padding: 9px 18px; border-radius: 10px; cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease;
}
.sfv13-gal-viewall:hover { background: #f4f6f9; border-color: #c4cdd9; }
.sfv13-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}
.sfv13-gallery-grid a {
  display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; background: #eef1f5;
}
.sfv13-gallery-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 220ms ease; }
.sfv13-gallery-grid a:hover img { transform: scale(1.05); }

.sfv13-lightbox {
  position: fixed; inset: 0; z-index: 99999; display: none;
  background: rgba(6,12,22,.92); padding: 24px;
}
.sfv13-lightbox.is-open { display: flex; align-items: center; justify-content: center; animation: sfvLbIn 160ms ease-out; }
@keyframes sfvLbIn { from { opacity: 0; } to { opacity: 1; } }
.sfv13-lightbox img { max-width: 92vw; max-height: 86vh; border-radius: 12px; object-fit: contain; }
.sfv13-lb-close {
  position: absolute; top: 18px; right: 20px; width: 42px; height: 42px; border-radius: 50%;
  border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 24px; cursor: pointer; line-height: 1;
}
.sfv13-lb-nav {
  position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%;
  border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 24px; cursor: pointer; line-height: 1;
}
.sfv13-lb-prev { left: 18px; }
.sfv13-lb-next { right: 18px; }
.sfv13-lb-close:hover, .sfv13-lb-nav:hover { background: rgba(255,255,255,.26); }

/* ---------- 4. NÚT TÀI KHOẢN HEADER ---------- */
.sf-account-btn { display: inline-flex; align-items: center; gap: 7px; }
@media (max-width: 768px) {
  .sf-account-btn .sf-account-tx { display: none; }
}

/* ---------- 5. DÒNG "X NGƯỜI ĐANG XEM" ---------- */
.sfv13-viewing {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  font-size: 12.5px; color: #7b8a99; margin-top: 7px;
}
.sfv13-viewing .sf-ic { color: #E8724A; }
.sfv13-viewing b { color: #0a1626; font-family: var(--sf-mono, monospace); }
.sfv13-viewing.pulse b { animation: sfvViewPulse 520ms ease-out; }
@keyframes sfvViewPulse { 0% { transform: scale(1); } 40% { transform: scale(1.18); color: #E8724A; } 100% { transform: scale(1); } }

/* Source: sportify-v16.css */
/* =========================================================
 * sportify-v16.css — Dashboard tài khoản (trang /tai-khoan/ khi đã đăng nhập)
 * Layout: sidebar trái | nội dung | sidebar phải. Responsive 1200/900/600.
 * Không emoji. Font theo theme (Space Grotesk / Manrope).
 * ========================================================= */

body.sf-account-body {
	background: #f5f7f9;
}
body.sf-account-body .sf-auth-body,
body.sf-account-body header,
body.sf-account-body footer { }

.sf-acc {
	--sf-acc-accent: #1c8a4e;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr) 300px;
	gap: 22px;
	max-width: 1320px;
	margin: 0 auto;
	padding: 28px 20px 64px;
	align-items: start;
}

/* ---------- Sidebar trái ---------- */
.sf-acc-side {
	background: #fff;
	border-radius: 14px;
	padding: 20px 16px;
	box-shadow: 0 2px 14px rgba(15,23,42,.06);
	position: sticky;
	top: 20px;
}
.sf-acc-side-title {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 14px;
	padding: 0 8px;
}
.sf-acc-menu { display: flex; flex-direction: column; gap: 2px; }
.sf-acc-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	border-radius: 10px;
	font-size: 14.5px;
	font-weight: 600;
	color: #475569;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}
.sf-acc-link:hover { background: #f1f5f9; color: #0f172a; }
.sf-acc-link.is-active { background: #e9f7ef; color: var(--sf-acc-accent); }
.sf-acc-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: #cbd5e1; flex: none;
	transition: background-color 160ms ease;
}
.sf-acc-link.is-active .sf-acc-dot { background: var(--sf-acc-accent); }

.sf-acc-promo {
	margin-top: 18px;
	background: linear-gradient(135deg, #1c8a4e, #166f3e);
	border-radius: 12px;
	padding: 16px;
	color: #fff;
}
.sf-acc-promo p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
.sf-acc-promo-btn {
	display: inline-block;
	background: #fff;
	color: #166f3e;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700;
	font-size: 13px;
	padding: 9px 16px;
	border-radius: 9px;
	text-decoration: none;
	transition: transform 160ms ease;
}
.sf-acc-promo-btn:hover { transform: translateY(-1px); }

/* ---------- Nội dung ---------- */
.sf-acc-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

.sf-acc-hero {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(15,23,42,.06);
}
.sf-acc-hero-banner {
	height: 150px;
	background:
		linear-gradient(90deg, rgba(11,28,44,.35), rgba(11,28,44,.05)),
		linear-gradient(135deg, #1c8a4e 0%, #0f766e 45%, #0b1c2c 100%);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 16px;
}
.sf-acc-hero-tag {
	color: #fff;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 13px;
	letter-spacing: .4px;
	opacity: .9;
}
.sf-acc-hero-body {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 0 22px 22px;
	margin-top: -44px;
	position: relative;
	flex-wrap: wrap;
}
.sf-acc-avatar {
	width: 96px; height: 96px; border-radius: 50%;
	background: #0B1C2C; color: #C8F000;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 36px;
	border: 4px solid #fff; flex: none; overflow: hidden;
}
.sf-acc-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sf-acc-id { flex: 1; min-width: 200px; padding-top: 48px; }
.sf-acc-name {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 24px; font-weight: 700; color: #0f172a;
	margin: 0 0 4px; display: flex; align-items: center; gap: 8px;
}
.sf-acc-verified { color: var(--sf-acc-accent); display: inline-flex; }
.sf-acc-email { color: #64748b; font-size: 14px; margin: 0 0 8px; }
.sf-acc-bio { color: #475569; font-size: 14px; line-height: 1.6; margin: 0 0 10px; max-width: 560px; }
.sf-acc-meta { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #64748b; flex-wrap: wrap; }
.sf-acc-badge {
	background: #e9f7ef; color: var(--sf-acc-accent);
	font-weight: 700; padding: 3px 10px; border-radius: 999px; font-size: 12px;
}
.sf-acc-edit-btn {
	align-self: flex-start;
	margin-top: 48px;
	background: #fff; border: 1px solid #d7dce2; color: #0f172a;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 13.5px;
	padding: 10px 18px; border-radius: 10px; text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease;
}
.sf-acc-edit-btn:hover { background: #f1f5f9; border-color: #c4cdd9; }

/* Thống kê */
.sf-acc-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.sf-acc-stat {
	background: #fff;
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 2px 14px rgba(15,23,42,.06);
	text-align: center;
}
.sf-acc-stat b {
	display: block;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 26px; font-weight: 700; color: var(--sf-acc-accent);
	line-height: 1.1;
}
.sf-acc-stat span { display: block; font-size: 12.5px; color: #64748b; margin-top: 6px; }

/* Block chung */
.sf-acc-block {
	background: #fff;
	border-radius: 14px;
	padding: 20px 22px;
	box-shadow: 0 2px 14px rgba(15,23,42,.06);
}
.sf-acc-block-title {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 17px; font-weight: 700; color: #0f172a;
	margin: 0 0 16px;
}
.sf-acc-empty { color: #94a3b8; font-size: 14px; font-style: italic; margin: 0; }
.sf-acc-empty a { color: var(--sf-acc-accent); font-weight: 600; }

/* Môn thể thao */
.sf-acc-sports { display: flex; flex-wrap: wrap; gap: 10px; }
.sf-acc-chip {
	display: inline-flex; align-items: center;
	background: #f1f5f9; color: #334155;
	font-size: 13.5px; font-weight: 600;
	padding: 8px 15px; border-radius: 999px;
}
.sf-acc-chip-add {
	background: transparent; border: 1px dashed #b8c2cc; color: var(--sf-acc-accent);
	text-decoration: none;
}
.sf-acc-chip-add:hover { background: #e9f7ef; border-color: var(--sf-acc-accent); }

/* Sân yêu thích */
.sf-acc-venues { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sf-acc-venue {
	text-decoration: none; color: inherit;
	border: 1px solid #eef1f5; border-radius: 12px; overflow: hidden;
	background: #fff; transition: box-shadow 160ms ease, transform 160ms ease;
}
.sf-acc-venue:hover { box-shadow: 0 8px 22px rgba(15,23,42,.10); transform: translateY(-2px); }
.sf-acc-venue-thumb {
	display: block; position: relative; aspect-ratio: 4 / 3; background: #eef1f5; overflow: hidden;
}
.sf-acc-venue-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sf-acc-venue-rate {
	position: absolute; top: 8px; right: 8px;
	display: inline-flex; align-items: center; gap: 3px;
	background: rgba(11,28,44,.78); color: #fff;
	font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 999px;
}
.sf-acc-venue-name {
	display: block; font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 14px; font-weight: 700; color: #0f172a;
	padding: 10px 12px 2px; line-height: 1.35;
}
.sf-acc-venue-addr {
	display: block; font-size: 12.5px; color: #94a3b8;
	padding: 0 12px 12px;
}

/* Đặt lịch */
.sf-acc-bookings { display: flex; flex-direction: column; gap: 10px; }
.sf-acc-booking {
	display: flex; align-items: center; gap: 14px;
	padding: 10px; border: 1px solid #eef1f5; border-radius: 12px;
}
.sf-acc-booking-thumb {
	width: 62px; height: 62px; border-radius: 10px; overflow: hidden;
	background: #eef1f5; flex: none;
}
.sf-acc-booking-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sf-acc-booking-info { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sf-acc-booking-info strong { font-size: 14.5px; color: #0f172a; }
.sf-acc-booking-info span { font-size: 13px; color: #64748b; }
.sf-acc-booking-status {
	flex: none; font-size: 12px; font-weight: 700;
	padding: 5px 12px; border-radius: 999px;
}
.sf-acc-booking-status.is-done { background: #e9f7ef; color: var(--sf-acc-accent); }
.sf-acc-booking-status.is-soon { background: #fff4e6; color: #c2660a; }

/* Đánh giá */
.sf-acc-reviews { display: flex; flex-direction: column; gap: 12px; }
.sf-acc-review { display: flex; gap: 14px; padding: 12px; border: 1px solid #eef1f5; border-radius: 12px; }
.sf-acc-review-thumb { width: 68px; height: 68px; border-radius: 10px; overflow: hidden; background: #eef1f5; flex: none; }
.sf-acc-review-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sf-acc-review-body { flex: 1; min-width: 0; }
.sf-acc-review-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.sf-acc-review-top a {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 14.5px; color: #0f172a; text-decoration: none;
}
.sf-acc-review-top a:hover { color: var(--sf-acc-accent); }
.sf-acc-review-stars { display: inline-flex; gap: 1px; flex: none; }
.sf-acc-review-body p { margin: 0 0 6px; font-size: 14px; color: #475569; line-height: 1.6; }
.sf-acc-review-date { font-size: 12.5px; color: #94a3b8; }

/* Form chỉnh sửa */
.sf-acc-form { max-width: 640px; }

/* ---------- Sidebar phải ---------- */
.sf-acc-aside { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 20px; }
.sf-acc-widget {
	background: #fff; border-radius: 14px; padding: 18px;
	box-shadow: 0 2px 14px rgba(15,23,42,.06);
}
.sf-acc-widget h4 {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 14px; font-weight: 700; color: #0f172a; margin: 0 0 14px;
}
.sf-acc-progress { display: flex; justify-content: center; margin-bottom: 12px; }
.sf-acc-progress svg { display: block; }
.sf-acc-checklist { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sf-acc-checklist li {
	font-size: 13.5px; color: #64748b; padding-left: 22px; position: relative;
}
.sf-acc-checklist li::before {
	content: ""; position: absolute; left: 0; top: 3px;
	width: 14px; height: 14px; border-radius: 50%;
	background: #e2e8f0;
}
.sf-acc-checklist li.is-done { color: #0f172a; }
.sf-acc-checklist li.is-done::before { background: var(--sf-acc-accent); }
.sf-acc-checklist li.is-done::after {
	content: ""; position: absolute; left: 4px; top: 6px;
	width: 5px; height: 3px; border-left: 2px solid #fff; border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}
.sf-acc-widget-btn {
	display: block; width: 100%; text-align: center;
	background: var(--sf-acc-accent); color: #fff;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 13.5px;
	padding: 11px; border-radius: 10px; text-decoration: none; border: 0; cursor: pointer;
	transition: background-color 160ms ease;
}
.sf-acc-widget-btn:hover { background: #166f3e; }
.sf-acc-widget-btn--ghost {
	background: #fff; color: var(--sf-acc-accent); border: 1px solid var(--sf-acc-accent);
}
.sf-acc-widget-btn--ghost:hover { background: #e9f7ef; }
.sf-acc-wallet {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 24px; font-weight: 700; color: #0f172a;
	margin: 0 0 12px;
}
.sf-acc-activity, .sf-acc-quickstats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sf-acc-activity li {
	font-size: 13.5px; color: #475569; padding-left: 20px; position: relative;
}
.sf-acc-activity li::before {
	content: ""; position: absolute; left: 4px; top: 6px;
	width: 7px; height: 7px; border-radius: 50%; background: var(--sf-acc-accent);
}
.sf-acc-quickstats li { display: flex; align-items: center; justify-content: space-between; font-size: 13.5px; color: #64748b; }
.sf-acc-quickstats li b { color: #0f172a; font-family: var(--sf-head, "Space Grotesk", sans-serif); }

.sf-acc-quote {
	background: linear-gradient(135deg, #1c8a4e, #166f3e);
	border-radius: 14px; padding: 18px; color: #fff;
}
.sf-acc-quote p { margin: 0 0 10px; font-size: 14px; line-height: 1.6; font-style: italic; }
.sf-acc-quote span { font-size: 13px; opacity: .85; font-weight: 600; }

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
	.sf-acc { grid-template-columns: 220px minmax(0, 1fr); }
	.sf-acc-aside { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); position: static; }
}
@media (max-width: 900px) {
	.sf-acc { grid-template-columns: 1fr; padding: 18px 14px 48px; }
	.sf-acc-side { position: static; }
	.sf-acc-menu { flex-direction: row; flex-wrap: wrap; }
	.sf-acc-link { padding: 9px 12px; }
	.sf-acc-stats { grid-template-columns: repeat(2, 1fr); }
	.sf-acc-venues { grid-template-columns: repeat(2, 1fr); }
	.sf-acc-hero-body { margin-top: -40px; }
	.sf-acc-id { padding-top: 44px; }
	.sf-acc-edit-btn { margin-top: 8px; }
}
@media (max-width: 600px) {
	.sf-acc-aside { grid-template-columns: 1fr; }
	.sf-acc-venues { grid-template-columns: 1fr; }
	.sf-acc-hero-body { gap: 12px; }
	.sf-acc-avatar { width: 76px; height: 76px; font-size: 28px; }
	.sf-acc-id { padding-top: 40px; }
	.sf-acc-booking { flex-wrap: wrap; }
}

/* =========================================================
 * V17 — Nút Yêu thích (tim) trên trang chi tiết sân.
 * ========================================================= */
.sfv13-fav {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 12px 0 4px;
	background: rgba(255,255,255,.15);
	border: 1px solid rgba(255,255,255,.4);
	color: #fff;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 13.5px;
	padding: 9px 16px; border-radius: 999px; cursor: pointer;
	backdrop-filter: blur(2px);
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.sfv13-fav:hover { background: rgba(255,255,255,.28); }
.sfv13-fav svg { transition: transform 180ms ease; }
.sfv13-fav.is-fav { background: #e11d48; border-color: #e11d48; color: #fff; }
.sfv13-fav.is-fav svg { fill: #fff; transform: scale(1.1); }
.sfv13-fav:disabled { opacity: .7; cursor: default; }
.sfv13-fav.pulse { animation: sfvFavPulse 400ms ease-out; }
@keyframes sfvFavPulse { 0% { transform: scale(1); } 45% { transform: scale(1.12); } 100% { transform: scale(1); } }

/* Source: sportify-v18.css */
/* =========================================================
 * FIX LỖI 1 — Feature items Phần A: cột dọc, icon tròn 40px.
 * Dùng !important để chống Flatsome override ul/li.
 * ========================================================= */
.sf-tour-feats {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.sf-tour-feats > li,
.sf-tour-feat {
	display: flex !important;
	align-items: flex-start !important;
	gap: 13px !important;
	width: auto !important;
	float: none !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.sf-tour-feat-ic {
	flex: 0 0 40px !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(28,138,78,.12) !important;
	color: #1c8a4e !important;
}
.sf-tour-feat-ic svg { width: 18px; height: 18px; }
.sf-tour-feat-tx { display: flex !important; flex-direction: column !important; text-align: left !important; }
.sf-tour-feat-tx strong {
	display: block;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 15px; font-weight: 700; color: var(--sf-navy, #0B1C2C);
}
.sf-tour-feat-tx small { display: block; font-size: 13px; color: #7b8a99; }

/* =========================================================
 * FIX LỖI 2 — Slider Phần A: track ngang + translateX (KHÔNG column).
 * ========================================================= */
.sf-tour-hero-right { position: relative; min-width: 0; }
.sf-tour-hero-right .sf-slider-track,
.sfv18-slider-wrap .sfv18-slider-track {
	display: flex !important;
	flex-direction: row !important;
	transition: transform 0.4s ease !important;
	will-change: transform;
}
.sf-tour-hero-right [data-sf-track],
.sfv18-slider-wrap {
	overflow: hidden !important;
	position: relative !important;
	border-radius: 16px;
}
/* Mỗi slide chiếm trọn 1 khung, không co lại. */
.sf-tour-hero-right .sf-slide,
.sfv18-slide {
	flex: 0 0 100% !important;
	flex-shrink: 0 !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	display: block !important; /* ghi đè display:none của v17 (v17 dùng is-active) */
}
/* V17 cũ ẩn slide bằng display:none -> vô hiệu trong ngữ cảnh slider track. */
.sf-tour-hero-right [data-sf-track] .sf-slide { display: block !important; }


.sf-tour-grid-block { background: #fff; }

.sf-tour-grid-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.sf-tour-grid-ttl { display: flex; align-items: center; gap: 12px; }
.sf-tour-grid-flame {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 11px;
	background: rgba(232,114,74,.14); color: var(--sf-coral, #E8724A);
}
.sf-tour-grid-flame svg { color: var(--sf-coral, #E8724A); }
.sf-tour-grid-head .sf-h2 { margin: 0; }
.sf-tour-grid-more {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 14.5px;
	color: var(--sf-lime, #C8F000);
	text-decoration: none; white-space: nowrap;
	display: inline-flex; align-items: center; gap: 6px;
}
.sf-tour-grid-more:hover { text-decoration: underline; }

/* Grid 4 cột */
.sf-tcg {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.sf-tcg-card {
	display: flex; flex-direction: column;
	background: #fff;
	border: 1px solid #eef1f5;
	border-radius: 14px;
	overflow: hidden;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.sf-tcg-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(11,28,44,.12); }

/* Media 16:9 */
.sf-tcg-media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.sf-tcg-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* FIX LỖI 3 — khi không có ảnh: gradient màu môn + tên giải chữ trắng. */
.sf-tcg-media.sf-tcg-media--fallback {
	display: flex;
	align-items: center;
	justify-content: center;
}
.sf-tcg-media--fallback .sf-tcg-fallback-name {
	position: relative;
	z-index: 1;
	padding: 0 16px;
	text-align: center;
	color: #fff;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-shadow: 0 1px 6px rgba(0,0,0,.35);
}
.sf-tcg-badge {
	position: absolute; top: 10px; left: 10px; z-index: 2;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 11px; letter-spacing: .3px;
	background: #1c8a4e; color: #fff;
	padding: 5px 11px; border-radius: 999px;
}
.sf-tcg-badge.sf-st-live { background: #e8724a; }
.sf-tcg-badge.sf-st-soon { background: #2f6fb0; }
.sf-tcg-badge.sf-st-open { background: #1c8a4e; }
.sf-tcg-badge.sf-st-other { background: #64748b; }

.sf-tcg-fav {
	position: absolute; top: 10px; right: 10px; z-index: 2;
	width: 34px; height: 34px; border-radius: 50%;
	border: 0; cursor: pointer;
	background: rgba(255,255,255,.9); color: #334155;
	display: inline-flex; align-items: center; justify-content: center;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.sf-tcg-fav:hover { background: #fff; transform: scale(1.06); }
.sf-tcg-fav.is-fav { background: #e11d48; color: #fff; }
.sf-tcg-fav.is-fav svg { fill: #fff; }

/* Body */
.sf-tcg-body { padding: 14px 15px 12px; flex: 1; }
.sf-tcg-sport {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 11.5px; letter-spacing: .6px;
	color: #1c8a4e; text-transform: uppercase;
	margin-bottom: 8px;
}
.sf-tcg-sport svg { color: #1c8a4e; }
.sf-tcg-title {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 15.5px; line-height: 1.35; font-weight: 700;
	color: #0f172a; margin: 0 0 10px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.7em;
}
.sf-tcg-title a { color: inherit; text-decoration: none; }
.sf-tcg-title a:hover { color: var(--sf-coral, #E8724A); }

.sf-tcg-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 10px; }
.sf-tcg-meta span { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: #64748b; }
.sf-tcg-meta svg { color: #94a3b8; flex: none; }

.sf-tcg-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.sf-tcg-pill {
	font-size: 11.5px; font-weight: 600;
	background: #f1f5f9; color: #475569;
	padding: 4px 10px; border-radius: 999px;
}
.sf-tcg-pill-more { background: #e2e8f0; color: #334155; }

/* Footer */
.sf-tcg-foot {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 12px 15px;
	border-top: 1px solid #f1f5f9;
	flex-wrap: wrap;
}
.sf-tcg-sub { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: #7b8a99; }
.sf-tcg-avatars { display: inline-flex; }
.sf-tcg-av {
	width: 26px; height: 26px; border-radius: 50%;
	background: #0B1C2C; color: #C8F000;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 700; overflow: hidden;
	border: 2px solid #fff; margin-left: -8px;
}
.sf-tcg-av:first-child { margin-left: 0; }
.sf-tcg-av img { width: 100%; height: 100%; object-fit: cover; }

.sf-tcg-btn {
	display: inline-flex; align-items: center; gap: 5px;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 12.5px;
	padding: 8px 13px; border-radius: 9px;
	border: 1px solid #d7dce2; background: #fff; color: #0f172a;
	text-decoration: none; cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sf-tcg-btn:hover { background: #f1f5f9; border-color: #c4cdd9; }
.sf-tcg-btn-signup { background: #1c8a4e; color: #fff; border-color: #1c8a4e; }
.sf-tcg-btn-signup:hover { background: #166f3e; border-color: #166f3e; }
.sf-tcg-btn-interest { background: #fff; color: #b8502f; border-color: #e8724a; }
.sf-tcg-btn-interest:hover { background: #fdf2ee; }
.sf-tcg-btn-interest.is-interest { background: #e8724a; color: #fff; border-color: #e8724a; }

/* Toast */
.sf-toast {
	position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(20px);
	background: #0f172a; color: #fff;
	font-size: 14px; font-weight: 600;
	padding: 13px 22px; border-radius: 11px;
	box-shadow: 0 12px 30px rgba(11,28,44,.28);
	opacity: 0; pointer-events: none; transition: opacity 220ms ease, transform 220ms ease;
	z-index: 99998; max-width: 90vw;
}
.sf-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
	.sf-tcg { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.sf-tcg { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 768px) {
	.sf-tour-grid-head { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (max-width: 480px) {
	.sf-tcg { grid-template-columns: 1fr; }
	.sf-tcg-foot { justify-content: flex-start; }
}

/* Source: sportify-v19.css */
/* =========================================================
 * sportify-v19.css — single-sf_tournament.php (V20 redesign)
 * PHẦN 1 hero full width, PHẦN 2 tabs, PHẦN 3 main 2 cột.
 * Dùng :root variables (navy/lime/coral/cream). Responsive.
 * ========================================================= */

/* ---------- PHẦN 1 — HERO ---------- */
.sft-hero {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: center;
	color: #fff;
	background-color: var(--sf-navy, #0B1C2C);
	background-size: cover;
	background-position: center;
}
.sft-hero-in { width: 100%; padding-top: 44px; padding-bottom: 44px; }
.sft-hero-grid {
	display: grid;
	grid-template-columns: 65fr 35fr;
	gap: 40px;
	align-items: center;
}
.sft-hero-left { min-width: 0; }

.sft-badge {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--sf-lime, #C8F000); color: #0B1C2C;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 12.5px; letter-spacing: 1px;
	padding: 7px 15px; border-radius: 999px; margin-bottom: 16px;
}
.sft-badge-ic { display: inline-flex; color: #0B1C2C; }

.sft-h1 {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.18; font-weight: 800;
	color: #fff; margin: 0 0 14px;
}
.sft-sub {
	color: rgba(255,255,255,.85);
	font-size: 15.5px; line-height: 1.65;
	margin: 0 0 24px; max-width: 640px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sft-hero-info {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: 22px 30px;
}
.sft-hero-info li { display: flex; align-items: center; gap: 10px; }
.sft-hi-ic {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 9px; flex: none;
	background: rgba(255,255,255,.14); color: var(--sf-lime, #C8F000);
}
.sft-hi-tx { display: flex; flex-direction: column; }
.sft-hi-tx small { font-size: 11.5px; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .5px; }
.sft-hi-tx strong { font-size: 14.5px; color: #fff; font-weight: 700; }

.sft-hero-right { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.sft-logo { text-align: center; margin-bottom: 4px; }
.sft-logo img { max-height: 72px; width: auto; margin: 0 auto; display: block; filter: drop-shadow(0 3px 10px rgba(0,0,0,.3)); }

.sft-st {
	align-self: flex-start;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 12px;
	padding: 6px 13px; border-radius: 999px; color: #fff; background: #1c8a4e;
}
.sft-st.sf-st-live { background: #e8724a; }
.sft-st.sf-st-soon { background: #2f6fb0; }
.sft-st.sf-st-open { background: #1c8a4e; }
.sft-st.sf-st-other { background: #64748b; }
.sft-st-sm { font-size: 10.5px; padding: 4px 10px; }

.sft-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 14.5px;
	padding: 14px 20px; border-radius: 11px; cursor: pointer;
	text-decoration: none; border: 0;
	transition: background-color 160ms ease, transform 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sft-btn-primary { background: var(--sf-lime, #C8F000); color: #0B1C2C; }
.sft-btn-primary:hover { background: #b6dd00; transform: translateY(-1px); }
.sft-btn-outline { background: rgba(255,255,255,.08); color: #fff; border: 1.5px solid rgba(255,255,255,.75); }
.sft-btn-outline:hover { background: rgba(255,255,255,.18); }
.sft-btn-full { width: 100%; }
.sft-fav.is-fav { background: #e11d48; color: #fff; border-color: #e11d48; }
.sft-fav.is-fav svg { fill: #fff; }

/* ---------- PHẦN 2 — BREADCRUMB + TABS ---------- */
.sft-crumb-bar { background: #fff; border-bottom: 1px solid #eef1f5; }
.sft-crumb-bar .sf-container { padding-top: 14px; padding-bottom: 14px; }
.sft-crumb-bar .sf-breadcrumb,
.sft-crumb-bar nav { font-size: 13px; color: #64748b; }

.sft-tabs {
	background: #fff; border-bottom: 1px solid #e5e9ee;
	position: sticky; top: 0; z-index: 30;
}
.sft-tabs-in { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.sft-tabs-in::-webkit-scrollbar { display: none; }
.sft-tab {
	flex: none;
	background: none; border: 0; cursor: pointer;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 14.5px; color: #64748b;
	padding: 16px 18px; position: relative; white-space: nowrap;
	transition: color 160ms ease;
}
.sft-tab:hover { color: #0B1C2C; }
.sft-tab.is-active { color: #0B1C2C; }
.sft-tab.is-active::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px;
	height: 2px; background: var(--sf-lime, #C8F000);
}

/* ---------- PHẦN 3 — MAIN 2 CỘT ---------- */
.sf-tour-body {
	display: grid;
	grid-template-columns: 65fr 35fr;
	gap: 32px;
	align-items: start;
	padding-top: 34px;
	padding-bottom: 64px;
}
/* Chống Flatsome/theme cha ép display:block hoặc float lên 2 cột con */
.sf-tour-body > .sf-tour-main,
.sf-tour-body > .sf-tour-sidebar {
	display: block;
	float: none;
	width: auto;
	max-width: none;
	min-width: 0;
}
.sf-tour-main { min-width: 0; }

.sft-panel { display: none; }
.sft-panel.is-active { display: block; animation: sftFade 220ms ease-out; }
@keyframes sftFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.sft-block {
	background: #fff; border: 1px solid #eef1f5; border-radius: 14px;
	padding: 22px 24px; margin-bottom: 20px;
}
.sft-block-title {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 18px; font-weight: 700; color: #0B1C2C;
	margin: 0 0 16px;
}
.sft-block-title svg { color: var(--sf-coral, #E8724A); flex: none; }
.sft-block-sub {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 15px; font-weight: 700; color: #33445a; margin: 0 0 12px;
}
.sft-content { font-size: 15.5px; line-height: 1.75; color: #33445a; }
.sft-content h2, .sft-content h3 { color: #0B1C2C; }
.sft-content img { max-width: 100%; height: auto; border-radius: 10px; }
.sft-empty { color: #94a3b8; font-style: italic; }

/* Highlights 2x2 */
.sft-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sft-hl { display: flex; align-items: flex-start; gap: 11px; font-size: 14.5px; color: #33445a; }
.sft-hl-ic {
	flex: none; width: 38px; height: 38px; border-radius: 10px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(28,138,78,.12); color: #1c8a4e;
}

/* Info grid */
.sft-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.sft-info-cell { display: flex; align-items: flex-start; gap: 11px; }
.sft-info-ic {
	flex: none; width: 38px; height: 38px; border-radius: 10px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #f1f5f9; color: #0B1C2C;
}
.sft-info-tx { display: flex; flex-direction: column; }
.sft-info-tx small { font-size: 12px; color: #94a3b8; text-transform: uppercase; letter-spacing: .4px; }
.sft-info-tx strong { font-size: 14.5px; color: #0f172a; font-weight: 700; }

.sft-pills-wrap { border-top: 1px solid #eef1f5; padding-top: 16px; }
.sft-pills-label { display: block; font-size: 12.5px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 10px; }
.sft-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.sft-pill {
	color: #fff; font-weight: 700; font-size: 12.5px;
	padding: 6px 14px; border-radius: 999px;
}

/* Timeline */
.sft-timeline { position: relative; padding-left: 8px; }
.sft-tl-item {
	display: grid; grid-template-columns: 76px 22px 1fr; align-items: center; gap: 10px;
	padding: 9px 0; position: relative;
}
.sft-tl-item:not(:last-child)::before {
	content: ""; position: absolute; left: 86px; top: 50%; bottom: -50%;
	width: 2px; background: #e2e8f0;
}
.sft-tl-time { font-family: var(--sf-mono, monospace); font-weight: 700; font-size: 13.5px; color: #0B1C2C; }
.sft-tl-dot { width: 11px; height: 11px; border-radius: 50%; background: #1c8a4e; z-index: 1; }
.sft-tl-text { font-size: 14.5px; color: #33445a; }

/* Map + route */
.sft-map { border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.sft-map iframe { width: 100%; height: 360px; border: 0; display: block; }
.sft-route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.sft-route-img { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 4/3; background: #eef1f5; }
.sft-route-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sft-map-btn { margin-top: 4px; }

/* Gallery grid 3 cột */
.sft-gal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sft-gal-img { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 4/3; background: #eef1f5; }
.sft-gal-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 220ms ease; }
.sft-gal-img:hover img { transform: scale(1.05); }

/* FAQ accordion */
.sft-faq-item { border-bottom: 1px solid #eef1f5; }
.sft-faq-item:last-child { border-bottom: 0; }
.sft-faq-q {
	width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 15px; color: #0f172a;
	padding: 15px 0;
}
.sft-faq-ic { font-size: 20px; color: #1c8a4e; transition: transform 180ms ease; flex: none; }
.sft-faq-q[aria-expanded="true"] .sft-faq-ic { transform: rotate(45deg); }
.sft-faq-a { max-height: 0; overflow: hidden; transition: max-height 240ms ease; }
.sft-faq-a p { margin: 0 0 16px; font-size: 14.5px; line-height: 1.7; color: #475569; }
.sft-faq-item.is-open .sft-faq-a { max-height: 500px; }

/* Others */
.sft-others-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sft-other {
	display: flex; gap: 12px; text-decoration: none; color: inherit;
	border: 1px solid #eef1f5; border-radius: 12px; overflow: hidden;
	transition: box-shadow 160ms ease, transform 160ms ease;
}
.sft-other:hover { box-shadow: 0 8px 22px rgba(15,23,42,.10); transform: translateY(-2px); }
.sft-other-media { width: 96px; flex: none; background: #eef1f5; overflow: hidden; }
.sft-other-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sft-other-body { display: flex; flex-direction: column; gap: 4px; padding: 12px 12px 12px 0; min-width: 0; }
.sft-other-body strong { font-family: var(--sf-head, "Space Grotesk", sans-serif); font-size: 14px; color: #0f172a; line-height: 1.35; }
.sft-other-body small { font-size: 12.5px; color: #94a3b8; }

/* ---------- SIDEBAR STICKY ---------- */
.sf-tour-sidebar { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 80px; align-self: start; }
.sft-card {
	background: #fff; border: 1px solid #eef1f5; border-radius: 14px;
	padding: 20px; box-shadow: 0 2px 14px rgba(15,23,42,.06);
}
.sft-card-title {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 17px; font-weight: 700; color: #0B1C2C; margin: 0 0 6px;
}
.sft-card-sub { font-size: 13px; color: #7b8a99; margin: 0 0 16px; line-height: 1.5; }

.sft-pricing { margin-bottom: 16px; display: flex; flex-direction: column; gap: 10px; }
.sft-price-row {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 10px 12px; background: #f8fafc; border-radius: 10px;
}
.sft-price-name { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; color: #33445a; }
.sft-price-dot { width: 12px; height: 12px; border-radius: 50%; flex: none; }
.sft-price-val { font-family: var(--sf-mono, monospace); font-weight: 700; color: #1c8a4e; font-size: 14.5px; }

.sft-secure {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	font-size: 12px; color: #7b8a99; margin: 12px 0 0;
}
.sft-secure svg { color: #1c8a4e; }

.sft-contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sft-contact li { display: flex; align-items: flex-start; gap: 11px; font-size: 14px; color: #33445a; }
.sft-ct-ic {
	flex: none; width: 32px; height: 32px; border-radius: 9px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #f1f5f9; color: #0B1C2C;
}
.sft-contact a { color: #1c8a4e; text-decoration: none; font-weight: 600; }
.sft-contact a:hover { text-decoration: underline; }

/* Lightbox */
.sft-lb {
	position: fixed; inset: 0; z-index: 99999; display: none;
	background: rgba(6,12,22,.92); align-items: center; justify-content: center; padding: 24px;
}
.sft-lb.is-open { display: flex; }
.sft-lb img { max-width: 92vw; max-height: 88vh; border-radius: 12px; object-fit: contain; }
.sft-lb-close {
	position: absolute; top: 18px; right: 20px; width: 42px; height: 42px; border-radius: 50%;
	border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 24px; cursor: pointer; line-height: 1;
}

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.sft-hero { min-height: 340px; }
	.sft-hero-grid { grid-template-columns: 1fr; gap: 24px; }
	.sft-hero-right { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.sft-hero-right .sft-btn { flex: 1; min-width: 160px; }
}
@media (max-width: 900px) {
	/* 2 cột → 1 cột, sidebar xuống dưới nội dung */
	.sf-tour-body { grid-template-columns: 1fr; gap: 24px; }
	.sf-tour-sidebar { position: static; top: auto; }
}
@media (max-width: 768px) {
	.sft-hero { min-height: 280px; }
	.sft-hero-info { gap: 16px; flex-direction: column; align-items: flex-start; }
	.sft-highlights, .sft-info-grid, .sft-others-list { grid-template-columns: 1fr; }
	.sft-route-grid, .sft-gal-grid { grid-template-columns: 1fr 1fr; }
	.sft-block { padding: 18px; }
}
@media (max-width: 480px) {
	.sft-hero-right { flex-direction: column; }
	.sft-route-grid, .sft-gal-grid { grid-template-columns: 1fr; }
	.sft-tl-item { grid-template-columns: 58px 18px 1fr; }
	.sft-tl-item:not(:last-child)::before { left: 66px; }
}

/* =========================================================
 * V20b — CARD 3 (Sự kiện sắp tới) + PHẦN 4 (Giải liên quan)
 * ========================================================= */

/* CARD heading có link phải */
.sft-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.sft-card-head .sft-card-title { margin: 0; }
.sft-card-link {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 12.5px; color: #1c8a4e;
	text-decoration: none; white-space: nowrap;
	display: inline-flex; align-items: center; gap: 4px;
}
.sft-card-link:hover { text-decoration: underline; }

/* Item "Sự kiện sắp tới" */
.sft-upcoming { display: flex; flex-direction: column; gap: 10px; }
.sft-up {
	display: flex; gap: 11px; text-decoration: none; color: inherit;
	padding: 8px; border-radius: 10px; transition: background-color 160ms ease;
}
.sft-up:hover { background: #f8fafc; }
.sft-up-thumb {
	width: 80px; height: 80px; flex: none; border-radius: 9px; overflow: hidden;
	background: #eef1f5; display: block;
}
.sft-up-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sft-up-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; justify-content: center; }
.sft-up-body strong {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 13.5px; font-weight: 700; color: #0f172a; line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sft-up-body small { font-size: 12px; color: #94a3b8; }
.sft-up-pills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 3px; }
.sft-up-pill {
	font-size: 10.5px; font-weight: 600; color: #475569;
	background: #f1f5f9; padding: 2px 8px; border-radius: 999px;
}

/* ---------- PHẦN 4 — GIẢI ĐẤU LIÊN QUAN ---------- */
.sft-related { background: #f8f8f8; padding: 46px 0 56px; margin-top: 10px; }
.sft-related-head {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px;
}
.sft-related-ttl {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: clamp(20px, 2.4vw, 26px); font-weight: 700; color: #0B1C2C; margin: 0;
}
.sft-related-ttl svg { color: var(--sf-coral, #E8724A); flex: none; }
.sft-related-more {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 14px; color: #1c8a4e;
	text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px;
}
.sft-related-more:hover { text-decoration: underline; }

.sft-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sft-rel {
	display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border-radius: 14px; text-decoration: none; color: inherit;
	box-shadow: 0 2px 12px rgba(15,23,42,.05);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.sft-rel:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(11,28,44,.12); }
.sft-rel-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.sft-rel-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sft-rel-sport {
	position: absolute; top: 10px; left: 10px;
	background: var(--sf-lime, #C8F000); color: #0B1C2C;
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-weight: 700; font-size: 10.5px; letter-spacing: .5px;
	padding: 4px 10px; border-radius: 999px;
}
.sft-rel-body { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 14px 15px 16px; }
.sft-rel-name {
	font-family: var(--sf-head, "Space Grotesk", sans-serif);
	font-size: 15px; font-weight: 700; color: #0f172a; line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	padding-right: 26px;
}
.sft-rel-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.sft-rel-meta span { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: #64748b; }
.sft-rel-meta svg { color: #94a3b8; flex: none; }
.sft-rel-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.sft-rel-pill {
	font-size: 11px; font-weight: 600; color: #475569;
	background: #f1f5f9; padding: 3px 9px; border-radius: 999px;
}
.sft-rel-arrow {
	position: absolute; right: 14px; bottom: 16px;
	color: #1c8a4e; font-size: 18px; font-weight: 700;
	transition: transform 160ms ease;
}
.sft-rel:hover .sft-rel-arrow { transform: translateX(3px); }

@media (max-width: 1200px) {
	.sft-related-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.sft-related { padding: 34px 0 44px; }
	.sft-related-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
	.sft-related-grid { grid-template-columns: 1fr; }
	.sft-related-head { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* Source: sportify-v20.css */
/* =========================================================
 * sportify-v20.css — Trang danh sách giải đấu (archive-sf_tournament.php)
 * Giữ nguyên font/màu/variables của theme (--sf-navy, --sf-lime, ...).
 * Responsive: 1200 / 900 / 768 / 480px.
 * 2 cột -> 1 cột ở 900px (sidebar xuống dưới).
 * ========================================================= */

/* ---------- PHẦN 1 — HERO BANNER ---------- */
.sfta-hero {
	position: relative;
	min-height: 320px;
	display: flex;
	align-items: center;
	background-color: #0a1626;
	background-image: linear-gradient(135deg, #0a1626 0%, #123 55%, #0B1C2C 100%);
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.sfta-hero-overlay {
	position: absolute; inset: 0;
	background: rgba(10, 20, 40, .6);
	z-index: 1;
}
.sfta-hero-in {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding-top: 46px;
	padding-bottom: 46px;
}
.sfta-hero-left { max-width: 720px; }
.sfta-hero-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 12px;
	color: var(--sf-lime, #C8F000);
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.sfta-hero-label .sf-ic { stroke-width: 2; }
.sfta-hero-h1 {
	margin: 0 0 14px;
	color: #fff;
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 36px;
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -.4px;
}
.sfta-hero-sub {
	margin: 0;
	color: rgba(255, 255, 255, .8);
	font-size: 15px;
	line-height: 1.6;
	max-width: 620px;
}
.sfta-hero-sub p { margin: 0 0 6px; color: inherit; }
.sfta-hero-sub p:last-child { margin-bottom: 0; }
.sfta-hero-crumb {
	margin-top: 18px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
}
.sfta-hero-crumb a { color: rgba(255, 255, 255, .72); text-decoration: none; transition: color .18s ease; }
.sfta-hero-crumb a:hover { color: var(--sf-lime, #C8F000); }
.sfta-hero-crumb span[aria-current] { color: var(--sf-lime, #C8F000); font-weight: 600; }
.sfta-hero-deco {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	color: rgba(255, 255, 255, .4);
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 30px;
	font-weight: 800;
	font-style: italic;
	line-height: 1.05;
	letter-spacing: -.5px;
	transform: rotate(-7deg);
	white-space: nowrap;
	user-select: none;
	pointer-events: none;
}

/* ---------- PHẦN 2 — SPORT SELECTOR ---------- */
.sfta-sportbar {
	background: #fff;
	border-bottom: 1px solid #eef1f5;
	position: relative;
	z-index: 3;
}
.sfta-sportbar-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding-top: 16px;
	padding-bottom: 16px;
}
.sfta-spill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 15px;
	border-radius: 24px;
	border: 1.5px solid var(--sp, #0B1C2C);
	background: #fff;
	color: var(--sp, #0B1C2C);
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
	white-space: nowrap;
}
.sfta-spill svg { flex: 0 0 auto; }
.sfta-spill:hover { background: color-mix(in srgb, var(--sp, #0B1C2C) 8%, #fff); }
.sfta-spill.is-active {
	background: var(--sp, #0B1C2C);
	color: #fff;
	border-color: var(--sp, #0B1C2C);
}
.sfta-spill.is-active[data-sport="all"] { color: #fff; }
.sfta-spill.is-active[data-sport="cau-long"] { color: #04331c; }
.sfta-spill.is-active[data-sport="tennis"] { color: #fff; }

/* ---------- PHẦN 3 — TOOLBAR ---------- */
.sfta-body { padding-top: 26px; padding-bottom: 64px; }
.sfta-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.sfta-search {
	position: relative;
	flex: 1 1 320px;
	min-width: 240px;
}
.sfta-search-ic {
	position: absolute; left: 14px; top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	display: inline-flex;
	pointer-events: none;
}
.sfta-search-input {
	width: 100%;
	height: 46px;
	padding: 0 16px 0 42px;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 14.5px;
	color: var(--sf-navy, #0B1C2C);
	transition: border-color .18s ease, box-shadow .18s ease;
}
.sfta-search-input::placeholder { color: #9aa8b8; }
.sfta-search-input:focus {
	outline: none;
	border-color: var(--sf-lime, #C8F000);
	box-shadow: 0 0 0 3px rgba(200, 240, 0, .22);
}
.sfta-toolbar-right { display: flex; align-items: center; gap: 12px; }
.sfta-sort {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 34px 0 14px;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}
.sfta-sort-label { font-size: 13.5px; color: #64748b; white-space: nowrap; }
.sfta-sort-select {
	appearance: none; -webkit-appearance: none;
	border: 0; background: transparent;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 14px; font-weight: 600;
	color: var(--sf-navy, #0B1C2C);
	cursor: pointer;
	padding: 0;
	min-width: 118px;
}
.sfta-sort-select:focus { outline: none; }
.sfta-sort-chev {
	position: absolute; right: 12px; top: 50%;
	transform: translateY(-50%);
	color: #64748b;
	display: inline-flex; pointer-events: none;
}
.sfta-view {
	display: inline-flex;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}
.sfta-view-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 43px;
	border: 0; background: #fff;
	color: #94a3b8;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}
.sfta-view-btn:hover { color: var(--sf-navy, #0B1C2C); }
.sfta-view-btn.is-active { background: var(--sf-navy, #0B1C2C); color: #fff; }

/* ---------- PHẦN 4 — MAIN 2 CỘT (75/25) ---------- */
.sfta-main {
	display: grid;
	grid-template-columns: 75fr 25fr;
	gap: 28px;
	align-items: start;
}
.sfta-list-col { min-width: 0; }

/* ---- Grid view: 3 cột ---- */
.sfta-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.sfta-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #eef1f5;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(15, 23, 42, .05);
	transition: transform .2s ease, box-shadow .2s ease;
}
.sfta-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(15, 23, 42, .12); }

.sfta-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: #eef1f5;
	overflow: hidden;
}
.sfta-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sfta-card-ph {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
	color: #fff;
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 15px; font-weight: 700;
	text-align: center; line-height: 1.3;
}
.sfta-badge {
	position: absolute; top: 10px; left: 10px;
	display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 10px;
	border-radius: 20px;
	font-size: 11px; font-weight: 700;
	letter-spacing: .2px;
	background: rgba(255, 255, 255, .94);
	color: var(--sf-navy, #0B1C2C);
}
.sfta-badge i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; display: inline-block; }
.sfta-badge.is-open { color: #1c8a4e; }
.sfta-badge.is-upcoming { color: #E8724A; }
.sfta-badge.is-ongoing { color: #2f6fb0; }
.sfta-badge.is-ended { color: #7c8798; }
.sfta-fav {
	position: absolute; top: 10px; right: 10px;
	width: 34px; height: 34px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	color: var(--sf-navy, #0B1C2C);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}
.sfta-fav:hover { background: #fff; }
.sfta-fav.is-fav, .sfta-fav.is-on { color: #e2495b; }

.sfta-card-body { padding: 16px; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.sfta-card-sport {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 12px; font-weight: 700;
	letter-spacing: .2px;
}
.sfta-card-sport-ic {
	width: 24px; height: 24px; flex: 0 0 24px;
	border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	color: #fff;
}
.sfta-card-sport-ic svg { stroke: #fff; }
.sfta-card-title {
	margin: 0;
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 15px; font-weight: 700; line-height: 1.4;
	color: var(--sf-navy, #0B1C2C);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sfta-card-title a { color: inherit; text-decoration: none; }
.sfta-card-title a:hover { color: #1c8a4e; }
.sfta-card-meta {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 13px; color: #64748b;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sfta-card-meta .sf-ic { flex: 0 0 auto; color: #94a3b8; }
.sfta-card-meta-one { display: flex; }
.sfta-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.sfta-cat {
	padding: 3px 9px;
	border-radius: 20px;
	background: #f1f5f9;
	color: #64748b;
	font-size: 11px; font-weight: 600;
}
.sfta-cat.is-more { background: var(--sf-navy, #0B1C2C); color: #fff; }
.sfta-card-foot {
	margin-top: auto;
	padding-top: 10px;
	display: flex; align-items: center; justify-content: space-between;
	gap: 10px;
}
.sfta-people { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.sfta-avs { display: inline-flex; }
.sfta-av {
	width: 20px; height: 20px; border-radius: 50%;
	background-size: cover; background-position: center;
	border: 1.5px solid #fff;
	margin-left: -7px;
	background-color: #dbe3ec;
}
.sfta-av:first-child { margin-left: 0; }
.sfta-people-tx { font-size: 12px; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sfta-btn {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 8px 13px;
	border-radius: 10px;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 12.5px; font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.sfta-btn.is-primary { background: #1c8a4e; color: #fff; }
.sfta-btn.is-primary:hover { background: #166d3e; }
.sfta-btn.is-outline-lime { background: #fff; color: #1c8a4e; border-color: #1c8a4e; }
.sfta-btn.is-outline-lime:hover { background: #1c8a4e; color: #fff; }
.sfta-btn.is-outline-navy { background: #fff; color: var(--sf-navy, #0B1C2C); border-color: var(--sf-navy, #0B1C2C); }
.sfta-btn.is-outline-navy:hover { background: var(--sf-navy, #0B1C2C); color: #fff; }
.sfta-btn.is-outline-gray { background: #fff; color: #7c8798; border-color: #cfd8e3; }
.sfta-btn.is-outline-gray:hover { background: #7c8798; border-color: #7c8798; color: #fff; }

/* ---- List view ---- */
.sfta-grid.is-list { grid-template-columns: 1fr; gap: 14px; }
.sfta-grid.is-list .sfta-card { flex-direction: row; }
.sfta-grid.is-list .sfta-card-media {
	aspect-ratio: auto;
	width: 190px; flex: 0 0 190px;
}
.sfta-grid.is-list .sfta-card-body { padding: 14px 18px; }
.sfta-grid.is-list .sfta-card-foot { padding-top: 8px; }

/* ---- Empty state ---- */
.sfta-empty {
	padding: 48px 20px;
	text-align: center;
	background: #f9fafb;
	border: 1px dashed #dbe3ec;
	border-radius: 14px;
}
.sfta-empty[hidden] { display: none; }
.sfta-empty p { margin: 0 0 6px; color: #475569; font-size: 15px; }
.sfta-empty-sub { color: #94a3b8 !important; font-size: 14px !important; }
.sfta-empty .sfta-btn { margin-top: 12px; }

/* ---- Phân trang ---- */
.sfta-page {
	margin-top: 28px;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
}
.sfta-page .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 10px;
	border: 1.5px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	color: var(--sf-navy, #0B1C2C);
	font-size: 14px; font-weight: 600;
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.sfta-page .page-numbers:hover { border-color: #1c8a4e; color: #1c8a4e; }
.sfta-page .page-numbers.current { background: #1c8a4e; border-color: #1c8a4e; color: #fff; }

/* ---------- SIDEBAR — Bộ lọc nhanh ---------- */
.sfta-side { min-width: 0; }
.sfta-filter-card {
	position: sticky; top: 80px;
	background: #fff;
	border: 1px solid #eef1f5;
	border-radius: 14px;
	box-shadow: 0 2px 14px rgba(15, 23, 42, .06);
	overflow: hidden;
}
.sfta-filter-head {
	padding: 16px;
	border-bottom: 1px solid #eef1f5;
	display: flex; flex-direction: column; gap: 11px;
}
.sfta-filter-ttl {
	margin: 0;
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 16px; font-weight: 700;
	color: var(--sf-navy, #0B1C2C);
}
.sfta-filter-ttl svg { color: #1c8a4e; }
.sfta-count-btn {
	width: 100%;
	padding: 10px 14px;
	border: 0; border-radius: 10px;
	background: #1c8a4e; color: #fff;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 13.5px; font-weight: 700;
	cursor: pointer;
	transition: background-color .18s ease;
}
.sfta-count-btn:hover { background: #166d3e; }
.sfta-count-btn span { font-family: var(--sf-mono, 'DM Mono', monospace); }

.sfta-acc-item { border-bottom: 1px solid #f1f5f9; }
.sfta-acc-item:last-of-type { border-bottom: 0; }
.sfta-acc-sum {
	list-style: none;
	display: flex; align-items: center; justify-content: space-between;
	gap: 8px;
	padding: 13px 16px;
	cursor: pointer;
	font-size: 14px; font-weight: 600;
	color: var(--sf-navy, #0B1C2C);
	transition: color .18s ease;
}
.sfta-acc-sum::-webkit-details-marker { display: none; }
.sfta-acc-sum:hover { color: #1c8a4e; }
.sfta-acc-chev { display: inline-flex; color: #94a3b8; transition: transform .2s ease; }
.sfta-acc-item[open] .sfta-acc-chev { transform: rotate(180deg); }
.sfta-acc-body {
	padding: 0 16px 14px;
	display: flex; flex-direction: column; gap: 9px;
}
.sfta-radio, .sfta-check {
	display: flex; align-items: center; gap: 9px;
	font-size: 13.5px; color: #475569;
	cursor: pointer;
}
.sfta-radio input, .sfta-check input {
	width: 16px; height: 16px;
	accent-color: #1c8a4e;
	cursor: pointer;
	flex: 0 0 auto;
}
.sfta-radio:hover span, .sfta-check:hover span { color: var(--sf-navy, #0B1C2C); }
.sfta-clear {
	display: block;
	width: calc(100% - 32px);
	margin: 4px 16px 16px;
	padding: 9px;
	border: 0; background: transparent;
	color: #94a3b8;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 12.5px; font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	transition: color .18s ease;
}
.sfta-clear:hover { color: #e2495b; }

/* ---------- CARD — Tổ chức giải đấu cùng Sportify ---------- */
.sfta-org {
	margin-top: 18px;
	padding: 22px 20px;
	border-radius: 14px;
	background: linear-gradient(150deg, #166d3e 0%, #0f5230 60%, #0B1C2C 100%);
	color: #fff;
	box-shadow: 0 8px 24px rgba(15, 82, 48, .28);
}
.sfta-org-ic {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .14);
	color: var(--sf-lime, #C8F000);
	margin-bottom: 13px;
}
.sfta-org-ttl {
	margin: 0 0 9px;
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 17px; font-weight: 700; line-height: 1.32;
	color: #fff;
}
.sfta-org-sub {
	margin: 0 0 16px;
	font-size: 13px; line-height: 1.6;
	color: rgba(255, 255, 255, .82);
}
.sfta-org-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	width: 100%;
	padding: 11px 16px;
	border: 1.5px solid rgba(255, 255, 255, .75);
	border-radius: 10px;
	background: transparent;
	color: #fff;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 13.5px; font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.sfta-org-btn:hover { background: #fff; color: #0f5230; border-color: #fff; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1200px) {
	.sfta-grid { grid-template-columns: repeat(2, 1fr); }
	.sfta-hero-h1 { font-size: 32px; }
	.sfta-hero-deco { font-size: 25px; }
}
@media (max-width: 900px) {
	/* 2 cột -> 1 cột, sidebar xuống dưới */
	.sfta-main { grid-template-columns: 1fr; gap: 24px; }
	.sfta-filter-card { position: static; top: auto; }
	.sfta-hero { min-height: 280px; }
	.sfta-hero-deco { display: none; }
	.sfta-hero-h1 { font-size: 29px; }
}
@media (max-width: 768px) {
	.sfta-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.sfta-toolbar { flex-direction: column; align-items: stretch; }
	.sfta-toolbar-right { justify-content: space-between; }
	.sfta-search { flex: 1 1 auto; }
	.sfta-sportbar-in { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.sfta-sportbar-in::-webkit-scrollbar { display: none; }
	.sfta-grid.is-list .sfta-card-media { width: 130px; flex: 0 0 130px; }
	.sfta-grid.is-list .sfta-card-body { padding: 12px 14px; }
}
@media (max-width: 480px) {
	.sfta-hero { min-height: 200px; }
	.sfta-hero-in { padding-top: 30px; padding-bottom: 30px; }
	.sfta-hero-h1 { font-size: 24px; }
	.sfta-hero-sub { font-size: 14px; }
	.sfta-hero-label { font-size: 11px; }
	.sfta-grid { grid-template-columns: 1fr; }
	.sfta-grid.is-list .sfta-card { flex-direction: column; }
	.sfta-grid.is-list .sfta-card-media { width: 100%; flex: 0 0 auto; aspect-ratio: 16 / 9; }
	.sfta-sort-label { display: none; }
	.sfta-sort-select { min-width: 96px; }
	.sfta-filter-head { padding: 14px; }
	.sfta-body { padding-bottom: 46px; }
}

/* Source: sportify-v21.css */
/* =========================================================
 * sportify-v21.css — Khối nội dung SEO cuối trang + Infinite scroll.
 * Dùng :root variables của theme. Không sửa file CSS cũ.
 * ========================================================= */

/* ---------- Khối "Nội dung SEO" cuối archive ---------- */
.sf-seo-block {
	margin-top: 44px;
	padding: 34px 0 8px;
	border-top: 1px solid #eef1f5;
	background: #fff;
}
.sf-seo-inner { max-width: 900px; }
.sf-seo-title {
	margin: 0 0 14px;
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sf-navy, #0B1C2C);
}
.sf-seo-content {
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 14.5px;
	line-height: 1.75;
	color: #475569;
}
.sf-seo-content p { margin: 0 0 12px; }
.sf-seo-content p:last-child { margin-bottom: 0; }
.sf-seo-content strong { color: var(--sf-navy, #0B1C2C); font-weight: 700; }
.sf-seo-content a { color: #1c8a4e; text-decoration: underline; }
.sf-seo-content a:hover { color: #166d3e; }
.sf-seo-content h2,
.sf-seo-content h3 {
	font-family: var(--sf-head, 'Space Grotesk', sans-serif);
	color: var(--sf-navy, #0B1C2C);
	margin: 20px 0 10px;
	line-height: 1.35;
}
.sf-seo-content h2 { font-size: 18px; }
.sf-seo-content h3 { font-size: 16px; }
.sf-seo-content ul,
.sf-seo-content ol { margin: 0 0 12px; padding-left: 20px; }
.sf-seo-content li { margin-bottom: 6px; }

/* ---------- Infinite scroll ---------- */
.sf-inf {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	min-height: 52px;
}
.sf-inf-loader {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.sf-inf-loader[hidden] { display: none; }
.sf-inf-dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #1c8a4e;
	opacity: .35;
	animation: sfInfPulse 900ms ease-in-out infinite;
}
.sf-inf-dot:nth-child(2) { animation-delay: 150ms; }
.sf-inf-dot:nth-child(3) { animation-delay: 300ms; }
@keyframes sfInfPulse {
	0%, 100% { opacity: .3; transform: translateY(0); }
	50% { opacity: 1; transform: translateY(-4px); }
}

.sf-inf-btn {
	padding: 11px 26px;
	border: 1.5px solid var(--sf-navy, #0B1C2C);
	border-radius: 10px;
	background: #fff;
	color: var(--sf-navy, #0B1C2C);
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.sf-inf-btn:hover {
	background: var(--sf-navy, #0B1C2C);
	color: #fff;
	border-color: var(--sf-navy, #0B1C2C);
}
.sf-inf-btn[hidden] { display: none; }

.sf-inf-end {
	margin: 0;
	color: #94a3b8;
	font-family: var(--sf-body, 'Manrope', sans-serif);
	font-size: 13.5px;
}
.sf-inf-end[hidden] { display: none; }

/* Card chèn thêm bằng AJAX — giữ nguyên hiệu ứng hover của card gốc */
.sf-v21-card { animation: sfInfFadeIn 260ms ease-out; }
@keyframes sfInfFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.sf-seo-block { margin-top: 32px; padding-top: 26px; }
	.sf-seo-title { font-size: 19px; }
}
@media (max-width: 480px) {
	.sf-seo-block { margin-top: 26px; padding-top: 22px; }
	.sf-seo-title { font-size: 17px; }
	.sf-seo-content { font-size: 14px; line-height: 1.7; }
	.sf-inf-btn { width: 100%; }
}

/* Source: sportify-v22.css */
/* =========================================================
 * SPORTIFY V22 — Bản vá theo yêu cầu
 *   1) (ĐÃ HOÀN TÁC) Chữ xám/mờ -> trắng: trả về màu gốc theo yêu cầu.
 *   2) Trạng thái giải đấu: qua ngày/kết thúc -> "Kết thúc" + đẩy về sau
 *   3) Sửa bộ lọc nhanh sticky che nội dung (top 80px -> tự động theo header)
 * Nạp sau v21 nên ghi đè an toàn.
 * ========================================================= */

/* ---------- 3) BỘ LỌC NHANH: KHÔNG CHE NỘI DUNG ---------- */
/* sticky top 80px nhưng header cao hơn -> bị che. Dùng biến --sf-hd + cho phép
   sidebar cuộn nội bộ khi cao hơn màn hình. */
.sfta-filter-card {
	position: sticky;
	top: calc(var(--sf-hd, 96px) + 12px);
	max-height: calc(100vh - var(--sf-hd, 96px) - 28px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
}
.sfta-filter-card::-webkit-scrollbar { width: 6px; }
.sfta-filter-card::-webkit-scrollbar-thumb { background: #d5dde7; border-radius: 999px; }

/* ---------- 2) TRẠNG THÁI "KẾT THÚC" (badge xám) ---------- */
.sf-st-ended,
.sft-st.sf-st-ended {
	background: #64748b !important;
	color: #fff !important;
}
.sfta-card.is-ended {
	opacity: .72;
}
.sfta-card.is-ended .sfta-card-media { filter: grayscale(.55); }

@media (max-width: 900px) {
	.sfta-filter-card {
		position: static;
		max-height: none;
		overflow: visible;
	}
}

/* Source: sportify-v23.css */
/* =========================================================
 * SPORTIFY V23 — Sửa bộ lọc nhanh che khối "Tổ chức giải đấu cùng Sportify"
 * ---------------------------------------------------------
 * V22 đặt sticky lên .sfta-filter-card (top tự động + max-height + overflow).
 * Nhưng .sfta-org nằm SAU card trong cùng <aside>, nên khi card dài hơn
 * màn hình (mở hết accordion), card dán vẫn phủ lên khối .sfta-org bên dưới.
 *
 * Cách sửa: chuyển vùng sticky lên CHÍNH <aside class="sfta-side"> để cả
 * bộ lọc + khối tổ chức cùng dán và cùng cuộn trong một vùng.
 *   - .sfta-side : sticky, giới hạn chiều cao theo viewport, cuộn nội bộ
 *   - .sfta-filter-card : bỏ sticky (trở lại tĩnh), bỏ max-height/overflow
 *   - .sfta-org : không còn bị che vì nằm chung vùng cuộn
 * Nạp sau v22 nên ghi đè an toàn.
 * ========================================================= */

/* 1) Vùng sticky chuyển lên <aside> — cả cột phải dán & cuộn cùng nhau. */
.sfta-side {
	position: sticky;
	top: calc(var(--sf-hd, 96px) + 12px);
	max-height: calc(100vh - var(--sf-hd, 96px) - 28px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	align-self: start;
}
.sfta-side::-webkit-scrollbar { width: 6px; }
.sfta-side::-webkit-scrollbar-thumb { background: #d5dde7; border-radius: 999px; }

/* 2) Bỏ sticky/giới hạn chiều cao ở card lọc (V22) — nó là con của aside. */
.sfta-filter-card {
	position: static;
	top: auto;
	max-height: none;
	overflow: visible;
	overscroll-behavior: auto;
}

/* 3) Khối "Tổ chức giải đấu cùng Sportify" — không còn bị đè. */
.sfta-org {
	margin-top: 18px;
}

/* 4) Mobile/tablet: bỏ hẳn sticky, để cả cột cuộn tự nhiên như trang. */
@media (max-width: 900px) {
	.sfta-side {
		position: static;
		top: auto;
		max-height: none;
		overflow: visible;
	}
}

/* Source: sportify-v24.css */
/* =========================================================
 * SPORTIFY V24 — HERO TRANG CHỦ (redesign theo mockup)
 *   - Nền ảnh sân thể thao + lớp overlay tối
 *   - Tiêu đề lớn: "Tìm sân thể thao" (trắng) + "gần bạn." (lime)
 *   - Thanh tìm kiếm trắng 3 ô (Môn / Khu vực / Ngày) + nút lime
 *   - 4 quick link thể thao bên dưới
 * Dùng prefix .sf-hs-* để KHÔNG đụng .sf-search-* của header (search overlay).
 * Nạp sau v23 nên ghi đè an toàn. Không dùng emoji.
 * ========================================================= */

/* ---------- Khung hero ---------- */
.sf-hero-v24 {
	position: relative;
	background: var(--sf-navy, #0B1C2C);
	background-image: var(--sf-hero-img, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
	padding: 0;
	overflow: hidden;
	min-height: 620px;
	display: flex;
	align-items: center;
}

/* Lớp overlay tối — giữ chữ trắng luôn đọc được */
.sf-hero-v24::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		100deg,
		rgba(11, 28, 44, .92) 0%,
		rgba(11, 28, 44, .78) 42%,
		rgba(11, 28, 44, .42) 72%,
		rgba(11, 28, 44, .28) 100%
	);
	z-index: 1;
}

.sf-hero-v24 > .sf-container {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: 72px;
	padding-bottom: 64px;
}

/* ---------- Tiêu đề ---------- */
.sf-hero-v24 .sf-hero-kicker {
	color: var(--sf-lime, #C8F000);
	letter-spacing: .22em;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	margin: 0 0 18px;
	font-family: var(--sf-mono, monospace);
}

.sf-hero-v24 h1 {
	font-family: var(--sf-head, inherit);
	font-size: clamp(38px, 6.2vw, 74px);
	line-height: 1.03;
	letter-spacing: -1.5px;
	font-weight: 800;
	margin: 0 0 20px;
	max-width: 16ch;
	color: #fff;
}

.sf-hero-v24 h1 .sf-hero-hl { color: var(--sf-lime, #C8F000); }

.sf-hero-v24 .sf-sub {
	color: rgba(255, 255, 255, .82);
	font-size: 17px;
	line-height: 1.7;
	max-width: 560px;
	margin: 0 0 34px;
}

/* ---------- Thanh tìm kiếm ---------- */
.sf-hs {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: #fff;
	border-radius: 16px;
	padding: 8px;
	max-width: 900px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
	margin-bottom: 28px;
}

.sf-hs-field {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 18px;
	flex: 1 1 0;
	min-width: 0;
	border-right: 1px solid #e7ecf1;
}

.sf-hs-field:last-of-type { border-right: none; }

.sf-hs-icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	color: var(--sf-navy, #0B1C2C);
	opacity: .85;
}

.sf-hs-body { min-width: 0; flex: 1 1 auto; }

.sf-hs-label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #8b98a8;
	margin-bottom: 2px;
}

.sf-hs-select,
.sf-hs-input {
	width: 100%;
	border: none;
	background: transparent;
	font-size: 14px;
	font-weight: 600;
	color: var(--sf-navy, #0B1C2C);
	font-family: inherit;
	padding: 0;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	text-overflow: ellipsis;
}

.sf-hs-select {
	padding-right: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b98a8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
}

.sf-hs-input::placeholder { color: #b3bfcc; font-weight: 500; }

.sf-hs-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--sf-lime, #C8F000);
	color: var(--sf-navy, #0B1C2C);
	border: none;
	border-radius: 12px;
	padding: 0 28px;
	font-weight: 800;
	font-size: 15px;
	font-family: inherit;
	cursor: pointer;
	white-space: nowrap;
	transition: filter .18s ease, transform .18s ease;
}

.sf-hs-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.sf-hs-btn svg { width: 18px; height: 18px; }

/* ---------- 4 quick link ---------- */
.sf-sports-quick {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.sf-sports-quick a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .10);
	border: 1px solid rgba(255, 255, 255, .22);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
	backdrop-filter: blur(6px);
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.sf-sports-quick a:hover {
	background: var(--sf-lime, #C8F000);
	border-color: var(--sf-lime, #C8F000);
	color: var(--sf-navy, #0B1C2C);
	transform: translateY(-2px);
}

.sf-sports-quick a svg { width: 22px; height: 22px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.sf-hero-v24 { min-height: 540px; }
	.sf-hs {
		flex-direction: column;
		gap: 6px;
		padding: 12px;
	}
	.sf-hs-field {
		border-right: none;
		border-bottom: 1px solid #e7ecf1;
		padding: 12px 10px;
	}
	.sf-hs-field:last-of-type { border-bottom: 1px solid #e7ecf1; }
	.sf-hs-btn {
		width: 100%;
		padding: 16px;
	}
}

@media (max-width: 560px) {
	.sf-hero-v24 > .sf-container { padding-top: 48px; padding-bottom: 44px; }
	.sf-sports-quick { gap: 10px; }
	.sf-sports-quick a { padding: 10px 16px; font-size: 14px; }
	.sf-sports-quick a svg { width: 18px; height: 18px; }
}

/* Source: sportify-modern.css */
/* SportifyVN / 2026. Real places, clear editorial hierarchy. */
:root{--s26-ink:#122c36;--s26-muted:#5d6e73;--s26-green:#d5f46c;--s26-paper:#f7f8f3;--s26-line:#dde4dc}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{background:#fff;color:var(--s26-ink)}
.sf26-home{font-family:Manrope,Inter,sans-serif;background:#fff;color:var(--s26-ink)}
.sf26-home *{box-sizing:border-box}
.sf26-home a{color:inherit;text-decoration:none}
.sf26-wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.sf26-eyebrow{font:700 11px/1.6 Manrope,Inter,sans-serif!important;letter-spacing:1.7px!important;color:#52665d!important;margin:0 0 16px!important;text-transform:uppercase}
.sf26-eyebrow>span:empty{display:inline-block;background:#547846;border-radius:50%;width:7px;height:7px;margin-right:8px}
.sf26-hero{background:var(--s26-paper);padding:52px 0 58px;border-bottom:1px solid var(--s26-line)}
.sf26-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.sf26-intro{padding:14px 0}
.sf26-home h1{font-family:Manrope,Inter,sans-serif!important;font-size:clamp(38px,4.3vw,65px)!important;line-height:1.12!important;letter-spacing:-3px!important;font-weight:800!important;margin:20px 0 25px!important;color:var(--s26-ink)!important;text-transform:none!important}
.sf26-home h1 em{font-style:normal;color:#4c7148}
.sf26-lead{font-size:16px;line-height:1.85;max-width:490px;color:var(--s26-muted);margin-bottom:30px}
.sf26-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.sf26-button{border:0!important;background:var(--s26-ink)!important;color:#fff!important;display:inline-flex!important;align-items:center;justify-content:space-between;gap:25px;padding:17px 24px!important;min-height:54px;border-radius:7px!important;font:700 14px/1.4 Manrope,Inter,sans-serif!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;box-shadow:none!important;cursor:pointer}
.sf26-button:hover{background:#315640!important;transform:translateY(-1px)}
.sf26-textlink{font-size:13px;font-weight:800;display:inline-flex;gap:16px;align-items:center;white-space:nowrap}
.sf26-hero-bottom{border-top:1px solid #d9dfd4;margin-top:42px;padding-top:23px;display:flex;gap:18px;align-items:center;max-width:500px}
.sf26-hero-bottom strong{font-size:10px;letter-spacing:1.1px;max-width:100px;line-height:1.6}
.sf26-hero-bottom span{font-size:12px;color:var(--s26-muted);max-width:230px}
.sf26-visual{position:relative;min-height:440px;border-radius:12px;overflow:hidden;background:#2b513f}
.sf26-hero-photo{width:100%!important;height:440px!important;object-fit:cover;display:block}
.sf26-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(5,27,24,.78))}
.sf26-photo-label{position:absolute;z-index:1;inset:auto 30px 28px;color:white}
.sf26-photo-label>span{display:block;font-size:10px;letter-spacing:2px;margin-bottom:15px;color:#ddf0d2}
.sf26-photo-label strong{font-size:30px;line-height:1.2;letter-spacing:-1px;display:block;color:#fff}
.sf26-photo-label a{position:absolute;right:0;bottom:0;background:var(--s26-green);color:var(--s26-ink);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:25px}
.sf26-court{height:440px;background:repeating-linear-gradient(0deg,transparent,transparent 72px,#ffffff06 73px),#2f5f49;position:relative;overflow:hidden}
.sf26-court:before,.sf26-court:after,.sf26-court i{content:'';position:absolute;border:2px solid #dcf3c566;inset:45px 48px;transform:rotate(-13deg)}
.sf26-court:after{inset:95px 48px}.sf26-court i{inset:45px 50%;width:0}
.sf26-court b{position:absolute;top:34px;left:35px;font-size:65px;color:#dcf3c5;line-height:.95;letter-spacing:-3px;font-style:italic;transform:rotate(-8deg)}
.sf26-search-section{background:#fff;padding:34px 0 0}
.sf26-searchbox{padding:28px 30px;background:var(--s26-ink);color:#fff;border-radius:10px;display:grid;grid-template-columns:1fr 1.6fr;gap:30px;align-items:center}
.sf26-searchbox .sf26-eyebrow{color:#c5dcba!important;margin-bottom:6px!important}
.sf26-searchbox h2{color:#fff!important;font-size:21px!important;letter-spacing:-.5px!important;margin:0!important;line-height:1.4!important}
.sf26-searchbox form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:0}
.sf26-searchbox label{color:#c9d4d3;font-size:10px;font-weight:600;margin:0;display:block}
.sf26-searchbox select{width:100%;height:45px;min-width:0;margin:6px 0 0;border:1px solid #5a6d71;border-radius:5px;background-color:#203d47;color:#fff;box-shadow:none;font:500 13px Manrope,Inter,sans-serif;padding:0 27px 0 12px}
.sf26-searchbox .sf26-button{background:var(--s26-green)!important;color:var(--s26-ink)!important;min-height:45px;padding:12px 17px!important;gap:18px}
.sf26-sports{padding:26px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--s26-line)}
.sf26-sports>span{font-size:10px;letter-spacing:1px;font-weight:700;color:var(--s26-muted);margin-right:15px}
.sf26-sports>a{font-size:12px;border:1px solid var(--s26-line);border-radius:50px;padding:9px 18px;background:#fff;display:flex;gap:20px;align-items:center}
.sf26-sports>a:hover{background:#edf6df;border-color:#a4bd7d}
.sf26-section{padding-top:66px;padding-bottom:66px}
.sf26-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
.sf26-home h2{font-family:Manrope,Inter,sans-serif;color:var(--s26-ink);font-size:30px;font-weight:800;line-height:1.25;letter-spacing:-1px;margin:0}
.sf26-section-head .sf26-eyebrow{margin-bottom:11px!important}
.sf26-venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sf26-venue{border:1px solid var(--s26-line);border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .2s;background:white}
.sf26-venue:hover{box-shadow:0 12px 30px #162f3610;transform:translateY(-3px)}
.sf26-media{display:block;position:relative;overflow:hidden;background:#e5ebe2;aspect-ratio:1.65}
.sf26-media img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .35s}
.sf26-media:hover img{transform:scale(1.035)}
.sf26-media-arrow{position:absolute;right:15px;bottom:14px;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#193d36;font-size:19px}
.sf26-venue-body{padding:22px}
.sf26-venue-body .sf26-eyebrow{font-size:9px!important;margin-bottom:8px!important}
.sf26-home h3{font-family:Manrope,Inter,sans-serif;font-weight:800;color:var(--s26-ink);font-size:18px;line-height:1.5;letter-spacing:-.4px;margin:0 0 12px}
.sf26-venue-body p{font-size:12px;color:var(--s26-muted);margin:0 0 10px;line-height:1.7}
.sf26-venue-body .sf26-location{font-weight:700;color:#4a6549}
.sf26-small-link{font-size:12px;font-weight:800;display:inline-block;margin-top:8px}
.sf26-note{font-size:11px;color:var(--s26-muted);margin:24px 0 0;line-height:1.7}
.sf26-editorial{padding:64px 0;background:var(--s26-paper);border-block:1px solid var(--s26-line)}
.sf26-news-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(4,auto);gap:0 40px}
.sf26-news{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:start;padding:18px 0;border-bottom:1px solid var(--s26-line)}
.sf26-news .sf26-media{aspect-ratio:1.4;border-radius:6px}
.sf26-news h3{font-size:15px;line-height:1.55;margin:0}
.sf26-news .sf26-eyebrow{font-size:9px!important;letter-spacing:.7px!important;margin-bottom:7px!important}
.sf26-news .sf26-eyebrow span{color:var(--s26-muted);font-weight:400}
.sf26-news-feature{display:block;grid-row:1 / 5;border-bottom:0;padding:0;border-right:1px solid var(--s26-line);padding-right:40px}
.sf26-news-feature .sf26-media{aspect-ratio:1.45;border-radius:9px;margin-bottom:24px}
.sf26-news-feature h3{font-size:25px;letter-spacing:-.8px;line-height:1.4;margin-bottom:14px}
.sf26-news-feature p:not(.sf26-eyebrow){font-size:13px;color:var(--s26-muted);line-height:1.85;margin-bottom:8px}
.sf26-bottom{background:#eaf1df;border-radius:12px;padding:42px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.sf26-bottom h2{font-size:31px}.sf26-bottom p:not(.sf26-eyebrow){font-size:14px;line-height:1.8;color:var(--s26-muted);margin-bottom:20px}
.sf26-demo{padding:16px 20px;background:#fff3cc;border-left:4px solid #c99b27;color:#58440c;margin:20px 0;font-size:14px;line-height:1.6}
.sf26-skip{position:fixed;top:-100px;left:20px;z-index:999999;background:#fff;color:#153d32;padding:14px 20px}.sf26-skip:focus{top:10px}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #6c992d!important;outline-offset:4px}
.sf26-filter-note{background:#edf3e6;border-radius:8px;padding:15px 20px;margin:20px 0;color:#243d2b;font-size:14px}
body .sf-topbar{background:#122c36;color:#e5eddd;font-size:9px;letter-spacing:1.1px;padding:8px 40px}
body .sf-header{background:#fff;border-bottom:1px solid var(--s26-line);box-shadow:none}
body .sf-header-inner{min-height:80px}
body .sf-logo-img{max-height:40px!important;width:auto!important;object-fit:contain}
body .sf-nav-list>li>a{font-size:10px;letter-spacing:.35px;font-weight:800}
body .sf-header .sf-nav-list>li>a,body .sf-header .sf-search-btn{color:#18353d!important}
body .sf-header .sf-nav-list>li>a:hover{color:#52783c!important}
body .sf-header .sf-burger span{background:#18353d!important}
body .sf-header .sf-search-btn{border-color:#dce4da!important}
body .sf-footer{background:#122c36}
@media(min-width:1100px){body .sf-nav-list{gap:17px}}
@media(max-width:1050px){.sf26-wrap{width:calc(100% - 48px)}.sf26-hero-grid{gap:26px}.sf26-home h1{letter-spacing:-2px!important}.sf26-hero-photo,.sf26-visual,.sf26-court{height:410px;min-height:410px}.sf26-searchbox{grid-template-columns:1fr}.sf26-venue-grid{gap:16px}.sf26-news-grid{gap:0 25px}.sf26-news-feature{padding-right:25px}.sf26-news{grid-template-columns:105px 1fr;gap:14px}.sf26-news-feature{display:block}.sf26-news h3{font-size:13px}.sf26-news-feature h3{font-size:23px}}
@media(max-width:700px){.sf26-wrap{width:calc(100% - 36px)}.sf26-hero{padding:26px 0 28px}.sf26-hero-grid{grid-template-columns:1fr;gap:26px}.sf26-home h1{font-size:40px!important;letter-spacing:-1.9px!important;margin:15px 0 18px!important}.sf26-lead{font-size:14px;line-height:1.8;margin-bottom:23px}.sf26-eyebrow{font-size:9px!important;letter-spacing:1.1px!important}.sf26-hero-bottom{margin-top:25px;padding-top:18px}.sf26-hero-photo,.sf26-visual,.sf26-court{height:310px;min-height:310px}.sf26-photo-label strong{font-size:25px}.sf26-photo-label{inset:auto 22px 22px}.sf26-court b{font-size:54px}.sf26-actions{gap:22px}.sf26-button{font-size:12px!important;min-height:49px;padding:14px 19px!important}.sf26-textlink{font-size:11px;gap:10px}.sf26-search-section{padding-top:20px}.sf26-searchbox{padding:23px;gap:20px}.sf26-searchbox h2{font-size:20px!important}.sf26-searchbox form{grid-template-columns:1fr 1fr}.sf26-searchbox button{grid-column:1 / -1;width:100%}.sf26-sports{gap:9px;padding:20px 0}.sf26-sports>span{flex-basis:100%;margin-bottom:4px}.sf26-sports>a{padding:8px 14px;font-size:11px;gap:15px}.sf26-section{padding-top:40px;padding-bottom:40px}.sf26-home h2{font-size:25px;letter-spacing:-.8px}.sf26-section-head{display:block;margin-bottom:23px}.sf26-section-head>.sf26-textlink{margin-top:16px}.sf26-venue-grid{grid-template-columns:1fr;gap:22px}.sf26-venue-body{padding:21px}.sf26-home h3{font-size:18px}.sf26-editorial{padding:40px 0}.sf26-news-grid{display:block}.sf26-news-feature{padding-right:0;border-right:0;padding-bottom:24px;border-bottom:1px solid var(--s26-line)}.sf26-news{grid-template-columns:108px 1fr;gap:16px;padding:20px 0}.sf26-news-feature{display:block}.sf26-news h3{font-size:14px}.sf26-news-feature h3{font-size:23px}.sf26-news-feature .sf26-media{margin-bottom:20px}.sf26-bottom{padding:27px;grid-template-columns:1fr;gap:24px}.sf26-bottom h2{font-size:27px}.sf26-bottom p:not(.sf26-eyebrow){font-size:13px}body .sf-topbar{padding:7px 18px;font-size:8px}body .sf-header-inner{min-height:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf26-home *{transition:none!important;transform:none!important}}
