/* Threat Feeds extends the current FraudGuard product-page design. */
.tf-hero .hero-grid { grid-template-columns:1.05fr 1fr; gap:50px; }
.tf-hero .hero-eyebrow { flex-wrap:wrap; letter-spacing:.7px; }
.tf-hero .hero-note { max-width:450px; }
.tf-policy-preview { background:#102e42; border:1px solid #3b596b; border-radius:10px; box-shadow:0 30px 70px #03152144; }
.tf-policy-preview figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:18px 23px; border-bottom:1px solid #345366; color:#e3edf0; font-size:12px; font-weight:600; }
.tf-policy-preview .example-tag { font-size:9px; }
.tf-panel-label { display:block; color:#adc7d4; font-size:10px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; }
.tf-query { padding:23px; }
.tf-query>.tf-panel-label { margin-bottom:12px; }
.tf-query>div { display:flex; align-items:baseline; gap:12px; padding-block:9px; font-size:13px; }
.tf-query strong { font-weight:500; }
.tf-query-op { width:57px; flex-shrink:0; color:var(--accent); font:10px ui-monospace,SFMono-Regular,Consolas,monospace; }
.tf-query .tf-query-exclusion { margin-top:8px; padding-top:15px; border-top:1px dashed #456272; color:#c6dedf; }
.tf-preview-results { display:grid; grid-template-columns:1fr 1.05fr; gap:25px; margin:0 23px; padding-block:23px; border-top:1px solid #345366; }
.tf-preview-total>span,.tf-preview-total small { display:block; color:#b5ccd7; font-size:11px; }
.tf-preview-total strong { display:block; font-family:var(--heading); font-size:43px; font-weight:600; line-height:1.5; letter-spacing:-1px; }
.tf-preview-distribution>.tf-panel-label { margin-bottom:12px; }
.tf-preview-distribution>div:not(.tf-risk-bar) { display:flex; justify-content:space-between; gap:12px; font-size:11px; }
.tf-preview-distribution strong { font-weight:500; }
.tf-risk-bar { background:#234759; height:5px; margin:7px 0 12px; border-radius:2px; }
.tf-risk-bar span { display:block; width:93.3%; height:100%; background:#92d8de; border-radius:2px; }
.tf-risk-bar-critical span { width:6.7%; background:#f4ba81; }
.tf-preview-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:9px; padding:15px 23px; background:#173b4e; font-size:10px; color:#cee5e5; }
.tf-preview-bottom>span>span { color:var(--accent); margin-right:7px; }
.tf-example-note { font-size:10px; color:#abc4d1; padding:13px 23px; }
.tf-split { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:start; }
.tf-section-lede { color:var(--muted); font-size:16px; line-height:1.85; margin-top:24px; max-width:490px; }
.tf-fit { background:var(--paper); border-bottom:1px solid var(--line); }
.tf-fit .inline-link { margin-top:15px; }
.tf-condition-list { margin:0; }
.tf-condition-list>div { display:grid; grid-template-columns:150px 1fr; gap:24px; padding-block:21px; border-bottom:1px solid var(--line); }
.tf-condition-list>div:first-child { padding-top:0; }
.tf-condition-list dt { font-size:14px; font-weight:700; }
.tf-condition-list dd { margin:0; font-size:13px; line-height:1.8; color:var(--muted); }
.tf-steps { grid-template-columns:repeat(3,1fr); }
.tf-steps li { padding-right:45px; }
.tf-steps p { max-width:320px; }
.tf-enforcement { background:#edf4f4; border-block:1px solid var(--line); }
.tf-check-list { list-style:none; padding:0; margin:23px 0; font-size:14px; }
.tf-check-list li { position:relative; padding:6px 0 6px 26px; }
.tf-check-list li:before { content:"✓"; position:absolute; left:0; color:#237a66; font-weight:700; }
.tf-small-note { font-size:12px; color:var(--muted); line-height:1.8; margin-top:25px; max-width:490px; }
.tf-delivery-diagram { border:1px solid #c7d9dc; background:#fff; border-radius:9px; }
.tf-delivery-diagram figcaption { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:19px 24px; border-bottom:1px solid var(--line); font-size:12px; font-weight:600; }
.tf-status { display:inline-block; border-radius:3px; background:#eef2f6; color:#4d6174; padding:3px 8px; font-size:10px; font-weight:600; white-space:nowrap; }
.tf-status-ready { background:#e8f4ee; color:#236653; }
.tf-delivery-origin,.tf-firewall { display:flex; align-items:center; gap:17px; padding:25px; }
.tf-delivery-origin strong,.tf-firewall strong { display:block; font-size:15px; }
.tf-delivery-origin div>span,.tf-firewall div>span { display:block; margin-top:3px; font-size:12px; color:var(--muted); }
.tf-ace-mark { display:grid; place-items:center; width:64px; height:47px; flex-shrink:0; background:#e3f3ed; color:#266d59; font-size:14px; font-weight:700; border-radius:5px; }
.tf-flow-arrow { color:#648b95; font-size:22px; text-align:center; line-height:1; }
.tf-url-box { margin:20px 25px; padding:18px; background:#f1f6f8; border:1px solid #d4e3e8; border-radius:5px; }
.tf-url-box>span { display:block; font-size:11px; font-weight:600; margin-bottom:8px; }
.tf-url-box code { display:block; color:#256f91; font-size:12px; line-height:1.9; overflow-wrap:anywhere; }
.tf-url-box small { display:block; color:var(--muted); font-size:10px; margin-top:8px; }
.tf-firewall svg { width:40px; height:40px; flex-shrink:0; color:var(--blue); }
.tf-diagram-note { padding:18px 25px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); line-height:1.8; }
.tf-safety-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.tf-safety-grid article { border-top:1px solid #b9ced7; padding-top:22px; }
.tf-feature-state { display:block; color:#29735d; font-size:10px; font-weight:600; margin-bottom:18px; }
.tf-safety-grid h3 { margin-bottom:14px; }
.tf-safety-grid p { font-size:14px; line-height:1.85; color:var(--muted); }
.tf-cidr-note { display:flex; align-items:center; gap:30px; background:#f1f6f7; padding:28px 32px; margin-top:42px; border-radius:6px; }
.tf-cidr-symbol { flex-shrink:0; font:20px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; color:#46748a; width:64px; }
.tf-cidr-note h3 { font-size:17px; margin-bottom:10px; }
.tf-cidr-note p { font-size:13px; color:var(--muted); line-height:1.85; }
.tf-outputs { background:var(--paper); border-block:1px solid var(--line); }
.tf-output-list article { border-bottom:1px solid #d0dde1; padding:0 0 24px; margin-bottom:24px; }
.tf-output-list article:last-child { border:0; padding-bottom:0; margin-bottom:0; }
.tf-output-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.tf-output-heading h3 { font-size:17px; }
.tf-output-list p { font-size:13px; color:var(--muted); margin-top:13px; line-height:1.85; }
.tf-output-formats { display:block; font-size:10px; color:#326c84; font-weight:600; margin-top:15px; }
.tf-faq .faq-list a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.tf-plan-panel { border:1px solid #456477; border-radius:8px; padding:26px; background:#15354a; }
.tf-plan-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:22px; border-bottom:1px solid #416173; }
.tf-plan-row h3 { color:#fff; font-size:19px; }
.tf-plan-row p { color:#bdd1dc; font-size:12px; margin-top:7px; }
.tf-plan-row>strong { color:#fff; font-size:28px; font-family:var(--heading); font-weight:600; white-space:nowrap; }
.tf-plan-row>strong span { display:block; text-align:right; font-size:11px; color:#bdd1dc; font-family:var(--font); font-weight:400; }
.tf-plan-panel .tf-plan-note { margin-top:19px; font-size:11px; color:#bdd1dc; line-height:1.8; }
@media (max-width:1100px) {
    .tf-hero .hero-grid { gap:32px; }
    .tf-split { gap:45px; }
    .tf-condition-list>div { grid-template-columns:125px 1fr; gap:17px; }
}
@media (max-width:850px) {
    .tf-hero .hero-grid,.tf-split { grid-template-columns:1fr; gap:42px; }
    .tf-policy-preview { max-width:610px; width:100%; }
    .tf-condition-list>div { grid-template-columns:170px 1fr; }
    .tf-safety-grid { grid-template-columns:1fr; gap:30px; }
    .tf-delivery-diagram { max-width:610px; width:100%; }
    .tf-steps { grid-template-columns:1fr; gap:35px; }
    .tf-steps li { padding-right:0; }
    .tf-steps p { max-width:100%; }
}
@media (max-width:520px) {
    .tf-hero .hero-eyebrow { gap:10px; font-size:9px; }
    .tf-preview-results { gap:15px; }
    .tf-query,.tf-policy-preview figcaption { padding-inline:18px; }
    .tf-query>div { gap:8px; font-size:12px; }
    .tf-query-op { width:53px; font-size:9px; }
    .tf-preview-results { margin-inline:18px; }
    .tf-preview-total strong { font-size:35px; }
    .tf-preview-bottom,.tf-example-note { padding-inline:18px; }
    .tf-condition-list>div { grid-template-columns:1fr; gap:7px; }
    .tf-cidr-note { align-items:flex-start; gap:18px; padding:22px 18px; }
    .tf-cidr-symbol { width:49px; font-size:17px; }
    .tf-plan-panel { padding:20px; }
    .tf-plan-row { gap:13px; }
    .tf-plan-row>strong { font-size:26px; }
}
