@font-face{font-family:Inter;src:url('../fonts/inter.ttf') format('truetype');font-display:swap}@font-face{font-family:Marcellus;src:url('../fonts/marcellus.ttf') format('truetype');font-display:swap}
.public-book{display:block;background:#fdfaf1;color:#343f1e;font-family:Inter,Arial,sans-serif;margin:0}.book-header{max-width:1200px;margin:auto;padding:28px 35px;border-bottom:1px solid #dce3ce;display:flex;align-items:center;justify-content:space-between}.book-header img{width:210px;height:auto}.book-header a{color:#526f19;text-decoration:none;font-size:14px}.book-layout{max-width:1140px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:65px 35px}.book-layout aside{padding-top:16px}.book-eyebrow{font-size:12px;letter-spacing:2px;color:#5c8607;margin-bottom:24px}.book-layout h1{font-family:Marcellus,Georgia,serif;font-size:45px;font-weight:400;line-height:1.2;margin:0 0 24px;color:#343f1e}.book-layout aside>p{font-size:17px;color:#6c7756;line-height:1.8;max-width:330px}.book-layout ul{padding:10px 0 28px 21px;border-bottom:1px solid #dce3ce;line-height:2.5;font-size:14px;margin:25px 0}.book-layout li::marker{color:#6d9227}.book-address{font-size:14px;line-height:1.9;color:#64714e}.book-address strong{color:#343f1e}.book-address a,.book-back{color:#5c8607;text-decoration:none}.book-back{display:block;font-size:13px;margin-top:28px}.book-card{background:#fff;border:1px solid #dce3ce;border-radius:16px;padding:34px;box-shadow:0 12px 40px #343f1e06;min-width:0}.book-card h2{font:400 28px/1.3 Marcellus,Georgia,serif;margin:0;color:#343f1e}.book-subtitle{font-size:13px;color:#798466;margin:10px 0 28px}.book-card .field{margin-bottom:20px}.book-card label{font-size:14px;color:#343f1e}.book-card input,.book-card select{font:400 16px Inter,Arial,sans-serif;width:100%;height:44px;border:1px solid #dce3ce;border-radius:7px;background:#fffefb;color:#343f1e;padding:10px 12px;box-sizing:border-box}.book-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.book-card .field small{display:block;color:#81896f;font-size:12px;margin-top:7px}.book-card input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:#5c8607;margin:3px 10px 0 0}.book-consent{display:flex;align-items:flex-start;line-height:1.7}.book-consent span{font-size:13px;color:#697754}.book-note,.book-privacy{font-size:12px;line-height:1.8;color:#7b856a}.book-privacy{border-top:1px solid #e4e9dc;margin-top:22px;padding-top:18px}.book-card .btn{display:flex;width:100%;justify-content:center;text-decoration:none;padding:13px;background:#5c8607;border-color:#5c8607;color:#fff;border-radius:7px;font-size:14px;box-sizing:border-box}.book-card .btn:disabled{opacity:.55;cursor:wait}.book-trap{display:none!important}.book-error{color:#b04537;font-size:13px;line-height:1.7}.book-footer{max-width:1070px;margin:auto;padding:22px 0;border-top:1px solid #dce3ce;display:flex;justify-content:space-between;font-size:12px;color:#7c866c}.book-footer a{color:inherit;text-decoration:none}#booking-success{text-align:center;padding:30px 0}#booking-success p{font-size:15px;line-height:1.9;color:#697754}.book-success-icon{margin:0 auto 24px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#e3e9d8;color:#5c8607;font-size:27px}.book-reference{background:#f3f6ed;padding:17px;border-radius:8px}.book-reference strong{display:block;letter-spacing:3px;color:#343f1e}#booking-availability{font-size:14px;color:#946327;line-height:1.7}#booking-availability:empty{display:none}
@media(max-width:750px){.book-header{padding:23px 20px}.book-header img{width:155px}.book-header a{font-size:12px}.book-layout{grid-template-columns:1fr;gap:24px;padding:28px 18px}.book-layout aside{padding:0}.book-layout h1{font-size:33px;margin-bottom:15px}.book-layout h1 br{display:none}.book-layout aside>p{max-width:none;font-size:15px}.book-layout ul,.book-address,.book-back{display:none}.book-eyebrow{font-size:10px;margin-bottom:16px}.book-card{padding:25px 20px}.book-card h2{font-size:25px}.book-footer{margin:0 20px;font-size:11px}.book-card .form-row{grid-template-columns:1fr;gap:0}}

.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid span{text-align:center;font-size:12px;color:#66704f}.calendar-grid button,.calendar-heading button{border:1px solid #dce3ce;border-radius:8px;background:#fff;padding:10px 3px;color:#343f1e;cursor:pointer}.calendar-grid button:disabled,.calendar-heading button:disabled{opacity:.35;cursor:not-allowed;background:#eee}.calendar-grid button[aria-pressed="true"]{background:#5c8607;color:white;border-color:#5c8607}.calendar-grid button:focus-visible{outline:3px solid #70a309;outline-offset:2px}

.book-layout{grid-template-columns:minmax(0,1fr);max-width:720px;gap:0}.book-header{gap:20px;flex-wrap:wrap}

.public-book [hidden]{display:none!important}.public-book{color-scheme:light}.book-card select,.book-card select option{background:#fffefb;color:#343f1e;color-scheme:light}.book-card select{height:auto;min-height:48px;white-space:normal;padding-right:32px}
.service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.book-card .service-choice{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #dce3ce;border-radius:8px;background:#fffefb;min-width:0;cursor:pointer;line-height:1.5}.service-choice span{overflow-wrap:anywhere}.book-card .service-choice input{width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:#5c8607}.book-card .service-choice:hover,.book-card .service-choice.selected{background:#f0f5e6;border-color:#5c8607;color:#343f1e}.book-card .service-choice:focus-within{outline:2px solid #5c8607;outline-offset:2px}
.book-card input[type=checkbox]{appearance:none;-webkit-appearance:none;padding:0;width:20px;height:20px;background:#fffefb;border:1px solid #dce3ce;border-radius:4px;display:grid;place-items:center}.book-card input[type=checkbox]:checked{background:#5c8607;border-color:#5c8607}.book-card input[type=checkbox]:checked::after{content:'✓';font-size:15px;color:white}.book-card input[type=checkbox]:focus-visible{outline:2px solid #5c8607;outline-offset:3px}
#booking-success{padding:8px 0;scroll-margin-top:24px;outline:0}#booking-success .book-success-icon{width:44px;height:44px;margin-bottom:12px}#booking-success p{margin:12px 0;line-height:1.5}.book-reference strong{font-size:22px;letter-spacing:2px;margin-top:6px}
@media(max-width:500px){.service-options{grid-template-columns:1fr}.book-layout{padding:20px 12px}.book-card{padding:22px 16px}.book-footer{gap:12px;flex-wrap:wrap}.book-card .service-choice{padding:12px}}

html:has(body.public-book),body.public-book{height:auto;min-height:0}
