/* UCO Instant-Quote Calculator — self-contained styles (brand palette). */

.ir-q-main{
  background:#F7F9F8;
  min-height:100vh;
  padding:9rem 1.25rem 4rem;
  font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:#0D3B4C;
}
@media (max-width:600px){ .ir-q-main{ padding-top:11rem; } }

.ir-q-wrap{ max-width:640px; margin:0 auto; }

.ir-q-card{
  background:#fff;
  border:1px solid #E5E9E8;
  border-radius:24px;
  box-shadow:0 12px 40px rgba(13,59,76,.08);
  padding:2.5rem 2.5rem 2rem;
}
@media (max-width:600px){ .ir-q-card{ padding:1.75rem 1.5rem 1.5rem; border-radius:20px; } }

/* Progress */
.ir-q-progress{ height:6px; background:#E9EEEC; border-radius:999px; overflow:hidden; }
.ir-q-progress-fill{ display:block; height:100%; width:0; background:#59B376; border-radius:999px; transition:width .35s ease; }
.ir-q-step-count{ margin:.75rem 0 0; font-size:.75rem; font-weight:600; letter-spacing:.04em; color:#9AA3B2; text-transform:uppercase; min-height:1rem; }

/* Screen */
.ir-q-screen{ padding:1.5rem 0 .5rem; min-height:220px; opacity:1; }
.ir-q-eyebrow{ margin:0 0 .5rem; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#59B376; }
.ir-q-label{ margin:0 0 .5rem; font-size:1.6rem; line-height:1.25; font-weight:800; color:#0D3B4C; }
@media (max-width:600px){ .ir-q-label{ font-size:1.35rem; } }
.ir-q-help{ margin:.25rem 0 1.25rem; color:#6E7191; font-size:.95rem; line-height:1.5; }

/* Inputs */
.ir-q-inputwrap{ position:relative; margin-top:1rem; }
.ir-q-input{
  width:100%; box-sizing:border-box;
  padding:.95rem 1rem; font-size:1.05rem; color:#0D3B4C;
  background:#fff; border:2px solid #E1E6E4; border-radius:14px;
  transition:border-color .15s, box-shadow .15s; outline:none;
  font-family:inherit;
}
.ir-q-input::placeholder{ color:#C2CAD3; }
.ir-q-input:focus{ border-color:#59B376; box-shadow:0 0 0 4px rgba(89,179,118,.15); }
.ir-q-inputwrap.has-prefix .ir-q-input{ padding-left:2.1rem; }
.ir-q-prefix{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:#6E7191; font-size:1.05rem; font-weight:600; }

/* Select options */
.ir-q-opts{ display:flex; flex-direction:column; gap:.6rem; margin-top:1rem; }
.ir-q-opt{
  text-align:left; padding:.9rem 1.1rem; font-size:1rem; font-weight:600; color:#0D3B4C;
  background:#fff; border:2px solid #E1E6E4; border-radius:14px; cursor:pointer;
  transition:border-color .15s, background .15s, transform .05s; font-family:inherit;
}
.ir-q-opt:hover{ border-color:#59B376; background:#59B37610; }
.ir-q-opt:active{ transform:scale(.99); }
.ir-q-opt.is-selected{ border-color:#59B376; background:#59B37618; }

/* Error */
.ir-q-error{ margin:.75rem 0 0; color:#C0392B; font-size:.9rem; font-weight:600; }

/* Nav */
.ir-q-nav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.5rem; }
.ir-q-back{ background:none; border:none; color:#6E7191; font-weight:600; font-size:.95rem; cursor:pointer; padding:.5rem .25rem; font-family:inherit; }
.ir-q-back:hover{ color:#0D3B4C; }
.ir-q-next{
  margin-left:auto; padding:.9rem 2.25rem; font-size:1rem; font-weight:700; color:#fff;
  background:#59B376; border:none; border-radius:999px; cursor:pointer;
  transition:background .15s, transform .05s; font-family:inherit;
}
.ir-q-next:hover{ background:#4da068; }
.ir-q-next:active{ transform:scale(.99); }
.ir-q-next:disabled{ opacity:.6; cursor:default; }

/* Quote reveal */
.ir-q-quotelead{ margin:.5rem 0 1rem; color:#6E7191; font-size:1rem; }
.ir-q-quotebig{ display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap; opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .5s ease; }
.is-revealed .ir-q-quotebig{ opacity:1; transform:none; }
.ir-q-quotenum{ font-size:3.5rem; font-weight:900; line-height:1; color:#59B376; letter-spacing:-.02em; }
@media (max-width:600px){ .ir-q-quotenum{ font-size:2.75rem; } }
.ir-q-quoteunit{ font-size:1.05rem; font-weight:600; color:#6E7191; }
.ir-q-disclaimer{ margin:1.5rem 0 0; font-size:.8rem; line-height:1.5; color:#9AA3B2; font-style:italic; max-width:34rem; }

/* Loading */
.ir-q-loading{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:2.5rem 0; }
.ir-q-spinner{ width:38px; height:38px; border:4px solid #E1E6E4; border-top-color:#59B376; border-radius:50%; animation:ir-q-spin .8s linear infinite; }
@keyframes ir-q-spin{ to{ transform:rotate(360deg); } }

/* Done */
.ir-q-done{ text-align:center; padding:1.5rem 0; }
.ir-q-check{ width:64px; height:64px; margin:0 auto 1.25rem; border-radius:50%; background:#59B37618; color:#59B376; font-size:2rem; font-weight:800; display:flex; align-items:center; justify-content:center; }
.ir-q-homelink{ display:inline-block; margin-top:1.5rem; padding:.85rem 2rem; background:#59B376; color:#fff; font-weight:700; border-radius:999px; text-decoration:none; }
.ir-q-homelink:hover{ background:#4da068; }

/* Reassurance line */
.ir-q-reassure{ text-align:center; margin:1.25rem 0 0; color:#9AA3B2; font-size:.85rem; }

/* ---- Grouped multi-field sections ---- */
.ir-q-form{ margin-top:1.25rem; }
.ir-q-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem 1rem; }
.ir-q-field{ display:flex; flex-direction:column; min-width:0; }
.ir-q-col-full{ grid-column:span 4; }
.ir-q-col-half{ grid-column:span 2; }
.ir-q-col-quarter{ grid-column:span 1; }
@media (max-width:600px){
  .ir-q-grid{ grid-template-columns:repeat(2,1fr); }
  .ir-q-col-full{ grid-column:span 2; }
  .ir-q-col-half{ grid-column:span 2; }
  .ir-q-col-quarter{ grid-column:span 1; }
}
.ir-q-fieldlabel{ font-size:.82rem; font-weight:700; color:#0D3B4C; margin:0; letter-spacing:.01em; }
.ir-q-field .ir-q-inputwrap{ margin-top:0; }
.ir-q-field .ir-q-help{ margin:.35rem 0 0; font-size:.8rem; }
.ir-q-field .ir-q-opts{ margin-top:.15rem; }
.ir-q-fielderror{ margin:.35rem 0 0; font-size:.78rem; font-weight:600; color:#C0392B; min-height:0; }
.ir-q-field.has-error .ir-q-input{ border-color:#C0392B; }
.ir-q-field.has-error .ir-q-input:focus{ box-shadow:0 0 0 4px rgba(192,57,43,.12); }

/* Inline (Yes/No) radio options */
.ir-q-opts-inline{ flex-direction:row; }
.ir-q-opts-inline .ir-q-opt{ flex:1; text-align:center; }

/* Hidden submit so Enter submits the section form */
.ir-q-hiddensubmit{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

/* Honeypot — hidden from humans */
.ir-q-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ---- "Speak to a sales person" callback ---- */
.ir-q-callback{ margin-top:1.75rem; }
.ir-q-callback-btn{ display:inline-block; padding:.85rem 1.75rem; background:#fff; color:#2F7A4A; border:2px solid #59B376; font:inherit; font-weight:700; border-radius:999px; cursor:pointer; transition:background .15s, color .15s; }
.ir-q-callback-btn:hover:not(:disabled){ background:#59B376; color:#fff; }
.ir-q-callback-btn:disabled{ opacity:.6; cursor:wait; }
.ir-q-callback-done{ margin:0; padding:.85rem 1.25rem; background:#EEF8F1; color:#2F7A4A; font-weight:600; border-radius:12px; display:inline-block; }

/* ---- Field info tooltips ---- */
.ir-q-labelrow{ display:flex; align-items:center; gap:.4rem; margin:0 0 .4rem; min-height:1.1rem; }
.ir-q-info{ position:relative; display:inline-flex; }
.ir-q-info-btn{ width:1.05rem; height:1.05rem; padding:0; border-radius:50%; border:1.5px solid #9AA3B2; background:transparent; color:#6E7191; font:italic 700 .68rem/1 Georgia, serif; display:inline-flex; align-items:center; justify-content:center; cursor:help; transition:border-color .15s, color .15s; }
.ir-q-info-btn:hover, .ir-q-info-btn:focus-visible{ border-color:#59B376; color:#59B376; outline:none; }
.ir-q-tip{ position:absolute; z-index:20; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:max-content; max-width:16rem; padding:.6rem .75rem; background:#0D3B4C; color:#fff; font-size:.78rem; font-weight:500; line-height:1.45; border-radius:8px; box-shadow:0 6px 20px rgba(13,59,76,.18); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .15s; }
.ir-q-tip::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#0D3B4C; }
.ir-q-info:hover .ir-q-tip, .ir-q-info-btn:focus-visible + .ir-q-tip, .ir-q-info.is-open .ir-q-tip{ opacity:1; visibility:visible; }
@media (max-width:640px){ .ir-q-labelrow{ position:relative; } .ir-q-info{ position:static; } .ir-q-tip{ left:0; right:0; transform:none; width:auto; max-width:none; } .ir-q-tip::after{ display:none; } }

/* ==========================================================================
   /get-paid/ landing page (page-templates/get-paid.php)
   ========================================================================== */
.ir-lp{ background:#F7F9F8; color:#0D3B4C; font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.ir-lp-hero{ padding:9rem 1.25rem 3.5rem; }
.ir-lp-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:2rem; align-items:start; }
@media (min-width:960px){ .ir-lp-grid{ grid-template-columns:minmax(0,1fr) minmax(0,560px); gap:3.5rem; } .ir-lp-copy{ padding-top:1.5rem; } }
@media (max-width:600px){ .ir-lp-hero{ padding-top:11rem; } }
.ir-lp-eyebrow{ margin:0 0 .75rem; font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#59B376; }
.ir-lp-title{ margin:0 0 1rem; font-size:clamp(2.1rem,4.6vw,3.4rem); line-height:1.1; font-weight:800; }
.ir-lp-title span{ color:#59B376; }
.ir-lp-lead{ margin:0 0 1.75rem; font-size:1.1rem; line-height:1.6; color:#6E7191; max-width:34rem; }
.ir-lp-benefits{ list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
.ir-lp-benefits li{ display:flex; gap:.85rem; align-items:flex-start; line-height:1.5; color:#6E7191; }
.ir-lp-benefits strong{ display:block; color:#0D3B4C; font-weight:700; }
.ir-lp-tick{ flex:none; width:1.75rem; height:1.75rem; border-radius:50%; background:#59B37622; color:#59B376; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
/* The calculator sits in the right column; drop its standalone-page width cap. */
.ir-lp-app .ir-q-wrap{ max-width:none; }
.ir-lp-app{ scroll-margin-top:7rem; }
/* On phones, keep the pitch short so the calculator is near the top. */
@media (max-width:959px){ .ir-lp-benefits{ display:none; } .ir-lp-lead{ margin-bottom:0; } }

