.booking{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;display:grid}.booking fieldset{border:1px solid var(--energy-line,#d8e3d9);background:#fff;border-radius:24px;min-width:0;padding:26px}.booking legend{float:left;width:100%;font-family:var(--font-display), var(--font-body), sans-serif;color:var(--energy-ink,#15372c);align-items:center;gap:9px;margin-bottom:18px;font-size:19px;font-weight:600;display:flex}.booking legend small,.booking label small{color:#6a7a70;font-size:.85em;font-weight:400}.booking legend+*{clear:both}.booking-calendar{grid-row:span 2;background:var(--energy-mint,#edf5ee)!important}.booking-month{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.booking-month strong{font-family:var(--font-display), sans-serif;color:var(--energy-ink,#15372c);font-size:18px;font-weight:600}.booking-month button{width:40px;height:40px;color:var(--energy-green,#145b3e);background:#fff;border:1px solid #c7d8ca;border-radius:50%;place-items:center;transition:background .2s,border-color .2s;display:grid}.booking-month button:hover:not(:disabled){background:var(--energy-lime,#d5f36b);border-color:var(--energy-lime,#d5f36b)}.booking-month button:disabled{opacity:.35;cursor:not-allowed}.booking-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.booking-weekday{text-align:center;font-family:var(--font-mono), monospace;letter-spacing:.08em;color:#5b6e62;text-transform:uppercase;padding:6px 0 8px;font-size:11px;font-weight:600}.booking-day{aspect-ratio:1;min-height:40px;color:var(--energy-ink,#15372c);background:#fff;border:1px solid #0000;border-radius:14px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,transform .15s}.booking-day:hover:not(:disabled){border-color:var(--energy-green,#145b3e);transform:translateY(-1px)}.booking-day:disabled{color:#a5b3aa;cursor:not-allowed;background:0 0;font-weight:400}.booking-day[data-today]{box-shadow:inset 0 0 0 1px #9cb8a5}.booking-day[aria-pressed=true]{background:var(--energy-green,#145b3e);color:#fff;border-color:var(--energy-green,#145b3e)}.booking-hint{color:#5b6e62!important;margin-top:16px!important;font-size:13px!important}.booking-picked{font-weight:600;color:var(--energy-green,#145b3e)!important;margin-bottom:12px!important;font-size:14px!important}.booking-slots{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-bottom:20px;display:grid}.booking-slots button{color:var(--energy-ink,#15372c);background:#fff;border:1px solid #c7d8ca;border-radius:999px;padding:11px 8px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s}.booking-slots button:hover:not(:disabled){border-color:var(--energy-green,#145b3e)}.booking-slots button[aria-pressed=true]{background:var(--energy-lime,#d5f36b);border-color:#b7d64a}.booking-times:disabled .booking-slots button{opacity:.45;cursor:not-allowed}.booking label{color:var(--energy-ink,#15372c);margin:0 0 7px;font-size:14px;font-weight:600;display:block}.booking input,.booking select,.booking textarea{width:100%;color:var(--energy-ink,#15372c);background:#fff;border:1px solid #c7d8ca;border-radius:14px;margin-bottom:16px;padding:12px 14px;font-size:15px}.booking textarea{resize:vertical;min-height:110px}.booking :is(input,select,textarea):focus-visible{outline:2px solid var(--energy-green,#145b3e);outline-offset:1px;border-color:var(--energy-green,#145b3e)}.booking-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.booking-details{grid-column:2}.booking-summary{background:var(--energy-mint,#edf5ee);color:#3d5246;border-radius:14px;margin:4px 0 16px;padding:13px 16px;font-size:14px}.booking-submit{justify-content:center;width:100%}.booking-submit:disabled{opacity:.65;cursor:progress}.booking-error p{margin-top:12px;color:#9b2c1f!important;font-size:14px!important}.booking-error a{font-weight:600;text-decoration:underline}.booking-note{margin-top:12px;color:#5b6e62!important;font-size:13px!important}.booking-done{background:var(--energy-mint,#edf5ee);border:1px solid var(--energy-line,#d8e3d9);border-radius:28px;max-width:640px;padding:40px}.booking-done-icon{background:var(--energy-lime,#d5f36b);width:54px;height:54px;color:var(--energy-ink,#15372c);border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.booking-done h3{color:var(--energy-ink,#15372c);margin-bottom:10px;font-size:28px}.booking-skeleton{background:linear-gradient(100deg,#f3f7ed 30%,#e7efdd 50%,#f3f7ed 70%) 0 0/200% 100%;border-radius:24px;height:520px;animation:1.5s infinite booking-shimmer}@keyframes booking-shimmer{to{background-position:-200% 0}}@media (max-width:1000px){.booking{grid-template-columns:1fr}.booking-calendar{grid-row:auto}.booking-details{grid-column:auto}}@media (max-width:560px){.booking fieldset{border-radius:20px;padding:20px 16px}.booking-row{grid-template-columns:1fr;gap:0}.booking-grid{gap:4px}.booking-day{border-radius:10px;min-height:36px;font-size:14px}}@media (prefers-reduced-motion:reduce){.booking-day,.booking-skeleton{transition:none;animation:none;transform:none!important}}
