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