/* 3-step checkout wizard (Review Cart / Your Details / Confirm & Submit) */

/* Stepper */
.ckt-stepper{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--line);}
.ckt-step-dot{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;flex:1;min-width:0;}
.ckt-dot{
  width:29px;height:29px;border-radius:50%;background:var(--bg-soft);color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;font-family:'Inter';font-weight:600;font-size:.86rem;
  border:2px solid var(--bg-soft);transition:all .15s ease;
}
.ckt-step-label{font-size:.75rem;color:var(--ink-soft);text-align:center;font-weight:500;line-height:1.2;}
.ckt-step-dot.active .ckt-dot{background:#1565f0;border-color:#1565f0;color:#fff;}
.ckt-step-dot.active .ckt-step-label{color:#1565f0;font-weight:600;}
.ckt-step-dot.done .ckt-dot{background:var(--green-dark);border-color:var(--green-dark);color:#fff;}
.ckt-step-dot.done .ckt-step-label{color:var(--green-dark);}
.ckt-step-dot.done, .ckt-step-dot.active{cursor:pointer;}
.ckt-step-dot:not(.done):not(.active){cursor:default;}
.ckt-step-line{flex:0 0 auto;width:24px;height:2px;background:var(--line);margin-top:13px;}

/* Step panel display:none/flex now lives in quote-slip.css, alongside the
   .ckt-step-scroll / .ckt-step-footer layout it's paired with — this file
   used to also define .ckt-step-panel.active{display:block}, which loads
   after quote-slip.css and was silently overriding its display:flex,
   breaking the internal scroll containment entirely. */

/* Trust card (step 2 intro) */
.ckt-trust-card{background:var(--blue-light);border-radius:11px;padding:16px 18px;margin-bottom:16px;}
.ckt-trust-eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-dark);margin:0 0 4px;}
.ckt-trust-title{font-family:'Poppins';font-weight:600;font-size:1.01rem;color:var(--ink);margin:0 0 6px;}
.ckt-trust-body{font-size:.88rem;color:#2c5a78;margin:0;line-height:1.5;}
/* Hidden by default (desktop) — only shown on mobile, see search-results.css.
   Desktop always shows the full ckt-trust-body text with no truncation. */
.ckt-trust-more{display:none;}

/* Sub-section headings inside step 2 form */
.ckt-sub-head{font-family:'Poppins';font-weight:600;font-size:.94rem;color:var(--ink);margin:18px 0 8px;}
.ckt-sub-head:first-of-type{margin-top:0;}
.ckt-sub-note{font-size:.86rem;color:var(--ink-soft);margin:-2px 0 10px;}

/* Payment method options */
.ckt-pay-options{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.ckt-pay-option{
  display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:11px 13px;
  font-size:.97rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease;
}
.ckt-pay-option:hover{border-color:var(--green);}
.ckt-pay-option input[type="radio"]{accent-color:var(--green-dark);width:16px;height:16px;flex-shrink:0;}
.ckt-pay-icon{
  flex-shrink:0;width:22px;height:22px;border-radius:6px;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Poppins';font-weight:700;font-size:.78rem;line-height:1;
}
.ckt-pay-icon-paypal{background:#003087;}
.ckt-pay-icon-venmo{background:#3D95CE;}
.ckt-pay-icon-echeck{background:var(--green-dark);}
.ckt-pay-label-group{display:flex;flex-direction:column;gap:1px;min-width:0;}
.ckt-pay-sublabel{font-size:.72rem;font-weight:500;color:var(--ink-soft);}
.ckt-pay-reveal{display:none;padding:0 2px 10px;margin-top:-6px;}
.ckt-pay-reveal.open{display:block;}

/* Step 3: Before You Submit */
.ckt-before-submit{background:var(--bg);border-radius:11px;padding:16px 18px;margin:16px 0;}
.ckt-before-title{font-family:'Poppins';font-weight:600;font-size:.94rem;margin:0 0 8px;}
.ckt-before-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ckt-before-list li{font-size:.88rem;color:var(--ink-soft);line-height:1.45;padding-left:22px;position:relative;}
.ckt-before-list a{color:var(--blue-dark);}
.ckt-before-yes::before{content:'✓';position:absolute;left:0;color:var(--green-dark);font-weight:700;}
.ckt-before-no::before{content:'✕';position:absolute;left:0;color:#B3453D;font-weight:700;}

/* Agreement checkbox */
.ckt-agree-row{
  display:flex;align-items:flex-start;gap:8px;font-size:.88rem;color:var(--ink-soft);
  border:1px solid var(--line);border-radius:9px;padding:11px 13px;margin-bottom:14px;cursor:pointer;
}
.ckt-agree-row input{margin-top:2px;accent-color:var(--green-dark);flex-shrink:0;}
.ckt-agree-row a{color:var(--blue-dark);}
.ckt-agree-row.error{border-color:#B3453D;}

#confirm-items .slip-item button{display:none;}

/* Small, unobtrusive "Clear saved details" utility link — same on both
   desktop and mobile, matches the site's small-helper-text style rather
   than looking like a primary action. */
.ckt-clear-saved{
  display:block;background:none;border:none;padding:0;margin:10px 0 0;
  font-family:'Inter';font-size:.8rem;color:var(--ink-soft);
  text-decoration:underline;cursor:pointer;
}
.ckt-clear-saved:hover{color:var(--blue-dark);}
