/* АвтоСервис Сибирь — public booking v26 */
#sto-booking{max-width:1180px;margin:0 auto;padding:8px 0 44px;color:#172033}
#sto-booking *{box-sizing:border-box}
#sto-booking .booking-topline{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start;margin:10px 0 22px}
#sto-booking .booking-hero{padding:8px 0}
#sto-booking .booking-hero .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
#sto-booking .booking-hero .eyebrow:before{content:"";width:20px;height:2px;background:#2563eb;display:block}
#sto-booking .booking-hero h1{font-size:34px;line-height:1.12;letter-spacing:-1px;margin:0 0 8px;color:#111b2d}
#sto-booking .booking-hero p{margin:0;color:#64748b;font-size:14px}#sto-booking .booking-hero .client-booking-link{display:inline-flex;align-items:center;margin-top:12px;padding:9px 13px;border:1px solid #dbe5f1;border-radius:9px;background:#fff;color:#2563eb;font-size:13px;font-weight:700;text-decoration:none;transition:.2s ease}#sto-booking .booking-hero .client-booking-link:hover{border-color:#93b4e8;background:#f8fbff;transform:translateY(-1px)}#sto-booking .booking-hero .client-booking-link span{margin-left:4px}
#sto-booking .work-hours-card{padding:17px 22px;background:#f1f4f8;border:1px solid #e4e9ef;border-radius:13px;color:#526174;font-size:13px;line-height:1.65;box-shadow:0 3px 12px rgba(15,23,42,.025)}
#sto-booking .work-hours-title{display:flex;align-items:center;gap:10px;margin-bottom:4px;color:#172033;font-size:16px}
#sto-booking .clock-icon{font-size:24px;line-height:1;color:#172033}
#sto-booking .work-hours-card b{color:#263449;font-weight:750}
#sto-booking .work-hours-card .closed,#sto-booking .work-hours-card .closed b{color:#dc2626}
#sto-booking .booking-main-card{background:#fff;border:1px solid #dce4ed;border-radius:18px;padding:28px;box-shadow:0 12px 34px rgba(15,23,42,.06)}
#sto-booking .booking-layout-new{display:grid;grid-template-columns:minmax(0,1fr);gap:27px}
#sto-booking .booking-left{border-bottom:1px solid #edf1f5;padding-bottom:24px}
#sto-booking .booking-title-row{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}
#sto-booking .booking-title{font-size:18px;letter-spacing:-.3px;margin:0;color:#172033}
#sto-booking .required-note{font-size:11px;color:#94a3b8}
#sto-booking .booking-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:15px 16px}
#sto-booking .booking-grid>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px;margin:0;font-size:13px;font-weight:750;color:#172033}
#sto-booking .booking-grid>label em{color:#ef4444;font-style:normal}
#sto-booking .booking-grid>label input,#sto-booking .booking-grid>label select,#sto-booking .booking-grid>label textarea{display:block;width:100%;min-height:46px;padding:11px 13px;border:1px solid #cfd9e5;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
#sto-booking .booking-grid>label input::placeholder,#sto-booking .booking-grid>label textarea::placeholder{color:#a5afbd}
#sto-booking .booking-grid>label input:focus,#sto-booking .booking-grid>label select:focus,#sto-booking .booking-grid>label textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(37,99,235,.10);outline:none}
#sto-booking .booking-grid>label textarea{min-height:92px;resize:vertical}
#sto-booking .booking-full{grid-column:1/-1!important}
#sto-booking .schedule-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
#sto-booking .section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}
#sto-booking .section-heading h2{font-size:17px;line-height:1.2;margin:0;color:#172033}
#sto-booking .section-heading>span{font-size:11px;color:#94a3b8;text-align:right}
#sto-booking .calendar-card{border:1px solid #dce4ed;border-radius:12px;overflow:hidden;background:#fff}
#sto-booking .calendar-head{height:48px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid #edf1f5;text-align:center}
#sto-booking .calendar-head strong{font-size:17px;color:#172033}
#sto-booking .month-nav{width:38px;height:38px;border:0;background:transparent;color:#172033;font-size:29px;line-height:1;cursor:pointer;border-radius:9px}
#sto-booking .month-nav:hover{background:#f1f5f9;color:#2563eb}
#sto-booking .calendar-week,#sto-booking .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
#sto-booking .calendar-week{padding:10px 8px 7px;color:#64748b;font-size:11px;text-align:center}
#sto-booking .calendar-week .sun{color:#dc2626}
#sto-booking .calendar-grid{padding:0 8px 8px;gap:2px}
#sto-booking .calendar-day{min-height:43px;border:1px solid transparent;border-radius:9px;background:#fff;color:#172033;font:inherit;font-size:13px;cursor:pointer}
#sto-booking .calendar-day.available:hover{border-color:#a9c5f5;background:#eff6ff}
#sto-booking .calendar-day.available{background:#fff}
#sto-booking .calendar-day.today{font-weight:800}
#sto-booking .calendar-day.selected{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 4px 10px rgba(37,99,235,.18);font-weight:800}
#sto-booking .calendar-day.past{color:#a7afba;text-decoration:line-through;background:#f4f6f8;cursor:not-allowed}
#sto-booking .calendar-day.weekend{color:#dc2626;background:#fff2f3;cursor:not-allowed}
#sto-booking .calendar-day.weekend.past{background:#f6f7f8;color:#b8bec6}
#sto-booking .calendar-day.empty{cursor:default;background:transparent}
#sto-booking .calendar-legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:9px;color:#64748b;font-size:10px}
#sto-booking .calendar-legend span{display:flex;align-items:center;gap:5px}
#sto-booking .calendar-legend i{display:inline-block;width:22px;height:18px;border-radius:5px;border:1px solid #dbe3ed}
#sto-booking .legend-past{background:#f3f5f7;position:relative}
#sto-booking .legend-past:after{content:"×";display:block;text-align:center;line-height:16px;color:#9ca3af;font-size:17px}
#sto-booking .legend-available{background:#edf5ff;border-color:#c5dcff!important}
#sto-booking .legend-weekend{background:#fff0f1;border-color:#ffd5d9!important}
#sto-booking .time-column{min-width:0}
#sto-booking .time-column .section-heading{min-height:25px}
#sto-booking #selectedDateLabel{color:#172033;font-weight:650}
#sto-booking #slots{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px;min-height:198px;align-content:start}
#sto-booking #slots>.slot{display:block;min-height:48px;border:1px solid #d7e0ea;border-radius:9px;background:#fff;color:#172033;padding:10px 5px;font-size:14px;font-weight:750;cursor:pointer;text-align:center;transition:.15s}
#sto-booking #slots>.slot:hover{border-color:#8db2ee;background:#eff6ff;transform:translateY(-1px)}
#sto-booking #slots>.slot.selected{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 5px 12px rgba(37,99,235,.18)}
#sto-booking .no-slots{grid-column:1/-1;min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #d8e0e9;border-radius:11px;background:#f8fafc;color:#64748b;text-align:center}
#sto-booking .no-slots strong{color:#334155;font-size:13px;margin-bottom:4px}
#sto-booking .no-slots span{font-size:11px}
#sto-booking .muted{color:#94a3b8;font-size:12px}
#sto-booking .time-notice{min-height:20px;margin-top:8px;color:#64748b;font-size:11px}
#sto-booking .bottom-fields{margin-top:24px}
#sto-booking .captcha-box{margin-top:18px;padding:14px 15px;border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc}
#sto-booking .captcha-question{display:flex!important;align-items:center;gap:10px;margin-bottom:9px;font-size:13px}
#sto-booking .captcha-question b{font-size:12px;color:#334155}
#sto-booking .captcha-question span{font-weight:800;color:#172033}
#sto-booking .captcha-row{display:flex!important;align-items:center;gap:8px}
#sto-booking .captcha-row input{width:150px!important;max-width:150px!important;min-height:42px;padding:10px 12px;border:1px solid #cfd9e5;border-radius:9px}
#sto-booking .captcha-refresh{border:0;background:none;color:#64748b;font:inherit;font-size:12px;cursor:pointer;padding:8px}
#sto-booking .captcha-refresh:hover{color:#2563eb}
#sto-booking .booking-submit{display:flex!important;align-items:center;gap:13px;margin-top:19px}
#sto-booking .booking-submit .big{margin-top:0;min-height:48px;padding:0 25px;border-radius:10px;background:#111b2d;color:#fff;border:1px solid #111b2d;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 5px 13px rgba(15,23,42,.12)}
#sto-booking .booking-submit .big:hover{background:#1e293b}
#sto-booking .booking-submit .big:disabled{opacity:.6;cursor:not-allowed}
#sto-booking .booking-submit>span{color:#94a3b8;font-size:11px}
#sto-booking #bookingMessage{margin-top:15px}
#sto-booking .success{padding:17px 18px;border-radius:12px;background:#effaf3;border:1px solid #b9e3c5;color:#166534}
#sto-booking .success h2{margin:0 0 7px;font-size:18px}
#sto-booking .success p{margin:4px 0;font-size:13px}
#sto-booking .error{padding:12px 14px;border-radius:10px;background:#fff1f2;border:1px solid #fecdd3;color:#b42318;font-size:13px}
@media(max-width:900px){#sto-booking{padding:8px 12px 35px}#sto-booking .booking-topline{grid-template-columns:1fr}#sto-booking .work-hours-card{max-width:none}#sto-booking .schedule-area{grid-template-columns:1fr;gap:24px}}
@media(max-width:650px){#sto-booking .booking-hero h1{font-size:28px}#sto-booking .booking-main-card{padding:18px;border-radius:15px}#sto-booking .booking-grid{grid-template-columns:1fr!important}#sto-booking .booking-full{grid-column:auto!important}#sto-booking .booking-title-row{display:block}#sto-booking .required-note{display:block;margin-top:5px}#sto-booking #slots{grid-template-columns:repeat(3,1fr)!important}#sto-booking .calendar-day{min-height:40px}#sto-booking .booking-submit{display:block!important}#sto-booking .booking-submit .big{width:100%}#sto-booking .booking-submit>span{display:block;margin-top:9px;text-align:center}#sto-booking .captcha-row{flex-wrap:wrap}}

.max-link-button{display:inline-block;text-decoration:none}

/* v41.6: /zapis is a public client page even when an administrator is logged in. */
body.public-booking-shell { margin:0; background:#f4f7fb; }
body.public-booking-shell > main.container.auth-wrap { max-width:none; width:100%; margin:0; padding:0; }
