/* =====================================================================
   Design v2 – Laravel-Inhaltsseiten im neuen Rahmen (Feinschliff 04.10.2026)
   Bundesland-Adressseiten (/<land>), Übersicht /elterngeldstellen, Blog, Widerruf, Gutscheine, Messen, Infoabende, alte englische
   Antragsseiten und die Produktseite Elterngeldsoftware (views-v2/software.blade.php).
   Gestaltet das unveränderte HTML dieser Seiten (Texte, Überschriften, Links bleiben); geladen nur auf Laravel-Seiten
   im neuen Design (cms/frame/v2-head ohne v2seite). Angaben in px: diese Seiten laden noch das bisherige CSS.
   Gleiche Ordnung wie die CMS-Seiten (Raster 04.10.2026): eine linke Kante mit Kopf und Fuß (--breite),
   Fließtext linksbündig in der Lesespalte (--lesebreite), Verzeichnisse und Teaser in voller Breite.
   ===================================================================== */

body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url]), .v2p) {
  --l-lese: var(--lesebreite); --l-breit: calc(var(--breite) - 2 * var(--rand)); --l-rand: var(--rand);
  font-family: var(--font); color: var(--c-text); font-size: 17px; line-height: 1.65; background: #fff;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) {
  padding-block: 40px 72px;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) > .container {
  width: 100% !important; max-width: calc(var(--l-breit) + 2 * var(--l-rand)) !important; padding-inline: var(--l-rand) !important; margin-inline: auto !important; box-sizing: border-box;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) :is(.row, [class*="col-"]) {
  margin-inline: 0; padding-inline: 0; float: none; width: auto;
}

/* ---------- Schrift ---------- */
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) :is(h1, h2, h3, h4, .h3) {
  font-family: var(--font); color: var(--c-text); font-weight: 600; letter-spacing: 0; text-transform: none; text-align: left; text-wrap: balance;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) h1 {
  font-size: clamp(28px, 22px + 1.6vw, 44px); line-height: 1.2; margin: 16px 0 12px; letter-spacing: -0.01em;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) h1.underlined::after,
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) h1.underlined::before { content: none !important; display: none !important; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) h2 {
  font-size: clamp(23px, 19px + 0.8vw, 30px) !important; line-height: 1.25; margin: 40px 0 12px;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) h3 {
  font-size: clamp(20px, 18px + 0.4vw, 24px); line-height: 1.3; margin: 36px 0 10px;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) :is(p, li, td, th) {
  font-size: 17px; line-height: 1.65; color: var(--c-text); font-weight: 400;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) :is(p, ul, ol) { margin: 0 0 16px; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) a:not(.btn):not(.v2-btn):not([role="button"]):not([data-toggle]) {
  color: var(--c-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) :is(.subline, p.subline) {
  font-size: clamp(18px, 17px + 0.3vw, 21px); line-height: 1.5; color: var(--c-text-2); font-weight: 400; text-align: left; margin: 0 0 24px;
}

/* Lesespalte: Kopf und Fließtext linksbündig in der Lesebreite, Verzeichnis und Teaser breit */
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) .container :is(h1, h2, h3, .subline, .infotxt, p, ul:not(.nav):not(.dropdown-menu), ol, table):not(div.elterngeldstellen *):not(.panel-group *):not(section.add *):not(.row.mg-b-30 *):not(.beitrag *) {
  max-width: var(--l-lese); margin-inline: 0;
}

