/* ==========================================================================
   Bethesda Gyermekkórház – Önkéntesség, theme-integrated design
   ([bethesda_onkentesseg design="bethesda"], templates/volunteer-page-bethesda.php).
   Final design 2026-10-18 (redesign-20261018/mockups/final). Enqueued only on design pages.
   Every rule is scoped under #bhv-onkentesseg (ID specificity), so it wins over Divi /
   child theme / customizer rules whatever the stylesheet order is, and it looks the same
   inside .entry-content and directly inside <main>. No external fonts: Brandon-bold and
   Montserrat come from the site. Only #e41b48 is saturated; surfaces are white / cool mist.
   ========================================================================== */

/* ---------- tokens ---------- */
#bhv-onkentesseg {
    --bhv-red: #e41b48;
    --bhv-red-hover: #c8143e;
    --bhv-red-deep: #a50f33;
    --bhv-red-tint: #fde8ed;
    --bhv-ink: #3a3a3a;
    --bhv-ink-strong: #222222;
    --bhv-muted: #5b5b5f;
    --bhv-mist: #f0f1f4;
    --bhv-line: #dcdde2;
    --bhv-line-mist: #d3d4da;
    --bhv-field: #85858b;
    --bhv-white: #ffffff;

    --bhv-font-display: "Brandon-bold", "Montserrat", Helvetica, Arial, sans-serif;
    --bhv-font-body: "Montserrat", Helvetica, Arial, Lucida, sans-serif;

    --bhv-gap: clamp(1.25rem, 2.8vw, 2.5rem);
    --bhv-numcol: clamp(7.5rem, 12vw, 10.75rem);
    --bhv-section-y: clamp(4rem, 8vw, 7.5rem);
    --bhv-radius: 14px;
    --bhv-radius-lg: clamp(16px, 1.8vw, 24px);
    --bhv-radius-photo: clamp(14px, 1.6vw, 22px);
    --bhv-bleed: 0px;

    position: relative;
    isolation: isolate;
    display: flow-root;
    overflow-x: clip;
    margin: 0;
    padding: 0;
    background: var(--bhv-white);
    color: var(--bhv-ink);
    font-family: var(--bhv-font-body);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.7;
    font-synthesis: none;
    text-align: left;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-size-adjust: 100%;
}

/* ---------- reset of what Divi touches ---------- */
#bhv-onkentesseg *,
#bhv-onkentesseg *::before,
#bhv-onkentesseg *::after { box-sizing: border-box; }

#bhv-onkentesseg :is(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, figcaption, form, label) {
    margin: 0;
    padding: 0;
    border: 0;
}

#bhv-onkentesseg :is(h1, h2, h3, h4) {
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-style: normal;
    font-synthesis: none;
    color: var(--bhv-ink-strong);
    line-height: 1.1;
    letter-spacing: -0.01em;
    text-transform: none;
    padding-bottom: 0;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: anywhere;
}

#bhv-onkentesseg p { padding: 0; margin: 0; }
#bhv-onkentesseg strong { font-size: inherit; font-weight: 700; }
#bhv-onkentesseg a { color: var(--bhv-red); text-decoration: none; }
#bhv-onkentesseg img { max-width: 100%; }
#bhv-onkentesseg ul,
#bhv-onkentesseg li { margin: 0; padding: 0; list-style: none; line-height: inherit; }
#bhv-onkentesseg .bhv-nowrap { white-space: nowrap; }
/* heading fragments that should break as units ("Magánszemélyeknek –" / "18 éven felülieknek") */
#bhv-onkentesseg .bhv-keep { display: inline-block; max-width: 100%; }

/* contract hooks */
.bhv [hidden],
#bhv-onkentesseg [hidden] { display: none !important; }

#bhv-onkentesseg .bhv-sr-only,
#bhv-onkentesseg .bhv-honeypot {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* focus: visible everywhere (Divi resets outline:0 on links) */
#bhv-onkentesseg :is(a, button, summary):focus-visible {
    outline: 3px solid var(--bhv-ink-strong);
    outline-offset: 3px;
}
#bhv-onkentesseg :is(.bhv-hero, .bhv-corporate) :is(a, button):focus-visible {
    outline-color: var(--bhv-white);
}

/* in-page anchor targets (focusable headings; Divi smooth scroll is disabled on the links) */
#bhv-onkentesseg .bhv-anchor { scroll-margin-top: 3.5rem; }
#bhv-onkentesseg .bhv-anchor:focus { outline: none; }
#bhv-onkentesseg .bhv-anchor:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 0.3em;
    border-radius: 4px;
}

/* ---------- layout primitives ---------- */
#bhv-onkentesseg .bhv-wrap {
    width: 80%;
    max-width: 1170px;
    margin-inline: auto;
}

#bhv-onkentesseg .bhv-section { padding-block: var(--bhv-section-y); }

/* ---------- buttons (one family) ---------- */
#bhv-onkentesseg .bhv-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6em;
    min-height: 3.5rem;
    margin: 0;
    padding: 0.875rem 1.875rem;
    border: 2px solid transparent;
    border-radius: 999px;
    font-family: var(--bhv-font-body);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#bhv-onkentesseg .bhv-button--primary { background: var(--bhv-red); border-color: var(--bhv-red); color: var(--bhv-white); }
