/* LT Trailer Configurator v1.1.0 — All orange, no purple */

/* ── Product page button ────────────────────────────────────── */
.lt-conf-btn-wrap { margin: 16px 0; }

.lt-conf-open-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #FF6E00;
    color: #ffffff !important;
    border: none;
    border-radius: 4px;
    padding: 15px 32px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 20px rgba(255,110,0,0.35);
    width: 100%;
    justify-content: center;
    font-family: inherit;
}
.lt-conf-open-btn:hover {
    background: #e05f00;
    transform: translateY(-1px);
    box-shadow: 0 6px 28px rgba(255,110,0,0.5);
    color: #ffffff !important;
}
.lt-conf-open-btn svg { color: #fff; }

/* ── Overlay ────────────────────────────────────────────────── */
.lt-conf-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.88);
    z-index: 999999;
    align-items: flex-start;
    justify-content: center;
    padding: 24px 16px;
    overflow-y: auto;
    backdrop-filter: blur(6px);
}
.lt-conf-overlay.active { display: flex; }

/* ── Modal ──────────────────────────────────────────────────── */
.lt-conf-modal {
    background: #0d0d0d;
    border: 1px solid rgba(255,110,0,0.25);
    border-radius: 20px;
    width: 100%;
    max-width: 880px;
    display: flex;
    flex-direction: column;
    animation: ltSlide 0.28s ease;
    overflow: hidden;
    margin: auto;
}
@keyframes ltSlide { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* ── Header ─────────────────────────────────────────────────── */
.lt-conf-modal-header {
    background: #000;
    border-bottom: 1px solid rgba(255,110,0,0.2);
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.lt-conf-modal-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #FF6E00;
    font-size: 0.95rem;
    font-weight: 700;
}
/* Close button — ORANGE, not purple */
.lt-conf-close {
    background: rgba(255,110,0,0.1);
    border: 1px solid rgba(255,110,0,0.3);
    color: #FF6E00;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 1.4rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, border-color 0.15s;
    line-height: 1;
}
.lt-conf-close:hover {
    background: rgba(255,110,0,0.25);
    border-color: #FF6E00;
}

/* ── Step indicators — ORANGE only ──────────────────────────── */
.lt-conf-steps-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
    background: rgba(255,255,255,0.02);
    border-bottom: 1px solid rgba(255,255,255,0.05);
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 4px;
}
.lt-conf-step-ind { display:flex;align-items:center;gap:7px;opacity:.32;transition:opacity .2s; }
.lt-conf-step-ind.active  { opacity: 1; }
.lt-conf-step-ind.complete { opacity: 0.7; }

.lt-step-num {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    border: 2px solid rgba(255,255,255,0.18);
    color: rgba(255,255,255,0.6);
    font-size: .75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
}
/* Active step — orange */
.lt-conf-step-ind.active .lt-step-num {
    background: #FF6E00;
    border-color: #FF6E00;
    color: #fff;
}
/* Completed step — darker orange (NOT purple) */
.lt-conf-step-ind.complete .lt-step-num {
    background: rgba(255,110,0,0.35);
    border-color: #FF6E00;
    color: #fff;
}

