/*
Theme Name: Adiuto Fortis
Theme URI: https://adiutofortis.hu
Author: BrandMakerz Kft.
Author URI: https://www.brandmakerz.hu
Description: Az Adiuto Fortis Kft. bemutatkozó weboldalának egyedi WordPress-sablonja. Letisztult, tipográfiára épülő megjelenés, önhosztolt betűtípusok, reszponzív elrendezés, Polylang-kompatibilis nyelvváltó, GDPR-barát térképbetöltés.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adiutofortis
Tags: one-column, custom-logo, custom-menu, editor-style, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================================
   0. Betűtípusok (önhosztolt, GDPR: nem tölt be Google-szervert)
   ========================================================================== */
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/source-serif-4-400.woff") format("woff"); }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 400; font-display: swap; src: url("assets/fonts/source-serif-4-400-italic.woff") format("woff"); }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/source-serif-4-600.woff") format("woff"); }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/source-serif-4-700.woff") format("woff"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/source-sans-3-400.woff") format("woff"); }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("assets/fonts/source-sans-3-400-italic.woff") format("woff"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/source-sans-3-600.woff") format("woff"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/source-sans-3-700.woff") format("woff"); }

/* ==========================================================================
   1. Design tokenek
   A paletta az ügyfél kérésére kékesebb, a régi (kékeszöld) arculathoz közelebb áll.
   ========================================================================== */
:root, .editor-styles-wrapper {
  --slate-900: #16232c;
  --slate-800: #1f3341;   /* hero háttér */
  --slate-700: #22323d;   /* alap szövegszín */
  --slate-600: #3a4a57;
  --slate-500: #5a6b78;
  --slate-400: #7d8d99;
  --slate-300: #aab7c1;
  --slate-200: #d5dde3;
  --slate-100: #e7edf1;
  --ground:    #f2f6f8;   /* világos szekcióháttér */
  --surface:   #ffffff;
  --blue-800:  #1b5063;
  --blue-700:  #22627a;   /* hover */
  --blue-600:  #2b7891;   /* kiemelőszín */
  --blue-500:  #3a8ca6;
  --blue-200:  #bfdbe6;
  --blue-100:  #dcecf2;
  --blue-50:   #edf5f8;

  --ink: var(--slate-700);
  --ink-soft: var(--slate-500);
  --line: var(--slate-200);
  --accent: var(--blue-600);
  --accent-dark: var(--blue-700);
  --accent-light: var(--blue-100);
  --accent-faint: var(--blue-50);

  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;

  --container: 1120px;
  --gutter: clamp(20px, 4vw, 40px);
  --radius: 3px;
  --header-h: 84px;
  --section-y: clamp(3.25rem, 7vw, 6rem);
  --ease: cubic-bezier(.2,.7,.2,1);
  --shadow-soft: 0 10px 30px -18px rgba(31, 51, 65, .35);
}

/* ==========================================================================
   2. Alapok
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--ink);
  background: var(--surface);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, video, iframe { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; transition: color .2s var(--ease); }
a:hover { color: var(--accent-dark); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
::selection { background: var(--blue-200); color: var(--slate-900); }

h1, h2, h3, h4, h5, h6, .wp-block-heading {
  font-family: var(--font-serif);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.005em;
  color: var(--slate-800);
  margin: 0 0 .6em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.1rem, 4.2vw, 3.3rem); line-height: 1.08; }
h2 { font-size: clamp(1.65rem, 2.7vw, 2.3rem); }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.1rem; font-family: var(--font-sans); font-weight: 600; letter-spacing: 0; }
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.25em; }
li { margin-bottom: .35em; }
strong, b { font-weight: 600; }
em { font-style: italic; }
hr { border: 0; border-top: 1px solid var(--line); margin: 2rem 0; }
blockquote { margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--accent); font-family: var(--font-serif); font-size: 1.15em; color: var(--slate-600); }
code, kbd { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .92em; background: var(--ground); padding: .1em .35em; border-radius: 2px; }
table { border-collapse: collapse; width: 100%; }
small { font-size: .875em; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: absolute !important; left: 8px; top: 8px; width: auto; height: auto; margin: 0; padding: .75rem 1rem;
  clip: auto; background: var(--surface); color: var(--accent); z-index: 100000; box-shadow: var(--shadow-soft); font-weight: 600;
}
.af-skip { position: absolute; left: -9999px; top: 0; }
.af-skip:focus { left: 8px; top: 8px; z-index: 100000; background: var(--surface); color: var(--accent); padding: .75rem 1rem; box-shadow: var(--shadow-soft); }

/* Segédosztályok */
.af-wrap { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.af-eyebrow, .af-eyebrow.wp-block-heading {
  font-family: var(--font-sans); font-weight: 600; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent); margin: 0 0 .9rem;
}
.af-lead, .af-lead.wp-block-paragraph, p.af-lead { font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.55; color: var(--slate-600); max-width: 62ch; }
.af-muted { color: var(--ink-soft); }
.af-small { font-size: .9rem; }
.af-center { text-align: center; }
.af-narrow { max-width: 72ch; }

/* ==========================================================================
   3. Gombok (core/button + saját .af-btn)
   ========================================================================== */
.wp-block-buttons { gap: .75rem 1rem; }
.wp-block-button { margin: 0; }
.af-btn, .wp-block-button__link, .wp-element-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: var(--font-sans); font-weight: 600; font-size: 1rem; line-height: 1.2;
  padding: .85rem 1.5rem; border-radius: var(--radius);
  background: var(--accent); color: #fff; border: 1.5px solid var(--accent);
  text-decoration: none; cursor: pointer;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}