#bhv-onkentesseg .bhv-button--primary:hover { background: var(--bhv-red-hover); border-color: var(--bhv-red-hover); color: var(--bhv-white); }
#bhv-onkentesseg .bhv-button--light { background: var(--bhv-white); border-color: var(--bhv-white); color: var(--bhv-red); }
#bhv-onkentesseg .bhv-button--light:hover { background: var(--bhv-red-tint); border-color: var(--bhv-red-tint); color: var(--bhv-red-deep); }
#bhv-onkentesseg .bhv-icon { flex: none; width: 1.25em; height: 1.25em; }
/* external partner links: the label may wrap, the arrow stays glued to the last word */
#bhv-onkentesseg .bhv-button--ext { padding-inline: 1.5rem; }
#bhv-onkentesseg .bhv-button__label { display: block; text-align: center; }
#bhv-onkentesseg .bhv-button__label .bhv-icon { display: inline-block; margin-left: 0.4em; vertical-align: -0.28em; }

/* ---------- photos ---------- */
#bhv-onkentesseg .bhv-photo {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: var(--bhv-radius-photo);
    background: #d6d7dc;
}
#bhv-onkentesseg .bhv-photo img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

/* ==========================================================================
   1. HERO – raspberry poster
   ========================================================================== */
#bhv-onkentesseg .bhv-hero {
    --bhv-hero-pb: 2.5rem;
    position: relative;
    z-index: 2;
    background: var(--bhv-red);
    color: var(--bhv-white);
    padding-block: clamp(2.25rem, 1rem + 3.5vw, 3.5rem) var(--bhv-hero-pb);
}
#bhv-onkentesseg .bhv-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.5rem;
}
#bhv-onkentesseg .bhv-hero__text { min-width: 0; container-type: inline-size; }
#bhv-onkentesseg .bhv-hero__title {
    color: var(--bhv-white);
    font-size: clamp(2.25rem, 1rem + 6vw, 6rem);
    line-height: 1;
    letter-spacing: -0.015em;
}
@supports (width: 1cqi) {
    /* "Gyermekkórház" is about 6.55em wide: it always fits the text column */
    #bhv-onkentesseg .bhv-hero__title { font-size: clamp(2.125rem, min(15cqi, 1.5rem + 7.5vw), 6rem); }
}
#bhv-onkentesseg .bhv-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.5rem;
    margin-top: clamp(1.75rem, 3vw, 2.75rem);
}
#bhv-onkentesseg .bhv-hero__cta { flex: 1 1 100%; }
#bhv-onkentesseg .bhv-hero__cta .bhv-icon { width: 1.25rem; height: 1.25rem; margin-right: -0.25rem; }
#bhv-onkentesseg .bhv-hero__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    color: var(--bhv-white);
    font-family: var(--bhv-font-body);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.32em;
    text-decoration-color: rgba(255, 255, 255, 0.55);
    transition: text-decoration-color 0.2s ease;
}
#bhv-onkentesseg .bhv-hero__link:hover { color: var(--bhv-white); text-decoration-color: var(--bhv-white); }

/* photo collage: C05 (large) + C02 (small, white ring) breaking the hero's bottom edge */
#bhv-onkentesseg .bhv-hero__media {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(20, minmax(0, 1fr));
    margin-bottom: calc(-1 * (var(--bhv-hero-pb) + 8%));
}
#bhv-onkentesseg .bhv-photo--hero-a { grid-column: 1 / 16; grid-row: 1; aspect-ratio: 4 / 3; }
#bhv-onkentesseg .bhv-photo--hero-a img { object-position: 30% 45%; }
#bhv-onkentesseg .bhv-photo--hero-b {
    grid-column: 11 / 21;
    grid-row: 1;
    align-self: end;
    aspect-ratio: 1;
    margin-bottom: -22%;
    box-shadow: 0 0 0 6px var(--bhv-white);
}
/* C02: only x 10–54 % / y 4–70 % of the frame (the volunteer and the plant);
   the branded soil bags on the right stay outside the tile */
#bhv-onkentesseg .bhv-photo--hero-b img {
    position: absolute;
    top: -6.06%;
    left: -22.73%;
    width: 227.27%;
    height: auto;
    max-width: none;
    object-fit: fill;
}

/* ==========================================================================
   2. STATEMENT – mist band, the intro as a typographic moment
   ========================================================================== */
#bhv-onkentesseg .bhv-statement {
    position: relative;
    z-index: 1;
    background: var(--bhv-mist);
    padding-block: calc(24% + 2rem) clamp(4rem, 8vw, 7rem);
}
#bhv-onkentesseg .bhv-statement__grid { display: grid; grid-template-columns: minmax(0, 1fr); }
#bhv-onkentesseg .bhv-statement__grid > * { grid-column: 1; }
#bhv-onkentesseg .bhv-statement__dots { margin-bottom: clamp(1.25rem, 2.2vw, 2rem); }
#bhv-onkentesseg .bhv-statement__text {
    max-width: 22em;
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: clamp(1.625rem, 1rem + 2.2vw, 2.875rem);
    line-height: 1.17;
    letter-spacing: -0.01em;
    color: var(--bhv-ink-strong);
}
/* large text (>= 26 px): #e41b48 on mist passes the 3:1 large-text threshold */
#bhv-onkentesseg .bhv-statement__em { color: var(--bhv-red); }

/* ==========================================================================
   3. SECTION OPENERS – large Brandon numerals above the heading
   ========================================================================== */
