/* Orinion Way – alap: tokenek, tipográfia, gombok, szekció-ritmus, fejléc, lábléc, űrlapok (Construktion X × logószínek).
   Töréspontok: 991 / 767 / 479. A Betheme dinamikus CSS-e ELŐTTÜNK töltődik (inc/header.php), így azonos
   specificitásnál ez a fájl nyer. Az elemszintű alapok :where()-rel alacsony specificitásúak, hogy a komponensek osztályai felülírhassák őket. */

/* ==========================================================================
   1. Tokenek (design-spec.md §7)
   ========================================================================== */
:root {
  /* márkaszínek (orinionway_logo.png) */
  --ow-navy: #11143E;
  --ow-navy-900: #0B0D2A;
  --ow-navy-700: #1B2063;
  --ow-orange: #F38F2E;
  --ow-orange-600: #E6780D;
  --ow-orange-text: #A85508;
  --ow-orange-100: #FEF1E4;

  /* semleges (navyhoz hangolt hideg szürkék) */
  --ow-white: #FFFFFF;
  --ow-grey-50: #F5F6F8;
  --ow-grey-200: #E9EBF2;
  --ow-grey-300: #D9DCE6;
  --ow-grey-on-dark: #C8CBDA;
  --ow-grey-400: #9A9EB5;
  --ow-grey-500: #6B6F8A;
  --ow-grey-600: #4A4E69;
  --ow-grey-700: #2B2F4D;
  --ow-line-on-dark: rgba(255, 255, 255, .2);

  /* szerepek */
  --ow-bg: var(--ow-white);
  --ow-bg-alt: var(--ow-grey-50);
  --ow-bg-dark: var(--ow-navy);
  --ow-bg-footer: var(--ow-navy-900);
  --ow-text: var(--ow-grey-600);
  --ow-heading: var(--ow-navy);
  --ow-text-on-dark: var(--ow-white);
  --ow-muted-on-dark: var(--ow-grey-200);
  --ow-border: var(--ow-grey-300);
  --ow-accent: var(--ow-orange);
  --ow-focus: var(--ow-navy);          /* fókuszkeret világos felületen (17.6:1); sötéten narancs – 2. rész */
  --ow-overlay-40: rgba(11, 13, 42, .4);
  --ow-overlay-60: rgba(11, 13, 42, .6);
  --ow-overlay-80: rgba(11, 13, 42, .8);
  --ow-error: #DC2B2B;
  --ow-error-bg: #FFEFF0;
  --ow-success: #11845B;
  --ow-success-bg: #DEF2E6;

  /* tipográfia */
  --ow-font: "Mona Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ow-fw-light: 300;
  --ow-fw-regular: 400;
  --ow-fw-medium: 500;
  --ow-fw-bold: 700;

  --ow-fs-display-1: 80px;
  --ow-fs-display-2: 54px;
  --ow-fs-display-3: 34px;
  --ow-fs-display-4: 28px;
  --ow-fs-h1: 54px;
  --ow-fs-h2: 38px;
  --ow-fs-h3: 24px;
  --ow-fs-h4: 22px;
  --ow-fs-h5: 18px;
  --ow-fs-h6: 16px;
  --ow-fs-body: 18px;
  --ow-fs-text-400: 24px;
  --ow-fs-text-300: 20px;
  --ow-fs-text-200: 18px;
  --ow-fs-text-100: 16px;
  --ow-fs-btn: 18px;
  --ow-fs-btn-sm: 16px;
  --ow-fs-btn-lg: 20px;

  --ow-lh-display-1: 1.044em;
  --ow-lh-display-2: 1.222em;
  --ow-lh-display-3: 1.294em;
  --ow-lh-display-4: 1.429em;
  --ow-lh-h1: 1.222em;
  --ow-lh-h2: 1.316em;
  --ow-lh-h3: 1.417em;
  --ow-lh-h4: 1.273em;
  --ow-lh-h5: 1.333em;
  --ow-lh-h6: 1.375em;
  --ow-lh-body: 1.667em;
  --ow-lh-tight: 1.111em;
  --ow-ls: normal;
  --ow-ls-caps: .1em;

  /* elrendezés */
  --ow-container: 1316px;      /* a margókkal együtt → 1268px tartalom */
  --ow-gutter: 24px;
  --ow-hero-title-max: 780px;
  --ow-measure: 728px;
  --ow-heading-max: 460px;
  --ow-section-y: 200px;       /* fő (kezdőlapi) szekciók */
  --ow-section-y-md: 148px;    /* alapértelmezett szekció */
  --ow-section-y-sm: 100px;
  --ow-top-section-y: 72px;
  --ow-gap: 28px;
  --ow-gap-lg: 48px;
  --ow-gap-btn: 24px;
  --ow-col-gap: 28px;          /* BeBuilder oszlopköz (2 × 14px oszlopmargó) */
  --ow-row-gap: 48px;          /* egymás alá törő BeBuilder wrap-ek közti sorköz */

  /* fejléc (fix, átlátszó → görgetés után navy) */
  --ow-header-h: 106px;        /* 64px logó + 2 × 21px */
  --ow-header-h-sticky: 80px;  /* 48px logó + 2 × 16px */
  --ow-logo-h: 64px;
  --ow-logo-h-sticky: 48px;

  /* forma, mélység */
  --ow-radius: 0;
  --ow-radius-btn: 48px;
  --ow-radius-badge: 40px;
  --ow-radius-menu: 0;         /* döntés: szögletes legördülő (a sablon 20px-e helyett) */
  --ow-shadow-card: 0 2px 7px 0 rgba(17, 20, 62, .06);
  --ow-shadow-menu: 0 2px 12px 0 rgba(17, 20, 62, .08);
  --ow-shadow-lg: 0 14px 42px 0 rgba(17, 20, 62, .14);

  /* gombok */
  --ow-btn-pad: 20px 38px;
  --ow-btn-pad-sm: 14px 24px;
  --ow-btn-pad-lg: 28px 56px;
  --ow-btn-border: 1px;

  /* mozgás */
  --ow-dur: .3s;
  --ow-ease: ease;
  --ow-hover-scale: 1.02;
  --ow-hover-scale-circle: 1.04;
  --ow-img-zoom: 1.04;
  --ow-img-saturate: 1.25;
  --ow-reveal-dur: .5s;
  --ow-reveal-scale: .98;

  /* ikon-maszkok (CSS-ből rajzolt nyíl, chevron, pipa) */
  --ow-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --ow-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --ow-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");
}

@media screen and (max-width: 991px) {
  :root {
    --ow-fs-display-1: 64px;
    --ow-fs-display-2: 48px;
    --ow-fs-display-3: 32px;
    --ow-fs-display-4: 22px;
    --ow-fs-h1: 48px;
    --ow-fs-h2: 30px;
    --ow-fs-text-400: 22px;
    --ow-hero-title-max: 100%;
    --ow-section-y: 148px;
    --ow-section-y-md: 120px;
    --ow-section-y-sm: 80px;
    --ow-btn-pad: 20px 32px;
    --ow-btn-pad-lg: 26px 52px;
    --ow-header-h: 88px;
    --ow-header-h-sticky: 72px;
    --ow-logo-h: 56px;
    --ow-logo-h-sticky: 48px;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --ow-fs-display-1: 52px;
    --ow-fs-display-2: 40px;
    --ow-fs-display-3: 26px;
    --ow-fs-display-4: 20px;
    --ow-fs-h1: 38px;
    --ow-fs-h2: 28px;
    --ow-fs-h4: 20px;
    --ow-fs-h5: 16px;
    --ow-fs-h6: 14px;
    --ow-fs-body: 16px;
    --ow-fs-text-400: 20px;
    --ow-fs-text-300: 18px;
    --ow-fs-text-200: 16px;
    --ow-fs-text-100: 14px;
    --ow-gutter: 20px;
    --ow-section-y: 120px;
    --ow-section-y-md: 88px;
    --ow-section-y-sm: 72px;
    --ow-top-section-y: 64px;
    --ow-gap-btn: 20px;
    --ow-btn-pad: 16px 28px;
    --ow-row-gap: 40px;
    --ow-header-h: 76px;
    --ow-header-h-sticky: 64px;
    --ow-logo-h: 52px;
    --ow-logo-h-sticky: 44px;
  }
}

@media screen and (max-width: 479px) {
  :root {
    --ow-fs-display-1: 36px;
    --ow-fs-display-2: 34px;
    --ow-fs-display-3: 24px;
    --ow-fs-h1: 32px;
    --ow-gutter: 16px;
    --ow-section-y: 100px;
    --ow-section-y-md: 80px;
    --ow-section-y-sm: 64px;
    --ow-top-section-y: 48px;
    --ow-gap-btn: 16px;
  }
}

/* ==========================================================================
   2. Alap tipográfia
   ========================================================================== */
html { scroll-padding-top: calc(var(--ow-header-h-sticky) + 16px); }

