/* ESC Glanerbrug – helper classes for the Elementor pages.
   Colours: navy #1A3067, blue #3A5FA5, orange #F98132, light orange #FFB37C, peach #FFF3EA. */

/* ---------- base --------------------------------------------------------- */
/* Neutralise the block theme's body defaults (Manrope 300, letter-spacing -0.1px, line-height 1.4) so the page
   inherits the design's base: Barlow 16px / 1.6, #333. */
body:is(.elementor-template-canvas, .elementor-template-full-width) {
	margin: 0; background: #fff; -webkit-font-smoothing: antialiased;
	font-family: "Barlow", system-ui, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
	letter-spacing: normal; color: #333;
}
:is(.elementor-template-canvas, .elementor-template-full-width) :where(h1, h2, h3, h4, h5, h6, p, a, span, div) { letter-spacing: inherit; }
/* WordPress core sets text-wrap: pretty on headings/paragraphs, which re-flows lines compared to the design */
:is(.elementor-template-canvas, .elementor-template-full-width) h1, :is(.elementor-template-canvas, .elementor-template-full-width) h2, :is(.elementor-template-canvas, .elementor-template-full-width) h3,
:is(.elementor-template-canvas, .elementor-template-full-width) h4, :is(.elementor-template-canvas, .elementor-template-full-width) h5, :is(.elementor-template-canvas, .elementor-template-full-width) h6,
:is(.elementor-template-canvas, .elementor-template-full-width) p { text-wrap: wrap; }

/* PA Heading: block-level so it never creates a stray line box, and no inherited margins */
:is(.elementor-template-canvas, .elementor-template-full-width) .premium-title-container .premium-title-header { display: flex; margin: 0; }
:is(.elementor-template-canvas, .elementor-template-full-width) .premium-title-container .premium-title-text { margin: 0; }
/* PA Button: top-aligned inline box, no baseline gap under it */
:is(.elementor-template-canvas, .elementor-template-full-width) .elementor-widget-premium-addon-button { line-height: 0; }
:is(.elementor-template-canvas, .elementor-template-full-width) .premium-drawable-icon svg { display: block; }
:is(.elementor-template-canvas, .elementor-template-full-width) .premium-button { display: inline-flex; align-items: center; justify-content: center; vertical-align: top; text-decoration: none; box-sizing: border-box; }
:is(.elementor-template-canvas, .elementor-template-full-width) .premium-button-text-icon-wrapper { align-items: center; }

