/* Noor Events — verfijningen na visuele controle op 390/820/1024/1440 px */

/* Header: menu op één regel, ook op kleinere desktops */
.noor-header .noor-nav { flex: 1 1 auto; min-width: 0; }
.noor-nav .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; justify-content: center; }
.noor-nav .elementor-nav-menu--main .elementor-item { padding: 14px 11px; letter-spacing: .1em; font-size: 12px; white-space: nowrap; }
.noor-nav .elementor-nav-menu--main .elementor-item::after { left: 11px !important; right: 11px !important; }
@media (min-width: 1025px) and (max-width: 1280px) {
	.noor-header .noor-logo img { width: 160px; }
	.noor-nav .elementor-nav-menu--main .elementor-item { padding: 14px 8px; letter-spacing: .06em; font-size: 11.5px; }
	.noor-header .noor-el-btn .elementor-button { padding: 12px 14px; font-size: 11px; letter-spacing: .08em; }
}

/* Footer: knop past in de kolom */
.noor-footer .noor-el-btn .elementor-button { padding: 13px 18px; font-size: 12px; letter-spacing: .1em; }
.noor-footer .noor-el-btn .elementor-button-text::after { display: none; }

/* Rasters mogen nooit door lange woorden breder worden dan het scherm */
.noor-facilities li, .noor-cards > *, .noor-catgrid__item, .noor-roomlist a > * { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }

