.shop-public,.shop-admin-form,.shop-admin-section{letter-spacing:0}
body.public .split-copy,body.public .split-media{min-width:0;overflow-wrap:anywhere}
.shop-public{color:#20342a;background:#fff}
.shop-public h1{font-size:48px;line-height:1.12;max-width:900px;margin:10px 0 20px}
.shop-public h2,.shop-home-teaser h2{font-size:32px;line-height:1.2;margin:0 0 22px}
.shop-public h3{font-size:20px;margin:26px 0 12px}
.shop-public p{line-height:1.65}
.shop-inner,.shop-intro{width:min(1140px,calc(100% - 48px));margin-inline:auto}
.shop-intro{padding-block:64px}.shop-heading{max-width:850px;margin-bottom:40px}
.shop-lead{font-size:20px;max-width:740px}.shop-facts{display:flex;flex-wrap:wrap;gap:12px 26px;color:#23653e;font-weight:700;font-size:16px}
.shop-event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:72px;align-items:start}
.shop-event-copy{padding-top:25px}.shop-inclusions{padding-left:22px;line-height:1.9}
.shop-event-meta{display:grid;gap:15px;margin:28px 0 24px;padding:20px 0;border-block:1px solid #dce5df}.shop-event-meta>div>span{display:block;color:#66766c;font-size:12px;font-weight:700;text-transform:uppercase}.shop-event-meta p{margin:4px 0 0;overflow-wrap:anywhere}
.shop-highlight{display:flex;align-items:center;gap:22px;margin:24px 0;padding:18px 0;border-block:1px solid #dce5df}.shop-highlight img{width:150px;height:180px;object-fit:contain;flex:none}.shop-highlight figcaption{font-size:14px;font-weight:600;line-height:1.5;color:#294635;max-width:260px}
.shop-flyer{display:block;max-width:400px}.shop-flyer img{width:100%;height:auto;display:block;border-radius:4px;box-shadow:0 12px 35px #1831211a}
.shop-booking-section{background:#f2f6f3;border-block:1px solid #dce5df;padding-block:55px}
.shop-public fieldset{border:0;padding:0;margin:32px 0}.shop-public legend{font-size:19px;font-weight:700;margin-bottom:18px}
.shop-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.shop-slot{display:flex;gap:12px;padding:17px;border:1px solid #bfcfc4;border-radius:6px;background:white;cursor:pointer;align-items:start}
.shop-preview-slot{cursor:default}
.shop-slot:has(input:checked){outline:2px solid #23653e;background:#e7f2e9}.shop-slot input{width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;accent-color:#23653e}
.shop-slot>span{display:grid;gap:3px}.shop-slot strong{font-size:18px}.shop-slot small{color:#476450;font-weight:600}.shop-slot.is-unavailable{background:#e9edea;color:#6a716d;cursor:not-allowed}.shop-slot.is-unavailable small{color:#9a3546}
.shop-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.shop-span{grid-column:1/-1}
.shop-form-grid label,.shop-filter label,.shop-quantity label,.shop-reason{display:grid;gap:8px;font-size:14px;font-weight:600;min-width:0}
.shop-form-grid input,.shop-form-grid select,.shop-form-grid textarea,.shop-filter input,.shop-filter select,.shop-quantity select,.shop-table input[type=number],.shop-reason textarea{box-sizing:border-box;max-width:100%;width:100%;min-height:46px;border:1px solid #bdcbc1;border-radius:4px;background:#fff;color:#20342a;padding:10px 12px;font-size:16px;line-height:1.4;font-family:inherit}
.shop-form-grid textarea{resize:vertical}.shop-form-grid input:focus,.shop-form-grid select:focus,.shop-form-grid textarea:focus{outline:2px solid #23653e;outline-offset:2px}
.shop-quantity{display:grid;grid-template-columns:minmax(200px,340px) 1fr;align-items:end;gap:35px}.shop-quantity>div{display:grid;gap:5px}.shop-quantity strong{font-size:28px}
.shop-submit{display:flex;gap:24px;align-items:center;margin-top:30px}.shop-submit p{font-size:14px;max-width:440px}.shop-submit .button{flex-shrink:0}
.shop-public .button,.shop-admin-form .button,.shop-admin-section .button,.shop-toolbar .button{white-space:normal;text-align:center;line-height:1.4;font-size:15px;min-height:44px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;max-width:100%}
.shop-public .button:disabled,.shop-admin-form .button:disabled{opacity:.5;cursor:not-allowed}.shop-public .button.secondary,.shop-admin-section .button.secondary,.shop-toolbar .button.secondary{color:#1e5938;background:white;border:1px solid #b7c9bd}
.shop-notice{background:#f9f3df;border-left:3px solid #b79751;padding:18px 22px;margin:20px 0;color:#443b24;font-size:15px}.shop-notice ul{margin-bottom:0}.shop-notice.success{background:#e7f2ea;border-color:#23653e;color:#1e5938}
.shop-preview{background:#fff3cc;border-block:1px solid #e4c778;padding:12px 24px;text-align:center;font-size:14px;color:#614800}
.shop-muted{color:#66766c;font-size:14px;font-weight:400}.shop-green{color:#20613d}.shop-red{color:#9f3048}
.shop-terms{padding-block:48px 60px;max-width:1140px;scroll-margin-top:100px}.shop-terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.shop-terms-grid>div{min-width:0}.shop-terms h3{font-size:18px;margin:0 0 12px}.shop-terms p{font-size:15px;margin:0 0 16px}.shop-terms address{font-style:normal;line-height:1.65;margin:2px 0 20px;padding-left:14px;border-left:3px solid #c9a35b;overflow-wrap:anywhere}.shop-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.shop-ribbon{padding:10px 32px;background:#1c5338;color:white;display:flex;justify-content:center;align-items:center;gap:28px;font-size:14px;min-height:62px}.shop-ribbon-copy{display:flex;align-items:center;gap:14px;min-width:0}.shop-ribbon-copy>span{color:#f3d28c;font-weight:700;white-space:nowrap}.shop-ribbon a{background:#fff;color:#1c5338;padding:9px 16px;border-radius:4px;font-weight:700;white-space:nowrap}.shop-ribbon a span{margin-left:8px}
.shop-home-teaser{padding-block:55px;background:#f2f6f3;border-bottom:1px solid #dae3dc}.shop-home-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:50px;align-items:center}.shop-home-flyer img{display:block;width:100%;height:auto;border-radius:4px}.shop-home-grid>div{max-width:650px}.shop-home-grid p{line-height:1.65}
.shop-home-grid .shop-sales-date{color:#1c5338;font-weight:800}
.event-row .shop-event-times{margin-top:7px;font-weight:700;color:#264f36}
.shop-order{padding-block:50px;max-width:960px}.shop-order h1{font-size:40px}.shop-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-block:30px}.shop-order-grid h2{font-size:23px}.shop-order-grid p{overflow-wrap:anywhere}
.shop-price-summary{padding:20px 0;border-block:1px solid #ccd9d0;margin-bottom:30px}.shop-price-summary>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.shop-price-summary .shop-total{font-size:22px;border-top:1px solid #ccd9d0;margin-top:12px;padding-top:18px}
.shop-check{display:flex!important;grid-template-columns:initial!important;gap:12px!important;align-items:start;font-weight:400!important;margin:15px 0;line-height:1.5}.shop-check input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:3px 0 0;accent-color:#23653e}
.shop-cancel{margin-top:18px}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}.shop-toolbar h3{font-size:19px;margin:0 0 8px}.shop-tabs{display:flex;gap:25px;border-bottom:1px solid #dce4de}.shop-tabs a{padding:12px 0;color:#496052}.shop-tabs a.active{border-bottom:2px solid #1e5938;color:#1e5938;font-weight:700}
.shop-admin-section{padding:28px 0;border-bottom:1px solid #d9e3dc}.shop-admin-section h2{font-size:22px;margin:0 0 20px}.shop-admin-section h3{font-size:18px}.shop-event-row{padding:20px 0;border-bottom:1px solid #dce4de}.shop-event-row:last-child{border-bottom:0}
.shop-table-wrap{overflow-x:auto;max-width:100%}.shop-table{width:100%;border-collapse:collapse;font-size:14px}.shop-table th{font-size:12px;font-weight:700;color:#4c6052;text-align:left;padding:12px;background:#eaf0ec;white-space:nowrap}.shop-table td{padding:14px 12px;border-bottom:1px solid #dce4de;vertical-align:top}.shop-table a:not(.button){color:#1e5938;text-decoration:underline}.shop-table input[type=number]{width:110px}.shop-table input[type=checkbox]{width:20px;height:20px;accent-color:#23653e}
.shop-badge{display:inline-block;padding:3px 8px;background:#e7ece8;color:#4c6052;border-radius:4px;font-size:12px;font-weight:600}.shop-badge.paid{background:#d9eee0;color:#1e5938}
.shop-bar-plan{border-bottom:1px solid #dce4de;padding:12px 0}.shop-bar-plan summary{cursor:pointer;font-weight:700;color:#20342a}.shop-bar-plan summary span{font-size:13px;font-weight:400;color:#66766c;margin-left:12px}.shop-bar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:18px 0}.shop-bar{display:flex;flex-direction:column;gap:5px;min-height:67px;border:1px solid #cbd9cf;border-radius:4px;background:#f8faf8;padding:10px;color:#4c6052;text-decoration:none}.shop-bar strong{color:#20342a}.shop-bar span{font-size:12px;overflow-wrap:anywhere}.shop-bar.occupied{background:#e6f2e9;border-color:#70aa82}.shop-bar.blocked{background:#ececec;border-color:#d0d0d0}.shop-bar-form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.shop-bar-form label{display:grid;gap:7px;min-width:190px;font-size:14px;font-weight:600}.shop-bar-form select{min-height:44px;padding:8px;border:1px solid #bdcbc1;border-radius:4px;background:#fff;font:inherit}
.shop-filter{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin-bottom:25px}.shop-filter label{flex:1 1 130px}.shop-filter .button{min-height:46px}.shop-filter>a{padding:12px 0;font-size:14px}.shop-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.shop-actions form{margin:0}
.shop-pagination{display:flex;justify-content:space-between;gap:20px;padding:20px 0}.shop-admin-form{max-width:1100px}.shop-savebar{position:sticky;bottom:0;background:#f5f8f6;border-top:1px solid #cbd9cf;padding:16px 0;margin-top:15px;z-index:5}.shop-reason{margin:24px 0}.shop-admin-form code{overflow-wrap:anywhere;font-size:13px}
.shop-table{min-width:720px}
@media(max-width:800px){.shop-public h1{font-size:36px}.shop-public h2,.shop-home-teaser h2{font-size:27px}.shop-event-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.shop-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-submit{display:block}.shop-home-grid{gap:30px;grid-template-columns:180px minmax(0,1fr)}.shop-ribbon{padding:12px 20px;gap:18px}.shop-ribbon-copy{display:grid;gap:0}.shop-order-grid{gap:24px}.shop-terms-grid{gap:28px}}
@media(max-width:600px){.shop-inner,.shop-intro{width:calc(100% - 32px)}.shop-intro{padding-block:36px}.shop-public h1{font-size:32px}.shop-lead{font-size:18px}.shop-heading{margin-bottom:24px}.shop-event-layout{grid-template-columns:1fr;gap:30px}.shop-event-copy{padding-top:0}.shop-flyer{max-width:320px;margin-inline:auto}.shop-form-grid{grid-template-columns:1fr;gap:18px}.shop-span{grid-column:auto}.shop-quantity{grid-template-columns:1fr;gap:16px}.shop-slots{grid-template-columns:1fr 1fr;gap:8px}.shop-slot{padding:12px 9px;gap:7px}.shop-slot strong{font-size:16px}.shop-slot span span{font-size:13px}.shop-slot small{font-size:12px}.shop-booking-section{padding-block:35px}.shop-submit .button{width:100%}.shop-order-grid{grid-template-columns:1fr;gap:10px}.shop-price-summary .shop-total{font-size:20px}.shop-ribbon{justify-content:space-between;font-size:13px;gap:10px;padding:10px 16px}.shop-ribbon-copy{line-height:1.35}.shop-ribbon-copy>span{font-size:12px}.shop-ribbon a{white-space:normal;text-align:center;font-size:12px;line-height:1.25;padding:9px 10px;flex:0 0 112px}.shop-ribbon a span{margin-left:3px}.shop-home-grid{grid-template-columns:1fr;gap:25px}.shop-home-flyer{max-width:220px}.shop-home-teaser{padding-block:35px}.shop-toolbar{align-items:start}.shop-filter label{flex:1 1 140px}.shop-public .button{font-size:14px}.shop-preview{font-size:12px;padding:10px 16px}.shop-terms{padding-block:36px 48px}.shop-terms-grid{grid-template-columns:1fr;gap:18px}.shop-terms h3{font-size:17px}.shop-terms p{font-size:15px}}
.shop-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:20px 0}
.shop-health-grid dt{color:#52685c;font-size:14px;margin-bottom:6px}
.shop-health-grid dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.shop-log-context{display:block;max-width:540px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.6}