#bhv-onkentesseg .bhv-opener {
    display: block;
    margin: 0;
    container-type: inline-size;
    font-family: var(--bhv-font-display);
    color: var(--bhv-ink-strong);
}
#bhv-onkentesseg .bhv-numeral {
    display: block;
    margin: 0 0 clamp(0.875rem, 1.6vw, 1.375rem) -0.07em; /* optical: stem on the grid edge */
    font-size: clamp(4.5rem, 1.75rem + 7.5vw, 9rem);
    line-height: 0.78;
    letter-spacing: -0.015em;
    color: var(--bhv-red);
}
#bhv-onkentesseg .bhv-opener__text {
    display: block;
    font-size: clamp(1.75rem, 1.125rem + 3vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.015em;
}
@supports (width: 1cqi) {
    /* "Magánszemélyeknek –" (about 9.3em) always fits on one line from 640 px */
    #bhv-onkentesseg .bhv-opener__text { font-size: clamp(1.625rem, min(10cqi, 1.125rem + 3vw), 3rem); }
}

/* ==========================================================================
   4. I. REGISTRATION – heading, choice cards and photo | the form card
   ========================================================================== */
#bhv-onkentesseg .bhv-register { background: var(--bhv-white); }
#bhv-onkentesseg .bhv-register__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "tabs" "forms" "photo";
}
#bhv-onkentesseg .bhv-register__intro { grid-area: intro; min-width: 0; }
#bhv-onkentesseg .bhv-register__lead {
    max-width: 26em;
    margin-top: clamp(1.25rem, 2vw, 1.75rem);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--bhv-ink-strong);
    text-wrap: pretty;
}
/* without JS both forms are shown and there is nothing to choose */
#bhv-onkentesseg:not(.bhv-enhanced) .bhv-register__lead { display: none; }

/* choice cards = the contract's [data-bhv-tab] buttons (hidden until volunteer.js enhances) */
#bhv-onkentesseg .bhv-tabs { display: none; grid-area: tabs; }
#bhv-onkentesseg.bhv-enhanced .bhv-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.5rem calc(-1 * var(--bhv-bleed)) 0;
    font-size: 1rem;
}
#bhv-onkentesseg .bhv-tab {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.125rem;
    width: 100%;
    min-height: 7.5rem;
    margin: 0;
    padding: 1.125rem 1.25rem 1.125rem;
    border: 1.5px solid var(--bhv-field);
    border-radius: var(--bhv-radius);
    background: var(--bhv-white);
    color: var(--bhv-ink-strong);
    font-family: var(--bhv-font-body);
    font-size: inherit;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#bhv-onkentesseg .bhv-tab:hover { border-color: var(--bhv-red); }
#bhv-onkentesseg .bhv-tab[aria-selected="true"] {
    background: var(--bhv-red);
    border-color: var(--bhv-red);
    color: var(--bhv-white);
    box-shadow: 0 14px 28px -18px rgba(165, 15, 51, 0.7);
}
#bhv-onkentesseg .bhv-tab__mark {
    flex: none;
    display: block;
    width: 1.375rem;
    height: 1.375rem;
    border: 2px solid currentColor;
    border-radius: 50%;
}
#bhv-onkentesseg .bhv-tab[aria-selected="true"] .bhv-tab__mark {
    border-color: var(--bhv-white);
    background: radial-gradient(circle, var(--bhv-white) 0 38%, transparent 42%);
}
#bhv-onkentesseg .bhv-tab__text { display: flex; flex-direction: column; min-width: 0; }
#bhv-onkentesseg .bhv-tab__word {
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: clamp(1.5rem, 1.15rem + 0.9vw, 2rem);
    line-height: 1;
    letter-spacing: -0.01em;
}
#bhv-onkentesseg .bhv-tab__rest {
    margin-top: 0.3rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
}

/* forms column */
#bhv-onkentesseg .bhv-register__forms {
    grid-area: forms;
    min-width: 0;
    display: grid;
    gap: 1.5rem;
    align-content: start;
    margin: 1.5rem calc(-1 * var(--bhv-bleed)) 0;
}
#bhv-onkentesseg .bhv-panel { min-width: 0; }

/* tall photo under the choice cards (desktop) / after the form (phones) */
#bhv-onkentesseg .bhv-register__aside { grid-area: photo; min-width: 0; margin: 2rem 0 0; }
#bhv-onkentesseg .bhv-register__photo { aspect-ratio: 3 / 2; }
#bhv-onkentesseg .bhv-register__photo img { object-position: 50% 62%; }

/* ---------- the form card ---------- */
#bhv-onkentesseg .bhv-form {
    container-type: inline-size;
    background: var(--bhv-white);
    border: 1px solid var(--bhv-line);
    border-radius: var(--bhv-radius-lg);
    box-shadow: 0 1px 2px rgba(34, 34, 34, 0.04), 0 28px 60px -36px rgba(34, 34, 34, 0.32);
    padding: clamp(1.25rem, 3.2vw, 2.75rem);
}
#bhv-onkentesseg .bhv-form__head {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--bhv-line);
}
#bhv-onkentesseg .bhv-form__title {
    font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
}
#bhv-onkentesseg .bhv-form__required { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.5; color: var(--bhv-muted); }

#bhv-onkentesseg .bhv-form__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.375rem 1.25rem;
}
#bhv-onkentesseg .bhv-field { min-width: 0; font-size: 0.9375rem; }
#bhv-onkentesseg .bhv-label {
    display: block;
    margin: 0 0 0.5rem;
    font-family: var(--bhv-font-body);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.4;
    color: var(--bhv-ink-strong);
    cursor: pointer;
}
#bhv-onkentesseg .bhv-req { color: var(--bhv-red-deep); }
#bhv-onkentesseg .bhv-optional { font-weight: 500; color: var(--bhv-muted); }