body.ow {
  font-family: var(--ow-font);
  font-size: var(--ow-fs-body);
  line-height: var(--ow-lh-body);
  font-weight: var(--ow-fw-regular);
  letter-spacing: var(--ow-ls);
  color: var(--ow-text);
  background: var(--ow-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

:where(.ow) :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--ow-font);
  font-weight: var(--ow-fw-medium);
  letter-spacing: var(--ow-ls);
  color: var(--ow-heading);
  overflow-wrap: break-word;
}
:where(.ow) h1 { font-size: var(--ow-fs-h1); line-height: var(--ow-lh-h1); margin: 0 0 16px; hyphens: auto; }
:where(.ow) h2 { font-size: var(--ow-fs-h2); line-height: var(--ow-lh-h2); margin: 0 0 16px; }
:where(.ow) h3 { font-size: var(--ow-fs-h3); line-height: var(--ow-lh-h3); margin: 0 0 8px; }
:where(.ow) h4 { font-size: var(--ow-fs-h4); line-height: var(--ow-lh-h4); margin: 0 0 8px; }
:where(.ow) h5 { font-size: var(--ow-fs-h5); line-height: var(--ow-lh-h5); margin: 0 0 8px; }
:where(.ow) h6 { font-size: var(--ow-fs-h6); line-height: var(--ow-lh-h6); margin: 0 0 8px; }
:where(.ow) p { margin: 0 0 16px; }
:where(.ow) :is(strong, b) { font-weight: var(--ow-fw-bold); color: var(--ow-heading); }
:where(.ow) a { color: var(--ow-navy); text-decoration: none; transition: color var(--ow-dur) var(--ow-ease); }
:where(.ow) a:hover { color: var(--ow-orange-text); }
:where(.ow) img { max-width: 100%; height: auto; }
:where(.ow) hr { height: 1px; border: 0; background: var(--ow-border); margin: 48px 0; }
:where(.ow) blockquote { margin: 0; }
@media (max-width: 767px) {
  :where(.ow) :is(h1, h2) { margin-bottom: 12px; }
  :where(.ow) p { margin-bottom: 12px; }
}

