.appointment-public{max-width:980px;margin:0 auto;padding:clamp(42px,7vw,88px) 20px 90px}.appointment-form{border:1px solid #dce3ec;border-top:5px solid var(--blue);background:#fff;border-radius:20px;padding:clamp(24px,5vw,44px);display:block;box-shadow:0 22px 60px #0723441f}.appointment-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.appointment-form label{color:#26384d;gap:8px;min-width:0;font-size:14px;font-weight:800;display:grid}.appointment-form .wide{grid-column:1/-1}.appointment-form input,.appointment-form select,.appointment-form textarea{color:#15202d;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #bdc8d5;border-radius:9px;margin:0;padding:13px 14px;font-weight:500;line-height:1.35;transition:border-color .18s,box-shadow .18s,background .18s;display:block}.appointment-form input,.appointment-form select{min-height:50px}.appointment-form textarea{resize:vertical}.appointment-form input:hover,.appointment-form select:hover,.appointment-form textarea:hover{border-color:#8fa2b7}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:var(--blue2);background:#fbfdff;outline:none;box-shadow:0 0 0 4px #0758c924}.appointment-form fieldset{border:0;border-top:1px solid #e2e8f0;margin:30px 0 24px;padding:26px 0 0}.appointment-form legend{color:var(--blue);padding:0 14px 0 0;font-size:16px;font-weight:900}.appointment-slot{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-form>label:not(.consent):not(.honeypot){margin-top:22px}.appointment-form .consent{color:#34465a;background:#f3f7fc;border-radius:9px;align-items:start;gap:11px;margin-top:25px;padding:15px 16px;font-weight:600;line-height:1.45;grid-template-columns:auto 1fr!important;display:grid!important}.appointment-form .consent input{width:19px;height:19px;min-height:19px;accent-color:var(--blue);margin-top:2px}.appointment-submit{cursor:pointer;border:0;min-width:220px;margin-top:26px}.appointment-submit:disabled{cursor:wait;opacity:.65}.form-note{color:#66758a;margin:13px 0 0;font-size:13px}.form-error{color:#a62931;background:#fff0f1;border:1px solid #f0b5ba;border-radius:8px;margin:18px 0 0;padding:12px 14px;font-weight:800}.appointment-form .honeypot{position:absolute!important;left:-9999px!important}.appointment-success{text-align:center;background:#fff;border:1px solid #cfe5d8;border-radius:20px;padding:clamp(38px,6vw,58px) 28px;box-shadow:0 22px 60px #0723441f}.appointment-success>span{color:#197640;background:#e4f6eb;border-radius:50%;place-items:center;width:66px;height:66px;font-size:2rem;font-weight:900;display:inline-grid}.appointment-success h2{margin-bottom:10px;font-size:clamp(1.7rem,5vw,2.5rem)}.appointment-success p{color:#566579;max-width:620px;margin:0 auto 25px}.customer-confirmation-page{max-width:760px;margin:0 auto;padding:clamp(38px,7vw,80px) 18px 90px}.customer-confirmation-card{border:1px solid #dce3ec;border-top:5px solid var(--blue);background:#fff;border-radius:20px;padding:clamp(25px,5vw,42px);box-shadow:0 22px 60px #0723441f}.customer-confirmation-card dl{border-top:1px solid #e2e8f0;grid-template-columns:150px 1fr;margin:25px 0;display:grid}.customer-confirmation-card dt,.customer-confirmation-card dd{border-bottom:1px solid #e2e8f0;margin:0;padding:13px 0}.customer-confirmation-card dt{font-weight:800}.customer-confirmation-card dd{overflow-wrap:anywhere}.customer-confirm-button{margin-top:18px}.customer-confirmation-card.invalid{flex-wrap:wrap;gap:12px;display:flex}.customer-confirmation-card.invalid p{width:100%}.customer-confirmation-success{text-align:center;padding:25px 10px}.customer-confirmation-success>span{color:#197640;background:#e4f6eb;border-radius:50%;place-items:center;width:62px;height:62px;font-size:2rem;font-weight:900;display:inline-grid}@media (max-width:760px){.appointment-public{padding:30px 14px 70px}.appointment-form{border-radius:14px;padding:22px 17px 25px}.appointment-form .form-grid,.appointment-slot{grid-template-columns:1fr;gap:16px}.appointment-form .wide{grid-column:auto}.appointment-form fieldset{margin-top:25px}.appointment-submit{width:100%}.customer-confirmation-card dl{grid-template-columns:1fr}.customer-confirmation-card dt{border-bottom:0;padding-bottom:2px}.customer-confirmation-card dd{padding-top:2px}.customer-confirm-button{width:100%}}