#bhv-onkentesseg .bhv-input {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    min-height: 3.25rem;
    margin: 0;
    padding: 0.75rem 1rem;
    border: 1px solid var(--bhv-field);
    border-radius: 10px;
    background: var(--bhv-white);
    box-shadow: none;
    color: var(--bhv-ink-strong);
    font-family: var(--bhv-font-body);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
#bhv-onkentesseg .bhv-input--area { min-height: 11.5rem; resize: vertical; }
#bhv-onkentesseg .bhv-input:hover { border-color: var(--bhv-ink); }
#bhv-onkentesseg .bhv-input:focus {
    outline: 2px solid var(--bhv-red);
    outline-offset: -1px;
    border-color: var(--bhv-red);
    box-shadow: 0 0 0 5px rgba(228, 27, 72, 0.16);
    color: var(--bhv-ink-strong);
}
#bhv-onkentesseg .bhv-input[aria-invalid="true"] {
    border-color: var(--bhv-red-deep);
    box-shadow: inset 0 0 0 1px var(--bhv-red-deep);
}

#bhv-onkentesseg .bhv-file {
    display: block;
    width: 100%;
    min-height: 3.5rem;
    margin: 0;
    padding: 0.625rem;
    border: 1.5px dashed var(--bhv-field);
    border-radius: 12px;
    background: var(--bhv-white);
    color: var(--bhv-muted);
    font-family: var(--bhv-font-body);
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
}
#bhv-onkentesseg .bhv-file::file-selector-button {
    margin: 0 1rem 0 0;
    padding: 0.625rem 1.25rem;
    border: 2px solid var(--bhv-ink-strong);
    border-radius: 999px;
    background: var(--bhv-white);
    color: var(--bhv-ink-strong);
    font-family: var(--bhv-font-body);
    font-size: inherit;
    font-weight: 700;
    cursor: pointer;
}
#bhv-onkentesseg .bhv-file:hover::file-selector-button { border-color: var(--bhv-red); color: var(--bhv-red); }
#bhv-onkentesseg .bhv-file:focus-visible { outline: 3px solid var(--bhv-ink-strong); outline-offset: 2px; }
#bhv-onkentesseg .bhv-file[aria-invalid="true"] { border-color: var(--bhv-red-deep); border-style: solid; border-width: 2px; }

#bhv-onkentesseg .bhv-help {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--bhv-muted);
}
#bhv-onkentesseg .bhv-field-error {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--bhv-red-deep);
}
/* icon drawn by CSS: volunteer.js overwrites the span's textContent */
#bhv-onkentesseg .bhv-field-error::before {
    content: "";
    flex: none;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0.05rem;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23a50f33'/%3E%3Cpath d='M10 5.2v6' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14.6' r='1.3' fill='%23fff'/%3E%3C/svg%3E");
}

/* consents */
#bhv-onkentesseg .bhv-consents {
    display: grid;
    gap: 0.25rem;
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--bhv-line);
}
#bhv-onkentesseg .bhv-check { font-size: 1rem; }
#bhv-onkentesseg .bhv-check label {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    min-height: 2.75rem;
    padding: 0.5rem 0;
    font-family: var(--bhv-font-body);
    font-size: inherit;
    font-weight: 500;
    line-height: 1.5;
    color: var(--bhv-ink-strong);
    cursor: pointer;
}
#bhv-onkentesseg .bhv-check label a { color: var(--bhv-red); text-decoration: underline; text-underline-offset: 0.18em; }
#bhv-onkentesseg .bhv-check input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    display: grid;
    place-content: center;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    border: 2px solid var(--bhv-ink-strong);
    border-radius: 6px;
    background: var(--bhv-white);
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
#bhv-onkentesseg .bhv-check input[type="checkbox"]:checked {
    border-color: var(--bhv-red);
    background: var(--bhv-red) no-repeat center / 78% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.5 8.3 14 15.5 6.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
#bhv-onkentesseg .bhv-check input[type="checkbox"]:focus-visible { outline: 3px solid var(--bhv-ink-strong); outline-offset: 2px; }
#bhv-onkentesseg .bhv-check input[type="checkbox"][aria-invalid="true"] { border-color: var(--bhv-red-deep); box-shadow: 0 0 0 3px rgba(165, 15, 51, 0.18); }
#bhv-onkentesseg .bhv-check .bhv-field-error { margin: 0 0 0.5rem 2.375rem; }

#bhv-onkentesseg .bhv-form__actions { margin-top: 1.75rem; font-size: 1.0625rem; }
#bhv-onkentesseg .bhv-submit { width: 100%; min-height: 3.75rem; padding-inline: 1.5rem; font-size: inherit; }
#bhv-onkentesseg [data-bhv-submit]:disabled { cursor: progress; opacity: 0.72; }
#bhv-onkentesseg .bhv-form[aria-busy="true"] .bhv-form__grid { opacity: 0.6; transition: opacity 0.2s ease; }

/* two field columns once the card is wide enough (container query on the form) */
@container (min-width: 30rem) {
    #bhv-onkentesseg .bhv-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #bhv-onkentesseg .bhv-field--full { grid-column: 1 / -1; }
    #bhv-onkentesseg .bhv-submit { width: auto; min-width: 16rem; padding-inline: 1.875rem; }
}