.ow ::selection { background: var(--ow-orange); color: var(--ow-navy); }
.ow :focus-visible { outline: 2px solid var(--ow-focus); outline-offset: 3px; }
.ow :focus:not(:focus-visible) { outline: none; }
/* a narancs keret fehéren csak 2.39:1 (WCAG 1.4.11: ≥3:1) → világos felületen navy, sötét felületen narancs (7.36:1) */
:is(.ow-sec--dark, .ow-dark, .ow-hero, .ow-phero, .ow-woohero, .ow-cta, .ow-cbox, .mfn-footer, #Header_wrapper, #Side_slide) { --ow-focus: var(--ow-orange); }
#Header_wrapper .sub-menu { --ow-focus: var(--ow-navy); }   /* fehér legördülő panel */

/* BeBuilder oszlopokban a listák: az osztály nélküliek kapnak felsorolást (.ow-prose), az osztályosak (komponensek) nullázva */
:where(.column_column) :is(ul, ol)[class] { list-style: none; margin: 0; padding: 0; color: inherit; }
:where(.column_column) :is(ul, ol)[class] > li { margin: 0; }

/* Megjelenítési méretek (a sablon .display-* osztályai) */
.ow-display-1, .ow-display-2, .ow-display-3, .ow-display-4 { font-weight: var(--ow-fw-medium); color: var(--ow-heading); hyphens: auto; overflow-wrap: break-word; }
.ow-display-1 { font-size: var(--ow-fs-display-1); line-height: var(--ow-lh-display-1); }
.ow-display-2 { font-size: var(--ow-fs-display-2); line-height: var(--ow-lh-display-2); }
.ow-display-3 { font-size: var(--ow-fs-display-3); line-height: var(--ow-lh-display-3); }
.ow-display-4 { font-size: var(--ow-fs-display-4); line-height: var(--ow-lh-display-4); }
.ow-lead { font-size: var(--ow-fs-text-300); line-height: 1.6; }

.screen-reader-text:not(:focus) {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ==========================================================================
   3. Gombok (.ow-btn) – pill, nyíl +6px csúszással, hover 1.02 nagyítás
   ========================================================================== */
a.ow-btn, button.ow-btn, input.ow-btn {
  --ow-btn-bg: var(--ow-orange);
  --ow-btn-fg: var(--ow-navy);
  --ow-btn-bd: var(--ow-orange);
  --ow-btn-bg-h: var(--ow-navy);
  --ow-btn-fg-h: var(--ow-white);
  --ow-btn-bd-h: var(--ow-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 0;
  margin: 0;
  padding: var(--ow-btn-pad);
  border: var(--ow-btn-border) solid var(--ow-btn-bd);
  border-radius: var(--ow-radius-btn);
  background: var(--ow-btn-bg);
  color: var(--ow-btn-fg);
  font-family: var(--ow-font);
  font-size: var(--ow-fs-btn);
  font-weight: var(--ow-fw-medium);
  line-height: 20px;
  letter-spacing: normal;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  box-shadow: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color var(--ow-dur) var(--ow-ease), border-color var(--ow-dur) var(--ow-ease), color var(--ow-dur) var(--ow-ease), transform var(--ow-dur) var(--ow-ease);
}
a.ow-btn:hover, button.ow-btn:hover, input.ow-btn:hover {
  background: var(--ow-btn-bg-h);
  border-color: var(--ow-btn-bd-h);
  color: var(--ow-btn-fg-h);
  transform: scale3d(var(--ow-hover-scale), var(--ow-hover-scale), 1);
  text-decoration: none;
}
.ow-btn svg { flex: none; width: 1.1em; height: 1.1em; transition: transform var(--ow-dur) var(--ow-ease); }
.ow-btn:hover .ow-ico--arrow { transform: translateX(6px); }

/* változatok (a .ow-btn.ow-btn--x páros erősebb, mint a Betheme input[type=submit] szabálya) */
.ow-btn.ow-btn--primary { --ow-btn-bg: var(--ow-orange); --ow-btn-fg: var(--ow-navy); --ow-btn-bd: var(--ow-orange); --ow-btn-bg-h: var(--ow-navy); --ow-btn-fg-h: var(--ow-white); --ow-btn-bd-h: var(--ow-navy); }
.ow-btn.ow-btn--dark { --ow-btn-bg: var(--ow-navy); --ow-btn-fg: var(--ow-white); --ow-btn-bd: var(--ow-navy); --ow-btn-bg-h: var(--ow-orange); --ow-btn-fg-h: var(--ow-navy); --ow-btn-bd-h: var(--ow-orange); }
.ow-btn.ow-btn--white { --ow-btn-bg: var(--ow-white); --ow-btn-fg: var(--ow-navy); --ow-btn-bd: var(--ow-white); --ow-btn-bg-h: transparent; --ow-btn-fg-h: var(--ow-white); --ow-btn-bd-h: var(--ow-white); }
.ow-btn.ow-btn--outline { --ow-btn-bg: transparent; --ow-btn-fg: var(--ow-navy); --ow-btn-bd: var(--ow-grey-300); --ow-btn-bg-h: var(--ow-navy); --ow-btn-fg-h: var(--ow-white); --ow-btn-bd-h: var(--ow-navy); font-weight: var(--ow-fw-regular); }
.ow-btn.ow-btn--outline-light { --ow-btn-bg: transparent; --ow-btn-fg: var(--ow-white); --ow-btn-bd: rgba(255, 255, 255, .6); --ow-btn-bg-h: var(--ow-white); --ow-btn-fg-h: var(--ow-navy); --ow-btn-bd-h: var(--ow-white); font-weight: var(--ow-fw-regular); }
.ow-btn.ow-btn--link {
  --ow-btn-bg: transparent; --ow-btn-bd: transparent; --ow-btn-fg: var(--ow-navy); --ow-btn-bg-h: transparent; --ow-btn-bd-h: transparent; --ow-btn-fg-h: var(--ow-orange-text);
  padding: 4px 0; border-radius: 0; min-height: 0;
}
.ow-btn.ow-btn--link:hover { transform: none; }
.ow-btn.ow-btn--sm { padding: var(--ow-btn-pad-sm); font-size: var(--ow-fs-btn-sm); line-height: 18px; }
.ow-btn.ow-btn--lg { padding: var(--ow-btn-pad-lg); font-size: var(--ow-fs-btn-lg); line-height: 22px; }

/* sötét háttéren a narancs gomb hovere fehér (spec 6.3) */
:is(.ow-hero, .ow-phero, .ow-cta, .ow-footer, .ow-sec--dark, .ow-dark, #Side_slide) .ow-btn.ow-btn--primary { --ow-btn-bg-h: var(--ow-white); --ow-btn-fg-h: var(--ow-navy); --ow-btn-bd-h: var(--ow-white); }
:is(.ow-hero, .ow-phero, .ow-cta, .ow-footer, .ow-sec--dark, .ow-dark) .ow-btn.ow-btn--link { --ow-btn-fg: var(--ow-white); --ow-btn-fg-h: var(--ow-orange); }

/* gombsor */
.ow-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 16px var(--ow-gap-btn); margin-top: 32px; }
.ow-btns:first-child { margin-top: 0; }
@media (max-width: 479px) {
  .ow-btns { flex-direction: column; align-items: stretch; gap: 16px; }
  .ow-btns .ow-btn { width: 100%; }
}

/* ==========================================================================
   4. Felcím (.ow-eyebrow) és szekciófej (.ow-head)
   ========================================================================== */
.ow-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: var(--ow-fw-medium);
  line-height: 1.25;
  letter-spacing: normal;
  text-transform: none;
  color: var(--ow-navy);
}
.ow-eyebrow::before { content: ""; flex: none; width: 28px; height: 2px; background: var(--ow-orange); }
.ow-eyebrow.ow-eyebrow--light { color: var(--ow-white); }
@media (max-width: 767px) { .ow-eyebrow { font-size: 15px; margin-bottom: 16px; } }

.ow-head { margin: 0 0 var(--ow-gap-lg); }
.ow-head:last-child { margin-bottom: 0; }
.ow-head__title {
  margin: 0;
  max-width: 720px;
  font-size: var(--ow-fs-display-2);
  line-height: var(--ow-lh-display-2);
  font-weight: var(--ow-fw-medium);
  color: var(--ow-heading);
  hyphens: auto;
  overflow-wrap: break-word;
}
.ow-head__text { margin-top: 24px; max-width: 600px; }
.ow-head__text > :last-child { margin-bottom: 0; }

.ow-head--center { text-align: center; }
.ow-head--center .ow-head__main { max-width: 820px; margin-inline: auto; }
.ow-head--center .ow-head__title, .ow-head--center .ow-head__text { margin-inline: auto; }
.ow-head--center .ow-eyebrow, .ow-head--center .ow-btns { justify-content: center; }

.ow-head--split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: end;
  gap: 24px 64px;
}
.ow-head--split .ow-head__side { justify-self: end; max-width: 540px; }
.ow-head--split .ow-head__text { margin-top: 0; }
.ow-head--split .ow-head__side .ow-head__text + .ow-btns { margin-top: 32px; }
@media (max-width: 991px) {
  .ow-head--split { grid-template-columns: minmax(0, 1fr); }
  .ow-head--split .ow-head__side { justify-self: start; }
}

/* ==========================================================================
   5. Betheme nullázások, konténer, szekció-ritmus
   ========================================================================== */
body.ow #Wrapper { overflow-x: clip; }                 /* hidden helyett: a position:sticky így működik */
body.ow #Subheader, body.ow #Action_bar { display: none; }
body.ow #Content { padding-top: 0; }
body.ow .sections_group, body.ow .the_content_wrapper { padding-top: 0; }
body.ow .mfn-builder-content > .section { margin: 0; }

/* konténer: 1316px a margókkal → 1268px tartalom; a BeBuilder oszlopmargók (14px) beleszámítanak */
.ow .section_wrapper {
  max-width: var(--ow-container);
  padding-left: calc(var(--ow-gutter) - var(--ow-col-gap) / 2);
  padding-right: calc(var(--ow-gutter) - var(--ow-col-gap) / 2);
  box-sizing: border-box;
}
.ow .container { max-width: var(--ow-container); }

.ow-sec {
  --mfn-column-gap-left: calc(var(--ow-col-gap) / 2);
  --mfn-column-gap-right: calc(var(--ow-col-gap) / 2);
  --mfn-column-gap-bottom: 0px;
  position: relative;
  padding-top: var(--ow-section-y-md);
  padding-bottom: var(--ow-section-y-md);
}
.ow-sec > .section_wrapper { row-gap: var(--ow-row-gap); }
.ow-sec.full-width { --mfn-column-gap-left: 0px; --mfn-column-gap-right: 0px; }
:where(.ow-layout-home) .ow-sec { padding-top: var(--ow-section-y); padding-bottom: var(--ow-section-y); }
.ow-sec--hero, .ow-sec--phero { padding-top: 0; padding-bottom: 0; }
.ow-sec--hero > .section_wrapper, .ow-sec--phero > .section_wrapper { row-gap: 0; }

.ow-sec--soft { background-color: var(--ow-grey-50); }
.ow-sec--tight { padding-top: var(--ow-section-y-sm); padding-bottom: var(--ow-section-y-sm); }
.ow-sec--flush-top { padding-top: 0; }
.ow-sec--dark { background-color: var(--ow-navy); color: var(--ow-muted-on-dark); }
.ow-sec--dark :is(h1, h2, h3, h4, h5, h6, .ow-head__title) { color: var(--ow-white); }
.ow-sec--dark .ow-eyebrow { color: var(--ow-white); }

/* ==========================================================================
   6. Szövegtörzs (.ow-prose) és ragadós oszlop (.ow-sticky)
   ========================================================================== */
.ow-prose { max-width: 820px; }
.ow-prose--narrow { max-width: var(--ow-measure); margin-inline: auto; }
.ow-prose > :last-child { margin-bottom: 0; }
.ow-prose h2:not(.ow-head__title) { font-size: var(--ow-fs-h2); line-height: var(--ow-lh-h2); margin: 56px 0 16px; }
.ow-prose h3 { font-size: var(--ow-fs-h3); line-height: var(--ow-lh-h3); margin: 40px 0 12px; }
.ow-prose :is(h4, h5, h6) { margin: 32px 0 8px; }
.ow-prose > :is(h2, h3, h4):first-child { margin-top: 0; }
.ow-prose p { margin: 0 0 16px; }
.ow-prose a:not([class]) { text-decoration: underline; text-decoration-color: var(--ow-orange); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ow-prose a:not([class]):hover { color: var(--ow-orange-text); }
.ow-prose :is(ul, ol):not([class]) { margin: 24px 0 32px; padding-left: 24px; list-style-position: outside; color: inherit; }
.ow-prose ul:not([class]) { list-style-type: square; }
.ow-prose ol:not([class]) { list-style-type: decimal; }
.ow-prose :is(ul, ol):not([class]) > li { margin: 0 0 8px; padding-left: 6px; }
.ow-prose :is(ul, ol):not([class]) > li::marker { color: var(--ow-orange); font-weight: var(--ow-fw-medium); }
.ow-prose blockquote { margin: 40px 0; padding: 0 0 0 24px; border-left: 2px solid var(--ow-orange); font-size: var(--ow-fs-text-400); line-height: 1.417; font-weight: var(--ow-fw-medium); color: var(--ow-heading); }
@media (max-width: 767px) {
  .ow-prose h2:not(.ow-head__title) { margin-top: 40px; }
  .ow-prose h3 { margin-top: 32px; }
  .ow-prose p { margin-bottom: 12px; }
}

@media (min-width: 992px) {
  .ow .mcb-wrap:has(> .mcb-wrap-inner > .ow-sticky) { align-self: stretch; }
  .ow .mcb-wrap:has(> .mcb-wrap-inner > .ow-sticky) > .mcb-wrap-inner { height: 100%; }
  .ow-sticky { --ow-sticky-top: calc(var(--ow-header-h-sticky) + 32px); position: sticky; top: var(--ow-sticky-top); align-self: flex-start; }
  .admin-bar .ow-sticky { --ow-sticky-top: calc(var(--ow-header-h-sticky) + 32px + 32px); }
}

/* ==========================================================================
   7. Megjelenési animáció (main.js: html.ow-js-reveal + .is-in) – spec §1.10
   ========================================================================== */
html.ow-js-reveal :is(.ow-reveal, .ow-sec .ow-head, .ow-service, .ow-card, .ow-step, .ow-feature, .ow-testimonial, .ow-cat, .ow-member, .ow-stats li):not(.is-in) { opacity: 0; }
html.ow-js-reveal :is(.ow-reveal, .ow-sec .ow-head, .ow-service, .ow-card, .ow-step, .ow-feature, .ow-testimonial, .ow-cat, .ow-member, .ow-stats li).is-in {
  animation: ow-reveal var(--ow-reveal-dur) var(--ow-ease) var(--ow-d, .2s) backwards,
             ow-colorin var(--ow-reveal-dur) var(--ow-ease) calc(var(--ow-d, .2s) + .3s) backwards;
}
@keyframes ow-reveal { from { opacity: 0; transform: scale(var(--ow-reveal-scale)); } }
@keyframes ow-colorin { from { filter: grayscale(1); } }
/* lépcsőzés: soron belül egymás után (0.2 → 0.5s) */
.ow-d3 { --ow-d: .3s; } .ow-d4 { --ow-d: .4s; } .ow-d5 { --ow-d: .5s; } .ow-d6 { --ow-d: .6s; }
.ow-stats li:nth-child(2), :is(.ow-service, .ow-step, .ow-cat):nth-child(2) { --ow-d: .3s; }
.ow-stats li:nth-child(3), :is(.ow-service, .ow-step, .ow-cat):nth-child(3) { --ow-d: .4s; }
.ow-stats li:nth-child(4), :is(.ow-service, .ow-step, .ow-cat):nth-child(4) { --ow-d: .5s; }
.section_wrapper > .mcb-wrap:nth-child(4n+2) :is(.ow-card, .ow-feature, .ow-member) { --ow-d: .3s; }
.section_wrapper > .mcb-wrap:nth-child(4n+3) :is(.ow-card, .ow-feature, .ow-member) { --ow-d: .4s; }
.section_wrapper > .mcb-wrap:nth-child(4n) :is(.ow-card, .ow-feature, .ow-member) { --ow-d: .5s; }
@media (prefers-reduced-motion: reduce) {
  html.ow-js-reveal :is(.ow-reveal, .ow-sec .ow-head, .ow-service, .ow-card, .ow-step, .ow-feature, .ow-testimonial, .ow-cat, .ow-member, .ow-stats li) { opacity: 1; animation: none; }
  .ow *, .ow *::before, .ow *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   8. Fejléc – Betheme Classic, fix pozíció: átlátszó a sötét hero felett, görgetés után (html.ow-scrolled) tömör navy
   ========================================================================== */
body.ow #Header_wrapper {
  --ow-hdr: var(--ow-header-h);
  --ow-logo: var(--ow-logo-h);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 700;
  background-color: transparent;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(11, 13, 42, 0);
  transition: background-color var(--ow-dur) var(--ow-ease), box-shadow var(--ow-dur) var(--ow-ease), top var(--ow-dur) var(--ow-ease);
}
html.ow-scrolled body.ow #Header_wrapper,
body.ow.side-slide-is-open #Header_wrapper {
  --ow-hdr: var(--ow-header-h-sticky);
  --ow-logo: var(--ow-logo-h-sticky);
  background-color: var(--ow-navy);
  box-shadow: 0 8px 28px 0 rgba(11, 13, 42, .22);
}
body.ow.admin-bar #Header_wrapper { top: 32px; }
@media screen and (max-width: 782px) { body.ow.admin-bar #Header_wrapper { top: 46px; } }
@media screen and (max-width: 600px) { html.ow-scrolled body.ow.admin-bar #Header_wrapper { top: 0; } }

body.ow:not(.template-slider) #Header { min-height: 0; }
body.ow #Header .header_placeholder,
body.ow #Top_bar .search_wrapper,
body.ow #Top_bar .secondary_menu_wrapper,
body.ow #Top_bar .banner_wrapper,
body.ow #Top_bar .top_bar_right::before { display: none; }

body.ow #Top_bar,
body.ow.header-classic #Top_bar {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  border: 0;
  background-color: transparent;
}
body.ow #Top_bar .container {
  max-width: var(--ow-container);
  padding-left: var(--ow-gutter) !important;   /* a Betheme ≤767 px-en !important 0-ra állítja */
  padding-right: var(--ow-gutter) !important;
  box-sizing: border-box;
}
body.ow #Top_bar .column.one {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  min-height: var(--ow-hdr);
  margin: 0;
  padding: 0;
  float: none;
  border-bottom: 1px solid var(--ow-line-on-dark);
  transition: min-height var(--ow-dur) var(--ow-ease), border-color var(--ow-dur) var(--ow-ease);
}
html.ow-scrolled body.ow #Top_bar .column.one,
body.ow.ow-solid-header #Top_bar .column.one { border-bottom-color: transparent; }

