/* ================================================================
   HANAMARK AUTO TRANSPORT — Quote Experience 2026
   Mobile-first, Elementor-safe, no external font dependency.
   ================================================================ */

.cdp-calculator-container {
    --hm-ink: #07182e;
    --hm-navy: #0b2a46;
    --hm-blue: #075985;
    --hm-blue-2: #0b76a8;
    --hm-orange: #f59e0b;
    --hm-red: #c91f2c;
    --hm-green: #17845a;
    --hm-sky: #eaf6fb;
    --hm-warm: #fff8eb;
    --hm-line: #dce6ed;
    --hm-muted: #607284;
    --hm-surface: #ffffff;
    --hm-bg: #f3f7fa;
    --hm-shadow: 0 18px 48px rgba(7,24,46,.12);
    width: min(100%, 780px) !important;
    max-width: 780px !important;
    margin: 28px auto !important;
    padding: 0 16px !important;
    clear: both !important;
    display: block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: var(--hm-ink) !important;
    -webkit-font-smoothing: antialiased;
}

.elementor-widget-container .cdp-calculator-container {
    width: 100% !important;
    max-width: 780px !important;
    margin: 24px auto !important;
    padding: 0 16px !important;
}

.cdp-calculator-container *,
.cdp-calculator-container *::before,
.cdp-calculator-container *::after { box-sizing: border-box !important; }

.cdp-calculator-card {
    position: relative !important;
    overflow: hidden !important;
    background: var(--hm-surface) !important;
    border: 1px solid rgba(7,89,133,.13) !important;
    border-radius: 24px !important;
    padding: 36px !important;
    margin: 0 !important;
    box-shadow: var(--hm-shadow) !important;
}