/* feedback (JS summary + PHP no-JS box) */
#bhv-onkentesseg .bhv-feedback {
    position: relative;
    margin: 0 0 1.75rem;
    padding: 1.125rem 1.25rem 1.125rem 3.5rem;
    border-radius: var(--bhv-radius);
    font-family: var(--bhv-font-body);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
}
#bhv-onkentesseg .bhv-register__forms > .bhv-feedback { margin: 0; }
#bhv-onkentesseg .bhv-feedback::before {
    content: "";
    position: absolute;
    left: 1.125rem;
    top: 1.125rem;
    width: 1.5rem;
    height: 1.5rem;
    background: no-repeat center / contain;
}
#bhv-onkentesseg .bhv-feedback:focus,
#bhv-onkentesseg .bhv-feedback:focus-visible { outline: 3px solid var(--bhv-ink-strong); outline-offset: 3px; }
#bhv-onkentesseg .bhv-feedback-error {
    background: var(--bhv-white);
    border: 2px solid var(--bhv-red-deep);
    color: var(--bhv-red-deep);
}
#bhv-onkentesseg .bhv-feedback-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23a50f33'/%3E%3Cpath d='M10 5.2v6' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14.6' r='1.3' fill='%23fff'/%3E%3C/svg%3E");
}
#bhv-onkentesseg .bhv-feedback-success {
    padding: 1.375rem 1.5rem 1.375rem 4rem;
    background: var(--bhv-white);
    border: 2px solid var(--bhv-red);
    border-left-width: 8px;
    color: var(--bhv-ink-strong);
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.625rem);
    line-height: 1.2;
}
#bhv-onkentesseg .bhv-feedback-success::before {
    left: 1.25rem;
    top: 1.3rem;
    width: 1.75rem;
    height: 1.75rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9.5' fill='%23e41b48'/%3E%3Cpath d='M5.6 10.3 8.6 13.2 14.4 7.2' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
#bhv-onkentesseg .bhv-feedback ul {
    margin: 0.625rem 0 0;
    padding: 0 0 0 1.125rem;
    list-style: disc;
    font-weight: 600;
    line-height: 1.5;
}
#bhv-onkentesseg .bhv-feedback li { margin: 0.25rem 0 0; padding: 0; list-style: disc; }
#bhv-onkentesseg .bhv-feedback a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

/* ==========================================================================
   5. PARTNER ROUTES – comparison table (desktop), stacked cards (phones)
   ========================================================================== */
#bhv-onkentesseg .bhv-partners {
    background: var(--bhv-mist);
    padding-block: var(--bhv-section-y);
}
#bhv-onkentesseg .bhv-partners__head { display: grid; grid-template-columns: minmax(0, 1fr); }
#bhv-onkentesseg .bhv-partners__title {
    max-width: 17em;
    font-size: clamp(1.875rem, 1.1rem + 2.8vw, 3.5rem);
    line-height: 1.05;
    letter-spacing: -0.015em;
}
#bhv-onkentesseg .bhv-partners__lead {
    max-width: 36em;
    margin-top: clamp(1.25rem, 2.5vw, 2rem);
    font-size: clamp(1.0625rem, 0.95rem + 0.45vw, 1.3125rem);
    font-weight: 600;
    line-height: 1.6;
    color: var(--bhv-ink-strong);
}
#bhv-onkentesseg .bhv-note {
    max-width: 44rem;
    margin-top: clamp(1.75rem, 3vw, 2.5rem);
    padding: 1.375rem 1.5rem 1.5rem;
    border-left: 6px solid var(--bhv-red);
    border-radius: 0 var(--bhv-radius) var(--bhv-radius) 0;
    background: var(--bhv-white);
}
#bhv-onkentesseg .bhv-note p { font-size: 1.0625rem; line-height: 1.65; color: var(--bhv-ink); }
#bhv-onkentesseg .bhv-note strong { color: var(--bhv-ink-strong); }
#bhv-onkentesseg .bhv-note .bhv-note__label {
    display: block;
    margin-bottom: 0.375rem;
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: 1.4em;
    line-height: 1.15;
    color: var(--bhv-red);
}

#bhv-onkentesseg .bhv-compare {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    margin: clamp(2.5rem, 5vw, 4rem) calc(-1 * var(--bhv-bleed)) 0;
}
#bhv-onkentesseg .bhv-compare__labels { display: none; }
#bhv-onkentesseg .bhv-partner {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border-radius: var(--bhv-radius-lg);
    background: var(--bhv-white);
}
#bhv-onkentesseg .bhv-partner__head { padding-bottom: 1.25rem; }
#bhv-onkentesseg .bhv-partner__name {
    font-size: clamp(1.875rem, 1.3rem + 1.6vw, 2.75rem);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--bhv-ink-strong);
}
#bhv-onkentesseg .bhv-partner__tagline {
    margin-top: 0.625rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--bhv-red);
}
#bhv-onkentesseg .bhv-partner__facts { display: block; margin: 0; }
#bhv-onkentesseg .bhv-fact {
    padding: 1.125rem 0 1.25rem;
    border-top: 1px solid var(--bhv-line);
    font-size: 1rem;
}
#bhv-onkentesseg .bhv-fact__label {
    margin: 0 0 0.625rem;
    font-family: var(--bhv-font-body);
    font-size: 0.8125em;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bhv-red);
}
#bhv-onkentesseg .bhv-fact__value { margin: 0; font-size: inherit; }
#bhv-onkentesseg .bhv-fact__value li {
    position: relative;
    padding-left: 1.125rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--bhv-ink);
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: anywhere;
}
#bhv-onkentesseg .bhv-fact__value li + li { margin-top: 0.375rem; }
#bhv-onkentesseg .bhv-fact__value li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background: var(--bhv-red);
}
#bhv-onkentesseg .bhv-fact__value li.bhv-fact__age {
    padding-left: 0;
    margin-bottom: 0.25rem;
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: clamp(2.5rem, 2rem + 1.4vw, 3.25rem);
    line-height: 1;
    letter-spacing: -0.015em;
    color: var(--bhv-red);
}
#bhv-onkentesseg .bhv-fact__value li.bhv-fact__age::before { display: none; }
#bhv-onkentesseg .bhv-partner__cta { margin-top: auto; padding-top: 1.5rem; border-top: 1px solid var(--bhv-line); }
#bhv-onkentesseg .bhv-partner__cta .bhv-button { width: 100%; }