.lt-step-lbl { font-size:.75rem;font-weight:600;color:rgba(255,255,255,.6);white-space:nowrap; }
.lt-conf-step-ind.active .lt-step-lbl { color:#FF6E00; }
.lt-conf-step-ind.complete .lt-step-lbl { color:rgba(255,110,0,0.8); }
.lt-conf-step-sep { width:28px;height:1px;background:rgba(255,255,255,.1);margin:0 4px; }

/* ── Modal body ──────────────────────────────────────────────── */
.lt-conf-modal-body { flex:1;padding:28px 32px;overflow-y:auto;color:#fff;max-height:calc(80vh - 170px); }
.lt-conf-modal-body h2 { font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 8px; }
.lt-step-desc { color:rgba(255,255,255,.5);font-size:.9rem;margin:0 0 24px;line-height:1.5; }

/* ── Total bar ───────────────────────────────────────────────── */
.lt-conf-total-bar { background:#111;border-top:1px solid rgba(255,110,0,.25);padding:13px 24px;display:flex;align-items:center;gap:10px;flex-shrink:0; }
.lt-conf-total-label { font-size:.75rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:1px;font-weight:600; }
.lt-conf-total-amount { font-size:1.35rem;font-weight:800;color:#FF6E00; }
.lt-conf-total-note { font-size:.72rem;color:rgba(255,255,255,.28); }

/* ── Step 1: Customer form ───────────────────────────────────── */
.lt-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px; }
.lt-field { display:flex;flex-direction:column;gap:5px; }
.lt-field-full { grid-column:1/-1; }
.lt-field label { font-size:.75rem;font-weight:700;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.4px; }
.req { color:#FF6E00; }
.lt-field input,.lt-field textarea {
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    padding:11px 14px;
    color:#fff;
    font-size:.95rem;
    transition:border-color .2s,box-shadow .2s;
    font-family:inherit;
    resize:vertical;
}
.lt-field input:focus,.lt-field textarea:focus { border-color:#FF6E00;outline:none;box-shadow:0 0 0 3px rgba(255,110,0,.14); }
.lt-field input::placeholder,.lt-field textarea::placeholder { color:rgba(255,255,255,.22); }
.lt-privacy { font-size:.72rem;color:rgba(255,255,255,.28);text-align:center;margin:10px 0 0; }

/* ── Step 2a: Model-only large cards ─────────────────────────── */
.lt-model-cards-lg { display:flex;flex-direction:column;gap:10px;margin-bottom:20px; }

.lt-model-card-lg {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 18px 22px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}
.lt-model-card-lg:hover { border-color:rgba(255,110,0,.4);background:rgba(255,110,0,.05); }
.lt-model-card-lg.active { border-color:#FF6E00;background:rgba(255,110,0,.1); }

.lt-mc-info { flex:1; }
.lt-mc-name { font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:3px; }
.lt-mc-dims { font-size:.88rem;color:rgba(255,255,255,.55); }
.lt-mc-cap  { font-size:.78rem;color:rgba(255,110,0,.7);margin-top:2px; }
.lt-mc-price { font-size:1.1rem;flex-shrink:0; }
.lt-mc-check { color:transparent;flex-shrink:0;transition:color .15s; }
.lt-model-card-lg.active .lt-mc-check { color:#FF6E00; }

/* ── Step 2b: Range cards (full selection) ───────────────────── */
.lt-ranges-list { display:flex;flex-direction:column;gap:9px;margin-bottom:22px; }
.lt-range-card { display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:14px 18px;cursor:pointer;transition:border-color .2s,background .2s; }
.lt-range-card:hover { border-color:rgba(255,110,0,.35);background:rgba(255,110,0,.04); }
.lt-range-card.active { border-color:#FF6E00;background:rgba(255,110,0,.08); }
.lt-range-icon { color:#FF6E00;flex-shrink:0; }
.lt-range-info { flex:1; }
.lt-range-info h3 { font-size:.95rem;font-weight:700;color:#fff;margin:0 0 3px; }
.lt-range-info p  { font-size:.8rem;color:rgba(255,255,255,.45);margin:0;line-height:1.4; }
.lt-range-check { width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.2);color:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s; }
.lt-range-card.active .lt-range-check { background:#FF6E00;border-color:#FF6E00;color:#fff; }

.lt-models-wrap { margin-bottom:18px; }
.lt-models-label { font-size:.75rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px; }
.lt-models-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px; }
.lt-model-card { display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:12px 14px;cursor:pointer;transition:border-color .2s,background .2s; }
.lt-model-card:hover { border-color:rgba(255,110,0,.35);background:rgba(255,110,0,.04); }
.lt-model-card.active { border-color:#FF6E00;background:rgba(255,110,0,.08); }
.lt-model-info { flex:1;display:flex;flex-direction:column;gap:2px; }
.lt-model-name { font-size:.88rem;font-weight:700;color:#fff; }
.lt-model-dims { font-size:.76rem;color:rgba(255,255,255,.45); }
.lt-model-cap  { font-size:.72rem;color:rgba(255,110,0,.65); }
.lt-model-price { font-size:.9rem;font-weight:700;flex-shrink:0; }
.lt-model-check { color:transparent;flex-shrink:0; }
.lt-model-card.active .lt-model-check { color:#FF6E00; }

/* ── Step 3: Options ─────────────────────────────────────────── */
.lt-extras { display:flex;flex-direction:column;gap:20px; }
.lt-extras-group { background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden; }
.lt-group-header { display:flex;align-items:center;gap:9px;padding:12px 18px;background:rgba(0,0,0,.3);border-bottom:1px solid rgba(255,255,255,.04); }
.lt-group-icon { font-size:1.1rem; }
.lt-group-header h3 { font-size:.82rem;font-weight:700;color:rgba(255,255,255,.75);margin:0;text-transform:uppercase;letter-spacing:.5px; }
.lt-opts-list { padding:6px 0; }
.lt-opt-row { display:flex;align-items:center;gap:12px;padding:11px 18px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.03); }
.lt-opt-row:last-child { border-bottom:none; }
.lt-opt-row:hover { background:rgba(255,110,0,.04); }
.lt-opt-row.active { background:rgba(255,110,0,.08); }
.lt-checkbox { width:20px;height:20px;border-radius:5px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;color:transparent; }
.lt-checkbox.checked { background:#FF6E00;border-color:#FF6E00;color:#fff; }
.lt-opt-img { flex-shrink:0;width:72px;height:52px;border-radius:5px;overflow:hidden;background:#1a1a1a; }
.lt-opt-img img { width:100%;height:100%;object-fit:cover;display:block; }
.lt-opt-info { flex:1; }
.lt-opt-name { font-size:.88rem;font-weight:600;color:rgba(255,255,255,.9); }
.lt-opt-desc { font-size:.75rem;color:rgba(255,255,255,.38);margin-top:2px;line-height:1.3; }
.lt-opt-price-wrap { text-align:right;flex-shrink:0; }
.opt-price { font-size:.88rem;font-weight:700;color:#FF6E00; }
.poa-tag { font-size:.75rem;font-weight:600;color:rgba(255,110,0,.7);background:rgba(255,110,0,.1);padding:2px 7px;border-radius:4px; }
.foc-tag { font-size:.75rem;font-weight:600;color:rgba(100,200,100,.8);background:rgba(100,200,100,.1);padding:2px 7px;border-radius:4px; }

/* Colour swatches */
.lt-opts-colors { display:flex;flex-wrap:wrap;gap:14px;padding:16px 18px; }
.lt-color-opt { display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;opacity:.6;transition:opacity .2s,transform .15s; }
.lt-color-opt:hover { opacity:.9;transform:translateY(-2px); }
.lt-color-opt.active { opacity:1; }
.lt-color-swatch { width:42px;height:42px;border-radius:50%;border:3px solid transparent;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(0,0,0,.3); }
.lt-color-opt.active .lt-color-swatch { border-color:#FF6E00;box-shadow:0 0 0 3px rgba(255,110,0,.3),0 2px 8px rgba(0,0,0,.3); }
.lt-color-name { font-size:.68rem;font-weight:600;color:rgba(255,255,255,.7);text-align:center;max-width:68px;line-height:1.2; }
.lt-color-price { font-size:.65rem;color:rgba(255,110,0,.7);text-align:center; }

/* ── Step 4: Review ──────────────────────────────────────────── */
.lt-review-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px; }
.lt-review-panel { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:18px; }
.lt-review-panel h3 { font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:#FF6E00;margin:0 0 10px; }
.lt-rev-detail { font-size:.88rem;color:rgba(255,255,255,.8);margin-bottom:4px; }
.lt-rev-minor { color:rgba(255,255,255,.42);font-size:.8rem; }
.lt-rev-price { font-size:1.15rem;font-weight:700;color:#FF6E00;margin-top:7px; }
.lt-rev-opts { background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;margin-bottom:14px; }
.lt-rev-opts h3 { font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.45);margin:0 0 10px; }
.lt-rev-row { display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.85rem;color:rgba(255,255,255,.8); }
.lt-rev-row:last-child { border-bottom:none; }
.lt-rev-empty { color:rgba(255,255,255,.3);font-size:.82rem;font-style:italic; }
.lt-review-total { display:flex;justify-content:space-between;align-items:center;background:#FF6E00;border-radius:11px;padding:14px 18px;margin-bottom:8px;font-weight:700;color:#fff; }
.lt-total-big { font-size:1.35rem;font-weight:800; }
.lt-rev-note { font-size:.75rem;color:rgba(255,255,255,.32);margin:0 0 18px; }

/* ── Step 5: Success ─────────────────────────────────────────── */
.lt-s5 { text-align:center;padding:10px 10px 20px; }
.lt-success-icon { width:76px;height:76px;background:rgba(255,110,0,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#FF6E00; }
.lt-s5 h2 { margin-bottom:12px; }
.lt-s5 > p { color:rgba(255,255,255,.65);margin-bottom:18px;line-height:1.6; }
.lt-success-contact { margin-top:22px;padding:18px;background:rgba(255,255,255,.03);border-radius:12px; }
.lt-success-contact p { margin-bottom:8px;color:rgba(255,255,255,.5);font-size:.88rem; }
.lt-success-phone { font-size:1.05rem;font-weight:700;color:#FF6E00;text-decoration:none; }
.lt-success-phone:hover { text-decoration:underline; }

/* ── Nav buttons — ALL ORANGE ────────────────────────────────── */
.lt-nav { display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.05); }

.lt-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FF6E00;
    color: #fff !important;
    border: none;
    border-radius: 4px;
    padding: 13px 28px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .15s;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-family: inherit;
}
.lt-btn-primary:hover { background:#e05f00;transform:translateY(-1px);color:#fff!important; }
.lt-btn-primary.disabled { opacity:.4;cursor:not-allowed;pointer-events:none; }

.lt-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: rgba(255,255,255,.55);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;
    padding: 12px 22px;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    transition: color .2s,border-color .2s;
    font-family: inherit;
}
.lt-btn-ghost:hover { color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.35); }

.lt-btn-outline {
    display: inline-block;
    color: #FF6E00;
    border: 2px solid #FF6E00;
    border-radius: 4px;
    padding: 11px 26px;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s,color .2s;
    margin-bottom: 14px;
}
.lt-btn-outline:hover { background:#FF6E00;color:#fff; }

/* ── Error ───────────────────────────────────────────────────── */
.lt-conf-error { background:rgba(220,50,50,.1);border:1px solid rgba(220,50,50,.3);border-radius:8px;padding:10px 14px;color:#ff8080;font-size:.88rem;margin-bottom:14px; }

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:640px){
    .lt-conf-overlay { padding:0;align-items:flex-end; }
    .lt-conf-modal { border-radius:18px 18px 0 0;max-height:92vh; }
    .lt-conf-modal-body { padding:20px 16px; }
    .lt-form-grid { grid-template-columns:1fr; }
    .lt-review-grid { grid-template-columns:1fr; }
    .lt-models-list { grid-template-columns:1fr; }
    .lt-conf-steps-bar { gap:2px;padding:10px; }
    .lt-step-lbl { display:none; }
    .lt-conf-step-sep { width:14px; }
    .lt-model-card-lg { flex-wrap:wrap; }
}

/* ── Admin CSS ────────────────────────────────────────────────── */
.lt-conf-admin h1 { margin-bottom:10px; }
.lt-conf-card { background:#fff;border:1px solid #ddd;border-radius:6px;padding:20px 24px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.06); }
.lt-conf-card h2 { font-size:1.05rem;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #FF6E00; }
.lt-price-table th { font-size:.78rem; }
.lt-price-in { width:110px!important;font-weight:700; }
.lt-poa { display:inline-block;background:#fff3e0;color:#E8560A;border:1px solid #E8560A;border-radius:4px;padding:3px 9px;font-size:.78rem;font-weight:700; }
.lt-badge { display:inline-block;background:#E8560A;color:#fff;border-radius:20px;padding:2px 12px;font-size:.82rem;font-weight:700;margin-left:8px;vertical-align:middle; }
.lt-step-badge { background:#f0f0f0;border-radius:4px;padding:2px 9px;font-size:.78rem;font-weight:600; }
.lt-conf-wc-panel .options_group { padding:10px 12px; }
.lt-conf-wc-panel .form-field { margin-bottom:16px!important; }
.lt-conf-wc-panel .description { color:#666;font-size:.82rem;display:block;margin-top:4px; }
/* LT Trailer Configurator — Force Orange override
 * reset.css and Elementor kit CSS override button backgrounds.
 * These rules use !important + high specificity to win.
 */

/* ── Product page open button ─────────────────────────────────────────────── */
button.lt-conf-open-btn,
.lt-conf-btn-wrap button.lt-conf-open-btn,
.woocommerce div.product button.lt-conf-open-btn,
.entry-summary button.lt-conf-open-btn,
.summary button.lt-conf-open-btn,
.elementor button.lt-conf-open-btn {
    background: #FF6E00 !important;
    background-color: #FF6E00 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 15px 32px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(255,110,0,0.35) !important;
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 16px 0 !important;
    transition: background 0.2s ease, transform 0.15s ease !important;
    font-family: inherit !important;
    outline: none !important;
}

button.lt-conf-open-btn:hover,
.lt-conf-btn-wrap button.lt-conf-open-btn:hover,
.woocommerce div.product button.lt-conf-open-btn:hover {
    background: #e05f00 !important;
    background-color: #e05f00 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 28px rgba(255,110,0,0.5) !important;
}

button.lt-conf-open-btn svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
}

/* ── Modal close button ────────────────────────────────────────────────────── */
#lt-conf-overlay button.lt-conf-close,
.lt-conf-overlay .lt-conf-modal button.lt-conf-close {
    background: rgba(255,110,0,0.1) !important;
    background-color: rgba(255,110,0,0.1) !important;
    border: 1px solid rgba(255,110,0,0.4) !important;
    color: #FF6E00 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    font-size: 1.4rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

#lt-conf-overlay button.lt-conf-close:hover,
.lt-conf-overlay .lt-conf-modal button.lt-conf-close:hover {
    background: rgba(255,110,0,0.25) !important;
    background-color: rgba(255,110,0,0.25) !important;
    border-color: #FF6E00 !important;
}

/* ── Primary CTA buttons inside modal ─────────────────────────────────────── */
#lt-conf-overlay button.lt-btn-primary,
.lt-conf-overlay .lt-conf-modal button.lt-btn-primary,
#lt-conf-overlay .lt-btn-primary,
.lt-conf-overlay .lt-btn-primary {
    background: #FF6E00 !important;
    background-color: #FF6E00 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 13px 28px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: inherit !important;
    outline: none !important;
    box-shadow: none !important;
}

#lt-conf-overlay button.lt-btn-primary:hover,
.lt-conf-overlay .lt-conf-modal button.lt-btn-primary:hover {
    background: #e05f00 !important;
    background-color: #e05f00 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

#lt-conf-overlay button.lt-btn-primary.disabled,
.lt-conf-overlay button.lt-btn-primary.disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* ── Ghost / back buttons inside modal ────────────────────────────────────── */
#lt-conf-overlay button.lt-btn-ghost,
.lt-conf-overlay .lt-conf-modal button.lt-btn-ghost,
#lt-conf-overlay .lt-btn-ghost,
.lt-conf-overlay .lt-btn-ghost {
    background: transparent !important;
    background-color: transparent !important;
    color: rgba(255,255,255,0.55) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 4px !important;
    padding: 12px 22px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: inherit !important;
    outline: none !important;
    box-shadow: none !important;
}

#lt-conf-overlay button.lt-btn-ghost:hover,
.lt-conf-overlay button.lt-btn-ghost:hover {
    background: rgba(255,255,255,0.05) !important;
    background-color: rgba(255,255,255,0.05) !important;
    color: rgba(255,255,255,0.9) !important;
    border-color: rgba(255,255,255,0.35) !important;
}

/* ── Step indicator numbers — orange only, never purple ───────────────────── */
#lt-conf-overlay .lt-conf-step-ind .lt-step-num,
.lt-conf-overlay .lt-step-num {
    background: rgba(255,255,255,0.08) !important;
    border: 2px solid rgba(255,255,255,0.18) !important;
    color: rgba(255,255,255,0.6) !important;
    box-shadow: none !important;
    outline: none !important;
}

#lt-conf-overlay .lt-conf-step-ind.active .lt-step-num,
.lt-conf-overlay .lt-conf-step-ind.active .lt-step-num {
    background: #FF6E00 !important;
    background-color: #FF6E00 !important;
    border-color: #FF6E00 !important;
    color: #ffffff !important;
}

#lt-conf-overlay .lt-conf-step-ind.complete .lt-step-num,
.lt-conf-overlay .lt-conf-step-ind.complete .lt-step-num {
    background: rgba(255,110,0,0.35) !important;
    background-color: rgba(255,110,0,0.35) !important;
    border-color: #FF6E00 !important;
    color: #ffffff !important;
}

/* ── Checkboxes in options ─────────────────────────────────────────────────── */
#lt-conf-overlay .lt-checkbox.checked,
.lt-conf-overlay .lt-checkbox.checked {
    background: #FF6E00 !important;
    background-color: #FF6E00 !important;
    border-color: #FF6E00 !important;
    color: #ffffff !important;
}

/* ── Total bar total amount ────────────────────────────────────────────────── */
#lt-conf-overlay .lt-conf-total-amount,
.lt-conf-overlay .lt-conf-total-amount {
    color: #FF6E00 !important;
}

/* ── Review total row ──────────────────────────────────────────────────────── */
#lt-conf-overlay .lt-review-total,
.lt-conf-overlay .lt-review-total {
    background: #FF6E00 !important;
    background-color: #FF6E00 !important;
    color: #ffffff !important;
}

/* ── Success icon ──────────────────────────────────────────────────────────── */
#lt-conf-overlay .lt-success-icon,
.lt-conf-overlay .lt-success-icon {
    background: rgba(255,110,0,0.12) !important;
    background-color: rgba(255,110,0,0.12) !important;
    color: #FF6E00 !important;
}

/* ── Quantity controls ─────────────────────────────────────────────────────── */
.lt-opt-qty {
    display: none;
    align-items: center;
    gap: 0;
    margin-top: 10px;
    font-size: 0.85rem;
}
.lt-opt-qty.visible {
    display: inline-flex;
}
.lt-opt-qty .lt-qty-btn {
    background: #1a1a1a !important;
    background-image: none !important;
    border: 1px solid rgba(255,110,0,0.5) !important;
    border-image: none !important;
    color: #FF6E00 !important;
    cursor: pointer !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    width: 32px !important;
    height: 32px !important;
    min-height: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s, border-color 0.15s !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}
.lt-opt-qty .lt-qty-btn:focus,
.lt-opt-qty .lt-qty-btn:focus-visible,
.lt-opt-qty .lt-qty-btn:active {
    outline: none !important;
    box-shadow: none !important;
    border-image: none !important;
    background-image: none !important;
}
.lt-opt-qty .lt-qty-btn.lt-qty-minus {
    border-radius: 6px 0 0 6px !important;
    border-right: none !important;
}
.lt-opt-qty .lt-qty-btn.lt-qty-plus {
    border-radius: 0 6px 6px 0 !important;
    border-left: none !important;
}
.lt-opt-qty .lt-qty-btn:hover {
    background: rgba(255,110,0,0.2) !important;
    border-color: #FF6E00 !important;
    background-image: none !important;
}
.lt-qty-val {
    width: 42px;
    height: 32px;
    background: #111;
    border: 1px solid rgba(255,110,0,0.5);
    border-left: none;
    border-right: none;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -moz-appearance: textfield;
    outline: none;
    box-shadow: none;
}
.lt-qty-val::-webkit-outer-spin-button,
.lt-qty-val::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.lt-qty-val:focus,
.lt-qty-val:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: rgba(255,110,0,0.8) !important;
    background: #1a1a1a !important;
}
.lt-opt-qty-sel label {
    color: rgba(255,255,255,0.7);
    margin-right: 6px;
    font-size: 0.8rem;
}
.lt-qty-select {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 4px;
    color: #fff;
    font-size: 0.85rem;
    padding: 3px 6px;
    cursor: pointer;
}
.lt-qty-select:focus {
    outline: none;
    border-color: #FF6E00;
}

/* ── Retail price / discount banner ───────────────────────────────────────── */
.lt-discount-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, #1a0a00 0%, #2d1200 100%);
    border: 2px solid #FF6E00;
    border-radius: 8px;
    padding: 14px 18px;
    margin: 12px 0 0;
    flex-wrap: wrap;
}
.lt-discount-icon {
    font-size: 1.8rem;
    flex-shrink: 0;
}
.lt-discount-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}
.lt-discount-text strong {
    color: #FF6E00;
    font-size: 1rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.lt-discount-text span {
    color: rgba(255,255,255,0.85);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.lt-discount-phones {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.lt-discount-phones a {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    white-space: nowrap;
}
.lt-discount-phones a:hover {
    color: #FF6E00;
    text-decoration: underline;
}
.lt-discount-phones span {
    color: rgba(255,255,255,0.5);
}
@media (max-width: 500px) {
    .lt-discount-banner { gap: 10px; padding: 12px 14px; }
    .lt-discount-phones { width: 100%; }
}

/* ── Tyre qty info label (read-only, driven by axle selection) ─────────────── */
.lt-qty-tyre-info {
    color: rgba(255,255,255,0.75);
    font-size: 0.82rem;
}
.lt-qty-tyre-info strong {
    color: #FF6E00;
    font-size: 0.95rem;
}
.lt-qty-tyre-info small {
    color: rgba(255,255,255,0.5);
    font-style: italic;
}
