@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600&family=Nunito:wght@400;600;700&display=swap');

/* ============================================================
   Indigo Rebuild Calculator — styling per Indigo Digital
   Guidelines 2026. Primary #543177 / hover #72459F, secondary
   #E7417A, accent #27A9E1, neutral text #2B2B2B. Headings & UI
   in Rubik, body in Nunito. Buttons 5px radius, flat colour.
   All rules scoped to #indigo-rcc so nothing leaks to the theme.
   ============================================================ */
#indigo-rcc{
  --primary:#543177; --primary-hover:#72459F; --primary-deep:#3f2560;
  --secondary:#E7417A; --accent:#27A9E1; --error:#FF751F;
  --ink:#2B2B2B; --muted:#6E6A78; --line:#E6E2EE; --panel:#FFFFFF;
  --soft:#F7F5FB; --bg:#FFFFFF;
  --info:#27A9E1; --info-bg:#EAF6FC; --info-ink:#1E7BA6;
  --font-head:'Rubik',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-body:'Nunito',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-family:var(--font-body); color:var(--ink); background:var(--bg);
}
#indigo-rcc *{box-sizing:border-box;}

/* Type: headings + UI in Rubik */
#indigo-rcc h1,#indigo-rcc .brand,#indigo-rcc .rlabel,#indigo-rcc label,#indigo-rcc legend,
#indigo-rcc .badge,#indigo-rcc .inc,#indigo-rcc .calcbtn,#indigo-rcc .cta h3,#indigo-rcc .cta button,
#indigo-rcc .actions button,#indigo-rcc .referral h2,#indigo-rcc .ddlmeta,#indigo-rcc .ddlbtn,
#indigo-rcc .ddlcta-btn,#indigo-rcc .rcc-field label,#indigo-rcc .rcc-modal-box h3,
#indigo-rcc .rcc-modal-actions button{font-family:var(--font-head);}

#indigo-rcc .wrap{max-width:940px;margin:0 auto;width:100%;}
#indigo-rcc .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 6px 28px rgba(84,49,119,.08);}

/* Title block — sits on white beneath the site's own header (no competing banner) */
#indigo-rcc .hd{background:#fff;color:var(--ink);padding:24px 28px 16px;border-bottom:1px solid var(--line);}
#indigo-rcc .brand{display:none;}
#indigo-rcc .dot{width:11px;height:11px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 4px rgba(231,65,122,.25);}
#indigo-rcc h1{margin:0 0 3px;font-size:24px;line-height:1.2;font-weight:600;color:var(--primary);}
#indigo-rcc .sub{font-size:13px;color:var(--muted);}

/* Body + form */
#indigo-rcc .body{padding:26px 28px;}
#indigo-rcc .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;}
#indigo-rcc .full{grid-column:1 / -1;}
#indigo-rcc label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px;
  text-transform:uppercase;letter-spacing:.4px;}
#indigo-rcc input,#indigo-rcc select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:5px;
  font-size:15px;font-family:var(--font-body);background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;}
#indigo-rcc input:focus,#indigo-rcc select:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(231,65,122,.14);}
#indigo-rcc .hint{font-size:11.5px;color:var(--muted);margin-top:5px;font-weight:400;text-transform:none;letter-spacing:0;}
#indigo-rcc fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0;}
#indigo-rcc legend{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:0 6px;}
#indigo-rcc .checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:4px;}
#indigo-rcc .checks label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;
  font-weight:400;font-family:var(--font-body);color:var(--ink);font-size:14px;margin:0;}
#indigo-rcc .checks input{width:auto;accent-color:var(--primary);}

/* Info tooltip */
#indigo-rcc .info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;
  border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:600;font-style:normal;
  cursor:help;margin-left:6px;vertical-align:middle;outline:none;}
#indigo-rcc .info .tip{position:absolute;bottom:135%;left:50%;transform:translateX(-50%);background:var(--primary-deep);
  color:#fff;padding:11px 13px;border-radius:6px;font-size:11.5px;line-height:1.55;font-weight:400;width:250px;
  text-align:left;opacity:0;visibility:hidden;transition:opacity .15s;z-index:20;
  box-shadow:0 8px 24px rgba(0,0,0,.28);text-transform:none;letter-spacing:0;font-family:var(--font-body);}
#indigo-rcc .info:hover .tip,#indigo-rcc .info:focus .tip{opacity:1;visibility:visible;}

