/* ============================================================
   Safety & Consent — TS Fling (sf-)
   ============================================================ */
.sf-page { margin-top: 0; }
.sf-container { max-width: 1100px; margin: 0 auto; padding: 0 5%; }
.sf-section { padding: 84px 0; }
.sf-page h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin: 12px 0 18px; }
.sf-hero__meta { margin-top: 18px; font-size: 0.82rem; color: var(--tsf-dim); }

.sf-breadcrumb { border-bottom: 1px solid var(--tsf-line); padding: 12px 0; }
.sf-breadcrumb ol { list-style: none; }
.sf-breadcrumb ol li + li::before { content: '›'; margin-right: 8px; opacity: .5; }

.sf-intro__inner { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 56px; align-items: start; }
.sf-intro__text p { color: var(--tsf-muted); margin-bottom: 16px; font-size: 1.03rem; }
.sf-intro__text a { text-decoration: underline; }
.sf-intro__stats { display: grid; gap: 14px; }
.sf-stat { padding: 22px 24px; border-radius: 16px; background: var(--tsf-card); border: 1px solid var(--tsf-line-2); display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 0 14px; align-items: center; }
.sf-stat__icon { grid-row: 1 / 3; font-size: 1.6rem; }
.sf-stat__num { font-family: var(--tsf-font-d); font-size: 1.7rem; font-weight: 700; color: #fff; line-height: 1.1; }
.sf-stat__label { color: var(--tsf-muted); font-size: 0.85rem; }

.sf-policy { background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent); border-top: 1px solid var(--tsf-line); }
.sf-policy-block { padding: 40px 44px; border-radius: 20px; background: var(--tsf-card); border: 1px solid var(--tsf-line); margin-bottom: 22px; }
.sf-policy-block--alert { border-color: rgba(255,80,80,0.4); background: linear-gradient(180deg, rgba(255,60,60,0.08), rgba(255,255,255,0.02)); }
.sf-policy-block__header { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.sf-policy-block__header h2 { margin: 0; font-size: 1.5rem; }
.sf-policy-block__num { font-family: var(--tsf-font-d); font-size: 0.85rem; font-weight: 700; color: var(--tsf-pink-2); letter-spacing: .1em; }
.sf-policy-block__icon { font-size: 1.3rem; }
.sf-policy-block__lead { color: #fff; font-size: 1.05rem; margin-bottom: 14px; }
.sf-policy-block p { color: var(--tsf-muted); margin-bottom: 12px; }
.sf-policy-block a { text-decoration: underline; }
.sf-policy-block__note { font-size: 0.85rem; color: var(--tsf-dim); border-top: 1px solid var(--tsf-line); padding-top: 14px; margin-top: 14px; }
.sf-list { list-style: none; margin: 0 0 16px; }
.sf-list li { position: relative; padding-left: 26px; margin-bottom: 9px; color: var(--tsf-text); }
.sf-list li::before { content: ''; position: absolute; left: 4px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--tsf-grad); }
.sf-alert-box { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: 14px; background: rgba(255,60,60,0.12); border: 1px solid rgba(255,80,80,0.4); margin-top: 8px; }
.sf-alert-box p { margin: 0; color: #fff; }
.sf-alert-box__icon { font-size: 1.3rem; }

.sf-measures-grid, .sf-enforcement-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 18px 0 14px; }
.sf-measure, .sf-enforcement-item { padding: 20px 22px; border-radius: 14px; background: rgba(255,255,255,0.03); border: 1px solid var(--tsf-line); }
.sf-measure h3, .sf-enforcement-item h3 { font-size: 1.02rem; margin: 8px 0 6px; font-family: var(--tsf-font-b); font-weight: 700; }
.sf-measure p, .sf-enforcement-item p { margin: 0; font-size: 0.92rem; }
.sf-measure__icon { font-size: 1.4rem; }
.sf-enforcement-item__step { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--tsf-grad); color: #fff; font-weight: 800; font-size: 0.85rem; }
.sf-report-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }

.sf-related { padding: 84px 0; }
.sf-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 30px; }
.sf-related-card { padding: 26px 24px; display: flex; flex-direction: column; color: inherit; }
.sf-related-card__icon { font-size: 1.5rem; margin-bottom: 12px; }
.sf-related-card h3 { font-size: 1.15rem; margin-bottom: 8px; }
.sf-related-card p { color: var(--tsf-muted); font-size: 0.92rem; flex: 1; margin-bottom: 14px; }
.sf-related-card__link { color: var(--tsf-pink-2); font-weight: 700; font-size: 0.9rem; }

@media (max-width: 900px) {
    .sf-section, .sf-related { padding: 60px 0; }
    .sf-intro__inner { grid-template-columns: 1fr; gap: 30px; }
    .sf-intro__stats { grid-template-columns: repeat(3, 1fr); }
    .sf-related-grid { grid-template-columns: 1fr; }
    .sf-policy-block { padding: 28px 24px; }
}
@media (max-width: 600px) {
    .sf-intro__stats, .sf-measures-grid, .sf-enforcement-grid { grid-template-columns: 1fr; }
    .sf-policy-block__header { flex-wrap: wrap; }
}
