/* Стили формы платной записи. Изолированы от существующих стилей сайта */
.pay-booking-overlay{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(18,42,60,.56);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.pay-booking-overlay.is-open{display:flex;animation:payFadeIn .2s ease}
.pay-booking-modal{position:relative;width:min(900px,100%);max-height:calc(100vh - 44px);overflow-y:auto;background:#fff;border:1px solid #e3eaf4;border-radius:22px;box-shadow:0 24px 80px rgba(0,45,75,.25);padding:30px 34px;color:#006aa5;font-family:'Noto Sans',sans-serif}
.pay-booking-modal *{box-sizing:border-box}
.pay-booking-close{position:absolute;right:19px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:#f0f6fa;color:#006aa5;font-size:28px;line-height:1;cursor:pointer;transition:all .2s}
.pay-booking-close:hover{background:#e3f8f4;color:#159d8d}
.pay-booking-heading{padding-right:45px;margin-bottom:22px}
.pay-booking-eyebrow{display:block;font-size:11px;letter-spacing:1.3px;font-weight:700;color:#24baa6;margin-bottom:7px}
.pay-booking-heading h2{margin:0;padding:0;color:#006aa5;font-family:'Geologica',sans-serif;font-size:clamp(21px,3vw,28px);font-weight:600;line-height:1.25}
.pay-booking-heading p{margin:8px 0 0;padding:0;color:#62666b;font-size:13px;text-align:left}
.pay-booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pay-booking-field{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;border:0;min-width:0}
.pay-booking-field>span{font-size:12px;font-weight:600;color:#415e70}
.pay-booking-field i,.pay-booking-consent i,.pay-booking-footer i{font-style:normal;color:#e05d68}
.pay-booking-field input{width:100%;min-width:0;padding:12px 14px;border:1px solid #dce7ef;border-radius:11px;background:#fbfdff;color:#164e70;font:14px 'Noto Sans',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.pay-booking-field input:focus{border-color:#24baa6;box-shadow:0 0 0 3px rgba(36,186,166,.13)}
.pay-booking-field input::placeholder{color:#9aaab5}
.pay-booking-service-card{display:flex;align-items:center;gap:13px;margin-top:18px;padding:15px 17px;border:1px solid #dcefeb;border-radius:15px;background:linear-gradient(110deg,#f1fbfa,#f6faff)}
.pay-booking-service-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#d9f5ef;color:#159d8d;font-size:25px;font-weight:400}
.pay-booking-service-info{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.pay-booking-service-info strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.pay-booking-service-info>span:last-child,.pay-booking-location-row div>span:last-child{font-size:12px;color:#718491}
.pay-booking-muted{font-size:11px;color:#718491}
.pay-booking-price{white-space:nowrap;font-size:17px;color:#008b80}
.pay-booking-location-row{display:flex;align-items:center;gap:10px;padding:14px 2px 18px;border-bottom:1px solid #edf2f6}
.pay-booking-location-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#24baa6;box-shadow:0 0 0 5px #e2f8f4}
.pay-booking-location-row div{display:flex;flex-direction:column;gap:3px}
.pay-booking-location-row strong{font-size:13px}
.pay-booking-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:19px 0 11px}
.pay-booking-section-title h3{margin:0;padding:0;font-family:'Geologica',sans-serif;font-size:16px;font-weight:600;color:#006aa5}
.pay-booking-section-title>span{font-size:11px;text-align:right}
.pay-booking-calendars{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pay-booking-month{padding:13px;border:1px solid #e3eaf4;border-radius:15px;min-width:0}
.pay-booking-month-title{text-align:center;font-size:13px;font-weight:700;color:#006aa5;margin:0 0 11px}
.pay-booking-weekdays,.pay-booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.pay-booking-weekdays span{text-align:center;font-size:10px;color:#8798a4;padding-bottom:4px}
.pay-booking-day{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:9px;background:#f4f7fa;color:#a6b2bb;font:12px 'Noto Sans',sans-serif}
button.pay-booking-day{cursor:pointer;background:#e8f8f5;border-color:#c8eee7;color:#007f76;font-weight:600;transition:all .15s}
button.pay-booking-day:hover{background:#d5f3ed;border-color:#24baa6;transform:translateY(-1px)}
button.pay-booking-day:hover{background:#d5f3ed;border-color:#24baa6;transform:translateY(-1px)}
button.pay-booking-day:disabled{cursor:default;background:#f4f7fa;border-color:transparent;color:#a6b2bb;font-weight:400;transform:none}
button.pay-booking-day.is-selected{background:#006aa5;border-color:#006aa5;color:white;box-shadow:0 3px 9px #006aa533}
button.pay-booking-day.is-selected{background:#006aa5;border-color:#006aa5;color:white;box-shadow:0 3px 9px #006aa533}
.pay-booking-day.is-today{box-shadow:inset 0 0 0 1px #24baa6}
.pay-booking-day.is-empty{background:transparent;border-color:transparent}
.pay-booking-loading,.pay-booking-empty{grid-column:1/-1;padding:18px 12px;border-radius:12px;background:#f5f9fc;color:#718491;font-size:12px;text-align:center}
.pay-booking-slots-wrap[hidden]{display:none}
.pay-booking-slots{display:flex;flex-wrap:wrap;gap:8px}
.pay-booking-slot{padding:9px 15px;border:1px solid #cfe8e5;border-radius:10px;background:#f0fbf9;color:#007f76;font:13px 'Noto Sans',sans-serif;cursor:pointer;transition:all .15s}
.pay-booking-slot:hover{border-color:#24baa6}
.pay-booking-slot.is-selected{background:#006aa5;border-color:#006aa5;color:#fff}
.pay-booking-hint{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#f4f8fb;color:#718491;font-size:11px;text-align:left}
.pay-booking-consent{display:flex;align-items:flex-start;gap:10px;margin:17px 0 13px;padding:12px;border:1px solid #e3eaf4;border-radius:12px;background:#fbfdff;cursor:pointer}
.pay-booking-consent input{flex:0 0 16px;width:16px;height:16px;margin-top:2px;accent-color:#006aa5}
.pay-booking-consent span{font-size:11px;line-height:1.55;color:#536b7a}
.pay-booking-consent a{color:#008f83;text-decoration:underline}
.pay-booking-captcha-row{display:flex;align-items:end;gap:10px;max-width:440px}
.pay-booking-captcha-input{flex:1}
.pay-booking-captcha{display:grid;place-items:center;min-width:120px;height:43px;padding:4px 10px;border:1px dashed #cbdde8;border-radius:11px;background:repeating-linear-gradient(135deg,#f4f9fc,#f4f9fc 6px,#edf5f8 6px,#edf5f8 12px);color:#006aa5;font-weight:700;letter-spacing:3px}
.pay-booking-captcha img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}
.pay-booking-captcha-refresh{width:43px;height:43px;border:1px solid #dce7ef;border-radius:11px;background:#fff;color:#006aa5;font-size:23px;cursor:pointer}
.pay-booking-captcha-refresh:hover{background:#eaf8f5}
.pay-booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.pay-booking-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}
.pay-booking-footer p{margin:0;padding:0;font-size:10px;color:#8798a4;text-align:left}
.pay-booking-submit{min-width:190px;padding:13px 22px;border:0;border-radius:12px;background:linear-gradient(110deg,#006aa5,#24baa6);color:white;font:600 14px 'Noto Sans',sans-serif;cursor:pointer;box-shadow:0 5px 14px #006aa526;transition:all .2s}
.pay-booking-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #006aa533}
.pay-booking-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.pay-booking-message{display:none;margin-top:13px;padding:12px;border-radius:10px;font-size:12px}
.pay-booking-message.is-visible{display:block}
.pay-booking-message.is-error{background:#fff1f1;color:#a93442}
.pay-booking-message.is-success{background:#eaf9f3;color:#087b60}
body.pay-booking-open{overflow:hidden}
@keyframes payFadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:680px){.pay-booking-overlay{padding:0;align-items:flex-end}.pay-booking-modal{width:100%;max-height:94vh;border-radius:20px 20px 0 0;padding:24px 17px calc(18px + env(safe-area-inset-bottom));}.pay-booking-heading{margin-bottom:17px}.pay-booking-fields{grid-template-columns:1fr;gap:11px}.pay-booking-calendars{grid-template-columns:1fr;gap:10px}.pay-booking-month{padding:12px}.pay-booking-day{font-size:13px;max-height:42px}.pay-booking-section-title{align-items:flex-start;flex-direction:column;gap:4px}.pay-booking-section-title>span{text-align:left}.pay-booking-captcha-row{max-width:none}.pay-booking-captcha{min-width:95px}.pay-booking-footer{align-items:stretch;flex-direction:column}.pay-booking-submit{width:100%;min-width:0}.pay-booking-price{font-size:15px}.pay-booking-service-card{align-items:flex-start;padding:12px}.pay-booking-service-icon{width:34px;height:34px;flex-basis:34px}.pay-booking-location-row{padding-bottom:13px}}
@media(prefers-reduced-motion:reduce){.pay-booking-overlay,.pay-booking-modal *{animation:none!important;transition:none!important}}
