:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#123c50;background:#eef5f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button{cursor:pointer}a{color:#087f75}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2787ba;outline-offset:4px}[hidden]{display:none!important}#ecd-reservation{max-width:1160px;padding:0 28px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid #d3e3df;gap:16px}.ecd-brand{font-size:19px;font-weight:850;text-decoration:none;color:#123c50;letter-spacing:.015em}.ecd-brand>span{color:#087f75}.ecd-brand small{display:block;font-size:11px;font-weight:500;margin-top:4px;letter-spacing:.07em}.ecd-contact{font-size:14px;font-weight:650;text-decoration:none}.ecd-page-title{padding:38px 0 26px}.ecd-page-title>span,.ecd-kicker{font-size:11px;font-weight:700;color:#587b73;letter-spacing:.13em}h1{font-size:38px;line-height:1.15;margin:12px 0 15px;letter-spacing:-.035em}p{line-height:1.65}h2{font-size:22px;line-height:1.35}h3{font-size:14px}.ecd-page-title p{color:#56727b;font-size:15px}.ecd-booking-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}#ecd-booking-recap{background:#123c50;color:#fff;border-radius:16px;padding:26px;position:sticky;top:24px}#ecd-booking-recap h2{margin-top:13px}#ecd-booking-recap p{font-size:13px;overflow-wrap:anywhere}#ecd-booking-recap ul{font-size:13px;padding-left:18px;line-height:1.8}#ecd-booking-recap .ecd-kicker{color:#b4e6d4}.ecd-recap-rule{height:1px;background:#ffffff28;margin:24px 0}.ecd-price{padding:18px;background:#ffffff0d;border:1px solid #ffffff20;border-radius:10px;margin:24px 0}.ecd-price span,.ecd-price small{display:block;font-size:11px;color:#c1d7db;line-height:1.5}.ecd-price strong{display:block;font-size:25px;margin:8px 0}.ecd-duration{display:block;font-size:12px;color:#b8d3d6;margin-top:22px}#ecd-booking-choice{background:white;border:1px solid #d7e6e1;border-radius:16px;padding:28px}.ecd-steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;font-size:11px;font-weight:700;color:#57727a}.ecd-steps span{padding:8px 12px;background:#f0f5f4;border-radius:20px}.ecd-steps .active{background:#def2e9;color:#087f75}.ecd-subtitle,.ecd-small{color:#617b82;font-size:12px}.ecd-dates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:25px}.ecd-dates button{padding:11px 5px;border:1px solid #d7e6e1;border-radius:10px;background:#fff;color:#123c50;min-width:0}.ecd-dates button span{display:block;font-size:11px;text-transform:capitalize}.ecd-dates button strong{display:block;font-size:23px;margin:5px}.ecd-dates button small{display:block;font-size:9px}.ecd-dates button:disabled{background:#f5f7f7;color:#899ba1;border-color:#e9eeee;cursor:default}.ecd-dates button.selected,.ecd-times button.selected{background:#087f75;color:#fff;border-color:#087f75}.ecd-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 26px}.ecd-times button{padding:14px 10px;border:1px solid #cedfd9;border-radius:9px;background:#fff;color:#123c50;font-weight:650}#ecd-booking-confirm{border-top:1px solid #dce8e3;padding-top:18px}.ecd-selected-slot{display:flex;flex-direction:column;gap:6px;padding:18px;background:#eef7f3;border-radius:10px;text-transform:capitalize}.ecd-selected-slot span{font-size:22px;color:#087f75;font-weight:700}.ecd-confirm-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;margin:20px 0}.ecd-confirm-check input{margin-top:5px;accent-color:#087f75}.ecd-primary{width:100%;padding:16px;border:0;border-radius:10px;background:#087f75;color:#fff;font-weight:750}.ecd-primary:disabled{opacity:.65;cursor:wait}#ecd-booking-status{font-size:14px;margin:0 0 20px;padding:16px;background:#e0eee8;border-radius:10px}#ecd-booking-status.ecd-error{background:#fff4e1;color:#725019}.ecd-success{text-align:center;padding:20px 8px}.ecd-success>span{display:inline-grid;place-items:center;background:#def2e9;color:#087f75;width:64px;height:64px;border-radius:50%;font-size:35px}.ecd-success p{font-size:15px}.ecd-success a{font-size:13px}footer{text-align:center;color:#617b82;font-size:11px;line-height:1.9;padding:30px 0 40px}@media(max-width:760px){#ecd-reservation{padding:0 16px}.ecd-booking-grid{grid-template-columns:1fr;gap:18px}#ecd-booking-recap{position:static;padding:22px}#ecd-booking-choice{padding:22px 16px}.ecd-page-title{padding-top:28px}h1{font-size:30px}header{padding:20px 0}.ecd-brand{font-size:14px}.ecd-contact{font-size:12px}.ecd-dates{gap:6px}.ecd-dates button small{font-size:8px}.ecd-times{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:380px){header{flex-wrap:wrap}.ecd-dates{grid-template-columns:repeat(3,minmax(0,1fr))}.ecd-dates button small{font-size:10px}}