.af-btn:hover, .wp-block-button__link:hover, .wp-element-button:hover { background: var(--accent-dark); border-color: var(--accent-dark); color: #fff; }
.af-btn:active, .wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-outline .wp-block-button__link, .af-btn--outline {
  background: transparent; color: var(--accent); border-color: var(--accent);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .af-btn--outline:hover { background: var(--accent); color: #fff; }
.af-btn--small { padding: .55rem 1rem; font-size: .92rem; }
.af-btn--link { background: none; border: 0; color: var(--accent); padding: 0; font-weight: 600; }
.af-btn--link:hover { background: none; color: var(--accent-dark); text-decoration: underline; }
.af-arrow::after { content: "→"; font-weight: 400; transition: transform .2s var(--ease); display: inline-block; }
.af-arrow:hover::after { transform: translateX(3px); }

/* ==========================================================================
   4. Fejléc
   ========================================================================== */
.af-header {
  position: sticky; top: 0; z-index: 900;
  background: rgba(255,255,255,.96);
  -webkit-backdrop-filter: saturate(140%) blur(8px); backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--line);
}
.admin-bar .af-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .af-header { top: 46px; } }
.af-header__inner { display: flex; align-items: center; gap: 1.5rem; min-height: var(--header-h); }
.af-logo { display: inline-flex; align-items: center; flex: 0 0 auto; text-decoration: none; color: var(--slate-800); }
.af-logo img, .af-logo .custom-logo { height: 56px; width: auto; max-width: min(320px, 60vw); object-fit: contain; }
.af-wordmark { font-family: var(--font-serif); font-size: 1.85rem; line-height: 1; letter-spacing: -.01em; display: flex; flex-direction: column; }
.af-wordmark strong { font-weight: 600; color: var(--slate-800); }
.af-wordmark strong em { font-style: italic; font-weight: 400; color: var(--accent); }
.af-wordmark small { font-family: var(--font-sans); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-top: .35rem; }

.af-nav { margin-left: auto; }
.af-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; }
.af-nav li { margin: 0; }
.af-nav a {
  display: inline-block; padding: .6rem .8rem; font-weight: 600; font-size: .98rem; color: var(--slate-700);
  text-decoration: none; border-radius: var(--radius); position: relative;
}
.af-nav a::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .3rem; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }
.af-nav a:hover { color: var(--accent); }
.af-nav a:hover::after, .af-nav .current-menu-item > a::after, .af-nav .current_page_item > a::after, .af-nav .current-menu-ancestor > a::after, .af-nav .current_page_parent > a::after { transform: scaleX(1); }
.af-nav .current-menu-item > a, .af-nav .current_page_item > a, .af-nav .current_page_parent > a { color: var(--accent); }

.af-header__tools { display: flex; align-items: center; gap: 1rem; flex: 0 0 auto; }
.af-lang { list-style: none; margin: 0; padding: 0; display: flex; gap: .15rem; }
.af-lang li { margin: 0; }
.af-lang a, .af-lang span { display: inline-block; padding: .35rem .45rem; font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); text-decoration: none; border-radius: 2px; }
.af-lang a:hover { color: var(--accent); background: var(--accent-faint); }
.af-lang .current-lang a, .af-lang .current-lang span { color: var(--accent); }
.af-header__cta { padding: .7rem 1.2rem; font-size: .95rem; }

.af-burger {
  display: none; align-items: center; gap: .5rem; background: none; border: 1.5px solid var(--line); border-radius: var(--radius);
  padding: .55rem .8rem; font: inherit; font-weight: 600; font-size: .9rem; color: var(--slate-700); cursor: pointer;
}
.af-burger__icon { width: 18px; height: 12px; position: relative; display: inline-block; }
.af-burger__icon::before, .af-burger__icon::after, .af-burger__icon span { content: ""; position: absolute; left: 0; width: 100%; height: 2px; background: currentColor; transition: transform .25s var(--ease), opacity .2s; }
.af-burger__icon::before { top: 0; } .af-burger__icon span { top: 5px; } .af-burger__icon::after { bottom: 0; }
.af-burger[aria-expanded="true"] .af-burger__icon::before { transform: translateY(5px) rotate(45deg); }
.af-burger[aria-expanded="true"] .af-burger__icon::after { transform: translateY(-5px) rotate(-45deg); }
.af-burger[aria-expanded="true"] .af-burger__icon span { opacity: 0; }

@media (max-width: 1023px) {
  :root { --header-h: 72px; }
  .af-logo img, .af-logo .custom-logo { height: 46px; }
  .af-wordmark { font-size: 1.5rem; }
  .af-header__cta { display: none; }
  .af-burger { display: inline-flex; }
  .af-nav {
    position: absolute; left: 0; right: 0; top: 100%; background: var(--surface); border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-soft); padding: .75rem var(--gutter) 1.25rem; display: none;
  }
  .af-nav.is-open { display: block; }
  .af-nav ul { flex-direction: column; gap: 0; }
  .af-nav a { display: block; padding: .8rem .25rem; font-size: 1.1rem; border-bottom: 1px solid var(--line); border-radius: 0; }
  .af-nav a::after { display: none; }
  .af-nav .af-nav__cta { margin-top: 1rem; }
  .af-nav .af-nav__cta a { border-bottom: 0; }
}
@media (min-width: 1024px) { .af-nav__cta { display: none; } }
@media (max-width: 480px) { .af-lang { display: none; } .af-nav .af-nav__lang { display: block; margin-top: .75rem; } }
@media (min-width: 481px) { .af-nav__lang { display: none; } }