/* bal blokk szétbontva: logó | menü | jobb oldali elemek egy flex-sorban */
body.ow #Top_bar .top_bar_left { display: contents; }
body.ow #Top_bar .top_bar_left::after { display: none; }

/* a logó doboza a görgetett (kisebb) állapotban is ugyanolyan széles marad → a menü nem ugrik el */
body.ow #Top_bar .logo { order: 1; flex: none; float: none; width: calc(var(--ow-logo-h) * 1.43); margin: 0 48px 0 0; padding: 0; text-align: left; }
body.ow #Top_bar #logo {
  display: flex;
  align-items: center;
  height: var(--ow-logo);
  line-height: var(--ow-logo);
  margin: 0;
  padding: 0 !important;                       /* Betheme: logó függőleges térköz (!important a mobil szabály miatt) */
  transition: height var(--ow-dur) var(--ow-ease), transform var(--ow-dur) var(--ow-ease);
}
body.ow #Top_bar #logo:hover { transform: scale(1.04); }
body.ow #Top_bar #logo img { height: 100%; max-height: 100% !important; width: auto !important; vertical-align: middle; }

body.ow #Top_bar .menu_wrapper { order: 2; flex: 1 1 auto; align-self: stretch; display: flex; float: none; margin: 0; min-width: 0; }
body.ow #Top_bar .top_bar_right {
  order: 3;
  display: flex;
  align-items: center;
  float: none;
  width: auto;
  height: auto;
  margin: 0 0 0 auto;
  padding: 0;
  top: 0;
  background: none;
}
body.ow #Top_bar .top_bar_right .top_bar_right_wrapper { display: flex; align-items: center; flex-wrap: nowrap; gap: 20px; height: auto; padding: 0; }

/* főmenü (asztali) */
@media only screen and (min-width: 992px) {
  body.ow #Top_bar #menu { display: flex !important; align-self: stretch; background: none; }
  body.ow #Top_bar .menu { display: flex; align-items: stretch; gap: 32px; height: 100%; }
  body.ow #Top_bar .menu > li { display: flex; align-items: stretch; float: none; margin: 0; padding: 0; position: relative; }
  body.ow #Top_bar .menu > li > a {
    display: flex;
    align-items: center;
    padding: 0;
    line-height: 20px;
    font-size: 17px;
    font-weight: var(--ow-fw-regular);
    color: var(--ow-white);
    transition: color var(--ow-dur) var(--ow-ease);
  }
  body.ow #Top_bar .menu > li > a span:not(.description) {
    display: inline-flex;
    align-items: center;
    padding: 0;
    line-height: 20px;
    border: 0;
    white-space: nowrap;
  }
  /* aktuális oldal: fehér marad, narancs aláhúzás-jel */
  body.ow #Top_bar .menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent, .current_page_ancestor) > a { color: var(--ow-white); }
  body.ow #Top_bar .menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent, .current_page_ancestor) > a > span {
    text-decoration: underline;
    text-decoration-color: var(--ow-orange);
    text-decoration-thickness: 2px;
    text-underline-offset: 10px;
  }
  body.ow #Top_bar .menu > li > a:hover,
  body.ow #Top_bar .menu > li.hover > a,
  body.ow #Top_bar .menu > li:focus-within > a { color: var(--ow-orange); }

  /* lenyíló jel */
  body.ow #Top_bar .menu > li.menu-item-has-children > a > span::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    background: currentColor;
    -webkit-mask: var(--ow-i-chevron) center / contain no-repeat;
    mask: var(--ow-i-chevron) center / contain no-repeat;
    transition: transform var(--ow-dur) var(--ow-ease);
  }
  body.ow #Top_bar .menu > li.menu-item-has-children:is(.hover, :focus-within) > a > span::after { transform: rotate(-180deg); }
  body.ow #Top_bar .menu > li > a.menu-toggle { display: none; }

  /* legördülő: fehér panel, navy szöveg, narancs jelölő */
  body.ow #Top_bar .menu li ul.sub-menu {
    top: 100%;
    left: -28px;
    width: 380px;
    margin: 0;
    padding: 14px 0;
    background: var(--ow-white);
    background-image: none;
    border: 1px solid var(--ow-grey-300);
    border-radius: var(--ow-radius-menu);
    box-shadow: var(--ow-shadow-lg);
    animation: ow-drop .25s var(--ow-ease) both;
  }
  body.ow #Top_bar .menu > li:focus-within > ul.sub-menu { display: block !important; }   /* billentyűzet: a jQuery inline display:none-ját is felülírja */
  body.ow #Top_bar .menu li ul.sub-menu li { width: 100%; padding: 0; float: none; }
  body.ow #Top_bar .menu li ul.sub-menu li a {
    position: relative;
    display: block;
    padding: 10px 28px;
    border: 0;
    background: none;
    color: var(--ow-navy);
    font-size: 16px;
    font-weight: var(--ow-fw-regular);
    line-height: 22px;
    white-space: normal;
    transition: color var(--ow-dur) var(--ow-ease), background-color var(--ow-dur) var(--ow-ease), padding var(--ow-dur) var(--ow-ease);
  }
  body.ow #Top_bar .menu li ul.sub-menu li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    background: var(--ow-orange);
    transform: scaleY(0);
    transition: transform var(--ow-dur) var(--ow-ease);
  }
  body.ow #Top_bar .menu li ul.sub-menu li a:hover,
  body.ow #Top_bar .menu li ul.sub-menu li a:focus-visible,
  body.ow #Top_bar .menu li ul.sub-menu li:is(.current-menu-item, .current_page_item) > a { background: var(--ow-grey-50); color: var(--ow-navy); padding-left: 34px; }
  body.ow #Top_bar .menu li ul.sub-menu li a:hover::before,
  body.ow #Top_bar .menu li ul.sub-menu li a:focus-visible::before,
  body.ow #Top_bar .menu li ul.sub-menu li:is(.current-menu-item, .current_page_item) > a::before { transform: scaleY(1); }
  body.ow #Top_bar .menu li ul.sub-menu li:is(.current-menu-item, .current_page_item) > a { font-weight: var(--ow-fw-medium); }
  body.ow #Top_bar .menu li ul.sub-menu li a span { display: inline; }
  /* az első („Összes …”) tétel elválasztva */
  body.ow #Top_bar .menu li ul.sub-menu > li:first-child { margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid var(--ow-grey-200); }
}
@keyframes ow-drop { from { opacity: 0; transform: translateY(10px); } }

/* kisebb asztali szélességen szorosabb menü */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  body.ow #Top_bar .logo { margin-right: 28px; }
  body.ow #Top_bar .menu { gap: 22px; }
  body.ow #Top_bar .menu > li > a { font-size: 16px; }
  body.ow #Top_bar .top_bar_right .top_bar_right_wrapper { gap: 14px; }
}

