/*
Theme Name: MH Magazine Child
Theme URI: https://szegyenpad.com/
Description: A szegyenpad.com child theme-je az MH Magazine sablonhoz. Modernizáló és akadálymentesítő réteg a gyári style.css fölé.
Author: ABA Innovator
Template: mh-magazine
Version: 1.4.18
Text Domain: mh-magazine-child
*/

/* ===== 0. Open Sans saját kiszolgálásból (1.3.0) ================== */
/* A sablon a Google Fonts-ról töltötte (2 külön kapcsolat, blokkoló CSS,
   ~750 ms mobilon). Ugyanaz a v44-es változó betű, latin + latin-ext (ő, ű)
   részhalmaz, 4 fájl, font-display: swap. A 900-as vastagságot a sablon
   sehol nem használja, ezért nem kell. A functions.php a Google-linket
   leveszi és a két álló fájlt előtölti. */
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("fonts/open-sans-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("fonts/open-sans-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Open Sans"; font-style: italic; font-weight: 300 800; font-display: swap; src: url("fonts/open-sans-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Open Sans"; font-style: italic; font-weight: 300 800; font-display: swap; src: url("fonts/open-sans-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Méretre igazított tartalék betű (1.4.0, CLS). A swap alatt a szöveg Arial-lal
   jelenik meg, majd Open Sansra cserél; a két betű szélessége eltér, ezért a
   sorok újratördelődtek (PSI CLS 0,224). Az Arialt az Open Sans metrikáira
   igazítjuk, így a csere gyakorlatilag mozgás nélküli. */
@font-face { font-family: "Open Sans Fallback"; src: local("Arial"), local("Liberation Sans"), local("Helvetica"); size-adjust: 105.5%; ascent-override: 101.2%; descent-override: 27.7%; line-gap-override: 0%; }
body, h1, h2, h3, h4, h5, h6 { font-family: "Open Sans", "Open Sans Fallback", Helvetica, Arial, sans-serif; }

/* Ikonbetűk font-display-jel (1.3.2 → 1.4.5). A flexslider-icon felülírása itt
   marad: a szülő style.css előbb tölt, ezért ez a későbbi, nyerő szabály. A
   FontAwesome NEM ide való: a szülő font-awesome.min.css aszinkron, a child CSS
   UTÁN érkezik, és a saját @font-face-e (font-display nélkül) felülírta ezt.
   1.4.5-től a functions.php a FontAwesome-stíluslap mögé fűzi inline-ban. */
@font-face { font-family: "flexslider-icon"; font-style: normal; font-weight: normal; font-display: swap; src: url("../mh-magazine/fonts/flexslider-icon.woff") format("woff"); }

/* ===== 1. Változók ============================================ */

:root {
  --mh-kiemeles: #e64946;      /* a sablon piros kiemelőszíne */
  --mh-sotet: #2a2a2a;         /* menü, lábléc, feliratok */
  --mh-vonal: #ebebeb;         /* keretek, elválasztók */
  --mh-szoveg: #1a1a1a;
  --mh-fokusz: #1a56db;        /* jól látható, a pirostól elütő fókuszkeret */
}

/* ===== 2. Hibajavítások a gyári CSS-hez ======================= */

/* A sablon 6px-es small mérete olvashatatlan. */
small { font-size: 0.8em; }

/* Ne tiltsuk a mobil szövegméret-igazítást. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* Szabványos név a break-word-re. */
body { overflow-wrap: break-word; }

/* ===== 3. Tipográfia ========================================== */

body { font-size: 1rem; line-height: 1.65; color: var(--mh-szoveg); }
.entry-content { font-size: 1.0625rem; }
.entry-content p { margin-bottom: 1.35rem; }
.entry-content h2 { font-size: 1.6rem; margin-top: 2rem; }
.entry-content h3 { font-size: 1.3rem; margin-top: 1.6rem; }
blockquote { font-size: 1.05em; border-left-color: var(--mh-kiemeles); }

/* A widgetek és a meta-sorok maradjanak a régi, kisebb méretben. */
.mh-widget, .mh-footer-widget, .mh-meta, .mh-breadcrumb { font-size: 0.875rem; }

/* ===== 4. Fókusz és billentyűzetes navigáció ================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--mh-fokusz);
  outline-offset: 2px;
}
.flex-container a:focus-visible, .flex-slider a:focus-visible { outline: 3px solid var(--mh-fokusz); }

/* Képernyőolvasó-szöveg a WordPress ajánlott módján. */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: static !important;
  width: auto; height: auto; margin: 0; padding: 0.5em 1em;
  clip: auto; clip-path: none; white-space: normal;
  background: #fff; color: var(--mh-szoveg); z-index: 100000;
}

