*{box-sizing:border-box}
:root{--accent:#ff8833;--text:#17202a;--muted:#6b7280;--border:#dce1e7;--bg:#f5f6f8;--card:#fff}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
.booking-shell{max-width:1040px;margin:0 auto;padding:24px 16px 60px}
.booking-header{text-align:center;margin:8px auto 24px}.booking-header h1{margin:0 0 8px;font-size:32px}.booking-header p{margin:0;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}
.step{border:0;background:#e7eaee;color:#67717c;border-radius:10px;padding:10px 6px;font-weight:700}.step span{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#fff;margin-right:4px}.step.active{background:#fff;color:#111;box-shadow:0 1px 4px rgba(0,0,0,.08)}.step.active span{background:var(--accent);color:#fff}
.booking-step{display:none;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px}.booking-step.active{display:block}
h2{margin:0 0 20px;font-size:24px}h3{margin:0 0 12px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.choice-card{min-height:130px;border:2px solid var(--border);background:#fff;border-radius:14px;padding:18px;cursor:pointer;font-size:17px}.choice-card:hover,.choice-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,136,51,.12)}.choice-icon{display:block;font-size:34px;margin-bottom:10px}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:28px}.choice-list{display:grid;gap:9px}.work-choice{border:1px solid var(--border);background:#fff;border-radius:10px;padding:13px;text-align:left;cursor:pointer}.work-choice.selected{border:2px solid var(--accent);background:#fff8f2}.work-choice small{display:block;color:var(--muted);margin-top:4px}
label{display:block;font-weight:700;margin-bottom:14px}select,input,textarea{width:100%;margin-top:6px;border:1px solid #cdd4dc;border-radius:9px;padding:11px;font:inherit;background:#fff}
.helper{color:var(--muted);font-size:14px}.next-wrap{display:flex;justify-content:flex-end;margin-top:22px}.primary-btn{display:inline-block;border:0;background:var(--accent);color:#fff;border-radius:10px;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.back-link,.calendar-nav{border:0;background:#edf0f3;border-radius:8px;padding:8px 11px;cursor:pointer}.section-top{margin-bottom:16px}
.calendar-title-row{display:flex;justify-content:space-between;gap:16px;align-items:start}.calendar-nav-buttons{display:flex;gap:6px}
.public-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px}.calendar-day{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;min-height:220px}.calendar-day.disabled{opacity:.5}.calendar-day-head{text-align:center;padding:9px 6px;background:#f2f4f6;border-bottom:1px solid var(--border)}.calendar-day-head strong{display:block}.calendar-day-head small{color:var(--muted)}
.slots{padding:8px;display:grid;gap:6px}.slot-btn{border:1px solid #bad7c2;background:#edf9f0;color:#14532d;border-radius:8px;padding:8px 4px;font-weight:800;cursor:pointer}.slot-btn:hover{background:#dff3e5}.no-slot{text-align:center;color:#999;font-size:12px;padding:18px 4px}
.selected-slot-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px;margin-bottom:20px;font-weight:700}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}
.error-box{background:#fee2e2;color:#991b1b;border-radius:10px;padding:12px 14px;margin-bottom:16px}.success-view{text-align:center;background:#fff;border-radius:16px;padding:50px 20px}.success-mark{width:64px;height:64px;margin:0 auto 15px;border-radius:50%;background:#dcfce7;color:#166534;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900}
@media(max-width:820px){.public-calendar{grid-template-columns:repeat(2,1fr)}.choice-grid{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.booking-shell{padding:12px 8px 40px}.booking-step{padding:16px}.public-calendar{grid-template-columns:1fr}.personal-grid{grid-template-columns:1fr}.full{grid-column:auto}.calendar-day{min-height:auto}}

.hold-timer{margin:-8px 0 20px;padding:10px 12px;border-radius:9px;background:#fff7ed;color:#9a3412;font-weight:700;text-align:center}

.booking-summary{max-width:860px;margin:0 auto}
.summary-lead{color:var(--muted);max-width:680px;margin:0 auto 20px}
.booking-reference-box{margin:20px auto 24px;padding:18px;border:2px solid var(--accent);border-radius:14px;background:#fff8f2;max-width:520px}
.booking-reference-box span{display:block;color:var(--muted);font-size:14px;margin-bottom:6px}
.booking-reference-box strong{display:block;font-size:24px;letter-spacing:1px}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-top:18px}
.summary-grid>div{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}
.summary-grid span{display:block;color:var(--muted);font-size:13px;margin-bottom:5px}
.summary-grid strong{display:block}
.summary-grid .full{grid-column:1/-1}
.summary-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.secondary-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}
@media(max-width:620px){.summary-grid{grid-template-columns:1fr}.summary-grid .full{grid-column:auto}.booking-reference-box strong{font-size:19px}}
@media print{
 body{background:#fff}
 .summary-actions{display:none}
 .booking-shell{max-width:none;padding:0}
 .booking-summary{border:0;padding:0}
}

.calendar-add-section{margin-top:26px;padding-top:22px;border-top:1px solid var(--border);text-align:left}
.calendar-add-section h2{text-align:center;margin-bottom:16px}
.calendar-mobile-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calendar-action{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:13px;text-decoration:none;color:var(--text);background:#fff}
.calendar-action>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:#f3f4f6;font-size:22px;font-weight:900}
.calendar-action strong{align-self:end}.calendar-action small{color:var(--muted);align-self:start}
.calendar-action:hover{border-color:var(--accent)}
.desktop-calendar-qr{display:grid;grid-template-columns:1fr 190px;gap:22px;align-items:center;margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff}
.desktop-calendar-qr h3{margin:0 0 7px}.desktop-calendar-qr p{margin:0;color:var(--muted)}
.calendar-qr{width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-left:auto}
.calendar-qr svg{width:100%;height:100%;display:block}
.calendar-download-fallback{text-align:center;margin:14px 0 0}
.calendar-mobile-view{max-width:620px;margin:0 auto}.calendar-mobile-actions{display:grid;gap:10px;margin-top:18px}
.google-calendar-btn{display:inline-block;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:12px 18px;font-weight:800;text-decoration:none}
@media(max-width:760px){
 .desktop-calendar-qr{display:none}
 .calendar-mobile-buttons{grid-template-columns:1fr}
}
@media print{
 .calendar-add-section{display:none}
}

/* V24.7 – helyi, valódi QR-kód */
.calendar-qr{
    background:#fff;
    padding:8px;
    border:1px solid var(--border);
    border-radius:10px;
}
.calendar-qr.qr-ready svg{
    display:block;
    width:100%;
    height:100%;
    background:#fff;
}
.calendar-qr.qr-error{
    padding:16px;
    text-align:center;
}

/* V24.8 – éles összegző oldali QR javítás */
.desktop-calendar-qr .calendar-qr{
    min-width:180px;
    min-height:180px;
}
@media(min-width:761px){
    .desktop-calendar-qr{display:grid}
    .desktop-calendar-qr .calendar-qr{display:flex}
}

.email-status{max-width:680px;margin:0 auto 18px;padding:12px 14px;border-radius:10px;font-weight:700;text-align:center}
.success-email{background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.failed-email{background:#fffaeb;border:1px solid #fedf89;color:#93370d}

/* V26 – legkorábbi szabad időpontok */
.earliest-availability{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--border)}
.earliest-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.earliest-heading h2{margin:0 0 5px}
.earliest-heading p{margin:0;color:var(--muted)}
.live-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:12px;font-weight:800}
.live-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:#12b76a}
.earliest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.earliest-card{border:1px solid var(--border);border-radius:13px;padding:15px;background:#fff}
.earliest-service{display:flex;align-items:center;gap:8px;margin-bottom:13px}
.earliest-service>span{font-size:23px}.earliest-service strong{font-size:16px}
.earliest-time{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:9px;background:#f8fafc}
.earliest-time strong{font-size:14px}.earliest-time span{font-size:22px;font-weight:900}
.earliest-card small{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.earliest-none{padding:12px;background:#f8fafc;border-radius:9px;color:#667085;font-weight:800;text-align:center}
.earliest-note{margin:14px 0 0;color:var(--muted);font-size:13px}
.service-choice-title{margin-top:0}
@media(max-width:760px){.earliest-grid{grid-template-columns:1fr}.earliest-heading{align-items:center}.earliest-time{justify-content:flex-start}.earliest-time span{margin-left:auto}}

/* V33 – a foglalt időpontok is látszanak a publikus naptárban */
.slot-btn{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-height:46px;
}
.slot-btn .slot-time{
    display:block;
    font-weight:800;
}
.slot-btn small{
    display:block;
    font-size:10px;
    line-height:1;
}
.slot-btn.slot-free small{
    opacity:.72;
}
.slot-btn.slot-busy,
.slot-btn.slot-busy:disabled{
    background:#f1f3f5!important;
    border-color:#d5d9de!important;
    color:#8b929b!important;
    cursor:not-allowed!important;
    opacity:1!important;
    box-shadow:none!important;
}
.slot-btn.slot-busy .slot-time{
    text-decoration:none;
}
.slot-btn.slot-busy small{
    color:#a03a43;
    font-weight:800;
    opacity:1;
}

/* V33.1 – publikus naptár lapozási határok */
.calendar-nav:disabled{
    opacity:.35!important;
    cursor:not-allowed!important;
    pointer-events:none;
}


/* V33.2 – szélesebb publikus időpontnaptár, biztonságos V39 elrendezéssel */
.booking-step[data-step="3"].active{
    width:100%;
    max-width:1280px;
    margin-left:auto;
    margin-right:auto;
    transform:none;
}
.booking-step[data-step="3"] .public-calendar{
    width:100%;
}
@media(max-width:900px){
    .booking-step[data-step="3"].active{
        width:100%;
        max-width:none;
        margin-left:0;
        margin-right:0;
        transform:none;
    }
}




/* V33.3–V33.5 sötét dizájnrétegek eltávolítva – V39 világos megjelenés */

/* V34 – ügyfélfiók */
.customer-account-shell{max-width:1180px!important}
.account-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.account-nav{display:flex;gap:8px;flex-wrap:wrap}
.account-nav a{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);text-decoration:none}
.account-nav a:hover{border-color:var(--accent);background:#fff8f2}
.account-panel{display:block!important;margin-bottom:14px}
.account-section-head,.booking-account-heading,.booking-account-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.customer-vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.customer-vehicle-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;text-decoration:none;color:var(--text)}
.customer-vehicle-card strong{color:var(--text)!important}
.customer-vehicle-card span,.customer-vehicle-card small{color:var(--muted)!important}
.account-bookings{display:flex;flex-direction:column;gap:8px}
.account-booking-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}
.account-booking-row>div{display:flex;flex-direction:column;gap:3px}
.booking-account-box{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;color:var(--text)}
.account-password-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.booking-account-success{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px;margin:16px 0;background:#173023;border:1px solid #4b8e56;border-radius:12px;color:#e3f5e6}
.customer-delete-btn{background:#dc3545;border:1px solid #dc3545;color:#fff;padding:10px 14px;border-radius:8px}
@media(max-width:800px){
 .customer-vehicle-grid{grid-template-columns:1fr}
 .account-booking-row{grid-template-columns:1fr}
 .account-password-fields{grid-template-columns:1fr}
 .account-header{align-items:flex-start;flex-direction:column}
}

/* V34.4 – Foglalásaim jármű megjelenítés */
.account-booking-vehicle{
    display:block;
    margin-top:5px;
    color:var(--text)!important;
    font-weight:700;
}


/* V34.5 – Foglalás kezelése oldal teljes sötét témája
   A manage.css külön fájl miatt erős selectorok + !important szükségesek. */

body .manage-shell{
    color:var(--text)!important;
}

body .manage-shell .booking-header,
body .manage-shell .manage-card,
body .manage-shell .booking-step{
    background:#fff!important;
    border-color:var(--border)!important;
    color:var(--text)!important;
    box-shadow:0 6px 22px rgba(15,23,42,.08)!important;
}

body .manage-shell .manage-page-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    flex-wrap:wrap!important;
}

body .manage-shell .manage-page-heading{
    min-width:0!important;
}

body .manage-shell .booking-header h1,
body .manage-shell .booking-header h2,
body .manage-shell .booking-header strong,
body .manage-shell .manage-card h1,
body .manage-shell .manage-card h2,
body .manage-shell .manage-card h3,
body .manage-shell .manage-card strong{
    color:var(--text)!important;
}

body .manage-shell .booking-header p,
body .manage-shell .manage-card p,
body .manage-shell .manage-card small,
body .manage-shell .manage-card .muted{
    color:var(--muted)!important;
}

/* Vissza a fiókomhoz */
body .manage-shell .manage-account-back{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:40px!important;
    padding:9px 14px!important;
    border-radius:10px!important;
    background:#fff!important;
    border:1px solid var(--accent)!important;
    color:var(--text)!important;
    font-weight:800!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

body .manage-shell .manage-account-back:hover{
    background:#ff8833!important;
    border-color:#ff8833!important;
    color:#fff!important;
}

/* Foglalási azonosító */
body .manage-shell .booking-reference-box{
    background:#fff8f2!important;
    border:2px solid var(--accent)!important;
    color:var(--text)!important;
}

body .manage-shell .booking-reference-box span{
    color:var(--muted)!important;
}

body .manage-shell .booking-reference-box strong{
    color:#fff!important;
}

/* Összegző buborékok */
body .manage-shell .summary-grid > div{
    background:#fff!important;
    border:1px solid var(--border)!important;
    color:var(--text)!important;
}

body .manage-shell .summary-grid > div span{
    color:#aebed0!important;
}

body .manage-shell .summary-grid > div strong{
    color:#fff!important;
}

/* Kezelési szabályok */
body .manage-shell .manage-rules{
    background:#f8fafc!important;
    border:1px solid var(--border)!important;
    color:var(--text)!important;
}

body .manage-shell .manage-rules p{
    color:#c3d0dc!important;
}

body .manage-shell .manage-rules strong{
    color:#fff!important;
}

/* Inputok */
body .manage-shell input,
body .manage-shell select,
body .manage-shell textarea{
    background:#fff!important;
    color:var(--text)!important;
    border:1px solid #cdd4dc!important;
}

body .manage-shell input::placeholder,
body .manage-shell textarea::placeholder{
    color:#73869a!important;
}

body .manage-shell input:focus,
body .manage-shell select:focus,
body .manage-shell textarea:focus{
    border-color:#ff8833!important;
    box-shadow:0 0 0 3px rgba(255,136,51,.14)!important;
    outline:none!important;
}

body .manage-shell label{
    color:var(--text)!important;
}

/* Gombok */
body .manage-shell .primary-btn{
    background:#ff8833!important;
    border-color:#ff8833!important;
    color:#fff!important;
}

body .manage-shell .primary-btn:hover{
    background:#ff9f55!important;
    border-color:#ff9f55!important;
}

body .manage-shell .secondary-btn{
    background:#fff!important;
    border:1px solid var(--border)!important;
    color:var(--text)!important;
}

body .manage-shell .secondary-btn:hover:not(:disabled){
    border-color:#ff8833!important;
    color:#fff!important;
}

body .manage-shell .secondary-btn:disabled,
body .manage-shell .primary-btn:disabled,
body .manage-shell .danger-btn:disabled{
    background:#263442!important;
    border-color:#344657!important;
    color:#718396!important;
    opacity:1!important;
    cursor:not-allowed!important;
}

body .manage-shell .danger-btn{
    background:#dc3545!important;
    border-color:#dc3545!important;
    color:#fff!important;
}

body .manage-shell .danger-btn:hover:not(:disabled){
    background:#bb2d3b!important;
    border-color:#bb2d3b!important;
}

/* Alertok */
body .manage-shell .manage-alert{
    background:#111b26!important;
    color:var(--text)!important;
    border:1px solid #2e4053!important;
}

body .manage-shell .manage-alert.success{
    background:#173023!important;
    border-color:#4b8e56!important;
    color:#e3f5e6!important;
}

body .manage-shell .manage-alert.error{
    background:#351d22!important;
    border-color:#8a3b45!important;
    color:#ffd7db!important;
}

/* Módosítási naptár / időpontválasztó */
body .manage-shell .manage-change-calendar,
body .manage-shell .change-calendar,
body .manage-shell .calendar-day{
    background:#fff!important;
    border-color:var(--border)!important;
    color:var(--text)!important;
}

body .manage-shell .calendar-day-head{
    background:#f2f4f6!important;
    border-color:var(--border)!important;
    color:var(--text)!important;
}

body .manage-shell .slot-btn{
    background:#edf9f0!important;
    border-color:#bad7c2!important;
    color:#14532d!important;
}

body .manage-shell .slot-btn:hover:not(:disabled),
body .manage-shell .slot-btn.selected{
    background:#ff8833!important;
    border-color:#ff8833!important;
    color:#fff!important;
}

body .manage-shell .slot-btn:disabled{
    background:#f1f3f5!important;
    border-color:#d5d9de!important;
    color:#8b929b!important;
    opacity:1!important;
}

/* Megerősítő / új időpont kijelölés */
body .manage-shell .selected-slot-box,
body .manage-shell .change-summary,
body .manage-shell .change-selected{
    background:#fff7ed!important;
    border-color:var(--accent)!important;
    color:var(--text)!important;
}

@media(max-width:700px){
    body .manage-shell .manage-page-header{
        align-items:flex-start!important;
        flex-direction:column!important;
    }

    body .manage-shell .manage-account-back{
        width:100%!important;
    }
}


/* V34.7 – bejelentkezett ügyfél mentett jármű választó */
.saved-vehicle-booking-box{
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    padding:12px;
}

.saved-vehicle-choice-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:10px;
}

.saved-vehicle-choice{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    color:var(--text);
    text-align:left;
    cursor:pointer;
    transition:.15s ease;
}

.saved-vehicle-choice strong{
    color:var(--text)!important;
    font-size:1rem;
}

.saved-vehicle-choice span{
    color:var(--text)!important;
}

.saved-vehicle-choice small{
    color:var(--muted)!important;
    font-weight:700;
}

.saved-vehicle-choice:hover{
    border-color:#ff8833;
    background:#fff8f2;
}

.saved-vehicle-choice.selected{
    border:2px solid #ff8833;
    background:#fff7ed;
    box-shadow:0 0 0 2px rgba(255,136,51,.14);
}

.saved-vehicle-choice.selected small{
    color:#f4bc90!important;
}

.saved-vehicle-manage-row{
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
}

.saved-vehicle-manage-row a{
    color:#f5a263!important;
    font-weight:700;
}

.saved-vehicle-empty{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:12px;
    border:1px dashed #b8c0c8;
    border-radius:10px;
    background:#f8fafc;
}

.saved-vehicle-empty strong{
    color:var(--text)!important;
}

.saved-vehicle-empty small{
    color:var(--muted)!important;
}

.booking-saved-vehicle-note{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:10px 12px;
    border:1px solid #4b8e56;
    border-radius:10px;
    background:#173023;
}

.booking-saved-vehicle-note strong{
    color:#e3f5e6!important;
}

.booking-saved-vehicle-note small{
    color:#3f6f49!important;
}


/* V34.8 – mentett járműkártyák egyértelmű, egymás alatti kiválasztása */
.saved-vehicle-choice-list{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    width:100%!important;
}

.saved-vehicle-choice{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    min-height:76px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    padding:14px 46px 14px 16px!important;
    margin:0!important;
    border:1px solid var(--border)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--text)!important;
    text-align:left!important;
    text-decoration:none!important;
    cursor:pointer!important;
}

.saved-vehicle-choice[hidden]{
    display:none!important;
}

.saved-vehicle-choice:hover{
    background:#fff8f2!important;
    border-color:#ff8833!important;
}

.saved-vehicle-choice.selected{
    background:#fff7ed!important;
    border:2px solid #ff8833!important;
    box-shadow:0 0 0 3px rgba(255,136,51,.13)!important;
}

.saved-vehicle-choice strong{
    color:var(--text)!important;
    font-size:1.05rem!important;
}

.saved-vehicle-choice span{
    color:var(--text)!important;
}

.saved-vehicle-choice small{
    color:var(--muted)!important;
    font-weight:700!important;
}

.saved-vehicle-selected-mark{
    display:none!important;
    position:absolute!important;
    right:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#ffb172!important;
    font-size:.76rem!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

.saved-vehicle-choice.selected .saved-vehicle-selected-mark{
    display:block!important;
}

.saved-vehicle-manage-row{
    margin-top:12px!important;
    padding-top:10px!important;
    border-top:1px solid var(--border)!important;
}

/* A kezelési linkek külön helyen vannak, nem fedhetik a járműkártyákat. */
.saved-vehicle-manage-row a{
    position:static!important;
    display:inline-flex!important;
    z-index:auto!important;
}


/* V34.11 – mentett jármű kártya adatsorrend */
.saved-vehicle-choice .saved-vehicle-plate{
    color:#f4bc90!important;
    font-size:.92rem!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
}

.saved-vehicle-choice .saved-vehicle-type{
    color:var(--text)!important;
    font-size:.92rem!important;
}

.saved-vehicle-choice.selected .saved-vehicle-plate{
    color:#ffbf8a!important;
}


/* V34.12 – Összegző oldal / Fiókom megnyitása gomb kontraszt */
.booking-success .customer-account-btn,
.booking-success a.customer-account-btn,
.booking-success .account-open-btn,
.booking-success a[href="/public/account.php"],
.booking-summary a[href="/public/account.php"],
.success-actions a[href="/public/account.php"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#ff8833!important;
    border:1px solid #ff8833!important;
    color:#ffffff!important;
    font-weight:800!important;
    text-decoration:none!important;
    border-radius:10px!important;
    padding:10px 16px!important;
    box-shadow:none!important;
}

.booking-success a[href="/public/account.php"]:hover,
.booking-summary a[href="/public/account.php"]:hover,
.success-actions a[href="/public/account.php"]:hover{
    background:#ff9f55!important;
    border-color:#ff9f55!important;
    color:#ffffff!important;
}


/* V34.16 – Fiókom / Foglalásaim státusz jelvények */
.account-booking-meta{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
}

.booking-status-badge{
    display:inline-flex!important;
    align-items:center!important;
    min-height:27px!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    border:1px solid #3b5064!important;
    background:#1d2b3b!important;
    color:var(--text)!important;
}

.booking-status-badge.status-confirmed{
    background:#173023!important;
    border-color:#4b8e56!important;
    color:#e3f5e6!important;
}

.booking-status-badge.status-pending{
    background:#3b3017!important;
    border-color:#9a7b2f!important;
    color:#ffe6a6!important;
}

.booking-status-badge.status-cancelled,
.booking-status-badge.status-noshow{
    background:#351d22!important;
    border-color:#8a3b45!important;
    color:#ffd7db!important;
}

.booking-status-badge.status-completed{
    background:#162d3f!important;
    border-color:#447ca4!important;
    color:#d7ebfa!important;
}

.booking-status-badge.status-blocked{
    background:#2c2530!important;
    border-color:#715b7c!important;
    color:#eadcf0!important;
}

.booking-status-badge.status-unknown{
    background:#222e3a!important;
    border-color:#44576a!important;
    color:#c8d4df!important;
}


/* V39 – checkbox/radio normalizálás: az általános input szabály ne nagyítsa fel őket */
.booking-step input[type="checkbox"],
.booking-step input[type="radio"],
.customer-account-shell input[type="checkbox"],
.customer-account-shell input[type="radio"]{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    margin:0!important;
    padding:0!important;
    border-radius:4px!important;
    vertical-align:middle;
    accent-color:var(--accent);
}


/* V39 – dizájn konzisztencia */
.reminder-choice-group{
    background:#fff!important;
    border-color:var(--border)!important;
}
.reminder-choice{
    background:#fff!important;
    border-color:var(--border)!important;
    color:var(--text)!important;
}
.reminder-choice:hover{
    background:#fff8f2!important;
    border-color:var(--accent)!important;
}
.reminder-choice small{
    color:var(--muted)!important;
}
.booking-account-box{
    background:#fff!important;
    border-color:var(--border)!important;
    color:var(--text)!important;
}


/* V39.2i – hangsúlyos Belépés + Regisztráció gombok */
.customer-auth-actions{
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.customer-header-btn.login,
.customer-header-btn.register{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 16px;
    border-radius:999px;
    font-size:13px;
    line-height:1;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.customer-header-btn.login{
    border:1px solid #ff8833;
    background:#ff8833;
    color:#fff;
    box-shadow:0 5px 14px rgba(255,136,51,.25);
}
.customer-header-btn.login:hover{
    background:#ed7420;
    border-color:#ed7420;
    color:#fff;
    text-decoration:none;
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(255,136,51,.3);
}
.customer-header-btn.register{
    border:2px solid #ff8833;
    background:#fff;
    color:#c95f13;
}
.customer-header-btn.register:hover{
    background:#fff5ed;
    color:#a84908;
    text-decoration:none;
    transform:translateY(-1px);
}
@media(max-width:560px){
    .customer-auth-actions{
        gap:6px;
    }
    .customer-header-btn.login,
    .customer-header-btn.register{
        min-height:36px;
        padding:8px 12px;
        font-size:12px;
    }
}


/* V39 – Szolgáltatásválasztás elsődleges, legkorábbi időpontok kompakt */
.booking-step[data-step="1"] .service-choice-title{
    margin:0 0 14px;
}

.booking-step[data-step="1"] .service-grid{
    margin-bottom:22px;
}

.booking-step[data-step="1"] .earliest-availability{
    margin:0;
    padding:16px 0 0;
    border-top:1px solid var(--border);
    border-bottom:0;
}

.booking-step[data-step="1"] .earliest-heading{
    align-items:center;
    margin-bottom:10px;
}

.booking-step[data-step="1"] .earliest-heading h2{
    margin:0 0 2px;
    font-size:18px;
}

.booking-step[data-step="1"] .earliest-heading p{
    font-size:12px;
}

.booking-step[data-step="1"] .earliest-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.booking-step[data-step="1"] .earliest-card{
    padding:10px 12px;
    border-radius:10px;
}

.booking-step[data-step="1"] .earliest-service{
    margin-bottom:6px;
}

.booking-step[data-step="1"] .earliest-service > span{
    font-size:18px;
}

.booking-step[data-step="1"] .earliest-service strong{
    font-size:15px;
}


.booking-step[data-step="1"] .earliest-time{
    padding:6px 8px;
}

.booking-step[data-step="1"] .earliest-time strong{
    font-size:17px;
    font-weight:900;
    line-height:1;
}


.booking-step[data-step="1"] .earliest-time span{
    font-size:17px;
    line-height:1;
}


.booking-step[data-step="1"] .earliest-card small{
    margin-top:5px;
    font-size:12px;
}


.booking-step[data-step="1"] .earliest-note{
    margin:8px 0 0;
    font-size:12px;
}


@media(max-width:760px){
    .booking-step[data-step="1"] .earliest-grid{
        grid-template-columns:1fr;
    }
}

/* V39 – E-mail emlékeztető egyszerűsített megjelenés */
.reminder-choice{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 8px!important;
    padding:10px 12px!important;
    border:1px solid #e1e6eb!important;
    border-radius:9px!important;
    background:#fff!important;
    color:var(--text)!important;
    cursor:pointer!important;
}

.reminder-choice input[type="checkbox"]{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 18px!important;
    accent-color:var(--accent);
}

.reminder-choice > span{
    display:block!important;
    min-width:0!important;
}

.reminder-choice strong{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:var(--text)!important;
}

.reminder-choice:hover{
    background:#fff8f2!important;
    border-color:#ffb27c!important;
}

.reminder-choice:has(input:checked){
    background:#fff7ed!important;
    border-color:var(--accent)!important;
}

/* V39 – 4. lépés Belépés gombja az 1. lépés Belépés gombjához igazítva */
.booking-account-heading a[href*="/public/login.php"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border:0;
    border-radius:999px;
    background:#ecfdf3;
    color:#067647;
    font-size:12px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
}

.booking-account-heading a[href*="/public/login.php"]:hover{
    background:#dcfce7;
    color:#067647;
    text-decoration:none;
}

/* V39 – Regisztrációs jelszómezők csak fióklétrehozás választásakor */
.account-password-fields[hidden]{
    display:none!important;
}


/* V39.1a – ügyfélfiók járműkártya tárolási jelzés */
.customer-vehicle-card .customer-storage-badge{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    width:auto;
    margin-top:5px;
    padding:5px 9px;
    border-radius:999px;
    font-size:11px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}
.customer-vehicle-card .customer-storage-badge.storage-wheel{
    background:#fff1e6;
    border:1px solid #ffc28f;
    color:#a54b08!important;
}
.customer-vehicle-card .customer-storage-badge.storage-tire{
    background:#f4ebff;
    border:1px solid #d6bbfb;
    color:#6941c6!important;
}


/* V39.2 – szezonális tárolási választás */
.seasonal-storage-box{
    margin-top:12px;
}
.seasonal-storage-box[hidden]{
    display:none!important;
}
.seasonal-storage-choice{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px 14px;
    border:1px solid #ffd0ad;
    border-radius:12px;
    background:#fff8f2;
    cursor:pointer;
}
.seasonal-storage-choice input{
    width:18px;
    height:18px;
    margin:1px 0 0;
    flex:0 0 auto;
}
.seasonal-storage-choice strong{
    display:block;
    color:#8f430b;
    line-height:1.3;
}
.seasonal-storage-choice:has(input:checked){
    border-color:#ff8833;
    background:#fff1e6;
}


/* V39.2g – főoldali tájékoztató a főcím alatt */
.booking-header .booking-header-lead{
    margin:0 auto;
    color:var(--muted);
}
.booking-intro{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:900px;
    margin:18px auto 0;
    text-align:left;
}
.booking-intro-item{
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
}
.booking-intro-item strong{
    display:block;
    margin-bottom:5px;
    color:var(--text);
    font-size:15px;
}
.booking-intro-item span{
    display:block;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}
.booking-company{
    margin-top:10px;
    color:var(--muted);
    font-size:12px;
}
.booking-company strong{
    color:var(--text);
}
@media(max-width:700px){
    .booking-intro{
        grid-template-columns:1fr;
    }
}


/* V39.2h – Google térkép a főoldal jobb oldalán */
.booking-info-map-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:16px;
    max-width:1100px;
    margin:18px auto 0;
    align-items:stretch;
}
.booking-info-map-layout .booking-intro{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    max-width:none;
    margin:0;
}
.booking-info-map-layout .booking-company{
    margin-top:0;
    align-self:end;
}
.booking-map-card{
    display:flex;
    flex-direction:column;
    min-height:100%;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
}
.booking-map{
    display:block;
    width:100%;
    min-height:220px;
    height:100%;
    flex:1 1 auto;
    border:0;
}
.booking-map-link{
    display:block;
    padding:9px 12px;
    border-top:1px solid var(--border);
    color:var(--accent,#ff8833);
    font-size:12px;
    font-weight:700;
    text-align:center;
    text-decoration:none;
}
.booking-map-link:hover{
    text-decoration:underline;
}
@media(max-width:850px){
    .booking-info-map-layout{
        grid-template-columns:1fr;
    }
    .booking-map{
        min-height:260px;
    }
}


/* V39.3 – Lemondási értesítő / várólista */
.waitlist-booking-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 16px;border:1px solid #ffcfad;border-radius:12px;background:#fff8f2}
.waitlist-booking-cta>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.waitlist-booking-cta strong{color:var(--text);font-size:14px}
.waitlist-booking-cta span{color:var(--muted);font-size:12px;line-height:1.4}
.waitlist-guest-actions{display:flex!important;flex-direction:row!important;gap:7px!important;flex:0 0 auto}
.waitlist-rules{display:grid;gap:6px;margin-top:14px;padding:14px;border-radius:12px;background:#fff8f2;border:1px solid #ffcfad}
.waitlist-rules strong{margin-bottom:2px;color:#8f430b}
.waitlist-rules span{font-size:13px;color:var(--muted)}
.waitlist-rules span::before{content:'✓ ';font-weight:900;color:#ff8833}
.waitlist-active-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.waitlist-active-card>div{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff}
.waitlist-active-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.waitlist-active-card strong{display:block;color:var(--text);line-height:1.3}
.waitlist-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.waitlist-status.active{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.waitlist-status.booked{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}
.waitlist-status.expired{background:#f2f4f7;color:#475467;border:1px solid #d0d5dd}
.waitlist-status.cancelled{background:#fff1f3;color:#c01048;border:1px solid #fecdd6}
.waitlist-account-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #ffcfad;border-radius:10px;background:#fff8f2}
.waitlist-account-summary>div{display:flex;flex-direction:column;gap:3px}
.waitlist-account-summary span:not(.waitlist-status){font-size:12px;color:var(--muted)}
.waitlist-consent{padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid var(--border);font-size:12px;line-height:1.5;color:var(--muted)}
.waitlist-cancel-btn{border-color:#fda29b!important;color:#b42318!important}
.waitlist-hold-note{margin:14px 0;padding:13px 14px;border-radius:10px;background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.waitlist-history-row small{color:var(--muted)}
@media(max-width:700px){.waitlist-booking-cta{align-items:stretch;flex-direction:column}.waitlist-guest-actions{width:100%}.waitlist-guest-actions a{flex:1;text-align:center}.waitlist-active-card{grid-template-columns:1fr}.waitlist-account-summary{align-items:flex-start;flex-direction:column}}


/* V39.3.3 – Lemondási értesítő blokk olvashatósága */
.booking-step[data-step="3"] .waitlist-booking-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    margin:10px 0 16px;
    padding:13px 15px;
    border:1px solid #ffd0ad;
    border-radius:12px;
    background:#fff8f2;
}

.booking-step[data-step="3"] .waitlist-booking-cta>div:first-child{
    display:block;
    min-width:0;
}

.booking-step[data-step="3"] .waitlist-booking-cta strong{
    display:block;
    margin:0 0 4px;
    color:var(--text);
    font-size:14px;
    line-height:1.25;
}

.booking-step[data-step="3"] .waitlist-booking-cta span{
    display:block;
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}

.booking-step[data-step="3"] #waitlist-booking-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:10px 16px;
    border:1px solid #ff8833;
    border-radius:10px;
    background:#ff8833;
    color:#fff!important;
    font-size:13px;
    line-height:1;
    font-weight:900;
    text-decoration:none!important;
    white-space:nowrap;
    box-shadow:0 4px 12px rgba(255,136,51,.20);
}

.booking-step[data-step="3"] #waitlist-booking-link:hover{
    background:#ed7420;
    border-color:#ed7420;
    color:#fff!important;
    text-decoration:none!important;
}

.booking-step[data-step="3"] .waitlist-guest-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center;
    gap:7px!important;
    flex:0 0 auto;
}

@media(max-width:760px){
    .booking-step[data-step="3"] .waitlist-booking-cta{
        grid-template-columns:1fr;
        gap:10px;
    }

    .booking-step[data-step="3"] #waitlist-booking-link{
        width:100%;
    }

    .booking-step[data-step="3"] .waitlist-guest-actions{
        width:100%;
    }

    .booking-step[data-step="3"] .waitlist-guest-actions .secondary-btn{
        flex:1 1 0;
        justify-content:center;
    }
}


/* V39.3.6 – bejelentkezési visszajelzés formázása */
.earliest-heading-actions{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.customer-login-state{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:9px 14px;
    border:1px solid #cfe9dc;
    border-radius:999px;
    background:#f1fbf5;
    color:#166534;
    font-size:13px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 2px 10px rgba(22,101,52,.08);
}

.customer-login-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.14);
    flex:0 0 9px;
}

.customer-header-btn.account{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 16px;
    border:1px solid #d8e1ec;
    border-radius:999px;
    background:#fff;
    color:#17365d;
    font-size:13px;
    line-height:1;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
    box-shadow:0 2px 10px rgba(23,54,93,.08);
    transition:all .15s ease;
}

.customer-header-btn.account:hover{
    border-color:#17365d;
    background:#f5f9ff;
    color:#102947;
    text-decoration:none;
    transform:translateY(-1px);
}

@media(max-width:560px){
    .earliest-heading-actions{
        width:100%;
        justify-content:flex-start;
    }

    .customer-login-state,
    .customer-header-btn.account{
        min-height:36px;
        padding:8px 12px;
        font-size:12px;
    }
}


/* V39.3.9 – adminból szerkeszthető publikus fejléc */
.booking-brand-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:20px;
    align-items:center;
    margin:0 auto 18px;
    padding:22px 24px;
    border-radius:16px;
    background:var(--booking-brand-bg,#fff);
    color:var(--booking-brand-fg,#17202a);
    text-align:left;
    box-shadow:0 2px 10px rgba(15,23,42,.07);
}
.booking-brand-panel.has-logo{
    grid-template-columns:minmax(160px,260px) minmax(0,1fr);
}
.booking-brand-logo-wrap{
    display:flex;
    align-items:center;
    justify-content:flex-start;
}
.booking-brand-logo{
    display:block;
    width:auto;
    max-width:100%;
    max-height:115px;
    object-fit:contain;
}
.booking-brand-content{
    min-width:0;
}
.booking-brand-company{
    display:flex;
    align-items:baseline;
    gap:8px 12px;
    flex-wrap:wrap;
    margin-bottom:9px;
}
.booking-brand-company strong{
    color:inherit;
    font-size:15px;
    font-weight:900;
}
.booking-brand-company span{
    color:var(--booking-brand-muted,#667085);
    font-size:12px;
    font-weight:700;
}
.booking-header .booking-brand-panel h1{
    margin:0 0 7px;
    color:inherit;
    font-size:32px;
    line-height:1.05;
}
.booking-header .booking-brand-panel .booking-header-lead{
    margin:0;
    color:var(--booking-brand-muted,#667085);
    line-height:1.45;
}
.booking-brand-contact{
    display:flex;
    align-items:center;
    gap:7px 14px;
    flex-wrap:wrap;
    margin-top:13px;
    font-size:12px;
    font-weight:700;
}
.booking-brand-contact a,
.booking-brand-contact span{
    color:var(--booking-brand-muted,#667085);
    text-decoration:none;
}
.booking-brand-contact a:hover{
    color:var(--booking-brand-fg,#17202a);
    text-decoration:underline;
}
@media(max-width:760px){
    .booking-brand-panel.has-logo{
        grid-template-columns:1fr;
    }
    .booking-brand-logo{
        max-width:240px;
        max-height:95px;
    }
    .booking-brand-panel{
        padding:18px;
    }
    .booking-header .booking-brand-panel h1{
        font-size:28px;
    }
}


/* V39.3.22 – kattintható fejléc logó + emlékeztető validáció */
.booking-brand-logo-link{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    max-width:100%;
    border-radius:8px;
    text-decoration:none;
}
.booking-brand-logo-link:focus-visible{
    outline:3px solid var(--accent,#ff8833);
    outline-offset:5px;
}
.booking-brand-logo-link .booking-brand-logo{
    transition:opacity .15s ease,transform .15s ease;
}
.booking-brand-logo-link:hover .booking-brand-logo{
    opacity:.92;
    transform:translateY(-1px);
}

.reminder-choice-group.has-validation-error{
    border-color:#d92d20!important;
    box-shadow:0 0 0 3px rgba(217,45,32,.08);
}
.reminder-validation{
    min-height:18px;
    margin-top:8px;
    color:#b42318;
    font-size:13px;
    line-height:1.35;
    font-weight:800;
}
.reminder-choice-group.has-validation-error .reminder-choice{
    border-color:#f4b8b3!important;
}


/* V39.3.23 – SEO/jogi lábléc + adatkezelési tájékoztatás */
.booking-legal-notice{
    margin-top:18px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}
.booking-legal-notice a{
    color:#a94f10;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:2px;
}
.booking-legal-notice a:hover{
    color:var(--accent,#ff8833);
}

.booking-site-footer{
    margin-top:8px;
    border-top:1px solid #dde3e9;
    background:#eef1f4;
}
.booking-site-footer-inner{
    max-width:1040px;
    margin:0 auto;
    padding:22px 16px 26px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px 24px;
    align-items:center;
}
.booking-footer-company{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.booking-footer-company strong{
    color:var(--text);
    font-size:14px;
}
.booking-footer-company span{
    color:var(--muted);
    font-size:12px;
}
.booking-footer-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px 14px;
}
.booking-footer-links a{
    color:#475467;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
}
.booking-footer-links a:hover{
    color:var(--accent,#ff8833);
    text-decoration:underline;
}
.booking-footer-copy{
    grid-column:1/-1;
    padding-top:10px;
    border-top:1px solid #d8dee5;
    color:#7a8592;
    font-size:11px;
}

@media(max-width:700px){
    .booking-site-footer-inner{
        grid-template-columns:1fr;
        gap:14px;
        padding:20px 16px 24px;
    }
    .booking-footer-links{
        justify-content:flex-start;
        align-items:flex-start;
        flex-direction:column;
        gap:9px;
    }
    .booking-footer-links a{
        font-size:13px;
    }
}