/* Primary action */
#indigo-rcc .calcbtn{margin-top:22px;width:100%;border:none;cursor:pointer;background:var(--primary);color:#fff;
  font-weight:400;font-size:16px;padding:16px;border-radius:5px;letter-spacing:.2px;transition:background .15s;}
#indigo-rcc .calcbtn:hover{background:var(--primary-hover);}

/* Result */
#indigo-rcc .result{margin-top:22px;border:1px solid var(--line);border-radius:12px;padding:20px;
  background:var(--soft);display:none;}
#indigo-rcc .result.on{display:block;}
#indigo-rcc .rlabel{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
#indigo-rcc .range{font-size:30px;font-weight:600;color:var(--primary);margin:5px 0 2px;}
#indigo-rcc .point{font-size:13px;color:var(--muted);}
#indigo-rcc table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13.5px;}
#indigo-rcc td{padding:7px 0;border-bottom:1px dashed var(--line);vertical-align:top;}
#indigo-rcc td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
#indigo-rcc tr.sub td{font-weight:700;}
#indigo-rcc tr.total td{border-bottom:none;font-weight:700;color:var(--primary);font-size:14.5px;padding-top:10px;}
#indigo-rcc tr.sub td:first-child,#indigo-rcc tr.total td:first-child{border-top:1px solid var(--line);}
#indigo-rcc .inc{display:inline-block;margin-left:7px;background:rgba(231,65,122,.12);color:var(--secondary);
  font-size:9.5px;font-weight:500;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;}

/* "Already covered with Indigo" call-out */
#indigo-rcc .cta{margin-top:18px;border-radius:10px;padding:16px 18px;background:var(--soft);
  border:1px solid var(--line);}
#indigo-rcc .cta h3{margin:0 0 6px;font-size:15px;font-weight:500;color:var(--primary);display:flex;align-items:center;gap:8px;}
#indigo-rcc .cta .tick{width:18px;height:18px;border-radius:50%;background:var(--secondary);color:#fff;font-size:11px;
  display:inline-flex;align-items:center;justify-content:center;flex:none;}
#indigo-rcc .cta p{margin:0 0 12px;font-size:13px;color:var(--ink);line-height:1.6;}
#indigo-rcc .cta button{border:none;cursor:pointer;background:var(--primary);color:#fff;font-weight:400;
  font-size:14px;padding:13px 22px;border-radius:5px;letter-spacing:.2px;transition:background .15s;}
#indigo-rcc .cta button:hover{background:var(--primary-hover);}

/* Secondary actions (email / print) */
#indigo-rcc .actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
#indigo-rcc .actions button{flex:1;min-width:150px;cursor:pointer;border-radius:5px;padding:13px;
  font-weight:400;font-size:14px;border:1px solid var(--primary);background:#fff;color:var(--primary);transition:background .15s,color .15s;}
#indigo-rcc .actions button:hover{background:var(--primary);color:#fff;}

#indigo-rcc .badge{display:inline-block;background:rgba(231,65,122,.12);color:#bf2f66;font-size:11px;
  font-weight:500;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;}
#indigo-rcc .disclaimer{margin-top:18px;font-size:11.5px;line-height:1.55;color:var(--muted);
  border-top:1px solid var(--line);padding-top:14px;}

/* Referral panel (informational — accent blue) */
#indigo-rcc .referral{margin-top:20px;border:1px solid rgba(39,169,225,.35);border-radius:12px;padding:22px;
  background:var(--info-bg);display:none;}
#indigo-rcc .referral.on{display:block;}
#indigo-rcc .referral h2{margin:0 0 5px;font-size:20px;font-weight:600;color:var(--primary);}
#indigo-rcc .referral .lead{font-size:14px;line-height:1.6;color:var(--ink);margin:0 0 14px;}
#indigo-rcc .referral ul{margin:0 0 16px;padding-left:18px;font-size:13.5px;color:var(--ink);line-height:1.7;}
#indigo-rcc .ddlbox{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:16px;margin-bottom:14px;}
#indigo-rcc .ddlmark{font-weight:600;letter-spacing:2px;font-size:18px;color:var(--primary-deep);line-height:1;font-family:var(--font-head);}
#indigo-rcc .ddlmark span{color:var(--secondary);}
#indigo-rcc .ddlmeta{font-size:11.5px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.6px;}
#indigo-rcc .ddlbtn{margin-left:auto;border:none;cursor:pointer;background:var(--primary);color:#fff;font-weight:400;
  font-size:14px;padding:13px 20px;border-radius:5px;letter-spacing:.2px;white-space:nowrap;transition:background .15s;}
