/* Shared public booking surfaces: search and category use the site's typography. */
.booking-search-v2,.public-category-booking {
  --booking-ink:#24483e;
  --booking-muted:#61756e;
  --booking-line:#dfe8e3;
  --booking-soft:#f4f8f5;
  --booking-action:#008871;
  color:var(--booking-ink);
  font-family:var(--font-primary,Arial,sans-serif);
}
body.booking-search-v2{background:#f5f8f5;font-family:var(--font-primary,Arial,sans-serif)}
.booking-search-v2 .content{box-sizing:border-box;width:100%;max-width:1160px;margin:0 auto;padding:32px 24px 48px}
.booking-search-title{margin-bottom:24px}
.booking-search-title h1{margin:0 0 10px;font-size:clamp(28px,3vw,38px);line-height:1.2;font-weight:500;color:var(--booking-ink)}
.booking-search-title p{margin:0;color:var(--booking-muted);font-size:16px;line-height:1.5}
.booking-search-v2 .search-widget{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:22px 24px;border:1px solid var(--booking-line);border-radius:18px;box-shadow:0 4px 18px #24483e06}
.booking-search-v2 .search-row{align-items:flex-end;gap:16px}
.booking-search-v2 .search-button{margin:0;flex:0 0 auto}
.booking-search-v2 .search-field label,.public-category-search>label{color:var(--booking-ink);font-size:14px;font-weight:600;line-height:1.4}
.booking-search-v2 .search-field label b{font-weight:inherit}
.booking-search-v2 .search-field input,.public-category-search input,.public-category-search select,.booking-meal-filter select {
  box-sizing:border-box;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #cedbd4;border-radius:10px;
  background:#fff;color:var(--booking-ink);font:400 16px/1.4 var(--font-primary,Arial,sans-serif);box-shadow:none;
}
.booking-search-v2 .regional-date,.public-category-search .regional-date{gap:0}
.booking-search-v2 .regional-date>input:not(.regional-date-original),.public-category-search .regional-date>input:not(.regional-date-original){border-right:0;border-radius:10px 0 0 10px}
.booking-search-v2 .regional-date-open,.public-category-search .regional-date-open{flex-basis:42px;padding:0;border:1px solid #cedbd4;border-left:0;border-radius:0 10px 10px 0;background:#fff;color:var(--booking-action);font-size:18px}
.booking-search-v2 .regional-date-original,.public-category-search .regional-date-original{min-height:0}
.booking-search-v2 .search-field input:focus,.public-category-search input:focus,.public-category-search select:focus,.booking-meal-filter select:focus{outline:2px solid var(--booking-action);outline-offset:2px;box-shadow:none}
.booking-search-v2 .regional-date:focus-within,.public-category-search .regional-date:focus-within{outline:2px solid var(--booking-action);outline-offset:2px;border-radius:10px}
.booking-search-v2 .search-field .regional-date>.regional-date-editor:focus,.public-category-search .regional-date>.regional-date-editor:focus,.booking-search-v2 .regional-date-open:focus-visible,.public-category-search .regional-date-open:focus-visible{outline:none}
.booking-search-v2 .search-button .button,.public-category-search>.button,.public-meal-choice>.public-meal-submit {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;
  border:1px solid var(--booking-action,#008871);border-radius:12px;background:var(--booking-action,#008871);color:#fff;
  font:600 16px/1.4 var(--font-primary,Arial,sans-serif);letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer;
  box-shadow:none;transition:background .18s ease,border-color .18s ease;
}
.booking-search-v2 .search-button .button:hover,.public-category-search>.button:hover,.public-meal-choice>.public-meal-submit:hover{background:#006f5c;border-color:#006f5c;color:#fff;transform:none;box-shadow:none}
.public-category-search>.button{background:#fff;color:var(--booking-action)}
.public-category-search>.button:hover{background:#edf6f1;color:#006f5c}
.booking-search-v2 a:focus-visible,.booking-search-v2 button:focus-visible,.booking-search-v2 summary:focus-visible,.public-category-booking button:focus-visible,.public-category-booking summary:focus-visible{outline:2px solid #008871;outline-offset:4px}
.booking-meal-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:20px 0 0;padding:18px 18px 0;border-top:1px solid var(--booking-line)}
.booking-meal-filter>label{display:flex;flex-direction:column;gap:3px;font-size:14px;font-weight:600;line-height:1.35;color:var(--booking-ink)}
.booking-meal-filter>label small{font-size:12px;font-weight:400;color:var(--booking-muted)}
.booking-meal-filter select{flex:1 1 230px;max-width:330px;min-height:44px;padding:9px 44px 9px 12px;font-size:14px;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23264840' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;background-size:12px 8px}
.booking-search-pending{margin:12px 18px 0;color:var(--booking-ink);font-size:13px;line-height:1.45}
.booking-search-pending[hidden]{display:none}
.booking-search-v2 #bookingSearchSubmit:disabled{background:#e8efeb;border-color:#d7e1db;color:#526a61;cursor:default;opacity:1;box-shadow:none;transform:none;animation:none}
.booking-search-v2 #bookingSearchSubmit.is-dirty{background:#087b6d;border-color:#087b6d;color:#fff;box-shadow:0 0 0 0 rgba(8,123,109,.18);transform:none;animation:bookingSearchApplyPulse 1.6s ease-in-out infinite}
@keyframes bookingSearchApplyPulse{50%{box-shadow:0 0 0 7px rgba(8,123,109,.18)}}
@media (prefers-reduced-motion:reduce){.booking-search-v2 #bookingSearchSubmit.is-dirty{animation:none;box-shadow:0 0 0 3px rgba(8,123,109,.18)}}
.booking-meal-filter>small{color:var(--booking-muted);font-size:12px}
.booking-results-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:28px 0 14px;color:var(--booking-muted);font-size:14px}
.booking-results-summary>span:first-child{color:var(--booking-ink);font-weight:600}
.booking-search-v2 .booking-search-trust{box-sizing:border-box;width:100%;margin-top:28px}
.booking-results{display:grid;gap:20px}
.booking-result{display:grid;grid-template-columns:240px minmax(0,1fr) 260px;column-gap:24px;padding:20px;border:1px solid var(--booking-line);border-radius:20px;background:#fff;min-width:0;box-shadow:0 4px 18px #24483e05}
.booking-result-photo{grid-column:1;grid-row:1/span 2;min-width:0;margin-bottom:18px;overflow:hidden;border-radius:12px}
.booking-result-photo img{display:block;width:100%;height:100%;min-height:200px;max-height:260px;object-fit:cover}
.booking-result-info{grid-column:2;grid-row:1;min-width:0;padding:4px 0 16px}
.booking-result h2{font-size:23px;font-weight:500;line-height:1.25;margin:0 0 12px;color:var(--booking-ink)}
.booking-result h2 a{color:inherit;text-decoration:none}
.booking-result h2 a:hover,.booking-result-details:hover{text-decoration:underline;text-underline-offset:3px}
.booking-result-facts{color:var(--booking-muted);font-size:13px;line-height:1.6;margin:0 0 12px}
.booking-result-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--booking-muted);font-size:14px;line-height:1.6;margin:0 0 16px}
.booking-result-availability{color:#8a5a25;font-size:13px;margin:0 0 12px}
.booking-result-details{font-size:14px;font-weight:600;color:var(--booking-action);text-decoration:none}
.booking-result-booking{display:contents}
.booking-result-booking>.public-meal-choice{grid-column:3;grid-row:1/span 2;align-self:start;margin-bottom:18px}
.booking-result-discount{grid-column:2;align-self:end;margin:0 0 18px;color:var(--booking-action);font-size:13px;line-height:1.4}
.public-meal-choice{box-sizing:border-box;min-width:0;margin:0;padding:18px;border-radius:14px;background:var(--booking-soft,#f4f8f5)}
.public-meal-price{display:flex;flex-direction:column;gap:5px}
.public-meal-price>strong{font-size:29px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--booking-ink,#24483e)}
.public-meal-price>span,.public-meal-muted{font-size:13px;line-height:1.5;color:var(--booking-muted,#61756e)}
.public-meal-selected{font-size:14px;line-height:1.5;color:var(--booking-ink,#24483e);margin:12px 0 0}
.public-meal-selected-amount{white-space:nowrap}
.public-meal-choice>.public-meal-submit{display:flex;width:100%;margin-top:18px}
.public-meal-options{grid-column:1/-1;min-width:0;margin:0;border:1px solid var(--booking-line,#dfe8e3);border-radius:14px;overflow:hidden;background:#fff}
.booking-result-calculation{grid-column:1/-1;margin:12px 0 0;border-top:1px solid var(--booking-line,#dfe8e3)}
.public-meal-options>summary,.booking-result-calculation>summary,.booking-nearby>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;box-sizing:border-box;padding:12px 0;color:var(--booking-ink,#24483e);font-size:14px;font-weight:600;line-height:1.5;list-style:none;cursor:pointer}
.public-meal-options>summary{min-height:62px;padding:11px 18px;background:var(--booking-soft,#f4f8f5)}
.public-meal-options>summary span{display:flex;flex-direction:column;gap:2px}
.public-meal-options>summary small{color:var(--booking-muted,#61756e);font-size:12px;font-weight:400;line-height:1.4}
.public-meal-options[open]>summary{border-bottom:1px solid var(--booking-line,#dfe8e3)}
.public-meal-options>summary:hover{background:#eaf3ed}
.public-meal-options>summary::-webkit-details-marker,.booking-result-calculation>summary::-webkit-details-marker,.booking-nearby>summary::-webkit-details-marker{display:none}
.public-meal-options>summary::after,.booking-result-calculation>summary::after,.booking-nearby>summary::after{content:'';flex:0 0 7px;width:7px;height:7px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);align-self:center;transition:transform .22s ease}
.public-meal-options[open]>summary::after,.booking-result-calculation[open]>summary::after,.booking-nearby[open]>summary::after{transform:rotate(225deg)}
.public-meal-options-body{padding:14px 16px 16px}
.public-meal-options[open]>.public-meal-options-body,.public-meal-schedule[open]>.public-meal-schedule-content{animation:meal-panel-reveal .24s ease-out both}
@keyframes meal-panel-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.booking-search-v2 .public-meal-rates,.booking-search-v2 .t-rates .public-meal-rates,.booking-search-v2 .tv-component-booking-result .t-rates .public-meal-rates{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:0}
.public-meal-rate-item{min-width:0;border:1px solid var(--booking-line,#dfe8e3);border-radius:12px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.public-meal-rate-item:has(input:checked){border-color:var(--booking-action,#008871);background:#f0f7f2;box-shadow:inset 0 0 0 1px var(--booking-action,#008871)}
.public-meal-rate-item:has(input:disabled){color:#677369;background:#f4f5f3}
.public-meal-rate{box-sizing:border-box;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px 12px;min-width:0;padding:14px 16px;font-size:14px;line-height:1.45;cursor:pointer}
.public-meal-rate:has(input:disabled){cursor:default}
.public-meal-rate input{width:18px;height:18px;margin:0;accent-color:var(--booking-action,#008871)}
.public-meal-rate-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.public-meal-rate-copy b{font-size:15px;color:var(--booking-ink,#24483e)}
.public-meal-rate-copy small{color:var(--booking-muted,#61756e)}
.public-meal-rate-copy .public-meal-rate-error{color:#a32b24}
.public-meal-rate>strong{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap;font-size:18px;line-height:1.3;color:var(--booking-ink,#24483e)}
.public-meal-rate>strong small{color:var(--booking-muted,#61756e);font-size:11px;font-weight:400}
.public-meal-schedule{border-top:1px solid var(--booking-line,#dfe8e3)}
.public-meal-schedule>summary{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 16px 8px 46px;color:var(--booking-action,#008871);font-size:12px;font-weight:600;list-style:none;cursor:pointer}
.public-meal-schedule>summary::-webkit-details-marker{display:none}
.public-meal-schedule>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .22s ease}
.public-meal-schedule[open]>summary::after{transform:rotate(225deg)}
.public-meal-schedule-content{padding:0 16px 12px 46px;color:var(--booking-muted,#61756e)}
.public-meal-rate small,.public-meal-days small{display:block;font-size:12px;line-height:1.6;font-weight:400;margin-top:4px}
.public-meal-days{display:block}
.public-meal-options .public-meal-muted{margin:12px 0 0}
@media(prefers-reduced-motion:reduce){.public-meal-options>summary::after,.booking-result-calculation>summary::after,.booking-nearby>summary::after,.public-meal-schedule>summary::after,.public-meal-rate-item{transition:none}.public-meal-options[open]>.public-meal-options-body,.public-meal-schedule[open]>.public-meal-schedule-content{animation:none}}
.public-meal-gift{font-size:13px;line-height:1.5;background:#e6f2e9;padding:12px;border-radius:10px;margin:12px 0;color:#23553b}
.public-meal-error{color:#a32b24;font-size:14px;line-height:1.5}
.public-meal-error[hidden]{display:none}
.public-meal-summary{padding:12px 0;border-top:1px solid #dce5de;overflow-wrap:anywhere}
.public-meal-summary h3{margin:0 0 8px}
/* System checkout: keep the selection and meal summary together, and let
   verification forms use their content height instead of stretching. */
.verify-email-page .verify-main{align-items:flex-start;padding:40px 16px 56px}
.verify-email-page .verify-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:24px}
.verify-email-page .verify-layout:not(:has(.verify-booking-context)){grid-template-columns:minmax(0,420px)}
.verify-email-page .verify-layout .verify-card{align-self:start;min-width:0;padding:28px;border:1px solid #dfe8e3;border-radius:16px;text-align:left;box-shadow:0 8px 24px #24483e0a}
.verify-email-page .verify-booking-context{min-width:0;border-color:#dfe8e3;box-shadow:0 8px 24px #24483e0a;overflow-wrap:anywhere}
.verify-email-page .verify-booking-context__eyebrow{padding:16px 20px 12px}
.verify-email-page .verify-booking-context__photo{height:210px}
.verify-email-page .verify-booking-context__title{margin:20px 20px 16px;line-height:1.3}
.verify-email-page .verify-booking-context__facts>div{align-items:baseline;flex-wrap:wrap;gap:6px 12px;line-height:1.5}
.verify-email-page .verify-booking-context__facts strong{margin-left:auto}
.verify-email-page .verify-booking-context__facts .verify-booking-context__total{margin-top:8px;padding:16px;border:0;border-radius:12px;background:#f0f7f4}
.verify-email-page .verify-booking-context>.public-meal-summary{margin:16px 20px;padding:16px;border:1px solid #dfe8e3;border-radius:12px;background:#f7faf8;font-size:14px;line-height:1.5}
.verify-email-page .verify-booking-context>.public-meal-summary h3{font-size:16px;color:#243e35}
.verify-email-page .verify-booking-context>.public-meal-summary p{margin:0 0 8px}
.verify-email-page .verify-booking-context>.public-meal-summary p:last-child{margin-bottom:0}
.verify-email-page .verify-booking-context__change{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin:16px 20px 0;padding:10px 14px;border:1px solid #cbded5;border-radius:10px;background:#fff;color:#087b69;text-align:center;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4}
.verify-email-page .verify-booking-context__change:hover{background:#eff7f4;border-color:#087b69}
.verify-email-page .verify-card h1{margin:0 0 12px;line-height:1.25;color:#243e35}
.verify-email-page .verify-card .muted,.verify-email-page .verify-card .verify-email-lead{font-size:14px;line-height:1.6}
.verify-email-page .verify-card .muted{margin:0 0 20px}
.verify-email-page .verify-card .verify-email-lead{margin:0 0 20px}
.verify-email-page .verify-card input[type=email],.verify-email-page .verify-card input[type=text],.verify-email-page .verify-card input[type=password]{width:100%;min-width:0;min-height:48px;box-sizing:border-box;border-color:#cbd8d1;border-radius:10px}
.verify-email-page .verify-card button[type=submit]{min-height:48px;border-radius:10px;background:#087b69;font-weight:600;line-height:1.4}
.verify-email-page .verify-card button[type=submit]:not(:disabled):not([aria-disabled=true]):hover{background:#066654}
.verify-email-page .verify-card button.secondary-btn{border:1px solid #cbded5;background:#eff7f4;color:#087b69}
.verify-email-page .verify-card button.secondary-btn:not(:disabled):not([aria-disabled=true]):hover{background:#e2efe8}
.verify-email-page .verify-card button[disabled],.verify-email-page .verify-card button[aria-disabled=true]{background:#d4dad8;color:#65736c;opacity:1;cursor:not-allowed}
.verify-email-page .verify-card input:focus-visible,.verify-email-page .verify-card button:focus-visible,.verify-email-page .verify-booking-context__change:focus-visible{outline:2px solid #087b69;outline-offset:3px}
.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-shell>.booking-card{min-width:0;overflow-wrap:anywhere}
.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-summary>.public-meal-summary{margin-top:18px;padding:16px;border:1px solid #dfe8e3;border-radius:12px;background:#f7faf8;font-size:14px;line-height:1.5}
.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-summary>.public-meal-summary h3{font-size:16px;color:#243e35}
.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-summary>.public-meal-summary p{margin:0 0 8px}
.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-summary>.public-meal-summary p:last-child{margin-bottom:0}
@media(max-width:900px){.booking-checkout-page:not(.booking-payment-page):not(.booking-confirm-page) .booking-shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){
  .verify-email-page .verify-main{padding:24px 12px 32px}
  .verify-email-page .verify-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .verify-email-page .verify-layout .verify-card{padding:22px 20px}
  .verify-email-page .verify-booking-context__photo{height:180px}
}
.booking-result-calculation dl{margin:0 0 14px}
.booking-result-calculation dl>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.5;padding:6px 0}
.booking-result-calculation dd{margin:0;text-align:right}
.booking-extension-link,.booking-nearby a{display:inline-block;margin:8px 14px 12px 0;color:#14765d}
.public-category-booking{min-width:0;scroll-margin-top:calc(var(--desktop-header-h,100px) + 20px)}
.booking-widget.public-category-booking{padding:24px;border:1px solid var(--booking-line);border-radius:18px;box-shadow:0 4px 18px #24483e06}
.booking-widget.public-category-booking h2{margin:0 0 8px;font-size:26px;line-height:1.3;font-weight:500;color:var(--booking-ink)}
.public-category-intro{margin:0 0 22px;color:var(--booking-muted);font-size:14px;line-height:1.6}
.public-category-booking .public-category-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.public-category-search>label,.public-category-ages label{display:flex;flex-direction:column;gap:7px;min-width:0}
.public-category-search input,.public-category-search select{width:100%}
.public-category-booking .public-category-ages{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px}
.public-category-booking .public-category-ages:not(:has(label)){display:none}
.public-category-ages label{flex:1;min-width:100px;font-size:14px}
.public-category-search>.button{grid-column:1/-1;width:100%}
.booking-quick-row:has(.public-category-booking){align-items:flex-start;gap:24px}
.booking-quick-row:has(.public-category-booking)>.booking-quick-row__item:first-child{flex:1.3 1 0}
.booking-quick-row:has(.public-category-booking) .booking-block{min-height:0;padding:24px;border:1px solid #dfe8e3;border-radius:18px;box-shadow:none;background:#f7faf8}
.booking-quick-row:has(.public-category-booking) .booking-block h2{font-size:24px;font-weight:500;color:#24483e}
@media(max-width:1000px){
  .booking-result{grid-template-columns:220px minmax(0,1fr);column-gap:20px}
  .booking-result-booking>.public-meal-choice{grid-column:2;grid-row:auto}
  .booking-result-discount{grid-column:2}
  .booking-result-photo{grid-row:1/span 3}
  .booking-result-photo img{min-height:240px;max-height:none}
  .booking-search-v2 .search-row{flex-wrap:wrap}
  .booking-search-v2 .search-fields-wrapper{flex:1;min-width:0}
  .booking-search-v2 .search-fields-wrapper .date-field{flex:1;min-width:0;max-width:none}
  .booking-search-v2 .occupancy-field{flex:1 1 100%}
}
@media(max-width:768px){
  .booking-search-v2 .content{padding:24px 16px 36px}
  .booking-search-v2 .search-widget{padding:18px}
  .booking-search-v2 .search-row{flex-direction:row;gap:16px}
  .booking-search-v2 .search-fields-wrapper{width:100%;gap:12px}
  .booking-search-v2 .search-button{width:100%}
  .booking-search-v2 .search-button .button{width:100%}
  .booking-widget.public-category-booking{padding:20px}
  .public-category-booking{scroll-margin-top:calc(var(--mobile-header-h,80px) + 16px)}
}
@media(max-width:600px){
  .booking-search-v2 .search-field .regional-date>input:not(.regional-date-original){padding-inline:8px}
  .booking-search-title{margin-bottom:20px}
  .booking-search-title p{font-size:14px}
  .booking-result{display:block;padding:16px;border-radius:18px}
  .booking-result-photo{display:block;margin:0 0 18px}
  .booking-result-photo img{height:auto;aspect-ratio:3/2;min-height:0;max-height:280px}
  .booking-result h2{font-size:23px}
  .booking-result-info{padding:0 0 18px}
  .booking-result-booking{display:block}
  .booking-result-discount{display:block;margin:0 0 12px}
  .booking-result-booking>.public-meal-choice{margin-bottom:16px}
  .public-meal-choice{padding:16px}
  .public-meal-price>strong{font-size:28px}
  .booking-meal-filter{padding-inline:0;gap:8px 12px}
  .booking-meal-filter>label{flex-basis:100%}
  .booking-meal-filter select{width:100%;max-width:none}
  .public-meal-rate{grid-template-columns:18px minmax(0,1fr);padding:12px}
  .public-meal-rate>strong{grid-column:2;align-items:flex-start}
  .public-meal-schedule>summary{padding-left:40px}
  .public-meal-schedule-content{padding-left:40px}
  .booking-results-summary{margin-top:22px;font-size:13px}
  .public-category-booking .public-category-search{gap:14px 12px}
  .booking-widget.public-category-booking h2{font-size:24px}
}

@media(max-width:380px){
  .booking-search-v2 .search-fields-wrapper{flex-direction:column;align-items:stretch}
  .booking-search-v2 .search-fields-wrapper .date-field{width:100%}
}

/* Keep the shared fixed-header compensation on search pages. */
@media(min-width:1000px){
  .booking-search-v2:has(.header) .content{padding-top:calc(var(--desktop-header-h,140px) + 32px)}
}
@media(max-width:999px){
  .public-category-booking{scroll-margin-top:calc(var(--mobile-header-h,80px) + 16px)}
}

/* Standard search notice; saved themes own their booking_restriction component. */
.booking-restriction { min-width: 0; padding: 20px; margin-bottom: 20px; border: 1px solid #d7e4dd; border-radius: 14px; background: #f0f6f2; color: #24483e; line-height: 1.5; overflow-wrap: anywhere; }
.booking-restriction > strong { display: block; font-size: 18px; line-height: 1.3; }
.booking-restriction > p { margin: 10px 0 0; }
.booking-restriction-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.booking-restriction-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; max-width: 100%; padding: 10px 14px; border: 1px solid #167b6e; border-radius: 10px; background: #fff; color: #167b6e; font-weight: 600; text-decoration: none; text-align: center; }
.booking-restriction-actions a:hover { background: #e5f0e9; }
.booking-restriction-actions a:focus-visible { outline: 3px solid #167b6e; outline-offset: 3px; }
.booking-restriction .booking-restriction-hint { margin-top: 14px; font-size: 14px; color: #5a6c63; }
.booking-result-booking > .booking-restriction { padding: 0; margin: 0; border: 0; background: transparent; }
@media (max-width: 600px) { .booking-restriction { padding: 16px; } .booking-restriction-actions a { width: 100%; } }
