.ljl-wrap{--ljl-black:#060607;--ljl-panel:#121318;--ljl-line:#e2e3e6;--ljl-red:#d6111c;--ljl-red2:#f0323c;--ljl-ink:#0b0b0d;--ljl-muted:#5d606a;
  max-width:1180px;margin-inline:auto;padding-inline:20px;font-family:inherit;color:var(--ljl-ink);}
.ljl-wrap *{box-sizing:border-box;}
.ljl-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:0;cursor:pointer;font-weight:600;font-size:.95rem;text-decoration:none;}
.ljl-btn-red{background:var(--ljl-red);color:#fff;}
.ljl-btn-red:hover{background:var(--ljl-red2);color:#fff;}
.ljl-btn-ghost{background:#f1f1f3;color:var(--ljl-ink);}
.ljl-btn-ghost:hover{background:#e4e5e8;color:var(--ljl-ink);}
.ljl-btn[disabled]{opacity:.45;cursor:not-allowed;}
.ljl-tabs{display:flex;gap:8px;margin-bottom:22px;}
.ljl-tab{padding:9px 18px;border-radius:999px;border:1px solid var(--ljl-line);background:#fff;color:var(--ljl-muted);text-decoration:none;font-weight:600;font:inherit;cursor:pointer;}
.ljl-tab.active{background:var(--ljl-red);border-color:var(--ljl-red);color:#fff;}
.ljl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;}
.ljl-card{border:1px solid var(--ljl-line);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;}
.ljl-thumb{position:relative;aspect-ratio:4/3;background:#f1f1f3;display:grid;place-items:center;overflow:hidden;}
.ljl-thumb img{width:100%;height:100%;object-fit:cover;}
.ljl-ph{font-size:2.3rem;opacity:.4;}
.ljl-badge{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;}
.ljl-badge.avail{background:#1fae6a;color:#fff;}
.ljl-badge.sold{background:#2a2a2d;color:#fff;}
.ljl-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;}
.ljl-card-body h3{margin:0;font-size:1.02rem;}
.ljl-price{color:var(--ljl-red);font-weight:700;}
.ljl-sub{font-weight:400;color:var(--ljl-muted);font-size:.8rem;}
.ljl-chips{display:flex;gap:6px;flex-wrap:wrap;}
.ljl-chip{font-size:.74rem;padding:3px 9px;border-radius:999px;background:#f1f1f3;color:var(--ljl-muted);}
.ljl-actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;}
.ljl-empty{padding:50px 20px;text-align:center;color:var(--ljl-muted);border:1px dashed var(--ljl-line);border-radius:14px;grid-column:1/-1;}

/* single car */
.ljl-section{padding-block:30px 60px;}
.ljl-back{display:inline-block;margin-bottom:18px;color:var(--ljl-muted);text-decoration:none;}
.ljl-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start;}
.ljl-main-img{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#f1f1f3;}
.ljl-main-img img{width:100%;height:100%;object-fit:cover;}
.ljl-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.ljl-thumbs img{width:64px;height:48px;object-fit:cover;border-radius:7px;cursor:pointer;border:2px solid transparent;}
.ljl-thumbs img.sel{border-color:var(--ljl-red);}
.ljl-badge-static{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.74rem;font-weight:700;text-transform:uppercase;margin-bottom:10px;}
.ljl-badge-static.avail{background:#e5f6ec;color:#1b8a4f;}
.ljl-badge-static.sold{background:#eee;color:#555;}
.ljl-h1{font-size:1.7rem;margin:0 0 6px;}
.ljl-price-lg{font-size:1.5rem;font-weight:700;color:var(--ljl-red);margin-bottom:14px;}
.ljl-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:16px 0;border-top:1px solid var(--ljl-line);border-bottom:1px solid var(--ljl-line);margin-bottom:16px;}
.ljl-specs small{display:block;color:var(--ljl-muted);font-size:.72rem;text-transform:uppercase;}
.ljl-specs span{font-weight:600;}
.ljl-hint{color:var(--ljl-muted);font-size:.86rem;margin-top:12px;}

/* modal */
.ljl-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;}
.ljl-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;padding:24px;}
.ljl-modal h3{margin-top:0;}
.ljl-field{margin-bottom:14px;}
.ljl-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;}
.ljl-field input,.ljl-field textarea{width:100%;padding:10px 12px;border:1px solid var(--ljl-line);border-radius:8px;font:inherit;}
.ljl-modal-close{float:right;background:#f1f1f3;border:0;width:30px;height:30px;border-radius:50%;cursor:pointer;}
.ljl-msg{padding:12px 16px;border-radius:10px;margin-bottom:14px;font-size:.9rem;}
.ljl-msg.ok{background:#e5f6ec;color:#1b8a4f;}
.ljl-msg.err{background:#fbe8e8;color:#b32d2e;}

/* booking stepper */
.ljl-stepper{max-width:620px;margin-inline:auto;padding-block:20px 60px;}
.ljl-panel{background:#fff;border:1px solid var(--ljl-line);border-radius:16px;padding:26px;}
.ljl-steptag{display:inline-block;padding:4px 12px;border-radius:999px;background:#fbe8e8;color:var(--ljl-red);font-size:.72rem;font-weight:700;text-transform:uppercase;}
.ljl-progress{height:4px;border-radius:4px;background:var(--ljl-line);margin:14px 0 24px;overflow:hidden;}
.ljl-progress>i{display:block;height:100%;background:var(--ljl-red);}
.ljl-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ljl-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:6px;}
.ljl-slot{padding:9px 4px;text-align:center;border-radius:8px;border:1px solid var(--ljl-line);cursor:pointer;font-weight:600;font-size:.85rem;background:#fafafa;}
.ljl-slot.sel{background:var(--ljl-red);border-color:var(--ljl-red);color:#fff;}
.ljl-slot.taken{opacity:.35;cursor:not-allowed;text-decoration:line-through;}
.ljl-radio-row{display:flex;gap:16px;flex-wrap:wrap;font-weight:500;font-size:.9rem;}
.ljl-step-actions{display:flex;justify-content:space-between;margin-top:22px;}
.ljl-confirm h2{font-size:1.3rem;}
.ljl-flow-step{padding:14px 18px;border:1px solid var(--ljl-line);border-radius:10px;margin-bottom:8px;background:#e5f6ec;}
.ljl-flow-step h4{margin:0 0 3px;font-size:.92rem;color:#1b8a4f;}
.ljl-flow-step p{margin:0;font-size:.84rem;color:var(--ljl-muted);}
@media (max-width:760px){.ljl-detail,.ljl-row2,.ljl-specs{grid-template-columns:1fr;}}