/* ---------- Adressverzeichnis je Land (Tabs links, Angaben rechts) ---------- */
body.v2-rahmen section.bundesland .elterngeldstellen, body.v2-rahmen section.elterngeldstellen .panel-group {
  margin: 24px 0 0;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel { border: 1px solid var(--c-linie); border-radius: var(--radius); box-shadow: var(--schatten); background: #fff; overflow: hidden; margin: 0; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body::before, body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body::after { content: none; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left {
  display: flex; gap: 6px; overflow-x: auto; padding: 12px; margin: 0; border: 0; border-bottom: 1px solid var(--c-linie); background: var(--ee-grau-100); scrollbar-width: thin; width: auto; float: none;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li { float: none; margin: 0; flex: none; list-style: none; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li > a {
  display: flex; align-items: center; min-height: 44px; padding: 0 14px; margin: 0; border: 1px solid transparent; border-radius: var(--radius-pill);
  font-size: 15px; font-weight: 600; color: var(--c-text); text-decoration: none; background: transparent; white-space: nowrap; line-height: 1.3;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li > a:hover { background: #fff; border-color: var(--c-linie); color: var(--ee-rot); }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li.active > a,
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li.active > a:hover { background: #fff; border-color: var(--ee-rot); color: var(--ee-rot); }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .tab-content { padding: 0; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .tab-pane > [class*="col-"],
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body > [class*="col-"]:not(.nav) {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 4px 32px; padding: 24px;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .tab-pane > [class*="col-"] > ul,
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body > [class*="col-"] > ul,
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .landkreise ul { list-style: none; margin: 0 0 16px; padding: 0; max-width: none; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .landkreise li,
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body li:not(.nav-tabs li) { font-size: 16px; line-height: 1.55; color: var(--c-text); margin: 0; padding: 0; overflow-wrap: anywhere; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .landkreise li::before { content: none; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) :is(.landkreise, .panel-body) .h3 {
  display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1.4; letter-spacing: .05em; text-transform: uppercase; color: var(--c-text-2); font-weight: 600; margin: 0 0 4px;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) :is(.landkreise, .panel-body) .h3 .fa { color: var(--ee-rot); width: 16px; text-align: center; }
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .landkreise a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 768px) {
  body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .panel-body:has(> .nav-tabs.tabs-left) { grid-template-columns: 240px minmax(0, 1fr); }
  body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left { flex-direction: column; overflow: visible; border-bottom: 0; border-right: 1px solid var(--c-linie); padding: 16px 12px; }
  body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li > a { border-radius: var(--radius-s); white-space: normal; }
  body.v2-rahmen :is(section.bundesland, section.elterngeldstellen) .nav-tabs.tabs-left > li.active > a { border-color: transparent; box-shadow: inset 3px 0 0 var(--ee-rot); border-radius: 0 var(--radius-s) var(--radius-s) 0; }
}

/* ---------- Übersicht /elterngeldstellen: Länder als Aufklapp-Liste ---------- */
body.v2-rahmen section.elterngeldstellen .panel-group { display: grid; gap: 10px; max-width: var(--l-breit); margin-inline: 0; }
body.v2-rahmen section.elterngeldstellen .panel-group > .panel { box-shadow: none; }
body.v2-rahmen section.elterngeldstellen .panel-heading { padding: 0; background: #fff; border: 0; }
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title { margin: 0; font-size: 17px; font-weight: 600; max-width: none; }
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 8px 20px; color: var(--c-text); text-decoration: none; font-size: 17px;
}
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title a .fa { display: none; }
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title a::after {
  content: ""; width: 10px; height: 10px; flex: none; border-right: 2px solid var(--ee-rot); border-bottom: 2px solid var(--ee-rot); transform: rotate(45deg); transition: transform .2s;
}
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title a[aria-expanded="true"]::after { transform: rotate(-135deg); }
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title a:hover { color: var(--ee-rot); }
body.v2-rahmen section.elterngeldstellen .panel-collapse > .panel-body,
body.v2-rahmen section.elterngeldstellen .panel-collapse > .panel { border-top: 1px solid var(--c-linie); }
body.v2-rahmen section.elterngeldstellen .panel-collapse .panel { border: 0; border-radius: 0; box-shadow: none; }
/* Software-Hinweis oben auf der Übersicht */
body.v2-rahmen section.elterngeldstellen .row.mg-b-30 {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; max-width: var(--l-breit); margin: 8px 0 32px; padding: 24px;
  border: 1px solid var(--c-linie); border-radius: var(--radius); background: var(--ee-grau-100);
}
body.v2-rahmen section.elterngeldstellen .row.mg-b-30 h2 { margin: 0 0 12px !important; font-size: 22px !important; max-width: none; }
body.v2-rahmen section.elterngeldstellen .row.mg-b-30 p { margin: 0 0 6px; max-width: none; }
body.v2-rahmen section.elterngeldstellen .row.mg-b-30 img { width: 100%; max-width: 420px; height: auto; display: block; margin-inline: auto; }
@media (min-width: 768px) { body.v2-rahmen section.elterngeldstellen .row.mg-b-30 { grid-template-columns: 2fr 3fr; } }

/* ---------- Teaser Elterngeldsoftware unter den Landesseiten (section.add) ---------- */
body.v2-rahmen section.bundesland section.add, body.v2-rahmen section.add {
  font-family: var(--font); background: var(--c-flaeche-ruhig); border-block: 1px solid var(--c-linie); padding-block: 48px; margin-top: 56px;
}
body.v2-rahmen section.add > .container { max-width: var(--breite); padding-inline: var(--rand); margin-inline: auto; }
body.v2-rahmen section.add > .container > .row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; margin: 0; }
body.v2-rahmen section.add > .container > .row::before, body.v2-rahmen section.add > .container > .row::after { content: none; }
body.v2-rahmen section.add [class*="col-"] { float: none; width: auto; padding: 0; }
body.v2-rahmen section.add img { width: 100%; max-width: 440px; height: auto; display: block; margin-inline: auto; }
body.v2-rahmen section.add .h3 { font-size: clamp(21px, 19px + 0.5vw, 26px) !important; line-height: 1.3 !important; font-weight: 600; color: var(--c-text) !important; margin: 0 0 16px; text-transform: none; letter-spacing: 0; }
body.v2-rahmen section.add p { font-size: 16px; line-height: 1.5; margin: 0 0 8px; color: var(--c-text); font-weight: 600; display: flex; gap: 10px; align-items: baseline; }
body.v2-rahmen section.add p .fa-check { color: var(--ee-gruen); }
body.v2-rahmen section.add a:not(:has(button)) { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--c-link); font-weight: 600; text-decoration: underline; }
body.v2-rahmen section.add .cost { display: flex; align-items: baseline; gap: 8px; font-size: 30px; font-weight: 600; color: var(--c-text); margin: 8px 0 4px; }
body.v2-rahmen section.add .cost > div { color: var(--c-text-2); }
body.v2-rahmen section.add button.btn {
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: var(--radius-pill); border: 2px solid var(--ee-rot); background: var(--ee-rot); color: #fff;
  font: 600 16px/1.2 var(--font); text-transform: none; letter-spacing: 0; box-shadow: none; height: auto;
}
body.v2-rahmen section.add button.btn:hover { background: var(--ee-rot-dunkel); border-color: var(--ee-rot-dunkel); }
@media (min-width: 768px) { body.v2-rahmen section.add > .container > .row { grid-template-columns: 1fr 1fr; gap: 48px; } }

/* Knöpfe im bisherigen Stil (btn-golden) in diesen Seiten wie v2-Knöpfe */
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) .btn.btn-golden {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: var(--radius-pill); border: 2px solid var(--ee-rot);
  background: var(--ee-rot); color: #fff !important; font: 600 16px/1.2 var(--font); text-decoration: none !important; text-transform: none; letter-spacing: 0; box-shadow: none; height: auto;
}
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) .btn.btn-golden:hover { background: var(--ee-rot-dunkel); border-color: var(--ee-rot-dunkel); }

/* =====================================================================
   Produktseite Elterngeldsoftware (views-v2/software.blade.php)
   ===================================================================== */
body.v2-rahmen .v2p { padding-bottom: 24px; }
body.v2-rahmen .v2p :is(h1, h2) { font-family: var(--font); color: var(--c-text); font-weight: 600; text-transform: none; letter-spacing: 0; text-align: left; text-wrap: balance; }
body.v2-rahmen .v2p h1 { font-size: clamp(32px, 24px + 2vw, 52px); line-height: 1.15; margin: 0 0 16px; letter-spacing: -0.015em; }
body.v2-rahmen .v2p h2 { font-size: clamp(24px, 20px + 1vw, 34px); line-height: 1.2; margin: 0 0 16px; }
body.v2-rahmen .v2p :is(p, li) { font-size: 17px; line-height: 1.65; color: var(--c-text); }
body.v2-rahmen .v2p p { margin: 0 0 16px; }
body.v2-rahmen .v2p a:not(.v2-btn):not(.v2p-hinweis) { color: var(--c-link); text-decoration: underline; text-underline-offset: 2px; }
body.v2-rahmen .v2p-container { width: 100%; max-width: var(--breite); padding-inline: var(--rand); margin-inline: auto; box-sizing: border-box; }
body.v2-rahmen .v2p-kopf { padding-block: 48px 32px; }
body.v2-rahmen .v2p-kopf .v2p-container { text-align: left; }
body.v2-rahmen .v2p-kopf .v2p-container > * { max-width: 52rem; }
body.v2-rahmen .v2p-lead { font-size: clamp(18px, 17px + 0.35vw, 21px) !important; line-height: 1.55 !important; color: var(--c-text-2) !important; }
body.v2-rahmen .v2p-aktionen { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
body.v2-rahmen .v2p-aktionen--mitte { justify-content: flex-start; margin-top: 40px; }
body.v2-rahmen .v2p .v2-btn { min-height: 52px; padding: 0 28px; font-size: 17px; }

/* Merkmale: Text und Bild abwechselnd links/rechts */
body.v2-rahmen .v2p-merkmal { padding-block: clamp(40px, 5vw, 72px); background: #fff; }
body.v2-rahmen .v2p-merkmal:nth-of-type(even) { background: var(--c-flaeche-ruhig); border-block: 1px solid var(--c-linie); }
body.v2-rahmen .v2p-zeile { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
body.v2-rahmen .v2p-text { min-width: 0; max-width: 560px; }
body.v2-rahmen .v2p-medium { min-width: 0; }
body.v2-rahmen .v2p-bild, body.v2-rahmen .v2p-bild img { display: block; width: 100%; height: auto; }
body.v2-rahmen .v2p-medium video { display: block; width: 100%; height: auto; border-radius: var(--radius); box-shadow: var(--schatten-hoch); background: var(--ee-grau-200); }
@media (min-width: 900px) {
  body.v2-rahmen .v2p-zeile { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; }
  body.v2-rahmen .v2p-merkmal:nth-of-type(odd) .v2p-text { order: 2; }
}
/* Hinweis zur Verfügbarkeit (öffnet die bisherige Erklärung) */
body.v2-rahmen .v2p-hinweis {
  display: block; margin-top: 20px; padding: 16px 20px; border: 1px solid var(--c-linie); border-left: 4px solid var(--ee-rot); border-radius: var(--radius-s);
  background: #fdf3f2; color: var(--c-text) !important; text-decoration: none !important; font-size: 15px; line-height: 1.55; cursor: pointer;
}
body.v2-rahmen .v2p-hinweis u { color: var(--ee-rot); font-weight: 600; }
body.v2-rahmen .v2p-hinweis:hover { border-color: var(--ee-rot); }
body.v2-rahmen .v2p-hinweis br + br { display: none; }
/* Preis hervorheben */
body.v2-rahmen .v2p-merkmal--preis .v2p-text { border: 2px solid var(--ee-rot); border-radius: var(--radius); padding: clamp(20px, 3vw, 32px); background: #fff; box-shadow: var(--schatten-hoch); }

/* Geräte und Galerie */
/* linksbündig wie alle Abschnitte (keine mittig gesetzten Inseln zwischen linksbündigen Abschnitten) */
body.v2-rahmen .v2p-geraete, body.v2-rahmen .v2p-galerie { padding-block: clamp(40px, 5vw, 72px); text-align: left; }
body.v2-rahmen .v2p-geraete h2, body.v2-rahmen .v2p-galerie h2 { text-align: left; }
body.v2-rahmen .v2p-geraete p { max-width: var(--lesebreite); margin-inline: 0; }
body.v2-rahmen .v2p-geraete .img-devices { max-width: 720px; margin: 24px 0 16px; }
body.v2-rahmen .v2p-geraete .devices-icons { display: flex; justify-content: flex-start; gap: 20px; font-size: 28px; color: var(--c-text-2); }
body.v2-rahmen .v2p-galerie { background: var(--c-flaeche-ruhig); border-top: 1px solid var(--c-linie); }
body.v2-rahmen .v2p-galerie__liste { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
body.v2-rahmen .v2p-galerie__liste a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 8px 8px 12px; border: 1px solid var(--c-linie); border-radius: var(--radius); background: #fff;
  color: var(--c-text) !important; text-decoration: none !important; font-size: 14px; font-weight: 600; line-height: 1.35; box-shadow: var(--schatten); transition: box-shadow .15s; }
body.v2-rahmen .v2p-galerie__liste a:hover { box-shadow: var(--schatten-hoch); color: var(--ee-rot) !important; }
body.v2-rahmen .v2p-galerie__liste img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top; border-radius: var(--radius-s); display: block; }

/* ---------- Nachbesserungen nach Sichtprüfung ---------- */
/* Bootstrap-Zeilen als Raster: Platzhalter-Pseudoelemente (clearfix) wären sonst eigene Rasterzellen */
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) .row::before,
body.v2-rahmen :is(section.bundesland, section.elterngeldstellen, section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) .row::after { content: none; display: none; }
/* Reine Textseiten (Blog, Widerruf, Gutscheine, alte englische Antragsseiten): ganze Seite in der Lesespalte */
/* Blog, Widerruf, Gutscheine, Anträge: gleicher Container wie alle Seiten, Inhalt in der Lesespalte linksbündig */
body.v2-rahmen :is(section.blog-feed, section.data, section.gutscheine, section.applications, section.messen, section.videoportal:not([data-additional-video-data-url])) > .container > * { max-width: var(--l-lese); }
/* Blog: rundes Beitragsbild klein, Übersicht als Liste mit Bild links */
body.v2-rahmen section.blog-feed img.img-circle { display: block; width: 100%; max-width: 280px; height: auto; margin: 8px 0 24px; }
body.v2-rahmen section.blog-feed .row.beitrag { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: start; padding: 20px 0; border-top: 1px solid var(--c-linie); }
body.v2-rahmen section.blog-feed .row.beitrag img.img-circle { max-width: 96px; margin: 0; }
body.v2-rahmen section.blog-feed .row.beitrag h2, body.v2-rahmen section.blog-feed .row.beitrag h3 { margin-top: 0; font-size: 21px !important; }
body.v2-rahmen section.blog-feed p.date { color: var(--c-text-2); font-size: 14px; }
/* Übersicht /elterngeldstellen: Kopfzeilen der Länder einheitlich, Pfeil nach tatsächlichem Zustand */
body.v2-rahmen section.elterngeldstellen .panel-group > .panel, body.v2-rahmen section.elterngeldstellen .panel-heading,
body.v2-rahmen section.elterngeldstellen .panel-heading.active { background: #fff !important; }
body.v2-rahmen section.elterngeldstellen .panel-heading .panel-title a::after { transform: rotate(45deg) !important; }
body.v2-rahmen section.elterngeldstellen .panel-heading:has(+ .panel-collapse.in) .panel-title a::after { transform: rotate(-135deg) !important; }
body.v2-rahmen section.elterngeldstellen .panel-heading:has(+ .panel-collapse.in) .panel-title a { color: var(--ee-rot); }
/* Teaser unter den Landesseiten: Knopf rot (stärker als die bisherige .btn-default-Regel), kein Weißraum danach */
body.v2-rahmen section.add .container button.btn.btn-default { background: var(--ee-rot) !important; border-color: var(--ee-rot) !important; color: #fff !important; }
body.v2-rahmen section.add .container button.btn.btn-default:hover { background: var(--ee-rot-dunkel) !important; }
body.v2-rahmen section.bundesland:has(> section.add) { padding-bottom: 0; }
/* Blog-Beitrag (eine .beitrag-Zeile mit H1): Bild oben mittig statt Listen-Raster */
body.v2-rahmen section.blog-feed .row.beitrag:has(h1) { display: block; border-top: 0; padding-top: 0; }
body.v2-rahmen section.blog-feed .row.beitrag:has(h1) img.img-circle { max-width: 200px; margin: 0 0 24px; }
body.v2-rahmen section.blog-feed :is(h1, h2, h3) { padding-left: 0 !important; padding-right: 0 !important; }
body.v2-rahmen .v2p .v2-btn, body.v2-rahmen .v2p .v2-btn:hover { text-decoration: none !important; color: #fff !important; }
/* Passwort vergessen / festlegen (layouts.resetPw): Überschrift in normaler Größe (bisher 56 px mittig, zwei Bildschirmzeilen
   auf dem Handy), Eingabefeld für die E-Mail in voller Breite statt halber (Prüfung Kundenbereich 04.10.2026, K-07) */
body.v2-rahmen .by-laravel-layout-resetpw h1 { font-size: var(--fs-h1); line-height: var(--lh-kopf); text-align: left; margin: var(--s-4) 0 var(--s-5); font-weight: 600; }
body.v2-rahmen .by-laravel-layout-resetpw form .col-xs-6, body.v2-rahmen .by-laravel-layout-resetpw form .col-md-6 { width: 100%; max-width: 480px; float: none; }
/* Vertrag widerrufen: Hinweis zum gewählten Vertrag (Widerrufsstatus) und Dialog beim Klick auf „Widerruf bestätigen“ */
body.v2-rahmen section.data.vertragswiderruf .vw-status { max-width: var(--l-lese); margin: 12px auto 0; padding: var(--s-4) var(--s-5); border: 0; border-left: 4px solid var(--ee-rot); border-radius: var(--radius-s); background: var(--ee-gelb-zart); color: var(--c-text); text-align: left; }
body.v2-rahmen section.data.vertragswiderruf .vw-status p { font-size: 15px; line-height: 1.55; margin: 0 0 6px; max-width: none; }
body.v2-rahmen section.data.vertragswiderruf .vw-status p:last-child { margin-bottom: 0; }
body.v2-rahmen section.data.vertragswiderruf .vw-mitarbeiter { max-width: var(--l-lese); margin: 0 auto 16px; border-radius: var(--radius-s); }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog { font-family: var(--font); color: var(--c-text); border-radius: var(--radius); box-shadow: var(--schatten-hoch); padding: var(--s-5); }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog h2.vw-dialog__titel { font-size: clamp(20px, 18px + 0.4vw, 24px) !important; margin: 0 0 8px; max-width: none; }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog p { max-width: none; font-size: 16px; }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog .vw-dialog__vertrag { color: var(--c-text-2); font-size: 14px; }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog .btn { border-radius: var(--radius-pill); font: 600 16px/1.2 var(--font); min-height: 48px; padding: 12px 22px; text-transform: none; letter-spacing: 0; }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog .btn.btn-red { background: var(--ee-rot); border: 2px solid var(--ee-rot); color: #fff; }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog .btn.btn-red:hover { background: var(--ee-rot-dunkel); border-color: var(--ee-rot-dunkel); }
body.v2-rahmen section.data.vertragswiderruf .vw-dialog .btn.btn-white { background: #fff; border: 2px solid var(--ee-grau-300); color: var(--c-text); }

/* ---------- Layoutprüfung 10/2026 ---------- */
/* Fehlerseite 404: „Oops – das ging in die Hose“ stand in Times New Roman (Rest des bisherigen Designs); das Babybild war
   mit -50 px über den Text geschoben und verdeckte auf dem Handy die zweite Zeile. Schrift und Abstände wie das neue Design. */
body.v2-rahmen .by-laravel-content .error-page { padding-block: 40px 72px; }
body.v2-rahmen .by-laravel-content .error-page .error-message { font-family: var(--font); color: var(--c-text); font-size: 17px; line-height: 1.6; text-align: center; }
body.v2-rahmen .by-laravel-content .error-page .error-message .headline-error {
  font-family: var(--font) !important; font-weight: 700; color: var(--ee-rot); font-size: clamp(56px, 40px + 6vw, 120px) !important; line-height: 1 !important; margin: 0 0 24px; letter-spacing: -0.02em; text-transform: uppercase; }
body.v2-rahmen .by-laravel-content .error-page .error-message .headline-error span {
  font-family: var(--font) !important; font-weight: 600; font-size: clamp(22px, 18px + 1vw, 32px) !important; line-height: 1.25 !important; letter-spacing: 0; text-transform: none; margin-top: 8px; }
body.v2-rahmen .by-laravel-content .error-page .error-message .error_baby { display: block; margin: 0 auto 24px !important; width: min(80%, 360px); height: auto; }
body.v2-rahmen .by-laravel-content .error-page .error-message a { color: var(--c-link); }
/* Gutscheine, Messen, Infoabende beginnen mit einer H2: deren Abstand nach oben (40 px) kam zum Abschnittsabstand hinzu –
   große Lücke unter den Brotkrumen. Erste Überschrift ohne zusätzlichen Abstand. */
body.v2-rahmen :is(section.gutscheine, section.messen, section.videoportal:not([data-additional-video-data-url])) > .container > .row:first-child > [class*="col-"]:first-child > :is(h1, h2):first-child { margin-top: 0; }
/* Teaser Elterngeldsoftware (views-v2/bundeslaender/partial/software_teaser): Knopf wie überall im neuen Design */
body.v2-rahmen section.add a.z-add-knopf { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 1.6rem; margin-top: 15px; text-decoration: none !important; color: #fff !important; }
body.v2-rahmen section.add picture { display: block; }
/* Ergebnisseiten der Kasse (Zahlung erfolgreich/abgebrochen/ungültig, Beratung gebucht): vorher im alten Stil mit riesiger roter,
   mittig getrennter Überschrift – jetzt wie die übrigen Seiten (Lesebreite, linksbündig, Überschrift in Textfarbe) */
body.v2-rahmen section.v2-ergebnis { padding-block: var(--s-7, 3rem); }
body.v2-rahmen section.v2-ergebnis > .container { max-width: var(--lesebreite, 44rem); padding-inline: var(--rand); margin-inline: auto; }
body.v2-rahmen section.v2-ergebnis :is(h1, h2) { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.4rem); line-height: 1.15; font-weight: 600; color: var(--ee-text, #191919); text-align: left; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: break-word; text-transform: none; letter-spacing: -.02em; margin: 0 0 var(--s-4, 1rem); }
body.v2-rahmen section.v2-ergebnis :is(.description, p) { text-align: left; font-size: 1.0625rem; line-height: 1.6; }
body.v2-rahmen section.v2-ergebnis .quote-container { margin: 0; }
body.v2-rahmen section.v2-ergebnis .text-center { text-align: left !important; }
