/* iOutlet Repair vs Replace — Apple-inspired */
#io-rvr-app{
  max-width:680px;margin:48px auto;padding:0 24px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif;
  color:#1d1d1f;
}
.io-rvr-loading{padding:80px 0;text-align:center;color:#86868b}
.io-rvr-step{animation:rvrfade .35s ease}
@keyframes rvrfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Hero */
.io-rvr-eyebrow{
  display:inline-block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  color:#0071e3;font-weight:600;margin-bottom:12px;
}
.io-rvr-h1{font-size:40px;line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0 0 16px}
.io-rvr-sub{font-size:18px;line-height:1.5;color:#424245;margin:0 0 28px;max-width:560px}
.io-rvr-sub-small{font-size:15px;line-height:1.5;color:#6e6e73;margin:0 0 20px;max-width:520px}
.io-rvr-honesty{font-size:13px;color:#86868b;margin-top:24px;max-width:560px;line-height:1.5}

/* Progress */
.io-rvr-progress{height:4px;background:#f5f5f7;border-radius:2px;margin:0 0 36px;overflow:hidden}
.io-rvr-progress > span{display:block;height:100%;background:#0071e3;border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}

/* Questions */
.io-rvr-q{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 16px;line-height:1.25}

/* Options (tiles) */
.io-rvr-options{display:grid;gap:12px;margin:20px 0 32px}
.io-rvr-opt{
  display:block;width:100%;text-align:left;padding:18px 20px;
  background:#fff;border:1.5px solid #d2d2d7;border-radius:14px;
  font-size:17px;color:#1d1d1f;cursor:pointer;
  transition:border-color .2s,background .2s;
}
.io-rvr-opt:hover{border-color:#0071e3;background:#f5f9ff}
.io-rvr-opt.is-selected{border-color:#0071e3;background:#f0f7ff;color:#0071e3;font-weight:500}

/* Field (select) */
.io-rvr-field{margin:0 0 20px}
.io-rvr-field label{
  display:block;font-size:13px;font-weight:600;color:#6e6e73;
  letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;
}
.io-rvr-select{
  width:100%;padding:14px 16px;border:1.5px solid #d2d2d7;border-radius:12px;
  font-size:16px;font-family:inherit;color:#1d1d1f;background:#fff;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;
  padding-right:44px;
}
.io-rvr-select:focus{outline:none;border-color:#0071e3}
.io-rvr-select:disabled{opacity:.5;cursor:not-allowed}

/* Cost input */
.io-rvr-cost-wrap{margin:20px 0 32px}
.io-rvr-cost-wrap > label{
  display:block;font-size:13px;font-weight:600;color:#6e6e73;
  letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;
}
.io-rvr-cost-row{
  display:flex;align-items:center;gap:10px;
  border:1.5px solid #d2d2d7;border-radius:12px;background:#fff;padding:4px 16px 4px 4px;
  transition:border-color .2s;
}
.io-rvr-cost-row:focus-within{border-color:#0071e3}
.io-rvr-cost-input{
  flex:1;border:none;background:transparent;padding:14px 16px;
  font-size:20px;font-weight:500;color:#1d1d1f;font-family:inherit;
  -moz-appearance:textfield;
}
.io-rvr-cost-input::-webkit-outer-spin-button,
.io-rvr-cost-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.io-rvr-cost-input:focus{outline:none}
.io-rvr-cost-suffix{font-size:18px;color:#86868b;font-weight:500}
.io-rvr-estimate-note{margin-top:8px;font-size:13px;color:#86868b}

/* Actions */
.io-rvr-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.io-rvr-back{background:none;border:none;color:#0071e3;cursor:pointer;font-size:16px;padding:8px 0}
.io-rvr-back:hover{text-decoration:underline}
.io-rvr-cta{
  background:#0071e3;color:#fff;border:none;border-radius:980px;
  padding:14px 28px;font-size:17px;font-weight:500;cursor:pointer;
  transition:background .2s;text-decoration:none;display:inline-block;text-align:center;
}
.io-rvr-cta:hover{background:#0077ed}
.io-rvr-cta.is-secondary{background:#f5f5f7;color:#1d1d1f}
.io-rvr-cta.is-secondary:hover{background:#eaeaef}
.io-rvr-cta:disabled{background:#d2d2d7;color:#86868b;cursor:not-allowed}

/* Gate */
.io-rvr-gate{max-width:480px;margin:0 auto;text-align:left}
.io-rvr-gate-icon{width:64px;height:64px;border-radius:50%;background:#f0f7ff;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.io-rvr-gate-icon svg{width:28px;height:28px;color:#0071e3}
.io-rvr-form{display:grid;gap:14px;margin-top:24px}
.io-rvr-form input[type=email]{
  width:100%;padding:14px 16px;border:1.5px solid #d2d2d7;border-radius:12px;
  font-size:16px;font-family:inherit;color:#1d1d1f;background:#fff;
}
.io-rvr-form input[type=email]:focus{outline:none;border-color:#0071e3}
.io-rvr-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#424245;line-height:1.45}
.io-rvr-consent input{margin-top:2px;flex-shrink:0}
.io-rvr-msg{margin-top:14px;padding:12px 16px;border-radius:10px;font-size:14px}
.io-rvr-msg.is-error{background:#fff0f0;color:#b71c1c}

/* Verdict */
.io-rvr-verdict{text-align:center;padding:32px 0}
.io-rvr-verdict-badge{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  font-weight:600;padding:6px 14px;border-radius:999px;margin-bottom:20px;
}
.io-rvr-verdict-badge.replace_now      {background:#fff0f0;color:#b71c1c}
.io-rvr-verdict-badge.consider_replace {background:#fff8e1;color:#8a6d00}
.io-rvr-verdict-badge.repair           {background:#e8f5e9;color:#1b5e20}
.io-rvr-verdict h2{font-size:34px;font-weight:600;margin:0 0 16px;letter-spacing:-.015em;line-height:1.15}
.io-rvr-verdict-body{font-size:17px;line-height:1.5;color:#424245;margin:0 auto 20px;max-width:540px}
.io-rvr-ratio{
  font-size:14px;color:#6e6e73;margin:0 auto 24px;max-width:540px;
  padding:12px 16px;background:#f5f5f7;border-radius:10px;display:inline-block;
}
.io-rvr-coupon-card{
  background:linear-gradient(135deg,#0071e3,#005bbb);color:#fff;border-radius:18px;
  padding:24px;margin:24px auto;max-width:420px;text-align:center;
}
.io-rvr-coupon-card .label{font-size:13px;opacity:.85;letter-spacing:.05em;text-transform:uppercase}
.io-rvr-coupon-card .code{font-size:32px;font-weight:600;letter-spacing:.04em;margin:6px 0 4px;font-family:"SF Mono",Menlo,monospace}
.io-rvr-coupon-card .terms{font-size:13px;opacity:.85}

/* Repair shops list */
.io-rvr-shops-wrap{
  background:#f5f5f7;border-radius:18px;padding:24px;margin:24px auto;max-width:540px;text-align:left;
}
.io-rvr-shops-wrap h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#86868b;margin:0 0 12px;font-weight:600}
.io-rvr-shops{display:grid;gap:10px}
.io-rvr-shop{
  display:block;padding:14px 18px;background:#fff;border:1.5px solid #d2d2d7;border-radius:12px;
  color:#1d1d1f;text-decoration:none;font-size:16px;transition:border-color .2s,background .2s;
}
.io-rvr-shop:hover{border-color:#0071e3;background:#f5f9ff;color:#0071e3}
.io-rvr-save-note{font-size:14px;color:#6e6e73;margin:16px auto;max-width:540px}

/* Action grids + restart */
.io-rvr-actions-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.io-rvr-actions-grid .io-rvr-cta{min-width:220px}
.io-rvr-restart{background:none;border:none;color:#0071e3;cursor:pointer;font-size:14px;margin-top:18px}
.io-rvr-restart:hover{text-decoration:underline}

/* Mobile */
@media (max-width:560px){
  #io-rvr-app{margin:24px auto;padding:0 18px}
  .io-rvr-h1{font-size:30px}
  .io-rvr-q{font-size:22px}
  .io-rvr-verdict h2{font-size:26px}
  .io-rvr-actions-grid .io-rvr-cta{min-width:0;width:100%}
}
