/* CMS base styles, in a layer: page styles always win, and a page style that is
   undone ("revert-layer") falls back to these rather than to browser defaults. */
@layer base {
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
img,svg{max-width:100%}
img{height:auto}
.form-error{color:#b3261e;font-size:14px;margin:4px 0 0}
.form-result{padding:16px;border-radius:8px;background:#e8f5e9;color:#1b5e20;margin:0}
.screen-reader-text{position:absolute!important;inset-block-start:0!important;inset-inline-start:0!important;inset-inline-end:auto!important;width:1px!important;height:1px!important;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Widths captured on a wider screen never push past the parent on a narrower one.
   A stylesheet that states its own max-width (carousel strips) still wins: it comes later. */
[data-uid],[data-uid] *{max-width:100%}
details>summary{cursor:pointer}
details>div{padding-block-start:12px;text-align:start}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav>ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 18px}
.site-nav a{color:inherit;text-decoration:none}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--brand,#333)}
.site-nav .has-dropdown{position:relative}
.site-nav .has-dropdown>a::after{content:"\25BE";margin-inline-start:4px;font-size:.8em}
.site-nav .dropdown{display:none;position:absolute;inset-block-start:100%;inset-inline-start:0;z-index:50;min-width:260px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14)}
.site-nav .has-dropdown:hover>.dropdown,.site-nav .has-dropdown:focus-within>.dropdown{display:flex;flex-wrap:wrap;gap:16px 32px}
.site-nav .dropdown li{white-space:nowrap;padding-block:3px}
.site-nav .dropdown-group{display:block;font-weight:700;margin-block-end:6px;color:var(--brand,#333)}
.menu-drawer{position:fixed;inset:0;z-index:1000;display:none;padding:24px;overflow-y:auto;background:#fff}
.menu-drawer:target{display:block}
.menu-drawer ul{list-style:none;margin:0;padding:0}
.menu-drawer ul ul{padding-inline-start:16px}
.menu-drawer li{padding-block:8px;border-block-end:1px solid #eee}
.menu-drawer li li{border:0;padding-block:4px}
.menu-drawer a,.menu-drawer summary{color:#333;text-decoration:none;font-size:17px}
.menu-close{float:inline-end;font-size:32px;line-height:1}
.menu-language{display:inline-block;margin-block-end:16px}

/* An item with a mega menu panel shows the panel, not the plain list. */
.site-nav li.has-panel>.dropdown{display:none!important}
/* Tables in migrated widgets (calendars, price lists) keep desktop column widths; fit phones. */
@media (max-width:767px){[data-uid] table{table-layout:fixed;width:100%!important;min-width:0!important;max-width:100%}[data-uid] th,[data-uid] td{min-width:0!important;width:auto!important;overflow:hidden;overflow-wrap:anywhere}}

}