/* kosár (ajánlatkérő lista) ikon */
body.ow #Top_bar .ow-cartlink,
body.ow .ow-cartlink {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ow-white);
  line-height: 1;
  text-decoration: none;
  transition: color var(--ow-dur) var(--ow-ease), transform var(--ow-dur) var(--ow-ease);
}
body.ow .ow-cartlink:hover { color: var(--ow-orange); transform: scale(var(--ow-hover-scale-circle)); }
body.ow .ow-cartlink__icon { width: 26px; height: 26px; }
body.ow .ow-cartlink__count {
  position: absolute;
  top: 2px;
  right: 0;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  box-sizing: border-box;
  background: var(--ow-orange);
  color: var(--ow-navy);
  font-size: 12px;
  font-weight: var(--ow-fw-bold);
  line-height: 20px;
  text-align: center;
}
body.ow .ow-cartlink__count.is-empty { display: none; }

/* „Árajánlatkérés” – Betheme akciógomb: narancs pill, navy szöveg, nyíl */
body.ow #Top_bar a.action_button,
body.ow #Side_slide a.action_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: var(--ow-btn-pad-sm);
  border: 1px solid var(--ow-orange);
  border-radius: var(--ow-radius-btn);
  background: var(--ow-orange);
  color: var(--ow-navy);
  font-family: var(--ow-font);
  font-size: var(--ow-fs-btn-sm);
  font-weight: var(--ow-fw-medium);
  line-height: 18px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: background-color var(--ow-dur) var(--ow-ease), border-color var(--ow-dur) var(--ow-ease), color var(--ow-dur) var(--ow-ease), transform var(--ow-dur) var(--ow-ease);
}
body.ow #Top_bar a.action_button::after,
body.ow #Side_slide a.action_button::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--ow-i-arrow) center / contain no-repeat;
  mask: var(--ow-i-arrow) center / contain no-repeat;
  transition: transform var(--ow-dur) var(--ow-ease);
}
body.ow #Top_bar a.action_button:hover,
body.ow #Side_slide a.action_button:hover { background: var(--ow-white); border-color: var(--ow-white); color: var(--ow-navy); transform: scale3d(var(--ow-hover-scale), var(--ow-hover-scale), 1); }
body.ow #Top_bar a.action_button:hover::after,
body.ow #Side_slide a.action_button:hover::after { transform: translateX(6px); }

/* hamburger (2 vonal, spec §2.1) – csak ≤991 */
body.ow #Top_bar a.responsive-menu-toggle { display: none; }
@media only screen and (max-width: 991px) {
  body.ow #Top_bar .logo { margin-right: 16px; }
  body.ow #Top_bar .menu_wrapper { order: 4; flex: none; align-self: center; width: auto; }
  body.ow #Top_bar .top_bar_right { order: 3; }
  body.ow #Top_bar .top_bar_right .top_bar_right_wrapper { gap: 8px; }
  body.ow #Top_bar .top_bar_right a.action_button { display: none !important; }   /* a mobil menüben jelenik meg */
  body.ow #Top_bar #menu { display: none !important; }
  body.ow #Top_bar a.responsive-menu-toggle {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    width: 44px;
    height: 44px;
    margin: 0 -4px 0 8px;
    padding: 0 4px;
    box-sizing: border-box;
    border-radius: 0;
    background: none;
    color: var(--ow-white);
    transition: transform var(--ow-dur) var(--ow-ease);
  }
  body.ow #Top_bar a.responsive-menu-toggle i,
  body.ow #Top_bar a.responsive-menu-toggle span { display: none; }
  body.ow #Top_bar a.responsive-menu-toggle::before,
  body.ow #Top_bar a.responsive-menu-toggle::after { content: ""; display: block; width: 32px; height: 2px; background: currentColor; transition: transform var(--ow-dur) var(--ow-ease), width var(--ow-dur) var(--ow-ease); }
  body.ow #Top_bar a.responsive-menu-toggle::after { width: 22px; }
  body.ow #Top_bar a.responsive-menu-toggle:hover { transform: scale(var(--ow-hover-scale-circle)); }
  body.ow #Top_bar a.responsive-menu-toggle:hover::after { width: 32px; }
}
@media only screen and (max-width: 767px) {
  body.ow #Top_bar .logo { position: static; }
  body.ow #Top_bar .top_bar_right { width: auto; padding: 0; }
  body.ow #Top_bar .top_bar_right .top_bar_right_wrapper { justify-content: flex-end; }
}

/* mobil oldalmenü (Betheme Side slide) – navy panel, fehér linkek, CTA a menü alatt */
body.ow #Side_slide {
  display: flex;
  flex-direction: column;
  background-color: var(--ow-navy);
  border: 0;
  box-shadow: none;
  font-family: var(--ow-font);
}
body.ow.side-slide-is-open #Side_slide { box-shadow: -24px 0 60px 0 rgba(11, 13, 42, .35); }   /* zárt állapotban az árnyék ne lógjon be a képernyő szélén */
/* zárt panel: rejtett a billentyűzet és a felolvasók elől is (a Betheme csak kitolja a képernyőről);
   a láthatóság a 300ms-os jQuery csúsztatás végén vált, így a záró animáció látszik */
body.ow:not(.side-slide-is-open) #Side_slide { visibility: hidden; transition: visibility 0s linear .35s; }
body.ow.side-slide-is-open #Side_slide { visibility: visible; transition-delay: 0s; overscroll-behavior: contain; }
/* nyitott menü mögött az oldal nem görög */
html:has(body.ow.side-slide-is-open), body.ow.side-slide-is-open { overflow: hidden; }
body.ow.side-slide-is-open #body_overlay { touch-action: none; }
body.ow #Side_slide .close-wrapper { order: 1; display: flex; justify-content: flex-end; align-items: center; flex: none; height: var(--ow-header-h); padding: 0 var(--ow-gutter); box-sizing: border-box; border-bottom: 1px solid var(--ow-line-on-dark); }
body.ow #Side_slide .close-wrapper a.close { position: relative; float: none; width: 44px; height: 44px; margin: 0 -6px 0 0; color: var(--ow-white); }
body.ow #Side_slide .close-wrapper a.close i { display: none; }
body.ow #Side_slide .close-wrapper a.close::before,
body.ow #Side_slide .close-wrapper a.close::after { content: ""; position: absolute; left: 10px; right: 10px; top: 21px; height: 2px; background: currentColor; transform: rotate(45deg); transition: background-color var(--ow-dur) var(--ow-ease); }
body.ow #Side_slide .close-wrapper a.close::after { transform: rotate(-45deg); }
body.ow #Side_slide .close-wrapper a.close:hover { color: var(--ow-orange); }
body.ow #Side_slide .menu_wrapper { order: 2; padding: 16px 0 8px; }
body.ow #Side_slide .extras { order: 3; padding: 16px var(--ow-gutter) 40px; }
body.ow #Side_slide .extras .action_button { width: 100%; padding: 18px 24px; font-size: 17px; }
body.ow #Side_slide .extras .extras-wrapper { display: none; }
body.ow #Side_slide .social, body.ow #Side_slide .lang-wrapper, body.ow #Side_slide .search-wrapper { display: none !important; }
body.ow #Side_slide #menu { margin: 0; }
body.ow #Side_slide #menu ul li { border-top: 0; }
body.ow #Side_slide #menu > ul:last-child > li:last-child { border-bottom: 0; }
body.ow #Side_slide #menu > ul > li { border-bottom: 1px solid var(--ow-line-on-dark); }
body.ow #Side_slide #menu ul li a {
  margin-right: 56px;
  padding: 16px 0 16px var(--ow-gutter);
  color: var(--ow-white);
  font-size: 18px;
  font-weight: var(--ow-fw-medium);
  line-height: 24px;
  transition: color var(--ow-dur) var(--ow-ease);
}
body.ow #Side_slide #menu ul li a:hover,
body.ow #Side_slide #menu ul li:is(.current-menu-item, .current_page_item, .current-menu-ancestor) > a { color: var(--ow-orange); }
body.ow #Side_slide #menu ul li ul { padding: 0 0 12px; background: rgba(255, 255, 255, .04); }
body.ow #Side_slide #menu ul li ul li a { padding: 10px 0 10px calc(var(--ow-gutter) + 16px); font-size: 16px; font-weight: var(--ow-fw-regular); color: var(--ow-grey-200); }
body.ow #Side_slide #menu ul li ul li:first-child a { padding-top: 14px; }
body.ow #Side_slide #menu ul li.submenu .menu-toggle {
  top: 6px;
  right: calc(var(--ow-gutter) - 10px);
  width: 44px;
  height: 44px;
  line-height: 44px;
  font-size: 0;
  opacity: 1;
  color: var(--ow-white);
}
body.ow #Side_slide #menu ul li.submenu .menu-toggle::after {
  content: "";
  position: absolute;
  inset: 12px;
  background: currentColor;
  -webkit-mask: var(--ow-i-chevron) center / contain no-repeat;
  mask: var(--ow-i-chevron) center / contain no-repeat;
  transition: transform var(--ow-dur) var(--ow-ease);
}
body.ow #Side_slide #menu ul li.submenu.hover > .menu-toggle { color: var(--ow-orange); }
body.ow #Side_slide #menu ul li.submenu.hover > .menu-toggle::after { content: ""; transform: rotate(180deg); }
body.ow #body_overlay { background: var(--ow-overlay-60); }

/* ==========================================================================
   9. Lábléc (Betheme footer template: .ow-footer + .ow-footer-bottom) – spec §2.7
   ========================================================================== */
