/* Shared café form language: quiet cards, clear choices, generous touch targets. */
:is(.wwb,.wwgv,.ww-pub-table){--ww-form-accent:var(--e-global-color-primary,#8c857a);--ww-form-ink:#49483f;color:var(--ww-form-ink);max-width:680px;scroll-margin-top:110px}
:is(.wwb,.wwgv) :is(h3,legend){color:var(--ww-form-ink);line-height:1.3}
:is(.wwb,.wwgv) :is(.wwb-step,.wwgv-step){padding:24px;border:1px solid #e1ddd4;border-radius:12px;background:#fff}
:is(.wwb,.wwgv) :is(.wwb-step,.wwgv-step)>h3:first-child{margin-top:0}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress){border-color:#dedbd3;background:#f7f6f1;border-radius:9px;margin-bottom:20px}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>.is-active{background:#e8e9df;color:#49483f}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span+span{border-left-color:#dedbd3}
:is(.wwb,.wwgv) :is(input:not([type=radio]):not([type=checkbox]),select,textarea){border-color:#c9c5bb;border-radius:7px;min-height:48px;font-size:16px}
:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row){gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
:is(.wwb,.wwgv) :is(.wwb-actions,.wwgv-actions) button{min-height:48px;border-radius:7px;transition:background .15s ease;transform:none!important;letter-spacing:.5px;text-transform:none;font-size:16px}
:is(.wwb,.wwgv) :is(.wwb-actions,.wwgv-actions) button:first-child:not(.wwb-primary):not(.wwgv-primary){background:#fff;color:#66645b}
:is(.wwb,.wwgv) :is(input,button,select,textarea,a):focus-visible{outline:2px solid #58644f!important;outline-offset:3px}
.wwgv .wwgv-choice{background:#faf9f5;border:1px solid #dedbd3;border-radius:9px;padding:18px;margin:10px 0;transition:background .15s ease,border-color .15s ease}
.wwgv .wwgv-choice:has(input:checked){background:#eef0e6;border-color:#7b846c;box-shadow:inset 3px 0 #7b846c}
.wwgv .wwgv-choice strong{font-size:19px}.wwgv .wwgv-choice small{color:#68695f;line-height:1.5;font-size:14px}
.wwgv .wwgv-amounts span{border-radius:7px;min-height:48px}.wwgv .wwgv-amounts input:checked+span{background:#727a63;border-color:#727a63}
:is(.wwb-total,.wwgv-total){border-radius:9px;background:#eef0e6;padding:18px}.wwgv .wwgv-total strong{color:#4d5943;font-size:25px}.wwgv .wwgv-note{line-height:1.5;padding-top:0}
.wwb [data-date-fields]{margin:16px 0 24px;padding:16px;background:#f7f6f1;border-radius:9px}.wwb [data-date-fields] .wwb-date-row label{margin-top:0}
.ww-pub-table form{padding:22px;border:1px solid #e1ddd4;border-radius:12px;background:#fff}.ww-pub-table :is(input:not([type=checkbox]),select){border:1px solid #c9c5bb;border-radius:7px;min-height:48px;font-size:16px}.ww-pub-table button[type=submit]{border-radius:7px;min-height:48px;transform:none!important;font-size:16px;text-transform:none;letter-spacing:.5px}.ww-pub-table{scroll-margin-top:110px}
@media(max-width:520px){:is(.wwb,.wwgv) :is(.wwb-step,.wwgv-step){padding:16px}.wwgv .wwgv-choice{padding:14px}.ww-pub-table form{padding:16px}.wwb [data-date-fields]{padding:12px}.wwgv h2,.wwb h2{font-size:28px}.wwgv .wwgv-options{margin:18px 0}}
@media(max-width:360px){:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row){grid-template-columns:1fr;gap:0}:is(.wwb,.wwgv) :is(.wwb-actions,.wwgv-actions){gap:8px}:is(.wwb,.wwgv) :is(.wwb-actions,.wwgv-actions) button{padding:13px 14px;font-size:14px}}
@media(max-width:520px){.wwb [data-date-fields]{padding:0;background:transparent}.wwb .wwb-calendar{padding:8px}.wwb .wwb-date-row:has([name=email]){grid-template-columns:1fr;gap:0}:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row):has([name=street]){grid-template-columns:minmax(0,3fr) minmax(0,1.5fr)}:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row):has([name=postcode]){grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}

.wwb .wwb-success{padding:24px 0}.wwb .wwb-success h3{display:flex;gap:12px;align-items:center;margin:0 0 24px}.wwb .wwb-success-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#eef1ea;color:#416e3f;font-family:Arial,sans-serif;font-size:20px}.wwb .wwb-success dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0}.wwb .wwb-success dt{font-size:13px;color:#6b6f63}.wwb .wwb-success dd{margin:0;font-size:17px;overflow-wrap:anywhere}.wwb .wwb-success [data-success-warning]:empty{display:none}@media(max-width:400px){.wwb .wwb-success dl{grid-template-columns:1fr;gap:14px}}
.wwb label[for$=message]{font-family:inherit;font-size:16px;font-weight:600;line-height:inherit}.wwb .wwb-review dl{margin:0}.wwb .wwb-review dl>div{padding:12px 0;border-bottom:1px solid #e1ddd4}.wwb .wwb-review dt{font-size:13px;color:#68695f}.wwb .wwb-review dd{margin:3px 0 0;overflow-wrap:anywhere}.wwb .wwb-review h3{font-family:inherit;font-size:20px}.wwb .wwb-review-note,.wwb .wwb-success-email{padding:16px;background:#eef0e6;border-left:3px solid #6c7c5b;line-height:1.6;margin:24px 0}

.wwb .wwb-progress>span{flex:1;width:auto;min-width:0}

.wwb .wwb-success h3{font-family:var(--e-global-typography-primary-font-family,"Cormorant"),Georgia,serif;font-size:28px;font-weight:500;color:#8c857a;line-height:1.25}.wwb .wwb-review dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.wwb .wwb-review dl>div{min-width:0}.wwb .wwb-review dd{font-size:17px;line-height:1.5}@media(max-width:480px){.wwb .wwb-review dl{grid-template-columns:1fr}.wwb .wwb-success h3{font-size:25px}}

.wwb .wwb-review .wwb-review-wide{grid-column:1 / -1}.wwb .wwb-review h3{font-family:var(--e-global-typography-primary-font-family,"Cormorant"),Georgia,serif;font-size:26px;line-height:1.25;color:#8c857a}

/* Keep text and controls inside narrow Elementor containers; never hide overflow. */
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service){min-width:0;overflow-wrap:anywhere}
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(form,fieldset,legend,label,button,input,select,textarea){min-width:0;max-width:100%}
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(button,label,legend){white-space:normal;height:auto}
:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row)>div,.wwgv .wwgv-choice>span,.ww-pub-table .ww-pub-row>div{min-width:0}
:is(.wwb,.wwgv) :is(.wwb-actions,.wwgv-actions){flex-wrap:wrap}
:is(.wwb,.wwgv) :is(.wwb-actions,.wwgv-actions)>button{flex:1 1 160px;white-space:normal;overflow-wrap:anywhere}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span{overflow-wrap:anywhere;white-space:normal}
.wwgv .wwgv-options{min-width:0;max-width:100%;padding-inline:0}
.ww-turnstile{margin:20px 0;min-width:0;max-width:100%}.ww-turnstile [data-turnstile-widget]{min-width:0;width:100%}
@media(max-width:600px){
 :is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row),:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row):has([name=street]),:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row):has([name=postcode]){grid-template-columns:minmax(0,1fr);gap:0}
 .ww-pub-table .ww-pub-row{flex-direction:column;gap:0}.ww-pub-table .ww-pub-row>div{flex:auto;width:100%}
}
@media(max-width:480px){
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress){flex-direction:column;gap:6px}
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[data-number]{flex:auto;flex-direction:row;align-items:center;padding:9px 12px;gap:10px;width:100%;font-size:14px}
}

.wwb:has([data-step="1"]:not([hidden])) [data-ww-turnstile],.wwgv:has([data-step="1"]:not([hidden])) [data-ww-turnstile]{display:none}
/* Respond to the form column, even when the browser itself is wide. */
:is(.wwb,.wwgv){container-type:inline-size;container-name:ww-booking-form}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span{overflow-wrap:normal;word-break:normal}
@container ww-booking-form (max-width:600px){
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress){flex-direction:column;gap:6px}
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[data-number]{flex:auto;flex-direction:row;align-items:center;padding:9px 12px;gap:10px;width:100%;font-size:14px}
 :is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row),:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row):has([name=street]),:is(.wwb,.wwgv) :is(.wwb-date-row,.wwgv-date-row):has([name=postcode]){grid-template-columns:minmax(0,1fr);gap:0}
}

/* 1.4.16: one horizontal progress row at every container width. */
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress){flex-direction:row!important;gap:8px;background:transparent;border:0}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[data-number]{flex:0 0 auto!important;width:auto!important;flex-direction:row!important;align-items:center;justify-content:center;padding:10px!important;gap:8px;min-height:50px}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[aria-current=step]{flex:1 1 auto!important;justify-content:flex-start}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span:not([aria-current=step]) .ww-step-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(.wwb,.wwgv,.ww-pub) .ww-form-window{margin:0 0 30px;padding:12px 16px;border:0;border-left:3px solid #879679;border-radius:0;background:#eef3ea;font-size:14px}
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(input,select,textarea),:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) ::placeholder{font-family:Arial,Helvetica,sans-serif!important}
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(.wwb-success h3,.wwgv-success h3,.wwb-review h3){font-family:"Cormorant",Georgia,serif!important}
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service,.woocommerce) .ww-field-invalid{border:2px solid #b52e28!important;box-shadow:0 0 0 1px #b52e28!important}
.wwb-guest .wwb-check{margin-bottom:12px!important}
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) a:is(:link,:visited,:hover,:active){color:#46583e}
.ww-static-time{display:block;padding:12px 0;font:inherit;font-size:18px}
.ww-removal-choice{padding:16px;background:#f4f2eb;border:1px solid #cec7b8;margin:14px 0}
.ww-removal-choice label{display:flex;gap:10px;align-items:center;margin:8px 0}

:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[aria-current=step] .ww-step-label{width:auto!important;padding:0!important;flex:1;min-width:0;white-space:normal;line-height:1.25;background:transparent}
:is(.wwb,.wwgv,.ww-pub) .ww-form-window{margin-bottom:30px!important;border-left:3px solid #879679!important;background:#eef3ea!important}

@container ww-booking-form (max-width:500px){
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[data-number]{font-size:14px!important;min-height:72px;flex-direction:column!important;padding:8px!important;gap:6px}
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[aria-current=step]{justify-content:center}
 :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span[data-number]::before{width:28px;height:28px;flex:0 0 28px;font-size:14px}
}
:is(.wwb,.wwgv,.ww-pub) .ww-form-window.is-ending{background:#fbf6e9!important;border-left-color:#bda773!important}
:is(.wwb,.wwgv,.ww-pub) .ww-form-window.is-expired{background:#faf0ec!important;border-left-color:#b52e28!important}

/* Same normal placeholder weight as the contact fields on page one. */
:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) textarea,:is(.wwb,.wwgv,.ww-pub-table,.ww-self-service) ::placeholder{font-weight:400!important}
.wwb .wwb-guest [data-gluten]{margin:0}
.wwb .wwb-guest .wwb-check:has([data-gluten]){margin-top:20px!important;margin-bottom:12px!important}
.ww-static-time{padding:0;line-height:1.5;margin:4px 0 0;min-height:0}
@container ww-booking-form (max-width:600px){.wwb [data-date-fields] .wwb-date-row>div+div>label{margin-top:12px}}
/* Newsletter choices in legacy forms share the same readable checkbox layout. */
:is(.wwb,.wwgv,.ww-pub-table) label.ww-v2-check{display:flex;align-items:flex-start;gap:12px;margin:18px 0;font:inherit;font-size:14px;line-height:1.5}
:is(.wwb,.wwgv,.ww-pub-table) label.ww-v2-check input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;min-height:0;margin:3px 0 0;padding:0;accent-color:#5e6650}
:is(.wwb,.wwgv,.ww-pub-table) label.ww-v2-check span{flex:1;min-width:0;overflow-wrap:anywhere}

/* One predictable hover response across public forms, based on the workshop buttons. */
:is(.wwb,.wwgv,.ww-pub,.ww-pub-table,.ww-v2,.ww-self-service,.ww-contact,.ww-newsletter,.ww-account-entry,.ww-account-create,.ww-checkout,.woocommerce) :is(button,input[type=submit],a.button,.ww-v2-button):not(:disabled):not([aria-disabled="true"]){transition:filter .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}
@media(hover:hover){
 :is(.wwb,.wwgv,.ww-pub,.ww-pub-table,.ww-v2,.ww-self-service,.ww-contact,.ww-newsletter,.ww-account-entry,.ww-account-create,.ww-checkout,.woocommerce) :is(button,input[type=submit],a.button,.ww-v2-button):not(:disabled):not([aria-disabled="true"]):hover{filter:brightness(.9);transform:none!important}
}
:is(.wwb,.wwgv,.ww-pub,.ww-pub-table,.ww-v2,.ww-self-service,.ww-contact,.ww-newsletter,.ww-account-entry,.ww-account-create,.ww-checkout,.woocommerce) :is(button,input[type=submit],a.button,.ww-v2-button):not(:disabled):not([aria-disabled="true"]):active{filter:brightness(.85);transform:none!important}
@media(prefers-reduced-motion:reduce){
 :is(.wwb,.wwgv,.ww-pub,.ww-pub-table,.ww-v2,.ww-self-service,.ww-contact,.ww-newsletter,.ww-account-entry,.ww-account-create,.ww-checkout,.woocommerce) :is(button,input[type=submit],a.button,.ww-v2-button){transition:none!important}
}

/* Uniform public form actions: sentence case, consistent normal-size controls.
   Selector is limited to action rows, keeping calendar days and small icon controls intact. */
:is(.wwb .wwb-actions,.wwgv .wwgv-actions,.ww-pub-table .ww-table-actions,
    .ww-v2 .ww-v2-actions,.ww-contact .ww-contact-actions) :is(button,input[type=submit],a.ww-v2-button){
 min-height:46px!important;height:auto!important;
 padding:10px 16px!important;border-radius:7px!important;
 font:500 16px/1.35 'Crimson Text',Georgia,serif!important;
 text-transform:none!important;letter-spacing:normal!important;
 white-space:normal!important;text-align:center!important;box-shadow:none!important;
}
:is(.wwb .wwb-actions,.wwgv .wwgv-actions,.ww-pub-table .ww-table-actions,
    .ww-v2 .ww-v2-actions,.ww-contact .ww-contact-actions) :is(button,input[type=submit],a.ww-v2-button):focus-visible{
 outline:2px solid #526650!important;outline-offset:3px!important;
}

/* Shared form action pending state (native, AJAX and payment actions). */
.ww-pub-table button[aria-busy="true"], .wwb button[aria-busy="true"],
.wwgv button[aria-busy="true"], .ww-v2 button[aria-busy="true"],
.ww-account-entry button[aria-busy="true"], .ww-self-service button[aria-busy="true"] {
  cursor: progress; opacity: .78;
}

/* Formulare: the public table booking shortcode follows its Elementor section.
   The outer form is not a white card; field surfaces stay legible on any section
   background. Keep this scoped to the table form (not brunch/workshops/account). */
.ww-pub.ww-pub-table{
 width:100%!important;
 max-width:680px!important;
 margin:0 0 24px!important;
 padding:0!important;
 color:inherit!important;
 text-align:left;
}
.ww-pub.ww-pub-table form:not([data-ww-login]){
 margin-left:0!important;
 margin-right:0!important;
 padding:0!important;
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
}
/* Booking-step spacing is set on [data-table-details] below: the account
   login may sit between the date form and the details form. */
/* Text inside white input controls must stay dark even on dark Elementor sections. */
.ww-pub.ww-pub-table :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
 background-color:#fff!important;
 color:#292b29!important;
}
/* Explicit spacing overrides theme rules and lines up labels, fields and actions. */
.ww-pub.ww-pub-table .ww-table-picker{
 width:100%;
 margin:0;
 padding:0;
 text-align:left;
}
.ww-pub.ww-pub-table .ww-table-picker > label[for]{
 display:block!important;
 margin:0 0 7px!important;
 padding:0!important;
 line-height:1.45!important;
 text-align:left!important;
}
.ww-pub.ww-pub-table .ww-table-picker > input[name="guests"]{
 display:block;
 width:150px!important;
 max-width:100%!important;
 margin:0 0 20px!important;
 min-height:48px!important;
 box-sizing:border-box;
}
.ww-pub.ww-pub-table .ww-table-picker > [data-date-toggle]{
 display:flex!important;
 align-items:center!important;
 width:100%!important;
 min-height:48px!important;
 margin:0!important;
 padding:11px 13px!important;
 border-radius:7px!important;
 background:#fff!important;
 color:#292b29!important;
 border:1px solid #b8b8b4!important;
 font-size:16px!important;
 line-height:1.35!important;
 letter-spacing:normal!important;
 text-transform:none!important;
 text-align:left!important;
 box-sizing:border-box;
}
.ww-pub.ww-pub-table .ww-table-picker + button[type="submit"]{
 margin-top:16px!important;
 margin-bottom:0!important;
}
@media(max-width:520px){
 .ww-pub.ww-pub-table{max-width:100%!important;padding:0!important}
 .ww-pub.ww-pub-table .ww-table-picker > input[name="guests"]{margin-bottom:18px!important}
}


/* Formulare 1.0.5 (development) — Uniform readability in public booking forms.
   Keep calendar numbers compact; enlarge text meant to be read or acted upon. */
:is(.wwb,.wwgv,.ww-pub.ww-pub-table){--ww-form-body-size:17px;--ww-form-label-size:16px;--ww-form-helper-size:15px;font-size:var(--ww-form-body-size);line-height:1.55}
:is(.wwb,.wwgv,.ww-pub.ww-pub-table) :is(label:not(.ww-sr-only),.wwb-payment legend,.wwgv-payment legend),
.ww-pub.ww-pub-table form:not([data-ww-login]) label[for]{font-size:var(--ww-form-label-size,16px);line-height:1.5}
:is(.wwb,.wwgv,.ww-pub.ww-pub-table) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:17px!important;line-height:1.4}
:is(.wwb,.wwgv,.ww-pub.ww-pub-table) :is(.wwb-availability,.wwgv-availability,.wwb-calendar-note,.wwgv-calendar-note,.wwb-summary,.wwgv-summary,.wwb-status,.wwgv-status,.wwgv-note,.ww-pub-hint,.ww-pub-notice,.wwb-gluten-note,.wwb-info-popup,.wwb-payment p,.wwgv-payment p,.wwb-total small,.wwgv-total small,.ww-form-window){font-size:var(--ww-form-helper-size,15px);line-height:1.55}
:is(.wwb,.wwgv,.ww-pub.ww-pub-table) :is(.wwb-check,.wwgv-check,.ww-pub-consent,label.ww-v2-check,.wwgv-choice small){font-size:16px;line-height:1.5}
:is(.wwb,.wwgv,.ww-pub.ww-pub-table) :is(.wwb-actions,.wwgv-actions,.ww-table-actions) button{font-size:16px!important;line-height:1.4}
:is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span{font-size:15px;line-height:1.45}
:is(.wwb,.wwgv) :is(.wwb-weekdays,.wwgv-weekdays){font-size:13px;line-height:1.4}
:is(.wwb,.wwgv) :is(.wwb-days,.wwgv-days) small{font-size:12px;line-height:1.2;overflow-wrap:anywhere;white-space:normal}
@media(max-width:620px){
  :is(.wwb,.wwgv,.ww-pub.ww-pub-table){--ww-form-body-size:16px;--ww-form-helper-size:15px}
  :is(.wwb,.wwgv,.ww-pub.ww-pub-table) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
  :is(.wwb,.wwgv) :is(.wwb-date-toggle,.wwgv-date-toggle){font-size:16px!important}
  :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span{font-size:14px;line-height:1.4}
}
@media(max-width:420px){
  .wwgv .wwgv-actions button,.wwb .wwb-actions button{font-size:16px!important;letter-spacing:normal!important}
}
@media(max-width:340px){
  .wwgv .wwgv-progress>span{font-size:14px;line-height:1.4}
}

/* Formulare 1.0.5: keep the Tisch booking-window notice anchored to the
   selected-date/time section when switching back from contact details.
   Previous two-form separation added a top padding and border on top of
   the margin, which looked like a different gap after the step changed. */
/* Formulare 1.0.6 (development): the optional account-login block is injected
   between the date picker and the booking details. Their forms are therefore
   NOT adjacent siblings. Keep the same gap independently of login markup or
   whether the visitor returns from the contact step. */
.ww-pub.ww-pub-table form[data-table-details]:not([hidden]){
 margin:24px 0 0!important;
 padding-top:0!important;
 border-top:0!important;
}
.ww-pub.ww-pub-table form[data-table-details]{display:flow-root}
.ww-pub.ww-pub-table form[data-table-details] > .ww-form-window:not([hidden]){
 margin:0 0 24px!important;
 scroll-margin-top:110px;
}
.ww-pub.ww-pub-table form[data-table-details] > [data-table-step]:not([hidden]){
 display:flow-root;
 margin-top:0!important;
}

/* Availability legend: same colours as the corresponding calendar cells, not colour-only text. */
:is(.ww-pub-table,.wwb,.ww-self-service) .ww-availability-legend{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;
  font-size:var(--ww-form-helper-size,15px);line-height:1.45;
}
:is(.ww-pub-table,.wwb,.ww-self-service) .ww-availability-legend-item{
  display:inline-flex;align-items:center;gap:7px;white-space:normal;
}
:is(.ww-pub-table,.wwb,.ww-self-service) .ww-availability-legend-swatch{
  display:inline-block;flex:0 0 15px;width:15px;height:15px;
  border:1px solid;border-radius:3px;box-sizing:border-box;
}
:is(.ww-pub-table,.wwb) .ww-availability-legend-swatch.is-unavailable{background:#ededed;border-color:#d3d3d3}
:is(.ww-pub-table,.wwb) .ww-availability-legend-swatch.is-bookable{background:#e0edd9;border-color:#86a780}
:is(.ww-pub-table,.wwb) .ww-availability-legend-swatch.is-full{background:#f9ddda;border-color:#ca847c}
.ww-self-service .ww-availability-legend-swatch.is-unavailable{background:#efefec;border-color:#ddd}
.ww-self-service .ww-availability-legend-swatch.is-bookable{background:#e4eddf;border-color:#6d8465}
.ww-self-service .ww-availability-legend-swatch.is-full{background:#f6e2de;border-color:#b34d42}