/* ---------- patterns ----------------------------------------------------- */
.esc-stripe { background-image: repeating-linear-gradient(135deg, #F98132 0 14px, #1A3067 14px 28px) !important; }
.esc-ph {
	background-color: #3A5FA5 !important;
	background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0 16px, transparent 16px 32px) !important;
}
.esc-card { box-shadow: 0 1px 2px rgba(26,48,103,.05), 0 6px 20px rgba(26,48,103,.06); }
.esc-card-flat { box-shadow: none; }

/* ---------- aspect ratios (applied to an Image widget or a container) ---- */
.esc-ar-43   { aspect-ratio: 4 / 3; }
.esc-ar-1610 { aspect-ratio: 16 / 10; }
.esc-ar-167  { aspect-ratio: 16 / 7; }
.esc-ar-11   { aspect-ratio: 1 / 1; }
.esc-ar-43 > .elementor-widget, .esc-ar-1610 > .elementor-widget, .esc-ar-167 > .elementor-widget, .esc-ar-11 > .elementor-widget { flex: 1 1 auto; min-height: 0; }
.esc-ar-43 > .elementor-widget > .elementor-widget-container, .esc-ar-1610 > .elementor-widget > .elementor-widget-container,
.esc-ar-167 > .elementor-widget > .elementor-widget-container, .esc-ar-11 > .elementor-widget > .elementor-widget-container { height: 100%; }
.esc-ar-43 > .elementor-widget-container,
.esc-ar-1610 > .elementor-widget-container,
.esc-ar-167 > .elementor-widget-container,
.esc-ar-11 > .elementor-widget-container { height: 100%; }
.esc-ar-43 img, .esc-ar-1610 img, .esc-ar-167 img, .esc-ar-11 img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- max-width helpers for text blocks (specificity beats Elementor's max-width:100%) ---- */
.elementor.elementor.elementor .elementor-widget.esc-mw-340 { max-width: 340px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-540 { max-width: 540px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-560 { max-width: 560px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-620 { max-width: 620px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-640 { max-width: 640px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-680 { max-width: 680px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-760 { max-width: 760px; }
.esc-min0 { min-width: 0; }

/* ---------- inline badges / result chips inside table cells ------------- */
.esc-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 6px; font-size: 13px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.esc-b-comp { background: #E8EDF7; color: #1A3067; }
.esc-b-cup  { background: #FFE9D9; color: #8A3B08; }
.esc-res { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px; font-size: 13px; font-weight: 700; line-height: 1; }
.esc-r-w { background: #1A3067; color: #fff; }
.esc-r-g { background: #FFB37C; color: #1A3067; }
.esc-r-v { background: #E3E7EF; color: #333; }

/* ---------- PA table helpers ---------- */
.esc-tbl .premium-table { border-collapse: collapse; width: 100%; }
.esc-tbl .premium-table th { text-align: left; white-space: nowrap; }
.esc-tbl .premium-table td { vertical-align: middle; }
.esc-tbl .premium-table-cell .premium-table-text { display: block; }
tr.elementor-repeater-item-escus td.premium-table-cell { background: #FFF3EA !important; }
tr.elementor-repeater-item-escus td.premium-table-cell .premium-table-text { font-weight: 700 !important; color: #1A3067 !important; }
.esc-col-c-1 .premium-table-row > :nth-child(1), .esc-col-c-1 .premium-table-row > :nth-child(1) .premium-table-text { text-align: center !important; }
.esc-col-c-2 .premium-table-row > :nth-child(2), .esc-col-c-2 .premium-table-row > :nth-child(2) .premium-table-text { text-align: center !important; }
.esc-col-c-3 .premium-table-row > :nth-child(3), .esc-col-c-3 .premium-table-row > :nth-child(3) .premium-table-text { text-align: center !important; }
.esc-col-c-4 .premium-table-row > :nth-child(4), .esc-col-c-4 .premium-table-row > :nth-child(4) .premium-table-text { text-align: center !important; }
.esc-col-c-5 .premium-table-row > :nth-child(5), .esc-col-c-5 .premium-table-row > :nth-child(5) .premium-table-text { text-align: center !important; }
.esc-col-c-6 .premium-table-row > :nth-child(6), .esc-col-c-6 .premium-table-row > :nth-child(6) .premium-table-text { text-align: center !important; }
.esc-col-c-7 .premium-table-row > :nth-child(7), .esc-col-c-7 .premium-table-row > :nth-child(7) .premium-table-text { text-align: center !important; }
.esc-col-c-8 .premium-table-row > :nth-child(8), .esc-col-c-8 .premium-table-row > :nth-child(8) .premium-table-text { text-align: center !important; }
.esc-col-c-9 .premium-table-row > :nth-child(9), .esc-col-c-9 .premium-table-row > :nth-child(9) .premium-table-text { text-align: center !important; }
.esc-col-c-10 .premium-table-row > :nth-child(10), .esc-col-c-10 .premium-table-row > :nth-child(10) .premium-table-text { text-align: center !important; }
.esc-col-c-11 .premium-table-row > :nth-child(11), .esc-col-c-11 .premium-table-row > :nth-child(11) .premium-table-text { text-align: center !important; }
.esc-col-nw-1 .premium-table-row > :nth-child(1) { white-space: nowrap; }
.esc-col-nw-2 .premium-table-row > :nth-child(2) { white-space: nowrap; }
.esc-col-nw-3 .premium-table-row > :nth-child(3) { white-space: nowrap; }
.esc-col-nw-4 .premium-table-row > :nth-child(4) { white-space: nowrap; }
.esc-col-nw-5 .premium-table-row > :nth-child(5) { white-space: nowrap; }
.esc-col-nw-6 .premium-table-row > :nth-child(6) { white-space: nowrap; }
.esc-col-nw-7 .premium-table-row > :nth-child(7) { white-space: nowrap; }
.esc-col-nw-8 .premium-table-row > :nth-child(8) { white-space: nowrap; }
.esc-col-nw-9 .premium-table-row > :nth-child(9) { white-space: nowrap; }
.esc-col-nw-10 .premium-table-row > :nth-child(10) { white-space: nowrap; }
.esc-col-nw-11 .premium-table-row > :nth-child(11) { white-space: nowrap; }

/* ---------- hover-aware icon buttons (social links) ---------- */
.esc-soc .premium-button svg, .esc-soc .premium-button svg * { fill: none !important; stroke: #fff !important; }
.esc-soc .premium-button:hover svg, .esc-soc .premium-button:hover svg * { stroke: #1A3067 !important; }

/* ---------- min-height helpers for buttons ---------- */
.esc-mh-24 .premium-button { min-height: 24px; }
.esc-mh-28 .premium-button { min-height: 28px; }
.esc-mh-32 .premium-button { min-height: 32px; }
.esc-mh-36 .premium-button { min-height: 36px; }
.esc-mh-40 .premium-button { min-height: 40px; }
.esc-mh-44 .premium-button { min-height: 44px; }
.esc-mh-48 .premium-button { min-height: 48px; }
.esc-mh-52 .premium-button { min-height: 52px; }
.esc-mh-56 .premium-button { min-height: 56px; }
.esc-mh-60 .premium-button { min-height: 60px; }
.esc-mh-64 .premium-button { min-height: 64px; }

/* ---------- pills, search ---------- */
.esc-pill .premium-title-header { width: fit-content; border-radius: 6px; }
.esc-search .premium-search__container { width: 100%; }
.esc-search .premium-search__input {
	width: 100%; box-sizing: border-box; padding: 10px 14px 10px 44px; box-shadow: none; outline: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235A6478' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: 14px center; background-size: 20px;
}
.esc-search .premium-search__input::placeholder { color: #757575 !important; opacity: 1; }
.esc-search.esc-search-lg .premium-search__input { padding: 12px 18px 12px 52px; background-position: 18px center; background-size: 22px; }
.esc-search .premium-search__input-wrap { width: 100%; }

/* link text with trailing icon (PA Heading, icon after text): keep text at the left */
.esc-rr .premium-title-header { justify-content: flex-end; width: fit-content; }

/* ---------- forms (Elementor Form widget) ---------- */
.esc-form .elementor-field-group .elementor-field-textual {
	box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 14px; font-family: inherit; font-size: 16px;
	line-height: 1.6; border-width: 1px; border-style: solid; border-color: #8A94A8; border-radius: 8px; background-color: #fff; color: #333;
}
.esc-form textarea.elementor-field-textual { min-height: 112px; }
.esc-form.esc-form-tall textarea.elementor-field-textual { min-height: 140px; }
.esc-form .elementor-select-wrapper { display: block; }
.esc-form .elementor-select-wrapper select { -webkit-appearance: menulist; appearance: auto; padding: 10px 14px; min-height: 48px; }
.esc-form .elementor-select-wrapper::before { display: none; }
.esc-form .elementor-field-group > label { display: block; line-height: 1.6; }
.esc-form .elementor-button { height: 48px; min-height: 48px; padding: 0 24px; border-radius: 8px; font-weight: 700; line-height: 1; border: 2px solid transparent; box-sizing: border-box; }
.esc-form .elementor-field-type-acceptance label { display: inline; font-weight: 400; color: #333; font-size: 15px; }

/* opening-hours table (no header, right-aligned bold second column, no rule under the last row) */
.esc-hours .premium-table thead { display: none; }
.esc-hours .premium-table-row td:nth-child(2), .esc-hours .premium-table-row td:nth-child(2) .premium-table-text { text-align: right !important; }
.esc-hours .premium-table-row td:nth-child(2) .premium-table-text { font-weight: 600 !important; color: #1A3067 !important; }
.esc-hours .premium-table tbody tr:last-child td { border-bottom: 0 !important; }

/* ---------- FAQ accordion (Elementor Nested Accordion) ---------- */
.esc-faq .e-n-accordion { width: 100%; }
.esc-faq .e-n-accordion-item { border: 1px solid #E3E7EF; border-radius: 12px; background: #fff; box-sizing: border-box; }
.esc-faq .e-n-accordion-item + .e-n-accordion-item { margin-top: 12px; }
.esc-faq .e-n-accordion-item[open] { border-color: #3A5FA5; box-shadow: 0 6px 20px rgba(26,48,103,.08); }
.esc-faq .e-n-accordion-item-title {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; box-sizing: border-box;
	min-height: 64px; padding: 16px 22px; cursor: pointer; list-style: none; flex-direction: row;
}
.esc-faq .e-n-accordion-item-title::-webkit-details-marker { display: none; }
.esc-faq .e-n-accordion-item-title-header { flex: 1 1 auto; }
.esc-faq .e-n-accordion-item-title-text {
	font-family: "Barlow", system-ui, sans-serif; font-weight: 700; font-size: 18px; line-height: 1.6; color: #1A3067; margin: 0;
}
.esc-faq .e-n-accordion-item-title-icon {
	flex: 0 0 32px; width: 32px; height: 32px; border-radius: 8px; background-color: #E8EDF7; display: inline-flex;
	align-items: center; justify-content: center; transition: transform .2s;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A3067' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: center; background-size: 16px;
}
.esc-faq .e-n-accordion-item-title-icon svg, .esc-faq .e-n-accordion-item-title-icon > span { display: none !important; }
.esc-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background-color: #F98132; transform: rotate(45deg); }
.esc-faq .e-n-accordion-item-title { border: 0 !important; }
.esc-faq .esc-qa-body, .esc-faq .e-n-accordion-item > .e-con { padding: 0 22px 22px; border: 0 !important; background: transparent; }
.esc-faq .e-n-accordion-item > .e-con p { margin: 0; }

/* container max-width helpers */
.elementor.elementor.elementor .e-con.esc-cmw-760 { max-width: 760px; }

/* ---------- acceptance checkbox ---------- */
.esc-form .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.esc-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
.esc-form .elementor-field-type-acceptance .elementor-field-option input[type="checkbox"] {
	width: 20px; height: 20px; margin: 2px 0 0 4.8px; flex: 0 0 20px; accent-color: #1A3067;
}
.esc-form .elementor-field-type-acceptance .elementor-field-option label {
	display: block !important; font-size: 15px !important; font-weight: 400 !important; color: #333 !important; line-height: 1.6 !important; padding: 0 !important;
}

/* the original's inline textarea leaves a baseline gap underneath */
.esc-form .elementor-field-type-textarea { padding-bottom: 6.6px; }

/* ---------- team page: tabs and helpers ---------- */
.esc-tabs .e-n-tabs { width: 100%; gap: 0 !important; }
.esc-tabs .e-n-tabs-heading { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid #D5DBE7; background: none; }
.esc-tabs .e-n-tab-title {
	display: inline-flex; align-items: center; min-height: 56px; padding: 0 24px; background: none !important; border: 0 !important;
	border-bottom: 3px solid transparent !important; margin-bottom: -1px; border-radius: 0; box-shadow: none;
	font-family: "Barlow", system-ui, sans-serif; font-size: 17px; font-weight: 600; color: #5A6478 !important; cursor: pointer;
}
.esc-tabs .e-n-tab-title:hover { color: #1A3067 !important; }
.esc-tabs .e-n-tab-title[aria-selected="true"] { color: #1A3067 !important; border-bottom-color: #F98132 !important; }
.esc-tabs .e-n-tab-title .e-n-tab-title-text { font: inherit; color: inherit !important; }
.esc-tabs .e-n-tabs-content > .e-con { border: 0; }

.esc-sn { font-weight: 600; color: #1A3067; }
.esc-pts { font-weight: 700; color: #1A3067; }
.esc-score { font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 700; color: #1A3067; margin-right: 10px; line-height: 35.2px; }
.esc-sil svg { width: 100% !important; height: auto !important; display: block; }
.esc-minw-200 { min-width: 200px; }
.esc-minw-36 { min-width: 36px; }
.esc-objpos-35 img { object-position: center 35% !important; }

/* active utility link (underlined in orange) */
.esc-util-on .premium-button span { text-decoration: underline; text-decoration-color: #F98132; text-decoration-thickness: 2px; text-underline-offset: 4px; }
/* home / away badges in the program table */
.esc-b-home { background: #1A3067; color: #fff; }
.esc-b-away { background: #F2F5FA; color: #333; border: 1px solid #D5DBE7; }

/* ---------- generated table helpers ---------- */
.esc-col-r-1 .premium-table-row > :nth-child(1), .esc-col-r-1 .premium-table-row > :nth-child(1) .premium-table-text { text-align: right !important; }
.esc-col-r-2 .premium-table-row > :nth-child(2), .esc-col-r-2 .premium-table-row > :nth-child(2) .premium-table-text { text-align: right !important; }
.esc-col-r-3 .premium-table-row > :nth-child(3), .esc-col-r-3 .premium-table-row > :nth-child(3) .premium-table-text { text-align: right !important; }
.esc-col-r-4 .premium-table-row > :nth-child(4), .esc-col-r-4 .premium-table-row > :nth-child(4) .premium-table-text { text-align: right !important; }
.esc-col-r-5 .premium-table-row > :nth-child(5), .esc-col-r-5 .premium-table-row > :nth-child(5) .premium-table-text { text-align: right !important; }
.esc-col-r-6 .premium-table-row > :nth-child(6), .esc-col-r-6 .premium-table-row > :nth-child(6) .premium-table-text { text-align: right !important; }
.esc-col-r-7 .premium-table-row > :nth-child(7), .esc-col-r-7 .premium-table-row > :nth-child(7) .premium-table-text { text-align: right !important; }
.esc-cw-1-120 .premium-table-row th:nth-child(1) { width: 120px; }
.esc-cw-1-130 .premium-table-row th:nth-child(1) { width: 130px; }
.esc-cw-1-150 .premium-table-row th:nth-child(1) { width: 150px; }
.esc-cw-2-120 .premium-table-row th:nth-child(2) { width: 120px; }
.esc-cw-2-130 .premium-table-row th:nth-child(2) { width: 130px; }
.esc-cw-2-150 .premium-table-row th:nth-child(2) { width: 150px; }
.esc-cw-3-120 .premium-table-row th:nth-child(3) { width: 120px; }
.esc-cw-3-130 .premium-table-row th:nth-child(3) { width: 130px; }
.esc-cw-3-150 .premium-table-row th:nth-child(3) { width: 150px; }
.esc-cw-4-120 .premium-table-row th:nth-child(4) { width: 120px; }
.esc-cw-4-130 .premium-table-row th:nth-child(4) { width: 130px; }
.esc-cw-4-150 .premium-table-row th:nth-child(4) { width: 150px; }
.esc-cw-5-120 .premium-table-row th:nth-child(5) { width: 120px; }
.esc-cw-5-130 .premium-table-row th:nth-child(5) { width: 130px; }
.esc-cw-5-150 .premium-table-row th:nth-child(5) { width: 150px; }
.esc-cw-6-120 .premium-table-row th:nth-child(6) { width: 120px; }
.esc-cw-6-130 .premium-table-row th:nth-child(6) { width: 130px; }
.esc-cw-6-150 .premium-table-row th:nth-child(6) { width: 150px; }
.esc-cw-7-120 .premium-table-row th:nth-child(7) { width: 120px; }
.esc-cw-7-130 .premium-table-row th:nth-child(7) { width: 130px; }
.esc-cw-7-150 .premium-table-row th:nth-child(7) { width: 150px; }
.esc-last-nb .premium-table tbody tr:last-child td { border-bottom: 0 !important; }

/* ---------- pages 8-17 ---------- */
.esc-minw-170 { min-width: 170px; }
.esc-grow { flex: 1 1 auto; min-width: 0; }
.esc-nosubmit .elementor-field-type-submit { display: none; }
.esc-selwrap { min-width: 220px; }
.esc-w44 .premium-button { width: 44px; padding: 0 !important; }
.esc-m14 { color: #5A6478; font-size: 14px; }
.elementor-field-group:has(.esc-maxw-420) { max-width: 420px; }
.esc-leg { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px; line-height: 1.6; color: #1A3067; margin: 20px 0 -4px; }
.esc-leg-first .esc-leg { margin-top: 0; }
.esc-form .esc-opts.elementor-field-subgroup, .esc-form .esc-opts .elementor-field-subgroup { display: flex !important; flex-wrap: wrap; gap: 12px !important; }
.esc-form .esc-opts .elementor-field-option { display: flex; align-items: center; gap: 10px !important; min-height: 48px; padding: 0 16px !important; margin: 0 !important; border: 1px solid #D5DBE7; border-radius: 8px; font-weight: 600; box-sizing: border-box; }
.esc-opts .elementor-field-option input { width: 20px; height: 20px; accent-color: #1A3067; margin: 0; }
.esc-opts .elementor-field-option label { font-weight: 600; font-size: 16px; color: #333; line-height: 1.6; padding: 0; }
.esc-form-aanmeld .elementor-field-type-submit { order: 98; width: auto !important; flex: 0 0 auto !important; margin-top: 12px; }
.esc-form-aanmeld .elementor-field-group:has(.esc-rule-line) { order: 97; width: 100%; }
.esc-form-aanmeld .esc-rule-line { border-top: 1px solid #E3E7EF; margin-top: 20px; height: 0; }
.esc-form-aanmeld .elementor-field-group:has(.esc-note-text) { order: 99; width: auto !important; flex: 0 1 auto !important; align-self: center; margin-top: 9.6px; }
.esc-note-text { font-size: 14px; color: #5A6478; line-height: 1.6; }
.esc-form .esc-opts .elementor-field-option label, .esc-form .elementor-field-group.esc-opts .elementor-field-subgroup label { font-weight: 600 !important; color: #333 !important; font-size: 16px !important; }
.esc-form-aanmeld .elementor-field-type-acceptance a { color: #1A3067; }
.esc-cover { position: relative; overflow: hidden; }
.esc-cover .elementor-widget { position: static; }
.esc-cover .elementor-widget-image img, .esc-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.esc-italic, .esc-italic .elementor-heading-title { font-style: italic; }
.esc-form textarea.esc-ta96 { min-height: 96px; resize: vertical; }
.elementor.elementor.elementor .elementor-widget.esc-mw-480 { max-width: 480px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-520 { max-width: 520px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-580 { max-width: 580px; }
.elementor.elementor.elementor .elementor-widget.esc-mw-600 { max-width: 600px; }
.esc-hours.esc-hours-b .premium-table-row td:nth-child(2) .premium-table-text { font-weight: 700 !important; }
.esc-mt-auto { margin-top: auto !important; }
.esc-span2 { grid-column: span 2; }
.esc-price { font-family: "Barlow Condensed", sans-serif; font-size: 32px; font-weight: 700; color: #1A3067; line-height: 1; }
.esc-objpos-40 img { object-position: center 40% !important; }
.elementor.elementor.elementor .elementor-widget.esc-mw-720 { max-width: 720px; }
.esc-ar-169 { aspect-ratio: 16 / 9; }
.esc-ar-169 > .elementor-widget, .esc-ar-169 > .elementor-widget > .elementor-widget-container, .esc-ar-169 > .elementor-widget-container { height: 100%; }
.esc-ar-169 > .elementor-widget { flex: 1 1 auto; min-height: 0; }
.esc-ar-169 img { width: 100%; height: 100%; object-fit: cover; display: block; }
.esc-center .elementor-heading-title { text-align: center; }
.esc-tl:before { content: ""; position: absolute; left: 11px; top: 6px; bottom: 6px; width: 2px; background: #D5DBE7; }
.esc-tl-i { position: relative; }
.esc-tl-i:before { content: ""; position: absolute; left: -31px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid #1A3067; box-sizing: border-box; }
.esc-tl-i.esc-tl-last:before { background: #F98132; border-color: #F98132; }
.esc-inl .premium-title-text a, .esc-inl .premium-title-text strong { display: inline !important; }
.esc-form .elementor-field-group > label { width: 100%; }
.esc-form input.esc-chk-def { margin: 3px 3px 3px 4px !important; }
.esc-inl .premium-title-header a { position: static !important; width: auto !important; height: auto !important; display: inline !important; }
.esc-form input.esc-chk-top { margin: 2px 3px 3px 4px !important; }

/* ---------- global header/footer menus (Elementor Nav Menu widget) ---------- */
.elementor-widget-nav-menu.esc-topnav .elementor-nav-menu, .elementor-widget-nav-menu.esc-mainnav .elementor-nav-menu {
  display: flex; flex-wrap: wrap; align-items: center;
}
.elementor-widget-nav-menu.esc-topnav .elementor-nav-menu { gap: 4px 20px; }
.elementor-widget-nav-menu.esc-mainnav .elementor-nav-menu { gap: 4px; }
.elementor-widget-nav-menu.esc-topnav .elementor-nav-menu--main .elementor-item {
  padding: 0 !important; margin: 0; font-family: "Barlow", sans-serif; font-size: 14px; font-weight: 400; line-height: 1.6;
  color: #E6EBF5 !important; background: none !important; text-decoration: none;
}
.elementor-widget-nav-menu.esc-topnav .elementor-nav-menu--main .elementor-item:hover { color: #fff !important; text-decoration: underline; }
.elementor-widget-nav-menu.esc-mainnav .elementor-nav-menu--main .elementor-item {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px !important; margin: 0; box-sizing: border-box;
  font-family: "Barlow", sans-serif; font-size: 16px; font-weight: 600; line-height: 1.6; color: #333 !important;
  border-radius: 6px; background: none; text-decoration: none;
}
.elementor-widget-nav-menu.esc-mainnav .elementor-nav-menu--main .elementor-item:hover { color: #1A3067 !important; background: #F2F5FA; }
.elementor-widget-nav-menu.esc-footnav .elementor-nav-menu { display: flex; flex-direction: column; gap: 8px; }
.elementor-widget-nav-menu.esc-footnav .elementor-nav-menu--main .elementor-item {
  padding: 0 !important; margin: 0; font-family: "Barlow", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
  color: #D6DEEE !important; background: none; text-decoration: none;
}
.elementor-widget-nav-menu.esc-footnav .elementor-nav-menu--main .elementor-item:hover { color: #fff !important; text-decoration: underline; }
.elementor-widget-nav-menu .elementor-nav-menu--main li { margin: 0; }
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item::before, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item::after { display: none !important; }
/* active item per page (design marks e.g. Club on the Club subpages) */
.esc-page-home .esc-mainnav .esc-mi-home .elementor-item,
.esc-page-teams .esc-mainnav .esc-mi-teams .elementor-item, .esc-page-esc-1 .esc-mainnav .esc-mi-teams .elementor-item, .esc-page-trainingstijden .esc-mainnav .esc-mi-teams .elementor-item,
.esc-page-uitslagen .esc-mainnav .esc-mi-uitslagen .elementor-item, .esc-page-programma .esc-mainnav .esc-mi-programma .elementor-item,
.esc-page-commissies .esc-mainnav .esc-mi-club .elementor-item, .esc-page-jeugdcommissie .esc-mainnav .esc-mi-club .elementor-item,
.esc-page-over-esc .esc-mainnav .esc-mi-club .elementor-item, .esc-page-gedragscode .esc-mainnav .esc-mi-club .elementor-item,
.esc-page-lidmaatschap .esc-mainnav .esc-mi-lidmaatschap .elementor-item, .esc-page-faq .esc-mainnav .esc-mi-faq .elementor-item,
.esc-page-contact .esc-mainnav .esc-mi-contact .elementor-item {
  color: #1A3067 !important; border-radius: 0; box-shadow: inset 0 -3px 0 #F98132;
}
.esc-page-clubhuis .esc-topnav .esc-mi-clubhuis .elementor-item, .esc-page-vrijwilligers .esc-topnav .esc-mi-vrijwilligers .elementor-item,
.esc-page-sponsor-worden .esc-topnav .esc-mi-sponsor-worden .elementor-item, .esc-page-inloggen .esc-topnav .esc-mi-inloggen .elementor-item {
  color: #fff !important; font-weight: 700; text-decoration: underline; text-decoration-color: #F98132; text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.elementor-widget-nav-menu .elementor-nav-menu::before, .elementor-widget-nav-menu .elementor-nav-menu::after { display: none !important; }

/* ---------- news post grids (Loop Grid) ---------- */
.esc-newsgrid .elementor-loop-container { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important; gap: 24px !important; }
.esc-newsgrid .e-loop-item { display: flex; flex-direction: column; }
.esc-newsgrid .e-loop-item > .e-con { flex: 1 1 auto; }
.e-loop-item.esc-badge-cup .esc-catpill, .e-loop-item.esc-badge-cup .esc-catpill .premium-title-header { background: #FFE9D9 !important; }
.e-loop-item.esc-badge-cup .esc-catpill .premium-title-text { color: #8A3B08 !important; }

/* ---------- single post + news archive ---------- */
.esc-article, .esc-article .elementor-widget-container { font-family: "Barlow", sans-serif; font-size: 17px; line-height: 1.6; color: #333; }
.esc-article p { margin: 0 0 14px; }
.esc-article a { color: #1A3067; text-decoration: underline; }
.esc-newshero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog .esc-chip-all .premium-button, .category-esc-1 .esc-chip-esc-1 .premium-button, .category-jeugd .esc-chip-jeugd .premium-button, .category-club .esc-chip-club .premium-button {
  background: #1A3067 !important; border-color: #1A3067 !important; color: #fff !important;
}
.blog .esc-chip-all .premium-button-text-icon-wrapper span, .category-esc-1 .esc-chip-esc-1 .premium-button-text-icon-wrapper span,
.category-jeugd .esc-chip-jeugd .premium-button-text-icon-wrapper span, .category-club .esc-chip-club .premium-button-text-icon-wrapper span { color: #fff !important; }
.esc-newsgrid .elementor-pagination { margin-top: 32px; text-align: center; font-family: "Barlow", sans-serif; font-weight: 600; }