body.ow .mfn-footer-tmpl { background: var(--ow-navy-900); color: var(--ow-grey-on-dark); }
body.ow .mfn-footer-tmpl .ow-sec { background: var(--ow-navy-900); }
body.ow #Footer:not(.mfn-footer-tmpl) { display: none; }               /* a Betheme saját lábléce (widgetek, copyright) ne jelenjen meg */
body.ow .mfn-footer-tmpl .mcb-section.ow-sec:not(.full-width) { max-width: 100%; padding-left: 0; padding-right: 0; }
body.ow .mfn-footer-tmpl .mcb-section.ow-sec > .section_wrapper { max-width: var(--ow-container) !important; }   /* Betheme ≤767: 100% !important */

.ow-footer.ow-sec { padding-top: 112px; padding-bottom: 88px; font-size: 16px; line-height: 1.6; }
.ow-footer > .section_wrapper { row-gap: 56px; }
.ow-footer .ow-footer__about { padding-right: 48px; }
.ow-footer .mcb-wrap:first-child > .mcb-wrap-inner { height: 100%; }
.ow-footer .mcb-wrap:first-child { align-self: stretch; border-right: 1px solid var(--ow-line-on-dark); }
.ow-footer .mcb-wrap:not(:first-child) .column_attr { padding-left: 24px; }
.ow-footer .ow-logo { display: inline-block; transition: transform var(--ow-dur) var(--ow-ease); }
.ow-footer .ow-logo:hover { transform: scale(var(--ow-hover-scale)); }
.ow-footer .ow-logo img { display: block; width: 168px; height: auto; }
.ow-footer__about p { max-width: 400px; margin: 28px 0 0; color: var(--ow-grey-on-dark); }
.ow-footer__about .ow-social { margin-top: 28px; }
.ow-footer__about .ow-btns { margin-top: 32px; }
.ow .ow-footer__h { margin: 0 0 24px; font-size: var(--ow-fs-text-300); line-height: 1.2; font-weight: var(--ow-fw-bold); color: var(--ow-white); }

ul.ow-footmenu { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
ul.ow-footmenu li { margin: 0; padding: 0; }
.mfn-footer ul.ow-footmenu a { color: var(--ow-grey-on-dark); font-size: 16px; line-height: 1.4; transition: color var(--ow-dur) var(--ow-ease); }
.mfn-footer ul.ow-footmenu a:hover,
.mfn-footer ul.ow-footmenu .current-menu-item > a { color: var(--ow-white); }

/* a Betheme .mfn-footer a:not(.button) színe ne írja felül a gombokat */
.mfn-footer a.ow-btn.ow-btn--primary { color: var(--ow-btn-fg); }
.mfn-footer a.ow-btn.ow-btn--primary:hover { color: var(--ow-btn-fg-h); }

.ow-footer-bottom.ow-sec { padding-top: 0; padding-bottom: 0; font-size: 15px; line-height: 1.5; }
.ow-footer-bottom .column_attr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 32px;
  padding: 32px 0;
  border-top: 1px solid var(--ow-line-on-dark);
}
.ow-footer-bottom .column_attr::before, .ow-footer-bottom .column_attr::after { content: none; }   /* clearfix-pszeudók ne legyenek flex-elemek */
.ow-footer-bottom p { margin: 0; color: var(--ow-grey-on-dark); }
.mfn-footer .ow-footer-bottom a { color: var(--ow-white); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .35); text-underline-offset: 3px; }
.mfn-footer .ow-footer-bottom a:hover { color: var(--ow-orange); text-decoration-color: var(--ow-orange); }

/* 768–1279px: a 2/5 + 3 × 1/5 osztásban a „Kapcsolat” oszlop 117–150px-es lenne (tördelt telefonszám, e-mail) →
   a bemutatkozó blokk teljes szélességű, alatta 3 egyenlő linkoszlop */
@media (min-width: 768px) and (max-width: 1279px) {
  .ow-footer > .section_wrapper > .mcb-wrap:first-child { width: 100%; }
  .ow-footer > .section_wrapper > .mcb-wrap:not(:first-child) { width: 33.333%; }
}
@media (max-width: 1279px) {
  .ow-footer > .section_wrapper { row-gap: 48px; }
  .ow-footer .mcb-wrap:first-child { border-right: 0; }
  .ow-footer .ow-footer__about { padding: 0; }
  .ow-footer .ow-footer__about > .mcb-column-inner { padding-bottom: 48px; border-bottom: 1px solid var(--ow-line-on-dark); }
  .ow-footer .mcb-wrap:not(:first-child) .column_attr { padding-left: 0; }
}
@media (max-width: 991px) {
  .ow-footer.ow-sec { padding-top: 88px; padding-bottom: 72px; }
  /* érintési célok ≥44px (a sorköz a link belső térközéből jön) */
  ul.ow-footmenu { gap: 0; margin-top: -11px; }   /* az első link belső térköze ne tolja el a címtől */
  .mfn-footer ul.ow-footmenu a { display: inline-block; padding-block: 11px; }
  .mfn-footer .ow-contact--footer .ow-contact__body a { position: relative; }
  .mfn-footer .ow-contact--footer .ow-contact__body a::after { content: ""; position: absolute; inset: -11px 0; }   /* 44px-es érintési felület, a sorköz változatlan */
}
@media (max-width: 767px) {
  .ow-footer.ow-sec { padding-top: 72px; padding-bottom: 56px; }
  .ow-footer > .section_wrapper { row-gap: 40px; }
  .ow-footer .ow-logo img { width: 150px; }
  .ow .ow-footer__h { margin-bottom: 16px; }
  .ow-footer-bottom .column_attr { flex-direction: column; align-items: flex-start; padding: 28px 0 32px; }
}

/* ==========================================================================
   10. Elérhetőség-lista [ow_contact] és közösségi ikonok [ow_social] – általános alap
   ========================================================================== */
ul.ow-contact { display: grid; gap: 20px; list-style: none; margin: 0; padding: 0; }
ul.ow-contact > li { display: flex; align-items: flex-start; gap: 16px; margin: 0; padding: 0; }
.ow-contact__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--ow-border);
  color: var(--ow-navy);
}
.ow-contact__icon svg { width: 20px; height: 20px; }
.ow-contact__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-top: 1px; overflow-wrap: anywhere; }
.ow-contact__body small { display: block; font-size: 14px; line-height: 1.3; color: var(--ow-grey-500); }
.ow-contact__body a { font-size: var(--ow-fs-text-200); font-weight: var(--ow-fw-medium); line-height: 1.4; color: var(--ow-navy); }
.ow-contact__body a:hover { color: var(--ow-orange-text); }

/* lábléc-változat: ikon doboz nélkül, narancs; szöveg világos */
ul.ow-contact.ow-contact--footer { gap: 18px; }
ul.ow-contact.ow-contact--footer > li { gap: 12px; }
.ow-contact--footer .ow-contact__icon { width: 20px; height: 24px; border: 0; color: var(--ow-orange); }
.ow-contact--footer .ow-contact__body small { color: var(--ow-grey-400); font-size: 13px; }
.ow-contact--footer .ow-contact__body { overflow-wrap: break-word; }   /* e-mail cím ne törjön szó közben */
.mfn-footer .ow-contact--footer .ow-contact__body a { color: var(--ow-white); font-size: 16px; font-weight: var(--ow-fw-regular); }
.mfn-footer .ow-contact--footer .ow-contact__body a[href^="tel:"] { white-space: nowrap; }
.mfn-footer .ow-contact--footer .ow-contact__body a:hover { color: var(--ow-orange); }

.ow-social { display: flex; flex-wrap: wrap; gap: 12px; }
.ow-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--ow-border);
  border-radius: 50%;
  color: var(--ow-navy);
  transition: background-color var(--ow-dur) var(--ow-ease), border-color var(--ow-dur) var(--ow-ease), color var(--ow-dur) var(--ow-ease), transform var(--ow-dur) var(--ow-ease);
}
.ow-social a svg { width: 20px; height: 20px; }
.ow-social a:hover { background: var(--ow-orange); border-color: var(--ow-orange); color: var(--ow-navy); transform: scale(var(--ow-hover-scale-circle)); }
:is(.mfn-footer, .ow-hero, .ow-phero, .ow-cta, .ow-sec--dark, .ow-dark) .ow-social a { border-color: var(--ow-line-on-dark); color: var(--ow-white); }
:is(.mfn-footer, .ow-hero, .ow-phero, .ow-cta, .ow-sec--dark, .ow-dark) .ow-social a:hover { background: var(--ow-orange); border-color: var(--ow-orange); color: var(--ow-navy); }

/* ==========================================================================
   11. Űrlapok – alap mezők (WooCommerce is örökli) és a CF7 .ow-form (aláhúzott mezők, spec §2.8)
   ========================================================================== */
.ow :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="search"], input[type="date"], select, textarea) {
  font-family: var(--ow-font);
  font-size: 16px;
  color: var(--ow-navy);
  border-color: var(--ow-border);
  border-radius: 0;
  box-shadow: none;
  transition: border-color var(--ow-dur) var(--ow-ease), background-color var(--ow-dur) var(--ow-ease), color var(--ow-dur) var(--ow-ease);
}
.ow :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="search"], input[type="date"], select, textarea):focus {
  color: var(--ow-navy);
  border-color: var(--ow-navy);
  background-color: var(--ow-white);
  outline: none;
}
.ow ::placeholder { color: var(--ow-grey-500); opacity: 1; }

