#aldo-booking-root { color-scheme: light; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: #18362f; background: #f5f3ee; }
#aldo-booking-root * { box-sizing: border-box; }
#aldo-booking-root { margin: 0; }
#aldo-booking-root { max-width: 780px; margin: 60px auto; padding: 0 22px; }
#aldo-booking-root h1 { font-size: clamp(2.2rem,6vw,3.3rem); line-height: 1.08; letter-spacing: -.04em; margin: 12px 0 20px; }
#aldo-booking-root h2 { margin-top: 0; font-size: 1.35rem; }
#aldo-booking-root h3 { margin-top: 0; }
#aldo-booking-root p { line-height: 1.65; }
#aldo-booking-root .eyebrow { color: #597165; text-transform: uppercase; font-size: .8rem; font-weight: 750; letter-spacing: .13em; }
#aldo-booking-root .intro { max-width: 64ch; color: #526358; }
#aldo-booking-root .card { background: white; border: 1px solid #dce3da; padding: 28px; border-radius: 18px; margin-top: 24px; }
#aldo-booking-root .notice { padding: 16px 18px; background: #e9f0e7; border-radius: 10px; line-height: 1.6; }
#aldo-booking-root .notice.error { background: #fff0e9; color: #873e2c; }
#aldo-booking-root .muted, #aldo-booking-root small, #aldo-booking-root .footer-note { color: #596b60; font-size: .9rem; }
#aldo-booking-root small { display: block; margin-top: 7px; }
#aldo-booking-root .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
#aldo-booking-root label { display: block; margin: 20px 0 8px; font-size: .94rem; font-weight: 650; }
#aldo-booking-root input, #aldo-booking-root select { width: 100%; padding: 13px; border: 1px solid #aebdaf; border-radius: 8px; background: white; font: inherit; color: inherit; }
#aldo-booking-root fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
#aldo-booking-root fieldset:disabled { opacity: .6; }
#aldo-booking-root .times { margin-top: 24px; }
#aldo-booking-root legend { font-weight: 650; }
#aldo-booking-root button { padding: 13px 18px; min-height: 46px; background: #205844; color: #fff; border: 1px solid #205844; border-radius: 9px; font: inherit; font-weight: 650; cursor: pointer; }
#aldo-booking-root button:disabled { opacity: .5; cursor: default; }
#aldo-booking-root .secondary { color: #205844; border-color: #b4c6b8; background: #fff; }
#aldo-booking-root .actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
#aldo-booking-root .slots { display: grid; grid-template-columns: repeat(auto-fill,minmax(74px,1fr)); gap: 8px; max-height: 275px; overflow-y: auto; padding: 3px; }
#aldo-booking-root .slots button { padding: 9px; min-height: 42px; }
#aldo-booking-root .slots button[aria-pressed="true"] { background: #205844; color: #fff; box-shadow: 0 0 0 2px #89af95; }
#aldo-booking-root .service-summary { background: #f2f5ef; padding: 15px; border-radius: 9px; }
#aldo-booking-root .consent { display: flex; gap: 11px; align-items: flex-start; font-weight: 450; line-height: 1.6; margin: 24px 0; }
#aldo-booking-root .consent input { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 3px; }
#aldo-booking-root .receipt { border-left: 3px solid #76a78a; padding: 6px 0 6px 18px; }
#aldo-booking-root .package-item { border-top: 1px solid #e1e7dd; margin-top: 18px; padding-top: 18px; }
#aldo-booking-root .package-item h3 { font-size: 1rem; }
#aldo-booking-root summary { font-weight: 700; cursor: pointer; }
#aldo-booking-root .footer-note { margin: 25px 0 50px; }
#aldo-booking-root [hidden] { display: none !important; }
#aldo-booking-root .honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#aldo-booking-root .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#aldo-booking-root :focus-visible { outline: 3px solid #7ba08c; outline-offset: 3px; }
@media (max-width: 560px) {
#aldo-booking-root { margin-top: 30px; }
#aldo-booking-root .card { padding: 22px 18px; }
#aldo-booking-root .form-grid { grid-template-columns: 1fr; gap: 0; }
#aldo-booking-root .actions button { width: 100%; } }
