/* ============================================================
   AGENCY RED FLAG CHECKLIST — embeddable tool section
   Everything is scoped under .rfc-tool so it is safe to drop
   into a "Free Tool" template page. The surrounding page
   (hero, FAQ, CTA) is provided by the template.
   ============================================================ */

.rfc-tool{
  --purple-900:#3b1f8c; --purple-700:#5b35d4; --purple-600:#6c40e8; --purple-500:#7c4ef0;
  --purple-100:#ece5fd; --purple-50:#f5f2fe;
  --coral-500:#ff6f6f; --coral-600:#fa5a6e;
  --ink-900:#15132b; --ink-700:#3a3656; --ink-500:#6b6786; --ink-300:#a8a4c2;
  --line:#e7e3f5; --bg:#f8f7fc; --white:#ffffff;
  --green:#1f9d6c; --green-soft:#e3f7ed; --amber:#c98a16; --amber-soft:#fff3e0; --coral-soft:#ffe9e9;
  --radius-lg:18px; --radius-md:12px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(21,19,43,.05);
  --shadow-md:0 8px 24px rgba(59,31,140,.08);
  --shadow-lg:0 24px 60px rgba(59,31,140,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);

  max-width:900px;margin:0 auto;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink-900);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.rfc-tool *,.rfc-tool *::before,.rfc-tool *::after{box-sizing:border-box;margin:0;padding:0;}
.rfc-tool h1,.rfc-tool h2,.rfc-tool h3,.rfc-tool h4{letter-spacing:-0.02em;}
.rfc-tool svg{display:block;}