/* ==========================================================================
   5. Tartalom-vászon és szekciók
   ========================================================================== */
.af-content { display: block; }
.af-content > :where(:not(.alignfull):not(.alignwide)) { max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.af-content > .alignwide { max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }

.af-section { padding: var(--section-y) var(--gutter); margin: 0 !important; }
/* A WordPress „constrained" elrendezése a gyermekeket középre húzza (margin:auto). Nálunk a szekció
   maga középre igazítja az 1120px-es hasábot (padding), a gyermekek balra zártak maradnak. */
.af-section, .af-hero, .af-page-head { padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2)); }
.af-section > *, .af-hero > *, .af-page-head > * { margin-left: 0 !important; margin-right: 0 !important; }
.af-page-head__inner { max-width: var(--container); }
.af-section--tight { padding-block: clamp(2rem, 4vw, 3rem); }
.af-section--ground { background: var(--ground); }
.af-section--dark { background: var(--slate-800); color: #fff; }
.af-section--dark h1, .af-section--dark h2, .af-section--dark h3, .af-section--dark h4, .af-section--dark p, .af-section--dark li { color: #fff; }
.af-section--dark .af-eyebrow { color: var(--blue-200); }
.af-section--dark .af-lead { color: var(--slate-200); }
.af-section--dark a:not(.wp-block-button__link):not(.af-btn) { color: #fff; }
.af-section--line { border-top: 1px solid var(--line); }
.af-section + .af-section--line { border-top: 1px solid var(--line); }
.af-section .af-section__head { margin-bottom: clamp(2rem, 4vw, 3rem); }
.af-section .af-section__head :last-child { margin-bottom: 0; }
.af-section .af-section__head h2 { max-width: 24ch; }
.af-section .af-section__head p { max-width: 62ch; }

/* WordPress core layout: a constrained group gyermekeit a mag CSS központosítja.
   Itt csak a függőleges ritmust adjuk meg. */
.af-section > * + * { margin-block-start: 1.25rem; }
.af-section > .af-section__head + * { margin-block-start: 0; }

/* Oldalfejléc (aloldalak) */
.af-page-head { background: var(--ground); border-bottom: 1px solid var(--line); padding-block: clamp(2.75rem, 6vw, 4.5rem); }
.af-page-head h1 { max-width: 24ch; }
.af-page-head .af-lead { margin-bottom: 0; }

/* ==========================================================================
   6. Főoldal – Hero (jobb oldali doboz nélkül, ügyfélkérésre)
   ========================================================================== */
.af-hero { background: var(--slate-800); color: #fff; padding-block: clamp(3.5rem, 8vw, 6.5rem) 0; position: relative; overflow: hidden; margin: 0 !important; }
.af-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 80% at 100% 0%, rgba(58,140,166,.22), transparent 60%), radial-gradient(40% 50% at 0% 100%, rgba(58,140,166,.12), transparent 60%);
}
.af-hero > * { position: relative; }
.af-hero h1 { color: #fff; max-width: 20ch; margin-bottom: 1.25rem; }
.af-hero .af-eyebrow { color: var(--blue-200); }
.af-hero .af-lead { color: var(--slate-100); max-width: 60ch; font-size: clamp(1.12rem, 1.6vw, 1.35rem); margin-bottom: 1.75rem; }
.af-hero .af-hero__note { color: var(--slate-300); font-size: .98rem; max-width: 60ch; margin-top: 1.5rem; }
.af-hero .wp-block-buttons { margin-top: .25rem; }
.af-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.65); }
.af-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); border-color: #fff; color: #fff; }
.af-hero .wp-block-button__link { background: var(--blue-500); border-color: var(--blue-500); }
.af-hero .wp-block-button__link:hover { background: var(--blue-600); border-color: var(--blue-600); }
.af-hero .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; }

.af-hero__facts {
  margin-top: clamp(2.5rem, 5vw, 4rem) !important;
  border-top: 1px solid rgba(255,255,255,.16);
  padding: 1.5rem 0 2rem;
  gap: 1rem 2.5rem !important;
}
.af-hero__facts > * { margin: 0; padding-right: 1rem; }
.af-hero__facts .af-num { font-family: var(--font-serif); font-size: clamp(1.7rem, 2.6vw, 2.2rem); font-weight: 600; line-height: 1.05; color: #fff; margin: 0 0 .2rem; }
.af-hero__facts .af-num + p { color: var(--slate-300); font-size: .95rem; margin: 0; }

/* ==========================================================================
   7. Szekciókomponensek
   ========================================================================== */

/* A WordPress rácsai auto-fill-t használnak (üres oszlopok maradhatnak); nálunk auto-fit. */
.af-hero__facts, .af-facts, .af-stats { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)) !important; }
.af-steps { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)) !important; }
.af-values, .af-cards { grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)) !important; }
.af-points { grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)) !important; }
.af-deadlines, .af-two-lists, .af-prose-2 { grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)) !important; }
.af-team { grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr)) !important; }
.af-team--compact { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)) !important; }