/* ===== 5. Űrlapok ============================================= */

/* 16px alatt az iOS ránagyít a mezőre; ez azt kerüli el. */
input, textarea, select { font-size: 1rem; }
.search-form input { font-size: 0.75rem; }
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus,
input[type=url]:focus, textarea:focus { border-color: var(--mh-kiemeles); outline: none; box-shadow: 0 0 0 3px rgba(230, 73, 70, 0.25); }
input[type=submit], button { min-height: 44px; }

/* ===== 6. Táblázatok ========================================== */

/* A Gutenberg "fix elrendezés" opció az, ami mobilon betűnként tördel. */
.entry-content table.has-fixed-layout { table-layout: auto; }
.entry-content table { font-size: 0.95em; line-height: 1.45; }
.entry-content th { background: #f3f3f3; font-weight: 600; }
.entry-content td, .entry-content th { vertical-align: top; overflow-wrap: anywhere; }

/* Keskeny képernyőn a sima táblázat vízszintesen görgethető,
   nem töri szét az oldalt. */
@media (max-width: 640px) {
  .entry-content .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .entry-content .wp-block-table table { min-width: 480px; }
}

/* Kézzel írt, data-label attribútumos táblázatok: mobilon kártyák. */
.idovonal-tabla { width: 100%; border-collapse: collapse; table-layout: auto; }
.idovonal-tabla caption { text-align: left; font-weight: 600; padding: .5em 0; }
.idovonal-tabla th, .idovonal-tabla td { padding: .6em .75em; border: 1px solid var(--mh-vonal); text-align: left; }
.idovonal-tabla th:first-child, .idovonal-tabla td:first-child { white-space: nowrap; }
.idovonal-tabla.kozles-tabla th:first-child, .idovonal-tabla.kozles-tabla td:first-child { white-space: normal; min-width: 9em; }
@media (max-width: 640px) {
  .entry-content .wp-block-table:has(.idovonal-tabla) { overflow: visible; }
  .entry-content .wp-block-table .idovonal-tabla { min-width: 0; }
  .idovonal-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .idovonal-tabla, .idovonal-tabla tbody, .idovonal-tabla tr, .idovonal-tabla td { display: block; width: 100%; }
  .idovonal-tabla tr { border: 1px solid var(--mh-vonal); border-radius: 6px; margin-bottom: 1em; padding: .25em 0; }
  .idovonal-tabla td { border: 0; border-bottom: 1px solid #eee; white-space: normal; }
  .idovonal-tabla td:last-child { border-bottom: 0; }
  .idovonal-tabla td::before { content: attr(data-label); display: block; font-size: .8em; font-weight: 600; text-transform: uppercase; color: #666; margin-bottom: .2em; }
  .idovonal-tabla td:first-child { font-weight: 600; }
}

/* ===== 7. Mozgáscsökkentés ==================================== */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== 8. Apróságok =========================================== */

/* A sablon beépített megosztógombjait az 1.3.8-tól a child üres content-social.php
   sablonrészlete kapcsolja ki; a megosztást az AddToAny adja. (A korábbi Google+-
   elrejtő szabály rossz szelektorral célzott: a .mh-googleplus a linken van, a
   .mh-share-button a belső dobozon.) Tartalék, ha a részlet mégis kiíródna: */
.mh-share-buttons { display: none; }

/* Slider helyfoglalás (1.4.0, CLS). A FlexSlider JS-inicializálásig a sablon
   minden diát elrejt (.js .slides > li { display:none }), a doboz 0 magasságú,
   majd a kép magasságára ugrik, és minden alatta lévő tartalom lejjebb csúszik.
   Az első dia legyen látható már a JS előtt; a képe width/height attribútummal
   foglalja a helyet, az inicializálás így nem változtat a magasságon. */
/* (1.4.2) Az 1.4.0-s „első dia látható JS előtt” szabály KIKERÜLT: a FlexSlider
   inicializálása vele 0 px-es (vagy 2000 px-es) viewport-magasságot számolt, a
   slider eltűnt. Helyette a slider doboza képarány-alapú helyet foglal:
   pre-init a rejtett diák helyett is 678:381 magas, init után ugyanannyi. Ha a
   tartalom magasabb (mobilon a felirat a kép alatt), a doboz nő vele. */
.mh-slider-widget.flexslider { aspect-ratio: 678 / 381; }
/* A FlexSlider „smoothHeight” a .flex-viewport magasságát inline állítja és a
   sablon 1 s-os átmenettel animálja (max-height 300 → 2000 px). Élesben a
   viewport inline height: 2000px-en ragadt, ami 1600 px üres sávot hagyott a
   slider alatt, és a PSI két 0,130-as elmozdulást mért. A viewport kövesse a
   diák tényleges magasságát, animáció nélkül – minden dia azonos méretű. */
.flexslider .flex-viewport { height: auto !important; max-height: none !important; transition: none !important; }

/* A vissza-a-tetejére gomb legyen ujjal is eltalálható (44 px). 1.4.12: a korábbi
   min-width/min-height a TARTALOMdobozra ment (content-box), a szülő 5/8 px-es
   paddingja rájött → 60×57 px-es piros négyzet, a nyíl a bal felső sarokban.
   Most fix 44×44 border-boxszal, padding nélkül, a nyíl sor-magassággal középre. */
.mh-back-to-top { box-sizing: border-box; width: 44px; height: 44px; padding: 0; text-align: center; line-height: 44px; }
.mh-back-to-top .fa { line-height: 44px; vertical-align: top; }

/* Képek ne lógjanak ki. Iframe-re NEM adunk height:auto-t: az felülírná a
   height attribútumot, és a YouTube/Embedly beágyazás 150 px-re lapulna. */
.entry-content img { max-width: 100%; height: auto; }
.entry-content iframe { max-width: 100%; }

/* ===== 9. Mátrix-háttér ======================================= */

/* Fekete alap a dobozos elrendezés körül; a canvas-t a js/matrix-bg.js
   hozza létre és a tartalom mögé teszi. Mobilon (900 px alatt) a szkript
   nem indul, ott a fekete alap marad, amit a teljes szélességű doboz eltakar. */
body.mh-boxed-layout { background: #000; }
#mh-matrix-bg {
  position: fixed; inset: 0;
  width: 100%; height: 100%;            /* nem 100vw (görgetősáv), és nem auto
                                           (canvas-ként a belső felbontására nőne) */
  z-index: -1; pointer-events: none;
}
#mh-matrix-bg[hidden] { display: none; }
/* A fehér doboz emelkedjen ki a fekete, mozgó háttérből. */
body.mh-boxed-layout .mh-container-outer { box-shadow: 0 0 40px rgba(0, 0, 0, 0.85), 0 0 2px rgba(109, 255, 160, 0.35); }

/* ===== 10. CSS-revízió, 2026-09-06 (élő mérések alapján) ======== */

/* 10.1 MailPoet „bejegyzés alatti” űrlap: a bővítmény 100vw-re húzza, ami
   asztali és tablet nézetben 19 px-es vízszintes görgetést okozott. */
.mailpoet_form_below_posts, .mailpoet_form_position_below_posts {
  width: auto !important; max-width: 100% !important;
  margin-left: 0 !important; margin-right: 0 !important; left: auto !important;
  box-sizing: border-box;
}
/* Olyan sablonoknál, ahol nincs the_content (pl. a címlap), a MailPoet a
   „bejegyzés alatti” űrlapot a body végére, a lábléc ALÁ fűzi, a dobozon kívül.
   Ott az oldalsávban úgyis ott van ugyanez az űrlap, ezért ezt a példányt
   elrejtjük. A cikkek tartalmában lévő űrlapot nem érinti. */
body > .mailpoet_form_below_posts { display: none !important; }

/* 10.2 MailPoet űrlap az oldalsávban: 345 px-es fix szélessége túllógott a
   327 px-es sávon (a widget overflow:hidden levágta), a 33 px-es címsor pedig
   768–1120 px között szó közepén tört. */
.mh-sidebar .mailpoet_form, .mh-sidebar .mailpoet_form form,
.mh-sidebar .mailpoet_form_widget { width: auto !important; max-width: 100% !important; box-sizing: border-box; }
.mh-sidebar .mailpoet_form *, .mh-footer-widget .mailpoet_form * { box-sizing: border-box; max-width: 100%; }
.mailpoet-heading { overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (min-width: 768px) and (max-width: 1120px) {
  .mh-sidebar .mailpoet-heading { font-size: 20px !important; line-height: 1.25 !important; }
}
@media (max-width: 400px) {
  .mailpoet-heading { font-size: 26px !important; }
}

/* 10.3 AdSense: a kitöltetlen automatikus hirdetéshely (google-auto-placed)
   ne hagyjon üres sávot a fejléc alatt. */
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
.google-auto-placed:has(> ins[data-ad-status="unfilled"]),
.google-auto-placed:empty { display: none !important; }
.google-auto-placed { margin: 0 !important; }

/* 10.4 Beágyazott videók reszponzív képaránya (a Facebook-videó iframe fix
   560×314-es volt, mobilon 335 px szélesen 314 px magas maradt). Az Embedly-
   kártyákra szándékosan NEM vonatkozik, azok maguk állítják a magasságukat. */
.entry-content iframe[src*="youtube.com/embed"],
.entry-content iframe[src*="youtube-nocookie.com/embed"],
.entry-content iframe[src*="facebook.com/plugins/video"] {
  width: 100%; aspect-ratio: 16 / 9; height: auto;
}

/* 10.5 Apró, 10–11 px-es feliratok minimum 12 px-re. A főmenüt nem érinti. */
.mh-image-caption, .mh-carousel-caption, .mh-custom-posts-small .mh-meta,
.mh-posts-digest-small-category, .mh-category-column-caption,
.widget_recent_entries .post-date, .mh-header-date, .mh-ticker-top,
.mh-header-nav li, .search-form input, .mh-posts-stacked-meta,
.mh-comment-meta-date, .mh-ad-label { font-size: 0.75rem; }
@media (max-width: 620px) {
  .mh-custom-posts-content .mh-meta, .mh-posts-list-meta, .mh-posts-grid-meta,
  .mh-posts-focus-meta-small { font-size: 0.75rem; }
}
/* A sablon 420 px alatt azonosítós szelektorral (#mh-mobile) írja 11 px-re. */
#mh-mobile .mh-image-caption { font-size: 0.75rem; }

/* ===== 11. Betűméret-emelés asztali nézetben (2026-09-06) ========= */

/* A Testreszabás „Change default Font Size” mezője inline stílusként
   .entry-content { font-size: 1rem }-et ír a fejlécbe, ami a child 3. szakaszát
   felülírta. A dupla osztály erősebb nála. Mobilon a 16–17 px marad. */
.entry-content.entry-content { font-size: 1.0625rem; }                 /* 17 px */

/* Címlap és oldalsáv asztali nézetben: a widget-szöveg és a kivonatok 14 px-ről
   16 px-re, a címek és a meta-sor arányosan. A cikkoldal törzse nem változik. */
@media (min-width: 1024px) {
  .mh-widget { font-size: 1rem; }
  .mh-footer-widget { font-size: 0.9375rem; }
  .mh-excerpt, .mh-posts-large-excerpt, .mh-posts-list-excerpt,
  .mh-posts-grid-excerpt, .mh-posts-focus-excerpt, .mh-slider-content .mh-excerpt,
  .mh-spotlight-widget .mh-excerpt { font-size: 1rem; line-height: 1.6; }
  .mh-posts-grid-title, .mh-custom-posts-xl-title, .mh-posts-focus-title,
  .mh-posts-digest-title-large { font-size: 1.375rem; }                 /* 22 px */
  .mh-posts-large-title, .mh-slider-title { font-size: 1.625rem; }      /* 26 px */
  .mh-custom-posts-small-title, .mh-posts-digest-title-small,
  .mh-category-column-title, .mh-posts-lineup-more-title,
  .mh-tab-post-item, .mh-posts-horizontal-title { font-size: 1rem; }    /* 16 px */
  .mh-meta, .mh-custom-posts-small .mh-meta { font-size: 0.875rem; }    /* 14 px */
  .mh-widget-title { font-size: 1rem; }
  .mh-widget-layout1 .mh-widget-title { font-size: 1.125rem; }
}

/* 10.6 Érintőfelületek mobilon: a menügomb 31 px, a „[...]” és a widget-
   címlinkek 19–22 px magasak voltak. Negatív margóval nem tolják el a sorokat. */
@media (max-width: 767px) {
  .slicknav_btn { display: flex; align-items: center; min-height: 44px; margin: 0 5px; padding: 0 0.9em; box-sizing: border-box; }
  .mh-excerpt-more, .mh-widget-title-link, .mh-meta a, .mh-comment-meta-links a {
    display: inline-block; padding: 0.55em 0.35em; margin: -0.55em -0.35em;
  }
}

/* 10.7 Űrlapmezők keskeny képernyőn: a 88 % és 96 % helyett egységesen teljes
   szélesség, a keret beszámításával. */
@media (max-width: 620px) {
  input[type=text], input[type=email], input[type=tel], input[type=url], textarea {
    width: 100%; box-sizing: border-box;
  }
}

/* ===== 12. Akadálymentes kontraszt és linkjelölés (1.4.3) ========== */
/* A PSI/Lighthouse kisegítő-lehetőségek listája (2026-09-06, asztali 90, mobil 94)
   alapján. A sablon piros kiemelőszíne (#e64946) fehérrel 3,88:1 arányt ad, a
   kis szöveghez 4,5:1 kell (WCAG AA). Ugyanaz az árnyalat kicsit mélyebben:
   #cc3835 = 5,0:1. A dátumok/morzsák szürkéje (#979797, 2,92:1) → #6d6d6d (5,0:1).
   Egyetlen sor visszaállítja a régit: a --mh-kiemeles-aa értéke. */
:root { --mh-kiemeles-aa: #cc3835; --mh-szurke-aa: #6d6d6d; }

/* 12.1 Piros szöveg fehér alapon (mottó, cikk-linkek, hover-állapotok, kategóriák). */
a:hover, .mh-header-tagline, .mh-breadcrumb a:hover, .mh-meta a:hover,
.entry-content a, .entry-content a:hover, .mh-comment-info, .required, .mh-dropcap,
.mh-carousel-layout2 .mh-carousel-caption, .mh-posts-digest-small-category,
.mh-posts-lineup-more, .mh-tabbed-widget a:hover,
.mh-carousel-layout1 .flex-direction-nav a { color: var(--mh-kiemeles-aa); }

/* 12.2 Fehér szöveg piros alapon (képfeliratok, lábléc-menü, szerzői doboz,
   címsorok, gombok, menü-hover). A vékony 3 px-es aláhúzások és a szín-pöttyök
   maradnak az eredeti pirosban, azoknál nincs szöveg. */
.mh-image-caption, .mh-carousel-layout1 .mh-carousel-caption, .mh-footer-nav,
.mh-footer-widget .mh-author-bio-widget, .mh-posts-stacked-meta, .mh-ticker-title,
.mh-subheading, .mh-preheader, .mh-wide-layout .mh-subheader, .mh-main-nav li:hover,
.slicknav_btn, .slicknav_menu, .slicknav_nav .slicknav_item:hover, .slicknav_nav a:hover,
.entry-tags li:hover, .entry-tags .fa, .pagelink, a:hover .pagelink,
.page-numbers:hover, .mh-loop-pagination .current, .mh-comments-pagination .current,
input[type=submit], .mh-back-to-top, #infinite-handle span,
.mh-widget-layout2 .mh-widget-title, .mh-widget-layout4 .mh-widget-title,
.mh-widget-layout4 .mh-widget-title-inner, .mh-widget-layout4 .mh-footer-widget-title,
.mh-widget-layout5 .mh-widget-title-inner, .mh-widget-layout6 .mh-widget-title,
.mh-social-widget li:hover a, .mh-footer-widget .mh-social-widget li a,
.mh-tab-button.active, .mh-tab-button.active:hover, .mh-footer-widget .mh-tab-button.active,
.tagcloud a:hover, .mh-widget .tagcloud a:hover, .mh-footer-widget .tagcloud a:hover {
  background-color: var(--mh-kiemeles-aa);
}

/* 12.3 Szürke meta-szövegek (dátum, morzsa, RSS-dátum, idézet-szerző). */
.mh-meta, .mh-meta a, .mh-breadcrumb, .mh-breadcrumb a, .mh-user-data,
.widget_rss .rss-date, .widget_rss cite, .widget_recent_entries .post-date,
cite, .mh-testimonial-author { color: var(--mh-szurke-aa); }
.mh-footer .mh-meta, .mh-footer .mh-meta a { color: #fff; }   /* sötét láblécen marad fehér */

/* 12.4 A 11 px-es feliratok 12 px-re (lábléc-menü, körhinta-felirat). */
.mh-footer-nav li a, .mh-carousel-caption, .widget_recent_entries .post-date { font-size: 0.75rem; }

/* 12.5 A kivonat végi „Tovább” link csak színben tért el a szövegtől (link-in-text-block):
   aláhúzás, hogy szín nélkül is felismerhető legyen. */
.mh-excerpt-more, .mh-excerpt-more:hover { text-decoration: underline; text-underline-offset: 0.15em; }

/* ===== 13. MailPoet-űrlap Open Sansszal (1.4.4) ===================== */
/* A feliratkozó-űrlap volt az oldal egyetlen BioRhyme/Montserrat-használója
   (címsor, gomb, egy félkövér sor). A Cloudflare Fonts a nem blokkoló Google-
   linket inline @font-face-re írta át, így 4 fájl, 155 KiB került a kritikus
   láncba (PSI: 389 ms). A MailPoet inline style="font-family: …" attribútumokat
   ír, ezért kell az !important. Az Open Sans az oldalhoz úgyis betöltődik. */
.mailpoet_form, .mailpoet_form input, .mailpoet_form select, .mailpoet_form textarea,
.mailpoet_form button, .mailpoet_form .mailpoet-has-font, .mailpoet_form [data-font],
.mailpoet_form [style*="font-family"], [id^="mp_form_"] .mailpoet-has-font {
  font-family: "Open Sans", "Open Sans Fallback", Helvetica, Arial, sans-serif !important;
}
/* A 13 px-es dőlt-félkövér sor dőlés nélkül: olvashatóbb, és nem kéri le a
   dőlt Open Sans fájlt (50 KiB) a címlapon. */
.mailpoet_form em { font-style: normal; }

/* ===== 14. Webpushr értesítő-kártya (1.4.6) ========================= */
/* A Webpushr szkript egy <popup_notification id="webpushr-card-notification">
   kártyát szúr be friss push-értesítésnél, benne a <notification_time> ("18 hours
   ago") 10 px-es, dőlt, szürke Arial fehéren (3,95:1) – PSI kontraszt-hiba, és ez
   kérte le a dőlt Open Sans fájlt is. Ugyanez az elem a harang-buborékban is él
   (#webpushr-prompt-wrapper). A szkript a <style>-t a lap végére szúrja, a
   child CSS után, ezért kell az !important. */
notification_time, #webpushr-card-notification notification_time,
#webpushr-prompt-wrapper notification_time {
  color: #6d6d6d !important; font-size: 0.75rem !important; font-style: normal !important;
}

/* ===== 15. Mobil elrendezés-eltolódás (1.4.7) ======================= */
/* PSI mobil CLS 0,555 (asztalon 0,001). A képkocka-sor szerint három ugrás:
   (1) az asztali menü látszik, amíg a késleltetett scripts.js (Modernizr) fel nem
   teszi a <html> js osztályát – a szülő csak `.js .mh-navigation{display:none}`-nal
   rejti; (2) a slicknav 45 px-es piros sávja utólag épül be felülre; (3) a slider
   a FlexSlider-init után kapja meg a kép alatti feliratot (+318–364 px).
   A js osztályt a functions.php most azonnal felteszi (wp_head 0), ez az (1)-et
   megoldja; az alábbi két helyfoglalás a (2)-t és a (3)-at. */
@media screen and (max-width: 767px) {
  /* (2) a slicknav tárolója üresen is 45 px, ugyanazzal a pirossal */
  .js .mh-header-nav-mobile:empty { min-height: 45px; background: var(--mh-kiemeles-aa); }
  /* (3) kép (a dobozszélesség 381/678-a) + felirat; a 1.4.2-es aspect-ratio
     asztalon marad, itt a min-height a nagyobb. Egy 24 px-nél rövidebb felirat
     kis rést ad; a mért 3 dia 318/341/364 px, a 365 mindet lefedi. */
  /* 1.4.10: az aspect-ratio ITT KI! Együtt a min-height-tal a böngésző a magasságból
     vezette le a minimális szélességet (553 × 678/381 = 985 px), a slider 985 px
     szélesre nőtt, a kép 3-szorosra nagyítva lógott ki (2026-09-06 esti hiba). */
  .js .mh-slider-widget.flexslider { aspect-ratio: auto; min-height: calc((100vw - 40px) * 381 / 678 + 318px); }
  /* 1.4.11: egyforma dia-magasság. A felirat (cím + kivonat) diánként 318–364 px volt,
     ezért a doboz váltáskor más-más magas lett. A felirat minimuma ugyanaz a 365 px,
     a kivonat 7 sorban elvágva, hogy egy hosszabb szöveg se nyomja szét. */
  /* 1.4.13: a 7 soros kivonattal a felirat 318 px (20 + 3 soros cím 104 + 10 + 7×23,1
     + 22). A 365 túl sok volt: 47–69 px üres sötét sáv maradt alul. A 318 a
     3 soros címre pontos; 2–4 soros címnél a lábléc-szkript (mh-child-slider-eq)
     méri ki a legmagasabb diát, és arra állítja mindet. */
  .js .mh-slider-widget .mh-slider-caption { min-height: 318px; box-sizing: border-box; }
  .js .mh-slider-widget .mh-slider-caption .mh-excerpt {
    display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden;
  }
}

/* ===== 16. CookieYes <i> ikon dőlés nélkül (1.4.8) ================== */
/* A süti-ablak <i class="cky-chevron-right"> eleme a szülő `i, em {font-style:
   italic}` szabályától dőlt lesz, és bár láthatatlan, ez kéri le a dőlt Open Sans
   fájlt (50 KiB) minden címlap-betöltésnél. Ikon-tároló, szöveg nincs benne. */
i[class^="cky-"], i[class*=" cky-"] { font-style: normal; }

/* ===== 17. Harmadik feles felületek dőlés nélkül (1.4.16) ============ */
/* A PSI függőségi fájában a dőlt Open Sans (50 KiB) még az 1.4.8 után is
   lejött, pedig a saját pane-ben egyetlen dőlt elem sincs, és a dőlt betű nem
   töltődik. A különbség a friss profil: ott a Webpushr feliratkozó-buborékja
   (Notification.permission = default) és a CookieYes-ablak is megjelenik, és
   ezek a szülő `i, em { font-style: italic }` szabályát öröklik. Harmadik feles
   felületen nincs szükség dőltre; az egész tárolóra állóra állítjuk. */
#webpushr-prompt-wrapper, #webpushr-prompt-wrapper *,
#webpushr-notification-card-wrapper, #webpushr-notification-card-wrapper *,
.cky-consent-container *, .cky-btn-revisit-wrapper *, .cky-modal * { font-style: normal !important; }
