/* Shared typography, layout tokens and controls. Page backgrounds stay local. */
:root {
    --mdh-font-family: 'aktiv-grotesk', 'Aktiv Grotesk Corp', Arial, sans-serif;
    --mdh-font-body: 17px;
    --mdh-font-ui: 15px;
    --mdh-font-small: 14px;
    --mdh-font-title: clamp(30px, 4vw, 48px);
    --mdh-font-heading: clamp(26px, 2.8vw, 34px);
    --mdh-font-subheading: 22px;
    --mdh-line-body: 1.65;
    --mdh-line-heading: 1.2;
    --mdh-heading-gap: 24px;
    --mdh-eyebrow-gap: 12px;
    --mdh-shell-width: 1160px;
    --mdh-shell-gutter: 40px;
    --mdh-logo-width: 200px;
    --mdh-radius-control: 8px;
    --mdh-button-height: 44px;
    --mdh-button-radius: 2px;
    --mdh-button-padding-inline: 16px;
    --mdh-button-font: 'aktiv-grotesk-extended', 'aktiv-grotesk', 'Aktiv Grotesk Corp', Arial, sans-serif;
    --mdh-button-divider: rgb(255 255 255 / 40%);
    --mdh-button-background: #dc004f;
    --mdh-button-color: #fff;
    --mdh-button-border: transparent;
    --mdh-button-hover-background: #b60042;
    --mdh-button-hover-border: transparent;
}
body {
    font-family: var(--mdh-font-family);
    font-size: var(--mdh-font-body);
    font-weight: 400;
    line-height: var(--mdh-line-body);
}
body :where(h1, h2, h3, h4, h5, h6, p, a, li, label, summary, input, button, textarea, select, .ui.button) { font-family: inherit; }
body :where(input, button, textarea, select) { font-size: var(--mdh-font-ui); }
body :is(.mdh-content, .mdh-article-body, .mdh-faq-answer) { font-size: var(--mdh-font-body); line-height: var(--mdh-line-body); }
body .mdh-page-content { overflow-wrap: anywhere; }
body .mdh-page-content .news-content,
body .mdh-page-content .news-content p,
body main .common-para,
body .header-text p,
body .mdh-builder-content p,
body .mdh-faq-heading > p:last-child,
body .mdh-faq-help p,
body .mdh-faq-empty { font-size: var(--mdh-font-body); font-weight: 400; line-height: var(--mdh-line-body); }
body :is(.mdh-content h1, .mdh-article-title, .mdh-faq-heading h1, .mainBanners .header-text h1) { font-size: var(--mdh-font-title); font-weight: 700; line-height: var(--mdh-line-heading); letter-spacing: -.02em; overflow-wrap: anywhere; hyphens: auto; }
body :is(h3.commono-heading, .mdh-article-body h2) { font-size: var(--mdh-font-heading); font-weight: 700; line-height: var(--mdh-line-heading); letter-spacing: -.015em; }
body :is(.mdh-faq-help h2, .mdh-post-card h2, .mdh-article-body h3, h5.common-local) { font-size: var(--mdh-font-subheading); font-weight: 700; line-height: 1.35; }
body :is(.commonsub-heading, .mdh-eyebrow, .mdh-faq-eyebrow) { font-size: var(--mdh-font-small); font-weight: 500; line-height: 1.5; letter-spacing: .02em; }
body .mdh-article-body :is(h4, h5, h6) { font-size: 20px; font-weight: 700; }
body .mdh-faq-page .mdh-faq-item summary { font-size: 18px; font-weight: 500; }

/* Preserve the homepage's original brand scale and open letter spacing. */
body.home .mainBanners .header-text h1 { font-size: 40px; line-height: 1.125; letter-spacing: 0; word-spacing: 0; hyphens: none; }
body.home h3.commono-heading { font-size: 38px; line-height: 1.2; letter-spacing: 0; }
body.home .sixth h3.commono-heading { font-size: 40px; }
body.home .header-text p { font-size: 14px; line-height: 1.6; }
body.home main .common-para { font-size: 15px; line-height: 1.6; }
body.home .commonsub-heading { font-size: 14px; letter-spacing: 0; }

/* Heading spacing is independent from the legacy per-section margins. */
body :is(.mdh-content h1, .mdh-faq-heading h1, .mainBanners .header-text h1, h3.commono-heading) { margin: 0 0 var(--mdh-heading-gap); }
body :is(.commonsub-heading, .mdh-faq-eyebrow, .mdh-eyebrow) { margin: 0 0 var(--mdh-eyebrow-gap); }
body .mdh-article-body :is(h2, h3, h4, h5, h6) { margin-bottom: var(--mdh-heading-gap); }
body .mdh-page-content .news-content :is(h2, h3, h4, h5, h6) { margin: 36px 0 var(--mdh-heading-gap); line-height: var(--mdh-line-heading); }
body .mdh-page-content .news-content > :first-child { margin-top: 0; }
.front-newsletter-copy :is(h1, h2, h3, h4, h5, h6):empty:not([id]) { display: none; }
.front-newsletter-copy > :last-child { margin-bottom: 0; }