/* Nagy számok (számláló animációval) */
.af-stats { gap: 2rem !important; }
.af-stats > * { margin: 0; padding-left: 1.25rem; border-left: 2px solid var(--accent-light); }
.af-stats .af-num { font-family: var(--font-serif); font-size: clamp(2.2rem, 3.6vw, 3rem); font-weight: 600; line-height: 1; color: var(--accent); margin: 0 0 .4rem; }
.af-stats .af-num + p { color: var(--ink-soft); font-size: .98rem; margin: 0; max-width: 24ch; }

/* Számozott értéklista (I–V.) */
.af-values { gap: 1.75rem 3rem !important; counter-reset: af-val; container-type: normal !important; }
.af-values > * { margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.af-values h3 { font-size: 1.2rem; margin-bottom: .45rem; }
.af-values > * > h3:first-child::before { counter-increment: af-val; content: counter(af-val, upper-roman) "."; font-weight: 400; color: var(--accent); margin-right: .5rem; font-variant-numeric: tabular-nums; }
.af-values p { color: var(--slate-600); margin: 0; }

/* Kártyák (szolgáltatások, ügyféltípusok) */
.af-cards { gap: 1.25rem !important; }
.af-card, .af-cards > .wp-block-group {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem 1.6rem 1.5rem; margin: 0;
  display: flex; flex-direction: column; transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.af-card:hover, .af-cards > .wp-block-group:hover { border-color: var(--blue-200); transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.af-card h3, .af-cards > .wp-block-group h3 { font-size: 1.25rem; margin-bottom: .5rem; }
.af-card p, .af-cards > .wp-block-group p { color: var(--slate-600); margin-bottom: .9rem; }
.af-card p:last-child, .af-cards > .wp-block-group p:last-child { margin-bottom: 0; }
.af-card p:last-child:has(> a:only-child), .af-cards > .wp-block-group p:last-child:has(> a:only-child) { margin-top: auto; padding-top: .25rem; }
.af-card p:last-child > a:only-child, .af-cards > .wp-block-group p:last-child > a:only-child, .af-more { font-weight: 600; text-decoration: none; }
.af-card p:last-child > a:only-child::after, .af-cards > .wp-block-group p:last-child > a:only-child::after, .af-more::after { content: " →"; }
.af-card p:last-child > a:only-child:hover, .af-cards > .wp-block-group p:last-child > a:only-child:hover, .af-more:hover { text-decoration: underline; }
.af-card--soft, .af-cards > .af-card--soft { background: var(--accent-faint); border-color: var(--blue-100); }
.af-card--soft h3 { color: var(--accent-dark); }
.af-section--ground .af-card, .af-section--ground .af-cards > .wp-block-group { border-color: transparent; }
.af-section--ground .af-card:hover, .af-section--ground .af-cards > .wp-block-group:hover { border-color: var(--blue-200); }

/* Lépések (1–5.) */
.af-steps { gap: 1.5rem !important; counter-reset: af-step; container-type: normal !important; }
.af-steps > * { margin: 0; position: relative; padding-top: 1rem; border-top: 2px solid var(--accent-light); }
.af-steps > *::before { counter-increment: af-step; content: counter(af-step) "."; font-family: var(--font-serif); font-size: 2rem; font-weight: 600; line-height: 1; color: var(--accent); display: block; margin-bottom: .6rem; }
.af-steps h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.af-steps p { color: var(--slate-600); font-size: .98rem; margin: 0; }

/* Tömör szövegblokkok (pl. „Egy iroda, amely mögött csapat áll") */
.af-points { gap: 1.5rem !important; }
.af-points > * { margin: 0; padding: 1.5rem; background: var(--surface); border-radius: var(--radius); border: 1px solid var(--line); }
.af-points h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.af-points p { color: var(--slate-600); margin: 0; }

/* Csapat – monogram körök */
.af-team { gap: 1.75rem 2rem !important; }
.af-team > * { margin: 0; display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 1.15rem; row-gap: 0; align-items: start; }
.af-team > * > * { grid-column: 2; }
.af-team .af-mono {
  grid-column: 1; grid-row: 1 / span 20;
  width: 64px; height: 64px; border-radius: 50%; background: var(--accent-light); color: var(--accent-dark);
  display: grid; place-items: center; font-family: var(--font-serif); font-weight: 600; font-size: 1rem; letter-spacing: .02em; margin: 0;
}
.af-team h3 { font-size: 1.2rem; margin: .35rem 0 .1rem; }
.af-team .af-role { color: var(--accent); font-weight: 600; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 .6rem; }
.af-team p { color: var(--slate-600); margin: 0 0 .6rem; }
.af-team p:last-child { margin-bottom: 0; }
.af-team--compact { gap: 1.25rem 1.5rem !important; }
.af-team--compact > * { grid-template-columns: 56px minmax(0, 1fr); align-items: center; }
.af-team--compact .af-mono { width: 56px; height: 56px; font-size: .9rem; }
.af-team--compact h3 { margin: 0; font-size: 1.1rem; }
.af-team--compact .af-role { margin: 0; }

/* Tudástár előzetes – határidő-lista */
.af-deadlines { gap: 1.25rem !important; }
.af-deadlines > * { margin: 0; padding: 1.25rem 1.5rem; background: var(--surface); border-left: 3px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; }
.af-deadlines .af-date { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 600; color: var(--accent); margin: 0 0 .25rem; }
.af-deadlines h3 { font-size: 1.1rem; margin-bottom: .3rem; }
.af-deadlines p { color: var(--slate-600); font-size: .97rem; margin: 0; }

/* Tények sáv (Magunkról) */
.af-facts { gap: 1rem !important; }
.af-facts > * { margin: 0; padding: 1.25rem 1.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.af-facts .af-num { font-family: var(--font-serif); font-size: 1.9rem; font-weight: 600; line-height: 1; color: var(--accent); margin: 0 0 .35rem; }
.af-facts p { margin: 0; color: var(--ink-soft); font-size: .95rem; }

/* Fotó / csoportkép helye */
.af-photo { margin: 0 !important; }
.af-photo img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--radius); }
.af-photo figcaption { text-align: left; color: var(--ink-soft); font-size: .9rem; margin-top: .6rem; }
@media (max-width: 640px) { .af-photo img { aspect-ratio: 4 / 3; } }

/* Kiemelt doboz (pl. „Kinek ajánljuk", „Így jelentkezhet") */
.af-callout { background: var(--accent-faint); border-left: 3px solid var(--accent); padding: 1.25rem 1.5rem; border-radius: 0 var(--radius) var(--radius) 0; margin: 0; }
.af-callout h3, .af-callout h4 { font-family: var(--font-sans); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-dark); margin-bottom: .5rem; }
.af-callout p { margin: 0; color: var(--slate-700); }
.af-callout p + p { margin-top: .6rem; }

/* Szolgáltatások – alnavigáció + szekciók */
.af-subnav-bar { position: sticky; top: var(--header-h); z-index: 800; background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); padding-block: 0 !important; }
.admin-bar .af-subnav-bar { top: calc(var(--header-h) + 32px); }
.af-subnav { list-style: none; margin: 0 !important; padding: 0; display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.af-subnav::-webkit-scrollbar { display: none; }
.af-subnav li { margin: 0; flex: 0 0 auto; }
.af-subnav a { display: block; padding: .95rem .75rem; font-size: .92rem; font-weight: 600; color: var(--slate-600); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; }
.af-subnav a:hover { color: var(--accent); }
.af-subnav a.is-active { color: var(--accent); border-bottom-color: var(--accent); }
.af-service { scroll-margin-top: calc(var(--header-h) + 64px); padding-block: clamp(2.75rem, 5vw, 4.5rem); }
.af-service + .af-service { border-top: 1px solid var(--line); }
.af-service h2 { margin-bottom: .75rem; }
.af-service > p:first-of-type, .af-service .af-service__lead { font-size: 1.12rem; color: var(--slate-600); max-width: 68ch; }
.af-service .wp-block-columns { margin-top: .5rem; gap: 2rem; }
.af-service h3 { font-family: var(--font-sans); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-dark); margin: 0 0 .75rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line); }
.af-service ul, .af-service ol { padding-left: 1.1em; margin: 0; }
.af-service li { margin-bottom: .4rem; color: var(--slate-700); }
.af-service li::marker { color: var(--accent); }