/* ==========================================================================
   6. II. CORPORATE – raspberry band
   ========================================================================== */
#bhv-onkentesseg .bhv-corporate {
    position: relative;
    background: var(--bhv-red);
    color: var(--bhv-white);
}
#bhv-onkentesseg .bhv-corporate .bhv-opener,
#bhv-onkentesseg .bhv-corporate .bhv-numeral { color: var(--bhv-white); }
#bhv-onkentesseg .bhv-corporate__grid { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 3rem; }
#bhv-onkentesseg .bhv-corporate__text { min-width: 0; }
#bhv-onkentesseg .bhv-corporate__body { margin-top: clamp(1.5rem, 3vw, 2.25rem); container-type: inline-size; }
#bhv-onkentesseg .bhv-corporate__lead {
    max-width: 30em;
    font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
    font-weight: 500;
    line-height: 1.6;
    color: var(--bhv-white);
}
#bhv-onkentesseg .bhv-corporate__lead strong { color: var(--bhv-white); }
#bhv-onkentesseg .bhv-corporate__mail { margin-top: 1.25rem; }
#bhv-onkentesseg .bhv-corporate__mail a {
    display: inline-block;
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: clamp(1.5rem, 1rem + 2.2vw, 3rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    overflow-wrap: normal;
    color: var(--bhv-white);
    text-decoration: underline;
    text-decoration-thickness: 0.06em;
    text-underline-offset: 0.16em;
}
@supports (width: 1cqi) {
    /* "onkentes@bethesda.hu" is about 9.4em wide in Brandon: always one line */
    #bhv-onkentesseg .bhv-corporate__mail a { font-size: clamp(1.25rem, 8.5cqi, 3rem); }
}
#bhv-onkentesseg .bhv-corporate__mail a:hover { color: var(--bhv-white); text-decoration-thickness: 0.1em; }
#bhv-onkentesseg .bhv-corporate__media {
    display: grid;
    grid-template-columns: repeat(20, minmax(0, 1fr));
    padding-bottom: 18%;
}
/* C01: shown at most ~530 CSS px wide, so the small logos on the shirts stay unreadable */
#bhv-onkentesseg .bhv-photo--corp-a { grid-column: 1 / 21; grid-row: 1; aspect-ratio: 4 / 3; }
#bhv-onkentesseg .bhv-photo--corp-a img { object-position: 50% 32%; }
#bhv-onkentesseg .bhv-photo--corp-b {
    grid-column: 1 / 10;
    grid-row: 1;
    align-self: end;
    aspect-ratio: 1;
    margin-bottom: -18%;
    box-shadow: 0 0 0 6px var(--bhv-white);
}
/* C04: the left two thirds (painters at the fence); the parked cars stay out */
#bhv-onkentesseg .bhv-photo--corp-b img { object-position: 0% 50%; }

/* ==========================================================================
   7. CLOSING – "Köszönjük!" photo + the motto, on white above the red footer
   ========================================================================== */