#indigo-rcc .ddlbtn:hover{background:var(--primary-hover);}
#indigo-rcc .refline{margin-top:16px;font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:14px;}
#indigo-rcc .refline a{color:var(--secondary);font-weight:600;cursor:pointer;text-decoration:none;}
#indigo-rcc .refline a:hover{text-decoration:underline;}

/* Prominent partner call-to-action on normal results */
#indigo-rcc .ddlcta{margin-top:18px;border:1px solid var(--line);border-radius:10px;padding:18px;background:#fff;}
#indigo-rcc .ddlcta-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
#indigo-rcc .ddllogo{height:36px;width:auto;display:block;}
#indigo-rcc .ddlcta-copy{margin:0 0 14px;font-size:13px;color:var(--ink);line-height:1.6;}
#indigo-rcc .ddlcta-btn{width:100%;border:none;cursor:pointer;background:var(--primary);color:#fff;font-weight:400;
  font-size:15px;padding:14px;border-radius:5px;letter-spacing:.2px;transition:background .15s;}
#indigo-rcc .ddlcta-btn:hover{background:var(--primary-hover);}

/* Partner footer */
#indigo-rcc .partner{margin:18px 28px 24px;padding-top:14px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#indigo-rcc .partner a{color:var(--secondary);font-weight:600;text-decoration:none;}
#indigo-rcc .partner a:hover{text-decoration:underline;}

/* Consent modal */
#indigo-rcc .rcc-modal{position:fixed;inset:0;background:rgba(43,43,43,.55);display:flex;
  align-items:center;justify-content:center;padding:20px;z-index:99999;}
#indigo-rcc .rcc-modal-box{background:#fff;border-radius:12px;max-width:460px;width:100%;
  padding:24px 24px 20px;box-shadow:0 20px 60px rgba(0,0,0,.35);max-height:90vh;overflow:auto;}
#indigo-rcc .rcc-modal-box h3{margin:0 0 8px;font-size:18px;font-weight:500;color:var(--primary);}
#indigo-rcc .rcc-modal-box p{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--ink);}
#indigo-rcc .rcc-field{margin-bottom:14px;}
#indigo-rcc .rcc-field label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px;}
#indigo-rcc .rcc-field input,#indigo-rcc .rcc-field textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:5px;font-size:15px;background:#fff;color:var(--ink);outline:none;font-family:var(--font-body);}
#indigo-rcc .rcc-field input:focus,#indigo-rcc .rcc-field textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(231,65,122,.14);}
#indigo-rcc .rcc-req{color:var(--secondary);}
#indigo-rcc .rcc-opt{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;}
#indigo-rcc .rcc-consent{font-size:12.5px;color:var(--muted);line-height:1.55;}
#indigo-rcc .rcc-modal-err{background:#FEEFE3;color:#B85212;font-size:12.5px;padding:10px 12px;border-radius:6px;margin-bottom:12px;}
#indigo-rcc .rcc-modal-actions{display:flex;gap:10px;justify-content:flex-end;}
#indigo-rcc .rcc-modal-actions button{cursor:pointer;border-radius:5px;padding:13px 20px;font-weight:400;font-size:14px;border:1px solid var(--primary);transition:background .15s,color .15s;}
#indigo-rcc .rcc-cancel{background:#fff;color:var(--primary);}
#indigo-rcc .rcc-cancel:hover{background:var(--soft);}
#indigo-rcc .rcc-proceed{background:var(--primary);color:#fff;border-color:var(--primary);}
#indigo-rcc .rcc-proceed:hover{background:var(--primary-hover);}

/* Responsive: stack on small screens */
@media(max-width:600px){
  #indigo-rcc .grid{grid-template-columns:1fr;}
  #indigo-rcc .checks{grid-template-columns:1fr;}
  #indigo-rcc .ddlbox{flex-wrap:wrap;}
  #indigo-rcc .ddlbtn{margin-left:0;width:100%;}
  #indigo-rcc .hd,#indigo-rcc .body{padding-left:20px;padding-right:20px;}
}