/* Karrier – pozíciók bekeretezés nélkül, vízszintes vonallal (ügyfélkérés) */
.af-positions { gap: 0 !important; }
.af-positions > * { margin: 0; padding: 1.5rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(200px, 1fr) 2fr; gap: .5rem 3rem; align-items: baseline; }
.af-positions > *:first-child { border-top: 1px solid var(--line); }
.af-positions h3 { font-size: 1.3rem; margin: 0; }
.af-positions p { margin: 0; color: var(--slate-600); }
@media (max-width: 720px) { .af-positions > * { grid-template-columns: 1fr; gap: .3rem; } }

/* Kétoszlopos szöveg (Amit elvárunk) */
.af-prose-2 { gap: 1.5rem 3rem !important; }
.af-prose-2 > * { margin: 0; }

/* Kapcsolat */
.af-contact-grid { gap: 2.5rem 4rem !important; align-items: start; }
.af-contact-grid > * { margin: 0; }
.af-contact-list { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 1rem; }
.af-contact-list li { margin: 0; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.af-contact-list li strong { display: block; font-family: var(--font-sans); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: .2rem; }
.af-contact-list li strong + br { display: none; }
.af-contact-list a { text-decoration: none; font-weight: 600; }
.af-contact-list a:hover { text-decoration: underline; }
.af-form-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(1.5rem, 3vw, 2.25rem); scroll-margin-top: calc(var(--header-h) + 24px); }
.af-form-card h2 { font-size: 1.6rem; }
.af-form-card > p { color: var(--slate-600); }
.af-form-slot { border: 1px dashed var(--blue-200); background: var(--accent-faint); border-radius: var(--radius); padding: 1rem 1.25rem; color: var(--accent-dark); font-size: .95rem; }
/* A nyilvános oldalon a doboz csak akkor látszik, ha már van benne űrlap (WPForms / Contact Form 7). */
.af-form-slot:not(:has(form)) { display: none; }
.af-form-slot:has(form) { border: 0; background: transparent; padding: 0; }
.af-form-slot:has(form) > p:first-child:not(:has(*)) { display: none; }

