/* Anton Smit website menu. Every rule is scoped with two classes so the
   Elementor kit and Hello theme button and link styles can't leak in. */
.asmn, .asmn-drawer, .asmn-badge {
  --asmn-ink: #262422;
  --asmn-text: #3A3733;
  --asmn-muted: #6B655D;
  --asmn-line: #E8E2D8;
  --asmn-tint: #F7F4EF;
  --asmn-maroon: #800000;
  --asmn-gold: #BF9000;
  --asmn-font: "DINOT regular", "din-ot-regular", "DINOT", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --asmn-pad: clamp(24px, 4.4vw, 64px);
  --asmn-h: 88px;
  font-family: var(--asmn-font);
  color: var(--asmn-ink);
  -webkit-font-smoothing: antialiased;
}
.asmn *, .asmn-drawer *, .asmn-badge * { box-sizing: border-box; }
.asmn ul, .asmn-drawer ul { list-style: none; margin: 0; padding: 0; }
.asmn li, .asmn-drawer li { margin: 0; padding: 0; }
.asmn .asmn-ic { display: block; transition: transform .2s ease; }

/* Buttons: undo the theme's button look in every state */
.asmn .asmn-caret, .asmn .asmn-burger, .asmn-drawer .asmn-d-close, .asmn-drawer .asmn-d-toggle {
  -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent;
  background: transparent; border: 0; border-radius: 0; box-shadow: none;
  margin: 0; padding: 0; min-height: 0; text-transform: none; letter-spacing: normal;
  font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit;
  cursor: pointer; line-height: 1;
}
.asmn .asmn-caret:hover, .asmn .asmn-burger:hover, .asmn-drawer .asmn-d-close:hover, .asmn-drawer .asmn-d-toggle:hover,
.asmn .asmn-caret:focus, .asmn .asmn-burger:focus, .asmn-drawer .asmn-d-close:focus, .asmn-drawer .asmn-d-toggle:focus,
.asmn .asmn-caret:active, .asmn .asmn-burger:active, .asmn-drawer .asmn-d-close:active, .asmn-drawer .asmn-d-toggle:active {
  background: transparent; border-color: transparent; box-shadow: none; color: inherit;
}
.asmn a, .asmn-drawer a { -webkit-tap-highlight-color: rgba(128, 0, 0, .08); }
.asmn a:focus-visible, .asmn button:focus-visible,
.asmn-drawer a:focus-visible, .asmn-drawer button:focus-visible {
  outline: 2px solid var(--asmn-gold); outline-offset: 3px;
}

/* ---------- Header bar ---------- */
.asmn.asmn {
  position: relative; z-index: 9000;
  display: block; width: 100%;
  background: #FFFFFF;
  border-bottom: 1px solid var(--asmn-line);
}
.asmn .asmn-bar {
  max-width: 1600px; margin: 0 auto;
  height: var(--asmn-h);
  padding: 0 var(--asmn-pad);
  display: flex; align-items: center; gap: clamp(24px, 3.2vw, 48px);
}
.asmn .asmn-logo { flex: none; display: flex; align-items: center; }
.asmn .asmn-logo img { display: block; width: auto; max-width: none; }
.asmn .asmn-burger { display: none; }

.asmn .asmn-nav { margin-left: auto; height: 100%; }
.asmn .asmn-list { display: flex; align-items: stretch; gap: clamp(18px, 2.3vw, 34px); height: 100%; }
.asmn .asmn-item { display: flex; align-items: center; gap: 2px; height: 100%; position: static; }
.asmn .asmn-item--small { position: relative; }
.asmn .asmn-top {
  display: flex; align-items: center; height: 100%;
  font-size: 14px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase;
  color: var(--asmn-ink); text-decoration: none; white-space: nowrap;
  border-bottom: 2px solid transparent; padding-top: 2px;
  transition: color .15s ease, border-color .15s ease;
}
.asmn .asmn-top:hover, .asmn .asmn-top[aria-current="page"] { color: var(--asmn-maroon); }
.asmn .asmn-top[aria-current="page"] { border-bottom-color: var(--asmn-gold); }
.asmn .asmn-caret { width: 28px; height: 28px; display: grid; place-items: center; color: var(--asmn-ink); }
.asmn .asmn-caret:hover { color: var(--asmn-maroon); }
.asmn .asmn-item.is-open .asmn-top { color: var(--asmn-maroon); border-bottom-color: var(--asmn-gold); }
.asmn .asmn-item.is-open .asmn-caret { color: var(--asmn-maroon); }
.asmn .asmn-item.is-open .asmn-caret .asmn-ic { transform: rotate(180deg); }

