/* Calculator, apply form and modal styles ported verbatim from apply.hylend.co.uk */
.btn:disabled{opacity:.4;cursor:not-allowed}
.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
.eyebrow{margin-bottom:8px;display:block}
/* ---------- CALCULATOR ---------- */
  #calculator{background:var(--char);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .calc-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start}
  @media(max-width:980px){.calc-shell{grid-template-columns:1fr}}
  .calc-tabs{display:flex;border:1px solid var(--line);margin-bottom:34px}
  .calc-tab{flex:1;padding:16px 8px;text-align:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;background:transparent;border:none;border-right:1px solid var(--line);font-family:var(--sans);font-weight:500;transition:all .2s}
  .calc-tab:last-child{border-right:none}
  .calc-tab.active{background:var(--gold);color:var(--ink)}
  .field{margin-bottom:24px}
  .field label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  .field .control{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line-soft);transition:border-color .2s}
  .field .control:focus-within{border-color:var(--gold)}
  .field .prefix,.field .suffix{padding:0 16px;color:var(--gold);font-family:var(--serif);font-size:16px}
  .field input,.field select{flex:1;background:transparent;border:none;outline:none;color:var(--cream);font-family:var(--sans);font-size:17px;font-weight:400;padding:15px 16px;width:100%;min-width:0}
  .field input::placeholder{color:#5d7298}
  .field select{appearance:none;cursor:pointer}
  .field select option{background:var(--panel);color:var(--cream)}
  .slider-row{display:flex;align-items:center;gap:18px;background:var(--panel);border:1px solid var(--line-soft);padding:15px 18px}
  .slider-row input[type=range]{flex:1;accent-color:var(--gold);height:2px}
  .slider-val{font-family:var(--serif);color:var(--gold);font-size:18px;min-width:96px;text-align:right}
  .calc-note{font-size:12px;color:var(--muted);margin-top:8px}

  /* results */
  .results{background:var(--panel);border:1px solid var(--line);padding:42px;position:sticky;top:100px}
  .results .eyebrow{margin-bottom:8px;display:block}
  .headline-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 8px;padding-bottom:26px;border-bottom:1px solid var(--line-soft)}
  .ht{text-align:left}
  .ht .v{font-family:var(--serif);font-size:27px;color:var(--gold);font-weight:500;line-height:1.1}
  .ht .k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:7px}
  table.breakdown{width:100%;border-collapse:collapse;margin-top:18px}
  .breakdown td{padding:11px 0;font-size:14px;border-bottom:1px solid var(--line-soft);color:var(--cream-dim)}
  .breakdown td:last-child{text-align:right;color:var(--cream);font-weight:400;font-variant-numeric:tabular-nums}
  .breakdown tr.total td{color:var(--gold);font-family:var(--serif);font-size:17px;border-bottom:none;padding-top:16px}
  .breakdown tr.sub td:first-child{padding-left:16px;font-size:13px}
  .breakdown s{color:var(--muted);margin-right:8px;font-size:12.5px}
  .promo-badge{display:none;margin:14px 0 2px;padding:10px 16px;border:1px solid var(--gold);color:var(--gold);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;text-align:center}
  .promo-badge.show{display:block}
  .quote-warning{display:none;background:rgba(201,138,92,.12);border:1px solid rgba(201,138,92,.4);padding:14px 18px;font-size:13px;color:var(--warn);margin-top:20px}
  .quote-warning.show{display:block}
  .results-foot{font-size:11.5px;color:var(--muted);margin-top:22px;line-height:1.55}
  .results .btn{width:100%;justify-content:center;margin-top:26px}

  /* ---------- HOW ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
  .step{padding-top:26px;border-top:1px solid var(--line)}
  .step .n{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:20px}
  .step h3{font-size:19px;font-weight:500;margin:12px 0 10px}
  .step p{font-size:13.5px;color:var(--cream-dim)}
  @media(max-width:860px){.steps{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.steps{grid-template-columns:1fr}}

  /* ---------- APPLY ---------- */
  #apply{background:var(--char);border-top:1px solid var(--line-soft);scroll-margin-top:130px}
  .apply-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:start}
  @media(max-width:980px){.apply-shell{grid-template-columns:1fr}}
  .apply-summary{background:var(--panel);border:1px solid var(--line);padding:36px}
  .apply-summary h3{font-size:21px;font-weight:500;margin-bottom:6px}
  .apply-summary .none{color:var(--muted);font-size:14px;margin-top:10px}
  .apply-form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  @media(max-width:640px){.apply-form .row{grid-template-columns:1fr}}
  .apply-form textarea{flex:1;background:transparent;border:none;outline:none;color:var(--cream);font-family:var(--sans);font-size:16px;padding:15px 16px;width:100%;resize:vertical;min-height:96px}
  .form-msg{margin-top:22px;padding:16px 20px;font-size:14px;display:none}
  .form-msg.ok{display:block;background:rgba(127,174,122,.1);border:1px solid rgba(127,174,122,.4);color:var(--ok)}
  .form-msg.err{display:block;background:rgba(201,138,92,.12);border:1px solid rgba(201,138,92,.4);color:var(--warn)}
  /* address autocomplete */
  .addr-wrap{position:relative}
  .addr-suggest{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--panel-2);border:1px solid var(--gold);border-top:none;max-height:260px;overflow-y:auto}
  .addr-suggest.show{display:block}
  .addr-suggest button{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-soft);color:var(--cream-dim);font-family:var(--sans);font-size:13.5px;padding:11px 16px;cursor:pointer}
  .addr-suggest button:hover,.addr-suggest button.hl{background:rgba(159,240,32,.14);color:var(--cream)}
  .addr-suggest .src{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:8px 16px}
  /* honeypot — hidden from humans, visible to dumb bots */
  .hp-field{position:absolute !important;left:-9999px !important;top:-9999px !important;height:1px;width:1px;overflow:hidden}
  .turnstile-slot{margin:6px 0 18px}
  .pc-status{font-size:12px;margin-top:8px;display:block;min-height:16px}
  .pc-status.ok{color:var(--ok)}
  .pc-status.bad{color:var(--warn)}

  /* ---------- PASSWORD STEP ---------- */
  .pw-step{display:none;background:var(--panel);border:1px solid var(--line);padding:42px}
  .pw-step.show{display:block}
  .pw-step h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:14px 0 10px}
  .pw-step p{color:var(--cream-dim);font-size:14.5px;margin-bottom:26px}
  .pw-done{display:none;text-align:left}
  .pw-done.show{display:block}

  /* ---------- LOGIN MODAL ---------- */
  .modal-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(4,24,47,.82);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:24px}
  .modal-overlay.show{display:flex}
  .modal{background:var(--char);border:1px solid var(--line);padding:46px;max-width:420px;width:100%;position:relative}
  .modal h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:12px 0 8px}
  .modal p{color:var(--cream-dim);font-size:13.5px;margin-bottom:26px}
  .modal .close{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}
  .modal .close:hover{color:var(--gold)}
  .modal .btn{width:100%;justify-content:center;margin-top:6px}
  .modal .alt{font-size:12px;color:var(--muted);text-align:center;margin-top:18px}

  
@media(max-width:980px){.calc-shell{grid-template-columns:1fr}}
@media(max-width:980px){.apply-shell{grid-template-columns:1fr}}
@media(max-width:640px){.apply-form .row{grid-template-columns:1fr}}

/* mobile: calculator product tabs wrap 2x2 instead of overflowing */
@media(max-width:640px){
  .calc-tabs{flex-wrap:wrap}
  .calc-tab{flex:1 1 50%;padding:14px 6px;font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--line)}
  .calc-tab:nth-child(2n){border-right:none}
  .calc-tab:nth-child(n+3){border-bottom:none}
}