/* Brand buttons: compact bold labels, square edges and a separate arrow slot.
   [class] keeps these rules ahead of the legacy section/button selectors. */
body :is(.mdh-button, .pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs, .mdh-search-form button, .wp-block-button__link)[class] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    max-width: 100%;
    min-width: var(--mdh-button-height);
    min-height: var(--mdh-button-height);
    padding: 11px var(--mdh-button-padding-inline);
    border: 1px solid var(--mdh-button-border);
    border-radius: var(--mdh-button-radius);
    background: var(--mdh-button-background);
    color: var(--mdh-button-color);
    font-family: var(--mdh-button-font);
    font-size: 13px;
    font-weight: 700;
    font-synthesis: none;
    line-height: 20px;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
body :is(.mdh-button, .pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs, .mdh-search-form button, .wp-block-button__link)[class]:hover {
    background: var(--mdh-button-hover-background);
    border-color: var(--mdh-button-hover-border);
    color: var(--mdh-button-hover-color, var(--mdh-button-color));
    text-decoration: none;
}
body :is(.mdh-button, .pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class]:is(:disabled, [aria-disabled='true']) { opacity: .55; cursor: not-allowed; }
body :is(.mdh-button, .pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span { position: static; color: inherit !important; font-size: inherit; line-height: inherit; flex-shrink: 0; }
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span,
body .mdh-button:not(.mdh-button--icon) > span[aria-hidden='true']:last-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    flex: 0 0 42px;
    width: 42px;
    height: auto;
    margin: -11px calc(-1 * var(--mdh-button-padding-inline)) -11px 4px !important;
    padding: 0;
    border-left: 1px solid var(--mdh-button-divider);
    background: transparent;
}
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class]::before,
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span::before,
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span::after { content: none; }
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span i { margin: 0 !important; color: inherit !important; font-size: 12px; line-height: 1; }
/* Draw the same chevron for legacy icon fonts and newer text-arrow markup. */
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span,
body .mdh-button:not(.mdh-button--icon) > span[aria-hidden='true']:last-child { font-size: 0; }
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span i { display: none; }
body :is(.pink-btn, .grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs)[class] > span::after,
body .mdh-button:not(.mdh-button--icon) > span[aria-hidden='true']:last-child::after {
    content: ''; display: block; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg);
}

body .mdh-button.mdh-button--icon[class] { width: var(--mdh-button-height); padding: 0; }
body :is(.grey-btn, .tn-suposed-pink, .grey-btn-load-more-jobs) {
    --mdh-button-background: #d8d8d8;
    --mdh-button-color: #303944;
    --mdh-button-hover-background: #c5cbd1;
    --mdh-button-divider: rgb(48 57 68 / 25%);
}
/* Legacy gray hover rules have inline priority. Keep the shared palette authoritative. */
body .grey-btn:hover { background: var(--mdh-button-hover-background) !important; color: var(--mdh-button-hover-color, var(--mdh-button-color)) !important; }
body :is(.wrap-text-third, .brn-pin) .tn-suposed-pink {
    --mdh-button-background: #dc004f;
    --mdh-button-color: #fff;
    --mdh-button-hover-background: #b60042;
    --mdh-button-divider: rgb(255 255 255 / 40%);
}
body .mdh-search-form input { box-sizing: border-box; min-height: var(--mdh-button-height); height: var(--mdh-button-height); padding: 11px 12px; border-radius: var(--mdh-radius-control); font-size: var(--mdh-font-ui); line-height: 20px; }

/* Keep the homepage media inside its column at intermediate widths. */
.mainBanners .header-image { margin-right: 0; max-width: 100%; }