.asmn .asmn-cta, .asmn .asmn-cta:visited {
  flex: none; display: inline-flex; align-items: center;
  padding: 14px 24px; background: var(--asmn-maroon); color: #FFFFFF;
  font-size: 13.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none; border-radius: 0; transition: background .15s ease;
}
.asmn .asmn-cta:hover, .asmn .asmn-cta:focus { background: #660000; color: #FFFFFF; }

/* ---------- Mega panels ---------- */
.asmn .asmn-panel {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 2;
  background: #FFFFFF; border-top: 1px solid var(--asmn-line);
  box-shadow: 0 30px 60px -30px rgba(38, 36, 34, .45);
}
.asmn .asmn-panel[hidden] { display: none; }
.asmn .asmn-panel-in {
  max-width: 1600px; margin: 0 auto;
  padding: 34px var(--asmn-pad) 40px;
  display: grid; align-items: start;
  gap: clamp(32px, 3.6vw, 56px);
  max-height: calc(100vh - var(--asmn-h) - 24px); overflow-y: auto;
}
.asmn .asmn-col--thumbs { min-width: 0; }
.asmn .asmn-col-title {
  margin: 0 0 14px; font-size: 12.5px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--asmn-muted); line-height: 1.3;
}
.asmn .asmn-link, .asmn .asmn-link:visited {
  display: block; padding: 7px 0; font-size: 16px; line-height: 1.35;
  color: var(--asmn-text); text-decoration: none; text-transform: none; letter-spacing: normal;
}
.asmn .asmn-link--strong { font-weight: 600; color: var(--asmn-ink); }
.asmn .asmn-link:hover, .asmn .asmn-link[aria-current="page"] { color: var(--asmn-maroon); }

.asmn .asmn-thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 6px; }
.asmn .asmn-thumb-link { display: flex; align-items: center; gap: 14px; padding: 5px 0; text-decoration: none; }
.asmn .asmn-thumb { width: 48px; height: 48px; flex: none; overflow: hidden; background: var(--asmn-tint); }
.asmn .asmn-thumb img { width: 48px; height: 48px; max-width: none; object-fit: cover; display: block; transition: transform .3s ease; }
.asmn .asmn-thumb-label { font-size: 16.5px; font-weight: 500; color: var(--asmn-ink); }
.asmn .asmn-thumb-link:hover .asmn-thumb-label, .asmn .asmn-thumb-link[aria-current="page"] .asmn-thumb-label { color: var(--asmn-maroon); }
.asmn .asmn-thumb-link:hover img { transform: scale(1.06); }

.asmn .asmn-more, .asmn .asmn-more:visited {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 18px;
  font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--asmn-maroon); text-decoration: none;
}
.asmn .asmn-more:hover .asmn-ic { transform: translateX(3px); }

.asmn .asmn-card {
  position: relative; display: block; height: 300px; overflow: hidden;
  background: var(--asmn-ink); text-decoration: none; width: 100%;
}
.asmn .asmn-card img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; transition: transform .4s ease; }
.asmn .asmn-card:hover img { transform: scale(1.03); }
.asmn .asmn-card-text {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 22px 20px;
  background: linear-gradient(180deg, rgba(38,36,34,0) 0%, rgba(38,36,34,.82) 100%);
  color: #FFFFFF; display: flex; flex-direction: column; gap: 4px;
}
.asmn .asmn-card-title { font-size: 24px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; line-height: 1.15; }
.asmn .asmn-card-sub { font-size: 15px; line-height: 1.4; }