#bhv-onkentesseg .bhv-closing {
    background: var(--bhv-white);
    padding-block: clamp(4.5rem, 9vw, 8rem);
}
#bhv-onkentesseg .bhv-closing__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(2rem, 5vw, 3rem);
}
#bhv-onkentesseg .bhv-closing__photo { aspect-ratio: 16 / 10; }
#bhv-onkentesseg .bhv-closing__photo img { object-position: 50% 52%; }
#bhv-onkentesseg .bhv-closing__text { min-width: 0; container-type: inline-size; }
#bhv-onkentesseg .bhv-dots {
    display: block;
    width: 43px;
    height: 9px;
    margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
    background: radial-gradient(circle at 4.5px 50%, var(--bhv-red) 4.25px, transparent 4.75px) 0 0 / 16.5px 9px repeat-x;
}
#bhv-onkentesseg .bhv-closing__motto {
    max-width: 9em;
    font-family: var(--bhv-font-display);
    font-weight: 500;
    font-size: clamp(2.125rem, 1rem + 5vw, 4.5rem);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--bhv-red);
    hyphens: manual;
    text-wrap: balance;
}
@supports (width: 1cqi) {
    #bhv-onkentesseg .bhv-closing__motto { font-size: clamp(2.125rem, 11cqi, 4.75rem); }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 639px) {
    #bhv-onkentesseg { --bhv-bleed: calc(10vw - 1rem); }
    #bhv-onkentesseg .bhv-form { border-radius: var(--bhv-radius); }
    #bhv-onkentesseg .bhv-file::file-selector-button { display: block; margin: 0 0 0.5rem; }
    #bhv-onkentesseg .bhv-partner__cta .bhv-button { padding-inline: 1.125rem; }
    #bhv-onkentesseg .bhv-submit { padding-inline: 1rem; }
    #bhv-onkentesseg .bhv-tab { gap: 0.875rem; min-height: 6.75rem; padding: 1rem; }
    #bhv-onkentesseg .bhv-tab__word { font-size: 1.625rem; }
    #bhv-onkentesseg .bhv-tab__rest { font-size: 0.875rem; }
    /* tighter comparison rhythm on phones */
    #bhv-onkentesseg .bhv-partner { padding: 1.375rem 1.25rem 1.5rem; }
    #bhv-onkentesseg .bhv-fact { padding: 0.875rem 0 1rem; }
    #bhv-onkentesseg .bhv-fact__label { margin-bottom: 0.5rem; }
    #bhv-onkentesseg .bhv-fact__value li { font-size: 0.9375rem; line-height: 1.45; }
    #bhv-onkentesseg .bhv-fact__value li + li { margin-top: 0.25rem; }
    #bhv-onkentesseg .bhv-note { padding: 1.125rem 1.125rem 1.25rem; }
    #bhv-onkentesseg .bhv-note p { font-size: 1rem; line-height: 1.6; }
    #bhv-onkentesseg .bhv-feedback { padding: 1rem 1rem 1.125rem 2.875rem; font-size: 0.9375rem; }
    #bhv-onkentesseg .bhv-feedback::before { left: 0.875rem; top: 1.05rem; width: 1.375rem; height: 1.375rem; }
    #bhv-onkentesseg .bhv-feedback ul { padding-left: 1rem; }
    #bhv-onkentesseg .bhv-feedback-success { padding: 1.125rem 1rem 1.125rem 3.25rem; font-size: 1.25rem; }
    #bhv-onkentesseg .bhv-feedback-success::before { left: 0.875rem; top: 1.125rem; width: 1.5rem; height: 1.5rem; }
    #bhv-onkentesseg .bhv-register__aside { margin-inline: calc(-1 * var(--bhv-bleed)); }
}
@media (min-width: 360px) and (max-width: 639px) {
    #bhv-onkentesseg { --bhv-bleed: calc(10vw - 1.125rem); }
}
@media (max-width: 359px) {
    #bhv-onkentesseg .bhv-tab { padding: 0.875rem; }
    #bhv-onkentesseg .bhv-tab__word { font-size: 1.5rem; }
}

@media (min-width: 640px) {
    #bhv-onkentesseg .bhv-hero__cta { flex: 0 0 auto; }
    #bhv-onkentesseg .bhv-compare { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #bhv-onkentesseg .bhv-partner__cta .bhv-button { width: auto; }
    #bhv-onkentesseg .bhv-hero__media { margin-bottom: calc(-1 * (var(--bhv-hero-pb) + 6%)); }
    #bhv-onkentesseg .bhv-photo--hero-a { grid-column: 1 / 14; }
    #bhv-onkentesseg .bhv-photo--hero-b { grid-column: 12 / 20; margin-bottom: -22%; }
    #bhv-onkentesseg .bhv-statement { padding-top: calc(22.4% + 3rem); }
    #bhv-onkentesseg .bhv-corporate__media { width: 82%; margin-left: auto; }
    #bhv-onkentesseg .bhv-register__photo { aspect-ratio: 16 / 9; }
}

@media (min-width: 1000px) {
    /* hero: 7/5 split, photos hang over the bottom edge */
    #bhv-onkentesseg .bhv-hero { --bhv-hero-pb: clamp(3.5rem, 5vw, 4.5rem); padding-top: clamp(3.5rem, 5.5vw, 5.5rem); }
    #bhv-onkentesseg .bhv-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--bhv-gap); }
    #bhv-onkentesseg .bhv-hero__text { grid-column: 1; grid-row: 1; align-self: start; }
    #bhv-onkentesseg .bhv-hero__media {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        margin-bottom: calc(-1 * (var(--bhv-hero-pb) + 4.5rem));
    }
    #bhv-onkentesseg .bhv-photo--hero-a { grid-column: 4 / 21; aspect-ratio: 3 / 4; }
    #bhv-onkentesseg .bhv-photo--hero-a img { object-position: 36% 50%; }
    #bhv-onkentesseg .bhv-photo--hero-b { grid-column: 1 / 11; margin-bottom: -22%; }

    #bhv-onkentesseg .bhv-statement { padding-top: clamp(5rem, 8vw, 7.5rem); }
    #bhv-onkentesseg .bhv-statement__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--bhv-gap); }

    /* registration: heading + choice cards + tall photo | the form card */
    #bhv-onkentesseg .bhv-register__grid {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        grid-template-rows: auto auto 1fr;
        grid-template-areas:
            "intro forms"
            "tabs  forms"
            "photo forms";
        column-gap: clamp(2.5rem, 5vw, 4.5rem);
    }
    #bhv-onkentesseg .bhv-register__forms { margin: 0; }
    #bhv-onkentesseg.bhv-enhanced .bhv-tabs { margin-top: 1.75rem; }
    /* the aside fills the column down to the form's bottom edge; the photo frame
       follows it but never gets narrower than 5:8 (single-column form at 1000-1290 px) */
    #bhv-onkentesseg .bhv-register__aside { position: relative; min-height: 16rem; }
    #bhv-onkentesseg .bhv-register__photo {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        aspect-ratio: 5 / 8;
        max-height: 100%;
    }
    /* C24 portrait, shown 118 % tall from the top so the printed programme flyer
       at the bottom of the original stays out of the crop */
    #bhv-onkentesseg .bhv-register__photo img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 118%;
        object-position: 50% 0;
    }

    #bhv-onkentesseg .bhv-partners__head {
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
        column-gap: clamp(2.5rem, 5vw, 4.5rem);
        align-items: start;
    }
    #bhv-onkentesseg .bhv-partners__title { grid-column: 1 / -1; }
    #bhv-onkentesseg .bhv-partners__lead { grid-column: 1; }
    #bhv-onkentesseg .bhv-note { grid-column: 2; margin-top: clamp(1.25rem, 2.5vw, 2rem); }

    #bhv-onkentesseg .bhv-corporate__grid {
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
        column-gap: var(--bhv-gap);
        align-items: center;
    }
    #bhv-onkentesseg .bhv-corporate__media { width: auto; margin: 0; }

    #bhv-onkentesseg .bhv-closing__grid {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        column-gap: clamp(2.5rem, 5vw, 4.5rem);
        align-items: center;
    }
    #bhv-onkentesseg .bhv-closing__photo { aspect-ratio: 4 / 3; }
}

