/* Seizoensmenu — zelfstandig, zonder invloed op het hoofdmenu. */
[data-aow-kerstmenu] {
  background:#fbf8f2;
  border-top:1px solid #e7dbc2;
  border-bottom:1px solid #e7dbc2;
  color:#222;
  margin:0 0 1.5rem;
  max-width:var(--container-width,1200px);
  margin:0 auto;
}
[data-aow-kerstmenu-inner] {
  max-width:var(--container-width,1200px);
  margin-inline:auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  gap:24px;
  min-width:0;
}
[data-aow-kerstmenu-label] { flex-shrink:0; font-size:14px; font-weight:700; }
[data-aow-kerstmenu-label] span { color:#99732d; margin-right:6px; }
[data-aow-kerstmenu] ul {
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  list-style:none;
  padding:3px 3px 6px;
  margin:0;
}
[data-aow-kerstmenu] li { flex:0 0 auto; margin:0; padding:0; }
[data-aow-kerstmenu] a {
  display:block;
  padding:9px 12px;
  border-radius:6px;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  color:#443c32;
  text-decoration:none;
  white-space:nowrap;
}
[data-aow-kerstmenu] a:hover { color:#8e0d0d; background:#f3eade; }
[data-aow-kerstmenu] a[aria-current="page"] { color:#fff; background:#b21010; }
[data-aow-kerstmenu] a:focus-visible,
[data-aow-kerstmenu] ul:focus-visible { outline:2px solid #b21010; outline-offset:2px; }
@media(max-width:768px) {
  [data-aow-kerstmenu-inner] { display:block; padding:10px 12px 6px; }
  [data-aow-kerstmenu-label] { display:block; margin:0 0 5px 3px; font-size:12px; }
  [data-aow-kerstmenu] a { padding:9px 11px; font-size:13px; }
}

/* Sluit aan op de Page Hero; alleen waar de kerstbalk bovenaan staat. */
.site-main:has(> article > .inside-article > [data-aow-kerstmenu]:first-child) {
  margin-top: 0;
/* Uitklapbare kerstmarkten; overflow zichtbaar zodat submenu's niet afsnijden. */
[data-aow-kerstmenu] { position:relative; z-index:20; }
[data-aow-kerstmenu] ul { overflow:visible; flex-wrap:wrap; }
[data-aow-kerstmenu] details { position:relative; }
[data-aow-kerstmenu] summary {
  display:flex; align-items:center; gap:8px; list-style:none; cursor:pointer;
  padding:9px 12px; border-radius:6px; font-size:14px; font-weight:600;
  line-height:1.4; color:#443c32;
}
.inside-article:has(> [data-aow-kerstmenu]:first-child) {
  padding-top: 0;
[data-aow-kerstmenu] summary::-webkit-details-marker { display:none; }
[data-aow-kerstmenu] summary:hover,
[data-aow-kerstmenu] details[open] > summary { background:#f3eade; color:#8e0d0d; }
[data-aow-kerstmenu] summary:focus-visible { outline:2px solid #b21010; outline-offset:2px; }
[data-aow-kerstmenu] details:has(a[aria-current="page"]) > summary { background:#b21010; color:#fff; }
[data-aow-kerstmenu] details > ul {
  position:absolute; top:100%; left:0; display:block; width:300px;
  max-width:calc(100vw - 48px); max-height:65vh; overflow:auto;
  margin:5px 0 0; padding:8px; background:#fbf8f2;
  border:1px solid #e7dbc2; border-radius:6px; box-shadow:0 6px 18px #0002;
}
[data-aow-kerstmenu] details:not([open]) > ul { display:none; }
[data-aow-kerstmenu] details > ul a { white-space:normal; }
[data-aow-kerstmenu] details details > ul { position:static; width:auto; max-width:none; max-height:none; box-shadow:none; margin:4px 0; }
@media(max-width:768px) {
  [data-aow-kerstmenu] ul { display:block; }
  [data-aow-kerstmenu] details > ul { position:static; width:auto; max-width:none; margin:4px 0 8px; box-shadow:none; }
  [data-aow-kerstmenu] summary { font-size:13px; padding:9px 11px; }
}

/* Submenu altijd verticaal, ook als eerdere menu-CSS flex gebruikt. */
nav[data-aow-kerstmenu] details > ul {
  display:block;
  flex-direction:column;
  overflow-x:hidden;
  overflow-y:auto;
}
nav[data-aow-kerstmenu] details:not([open]) > ul { display:none; }
nav[data-aow-kerstmenu] details > ul > li {
  display:block;
  width:100%;
}
nav[data-aow-kerstmenu] details > ul > li > a {
  display:block;
  white-space:normal;
  overflow-wrap:break-word;
}