.callback-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;margin-block:70px;padding:48px;background:#eaf0e5;border:1px solid var(--line);border-radius:20px;position:relative;overflow:hidden}.callback-section h2{font-size:clamp(28px,3vw,46px);line-height:1.12;margin:20px 0}.callback-section p{color:var(--muted);line-height:1.7}.callback-intro>a{display:inline-block;font-size:24px;color:var(--green);margin-top:16px}.callback-intro .callback-orbit{width:70px;height:70px;border:1px solid #aec5b4;border-radius:50%;display:grid;place-items:center;margin-bottom:24px;color:var(--green)}.callback-orbit svg{width:30px;height:30px}.callback-form{min-width:0;text-align:left}.callback-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.callback-field{min-width:0}.callback-field label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.callback-field input{box-sizing:border-box;width:100%;min-width:0;background:#fff;border:1px solid #b8cabc;border-radius:8px;min-height:54px;padding:14px 15px;color:var(--ink);font:inherit;font-size:16px;outline-offset:3px}.callback-field input:focus-visible,.callback-consent input:focus-visible{outline:2px solid var(--green)}.callback-field input[aria-invalid=true]{border-color:#b43c36}.callback-field input::placeholder{color:#75817a;opacity:1}.callback-field small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:7px}.callback-error{display:block;color:#a82f29;font-size:12px;line-height:1.5;margin-top:5px}.callback-error:empty{display:none}.callback-consent{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:12px;line-height:1.7;color:#4a6159;cursor:pointer}.callback-consent input{appearance:none;flex:0 0 21px;width:21px;height:21px;border:1px solid #819e90;background:#fff;border-radius:5px;margin:2px 0 0;position:relative;cursor:pointer}.callback-consent input:checked{background:var(--green);border-color:var(--green)}.callback-consent input:checked:after{content:'';position:absolute;left:6px;top:3px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.callback-consent a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}.callback-form>.button{margin-top:22px;min-width:210px;justify-content:space-between;gap:28px}.callback-form>.button:disabled{opacity:.6;cursor:wait}.callback-status{font-size:14px;line-height:1.6;margin:16px 0 0;color:var(--green)}.callback-status:empty{display:none}.callback-status.is-error{color:#a82f29}.callback-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.booking-callback{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;border-top:1px solid var(--line);padding-top:28px;margin-top:10px}.booking-callback h3{font-size:27px;line-height:1.15;margin-top:12px;font-weight:500}.booking-callback p{font-size:13px;line-height:1.7;color:var(--muted)}.booking-dialog:has(.booking-callback) .booking-fallback{padding:20px 0}.booking-dialog:has(.booking-callback) .booking-symbol,.booking-dialog:has(.booking-callback) .booking-fallback>h3,.booking-dialog:has(.booking-callback) .booking-fallback>p{display:none}.booking-dialog:has(.booking-callback) .booking-clinics{margin:12px 0}.booking-dialog:has(.booking-callback) .booking-phone{font-size:26px}.booking-callback .callback-fields{grid-template-columns:1fr}.booking-callback .callback-consent{margin-top:16px}.booking-callback .callback-status{color:var(--green)}.booking-callback .callback-status.is-error{color:#a82f29}
.booking-dialog[open]:has(.booking-callback){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:32px}.booking-dialog:has(.booking-callback) .booking-heading{grid-column:1/-1;margin-bottom:24px}.booking-dialog:has(.booking-callback) .booking-fallback{padding:0;text-align:left}.booking-dialog:has(.booking-callback) .booking-clinics{flex-direction:column;gap:14px;margin:22px 0}.booking-dialog:has(.booking-callback) .booking-actions{flex-direction:column;align-items:stretch}.booking-dialog:has(.booking-callback) .booking-actions .button{justify-content:space-between}.booking-dialog:has(.booking-callback) .booking-callback{display:block;margin:0;padding:0 0 0 32px;border-top:0;border-left:1px solid var(--line)}.booking-callback h3{font-size:25px;margin:10px 0}.booking-callback h3 br{display:none}.booking-callback>div:first-child>p{margin:0 0 20px}
@media(max-width:900px){.callback-section{gap:28px;padding:32px}.callback-fields{grid-template-columns:1fr}.booking-dialog[open]:has(.booking-callback){column-gap:24px}.booking-dialog:has(.booking-callback) .booking-callback{padding-left:24px}}
@media(max-width:600px){.callback-section{grid-template-columns:1fr;padding:24px;margin-block:35px;gap:25px;border-radius:12px}.callback-intro .callback-orbit{display:none}.callback-section h2{margin:12px 0}.callback-intro>a{font-size:21px;margin-top:6px}.callback-form>.button{width:100%}.callback-consent{font-size:12px}.booking-callback{padding-top:22px}.booking-callback h3{font-size:24px}.booking-dialog:has(.booking-callback) .booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-dialog:has(.booking-callback) .booking-actions .button{padding:12px;font-size:11px;min-width:0;gap:5px}.booking-dialog:has(.booking-callback) .booking-actions>a:first-child{grid-column:1/-1}.booking-dialog:has(.booking-callback) .booking-phone{font-size:23px}}
@media(max-width:600px){.booking-dialog[open]:has(.booking-callback){display:block}.booking-dialog:has(.booking-callback) .booking-callback{padding:22px 0 0;margin-top:22px;border-left:0;border-top:1px solid var(--line)}.booking-dialog:has(.booking-callback) .booking-fallback{text-align:center}.booking-dialog:has(.booking-callback) .booking-clinics{gap:6px;margin:12px 0}.booking-dialog:has(.booking-callback) .booking-clinics p{line-height:1.5}.booking-dialog:has(.booking-callback) .booking-heading{margin-bottom:16px}.booking-callback>div:first-child>p{margin-bottom:16px}}
.callback-departments{min-width:0;padding:0;border:0;margin:24px 0 0}.callback-departments legend{padding:0;font-size:13px;font-weight:600;line-height:1.6;margin-bottom:12px}.callback-departments legend small{display:inline-block;margin-left:8px;font-size:11px;font-weight:400;color:var(--muted)}.callback-department-mobile{display:none}.callback-department-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:max-content;max-width:100%;gap:7px;max-height:218px;overflow:auto;overscroll-behavior:contain;padding:3px 9px 3px 3px;scrollbar-gutter:stable}.callback-department-tile{position:relative;min-width:0;cursor:pointer}.callback-department-tile>input{position:absolute;opacity:0;width:1px;height:1px;top:50%;left:50%}.callback-department-tile>span{display:flex;flex-direction:row;align-items:center;gap:9px;height:100%;min-height:44px;box-sizing:border-box;padding:8px 10px;border:1px solid #c5d4c8;background:#ffffffb8;border-radius:9px;font-size:11px;line-height:1.35;color:var(--ink);transition:background .15s,border-color .15s}.callback-department-tile img,.callback-department-tile .ui-icon{width:22px;height:22px;flex:0 0 22px;object-fit:contain;color:var(--green)}.callback-department-tile:hover>span{background:#f8fbf6;border-color:var(--green)}.callback-department-tile>input:checked+span{background:#dceadf;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.callback-department-tile>input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}.callback-department-tile>input:disabled+span{opacity:.6;cursor:default}.callback-department-mobile .custom-select{width:100%}.callback-department-mobile .custom-select-trigger{min-height:54px;border-radius:8px;border-color:#b8cabc;background:#fff;font-size:14px}.callback-department-mobile .custom-select-list{z-index:10}.callback-department-mobile .custom-select-trigger[aria-invalid=true]{border-color:#b43c36}
@media(max-width:760px){.callback-department-mobile{display:block}.callback-department-tiles{display:none}.callback-departments legend small{margin-left:0;display:block}}

.callback-section>div,.booking-callback{min-width:0}
@media(min-width:761px){
    .booking-dialog[open]:has(.booking-callback){width:min(1060px,calc(100% - 40px));padding:20px 30px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:32px;row-gap:0;align-items:start}
    .booking-dialog:has(.booking-callback) .booking-heading{grid-row:1;margin-bottom:16px;padding-bottom:12px}
    .booking-dialog:has(.booking-callback) .booking-heading h2{font-size:28px;margin-top:10px}
    .booking-dialog:has(.booking-callback) .booking-fallback{grid-column:1;grid-row:2/4;padding-right:28px;border-right:1px solid var(--line);align-self:stretch}
    .booking-dialog:has(.booking-callback) .booking-phone{font-size:25px;white-space:nowrap}
    .booking-dialog:has(.booking-callback) .booking-clinics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;font-size:11px}
    .booking-dialog:has(.booking-callback) .booking-clinics p{margin:0}
    .booking-dialog:has(.booking-callback) .booking-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
    .booking-dialog:has(.booking-callback) .booking-actions .button{padding:9px 10px;font-size:11px;gap:6px;min-height:44px}
    .booking-dialog:has(.booking-callback) .booking-actions .ui-icon{width:14px;height:14px}
    .booking-dialog:has(.booking-callback) .booking-callback,.booking-callback [data-callback-dialog-slot],.booking-callback .callback-form{display:contents}
    .booking-callback>div:first-child{grid-column:2;grid-row:2}
    .booking-callback>div:first-child>.eyebrow{display:none}
    .booking-callback h3{font-size:24px;margin:0 0 8px}
    .booking-callback>div:first-child>p{margin:0 0 16px}
    .booking-callback .callback-fields{grid-column:2;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .booking-callback .callback-field input{min-height:48px;padding:12px}
    .booking-callback .callback-departments{grid-column:1/-1;grid-row:4;margin-top:16px;padding-top:4px;border-top:1px solid var(--line)}
    .booking-callback .callback-department-tiles{width:100%;box-sizing:border-box;grid-template-columns:repeat(6,minmax(0,1fr));max-height:none;overflow:visible;padding:3px;scrollbar-gutter:auto;gap:6px}
    .booking-callback .callback-department-tile>span{padding:7px 8px;gap:7px}
    .booking-callback .callback-consent{grid-column:1/-1;grid-row:5;margin:16px 230px 0 0;font-size:11px;line-height:1.6}
    .booking-callback #callback-consent-error{grid-column:1/-1;grid-row:6}
    .booking-callback .callback-form>.button{grid-column:1/-1;grid-row:5;justify-self:end;align-self:center;min-width:200px;margin-top:16px;padding:16px 20px}
    .booking-callback .callback-status{grid-column:1/-1;grid-row:7}
}
@media(min-width:761px) and (max-width:1000px){
    .booking-callback .callback-department-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
    .booking-callback .callback-fields{grid-template-columns:1fr}
}
@media(min-width:1001px) and (max-width:1140px){.booking-callback .callback-department-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}

.callback-success[hidden]{display:none}
.callback-form.is-complete>:not(.callback-success){display:none!important}
.callback-success{box-sizing:border-box;text-align:center;background:linear-gradient(135deg,#edf3e9,#f7faf4);border:1px solid #c4d6c6;border-radius:16px;padding:30px 24px;color:var(--ink);outline:none}
.callback-success-art{width:120px;margin:0 auto 12px;color:var(--green)}
.callback-success-art svg{display:block;width:100%;height:auto}
.callback-success .eyebrow{font-size:10px;letter-spacing:.12em}
.callback-success h3{font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.15;margin:12px 0}
.callback-success p{max-width:450px;margin:0 auto;color:#526b60;font-size:15px;line-height:1.65}
.callback-success .button{margin:22px auto 0;gap:28px;justify-content:space-between}
.callback-success-close{display:none}
.booking-callback .callback-success-close{display:inline-flex}
.booking-dialog:has(.callback-form.is-complete) .booking-callback>div:first-child{display:none}
@media(min-width:761px){
    .booking-callback .callback-success{grid-column:2;grid-row:2/5;padding:28px 24px}
    .booking-dialog:has(.callback-form.is-complete) .booking-fallback{grid-row:2/5;align-self:center}
}
@media(max-width:760px){.callback-success{padding:25px 18px}.callback-success p{font-size:14px}.callback-success-art{width:100px}}