/* Column sizing per panel */
.asmn [data-key="sculptures"] .asmn-panel-in { grid-template-columns: minmax(440px, 560px) minmax(180px, 250px) minmax(280px, 1fr); }
.asmn [data-key="exhibitions"] .asmn-panel-in,
.asmn [data-key="park"] .asmn-panel-in { grid-template-columns: minmax(220px, 300px) minmax(220px, 300px) minmax(280px, 1fr); }
.asmn [data-key="exhibitions"] .asmn-card, .asmn [data-key="park"] .asmn-card,
.asmn [data-key="sculptures"] .asmn-card { max-width: 560px; }

/* Small dropdown (Journal) */
.asmn .asmn-panel--small {
  left: -18px; right: auto; top: calc(100% + 1px); min-width: 220px;
  border: 1px solid var(--asmn-line); border-top: 0;
}
.asmn .asmn-panel--small .asmn-panel-in { display: block; padding: 12px 18px 16px; max-width: none; }

.asmn .asmn-dim {
  position: absolute; top: 100%; left: 0; right: 0; height: 100vh; z-index: 1;
  background: rgba(38, 36, 34, .38);
}
.asmn .asmn-dim[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .asmn .asmn-panel:not([hidden]) { animation: asmn-in .18s ease-out; }
  .asmn .asmn-dim:not([hidden]) { animation: asmn-fade .18s ease-out; }
}
@keyframes asmn-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes asmn-fade { from { opacity: 0; } to { opacity: 1; } }

/* Ask Bobs steps aside while a panel or the phone menu is open */
html.asmn-panel-open .asma-launcher, html.asmn-panel-open .asma-nudge {
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
}
html.asmn-drawer-open .asma-launcher, html.asmn-drawer-open .asma-nudge,
html.asmn-drawer-open #ht-ctc-chat, html.asmn-drawer-open .ht-ctc-chat { visibility: hidden !important; }
html.asmn-drawer-open, html.asmn-drawer-open body { overflow: hidden; }

/* Laptops: tighten the row so it stays on one line */
@media (min-width: 1240px) and (max-width: 1439px) {
  .asmn, .asmn-drawer { --asmn-pad: 32px; }
  .asmn .asmn-bar { gap: 24px; }
  .asmn .asmn-list { gap: 18px; }
  .asmn .asmn-top { font-size: 13.5px; letter-spacing: .08em; }
  .asmn .asmn-cta, .asmn .asmn-cta:visited { padding: 13px 18px; letter-spacing: .1em; }
  .asmn .asmn-logo img { height: 42px !important; }
}

/* ---------- Phones and tablets ---------- */
@media (max-width: 1239px) {
  .asmn, .asmn-drawer { --asmn-h: 64px; }
  .asmn .asmn-bar { padding: 0 16px; justify-content: center; }
  .asmn .asmn-nav, .asmn .asmn-cta, .asmn .asmn-dim, .asmn .asmn-panel { display: none !important; }
  .asmn .asmn-burger {
    display: grid; place-items: center; position: absolute; left: 10px; top: 10px;
    width: 44px; height: 44px; color: var(--asmn-ink);
  }
  .asmn .asmn-logo img { height: 38px !important; }
}