.ow-form {
  --ow-in-fg: var(--ow-navy);
  --ow-in-label: var(--ow-navy);
  --ow-in-line: var(--ow-grey-500);    /* a mező egyetlen határa: ≥3:1 kell (WCAG 1.4.11) – grey-500 fehéren 4.92:1 */
  --ow-in-line-h: var(--ow-navy);
  --ow-in-focus: var(--ow-navy);
  --ow-in-ph: var(--ow-grey-500);
  --ow-in-bg: transparent;
  display: grid;
  gap: 28px;
}
.ow-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; }
.ow-form label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 18px; font-weight: var(--ow-fw-medium); line-height: 1.25; color: var(--ow-in-label); }
.ow-form .wpcf7-form-control-wrap { display: block; }
.ow-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
  display: block;
  width: 100%;
  min-height: var(--ow-in-min, 56px);
  margin: 0;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--ow-in-line);
  border-radius: 0;
  background-color: var(--ow-in-bg);   /* nem shorthand: a select chevron háttérképét ne nullázza */
  color: var(--ow-in-fg);
  font-size: 18px;
  font-weight: var(--ow-fw-regular);
  line-height: 1.5;
  box-shadow: none;
}
.ow-form :is(input, select, textarea)::placeholder { color: var(--ow-in-ph); }
.ow-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea):hover { border-bottom-color: var(--ow-in-line-h); }
.ow-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea):focus { border-bottom-color: var(--ow-in-focus); background-color: var(--ow-in-bg); color: var(--ow-in-fg); box-shadow: 0 1px 0 0 var(--ow-in-focus); outline: none; }
.ow-form textarea { --ow-in-min: 144px; height: 144px; padding-top: 16px; line-height: 1.667; resize: none; }
.ow-form select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 36px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311143E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  background-size: 18px;
}
/* üres (alapértelmezett „Válasszon …”) állapot helyőrző-szürke, a lenyíló lista elemei navy */
.ow-form select:has(option[value=""]:checked) { color: var(--ow-in-ph); }
.ow-form select option { color: var(--ow-in-fg); }

/* adatvédelmi elfogadás – szögletes jelölőnégyzet */
.ow-form__accept .wpcf7-list-item { display: block; margin: 0; }
.ow-form__accept label { flex-direction: row; align-items: flex-start; gap: 14px; font-size: 15px; font-weight: var(--ow-fw-regular); line-height: 1.55; color: var(--ow-text); cursor: pointer; }
.ow-form__accept a { color: var(--ow-navy); text-decoration: underline; text-decoration-color: var(--ow-orange); text-underline-offset: 3px; }
.ow-form input[type="checkbox"], .ow-form input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  flex: none;
  display: inline-grid;
  place-content: center;
  width: 24px;
  height: 24px;
  margin: 0;
  border: 1px solid var(--ow-grey-500);
  border-radius: 0;
  background: var(--ow-white);
  box-shadow: 0 1px 6px 0 rgba(17, 20, 62, .06);
  cursor: pointer;
  transition: background-color var(--ow-dur) var(--ow-ease), border-color var(--ow-dur) var(--ow-ease);
}
.ow-form input[type="radio"] { border-radius: 50%; }
.ow-form input[type="checkbox"]:hover, .ow-form input[type="radio"]:hover { border-color: var(--ow-navy); }
.ow-form input[type="checkbox"]::before { content: ""; width: 14px; height: 14px; background: var(--ow-white); -webkit-mask: var(--ow-i-check) center / contain no-repeat; mask: var(--ow-i-check) center / contain no-repeat; transform: scale(0); transition: transform .2s var(--ow-ease); }
.ow-form input[type="checkbox"]:checked { background: var(--ow-navy); border-color: var(--ow-navy); }
.ow-form input[type="checkbox"]:checked::before { transform: scale(1); }
.ow-form input[type="radio"]:checked { border: 6px solid var(--ow-navy); }

/* küldés + CF7 visszajelzések */
.ow-form .wpcf7-submit { justify-self: start; margin-top: 4px; }
.ow-form .wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.ow .wpcf7-spinner { margin: 0 0 0 16px; background-color: var(--ow-navy); vertical-align: middle; }
/* hibaszöveg a mező alatt (a Betheme piros „×” dobozát !important szabályok adják – csak így írható felül) */
body.ow .wpcf7 .wpcf7-not-valid-tip {
  position: static !important;
  display: block;
  width: auto !important;
  height: auto !important;
  margin: 6px 0 0;
  padding: 0 !important;
  border: 0 !important;
  background: none;
  transform: none;
  text-indent: 0 !important;
  font-size: 14px;
  font-weight: var(--ow-fw-regular);
  line-height: 1.4;
  color: var(--ow-error);
}
body.ow .wpcf7 .wpcf7-not-valid-tip::before, body.ow .wpcf7 .wpcf7-not-valid-tip::after { content: none; }
.ow-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea).wpcf7-not-valid { border-bottom-color: var(--ow-error); }
.ow .wpcf7 form .wpcf7-response-output {
  margin: 28px 0 0;
  padding: 18px 22px;
  border: 0;
  border-left: 3px solid var(--ow-navy);
  background: var(--ow-grey-50);
  color: var(--ow-navy);
  font-size: 16px;
  line-height: 1.5;
}
.ow .wpcf7 form:is(.invalid, .unaccepted, .payment-required, .failed, .aborted, .spam) .wpcf7-response-output { border-left-color: var(--ow-error); background: var(--ow-error-bg); color: #9B1C1C; }
.ow .wpcf7 form.sent .wpcf7-response-output { border-left-color: var(--ow-success); background: var(--ow-success-bg); color: #0B5E41; }
@media (max-width: 767px) {
  .ow-form { gap: 24px; }
  .ow-form__row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ow-form label { font-size: 16px; }
  .ow-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) { font-size: 16px; min-height: var(--ow-in-min, 52px); }
  .ow-form textarea { --ow-in-min: 120px; height: 120px; }
}
@media (max-width: 479px) {
  .ow-form .wpcf7-submit { justify-self: stretch; width: 100%; }
}
@supports (field-sizing: content) { .ow-form textarea { field-sizing: content; height: auto; max-height: 420px; } }   /* gépelés közben nő (a fogantyú helyett) */

/* ==========================================================================
   12. Keresés (és blog/archívum) – body.ow-solid-header (inc/header.php): nincs saját hero, ezért a Betheme
   #Subheader címe (h1) navy sávként jelenik meg. A #Subheader a fix #Header_wrapper-en belül van → itt a burkoló
   „kilép” (display: contents; a --ow-hdr/--ow-logo változókat így is örökíti), és maga a #Header lesz a fix sáv.
   ========================================================================== */
body.ow.ow-solid-header #Header_wrapper { display: contents; }
body.ow.ow-solid-header #Header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 700;
  background-color: var(--ow-navy);
  transition: box-shadow var(--ow-dur) var(--ow-ease), top var(--ow-dur) var(--ow-ease);
}
html.ow-scrolled body.ow.ow-solid-header #Header, body.ow.ow-solid-header.side-slide-is-open #Header { box-shadow: 0 8px 28px 0 rgba(11, 13, 42, .22); }
body.ow.ow-solid-header.admin-bar #Header { top: 32px; }
@media screen and (max-width: 782px) { body.ow.ow-solid-header.admin-bar #Header { top: 46px; } }
@media screen and (max-width: 600px) { html.ow-scrolled body.ow.ow-solid-header.admin-bar #Header { top: 0; } }

body.ow.ow-solid-header #Subheader {
  display: block;
  padding: calc(var(--ow-header-h) + 72px) 0 72px;
  background: radial-gradient(90% 120% at 100% 0%, var(--ow-navy-700) 0%, rgba(27, 32, 99, 0) 60%), var(--ow-navy);
}
body.ow.ow-solid-header #Subheader .container { max-width: var(--ow-container); padding: 0 var(--ow-gutter); box-sizing: border-box; }
body.ow.ow-solid-header #Subheader .column.one { float: none; width: 100%; margin: 0; }
body.ow.ow-solid-header #Subheader .title {
  float: none; width: auto; max-width: 900px; margin: 0; text-align: left;
  color: var(--ow-white); font-size: var(--ow-fs-display-2); line-height: var(--ow-lh-display-2); font-weight: var(--ow-fw-medium);
  hyphens: auto; overflow-wrap: break-word;
}
body.ow.ow-solid-header #Subheader ul.breadcrumbs { display: none; }
/* a Betheme .no-content-padding #Content { padding: 0 !important } szabálya miatt !important */
body.ow.ow-solid-header #Content { padding-top: var(--ow-section-y-sm) !important; padding-bottom: var(--ow-section-y-sm) !important; }
body.ow.ow-solid-header #Content .section { --mfn-column-gap-left: 0px; --mfn-column-gap-right: 0px; }
body.ow.ow-solid-header #Content .section_wrapper { padding-left: var(--ow-gutter); padding-right: var(--ow-gutter); }

