/* Public component contract: global integration corrections after legacy layout sheets.
 * Change shared tokens here. Calendar geometry and business-specific layouts stay local.
 * Explicit light surfaces remain readable when the browser prefers dark mode. */
:is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service){
 --ww-ui-accent:var(--ww-cafe-accent,#8c857a);--ww-ui-hover:#716c63;
 --ww-ui-ink:#49483f;--ww-ui-surface:#fff;--ww-ui-soft:#f4f2ed;--ww-ui-line:#c9c5bb;
 --ww-ui-danger:#b52e28;--ww-ui-focus:#49483f;--ww-ui-radius:4px;--ww-ui-control-height:48px;
 --ww-ui-body:Arial,Helvetica,sans-serif;--ww-ui-heading:var(--e-global-typography-primary-font-family,"Cormorant"),Georgia,serif;
 --ww-v2-green:var(--ww-ui-accent);--ww-form-accent:var(--ww-ui-accent);
 --ww-res-accent:var(--ww-ui-accent);--ww-res-hover:var(--ww-ui-hover);
 color:var(--ww-ui-ink);color-scheme:light;min-width:0;overflow-wrap:anywhere;
}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){
 font-family:var(--ww-ui-body)!important;font-size:16px!important;line-height:1.4!important;
 color:var(--ww-ui-ink)!important;background:var(--ww-ui-surface)!important;border:1px solid var(--ww-ui-line);
 border-radius:var(--ww-ui-radius);min-height:var(--ww-ui-control-height);box-sizing:border-box;max-width:100%;
}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(input,select,textarea).ww-field-invalid{border:2px solid var(--ww-ui-danger)!important;box-shadow:0 0 0 1px var(--ww-ui-danger)!important}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ww-ui-focus)!important;outline-offset:3px}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(.ww-v2-actions button,.ww-v2-button,.wwb-actions button,.wwgv-actions button,.ww-pub-submit,.ww-pub-actions button,.ww-form-actions button,.ww-summary-actions a,.ww-account-auth button[type=submit],.ww-account-dashboard button[type=submit]){
 display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:var(--ww-ui-control-height);
 padding:13px 22px;border:1px solid var(--ww-ui-accent)!important;border-radius:var(--ww-ui-radius)!important;
 background:var(--ww-ui-accent)!important;color:#fff!important;font-family:var(--ww-ui-body)!important;
 font-size:15px!important;font-weight:500!important;line-height:1.35!important;letter-spacing:.04em!important;
 text-transform:uppercase!important;text-decoration:none!important;white-space:normal;cursor:pointer;box-sizing:border-box;
}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(.ww-v2-actions button,.ww-v2-button,.wwb-actions button,.wwgv-actions button,.ww-pub-submit,.ww-pub-actions button,.ww-form-actions button,.ww-summary-actions a,.ww-account-auth button[type=submit],.ww-account-dashboard button[type=submit]):hover:not(:disabled){background:var(--ww-ui-hover)!important;border-color:var(--ww-ui-hover)!important;color:#fff!important}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is([data-review-back],[data-edit-back],[data-cancel-back],.ww-action-secondary,.ww-v2-actions [data-back],.wwb-actions [data-prev],.wwgv-actions [data-prev]){background:var(--ww-ui-surface)!important;color:var(--ww-ui-ink)!important;border-color:var(--ww-ui-line)!important}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) :is(button,.ww-v2-button):disabled{cursor:not-allowed;opacity:.65}
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) [hidden]{display:none!important}
/* Identical progress components for brunch, voucher, contact and workshop forms. */
body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress){display:flex;flex-direction:row!important;align-items:stretch;gap:8px!important;margin:0 0 24px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible}
body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress)>span{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-height:50px;min-width:0;padding:10px!important;border:1px solid var(--ww-ui-line)!important;border-radius:8px!important;background:var(--ww-ui-surface)!important;color:var(--ww-ui-ink)!important;font:500 15px/1.25 var(--ww-ui-body)!important;box-shadow:none!important}
body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress)>span:is(.is-active,[aria-current=step]){flex:1 1 auto!important;justify-content:flex-start!important;background:#e8e9df!important}
body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress)>span>b,
body :is(.wwb,.wwgv) :is(.wwb-progress,.wwgv-progress)>span::before{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 27px!important;width:27px!important;height:27px!important;margin:0!important;padding:0!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;font:500 14px/1 var(--ww-ui-body)!important}
body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress)>span:not(.is-active):not([aria-current=step]) :is(em,.ww-step-label){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important}
body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress)>span:is(.is-active,[aria-current=step]) :is(em,.ww-step-label){display:block!important;position:static!important;width:auto!important;height:auto!important;clip-path:none!important;white-space:normal!important;background:transparent!important;color:inherit!important;font:inherit!important;padding:0!important}
.ww-self-service.ww-management-shortcode .ww-management-header{background:transparent!important;border:0!important;padding:0!important;text-align:left!important}
.ww-self-service.ww-management-shortcode .ww-management-header h1{font-family:var(--ww-ui-heading)!important;color:var(--ww-ui-accent)!important}
@media(max-width:480px){body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress){gap:6px!important}body :is(.ww-v2,.wwb,.wwgv) :is(.ww-v2-progress,.wwb-progress,.wwgv-progress)>span{padding:8px!important;font-size:14px!important}}
@media(prefers-reduced-motion:reduce){:is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) *{scroll-behavior:auto!important;transition:none!important}}
/* Hidden states also win over progress-component layout declarations. */
body :is(.ww-v2,.wwb,.wwgv,.ww-pub-table,.ww-self-service) [hidden][hidden]{display:none!important}