/* ---------- Drawer ---------- */
.asmn-drawer.asmn-drawer {
  position: fixed; inset: 0; z-index: 100000;
  background: #FFFFFF;
  display: grid; grid-template-rows: 64px minmax(0, 1fr) auto;
  height: 100vh; height: 100dvh;
}
.asmn-drawer[hidden] { display: none !important; }
@media (min-width: 1240px) { .asmn-drawer.asmn-drawer { display: none !important; } }
@media (prefers-reduced-motion: no-preference) {
  .asmn-drawer:not([hidden]) { animation: asmn-fade .16s ease-out; }
}
.asmn-drawer .asmn-d-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 8px 0 16px; padding-top: env(safe-area-inset-top, 0px);
  border-bottom: 1px solid var(--asmn-line);
}
.asmn-drawer .asmn-d-head img { display: block; width: auto; max-width: none; }
.asmn-drawer .asmn-d-close {
  height: 44px; padding: 0 12px; display: inline-flex; align-items: center; gap: 6px;
  font-size: 17px; font-weight: 600; color: var(--asmn-ink);
}
.asmn-drawer .asmn-d-body { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.asmn-drawer .asmn-d-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 16px; }
.asmn-drawer .asmn-d-card { position: relative; display: block; height: 150px; overflow: hidden; background: var(--asmn-ink); text-decoration: none; }
.asmn-drawer .asmn-d-card img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.asmn-drawer .asmn-d-card span {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 12px 12px;
  background: linear-gradient(180deg, rgba(38,36,34,0) 0%, rgba(38,36,34,.85) 100%);
  color: #FFFFFF; font-size: 17px; font-weight: 600; line-height: 1.2;
}
.asmn-drawer .asmn-d-list { border-top: 1px solid var(--asmn-line); }
.asmn-drawer .asmn-d-row { border-bottom: 1px solid var(--asmn-line); }
.asmn-drawer .asmn-d-line { display: grid; grid-template-columns: minmax(0, 1fr) 56px; align-items: stretch; min-height: 56px; }
.asmn-drawer .asmn-d-top, .asmn-drawer .asmn-d-top:visited {
  display: flex; align-items: center; padding: 0 16px; min-height: 56px; grid-column: 1;
  font-size: 17px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--asmn-ink); text-decoration: none;
}
.asmn-drawer .asmn-d-top[aria-current="page"] { color: var(--asmn-maroon); }
.asmn-drawer .asmn-d-toggle {
  width: 56px; min-height: 56px; display: grid; place-items: center;
  border-left: 1px solid #EEE8DF; color: var(--asmn-ink);
}
.asmn-drawer .asmn-d-toggle:hover, .asmn-drawer .asmn-d-toggle:focus, .asmn-drawer .asmn-d-toggle:active { border-left-color: #EEE8DF; }
.asmn-drawer .asmn-d-toggle .asmn-ic { width: 18px; height: 18px; transition: transform .2s ease; }
.asmn-drawer .asmn-d-row.is-open .asmn-d-top, .asmn-drawer .asmn-d-row.is-open .asmn-d-toggle { color: var(--asmn-maroon); }
.asmn-drawer .asmn-d-row.is-open .asmn-d-toggle .asmn-ic { transform: rotate(180deg); }
.asmn-drawer .asmn-d-kids { background: var(--asmn-tint); padding: 6px 0 10px; }
.asmn-drawer .asmn-d-kids[hidden] { display: none; }
.asmn-drawer .asmn-d-kid, .asmn-drawer .asmn-d-kid:visited {
  display: block; padding: 13px 16px 13px 28px; font-size: 17px; line-height: 1.4;
  color: var(--asmn-text); text-decoration: none;
}
.asmn-drawer .asmn-d-kid[aria-current="page"] { color: var(--asmn-maroon); font-weight: 600; }
.asmn-drawer .asmn-d-foot {
  display: grid; grid-template-columns: minmax(0, 1fr) 54px 54px; gap: 10px;
  padding: 12px 16px 16px; padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--asmn-line); background: #FFFFFF;
}
.asmn-drawer .asmn-d-enquire, .asmn-drawer .asmn-d-enquire:visited, .asmn-drawer .asmn-d-enquire:hover {
  height: 54px; display: flex; align-items: center; justify-content: center;
  background: var(--asmn-maroon); color: #FFFFFF; text-decoration: none;
  font-size: 17px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}
.asmn-drawer .asmn-d-icon, .asmn-drawer .asmn-d-icon:visited {
  height: 54px; display: grid; place-items: center;
  border: 1.5px solid #D9D2C6; color: var(--asmn-ink); text-decoration: none;
}

/* ---------- Preview note (admins only) ---------- */
.asmn-badge.asmn-badge {
  position: fixed; left: 16px; bottom: 16px; z-index: 99980; max-width: 360px;
  padding: 12px 14px; background: #262422; color: #FFFFFF;
  font-size: 14px; line-height: 1.45; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5);
}
.asmn-badge.asmn-badge a { color: #F2D27A; text-decoration: underline; }
html.asmn-drawer-open .asmn-badge { display: none; }
@media (max-width: 640px) { .asmn-badge.asmn-badge { left: 8px; right: 8px; bottom: 8px; max-width: none; font-size: 13px; } }