/* Signature brand ribbon — visually consistent on every customer step */
.cdp-calculator-card::before {
    content: "HANAMARK  •  AUTO TRANSPORT" !important;
    display: block !important;
    margin: -36px -36px 30px !important;
    padding: 14px 28px !important;
    background: linear-gradient(105deg, var(--hm-ink) 0%, var(--hm-blue) 70%, #0a78a8 100%) !important;
    border-bottom: 4px solid var(--hm-orange) !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .15em !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.cdp-card-title, .cdp-calculator-header, .cdp-page-header, .cdp-conf-header {
    margin: 0 0 8px !important;
    color: var(--hm-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(25px, 4vw, 34px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.cdp-subtitle, .cdp-conf-subtitle {
    margin: 0 0 28px !important;
    color: var(--hm-muted) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.cdp-back-link, .cdp-new-quote-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 22px !important;
    color: var(--hm-blue) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}
.cdp-back-link:hover, .cdp-new-quote-link:hover { text-decoration: underline !important; }

.cdp-grid, .cdp-form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.cdp-form-group { width: 100% !important; margin: 0 0 20px !important; position: relative !important; }
.cdp-form-group label, .cdp-section-label {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--hm-ink) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}
.cdp-section-label { font-size: 15px !important; margin-bottom: 12px !important; }
.cdp-required { color: var(--hm-red) !important; }

.cdp-form-group input[type="text"],
.cdp-form-group input[type="email"],
.cdp-form-group input[type="tel"],
.cdp-form-group input[type="date"],
.cdp-form-group input[type="number"],
.cdp-form-group select,
.cdp-form-group textarea {
    width: 100% !important;
    min-height: 52px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    border: 1.5px solid #cddbe5 !important;
    border-radius: 12px !important;
    outline: none !important;
    background: #fbfdfe !important;
    color: var(--hm-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important; /* prevents iOS zoom */
    line-height: 1.4 !important;
    box-shadow: inset 0 1px 1px rgba(7,24,46,.03) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.cdp-form-group textarea { min-height: 112px !important; resize: vertical !important; }
.cdp-form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23075985' d='M2 4l4 4 4-4' fill='none' stroke='%23075985' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    padding-right: 40px !important;
}
.cdp-form-group input:focus, .cdp-form-group select:focus, .cdp-form-group textarea:focus {
    border-color: var(--hm-blue-2) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(11,118,168,.12) !important;
}
.cdp-form-group input::placeholder, .cdp-form-group textarea::placeholder { color: #8b9aa8 !important; opacity: 1 !important; }
.cdp-input-locked { background: #f2f6f8 !important; color: #506273 !important; }
.cdp-help-text, .cdp-small-text { display: block !important; color: var(--hm-muted) !important; font-size: 12px !important; line-height: 1.45 !important; margin-top: 6px !important; }

.cdp-btn {
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 13px !important;
    padding: 14px 22px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}
.cdp-btn-calc, .cdp-btn-pay {
    width: 100% !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    color: #fff !important;
    background: linear-gradient(105deg, var(--hm-blue) 0%, var(--hm-blue-2) 100%) !important;
    box-shadow: 0 9px 22px rgba(7,89,133,.20) !important;
}
.cdp-btn-calc:hover, .cdp-btn-pay:hover { transform: translateY(-1px) !important; box-shadow: 0 12px 28px rgba(7,89,133,.27) !important; }
.cdp-btn-interac { background: linear-gradient(105deg, #111827, #26384a) !important; color:#fff !important; }
.cdp-btn-disabled, .cdp-btn:disabled { background: #dce5ea !important; color: #81909b !important; cursor: not-allowed !important; box-shadow: none !important; transform: none !important; }
.cdp-btn-full { width: 100% !important; }
.cdp-button-row, .cdp-button-group { display: flex !important; gap: 12px !important; margin-top: 18px !important; }

.cdp-v-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid var(--hm-line) !important;
}
.cdp-v-row:last-child { border-bottom: 0 !important; }
.cdp-v-label { color: #26394a !important; font-size: 15px !important; line-height: 1.35 !important; font-weight: 700 !important; flex: 1 !important; }
.cdp-v-controls { display: flex !important; align-items: center !important; gap: 10px !important; flex-shrink: 0 !important; }
.cdp-v-btn {
    width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 !important; margin: 0 !important; border-radius: 12px !important;
    border: 1.5px solid #bad0de !important; background: var(--hm-sky) !important; color: var(--hm-blue) !important;
    font-size: 22px !important; font-weight: 700 !important; line-height: 1 !important; cursor:pointer !important;
}
.cdp-v-btn:hover { background: var(--hm-blue) !important; color:#fff !important; }
.cdp-v-qty { min-width: 28px !important; text-align:center !important; font-size: 16px !important; font-weight: 800 !important; color: var(--hm-ink) !important; }

.cdp-summary-box, .cdp-info-box, .cdp-highlight-box, .cdp-conf-email-notice, .cdp-distance-preview, .cdp-terminal-summary {
    margin: 18px 0 24px !important;
    padding: 18px 20px !important;
    border: 1px solid #cfe1eb !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #f8fcfe, var(--hm-sky)) !important;
    color: #253a4c !important;
    box-shadow: none !important;
}
.cdp-summary-box p, .cdp-conf-details p { margin: 7px 0 !important; line-height: 1.5 !important; }
.cdp-info-box h4, .cdp-info-box h3, .cdp-highlight-box h3 { margin:0 0 8px !important; color: var(--hm-ink) !important; }
.cdp-info-box ul { margin: 10px 0 0 18px !important; padding:0 !important; }
.cdp-info-box li { margin: 6px 0 !important; line-height:1.45 !important; }
.cdp-conf-email-notice { border-left: 4px solid var(--hm-green) !important; background:#effaf5 !important; }
.cdp-error-box { margin:0 0 20px !important; padding:18px !important; border-radius:14px !important; border:1px solid #f0c7ca !important; background:#fff3f4 !important; color:#84222a !important; }

/* Service cards */
#service-type-options, #service-rate-options { display: grid !important; gap: 14px !important; }
.cdp-service-option {
    position: relative !important;
    border: 1.5px solid #d3e0e8 !important;
    border-radius: 18px !important;
    background: #fff !important;
    padding: 20px !important;
    cursor: pointer !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}
.cdp-service-option:hover { border-color:#8eb9d0 !important; box-shadow:0 10px 24px rgba(7,89,133,.10) !important; transform:translateY(-1px) !important; }
.cdp-service-option.selected { border-color:var(--hm-blue-2) !important; background:linear-gradient(135deg,#fff 0%,#f0f9fd 100%) !important; box-shadow:0 0 0 3px rgba(11,118,168,.10), 0 12px 28px rgba(7,89,133,.10) !important; }
.cdp-service-option.selected::after { content:"✓" !important; position:absolute !important; top:14px !important; right:14px !important; width:26px !important; height:26px !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; background:var(--hm-green) !important; color:#fff !important; font-size:14px !important; font-weight:900 !important; }
.cdp-service-header { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:22px !important; }
.cdp-service-info { flex:1 !important; min-width:0 !important; padding-right:8px !important; }
.cdp-service-name { display:block !important; margin:0 0 5px !important; color:var(--hm-ink) !important; font-size:18px !important; line-height:1.25 !important; font-weight:800 !important; }
.cdp-service-desc { display:block !important; color:var(--hm-muted) !important; font-size:13px !important; line-height:1.45 !important; }
.cdp-service-price { min-width:180px !important; display:flex !important; flex-direction:column !important; align-items:flex-end !important; gap:4px !important; }
.cdp-price-amount { color:var(--hm-blue) !important; font-size:24px !important; line-height:1.1 !important; font-weight:900 !important; letter-spacing:-.03em !important; }
.cdp-price-label, .cdp-price-tax-note { color:var(--hm-muted) !important; font-size:11px !important; line-height:1.35 !important; }
.cdp-option-select-btn { margin-top:8px !important; min-height:38px !important; padding:8px 16px !important; border-radius:10px !important; border:1.5px solid var(--hm-blue) !important; background:#fff !important; color:var(--hm-blue) !important; font-size:13px !important; font-weight:800 !important; cursor:pointer !important; }
.cdp-service-option.selected .cdp-option-select-btn { background:var(--hm-blue) !important; color:#fff !important; }
.cdp-service-details { display:none !important; margin-top:16px !important; padding-top:14px !important; border-top:1px solid var(--hm-line) !important; }
.cdp-service-option.selected .cdp-service-details { display:block !important; }
.cdp-detail-item { display:grid !important; grid-template-columns:170px 1fr !important; gap:12px !important; margin:9px 0 !important; color:#34495a !important; font-size:13px !important; line-height:1.5 !important; }
.cdp-detail-distance { margin-top:12px !important; color:var(--hm-muted) !important; font-size:12px !important; }
.cdp-terminal-nearest-note { margin-bottom:12px !important; color:var(--hm-blue) !important; font-weight:800 !important; font-size:13px !important; }
.cdp-default-note, .cdp-speed-default-badge { display:inline-block !important; margin-left:6px !important; padding:3px 7px !important; border-radius:999px !important; background:#e9f8f2 !important; color:var(--hm-green) !important; font-size:10px !important; font-weight:800 !important; }
#speed-selection { margin-top:26px !important; }

/* Confirmation / pricing */
.cdp-conf-details { margin:20px 0 !important; padding:20px 0 !important; border-top:1px solid var(--hm-line) !important; border-bottom:1px solid var(--hm-line) !important; }
.cdp-terminal-summary h3, .cdp-price-breakdown h3, .cdp-payment-section-title, .cdp-section-header {
    margin:0 0 14px !important; color:var(--hm-ink) !important; font-size:19px !important; line-height:1.3 !important; font-weight:800 !important;
}
.cdp-price-breakdown { margin:24px 0 !important; padding:22px !important; border-radius:18px !important; background:#f8fbfd !important; border:1px solid var(--hm-line) !important; }
.cdp-price-row { display:flex !important; justify-content:space-between !important; gap:20px !important; padding:10px 0 !important; border-bottom:1px solid #e5edf2 !important; color:#425667 !important; font-size:14px !important; line-height:1.4 !important; }
.cdp-price-row > :last-child { color:var(--hm-ink) !important; font-weight:700 !important; white-space:nowrap !important; }
.cdp-total-row { margin-top:8px !important; padding-top:16px !important; border-top:2px solid var(--hm-blue) !important; border-bottom:0 !important; color:var(--hm-ink) !important; font-size:19px !important; font-weight:900 !important; }
.cdp-total-row > :last-child { color:var(--hm-blue) !important; font-size:22px !important; }
.cdp-tax-note { margin-top:10px !important; }
.cdp-divider { height:1px !important; border:0 !important; background:var(--hm-line) !important; margin:24px 0 !important; }
.cdp-action-buttons .cdp-info-box { background:#f8fbfd !important; border:1px solid var(--hm-line) !important; border-left:4px solid var(--hm-orange) !important; border-radius:16px !important; padding:18px !important; }

.cdp-payment-options { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; margin:14px 0 20px !important; }
.cdp-payment-option { min-height:74px !important; display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:12px !important; padding:14px 16px !important; text-align:left !important; }
.cdp-payment-icon { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:68px !important; min-height:32px !important; padding:5px 8px !important; border-radius:8px !important; background:rgba(255,255,255,.15) !important; color:#fff !important; font-size:10px !important; font-weight:900 !important; letter-spacing:.04em !important; }
.cdp-payment-text { display:flex !important; flex-direction:column !important; gap:2px !important; color:#fff !important; }
.cdp-payment-text small { color:rgba(255,255,255,.75) !important; font-size:11px !important; }
.cdp-conf-message { color:var(--hm-muted) !important; font-size:13px !important; text-align:center !important; }

/* Multi-section booking form */
.cdp-form-section { margin:0 0 26px !important; padding:22px !important; border:1px solid var(--hm-line) !important; border-radius:18px !important; background:#fbfdfe !important; }
.cdp-section-header { padding-bottom:12px !important; border-bottom:1px solid var(--hm-line) !important; }
.cdp-contact-subheader { margin:18px 0 12px !important; color:var(--hm-blue) !important; font-size:14px !important; font-weight:800 !important; }
.cdp-checkbox-label { display:flex !important; gap:10px !important; align-items:flex-start !important; color:#32485a !important; font-size:13px !important; line-height:1.45 !important; }
.cdp-checkbox-label input { width:20px !important; height:20px !important; min-width:20px !important; margin-top:1px !important; accent-color:var(--hm-blue) !important; }

.cdp-instruction-section { margin:20px 0 !important; }
.cdp-amount-display { color:var(--hm-blue) !important; font-size:32px !important; font-weight:900 !important; letter-spacing:-.03em !important; }
.cdp-spinner-wrapper { display:flex !important; align-items:center !important; justify-content:center !important; padding:10px !important; }
.cdp-spinner { width:48px !important; height:48px !important; border:4px solid #dceaf1 !important; border-top-color:var(--hm-blue) !important; border-radius:50% !important; animation:cdpSpin .75s linear infinite !important; }
@keyframes cdpSpin { to { transform:rotate(360deg); } }

/* Flatpickr + Google dropdown safeguards */
.pac-container { z-index:999999 !important; border-radius:12px !important; box-shadow:0 12px 30px rgba(7,24,46,.16) !important; font-family:Arial,Helvetica,sans-serif !important; }
.pac-item { padding:9px 12px !important; font-size:13px !important; }
.flatpickr-calendar { z-index:999999 !important; font-family:Arial,Helvetica,sans-serif !important; }

/* Mobile-first refinements */
@media (max-width: 720px) {
    .cdp-calculator-container, .elementor-widget-container .cdp-calculator-container { margin:14px auto !important; padding:0 10px !important; }
    .cdp-calculator-card { border-radius:20px !important; padding:24px 18px !important; box-shadow:0 10px 28px rgba(7,24,46,.10) !important; }
    .cdp-calculator-card::before { margin:-24px -18px 24px !important; padding:12px 18px !important; font-size:10px !important; letter-spacing:.12em !important; }
    .cdp-card-title, .cdp-calculator-header, .cdp-page-header, .cdp-conf-header { font-size:27px !important; }
    .cdp-grid, .cdp-form-row { grid-template-columns:1fr !important; gap:0 !important; }
    .cdp-form-group { margin-bottom:17px !important; }
    .cdp-service-header { flex-direction:column !important; gap:14px !important; }
    .cdp-service-price { width:100% !important; min-width:0 !important; align-items:flex-start !important; }
    .cdp-option-select-btn { width:100% !important; min-height:44px !important; }
    .cdp-service-option.selected::after { top:12px !important; right:12px !important; }
    .cdp-detail-item { grid-template-columns:1fr !important; gap:3px !important; }
    .cdp-payment-options { grid-template-columns:1fr !important; }
    .cdp-button-row, .cdp-button-group { flex-direction:column !important; }
    .cdp-form-section { padding:18px 14px !important; border-radius:16px !important; }
    .cdp-price-breakdown { padding:18px 14px !important; }
    .cdp-price-row { gap:12px !important; font-size:13px !important; }
}

@media (max-width: 480px) {
    .cdp-calculator-container { padding:0 8px !important; }
    .cdp-calculator-card { padding:21px 14px !important; border-radius:18px !important; }
    .cdp-calculator-card::before { margin:-21px -14px 21px !important; padding:11px 14px !important; }
    .cdp-card-title, .cdp-calculator-header, .cdp-page-header, .cdp-conf-header { font-size:24px !important; }
    .cdp-subtitle, .cdp-conf-subtitle { font-size:14px !important; margin-bottom:22px !important; }
    .cdp-service-option { padding:16px 13px !important; border-radius:15px !important; }
    .cdp-service-name { font-size:17px !important; padding-right:28px !important; }
    .cdp-price-amount { font-size:22px !important; }
    .cdp-v-row { align-items:flex-start !important; }
    .cdp-v-label { font-size:13px !important; }
    .cdp-v-btn { width:40px !important; height:40px !important; min-width:40px !important; min-height:40px !important; }
    .cdp-summary-box, .cdp-info-box, .cdp-highlight-box, .cdp-conf-email-notice, .cdp-terminal-summary { padding:15px 14px !important; border-radius:14px !important; }
    .cdp-price-row { align-items:flex-start !important; }
    .cdp-total-row { font-size:17px !important; }
    .cdp-total-row > :last-child { font-size:19px !important; }
}

@media print {
    .no-print, .cdp-action-buttons, .cdp-payment-options, .cdp-new-quote-link { display:none !important; }
    .cdp-calculator-container { max-width:none !important; margin:0 !important; padding:0 !important; }
    .cdp-calculator-card { box-shadow:none !important; border:0 !important; padding:0 !important; }
    .cdp-calculator-card::before { margin:0 0 20px !important; }
}

/* Transit time shown beneath each transport option */
.cdp-transit-time {
    display: block;
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.4;
}
@media (max-width: 600px) {
    .cdp-transit-time { font-size: 13px; margin-top: 6px; }
}


/* v1.3.0 — combined first-page lead capture + quote availability */
.cdp-first-step-intro{margin:-4px 0 24px;color:#5b6f80;font-size:15px;line-height:1.6;max-width:760px}
.cdp-first-page-section{margin:0 0 22px;padding:20px;border:1px solid #dbe7ee;border-radius:16px;background:#f9fcfd}
.cdp-route-section{background:#fff}
.cdp-section-kicker{margin:0 0 16px;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#075985}
.cdp-inline-error{margin:0 0 18px}
.cdp-first-page-privacy{text-align:center;margin:12px 0 0;color:#718294;font-size:12px;line-height:1.5}
.cdp-availability-message{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0;padding:13px 16px;border:1px solid #f0c96a;border-radius:12px;background:#fff8e8;color:#7a4b00;font-size:14px;line-height:1.35;text-align:center}
.cdp-availability-dot{width:9px;height:9px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.13);flex:0 0 auto}
.cdp-availability-confirmation{margin:20px 0 8px}
.cdp-availability-confirmation small{color:#8b661c}
@media (max-width:680px){.cdp-first-step-intro{font-size:14px;margin-bottom:18px}.cdp-first-page-section{padding:15px;margin-bottom:16px;border-radius:14px}.cdp-section-kicker{margin-bottom:12px}.cdp-availability-message{align-items:flex-start;text-align:left;padding:12px 13px;font-size:13px}.cdp-availability-dot{margin-top:4px}}

/* v1.3.5 — Page 2 is booking selection, not quote calculation */
.cdp-booking-options-page .cdp-page-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:#e97c14;margin-bottom:8px}
.cdp-quote-summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f4f8fb;border:1px solid #dce7ee;border-radius:16px;padding:16px;margin:22px 0}
.cdp-quote-summary-strip>div{display:flex;flex-direction:column;gap:3px;min-width:0}.cdp-quote-summary-strip strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#668092}.cdp-quote-summary-strip span{font-size:14px;color:#11283a;overflow-wrap:anywhere}
.cdp-booking-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cdp-booking-option-card{border:1px solid #d9e5ec;border-radius:20px;background:#fff;padding:20px;box-shadow:0 10px 26px rgba(7,24,46,.07);display:flex;flex-direction:column;min-width:0}.cdp-booking-option-featured{border-color:#8dc6dc;box-shadow:0 12px 30px rgba(7,89,133,.12)}
.cdp-booking-option-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:16px;border-bottom:1px solid #e8eef2}.cdp-booking-option-name{font-weight:900;font-size:19px;color:#07182e}.cdp-booking-transit{font-size:12px;color:#627789;margin-top:4px}.cdp-booking-option-price{font-size:24px;line-height:1;font-weight:900;color:#075985;white-space:nowrap}
.cdp-booking-terminal-box{padding:15px 0;display:grid;gap:12px}.cdp-booking-terminal-row{display:flex;flex-direction:column;gap:2px}.cdp-booking-terminal-row strong{font-size:12px;color:#07182e}.cdp-booking-terminal-row span{font-size:14px;color:#324b5d}.cdp-booking-terminal-row small{font-size:12px;line-height:1.45;color:#718493}.cdp-booking-door-copy{font-size:13px;line-height:1.55;color:#526879;padding:18px 0;flex:1}
.cdp-booking-spots{margin:10px 0 14px;padding:10px 12px;border-radius:12px;background:#fff7e8;border:1px solid #f2d18f;color:#744800;text-align:center;font-size:12px;font-weight:800}.cdp-book-now-btn{margin-top:auto;text-align:center;width:100%;box-sizing:border-box}.cdp-booking-email-note{text-align:center;color:#627789;font-size:12px;margin-top:20px;padding:14px;background:#f7fafc;border-radius:12px}
@media(max-width:700px){.cdp-quote-summary-strip,.cdp-booking-option-grid{grid-template-columns:1fr}.cdp-booking-option-card{padding:17px}.cdp-booking-option-head{align-items:center}.cdp-booking-option-name{font-size:17px}.cdp-booking-option-price{font-size:22px}.cdp-quote-summary-strip{padding:14px}.cdp-book-now-btn{min-height:52px;display:flex;align-items:center;justify-content:center;font-size:16px}}

/* v1.3.7 — clearer booking actions + editable quote navigation */
.cdp-edit-quote-link{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    margin:0 0 18px !important;
    padding:9px 13px !important;
    border:1px solid #d6e3eb !important;
    border-radius:10px !important;
    background:#f7fafc !important;
    color:#075985 !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}
.cdp-edit-quote-link:hover{background:#eef7fb !important;text-decoration:none !important;}
.cdp-book-now-btn{
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(105deg,#f59e0b 0%,#ea6f12 100%) !important;
    color:#07182e !important;
    font-size:17px !important;
    font-weight:950 !important;
    letter-spacing:.01em !important;
    box-shadow:0 10px 24px rgba(234,111,18,.28) !important;
    text-decoration:none !important;
}
.cdp-book-now-btn:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 13px 28px rgba(234,111,18,.36) !important;
    filter:brightness(1.03) !important;
}
@media(max-width:700px){
    .cdp-edit-quote-link{width:100% !important;justify-content:center !important;box-sizing:border-box !important;min-height:46px !important;}
    .cdp-book-now-btn{min-height:60px !important;font-size:18px !important;border-radius:14px !important;}
}

/* v1.4.0 — Transport Details usability + stronger mobile contrast */
#shipping-details-form .cdp-form-section{
    background:#f5f9fc !important;
    border:1px solid #cfdde7 !important;
    box-shadow:0 5px 16px rgba(7,24,46,.045) !important;
    padding:22px !important;
    margin-bottom:18px !important;
}
#shipping-details-form .cdp-section-header{
    color:#0b2f4b !important;
    font-size:19px !important;
    font-weight:900 !important;
    padding-bottom:12px !important;
    margin-bottom:17px !important;
    border-bottom:1px solid #d9e4eb !important;
}
#shipping-details-form .cdp-form-group label{
    color:#173a54 !important;
    font-size:13px !important;
    font-weight:800 !important;
    margin-bottom:7px !important;
}
#shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
#shipping-details-form select,
#shipping-details-form textarea{
    width:100% !important;
    min-height:52px !important;
    box-sizing:border-box !important;
    padding:12px 14px !important;
    border:1.5px solid #aebfcb !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#102c41 !important;
    font-size:16px !important;
    line-height:1.3 !important;
    box-shadow:0 1px 2px rgba(7,24,46,.04) !important;
}
#shipping-details-form input:focus,
#shipping-details-form select:focus,
#shipping-details-form textarea:focus{
    outline:none !important;
    border-color:#0c79a8 !important;
    box-shadow:0 0 0 3px rgba(12,121,168,.13) !important;
}
#shipping-details-form .cdp-input-locked{
    background:#eaf1f5 !important;
    color:#4d6678 !important;
    border-color:#c9d6de !important;
}
#shipping-details-form .cdp-small-text{color:#5b7181 !important;font-size:13px !important;line-height:1.5 !important;}
#shipping-details-form .cdp-checkbox-label{
    min-height:48px !important;
    display:flex !important;
    gap:10px !important;
    align-items:center !important;
    color:#173a54 !important;
    font-size:14px !important;
    font-weight:700 !important;
}
#shipping-details-form .cdp-checkbox-label input{width:20px !important;height:20px !important;min-height:20px !important;flex:0 0 auto !important;}
#shipping-details-form #cdp-decode-vin{min-height:52px !important;border-radius:11px !important;font-size:15px !important;}
#shipping-details-form > .cdp-btn-full{min-height:58px !important;font-size:17px !important;border-radius:13px !important;margin-top:4px !important;}
.cdp-address-autocomplete{border:1px solid #b9cad5 !important;border-top:0 !important;}
.cdp-address-autocomplete li{font-size:15px !important;line-height:1.35 !important;background:#fff !important;color:#18384f !important;}
.cdp-address-autocomplete li:hover{background:#eef7fb !important;}

@media (max-width:720px){
    #shipping-details-form .cdp-form-section{padding:17px 14px !important;margin-bottom:14px !important;background:#f3f8fb !important;}
    #shipping-details-form .cdp-section-header{font-size:18px !important;margin-bottom:14px !important;}
    #shipping-details-form .cdp-form-row{display:grid !important;grid-template-columns:1fr !important;gap:0 !important;}
    #shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
    #shipping-details-form select,
    #shipping-details-form textarea{min-height:56px !important;font-size:16px !important;padding:13px 14px !important;border-radius:12px !important;}
    #shipping-details-form .cdp-form-group{margin-bottom:14px !important;}
    #shipping-details-form #cdp-decode-vin{min-height:56px !important;width:100% !important;}
    #shipping-details-form > .cdp-btn-full{min-height:62px !important;font-size:18px !important;position:relative !important;z-index:1 !important;}
    .cdp-info-box{font-size:14px !important;line-height:1.5 !important;}
}

/* v1.4.2 — four-step transport details + larger mobile fields */
#shipping-details-form .cdp-step-panel{display:none !important;}
#shipping-details-form .cdp-step-panel.is-active{display:block !important;}
#shipping-details-form .cdp-form-progress{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;margin:18px 0 22px;padding:0 2px;}
#shipping-details-form .cdp-progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:48px;color:#718596;font-size:11px;font-weight:700;text-align:center;}
#shipping-details-form .cdp-progress-step span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e7eef4;border:2px solid #cbd8e2;color:#526a7c;font-size:14px;font-weight:800;}
#shipping-details-form .cdp-progress-step.is-active span{background:#0b5f91;border-color:#0b5f91;color:#fff;box-shadow:0 5px 14px rgba(11,95,145,.24);}
#shipping-details-form .cdp-progress-step.is-active{color:#0a2f4d;}
#shipping-details-form .cdp-progress-step.is-complete span{background:#e9f6ee;border-color:#4ca66b;color:#207440;}
#shipping-details-form .cdp-progress-line{height:2px;flex:1;background:#d9e3ea;margin-top:17px;min-width:10px;}
#shipping-details-form .cdp-step-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:8px;}
#shipping-details-form .cdp-step-actions .cdp-btn{min-height:56px;min-width:150px;font-size:16px;border-radius:12px;}
#shipping-details-form .cdp-step-actions-final .cdp-btn-full{flex:1;width:auto !important;margin-top:0 !important;}
#shipping-details-form .cdp-btn-secondary{background:#edf3f7 !important;color:#17384f !important;border:1px solid #c9d8e3 !important;box-shadow:none !important;}
#shipping-details-form .cdp-terms-box{margin-top:16px;padding:16px;border:1px solid #c9dbe7;background:#f3f8fb;border-radius:12px;}
#shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
#shipping-details-form select,
#shipping-details-form textarea{min-height:58px !important;font-size:16px !important;padding:14px 15px !important;}
#shipping-details-form .cdp-form-group label{font-size:15px !important;margin-bottom:7px !important;}

@media(max-width:700px){
  #shipping-details-form .cdp-form-progress{gap:3px;margin:14px 0 18px;}
  #shipping-details-form .cdp-progress-step{min-width:43px;font-size:10px;}
  #shipping-details-form .cdp-progress-step span{width:32px;height:32px;}
  #shipping-details-form .cdp-progress-line{margin-top:16px;}
  #shipping-details-form .cdp-form-section{padding:20px 15px !important;border-radius:14px !important;background:#f0f6fa !important;border:1px solid #cedde7 !important;}
  #shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
  #shipping-details-form select,
  #shipping-details-form textarea{min-height:62px !important;font-size:17px !important;padding:15px 16px !important;background:#fff !important;border:1.5px solid #aebfcb !important;}
  #shipping-details-form .cdp-input-locked{background:#e8eff4 !important;color:#334d60 !important;}
  #shipping-details-form .cdp-form-group label{font-size:16px !important;color:#17384f !important;}
  #shipping-details-form .cdp-section-header{font-size:20px !important;}
  #shipping-details-form .cdp-step-actions{flex-direction:column-reverse;gap:10px;}
  #shipping-details-form .cdp-step-actions .cdp-btn{width:100% !important;min-height:60px !important;font-size:17px !important;}
  #shipping-details-form .cdp-step-actions-final{flex-direction:column-reverse;}
  #shipping-details-form .cdp-terms-box{padding:15px;background:#fff;border-width:1.5px;}
}


/* v1.4.17 — Transport Details: larger, single-column, mobile-first fields */
#shipping-details-form .cdp-form-row,
#shipping-details-form .cdp-vehicle-fields{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
}
#shipping-details-form .cdp-form-group{
    width:100% !important;
    margin-bottom:18px !important;
}
#shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
#shipping-details-form select,
#shipping-details-form textarea{
    min-height:64px !important;
    font-size:17px !important;
    padding:16px 17px !important;
    border-radius:13px !important;
    border:1.5px solid #9fb3c2 !important;
    background:#fff !important;
}
#shipping-details-form .cdp-model-manual{margin-top:10px !important;}
#shipping-details-form .cdp-form-section{
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
@media(max-width:700px){
    #shipping-details-form .cdp-form-section{padding:22px 16px !important;background:#edf5fa !important;border-color:#bdcfdb !important;}
    #shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
    #shipping-details-form select,
    #shipping-details-form textarea{min-height:68px !important;font-size:18px !important;padding:17px 16px !important;}
    #shipping-details-form .cdp-form-group label{font-size:16px !important;margin-bottom:8px !important;}
    #shipping-details-form .cdp-step-actions .cdp-btn{min-height:64px !important;font-size:18px !important;}
}

/* v1.4.18 — single-page Transport Details form (no step navigation) */
#shipping-details-form .cdp-form-progress{display:none !important;}
#shipping-details-form .cdp-step-panel,
#shipping-details-form .cdp-step-panel.is-active{display:block !important;}
#shipping-details-form .cdp-form-section{margin-bottom:18px !important;}
#shipping-details-form .cdp-single-form-submit{margin-top:18px;}
#shipping-details-form .cdp-single-form-submit .cdp-btn-full{width:100% !important;min-height:62px !important;font-size:18px !important;border-radius:13px !important;}
@media (max-width:680px){
  #shipping-details-form .cdp-form-section{margin-bottom:14px !important;}
  #shipping-details-form .cdp-single-form-submit .cdp-btn-full{min-height:64px !important;font-size:18px !important;}
}


/* v1.4.19 — transport form autocomplete + true single-column mobile + stacked payment buttons */
#shipping-details-form,
#shipping-details-form .cdp-form-section,
#shipping-details-form .cdp-form-group { overflow: visible !important; }
#shipping-details-form .cdp-form-row,
#shipping-details-form .cdp-grid,
#shipping-details-form .cdp-vehicle-fields {
    display: block !important;
    grid-template-columns: 1fr !important;
}
#shipping-details-form .cdp-form-row > *,
#shipping-details-form .cdp-grid > * {
    width: 100% !important;
    max-width: none !important;
}
#shipping-details-form .cdp-address-autocomplete {
    z-index: 999999 !important;
    width: 100% !important;
    background: #fff !important;
    border: 1.5px solid #9fb3c2 !important;
    box-shadow: 0 14px 34px rgba(7,24,46,.22) !important;
}
#shipping-details-form #cdp-use-pickup-billing {
    min-height: 58px !important;
    background: #e8f3f9 !important;
    color: #075985 !important;
    border: 1.5px solid #9fc7dc !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}
#shipping-details-form #cdp-use-pickup-billing:disabled { opacity:.7 !important; cursor:wait !important; }

/* Quote confirmation payment choices: one large high-contrast button per line. */
.cdp-payment-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}
.cdp-payment-options .cdp-payment-option {
    width: 100% !important;
    min-height: 86px !important;
    padding: 18px 20px !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 24px rgba(7,24,46,.16) !important;
}
.cdp-payment-options .cdp-btn-pay {
    background: linear-gradient(105deg,#006ea8,#075985) !important;
    color: #fff !important;
}
.cdp-payment-options .cdp-btn-interac {
    background: linear-gradient(105deg,#1f2937,#111827) !important;
    color: #fff !important;
}
.cdp-payment-options .cdp-payment-text strong {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
}
.cdp-payment-options .cdp-payment-text small {
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}
.cdp-payment-options .cdp-payment-icon {
    min-width: 84px !important;
    min-height: 38px !important;
    font-size: 11px !important;
    background: rgba(255,255,255,.20) !important;
    color: #fff !important;
}
@media (max-width: 760px) {
    #shipping-details-form .cdp-form-row,
    #shipping-details-form .cdp-grid,
    #shipping-details-form .cdp-vehicle-fields { display:block !important; }
    #shipping-details-form .cdp-form-group { margin-bottom: 16px !important; }
    #shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
    #shipping-details-form select,
    #shipping-details-form textarea {
        width:100% !important;
        min-height:68px !important;
        font-size:18px !important;
        padding:17px 16px !important;
    }
    .cdp-payment-options .cdp-payment-option {
        min-height: 92px !important;
        padding: 18px 16px !important;
    }
    .cdp-payment-options .cdp-payment-text strong { font-size:19px !important; }
}


/* v1.4.21 — larger mobile Transport Details controls and improved readability */
@media (max-width: 767px) {
  #shipping-details-form .cdp-form-section { padding: 20px 16px !important; margin-bottom: 18px !important; }
  #shipping-details-form .cdp-section-header { font-size: 22px !important; line-height: 1.25 !important; margin-bottom: 18px !important; }
  #shipping-details-form label,
  #shipping-details-form .cdp-checkbox-label { font-size: 17px !important; line-height: 1.35 !important; font-weight: 700 !important; }
  #shipping-details-form input,
  #shipping-details-form select,
  #shipping-details-form textarea { width: 100% !important; min-height: 56px !important; font-size: 18px !important; line-height: 1.3 !important; padding: 14px 15px !important; border-width: 2px !important; box-sizing: border-box !important; }
  #shipping-details-form .cdp-form-row { display: block !important; }
  #shipping-details-form .cdp-form-group { width: 100% !important; max-width: none !important; margin-bottom: 16px !important; }
  #shipping-details-form .cdp-btn { min-height: 56px !important; font-size: 17px !important; padding: 14px 16px !important; }
  #shipping-details-form .cdp-small-text { font-size: 14px !important; line-height: 1.45 !important; }
  .cdp-shipping-page .cdp-card-title { font-size: 30px !important; line-height: 1.15 !important; }
  .cdp-shipping-page .cdp-card-subtitle { font-size: 16px !important; line-height: 1.45 !important; }
}


/* v1.4.24 — mobile-only Transport Details sizing. Desktop remains unchanged. */
@media (max-width: 767px) {
  .cdp-shipping-page {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    box-sizing: border-box !important;
  }
  .cdp-shipping-page .cdp-card,
  .cdp-shipping-page .cdp-main-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
  .cdp-shipping-page .cdp-card-title {
    font-size: 34px !important;
    line-height: 1.12 !important;
    margin-bottom: 8px !important;
  }
  .cdp-shipping-page .cdp-card-subtitle {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  #shipping-details-form .cdp-form-section {
    padding: 24px 18px !important;
    margin-bottom: 20px !important;
    border-radius: 16px !important;
  }
  #shipping-details-form .cdp-section-header {
    font-size: 24px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
  }
  #shipping-details-form .cdp-form-row,
  #shipping-details-form .cdp-grid,
  #shipping-details-form .cdp-vehicle-fields {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  #shipping-details-form .cdp-form-group {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 20px !important;
  }
  #shipping-details-form .cdp-form-group label,
  #shipping-details-form label:not(.cdp-checkbox-label) {
    display: block !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    margin-bottom: 9px !important;
  }
  #shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
  #shipping-details-form select,
  #shipping-details-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 72px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    padding: 18px 18px !important;
    border-width: 2px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    -webkit-appearance: none;
  }
  #shipping-details-form select {
    padding-right: 44px !important;
  }
  #shipping-details-form textarea {
    min-height: 112px !important;
  }
  #shipping-details-form .cdp-small-text {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  #shipping-details-form .cdp-checkbox-label {
    font-size: 18px !important;
    line-height: 1.45 !important;
    padding: 16px !important;
  }
  #shipping-details-form .cdp-checkbox-label input[type="checkbox"] {
    width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
  }
  #shipping-details-form #cdp-use-pickup-billing,
  #shipping-details-form #cdp-decode-vin,
  #shipping-details-form .cdp-btn,
  #shipping-details-form .cdp-btn-full,
  #shipping-details-form .cdp-single-form-submit .cdp-btn-full {
    width: 100% !important;
    min-height: 72px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    padding: 18px !important;
    border-radius: 14px !important;
  }
  #shipping-details-form #cdp-use-pickup-billing {
    margin-bottom: 22px !important;
  }
  .cdp-shipping-page .cdp-quote-meta,
  .cdp-shipping-page .cdp-quote-badge,
  .cdp-shipping-page .cdp-shipping-summary {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }
}


/* ================================================================
   v1.4.29 — mobile Transport Details refinement + unified orange CTAs
   ================================================================ */

/* Customer-facing buttons use the same Hanamark orange treatment as Book Now. */
.cdp-calculator-container .cdp-btn:not(.cdp-btn-disabled):not(:disabled),
.cdp-calculator-container a.cdp-btn:not(.cdp-btn-disabled),
.cdp-calculator-container .cdp-payment-option,
.cdp-calculator-container .cdp-v-btn,
.cdp-calculator-container .cdp-book-now-btn {
    background: linear-gradient(105deg,#f59e0b 0%,#ea6f12 100%) !important;
    color: #07182e !important;
    border-color: #e38a14 !important;
    box-shadow: 0 10px 24px rgba(234,111,18,.28) !important;
    font-weight: 800 !important;
}
.cdp-calculator-container .cdp-btn:not(.cdp-btn-disabled):not(:disabled):hover,
.cdp-calculator-container a.cdp-btn:not(.cdp-btn-disabled):hover,
.cdp-calculator-container .cdp-payment-option:hover,
.cdp-calculator-container .cdp-v-btn:hover,
.cdp-calculator-container .cdp-book-now-btn:hover {
    background: linear-gradient(105deg,#ffad14 0%,#f07812 100%) !important;
    color: #07182e !important;
    box-shadow: 0 13px 28px rgba(234,111,18,.36) !important;
    transform: translateY(-1px) !important;
}
.cdp-calculator-container .cdp-payment-options .cdp-payment-text strong,
.cdp-calculator-container .cdp-payment-options .cdp-payment-text small,
.cdp-calculator-container .cdp-payment-options .cdp-payment-icon {
    color: #07182e !important;
}
.cdp-calculator-container .cdp-payment-options .cdp-payment-icon {
    background: rgba(255,255,255,.38) !important;
}
/* Disabled actions remain visually disabled. */
.cdp-calculator-container .cdp-btn-disabled,
.cdp-calculator-container .cdp-btn:disabled {
    background: #dce5ea !important;
    color: #81909b !important;
    border-color: #d0dbe2 !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 767px) {
    /* Keep the whole transport form comfortably inside the phone viewport. */
    .cdp-calculator-container.cdp-shipping-page {
        width: 96% !important;
        max-width: 520px !important;
        margin: 12px auto !important;
        padding: 0 6px !important;
    }
    .cdp-shipping-page .cdp-calculator-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 18px 14px 22px !important;
        border-radius: 18px !important;
    }
    .cdp-shipping-page .cdp-calculator-card::before {
        margin: -18px -14px 20px !important;
        padding: 11px 12px !important;
        text-align: center !important;
        font-size: 11px !important;
        letter-spacing: .11em !important;
        white-space: nowrap !important;
    }
    .cdp-shipping-page .cdp-card-title {
        text-align: center !important;
        font-size: 31px !important;
        line-height: 1.08 !important;
        margin-bottom: 6px !important;
    }
    .cdp-shipping-page .cdp-subtitle {
        text-align: center !important;
        font-size: 16px !important;
        line-height: 1.3 !important;
        margin: 0 auto 18px !important;
        white-space: nowrap !important;
    }
    .cdp-shipping-page .cdp-info-box {
        margin: 12px auto 18px !important;
        padding: 13px 12px !important;
        text-align: center !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
    }
    #shipping-details-form .cdp-form-section {
        width: 94% !important;
        max-width: 480px !important;
        margin: 0 auto 16px !important;
        padding: 18px 14px !important;
        border-radius: 15px !important;
    }
    #shipping-details-form .cdp-section-header {
        text-align: center !important;
        font-size: 23px !important;
        margin-bottom: 17px !important;
    }
    #shipping-details-form .cdp-form-group {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 16px !important;
    }
    #shipping-details-form .cdp-form-group label,
    #shipping-details-form label:not(.cdp-checkbox-label) {
        font-size: 18px !important;
        margin-bottom: 7px !important;
    }
    #shipping-details-form input:not([type="hidden"]):not([type="checkbox"]),
    #shipping-details-form select,
    #shipping-details-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 62px !important;
        font-size: 19px !important;
        padding: 15px 16px !important;
        border-radius: 13px !important;
    }
    #shipping-details-form .cdp-btn,
    #shipping-details-form .cdp-btn-full,
    #shipping-details-form #cdp-use-pickup-billing,
    #shipping-details-form #cdp-decode-vin,
    #shipping-details-form .cdp-single-form-submit .cdp-btn-full {
        min-height: 62px !important;
        font-size: 18px !important;
        padding: 15px 16px !important;
        border-radius: 13px !important;
    }
    #shipping-details-form .cdp-small-text {
        font-size: 14px !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }
    #shipping-details-form .cdp-checkbox-label {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 390px) {
    .cdp-shipping-page .cdp-subtitle {
        font-size: 15px !important;
        letter-spacing: -.01em !important;
    }
    .cdp-shipping-page .cdp-card-title { font-size: 29px !important; }
    #shipping-details-form .cdp-form-section { width: 96% !important; padding: 16px 12px !important; }
}


/* ================================================================
   v1.4.32 — professional Book Your Transport screen
   Same presentation for Terminal-to-Terminal and Door-to-Door.
   ================================================================ */
.cdp-booking-screen .cdp-calculator-card {
    max-width: 760px !important;
}
.cdp-booking-screen .cdp-booking-header {
    text-align: center !important;
    margin-bottom: 18px !important;
}
.cdp-booking-screen .cdp-booking-header h2 {
    margin: 0 0 5px !important;
    color: var(--hm-ink) !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
}
.cdp-booking-screen .cdp-booking-header .cdp-conf-subtitle {
    margin: 0 !important;
    color: var(--hm-muted) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
}
/* No email-sent notice on the booking screen. */
.cdp-booking-screen .cdp-conf-email-notice { display: none !important; }

.cdp-booking-screen .cdp-booking-details {
    margin: 18px 0 22px !important;
    padding: 16px 18px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 16px !important;
    background: #f8fbfd !important;
}
.cdp-booking-screen .cdp-booking-detail-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid #e7eef3 !important;
    color: #34495a !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}
.cdp-booking-screen .cdp-booking-detail-row:last-child { border-bottom: 0 !important; }
.cdp-booking-screen .cdp-detail-icon {
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: -2px !important;
    border-radius: 8px !important;
    background: #eaf3f8 !important;
    color: var(--hm-blue) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}
.cdp-booking-screen .cdp-detail-line {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow-wrap: anywhere !important;
}
.cdp-booking-screen .cdp-detail-line strong {
    color: var(--hm-ink) !important;
    font-weight: 800 !important;
}
.cdp-booking-screen .cdp-terminal-summary,
.cdp-booking-screen .cdp-price-breakdown {
    border-radius: 16px !important;
    box-shadow: 0 7px 18px rgba(7,24,46,.045) !important;
}
.cdp-booking-screen .cdp-payment-section-title {
    margin-top: 28px !important;
    text-align: center !important;
    font-size: 20px !important;
}
.cdp-booking-screen .cdp-payment-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 14px 0 18px !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-payment-option {
    width: 100% !important;
    min-height: 88px !important;
    padding: 18px 20px !important;
    border: 0 !important;
    border-radius: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    text-align: left !important;
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
}
/* Explicit exception to the global orange CTA rule: card is orange, Interac is dark. */
.cdp-booking-screen .cdp-payment-options .cdp-btn-pay,
.cdp-booking-screen .cdp-payment-options .cdp-btn-pay:hover {
    background: linear-gradient(105deg,#ffad14 0%,#ea6f12 100%) !important;
    color: #07182e !important;
    box-shadow: 0 12px 26px rgba(234,111,18,.30) !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-btn-interac,
.cdp-booking-screen .cdp-payment-options .cdp-btn-interac:hover {
    background: linear-gradient(105deg,#17212b 0%,#05080c 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(5,8,12,.24) !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-payment-option:hover {
    transform: translateY(-1px) !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-btn-pay .cdp-payment-text strong,
.cdp-booking-screen .cdp-payment-options .cdp-btn-pay .cdp-payment-text small,
.cdp-booking-screen .cdp-payment-options .cdp-btn-pay .cdp-payment-icon {
    color: #07182e !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-btn-pay .cdp-payment-icon {
    background: rgba(255,255,255,.42) !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-btn-interac .cdp-payment-text strong,
.cdp-booking-screen .cdp-payment-options .cdp-btn-interac .cdp-payment-text small,
.cdp-booking-screen .cdp-payment-options .cdp-btn-interac .cdp-payment-icon {
    color: #ffffff !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-btn-interac .cdp-payment-icon {
    background: rgba(255,255,255,.12) !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-payment-text strong {
    font-size: 19px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-payment-text small {
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    opacity: .9 !important;
}
.cdp-booking-screen .cdp-payment-options .cdp-payment-icon {
    min-width: 92px !important;
    min-height: 38px !important;
    border-radius: 9px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}
.cdp-booking-screen .cdp-new-quote-link {
    display: block !important;
    margin-top: 14px !important;
    text-align: center !important;
}

@media (max-width: 720px) {
    .cdp-booking-screen .cdp-calculator-card { padding: 21px 14px 24px !important; }
    .cdp-booking-screen .cdp-booking-header h2 {
        font-size: 27px !important;
        white-space: nowrap !important;
    }
    .cdp-booking-screen .cdp-booking-header .cdp-conf-subtitle {
        font-size: 13px !important;
        white-space: nowrap !important;
    }
    .cdp-booking-screen .cdp-booking-details {
        padding: 12px 13px !important;
        border-radius: 14px !important;
    }
    .cdp-booking-screen .cdp-booking-detail-row {
        gap: 8px !important;
        padding: 8px 0 !important;
        font-size: 13px !important;
    }
    .cdp-booking-screen .cdp-detail-icon {
        flex-basis: 24px !important;
        width: 24px !important;
        height: 24px !important;
        border-radius: 7px !important;
        font-size: 12px !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-option {
        min-height: 84px !important;
        padding: 16px 14px !important;
        border-radius: 14px !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-icon {
        min-width: 78px !important;
        font-size: 9px !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-text strong { font-size: 18px !important; }
}
@media (max-width: 380px) {
    .cdp-booking-screen .cdp-booking-header h2 { font-size: 24px !important; }
    .cdp-booking-screen .cdp-booking-header .cdp-conf-subtitle { font-size: 12px !important; }
}

/* ================================================================
   v1.4.32 — booking screen mobile parity with desktop
   Desktop is the master design. Mobile only reflows/resizes it.
   ================================================================ */
@media (max-width: 720px) {
    .cdp-booking-screen,
    .cdp-booking-screen .cdp-calculator-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .cdp-booking-screen .cdp-calculator-card {
        padding: 20px 14px 26px !important;
    }
    .cdp-booking-screen .cdp-booking-header {
        text-align: center !important;
        margin-bottom: 18px !important;
    }
    .cdp-booking-screen .cdp-booking-header h2 {
        font-size: 27px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        margin: 0 0 6px !important;
    }
    .cdp-booking-screen .cdp-booking-header .cdp-conf-subtitle {
        font-size: 14px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
    }
    .cdp-booking-screen .cdp-booking-details {
        display: block !important;
        margin: 18px 0 22px !important;
        padding: 14px 15px !important;
        border: 1px solid var(--hm-line) !important;
        border-radius: 16px !important;
        background: #f8fbfd !important;
        box-shadow: 0 7px 18px rgba(7,24,46,.045) !important;
    }
    .cdp-booking-screen .cdp-booking-detail-row {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid #e7eef3 !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }
    .cdp-booking-screen .cdp-booking-detail-row:last-child {
        border-bottom: 0 !important;
    }
    .cdp-booking-screen .cdp-detail-icon {
        flex: 0 0 26px !important;
        width: 26px !important;
        height: 26px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 8px !important;
        background: #eaf3f8 !important;
        color: var(--hm-blue) !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        margin: 0 !important;
    }
    .cdp-booking-screen .cdp-detail-line {
        display: block !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        color: #34495a !important;
    }
    .cdp-booking-screen .cdp-detail-line strong {
        color: var(--hm-ink) !important;
        font-weight: 800 !important;
    }
    .cdp-booking-screen .cdp-terminal-summary,
    .cdp-booking-screen .cdp-price-breakdown {
        width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 16px !important;
    }
    .cdp-booking-screen .cdp-price-row,
    .cdp-booking-screen .cdp-price-line,
    .cdp-booking-screen .cdp-breakdown-row {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .cdp-booking-screen .cdp-payment-section-title {
        text-align: center !important;
        margin: 26px 0 12px !important;
        font-size: 21px !important;
        line-height: 1.2 !important;
    }
    .cdp-booking-screen .cdp-payment-options {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 12px 0 18px !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-option {
        width: 100% !important;
        min-height: 88px !important;
        box-sizing: border-box !important;
        padding: 17px 16px !important;
        border-radius: 15px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 14px !important;
        text-align: left !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-btn-pay,
    .cdp-booking-screen .cdp-payment-options .cdp-btn-pay:hover {
        background: linear-gradient(105deg,#ffad14 0%,#ea6f12 100%) !important;
        color: #07182e !important;
        box-shadow: 0 12px 26px rgba(234,111,18,.30) !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-btn-interac,
    .cdp-booking-screen .cdp-payment-options .cdp-btn-interac:hover {
        background: linear-gradient(105deg,#17212b 0%,#05080c 100%) !important;
        color: #fff !important;
        box-shadow: 0 12px 26px rgba(5,8,12,.24) !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-icon {
        flex: 0 0 82px !important;
        min-width: 82px !important;
        min-height: 38px !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-text strong {
        font-size: 18px !important;
        line-height: 1.15 !important;
    }
    .cdp-booking-screen .cdp-payment-options .cdp-payment-text small {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }
    .cdp-booking-screen .cdp-new-quote-link {
        text-align: center !important;
    }
}

/* v1.4.33 — instant quote card polish */
.cdp-booking-options-page .cdp-page-kicker,
.cdp-booking-options-page .cdp-card-title,
.cdp-booking-options-page .cdp-card-subtitle {
    text-align:center !important;
}
.cdp-booking-options-page .cdp-card-subtitle {
    margin-left:auto !important;
    margin-right:auto !important;
}
.cdp-booking-option-price-wrap {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    gap:5px !important;
}
.cdp-booking-option-tax {
    color:#c62828 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}
.cdp-booking-door-addresses {
    flex:1 !important;
}
@media(max-width:700px){
    .cdp-booking-option-price-wrap { align-items:flex-start !important; }
    .cdp-booking-option-tax { font-size:11px !important; }
}


/* v1.4.34 — centered quote and calculating headers */
.cdp-booking-options-page .cdp-page-kicker,
.cdp-booking-options-page .cdp-card-title,
.cdp-booking-options-page .cdp-card-subtitle {
    text-align: center !important;
}
.cdp-loading-page,
.cdp-loading-page .cdp-calculator-card,
.cdp-loading-page .cdp-card-title,
.cdp-loading-page p {
    text-align: center !important;
}
.cdp-loading-page .cdp-calculator-card::before {
    text-align: center !important;
}
.cdp-loading-page .cdp-spinner-wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* v1.4.50.18 — Direct Transport Order layout normalization. */
#cdp-direct-transport-order-form .cdp-form-group input,
#cdp-direct-transport-order-form .cdp-form-group select,
#cdp-direct-transport-order-form .cdp-form-group textarea {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
#cdp-direct-transport-order-form .cdp-form-row {
    align-items: end !important;
}
#cdp-direct-transport-order-form .cdp-location-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr) minmax(0, .9fr) !important;
}
#cdp-direct-transport-order-form .cdp-form-row > .cdp-form-group {
    min-width: 0 !important;
}
@media (max-width: 760px) {
    #cdp-direct-transport-order-form .cdp-form-row,
    #cdp-direct-transport-order-form .cdp-location-row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
}


/* ================================================================
   v1.4.50.30 — payment confirmation matches booking-page design
   and shows the complete price breakdown.
   ================================================================ */
.cdp-paid-screen .cdp-calculator-card {
    max-width: 760px !important;
}
.cdp-paid-screen .cdp-paid-header {
    text-align: center !important;
    margin-bottom: 18px !important;
}
.cdp-paid-screen .cdp-conf-email-notice {
    display: block !important;
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border: 1px solid #c9e5d4 !important;
    border-radius: 14px !important;
    background: #f1faf5 !important;
    color: #2e5c40 !important;
}
.cdp-paid-screen .cdp-conf-email-notice p { margin: 3px 0 !important; }
.cdp-detailed-price-breakdown {
    overflow: hidden !important;
    padding: 0 !important;
    border: 1px solid var(--hm-line) !important;
    background: #fff !important;
}
.cdp-detailed-price-breakdown h3 {
    padding: 16px 18px 14px !important;
    background: #f8fbfd !important;
}
.cdp-detailed-price-breakdown .cdp-price-row {
    margin: 0 !important;
    padding: 11px 18px !important;
    border-top: 1px solid #edf2f5 !important;
}
.cdp-detailed-price-breakdown .cdp-discount-row {
    background: #f3fbf6 !important;
    color: #187247 !important;
    font-weight: 800 !important;
}
.cdp-detailed-price-breakdown .cdp-subtotal-row {
    background: #fbfcfd !important;
}
.cdp-detailed-price-breakdown .cdp-total-row {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    border-top: 2px solid var(--hm-blue) !important;
    background: #eaf6fb !important;
}
@media (max-width:720px) {
    .cdp-paid-screen .cdp-conf-email-notice { padding: 12px 14px !important; }
    .cdp-detailed-price-breakdown .cdp-price-row {
        padding: 10px 14px !important;
        gap: 12px !important;
        font-size: 13px !important;
    }
}


/* v1.4.50.31 — post-payment confirmation uses the clean quote-email visual language. */
.cdp-paid-screen .cdp-calculator-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:none;padding:32px 34px;color:#1f2937;font-family:Arial,Helvetica,sans-serif}
.cdp-payment-receipt-heading{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid #d1d5db;text-align:left}
.cdp-payment-receipt-heading h2{margin:0 0 8px;font-size:28px;line-height:1.2;color:#111827}
.cdp-payment-receipt-heading p{margin:0;color:#4b5563;font-size:15px}
.cdp-paid-screen .cdp-booking-details{background:#fff;border:0;border-radius:0;padding:0 0 18px;margin:0;border-bottom:1px solid #d1d5db}
.cdp-paid-screen .cdp-booking-detail-row{padding:5px 0;border:0;display:flex;align-items:flex-start}
.cdp-paid-screen .cdp-detail-icon{display:none}
.cdp-paid-screen .cdp-terminal-summary{background:#fff!important;border:0!important;border-radius:0!important;padding:18px 0!important;margin:0!important;border-bottom:1px solid #d1d5db!important}
.cdp-paid-screen .cdp-divider{display:none}
.cdp-paid-screen .cdp-detailed-price-breakdown{background:#fff;border:0;border-radius:0;padding:20px 0 0;margin:0}
.cdp-paid-screen .cdp-price-row{padding:7px 0;border:0}
.cdp-paid-screen .cdp-discount-row{color:#15803d;font-weight:700}
.cdp-paid-screen .cdp-total-row{border-top:1px solid #d1d5db;margin-top:8px;padding-top:12px;font-size:17px}
.cdp-paid-screen .cdp-processing-fee-row{margin-top:4px}
.cdp-paid-screen .cdp-paid-total-row{font-size:18px;font-weight:800;padding-top:4px}
.cdp-payment-complete-note{background:#fff!important;border:0!important;border-top:1px solid #d1d5db!important;border-radius:0!important;padding:20px 0 0!important;margin:22px 0 0!important}
.cdp-payment-complete-note h3{margin:0 0 8px!important;color:#111827!important;font-size:17px!important}
.cdp-payment-complete-note p{margin:0!important;color:#4b5563!important}
@media(max-width:640px){.cdp-paid-screen .cdp-calculator-card{padding:24px 18px}.cdp-payment-receipt-heading h2{font-size:24px}}