/* Header and footer share width, logo size and navigation typography. */
#myHeader.mdh-site-header { position: sticky; top: 0; z-index: 100; padding: 0; border-bottom: 1px solid #e4e8ec; }
.admin-bar #myHeader { top: 32px; }
.mdh-header-shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; max-width: var(--mdh-shell-width); margin: 0 auto; padding: 20px var(--mdh-shell-gutter); }
.mdh-header-logo { display: block; flex: 0 0 auto; }
.mdh-header-logo img { display: block; width: var(--mdh-logo-width); height: auto; }
.mdh-header-navigation ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 24px; margin: 0; padding: 0; list-style: none; }
.mdh-header-navigation ul > li { margin: 0; padding: 0; line-height: 1.5; }
#myHeader .mdh-header-navigation ul > li > a,
.mdh-site-footer .mdh-footer-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: var(--mdh-font-ui); font-weight: 500; line-height: 1.5; }
#myHeader .mdh-header-navigation ul > li > a { margin: 0; color: #20242a; text-decoration: none; }
#myHeader .mdh-header-navigation ul > li > a:hover,
#myHeader .mdh-header-navigation .current-menu-item > a { color: #b60042; text-decoration: underline; text-underline-offset: 6px; }
.mdh-header-navigation-mobile { display: none; }
.mdh-footer-actions .mdh-button { white-space: nowrap; margin: 0; }
.mdh-footer-actions .mdh-button:hover { text-decoration: none; }
.mdh-footer-actions .mdh-button > span[aria-hidden] { font-size: 20px; line-height: 1; }
#myHeader.mdh-builder-header { padding: 0; z-index: 100; border-bottom: 1px solid #e4e8ec; }
.mdh-builder-header > .container { max-width: var(--mdh-shell-width); padding: 16px var(--mdh-shell-gutter); }
#myHeader.mdh-builder-header #step-header { display: grid; grid-template-columns: var(--mdh-logo-width) minmax(100px, 1fr) auto auto; gap: 24px; align-items: center; margin: 0; padding: 0; min-height: 0; position: relative; }
.mdh-builder-header #step-header > div { min-width: 0; }
.mdh-builder-header .logo img { width: var(--mdh-logo-width); }
.mdh-builder-header .steps-slider { position: static; inset: auto; display: flex; align-items: center; gap: 8px; }
.mdh-builder-header .steps-slider a { display: flex; align-items: center; flex: 1; min-height: 44px; }
.mdh-builder-header .step-slide { display: block; width: 100%; height: 3px; border-radius: 3px; background: #c5cbd1; }
.mdh-builder-header .step-slide.pri-bg { background: #dc004f; }
.mdh-builder-header .header-reset-button { margin: 0; }
.mdh-builder-header .navigation > ul { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; }
.mdh-builder-header .navigation > ul > li { position: relative; margin: 0; padding: 0; }
.mdh-builder-header .navigation .bsk-wish-counter { right: -8px; font-size: var(--mdh-font-small); font-weight: 500; }
/* The addon previously reserved a separate gray icon slot with inline priority. */
.mdh-builder-header .wishlist-popup-action { padding: 11px 16px !important; }

body .mdh-button.mdh-button--compact { --mdh-button-padding-inline: 12px; }
body :is(.ui.popup, .ui.modal, .ui.button) { font-family: var(--mdh-font-family); }
.mdh-builder-header .navigation a { font-size: var(--mdh-font-ui); font-weight: 500; }
@media (max-width: 1099px) {
    .mdh-header-shell { gap: 20px; }
    #myHeader.mdh-builder-header #step-header { grid-template-columns: var(--mdh-logo-width) minmax(100px, 1fr) auto; gap: 16px; }
    .mdh-builder-header #step-header > .text-right { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 767px) {
    :root { --mdh-shell-gutter: 24px; --mdh-logo-width: 170px; --mdh-heading-gap: 20px; }
    body.home .mainBanners .header-text h1 { font-size: 24px; line-height: 1.25; }
    body.home h3.commono-heading,
    body.home .sixth h3.commono-heading { font-size: 24px; line-height: 1.4; }
    .mdh-header-shell { flex-wrap: wrap; gap: 8px 20px; padding-block: 16px; }
    #myHeader.mdh-builder-header #step-header { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; }
    .mdh-builder-header #step-header > .text-right { display: none; }
    .mdh-builder-header .steps-slider { grid-column: 1 / -1; grid-row: 2; }
    .mdh-builder-header .restart-wrapper { grid-column: 2; grid-row: 1; }
    .mdh-header-navigation-desktop { display: none; }
    .mdh-header-navigation-mobile { display: block; }
    .mdh-header-navigation ul { gap: 4px 16px; }
    body .mdh-faq-page .mdh-faq-item summary { font-size: var(--mdh-font-body); }
    .mdh-header-navigation { min-width: 0; }
    .mdh-header-navigation ul { justify-content: flex-start; }
}
@media (max-width: 479px) {
    :root { --mdh-logo-width: 150px; }
    .mdh-header-shell { gap: 8px 16px; }
    .mdh-footer-back-label { display: none; }
    .mdh-footer-actions .mdh-button.mdh-footer-back[class] { width: var(--mdh-button-height); padding: 0; }
    .mdh-footer-actions { gap: 8px; }
}
@media (max-width: 782px) { .admin-bar #myHeader { top: 46px; } }
@media (max-width: 600px) { .admin-bar #myHeader { top: 0; } }
