/* HAVAL v130 — Online service booking */
.haval-to-booking{
    --to-accent:#00CABF;
    --to-text:#202020;
    --to-muted:#626970;
    --to-line:#D9DDDF;
    --to-soft:#F6F4F4;
    --to-white:#FFFFFF;
    box-sizing:border-box;
    width:100%;
    color:var(--to-text);
    font-family:Montserrat,Arial,sans-serif;
}
.haval-to-booking *, .haval-to-booking *::before, .haval-to-booking *::after{box-sizing:border-box}
.haval-to-booking__intro{margin:0 0 34px}
.haval-to-booking__intro h2{margin:0 0 10px;color:var(--to-text);font-size:36px;line-height:1.18;font-weight:600}
.haval-to-booking__intro p{margin:0;color:var(--to-muted);font-size:16px;line-height:1.6}
.haval-to-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:28px;align-items:start}
.haval-to-panel{min-width:0;border:1px solid var(--to-line);border-radius:12px;background:var(--to-white);overflow:hidden}
.haval-to-panel__head{display:flex;align-items:flex-start;gap:14px;padding:25px 28px;border-bottom:1px solid var(--to-line);background:var(--to-soft)}
.haval-to-panel__head h3{margin:0 0 5px;color:var(--to-text);font-size:22px;line-height:1.25;font-weight:600}
.haval-to-panel__head p{margin:0;color:var(--to-muted);font-size:13px;line-height:1.45}
.haval-to-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--to-accent);color:#fff;font-size:15px;font-weight:700}
.haval-to-configs{display:flex;gap:8px;overflow:auto;padding:20px 22px;border-bottom:1px solid var(--to-line);scrollbar-width:thin}
.haval-to-config{appearance:none;flex:0 0 auto;max-width:310px;padding:10px 14px;border:1px solid var(--to-line);border-radius:7px;background:#fff;color:var(--to-text);font:600 13px/1.35 Montserrat,Arial,sans-serif;text-align:left;cursor:pointer;transition:.18s ease}
.haval-to-config:hover,.haval-to-config:focus{border-color:var(--to-accent);outline:none}
.haval-to-config.is-active{border-color:var(--to-accent);background:var(--to-accent);color:#fff}
.haval-to-services{min-height:170px;padding:10px 22px 24px;position:relative}
.haval-to-services.is-loading,.haval-to-times.is-loading,.haval-to-calendar__days.is-loading{opacity:.55;pointer-events:none}
.haval-to-services__list{display:flex;flex-direction:column}
.haval-to-service{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;padding:15px 2px;border-bottom:1px solid #ECEEEF;cursor:pointer}
.haval-to-service:last-child{border-bottom:0}
.haval-to-service input{position:absolute;opacity:0;pointer-events:none}
.haval-to-service__check{position:relative;width:21px;height:21px;margin-top:1px;border:1.5px solid #B8BEC2;border-radius:5px;background:#fff;transition:.16s ease}
.haval-to-service input:checked + .haval-to-service__check{border-color:var(--to-accent);background:var(--to-accent)}
.haval-to-service input:checked + .haval-to-service__check::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.haval-to-service__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.haval-to-service__body strong{color:var(--to-text);font-size:15px;line-height:1.4;font-weight:600}
.haval-to-service__body small{color:var(--to-muted);font-size:12px;line-height:1.45}
.haval-to-services__empty,.haval-to-empty{padding:24px;color:var(--to-muted);font-size:14px;line-height:1.6}
.haval-to-empty{display:flex;flex-direction:column;gap:6px;border:1px solid var(--to-line);border-radius:10px;background:var(--to-soft)}
.haval-to-empty strong{color:var(--to-text);font-size:16px}
.haval-to-empty a{color:var(--to-accent)}
.haval-to-calendar{padding:22px 24px 10px}
.haval-to-calendar__nav{display:grid;grid-template-columns:40px 1fr 40px;gap:10px;align-items:center;margin-bottom:17px}
.haval-to-calendar__nav strong{text-align:center;color:var(--to-text);font-size:17px;font-weight:600}
.haval-to-calendar__arrow{appearance:none;width:38px;height:38px;padding:0;border:1px solid var(--to-line);border-radius:7px;background:#fff;color:var(--to-text);font:400 27px/1 Arial,sans-serif;cursor:pointer}
.haval-to-calendar__arrow:hover:not(:disabled){border-color:var(--to-accent);color:var(--to-accent)}
.haval-to-calendar__arrow:disabled{opacity:.35;cursor:default}
.haval-to-calendar__week,.haval-to-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.haval-to-calendar__week{margin-bottom:6px}
.haval-to-calendar__week span{padding:5px 0;color:#8A9195;font-size:11px;font-weight:600;text-align:center;text-transform:uppercase}
.haval-to-day{appearance:none;aspect-ratio:1/1;min-width:0;padding:0;border:1px solid transparent;border-radius:7px;background:#fff;color:var(--to-text);font:500 13px/1 Montserrat,Arial,sans-serif;cursor:pointer;transition:.16s ease}
.haval-to-day:hover:not(:disabled){border-color:var(--to-accent);color:var(--to-accent)}
.haval-to-day.is-today:not(.is-selected){border-color:#BFC5C8}
.haval-to-day.is-selected{border-color:var(--to-accent);background:var(--to-accent);color:#fff;font-weight:700}
.haval-to-day:disabled,.haval-to-day.is-full{background:#F2F3F4;color:#B1B6B9;cursor:not-allowed}
.haval-to-day--blank{visibility:hidden}
.haval-to-times{display:flex;flex-wrap:wrap;gap:9px;min-height:58px;padding:15px 24px 24px;border-top:1px solid var(--to-line)}
.haval-to-time{appearance:none;min-width:72px;padding:10px 13px;border:1px solid var(--to-line);border-radius:7px;background:#fff;color:var(--to-text);font:600 13px/1.2 Montserrat,Arial,sans-serif;cursor:pointer}
.haval-to-time:hover,.haval-to-time:focus{border-color:var(--to-accent);outline:none}
.haval-to-time.is-selected{border-color:var(--to-accent);background:var(--to-accent);color:#fff}
.haval-to-no-times{display:flex;align-items:center;gap:11px;margin:0 24px 24px;padding:14px 16px;border-radius:8px;background:var(--to-soft);color:var(--to-muted);font-size:13px;line-height:1.4}
.haval-to-no-times__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#DDE1E3;color:#626970;font-weight:700}
.haval-to-customer{margin-top:28px;border:1px solid var(--to-line);border-radius:12px;background:#fff;overflow:hidden}
.haval-to-customer__summary{display:flex;flex-direction:column;gap:5px;padding:20px 26px;border-bottom:1px solid var(--to-line);background:var(--to-soft)}
.haval-to-customer__summary strong{font-size:17px;color:var(--to-text)}
.haval-to-customer__summary span{font-size:13px;color:var(--to-muted);line-height:1.5}
.haval-to-form{padding:25px 26px 27px}
.haval-to-form__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.haval-to-form label{display:flex;flex-direction:column;gap:7px;margin:0;color:var(--to-text);font-size:13px;font-weight:600}
.haval-to-form label span b{color:var(--to-accent)}
.haval-to-form input[type=text],.haval-to-form input[type=tel],.haval-to-form input[type=email],.haval-to-form textarea{width:100%;min-height:46px;margin:0;padding:11px 13px;border:1px solid #CDD2D4;border-radius:6px;background:#fff;color:var(--to-text);font:400 14px/1.35 Montserrat,Arial,sans-serif;box-shadow:none;outline:none}
.haval-to-form textarea{min-height:94px;resize:vertical}
.haval-to-form input:focus,.haval-to-form textarea:focus{border-color:var(--to-accent);box-shadow:0 0 0 1px var(--to-accent)}
.haval-to-form input::placeholder,.haval-to-form textarea::placeholder{color:#626970;opacity:1}
.haval-to-form__comment{grid-column:1/-1}
.haval-to-consent{display:grid!important;grid-template-columns:19px minmax(0,1fr);gap:10px!important;align-items:start;margin-top:19px!important;font-weight:400!important;line-height:1.5}
.haval-to-consent input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--to-accent)}
.haval-to-consent a{color:var(--to-accent);text-decoration:none}
.haval-to-submit{appearance:none;min-height:48px;margin-top:21px;padding:13px 24px;border:1px solid var(--to-accent);border-radius:6px;background:var(--to-accent);color:#fff;font:700 14px/1.2 Montserrat,Arial,sans-serif;cursor:pointer;transition:.18s ease}
.haval-to-submit:hover:not(:disabled){border-color:#626970;background:#626970}
.haval-to-submit:disabled{opacity:.45;cursor:not-allowed}
.haval-to-submit.is-loading{pointer-events:none;opacity:.65}
.haval-to-form__message{margin-top:15px;font-size:13px;line-height:1.45}
.haval-to-form__message.is-success{color:#19764f}
.haval-to-form__message.is-error{color:#a92929}
.haval-to-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
[hidden]{display:none!important}
@media(max-width:1050px){.haval-to-layout{grid-template-columns:1fr}.haval-to-panel--calendar{max-width:680px}.haval-to-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.haval-to-form__comment{grid-column:1/-1}}
@media(max-width:767px){.haval-to-booking__intro h2{font-size:29px}.haval-to-layout{gap:18px}.haval-to-panel__head{padding:21px 18px}.haval-to-panel__head h3{font-size:19px}.haval-to-configs{padding:16px}.haval-to-services{padding:8px 16px 18px}.haval-to-calendar{padding:18px 16px 8px}.haval-to-times{padding:14px 16px 18px}.haval-to-no-times{margin:0 16px 18px}.haval-to-form{padding:21px 18px 23px}.haval-to-form__grid{grid-template-columns:1fr}.haval-to-form__comment{grid-column:auto}.haval-to-customer__summary{padding:17px 18px}.haval-to-calendar__week,.haval-to-calendar__days{gap:4px}.haval-to-day{font-size:12px}}

/* =========================================================
   HAVAL v134 — successful TO booking popup
   ========================================================= */
body.haval-to-modal-open{overflow:hidden}
.haval-to-success-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease,visibility .18s ease;
}
.haval-to-success-modal.is-open{opacity:1;visibility:visible}
.haval-to-success-modal__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(18,19,20,.72);
    cursor:default;
}
.haval-to-success-modal__dialog{
    position:relative;
    z-index:1;
    width:min(680px,100%);
    max-height:calc(100vh - 48px);
    overflow:auto;
    padding:34px 36px 30px;
    border:1px solid #D9DDDF;
    border-radius:16px;
    background:#FFFFFF;
    color:#202020;
    box-shadow:0 22px 70px rgba(18,19,20,.24);
    transform:translateY(14px) scale(.985);
    transition:transform .18s ease;
}
.haval-to-success-modal.is-open .haval-to-success-modal__dialog{transform:translateY(0) scale(1)}
.haval-to-success-modal__close{
    appearance:none;
    position:absolute;
    top:16px;
    right:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:0 0 3px;
    border:1px solid #D9DDDF;
    border-radius:50%;
    background:#FFFFFF;
    color:#626970;
    font:400 29px/1 Arial,sans-serif;
    cursor:pointer;
    transition:.16s ease;
}
.haval-to-success-modal__close:hover,
.haval-to-success-modal__close:focus{
    border-color:#00CABF;
    color:#00CABF;
    outline:none;
}
.haval-to-success-modal__status{
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    margin:0 0 21px;
    border-radius:50%;
    background:#00CABF;
}
.haval-to-success-modal__status span{
    width:17px;
    height:29px;
    margin-top:-5px;
    border:solid #FFFFFF;
    border-width:0 3px 3px 0;
    transform:rotate(45deg);
}
.haval-to-success-modal__header{padding-right:42px}
.haval-to-success-modal__header h3{
    margin:0 0 10px;
    color:#202020;
    font:600 30px/1.2 Montserrat,Arial,sans-serif;
}
.haval-to-success-modal__header p{
    margin:0;
    color:#626970;
    font:400 15px/1.65 Montserrat,Arial,sans-serif;
}
.haval-to-success-modal__details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 32px;
    margin-top:26px;
    padding:6px 22px;
    border:1px solid #E1E4E6;
    border-radius:12px;
    background:#F6F4F4;
}
.haval-to-success-modal__row{
    min-width:0;
    padding:15px 0;
    border-bottom:1px solid #E1E4E6;
}
.haval-to-success-modal__row:nth-last-child(-n+2){border-bottom:0}
.haval-to-success-modal__row--wide{
    grid-column:1/-1;
}
.haval-to-success-modal__row--wide + .haval-to-success-modal__row--wide{
    border-top:0;
}
.haval-to-success-modal__row>span{
    display:block;
    margin-bottom:5px;
    color:#7A8287;
    font:500 11px/1.35 Montserrat,Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.haval-to-success-modal__row>strong{
    display:block;
    overflow-wrap:anywhere;
    color:#202020;
    font:600 14px/1.5 Montserrat,Arial,sans-serif;
}
.haval-to-success-modal__services{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.haval-to-success-modal__services span{
    display:inline-flex;
    padding:7px 10px;
    border:1px solid #D4D9DB;
    border-radius:6px;
    background:#FFFFFF;
    color:#202020;
    font:500 12px/1.35 Montserrat,Arial,sans-serif;
}
.haval-to-success-modal__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:24px;
}
.haval-to-success-modal__number{
    color:#7A8287;
    font:400 12px/1.4 Montserrat,Arial,sans-serif;
}
.haval-to-success-modal__number b{color:#202020}
.haval-to-success-modal__button{
    appearance:none;
    min-width:128px;
    min-height:45px;
    padding:11px 22px;
    border:1px solid #00CABF;
    border-radius:6px;
    background:#00CABF;
    color:#FFFFFF;
    font:700 13px/1.2 Montserrat,Arial,sans-serif;
    cursor:pointer;
    transition:.16s ease;
}
.haval-to-success-modal__button:hover,
.haval-to-success-modal__button:focus{
    border-color:#626970;
    background:#626970;
    outline:none;
}
@media(max-width:600px){
    .haval-to-success-modal{padding:14px}
    .haval-to-success-modal__dialog{
        max-height:calc(100vh - 28px);
        padding:27px 20px 22px;
        border-radius:13px;
    }
    .haval-to-success-modal__close{top:12px;right:12px}
    .haval-to-success-modal__status{width:50px;height:50px;margin-bottom:17px}
    .haval-to-success-modal__status span{width:15px;height:25px}
    .haval-to-success-modal__header{padding-right:34px}
    .haval-to-success-modal__header h3{font-size:24px}
    .haval-to-success-modal__details{
        grid-template-columns:1fr;
        gap:0;
        margin-top:21px;
        padding:4px 17px;
    }
    .haval-to-success-modal__row,
    .haval-to-success-modal__row:nth-last-child(-n+2){border-bottom:1px solid #E1E4E6}
    .haval-to-success-modal__row:last-child{border-bottom:0}
    .haval-to-success-modal__row--wide{grid-column:auto}
    .haval-to-success-modal__footer{
        align-items:stretch;
        flex-direction:column;
        gap:14px;
    }
    .haval-to-success-modal__button{width:100%}
}

