*{box-sizing:border-box}body{margin:0;background:#f2f7f4;color:#193e34;font:16px/1.5 system-ui,sans-serif}main{max-width:580px;margin:40px auto;padding:28px;background:white;border:1px solid #d3e5dc;border-radius:14px}header{padding-bottom:20px;border-bottom:1px solid #d3e5dc}header p{margin:4px 0;color:#527466}h1{font-size:28px;margin:8px 0 14px;line-height:1.2;overflow-wrap:anywhere}h2{font-size:22px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#007e70!important}label{display:block;font-weight:600;margin:16px 0}input,select,button{width:100%;font:inherit;border:1px solid #adccbe;border-radius:7px;padding:11px;margin-top:6px;background:white;color:inherit}button{background:#007e70;color:white;border:0;font-weight:600;cursor:pointer;margin:12px 0}button:disabled{opacity:.6}a{color:#007e70}input:focus,select:focus,button:focus-visible{outline:2px solid #007e70;outline-offset:2px}.note,footer{font-size:13px;color:#527466}footer{margin-top:24px;text-align:center}.error{padding:12px;background:#fff0ec;color:#9b2920;border-radius:7px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:620px){main{margin:12px;padding:20px}h1{font-size:25px}}

/* Embedded form fits the host website without an outer card. */
body.booking-embed{background:transparent}body.booking-embed main{max-width:none;margin:0;padding:16px;border:0;border-radius:0;background:transparent}
body.booking-embed button{background:var(--booking-accent)}body.booking-embed a,body.booking-embed .eyebrow{color:var(--booking-accent)!important}
body.booking-embed input:focus,body.booking-embed select:focus,body.booking-embed button:focus-visible{outline-color:var(--booking-accent)}
textarea{width:100%;max-width:100%;font:inherit;border:1px solid #adccbe;border-radius:7px;padding:11px}select{max-width:100%}

.booking-times{border:0;padding:0;margin:20px 0}.booking-times legend{font-weight:600;margin-bottom:10px}.booking-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}.booking-time{position:relative;margin:0;cursor:pointer}.booking-time input{position:absolute;opacity:0;width:1px;height:1px;padding:0}.booking-time span{display:block;text-align:center;padding:11px 6px;border:1px solid var(--booking-accent,#007e70);border-radius:7px;background:#fff;color:#193e34}.booking-time input:checked+span{background:var(--booking-accent,#007e70);color:#fff}.booking-time input:focus-visible+span{outline:3px solid var(--booking-accent,#007e70);outline-offset:3px}.booking-time:hover span{box-shadow:0 0 0 1px var(--booking-accent,#007e70)}