/* találati lista: kép + cím + „tovább” link, vékony elválasztóval; a szerző/dátum sor (oldalaknál értelmetlen) rejtve */
body.ow.search .search-item { align-items: center; gap: 0 40px; margin: 0; padding: 32px 0; border-bottom: 1px solid var(--ow-border); }
body.ow.search .search-item:first-child { padding-top: 0; }
body.ow.search .search-item::before, body.ow.search .search-item::after { content: none; }   /* clearfix-pszeudók ne legyenek flex-elemek (gap) */
body.ow.search .search-item .post-featured-image { width: 240px; margin: 0; }
body.ow.search .search-item .post-featured-image img.scale-with-grid { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
body.ow.search .search-item .search-content { flex: 1 1 auto; width: auto; min-width: 0; }
body.ow.search .search-item .post-meta { display: none; }
body.ow.search .search-item .post-title h4 { margin: 0 0 8px; font-size: var(--ow-fs-h3); line-height: var(--ow-lh-h3); }
body.ow.search .search-item .post-title a { color: var(--ow-heading); }
body.ow.search .search-item .post-title a:hover { color: var(--ow-orange-text); }
body.ow.search .search-item .post-product-price { margin: 0 0 8px; color: var(--ow-orange-text); font-weight: var(--ow-fw-medium); }   /* a Betheme témaszíne (narancs) fehéren 2.39:1 */
body.ow.search .search-item .post-excerpt:empty { display: none; }
body.ow.search .search-item .search-footer { margin-top: 8px; text-align: left; }
body.ow.search .search-item .search-footer a.link { display: inline-flex; align-items: center; gap: 8px; font-weight: var(--ow-fw-medium); color: var(--ow-navy); }
body.ow.search .search-item .search-footer a.link::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ow-i-arrow) center / contain no-repeat; mask: var(--ow-i-arrow) center / contain no-repeat; transition: transform var(--ow-dur) var(--ow-ease); }
body.ow.search .search-item .search-footer a.link:hover { color: var(--ow-orange-text); }
body.ow.search .search-item .search-footer a.link:hover::after { transform: translateX(6px); }
/* lapozó (Betheme .pager): szögletes 44px-es mezők, aktív/hover navy (a narancs témaszín fehér számmal 2.39:1 lenne) */
body.ow .pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 24px; margin-top: 48px; }
body.ow .pager .pages { display: flex; gap: 8px; margin: 0; padding: 0; border-radius: 0; background: none; }
body.ow .pager .pages a { display: inline-grid; place-items: center; width: 44px; height: 44px; margin: 0; border: 1px solid var(--ow-border); border-radius: 0; background: none; color: var(--ow-navy); font-weight: var(--ow-fw-medium); line-height: 1; }
body.ow .pager .pages a:is(:hover, .active) { border-color: var(--ow-navy); background: var(--ow-navy); color: var(--ow-white); }
body.ow .pager a:is(.next_page, .prev_page) { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; line-height: 1.2; color: var(--ow-navy); font-weight: var(--ow-fw-medium); }
body.ow .pager a:is(.next_page, .prev_page):hover { color: var(--ow-orange-text); }
/* nincs találat */
body.ow.search .search-not-found .mcb-column-inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
body.ow.search .search-not-found .snf-pic { margin: 0 0 24px; }
body.ow.search .search-not-found .snf-pic i { font-size: 64px; line-height: 1; color: var(--ow-orange-text); }
body.ow.search .search-not-found .snf-desc { width: auto; }
body.ow.search .search-not-found .snf-desc h4 { margin: 0 0 8px; font-size: var(--ow-fs-h2); line-height: var(--ow-lh-h2); }
@media (max-width: 767px) {
  body.ow.ow-solid-header #Subheader { padding: calc(var(--ow-header-h) + 48px) 0 48px; }
  body.ow.search .search-item { gap: 0 20px; padding: 24px 0; }
  body.ow.search .search-item .post-featured-image { width: 112px; }
  body.ow.search .search-item .post-featured-image img.scale-with-grid { aspect-ratio: 1; }
  body.ow.search .search-item .post-title h4 { font-size: var(--ow-fs-h5); line-height: var(--ow-lh-h5); }
}

/* ==========================================================================
   13. 404 (Betheme alapsablon) – a sablon mintája (spec §4.10): felső navy sáv, rá „lógó” óriás 404-es szám,
   alatta fehér felületen cím, szöveg, gomb; így a lábléc (navy-900) el is válik a tartalomtól.
   A címet h1-ként is kezeli (gyermek-404.php esetén), a felcímet h4-ként vagy p.ow-404__lead-ként.
   ========================================================================== */
/* a Betheme alap-404 elrejti a fejlécet és a láblécet (display:none !important) – visszakapcsoljuk */
body.ow.error404.default-404 { height: auto; }
body.ow.error404.default-404 #Wrapper { height: auto; }
body.ow.error404.default-404 #Header_wrapper,
body.ow.error404.default-404 header#Header { display: block !important; }
body.ow.error404.default-404 footer.mfn-footer-tmpl { display: block !important; }
body.ow.error404 #Error_404 {
  --ow-404-size: clamp(168px, 25vw, 360px);
  --ow-404-top: calc(var(--ow-header-h) + 64px);
  --ow-404-band: calc(var(--ow-404-top) + var(--ow-404-size) * .4);   /* a sáv a számjegyek közepéig ér */
  position: relative;
  top: auto;
  left: auto;
  display: block;
  margin: 0;
  padding: var(--ow-404-top) 0 var(--ow-section-y-md);
  box-sizing: border-box;
  overflow: hidden;
  background:
    radial-gradient(90% 120% at 100% 0%, var(--ow-navy-700) 0%, rgba(27, 32, 99, 0) 60%) top / 100% var(--ow-404-band) no-repeat,
    linear-gradient(var(--ow-navy), var(--ow-navy)) top / 100% var(--ow-404-band) no-repeat,
    var(--ow-white);
  color: var(--ow-text);
}
body.ow.error404 #Error_404 .container { width: 100%; max-width: var(--ow-container); padding: 0 var(--ow-gutter); box-sizing: border-box; }
body.ow.error404 #Error_404 .column.one { float: none; width: 100%; margin: 0; }
body.ow.error404 #Error_404 .mcb-column-inner { display: flex; flex-direction: column; align-items: center; max-width: 780px; margin: 0 auto; text-align: center; }
body.ow.error404 #Error_404 .error_desk { animation: ow-404-in var(--ow-reveal-dur) var(--ow-ease) .2s backwards; }
@keyframes ow-404-in { from { opacity: 0; transform: translateY(24px); } }
/* a közlekedési bója helyett az óriás szám (dekoráció: a cím szövegesen is tartalmazza → felolvasónak üres) */
body.ow.error404 #Error_404 .error_pic { float: none; width: auto; margin: 0 0 48px; padding: 0; }
body.ow.error404 #Error_404 .error_pic i { display: none; }
body.ow.error404 #Error_404 .error_pic::before {
  content: "404";
  content: "404" / "";
  display: block;
  font-size: var(--ow-404-size);
  line-height: .8;
  font-weight: var(--ow-fw-medium);
  letter-spacing: -.03em;
  color: var(--ow-orange);
  white-space: nowrap;
}
body.ow.error404 #Error_404 .error_desk { float: none; width: auto; margin: 0; padding: 0; text-align: center; }
body.ow.error404 #Error_404 .error_desk :is(h1, h2) { margin: 0 0 20px; font-size: var(--ow-fs-display-2); line-height: var(--ow-lh-display-2); font-weight: var(--ow-fw-medium); color: var(--ow-heading); hyphens: auto; }
body.ow.error404 #Error_404 .error_desk :is(h4, .ow-404__lead) { margin: 0 0 12px; font-size: var(--ow-fs-text-300); line-height: 1.5; font-weight: var(--ow-fw-regular); color: var(--ow-grey-600); }
body.ow.error404 #Error_404 .error_desk p:not(.ow-404__lead) { display: flex; flex-direction: column; align-items: center; gap: 32px; margin: 0; color: var(--ow-grey-500); }
body.ow.error404 #Error_404 .error_desk p .check { display: block; font-size: 16px; line-height: 1.6; }
body.ow.error404 #Error_404 .error_desk a.button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: var(--ow-btn-pad);
  border: 1px solid var(--ow-orange);
  border-radius: var(--ow-radius-btn);
  background: var(--ow-orange);
  color: var(--ow-navy);
  font-size: var(--ow-fs-btn);
  font-weight: var(--ow-fw-medium);
  line-height: 20px;
  box-shadow: none;
  transition: background-color var(--ow-dur) var(--ow-ease), border-color var(--ow-dur) var(--ow-ease), color var(--ow-dur) var(--ow-ease), transform var(--ow-dur) var(--ow-ease);
}
body.ow.error404 #Error_404 .error_desk a.button::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ow-i-arrow) center / contain no-repeat; mask: var(--ow-i-arrow) center / contain no-repeat; transition: transform var(--ow-dur) var(--ow-ease); }
body.ow.error404 #Error_404 .error_desk a.button:hover { background: var(--ow-navy); border-color: var(--ow-navy); color: var(--ow-white); transform: scale3d(var(--ow-hover-scale), var(--ow-hover-scale), 1); }
body.ow.error404 #Error_404 .error_desk a.button:hover::after { transform: translateX(6px); }
@media (max-width: 767px) {
  body.ow.error404 #Error_404 { --ow-404-size: clamp(120px, 40vw, 168px); --ow-404-top: calc(var(--ow-header-h) + 48px); }
  body.ow.error404 #Error_404 .error_pic { margin-bottom: 36px; }
}