/* WPForms – illesztés a designhoz (Beállítások → Általános: „Csak alap formázás") */
.wpforms-container .wpforms-form .wpforms-field { padding: .6rem 0; }
.wpforms-container .wpforms-form .wpforms-field-label { font-weight: 600; font-size: .95rem; color: var(--slate-700); margin-bottom: .35rem; }
.wpforms-container .wpforms-form .wpforms-required-label { color: var(--accent); }
.wpforms-container .wpforms-form input[type=text], .wpforms-container .wpforms-form input[type=email], .wpforms-container .wpforms-form input[type=tel],
.wpforms-container .wpforms-form textarea, .wpforms-container .wpforms-form select,
.af-field input, .af-field textarea {
  width: 100%; max-width: 100%; font: inherit; font-size: 1rem; color: var(--ink); background: var(--surface);
  border: 1.5px solid var(--slate-300); border-radius: var(--radius); padding: .7rem .85rem; transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.wpforms-container .wpforms-form input:focus, .wpforms-container .wpforms-form textarea:focus, .af-field input:focus, .af-field textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--blue-100); }
.wpforms-container .wpforms-form textarea { min-height: 140px; }
.wpforms-container .wpforms-form .wpforms-field-checkbox li label, .wpforms-container .wpforms-form .wpforms-field-gdpr-checkbox li label { font-size: .92rem; color: var(--slate-600); }
.wpforms-container .wpforms-form .wpforms-submit, .wpforms-container .wpforms-form button[type=submit] {
  font: inherit; font-weight: 600; font-size: 1rem; background: var(--accent); color: #fff; border: 1.5px solid var(--accent); border-radius: var(--radius); padding: .85rem 1.5rem; cursor: pointer; transition: background .2s var(--ease);
}
.wpforms-container .wpforms-form .wpforms-submit:hover, .wpforms-container .wpforms-form button[type=submit]:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.wpforms-container .wpforms-form .wpforms-field-description { color: var(--ink-soft); font-size: .88rem; }
.wpforms-container .wpforms-form label.wpforms-error { color: #b3261e; font-size: .88rem; }

/* Térkép (kattintásra töltődik – GDPR) */
.af-map { position: relative; background: var(--ground); border: 1px solid var(--line); border-radius: var(--radius); min-height: 360px; display: grid; place-items: center; text-align: center; padding: 2rem; margin: 0; }
.af-map__inner { max-width: 44ch; }
.af-map__inner p { color: var(--slate-600); margin-bottom: 1rem; }
.af-map__ext { display: inline-block; margin-top: .75rem; font-size: .9rem; }
.af-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--radius); }
.af-map.is-loaded { padding: 0; }
.af-map.is-loaded .af-map__inner { display: none; }
.af-map-note { color: var(--ink-soft); font-size: .92rem; margin-top: .75rem !important; }

/* Táblázat (határidők) */
.wp-block-table { margin: 0; overflow-x: auto; }
.wp-block-table table, .af-table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.wp-block-table th, .wp-block-table td, .af-table th, .af-table td { text-align: left; vertical-align: top; padding: .9rem 1rem; border: 0; border-bottom: 1px solid var(--line); }
.wp-block-table thead th, .af-table thead th { font-family: var(--font-sans); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600; border-bottom: 2px solid var(--slate-200); }
.wp-block-table tbody tr:hover td { background: var(--accent-faint); }
.wp-block-table tbody td:first-child, .af-table tbody td:first-child { font-family: var(--font-serif); font-weight: 600; color: var(--accent-dark); white-space: nowrap; font-size: 1.05rem; }
.wp-block-table td:last-child { color: var(--ink-soft); }
.af-table-wrap { overflow-x: auto; margin: 0; }
@media (max-width: 640px) { .wp-block-table th, .wp-block-table td { padding: .75rem .6rem; font-size: .92rem; } .wp-block-table tbody td:first-child { white-space: normal; } }

/* GYIK – core/details blokk */
.wp-block-details { border-top: 1px solid var(--line); margin: 0; padding: 0; }
.af-faq > .wp-block-details:last-child { border-bottom: 1px solid var(--line); }
.wp-block-details summary {
  list-style: none; cursor: pointer; padding: 1.15rem 3rem 1.15rem 0; font-family: var(--font-serif); font-size: 1.15rem; font-weight: 600; color: var(--slate-800); position: relative;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
  content: ""; position: absolute; right: .5rem; top: 50%; width: 12px; height: 12px; transform: translateY(-50%);
  background: linear-gradient(var(--accent), var(--accent)) center / 12px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) center / 2px 12px no-repeat;
  transition: transform .25s var(--ease);
}
.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.wp-block-details summary:hover { color: var(--accent); }
.wp-block-details > :not(summary) { padding: 0 3rem 1.25rem 0; color: var(--slate-600); }
.wp-block-details > :not(summary) p { margin: 0; }
.af-faq { gap: 0 !important; }

/* Két oszlop lista (Dokumentumok / Csatornák) */
.af-two-lists { gap: 1.5rem 3rem !important; }
.af-two-lists > * { margin: 0; }
.af-two-lists h3 { font-family: var(--font-sans); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-dark); margin-bottom: .75rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line); }
.af-two-lists ul { margin: 0; padding-left: 1.1em; }
.af-two-lists li::marker { color: var(--accent); }

/* Impresszum táblázat */
.af-legal .wp-block-table tbody td:first-child { font-family: var(--font-sans); font-size: .95rem; color: var(--ink-soft); font-weight: 600; width: 32%; white-space: normal; }
.af-legal .wp-block-table tbody tr:hover td { background: transparent; }
.af-legal h2 { font-size: 1.45rem; margin-top: 2.25rem; }
.af-legal h3 { font-size: 1.15rem; margin-top: 1.5rem; }
.af-legal p, .af-legal li { color: var(--slate-600); }
.af-legal > * { max-width: 76ch; }