/* ============ CARD SHELL ============ */
.rfc-card{
  background:var(--white);border-radius:22px;box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.rfc-card-head{
  background:linear-gradient(120deg,var(--purple-700),var(--purple-500));
  padding:22px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.rfc-head-left{display:flex;align-items:center;gap:14px;}
.rfc-head-icon{
  width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;
}
.rfc-head-eyebrow{font-size:11px;letter-spacing:.08em;color:#d9cdfb;font-weight:700;}
.rfc-head-name{font-size:16px;font-weight:700;color:#fff;margin-top:2px;}
.rfc-head-pill{
  background:rgba(255,255,255,.2);color:#fff;font-size:11px;font-weight:700;
  padding:6px 13px;border-radius:20px;letter-spacing:.04em;white-space:nowrap;
}
.rfc-card-body{padding:30px;}

.rfc-intro{font-size:14.5px;color:var(--ink-500);line-height:1.6;max-width:64ch;margin-bottom:22px;}

/* ============ METER ============ */
.rfc-meter{
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:18px 20px;margin-bottom:22px;
}
.rfc-meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.rfc-meter-label{font-weight:700;font-size:14px;color:var(--ink-900);display:flex;align-items:center;gap:9px;}
.rfc-meter-label .dot{width:9px;height:9px;border-radius:50%;background:var(--ink-300);transition:background .3s;}
.rfc-rating{font-weight:800;font-size:14px;transition:color .3s;color:var(--ink-300);}
.rfc-note{font-size:12px;color:var(--ink-500);font-weight:500;}

.rfc-gauge{position:relative;height:12px;border-radius:20px;margin-top:13px;
  background:linear-gradient(90deg,#fa5a6e 0%,#c98a16 42%,#7c4ef0 72%,#1f9d6c 100%);
  box-shadow:inset 0 1px 2px rgba(21,19,43,.12);overflow:hidden;}
.rfc-gauge-veil{position:absolute;inset:0;background:#e9e5f6;border-radius:20px;
  transform-origin:right;transition:transform .6s var(--ease);}
.rfc-needle{position:absolute;top:-5px;width:4px;height:22px;background:var(--ink-900);border-radius:3px;
  box-shadow:0 0 0 3px rgba(255,255,255,.9),0 2px 6px rgba(21,19,43,.35);
  left:0;transform:translateX(-50%);transition:left .6s var(--spring);}
.rfc-gauge-scale{display:flex;justify-content:space-between;margin-top:8px;
  font-size:10px;letter-spacing:.04em;color:var(--ink-300);text-transform:uppercase;font-weight:600;}
.rfc-meter-foot{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:11px;}

/* ============ STEPPER ============ */
.rfc-stepper{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;}
.rfc-steps{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.rfc-step{flex:1;display:flex;flex-direction:column;gap:6px;cursor:pointer;background:none;border:none;padding:0;text-align:left;font-family:inherit;}
.rfc-step .bar{height:5px;border-radius:20px;background:var(--line);transition:.3s var(--ease);}
.rfc-step.done .bar{background:var(--purple-500);}
.rfc-step.current .bar{background:var(--purple-600);box-shadow:0 0 0 3px rgba(124,78,240,.18);}
.rfc-step .lbl{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-300);font-weight:600;transition:.3s;}
.rfc-step.current .lbl,.rfc-step.done .lbl{color:var(--purple-700);}
.rfc-step-count{font-size:12px;color:var(--ink-500);white-space:nowrap;font-weight:600;}

/* ============ CATEGORY ============ */
.rfc-cat{display:none;animation:rfcfade .4s var(--ease);}
.rfc-cat.active{display:block;}
@keyframes rfcfade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.rfc-cat-head{display:flex;align-items:center;gap:14px;margin-bottom:4px;}
.rfc-cat-num{
  flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  font-weight:800;font-size:16px;color:var(--purple-700);
  background:var(--purple-100);transition:.3s var(--ease);
}
.rfc-cat.done .rfc-cat-num{background:var(--purple-600);color:#fff;}
.rfc-cat-title{font-size:20px;font-weight:800;color:var(--ink-900);}
.rfc-cat-badge{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;padding:5px 11px;border-radius:20px;opacity:0;transform:scale(.85);
  transition:.35s var(--spring);white-space:nowrap;}
.rfc-cat-badge.show{opacity:1;transform:scale(1);}
.rfc-cat-badge.clean{background:var(--green-soft);color:var(--green);}
.rfc-cat-badge.watch{background:var(--amber-soft);color:var(--amber);}
.rfc-cat-badge.flag{background:var(--coral-soft);color:var(--coral-600);}
.rfc-cat-desc{font-size:14px;color:var(--ink-500);margin-bottom:8px;padding-left:52px;}

.rfc-items{margin-top:6px;display:flex;flex-direction:column;}
.rfc-item{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);flex-wrap:wrap;}
.rfc-item:first-child{border-top:none;}
.rfc-item-main{flex:1;min-width:260px;}
.rfc-item-q{font-weight:700;font-size:16px;color:var(--ink-900);line-height:1.4;}
.rfc-item-help{font-size:13px;color:var(--ink-500);margin-top:7px;display:flex;gap:9px;line-height:1.55;}
.rfc-item-help::before{content:"";flex:none;width:3px;border-radius:2px;background:var(--purple-100);align-self:stretch;}
.rfc-item.answered .rfc-item-help::before{background:var(--purple-500);}

.rfc-seg{display:inline-flex;flex:none;align-self:center;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;}
.rfc-seg button{
  font-family:inherit;font-weight:600;font-size:13px;color:var(--ink-500);
  border:none;background:transparent;cursor:pointer;padding:9px 16px;border-radius:7px;
  transition:.18s var(--ease);white-space:nowrap;
}
.rfc-seg button:hover{color:var(--ink-900);}
.rfc-seg button.on.sev-0{background:var(--coral-600);color:#fff;box-shadow:0 2px 8px rgba(250,90,110,.30);}
.rfc-seg button.on.sev-1{background:var(--amber);color:#fff;box-shadow:0 2px 8px rgba(201,138,22,.28);}
.rfc-seg button.on.sev-2{background:var(--green);color:#fff;box-shadow:0 2px 8px rgba(31,157,108,.28);}

/* ============ NAV ============ */
.rfc-nav{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap;}
.rfc-nav.hide{display:none;}
.rfc-nav-hint{flex:1;min-width:160px;font-size:13px;color:var(--ink-500);text-align:center;}
.rfc-nav-hint b{color:var(--coral-600);font-weight:700;}
.rfc-btn{font-family:inherit;font-weight:600;font-size:14px;padding:12px 22px;border-radius:10px;
  border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s var(--ease);white-space:nowrap;}
.rfc-btn-primary{background:var(--purple-600);color:#fff;box-shadow:0 10px 24px rgba(108,64,232,.28);}
.rfc-btn-primary:hover{background:var(--purple-700);transform:translateY(-1px);}
.rfc-btn-primary:disabled{background:#d9d3ee;color:#fff;box-shadow:none;cursor:not-allowed;transform:none;}
/* Final-step CTA ("Reveal results") — brand coral to signal completion. */
.rfc-btn-primary.is-final{background:#F0553F;box-shadow:0 10px 24px rgba(240,85,63,.28);}
.rfc-btn-primary.is-final:hover{background:#D6412C;}
.rfc-btn-coral{background:var(--coral-600);color:#fff;box-shadow:0 8px 20px rgba(250,90,110,.28);}
.rfc-btn-coral:hover{background:var(--coral-500);transform:translateY(-1px);}
.rfc-btn-ghost{background:var(--purple-50);color:var(--purple-700);border-color:var(--line);}
.rfc-btn-ghost:hover{border-color:var(--purple-500);background:var(--purple-100);}
.rfc-btn-ghost:disabled{color:var(--ink-300);background:var(--bg);cursor:not-allowed;}

/* ============ RESULTS ============ */
.rfc-results{
  margin-top:22px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);
  max-height:0;opacity:0;transform:translateY(14px);
  transition:max-height .6s var(--ease),opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none;
}
.rfc-results.reveal{max-height:4000px;opacity:1;transform:translateY(0);pointer-events:auto;}
.rfc-res-top{padding:32px 30px 28px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(120deg,var(--purple-900),var(--purple-600));}
.rfc-res-top::after{content:"";position:absolute;inset:0;opacity:.55;pointer-events:none;
  background:radial-gradient(520px 260px at 92% -20%,rgba(255,111,111,.4),transparent 60%);}
.rfc-res-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d9cdfb;position:relative;}
.rfc-res-rating{font-weight:800;line-height:1.04;font-size:clamp(30px,4.8vw,44px);margin:8px 0 6px;position:relative;}
.rfc-res-score{font-size:13.5px;color:#d9cdfb;position:relative;}
.rfc-res-score b{color:#fff;font-weight:700;}
.rfc-res-blurb{position:relative;margin-top:14px;font-size:15px;color:#ece5fd;max-width:60ch;line-height:1.65;}

.rfc-res-body{background:var(--white);padding:28px 30px 30px;}
.rfc-res-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);
  margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.rfc-res-h::after{content:"";flex:1;height:1px;background:var(--line);}

.rfc-break{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;}
.rfc-brow{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;}
.rfc-brow-name{font-weight:700;font-size:14.5px;color:var(--ink-900);}
.rfc-brow-tag{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:6px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;}
.rfc-brow-tag.clean{background:var(--green-soft);color:var(--green);}
.rfc-brow-tag.watch{background:var(--amber-soft);color:var(--amber);}
.rfc-brow-tag.flag{background:var(--coral-soft);color:var(--coral-600);}
.rfc-btrack{grid-column:1/-1;height:8px;border-radius:20px;background:var(--bg);border:1px solid var(--line);overflow:hidden;}
.rfc-bfill{height:100%;border-radius:20px;width:0;transition:width .8s var(--ease);}

.rfc-actions-list{display:flex;flex-direction:column;gap:14px;margin-bottom:14px;}
.rfc-action{display:flex;gap:14px;padding:18px 20px;border-radius:14px;background:var(--bg);border:1px solid var(--line);}
.rfc-action .mark{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  background:var(--coral-600);color:#fff;font-weight:800;font-size:14px;}
.rfc-action-txt strong{display:block;font-weight:700;color:var(--ink-900);font-size:15px;margin-bottom:3px;}
.rfc-action-txt span{font-size:14px;color:var(--ink-500);line-height:1.6;}
.rfc-allclear{padding:18px 20px;border-radius:14px;background:var(--green-soft);border:1px solid #bfe9d4;
  font-size:14.5px;color:#136b4a;line-height:1.6;}
.rfc-allclear b{font-weight:700;}

.rfc-res-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);}
.rfc-res-note{font-size:12.5px;color:var(--ink-300);flex:1;min-width:200px;}

.rfc-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink-900);color:#fff;font-size:14px;font-weight:600;padding:12px 20px;border-radius:20px;
  box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:.3s var(--spring);z-index:50;}
.rfc-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media (max-width:620px){
  .rfc-card-body{padding:22px 18px;}
  .rfc-card-head{padding:18px 20px;}
  .rfc-cat-desc{padding-left:0;}
  .rfc-item{gap:14px;}
  .rfc-item-main{min-width:100%;}
  .rfc-seg{width:100%;}
  .rfc-seg button{flex:1;}
  .rfc-step .lbl{display:none;}
  .rfc-res-top,.rfc-res-body{padding-left:20px;padding-right:20px;}
}
@media print{
  .rfc-stepper,.rfc-nav,.rfc-res-foot,.rfc-toast{display:none!important;}
  .rfc-card,.rfc-results{box-shadow:none;}
  .rfc-results{max-height:none!important;opacity:1!important;transform:none!important;}
}
