/* =========================================================
   public/assects/css/core.css — Alapok, változók, tipográfia, fókusz
   ========================================================= */

:root{
  --brand-maroon:#701b31;
  --brand-dark:#333333;
  --brand-gray:#cccccc;
  --bg-page:#f4f4f4;
  --font-body:"Calibri", Helvetica, Arial, sans-serif;
  --font-head:Georgia, "Times New Roman", serif;
}

html, body { height:100%; }

body{
  margin:0;
  color:var(--brand-dark);
  font-family:var(--font-body);
  line-height:1.5;
  background:#fff; /* a csíkok a frame.css-ben jönnek rá */
}

/* Címsorok – az eredeti ritmus (H1 ≈ 18px) */
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
  font-weight:400;
  color:var(--brand-maroon);
  letter-spacing:.2px;
}
h1{ font-size:1.125rem; text-transform:uppercase; } /* ~18px */
h2{ font-size:1rem;    text-transform:uppercase; }  /* ~16px */
h3{ font-size:.9rem;   text-transform:uppercase; }  /* ~14.4px */
h4{ font-size:1rem; color:var(--brand-dark); text-transform:none; }

/* Linkek – alapban ne erőltessünk színt, modulonként állítjuk */
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }

/* Képek */
.responsive-img{ max-width:100%; height:auto; }

/* A11y: látható fókusz */
a:focus, button:focus, [tabindex]:focus{
  outline:3px solid #1a73e8; outline-offset:2px;
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* Egységes cím-margók mindenhol */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .5rem;  /* top:0, bottom:0.5rem */
}

/* Szakaszolt (article/section/aside/nav) H1-ek: méret + margin kifejezetten */
article h1, section h1, aside h1, nav h1 {
  font-size: 1.125rem;      /* „globál” H1-méret */
  margin: 0 0 .75rem;       /* picit több alsó tér, szebb ritmus */
  line-height: 1.2;         /* feszesebb cím */
}

/* Kártyás tartalom tetején ne legyen „dupla” levegő */
.page-frame article > h1,
.page-layout article > h1 {
  margin-top: 0;
}

/* ===== Globális box-model és overflow-védelem ===== */
*, *::before, *::after { box-sizing: border-box; }

html { overflow-x: hidden; }              /* véd a jobbra kilógó 1-2px-es túlfutástól */
body { max-width: 100%; }

.page-frame,
.breadcrumb-container,
.header-main,
.container {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