/* ==========================================================================
   8. CTA sáv (sablon-részlet)
   ========================================================================== */
.af-cta { background: var(--slate-800); color: #fff; padding: var(--section-y) var(--gutter); position: relative; overflow: hidden; }
.af-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 70% at 100% 100%, rgba(58,140,166,.2), transparent 60%); pointer-events: none; }
.af-cta__inner { position: relative; max-width: var(--container); margin-inline: auto; display: grid; grid-template-columns: 1.3fr 1fr; gap: 2.5rem 4rem; align-items: center; }
.af-cta h2 { color: #fff; margin-bottom: .75rem; }
.af-cta p { color: var(--slate-200); font-size: 1.1rem; max-width: 56ch; margin-bottom: 1.5rem; }
.af-cta .af-btn { background: var(--blue-500); border-color: var(--blue-500); }
.af-cta .af-btn:hover { background: var(--blue-600); border-color: var(--blue-600); }
.af-cta__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; border-left: 1px solid rgba(255,255,255,.18); padding-left: 2rem; }
.af-cta__contact li { margin: 0; color: var(--slate-200); }
.af-cta__contact strong { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--blue-200); margin-bottom: .1rem; }
.af-cta__contact a { color: #fff; text-decoration: none; font-weight: 600; font-size: 1.05rem; }
.af-cta__contact a:hover { text-decoration: underline; color: #fff; }
@media (max-width: 860px) { .af-cta__inner { grid-template-columns: 1fr; } .af-cta__contact { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255,255,255,.18); padding-top: 1.5rem; } }

/* ==========================================================================
   9. Lábléc
   ========================================================================== */
.af-footer { background: var(--slate-900); color: var(--slate-300); padding: clamp(3rem, 6vw, 4.5rem) var(--gutter) 2rem; font-size: .95rem; }
.af-footer__grid { max-width: var(--container); margin-inline: auto; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 2.5rem 3rem; }
.af-footer h4 { color: #fff; font-family: var(--font-sans); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1rem; }
.af-footer ul { list-style: none; margin: 0; padding: 0; }
.af-footer li { margin: 0 0 .5rem; }
.af-footer a { color: var(--slate-300); text-decoration: none; }
.af-footer a:hover { color: #fff; text-decoration: underline; }
.af-footer__brand p { max-width: 38ch; margin: 1rem 0 0; }
.af-footer__brand .af-logo img { height: 48px; filter: brightness(0) invert(1); opacity: .92; }
.af-footer__brand .af-wordmark strong, .af-footer__brand .af-wordmark small { color: #fff; }
.af-footer__brand .af-wordmark strong em { color: var(--blue-200); }
.af-footer__social { display: flex; gap: .5rem; margin-top: 1.25rem; flex-wrap: wrap; }
.af-footer__social a { display: inline-block; padding: .4rem .8rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: .85rem; font-weight: 600; }
.af-footer__social a:hover { border-color: #fff; text-decoration: none; }
.af-footer__bottom { max-width: var(--container); margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; justify-content: space-between; font-size: .88rem; color: var(--slate-400); }
.af-footer__bottom a { color: var(--slate-400); }
.af-footer__bottom nav a + a::before { content: "·"; margin: 0 .6rem; color: var(--slate-500); }
@media (max-width: 960px) { .af-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .af-footer__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   10. Tudástár (bejegyzések) – lista, egyedi bejegyzés, archívum
   ========================================================================== */
/* Query Loop (a Tudástár oldalon) */
.af-query { margin: 0 !important; }
.wp-block-post-template.af-posts { gap: 1.25rem !important; margin: 0; padding: 0; list-style: none; }
.wp-block-post-template.af-posts > li {
  margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem;
  display: flex; flex-direction: column; transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.wp-block-post-template.af-posts > li:hover { border-color: var(--blue-200); transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.wp-block-post-template.af-posts > li > * { margin: 0; }
.af-post-card__meta { display: flex; flex-wrap: wrap; gap: .25rem .9rem; align-items: baseline; margin-bottom: .6rem !important; }
.af-post-card__cat, .af-post-card__cat a { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); font-weight: 600; text-decoration: none; }
.af-post-card__cat a:hover { text-decoration: underline; }
.af-post-card__date { font-size: .85rem; color: var(--ink-soft); }
.wp-block-post-template.af-posts .wp-block-post-title { font-size: 1.25rem; margin: 0 0 .5rem; }
.wp-block-post-template.af-posts .wp-block-post-title a { color: inherit; text-decoration: none; }
.wp-block-post-template.af-posts .wp-block-post-title a:hover { color: var(--accent); }
.wp-block-post-template.af-posts .wp-block-post-excerpt { color: var(--slate-600); font-size: .98rem; margin-top: auto; }
.wp-block-post-template.af-posts .wp-block-post-excerpt__excerpt { margin-bottom: .75rem; }
.wp-block-post-template.af-posts .wp-block-post-excerpt__more-link { font-weight: 600; text-decoration: none; }
.wp-block-post-template.af-posts .wp-block-post-excerpt__more-link::after { content: " →"; }
.wp-block-post-template.af-posts .wp-block-post-excerpt__more-link:hover { text-decoration: underline; }
.wp-block-query-pagination.af-pagination { margin-top: 2rem; gap: .35rem; }
.wp-block-query-pagination.af-pagination a, .wp-block-query-pagination.af-pagination .page-numbers { display: inline-block; padding: .5rem .9rem; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: var(--slate-700); font-weight: 600; }
.wp-block-query-pagination.af-pagination .page-numbers.current { background: var(--accent); border-color: var(--accent); color: #fff; }
.wp-block-query-pagination.af-pagination a:hover { border-color: var(--accent); color: var(--accent); }
.wp-block-query-no-results p { color: var(--ink-soft); }

.af-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.af-post-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem; display: flex; flex-direction: column; margin: 0; transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease); }
.af-post-card:hover { border-color: var(--blue-200); transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.af-post-card__meta { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: .6rem; display: flex; gap: .75rem; flex-wrap: wrap; }
.af-post-card__meta time { color: var(--ink-soft); font-weight: 400; letter-spacing: .04em; text-transform: none; }
.af-post-card h3 { font-size: 1.25rem; margin-bottom: .5rem; }
.af-post-card h3 a { color: inherit; text-decoration: none; }
.af-post-card h3 a:hover { color: var(--accent); }
.af-post-card p { color: var(--slate-600); font-size: .98rem; margin-bottom: 1rem; }
.af-post-card .af-more { margin-top: auto; }
.af-pagination { display: flex; gap: .35rem; flex-wrap: wrap; justify-content: center; margin-top: 2.5rem; }
.af-pagination .page-numbers { display: inline-block; padding: .5rem .9rem; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: var(--slate-700); font-weight: 600; }
.af-pagination .page-numbers.current { background: var(--accent); border-color: var(--accent); color: #fff; }
.af-pagination a.page-numbers:hover { border-color: var(--accent); color: var(--accent); }

.af-article { padding: var(--section-y) var(--gutter); }
.af-article__inner { max-width: 760px; margin-inline: auto; }
.af-article__head { margin-bottom: 2rem; }
.af-article__meta { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .85rem; color: var(--ink-soft); margin-bottom: 1rem; }
.af-article__meta a { font-weight: 600; text-decoration: none; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
.af-article__body { font-size: 1.08rem; }
.af-article__body > * + * { margin-top: 1.1em; }
.af-article__body h2 { font-size: 1.6rem; margin-top: 2rem; }
.af-article__body h3 { font-size: 1.25rem; margin-top: 1.6rem; }
.af-article__body img { border-radius: var(--radius); }
.af-article__body .wp-block-image figcaption { color: var(--ink-soft); font-size: .9rem; }
.af-article__thumb { margin: 0 0 2rem; }
.af-article__thumb img { width: 100%; border-radius: var(--radius); }
.af-article__foot { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .95rem; }
.af-article__foot a { text-decoration: none; font-weight: 600; }
.af-article__foot a:hover { text-decoration: underline; }
.af-tags a { display: inline-block; padding: .2rem .6rem; border: 1px solid var(--line); border-radius: 999px; font-size: .82rem; margin: 0 .3rem .3rem 0; text-decoration: none; color: var(--slate-600); }
.af-tags a:hover { border-color: var(--accent); color: var(--accent); }

/* Bejegyzésekben használható elemek */
.af-article__body .wp-block-table td:first-child { white-space: normal; }
.af-article__body .af-callout { margin: 1.5rem 0; }

/* ==========================================================================
   11. 404 / keresés / egyéb
   ========================================================================== */
.af-404 { text-align: center; padding: clamp(4rem, 10vw, 8rem) var(--gutter); }
.af-404 .af-num { font-family: var(--font-serif); font-size: clamp(4rem, 12vw, 8rem); line-height: 1; color: var(--accent-light); margin-bottom: 1rem; }
.af-404 p { color: var(--slate-600); max-width: 48ch; margin-inline: auto; }
.af-search-form { display: flex; gap: .5rem; max-width: 480px; margin: 1.5rem auto 0; }
.af-search-form input[type=search] { flex: 1; font: inherit; padding: .75rem .9rem; border: 1.5px solid var(--slate-300); border-radius: var(--radius); }

/* Köszönjük oldal */
.af-thanks { text-align: center; padding-block: clamp(4rem, 10vw, 7rem); }
.af-thanks > * { margin-inline: auto !important; }
.af-thanks h1 { max-width: 22ch; }
.af-thanks .af-lead { margin-bottom: 1.75rem; }
.af-thanks .wp-block-buttons { justify-content: center; }
.af-thanks .af-check { width: 64px; height: 64px; border-radius: 50%; background: var(--accent-light); color: var(--accent-dark); display: grid; place-items: center; margin: 0 auto 1.5rem; font-size: 1.8rem; font-family: var(--font-serif); }

/* ==========================================================================
   12. Animációk (reveal) – csak a nyilvános oldalon, JS-sel
   ========================================================================== */
.js-af .af-reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.js-af .af-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js-af .af-reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ==========================================================================
   13. Szerkesztő-specifikus finomítások
   ========================================================================== */
.editor-styles-wrapper .af-section { margin: 0; }
.editor-styles-wrapper .af-form-slot::before { content: "Űrlap helye: "; font-weight: 600; }
.editor-styles-wrapper .af-hero { padding-bottom: 0; }

/* ==========================================================================
   14. Nyomtatás
   ========================================================================== */
@media print {
  .af-header, .af-footer, .af-cta, .af-subnav-bar, .af-burger, .af-map { display: none !important; }
  body { font-size: 11pt; color: #000; }
  a { color: #000; text-decoration: none; }
  .af-section { padding: 1rem 0; }
}