@media (min-width: 768px) and (max-width: 1024px) {
	.e-con.noor-cards-grid:not(.noor-cards-grid--two) { --e-con-grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-con.noor-cards-grid .noor-card__body { --padding-left: 20px; --padding-right: 20px; }
	.noor-split-img img, .noor-split-img--soft img { aspect-ratio: 16 / 9; max-height: 440px; }
	.noor-arch-img--wide img { aspect-ratio: 16 / 10; border-radius: 240px 240px 4px 4px; }
}

@media (max-width: 767px) {
	.noor-facilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.noor-split-img img { aspect-ratio: 4 / 3; }
	.noor-split-img--soft img { aspect-ratio: 4 / 3.4; border-radius: 160px 160px 2px 2px; }
	.noor-contact-split .noor-split__media { display: none; }
	.e-con.noor-arches { margin-right: 0; padding-right: 0; }
}

/* Knoppen als link: knopkleur wint altijd van de algemene linkkleur (contrast) */
.noor-site a.noor-btn--primary, .noor-site button.noor-btn--primary { color: var(--noor-brown-deep) !important; }
.noor-site a.noor-btn--primary:hover, .noor-site button.noor-btn--primary:hover { color: #fff !important; }
.noor-site a.noor-btn--outline, .noor-site a.noor-btn--ghost { color: var(--noor-brown) !important; }
.noor-site a.noor-btn--outline:hover { color: #fff !important; }
.noor-site a.noor-btn--outline-light { color: #fff !important; }
.noor-site a.noor-btn--outline-light:hover { color: var(--noor-brown) !important; }
.noor-site .noor-cta-band a.noor-btn--ghost, .noor-site .noor-cta-band a.noor-btn--outline, .noor-site .noor-page-hero--dark a.noor-btn--outline { color: #fff !important; }
.noor-site .noor-cta-band a.noor-btn--ghost:hover, .noor-site .noor-cta-band a.noor-btn--outline:hover { color: var(--noor-brown) !important; }

/* Toelichtingen met icoon: tekst loopt als één alinea door */
.noor-note, .noor-form__privacy { display: block; position: relative; padding-left: 28px; }
.noor-note .noor-icon, .noor-form__privacy .noor-icon { position: absolute; left: 0; top: 2px; }
.noor-note--center { text-align: center; padding-left: 0; }
.noor-note--center .noor-icon { position: static; display: inline-block; vertical-align: -4px; margin-right: 6px; }

/* Header tablet/mobiel: logo links, dan wensenlijst, hamburger helemaal rechts */
@media (max-width: 1024px) {
	.noor-header .noor-logo { margin-right: auto; }
	.e-con.noor-header-actions { order: 1; }
	.noor-header .noor-nav { order: 2; flex: 0 0 auto; margin-left: 6px; }
}

/* Footerlogo links uitgelijnd met de kolomtekst */
.noor-footer-logo { text-align: left !important; }

/* Zeer smalle schermen (320–400 px): bovenbalk mag over twee regels, gecentreerd */
@media (max-width: 400px) {
	.e-con.noor-topbar-wrap, .e-con.noor-topbar-wrap > .e-con-inner { flex-wrap: wrap !important; justify-content: center !important; row-gap: 2px; }
	.noor-topbar { justify-content: center; }
}

/* Voorzieningen op desktop: twee rustige rijen van vier, zonder woordafbreking */
@media (min-width: 1025px) {
	.noor-facilities:not(.noor-facilities-col .noor-facilities) { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 8px; }
	.noor-facilities li { overflow-wrap: normal; hyphens: manual; }
	.noor-facilities li:nth-child(4n + 1) { border-left: 0; }
}

/* Hero's en foto-CTA met echte foto: geen decoratieve boogkaders over de foto */
.e-con.noor-has-photo::after { display: none; }
.e-con.noor-hero.noor-has-photo::before { background: linear-gradient(90deg, rgba(36, 26, 19, .86) 0%, rgba(36, 26, 19, .62) 42%, rgba(36, 26, 19, .18) 100%); }
.e-con.noor-page-hero--dark.noor-has-photo::before { background: linear-gradient(90deg, rgba(36, 26, 19, .86) 0%, rgba(36, 26, 19, .6) 50%, rgba(36, 26, 19, .3) 100%); }
@media (max-width: 767px) {
	.e-con.noor-hero.noor-has-photo::before, .e-con.noor-page-hero--dark.noor-has-photo::before { background: linear-gradient(180deg, rgba(36, 26, 19, .55) 0%, rgba(36, 26, 19, .85) 100%); }
}
.noor-note--impression { margin-top: 14px; font-size: 13.5px; }

/* Homepage-faciliteiten: zaalopties-kaart + voorzieningstegels */
.noor-facil { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: clamp(1rem, 2vw, 1.5rem); max-width: 1120px; margin: 0 auto; align-items: stretch; }
.noor-facil__stat { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: center; padding: 2.75rem 2.25rem 2.25rem; background: linear-gradient(160deg, var(--noor-brown) 0%, var(--noor-brown-deep) 100%); color: #fff; border-radius: 200px 200px var(--noor-radius) var(--noor-radius); text-align: center; }
.noor-facil__stat::before { content: ""; position: absolute; inset: 12px; z-index: -1; border: 1px solid rgba(214, 195, 160, .35); border-radius: 188px 188px 2px 2px; pointer-events: none; }
.noor-facil__eyebrow { margin: 1.25rem 0 .5rem; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--noor-gold-light); }
.noor-facil__num { margin: 0 0 1.25rem; font-family: var(--noor-font-heading); font-size: 28px; line-height: 1; color: #fff; }
.noor-facil__num span { display: block; font-size: clamp(72px, 6vw, 92px); line-height: .9; color: var(--noor-gold-light); }
.noor-facil__stat ul { list-style: none; margin: 0 0 1.4rem; padding: 0; }
.noor-facil__stat li { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-top: 1px solid rgba(214, 195, 160, .25); }
.noor-facil__stat li:last-child { border-bottom: 1px solid rgba(214, 195, 160, .25); }
.noor-facil__stat li strong { font-family: var(--noor-font-heading); font-size: 21px; font-weight: 500; color: #fff; }
.noor-facil__stat li span { font-size: 13.5px; color: rgba(255, 255, 255, .72); }
.noor-site a.noor-facil__link { align-self: center; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--noor-gold-light) !important; text-decoration: none; }
.noor-site a.noor-facil__link:hover { color: #fff !important; }
.noor-facil__link .noor-icon { width: 16px; height: 16px; transition: transform .3s var(--noor-ease); }
.noor-facil__link:hover .noor-icon { transform: translateX(4px); }
.noor-facil__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: clamp(.75rem, 1.4vw, 1rem); }
.noor-facil__grid li { min-width: 0; display: flex; align-items: center; gap: 18px; padding: 20px 24px; background: var(--noor-white); border: 1px solid var(--noor-line); border-radius: var(--noor-radius); transition: transform .35s var(--noor-ease), box-shadow .35s var(--noor-ease), border-color .35s; }
.noor-facil__grid li:hover { transform: translateY(-2px); box-shadow: var(--noor-shadow); border-color: var(--noor-gold-light); }
.noor-facil__icon { flex: 0 0 auto; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--noor-cream); color: var(--noor-gold-dark); }
.noor-facil__icon .noor-icon { width: 26px; height: 26px; stroke-width: 1.3; }
.noor-facil__label { min-width: 0; overflow-wrap: break-word; hyphens: auto; font-family: var(--noor-font-heading); font-size: 21px; line-height: 1.2; color: var(--noor-text); }
.noor-facil__note { margin: 2rem auto 0; max-width: 820px; }
@media (max-width: 1024px) {
	.noor-facil { grid-template-columns: 1fr; max-width: 720px; }
	.noor-facil__stat { border-radius: var(--noor-radius); padding: 2rem; }
	.noor-facil__stat::before { border-radius: 2px; }
	.noor-facil__eyebrow { margin-top: 0; }
	.noor-facil__stat ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
	.noor-facil__stat li:nth-last-child(2) { border-bottom: 1px solid rgba(214, 195, 160, .25); }
	.noor-facil__grid { grid-auto-rows: auto; }
	.noor-facil__grid li { padding: 18px 20px; }
}
@media (max-width: 767px) {
	.noor-facil__stat ul { grid-template-columns: 1fr; }
	.noor-facil__stat li:nth-last-child(2) { border-bottom: 0; }
	.noor-facil__num span { font-size: 72px; }
	.noor-facil__stat { padding: 1.75rem 1.25rem; }
	.noor-facil__grid { grid-template-columns: 1fr; gap: 10px; }
	.noor-facil__grid li { padding: 12px 16px; gap: 16px; }
	.noor-facil__grid li:hover { transform: none; }
	.noor-facil__icon { width: 44px; height: 44px; }
	.noor-facil__icon .noor-icon { width: 22px; height: 22px; }
	.noor-facil__label { font-size: 19px; }
}

/* Slider voor de boogkaarten (tablet en mobiel): vegen met snap, pijlen en stippen, geen scrollbalk */
.noor-slider__nav { display: none; }
@media (max-width: 1024px) {
	.e-con.noor-arches.noor-slider { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 2 * 16px) / 2.6); gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 0; margin-right: 0; padding-right: 0; align-items: start; }
	.e-con.noor-arches.noor-slider::-webkit-scrollbar { display: none; }
	.e-con.noor-arches.noor-slider > .noor-arch-link { scroll-snap-align: start; scroll-snap-stop: always; }
	.e-con.noor-arches.noor-slider .noor-arch-img img { aspect-ratio: 3 / 3.8 !important; }
	.noor-slider__nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 26px; }
	.noor-slider__nav[hidden] { display: none; }
}
@media (max-width: 767px) {
	.e-con.noor-arches.noor-slider { grid-auto-columns: 74%; gap: 14px; width: auto; max-width: none; margin-right: calc(var(--noor-side) * -1); padding-right: var(--noor-side); scroll-padding-left: 0; }
}
.noor-slider__nav .noor-slider__btn { -webkit-appearance: none; appearance: none; display: grid; place-items: center; width: 46px; height: 46px; margin: 0; padding: 0; border: 1px solid var(--noor-gold); border-radius: 50%; background: transparent; color: var(--noor-brown); box-shadow: none; cursor: pointer; transition: background-color .3s var(--noor-ease), color .3s, border-color .3s, opacity .3s; }
.noor-slider__nav .noor-slider__btn--prev svg { transform: rotate(180deg); }
.noor-slider__nav .noor-slider__btn:hover:not(:disabled), .noor-slider__nav .noor-slider__btn:focus-visible { background: var(--noor-brown); border-color: var(--noor-brown); color: #fff; }
.noor-slider__nav .noor-slider__btn:disabled { opacity: .3; cursor: default; background: transparent; color: var(--noor-brown); }
.noor-slider__nav .noor-slider__btn:focus-visible, .noor-slider__nav .noor-slider__dot:focus-visible { outline: 2px solid var(--noor-gold); outline-offset: 3px; }
.noor-slider__dots { display: flex; align-items: center; gap: 2px; }
.noor-slider__nav .noor-slider__dot { -webkit-appearance: none; appearance: none; display: grid; place-items: center; min-width: 24px; height: 24px; margin: 0; padding: 0 2px; border: 0; background: transparent; box-shadow: none; cursor: pointer; }
.noor-slider__nav .noor-slider__dot:hover, .noor-slider__nav .noor-slider__dot:focus { background: transparent; }
.noor-slider__dot::before { content: ""; display: block; width: 8px; height: 8px; border-radius: 99px; background: var(--noor-line); transition: width .35s var(--noor-ease), background-color .35s; }
.noor-slider__dot:hover::before { background: var(--noor-gold-light); }
.noor-slider__dot.is-active::before { width: 26px; background: var(--noor-gold); }
@media (prefers-reduced-motion: reduce) {
	.noor-slider__dot::before, .noor-slider__nav .noor-slider__btn { transition: none; }
}