#ecd-booking-current{border:1px solid #c8e2d8;border-radius:10px;background:#eff8f3;padding:18px;margin:0 0 24px}
#ecd-booking-current .ecd-kicker{display:block;font-size:10px;margin-bottom:8px}
#ecd-booking-current strong{display:block;font-size:15px;line-height:1.6;text-transform:capitalize}
#ecd-booking-current p{font-size:12px;margin-bottom:0;color:#476d65}

/* Compact month calendar: overrides the previous long list of date cards. */
.ecd-month-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:20px 0}
.ecd-month-nav h3{text-align:center;font-size:18px;margin:0;text-transform:capitalize;white-space:nowrap}
.ecd-month-nav button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#087f75;font-size:11px;padding:8px 0;justify-content:flex-start}
.ecd-month-nav button:last-child{justify-content:flex-end}
.ecd-month-nav button>span[aria-hidden]{font-size:26px;line-height:1}
.ecd-month-nav button:disabled{color:#a9b8bb;cursor:default}
.ecd-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center;font-size:11px;color:#65808a;font-weight:650;padding:8px 0 12px}
.ecd-dates{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}
.ecd-dates button{height:54px;padding:5px;border-radius:10px;position:relative;display:flex;justify-content:center;align-items:center;background:#f2faf6;border-color:#d2e7dd}
.ecd-dates button strong{font-size:19px;margin:0;font-weight:650}
.ecd-dates button:disabled{background:#f5f7f7;color:#a1b0b5;border-color:#edf1f0}
.ecd-dates button.selected{background:#087f75;color:#fff;border-color:#087f75}
.ecd-dates button:not(:disabled):not(.selected):hover{background:#def2e9;border-color:#087f75}
.ecd-date-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:#087f75;bottom:6px;left:calc(50% - 2px)}
.ecd-dates button.selected .ecd-date-dot{background:#fff}
.ecd-calendar-empty{min-height:54px}
.ecd-calendar-legend{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#657c84;margin:14px 0 24px}
.ecd-calendar-legend>span{width:8px;height:8px;background:#087f75;border-radius:50%}
.ecd-calendar-legend>span.unavailable{background:#bbc8cc;margin-left:12px}
#ecd-booking-times{scroll-margin-top:20px;border-top:1px solid #dce8e3}
#ecd-booking-times:empty{border:0}
@media(max-width:520px){.ecd-month-nav{gap:8px;grid-template-columns:32px minmax(0,1fr) 32px}.ecd-month-nav .ecd-month-text{display:none}.ecd-month-nav h3{font-size:17px}.ecd-month-nav button{justify-content:center!important;min-height:40px}.ecd-calendar-weekdays,.ecd-dates{gap:5px}.ecd-dates button,.ecd-calendar-empty{height:43px;min-height:43px}.ecd-dates button strong{font-size:16px}.ecd-dates button{border-radius:8px}}

/* Compact company logo with the same site palette. */
header .ecd-brand{display:flex;align-items:center;gap:12px;min-width:0}
header .ecd-logo-frame{display:block;flex:0 0 auto;width:100px;height:50px;background:transparent}
header .ecd-logo-frame img{display:block;width:100%;height:auto;max-height:50px;object-fit:contain}
header .ecd-brand-copy{color:#123c50;font-size:16px}
@media(max-width:600px){header{flex-wrap:wrap;padding:18px 0;gap:12px}header .ecd-brand{gap:10px;width:100%}header .ecd-logo-frame{width:80px;height:40px}header .ecd-logo-frame img{max-height:40px}header .ecd-brand-copy{font-size:14px}header .ecd-brand-copy small{font-size:10px}header .ecd-contact{margin-left:auto}}