/* comparison rows aligned across both partners (subgrid); from 1200px a shared row-label column */
@supports (grid-template-rows: subgrid) {
    @media (min-width: 640px) {
        #bhv-onkentesseg .bhv-compare {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-template-rows: repeat(7, auto);
            column-gap: clamp(1rem, 2vw, 1.5rem);
            row-gap: 0;
        }
        #bhv-onkentesseg .bhv-partner {
            display: grid;
            grid-row: 1 / span 7;
            grid-template-rows: subgrid;
            padding-block: 0;
        }
        #bhv-onkentesseg .bhv-partner--amigos { grid-column: 1; }
        #bhv-onkentesseg .bhv-partner--bator { grid-column: 2; }
        #bhv-onkentesseg .bhv-partner__head { padding: clamp(1.5rem, 2.6vw, 2.25rem) 0 1.25rem; }
        #bhv-onkentesseg .bhv-partner__facts {
            display: grid;
            grid-row: 2 / span 5;
            grid-template-rows: subgrid;
        }
        #bhv-onkentesseg .bhv-partner__cta { margin-top: 0; padding: 1.5rem 0 clamp(1.5rem, 2.6vw, 2.25rem); }
    }
    @media (min-width: 1200px) {
        #bhv-onkentesseg .bhv-compare {
            grid-template-columns: var(--bhv-numcol) minmax(0, 1fr) minmax(0, 1fr);
            column-gap: var(--bhv-gap);
        }
        #bhv-onkentesseg .bhv-compare__labels {
            display: grid;
            grid-column: 1;
            grid-row: 1 / span 7;
            grid-template-rows: subgrid;
        }
        #bhv-onkentesseg .bhv-compare__label {
            display: block;
            padding: 1.375rem 0.5rem 1.25rem 0;
            border-top: 1px solid var(--bhv-line-mist);
            font-family: var(--bhv-font-body);
            font-size: 0.875rem;
            font-weight: 700;
            line-height: 1.35;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--bhv-ink-strong);
            hyphens: auto;
            -webkit-hyphens: auto;
            overflow-wrap: anywhere;
        }
        #bhv-onkentesseg .bhv-compare__label::before {
            content: "";
            display: block;
            width: 1.5rem;
            height: 3px;
            margin-bottom: 0.625rem;
            border-radius: 2px;
            background: var(--bhv-red);
        }
        #bhv-onkentesseg .bhv-compare__label--blank::before { display: none; }
        #bhv-onkentesseg .bhv-compare__label--blank { border-top: 0; padding: 0; }
        #bhv-onkentesseg .bhv-partner--amigos { grid-column: 2; }
        #bhv-onkentesseg .bhv-partner--bator { grid-column: 3; }
        #bhv-onkentesseg .bhv-partner__head { padding-bottom: 1.5rem; }
        #bhv-onkentesseg .bhv-fact { padding: 1.375rem 0 1.25rem; }
        #bhv-onkentesseg .bhv-fact__label {
            position: absolute !important;
            width: 1px;
            height: 1px;
            margin: -1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            clip-path: inset(50%);
            white-space: nowrap;
        }
    }
}

/* ---------- user preferences & site widgets ---------- */
/* smooth in-page jumps only for link navigation (focus is inside the page) and only
   without a reduced-motion preference; programmatic scrolls stay instant */
@media (prefers-reduced-motion: no-preference) {
    html:has(#bhv-onkentesseg):focus-within { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
    #bhv-onkentesseg *,
    #bhv-onkentesseg *::before,
    #bhv-onkentesseg *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
    #bhv-onkentesseg .bhv-tab,
    #bhv-onkentesseg .bhv-button,
    #bhv-onkentesseg .bhv-feedback,
    #bhv-onkentesseg .bhv-note { border: 2px solid CanvasText; }
    #bhv-onkentesseg .bhv-tab[aria-selected="true"] { outline: 3px solid Highlight; }
}
body.real-accessability-regularFont #bhv-onkentesseg,
body.real-accessability-regularFont #bhv-onkentesseg * { font-family: Arial, Helvetica, sans-serif !important; }
