.appointment-hero{background:#dde5dc;padding-top:clamp(3rem,6vw,6rem);padding-bottom:3rem}.appointment-hero h1{letter-spacing:-.075em;margin:1.4rem 0;font-size:clamp(3.3rem,6.7vw,7rem);font-weight:600;line-height:1.05}.appointment-hero h1 span{color:#a8772d}.appointment-hero p{color:#455e56;max-width:55ch;font-size:1.1rem;line-height:1.7}.appointment-section{padding-top:2.5rem;padding-bottom:6rem}.booking-status{color:#6c4c20;min-height:1.5rem;margin:0 0 1rem;font-size:.9rem;line-height:1.6}.appointment-workspace{background:#fbf6ec;border:1px solid #879e94;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);display:grid}.date-panel{border-right:1px solid #879e94;padding:clamp(1.4rem,3vw,3rem)}.booking-panel-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-panel-head>span,.slot-panel>span,.details-panel>span{letter-spacing:.13em;color:#365d58;font-size:.75rem;font-weight:700}.booking-panel-head small{color:#596b61;font-size:.7rem}.calendar-month{justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0 1.4rem;display:flex}.calendar-month h2{letter-spacing:-.04em;margin:0;font-size:1.4rem;font-weight:600}.calendar-month button{color:#214845;cursor:pointer;background:0 0;border:1px solid #b1beb2;width:40px;height:40px;font-size:1.6rem}.calendar-month button:disabled{opacity:.25;cursor:default}.date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.weekday{text-align:center;color:#627267;margin-bottom:.65rem;font-size:.72rem;font-weight:600}.date-grid button{color:#21433f;aspect-ratio:1;cursor:pointer;background:#e6eee3;border:1px solid #b1c3b5;min-height:40px;font-size:.88rem;font-weight:600}.date-grid button:disabled{color:#a8a99f;cursor:default;background:0 0;border-color:#0000}.date-grid button[aria-pressed=true]{color:#fff5df;background:#214d48;border-color:#214d48}.calendar-hint{color:#667364;margin:1.3rem 0 2rem;font-size:.8rem;line-height:1.6}.slot-panel{border-top:1px solid #bac6b7;padding-top:1.6rem}.slot-panel h3{letter-spacing:-.03em;margin:.7rem 0 1rem;font-size:1.1rem;font-weight:600}.time-slots{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.time-slots button{color:#2c5046;cursor:pointer;background:#f9f7ee;border:1px solid #8ba393;min-height:43px;padding:.6rem;font-size:.85rem;font-weight:600}.time-slots button[aria-pressed=true]{color:#201e17;background:#cc9f4c;border-color:#a77f3a}.details-panel{background:#efe5d1;padding:clamp(1.4rem,3vw,3rem)}.details-panel h2{letter-spacing:-.065em;margin:1rem 0;font-size:clamp(2.2rem,3.3vw,3.5rem);font-weight:600;line-height:1.07}.details-panel>p{color:#5c5d4e;margin-bottom:1.7rem;font-size:.92rem;line-height:1.6}.details-panel form{gap:1.15rem;display:grid}.details-panel label{gap:.45rem;font-size:.87rem;font-weight:600;display:grid}.details-panel label small{font-weight:400}.details-panel input,.details-panel select,.details-panel textarea{color:#1d2420;width:100%;min-height:48px;font:inherit;background:#fffaf0;border:1px solid #b7a582;border-radius:0;padding:.75rem;font-size:.95rem;font-weight:400}.details-panel textarea{resize:vertical}.details-panel input:disabled,.details-panel select:disabled,.details-panel textarea:disabled{opacity:.55}.details-panel .button:disabled{opacity:.45;cursor:default;transform:none}.booking-trap{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.booking-form-note{color:#686251;font-size:.77rem;line-height:1.6}.booking-empty{background:#dfe7db;border:1px solid #a1b6a6;max-width:760px;padding:clamp(2rem,5vw,4rem)}.booking-empty h2,.booking-success h2{letter-spacing:-.065em;margin:1rem 0;font-size:clamp(2.7rem,5vw,5rem);font-weight:600;line-height:1.06}.booking-empty p,.booking-success p{color:#506252;font-size:1.02rem;line-height:1.7}.booking-empty .text-link{margin-top:1rem;display:block}.booking-success{background:#e3ebdf;border:1px solid #91ac99;max-width:820px;padding:clamp(2rem,5vw,4rem)}.booking-success strong{color:#264a41}.booking-success .confirmation-reference{overflow-wrap:anywhere;margin:1.5rem 0;font-size:.74rem}.booking-success .button{margin-top:1rem}.appointment-section :focus-visible{outline-offset:3px;outline:3px solid #946629}@media (max-width:850px){.appointment-workspace{grid-template-columns:1fr}.date-panel{border-bottom:1px solid #879e94;border-right:0}.details-panel{padding:2rem}.date-grid button{aspect-ratio:auto;min-height:50px}}@media (max-width:600px){.appointment-hero h1{font-size:clamp(3.1rem,11vw,4.4rem)}.appointment-hero p{font-size:1rem}.appointment-section{padding-top:1.7rem;padding-bottom:4rem}.date-panel,.details-panel{padding:1.2rem}.booking-panel-head{flex-direction:column;align-items:flex-start;gap:.4rem}.date-grid{gap:.25rem}.date-grid button{min-height:39px;font-size:.8rem}.calendar-month h2{font-size:1.2rem}.time-slots{grid-template-columns:repeat(3,1fr)}.booking-empty,.booking-success{padding:1.5rem}.details-panel h2{font-size:2.4rem}}
