/* studibedarf.de – letzte Anpassungen über den übernommenen Inhalten (nach legacy.css geladen) */
a, a:hover, a:focus, .legacy a, .legacy a:hover, .legacy a:focus, .legacy .btn:hover { text-decoration: none; }
.ico.emo { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -.2em; stroke-width: 1.8; }
.legacy .ico.emo { color: inherit; }
.sb-bundle-cta { display: flex; justify-content: center; margin: 18px 24px 22px; text-align: center; }
.legacy .btn { white-space: normal; }
/* Startseite Handy: die bewährten Kacheln der alten Mobilseite (Bild-Kategorien, Größenberater, Fachschaften, Kittel/Besteck, Stimmen, Fachschaftsshop)
   – ohne Doppelungen zu Kopfzeile/Menü: Suche, Lauftext-Hinweise, Service-Leiste und „Alle Kategorien“-Knopf blendet der neue Shop aus */
body.is-home .legacy.home-desktop .msw-hero, body.is-home .legacy.home-desktop .msw-announce, body.is-home .legacy.home-desktop .msw-service,
body.is-home .legacy.home-desktop .msw-cats > button, body.is-home .legacy.home-desktop .msw-products,
body.is-home .legacy.home-desktop .fs-unis-section, body.is-home .legacy.home-desktop #hp-kittel .hp-btn--outline[href*="groessenberater"] { display: none !important; }
@media (max-width: 760px) {
  /* Kundenstimmen zum Wischen statt endloser Liste */
  body.is-home .legacy .hp-testi-grid { display: flex !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 12px; margin: 0 -4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  body.is-home .legacy .hp-testi-grid::-webkit-scrollbar { display: none; }
  body.is-home .legacy .hp-testi-card { flex: 0 0 82%; scroll-snap-align: center; margin: 0 !important; }
  body.is-home .legacy .fs-wrap, body.is-home .legacy .fs-wrap * { box-sizing: border-box; } body.is-home .legacy .fs-wrap [class*="card"] { max-width: 100%; min-width: 0; }
  .msw .mh-mid .mh-swipe { margin-left: 0; margin-right: 0; padding-left: 0; scroll-padding-left: 0; }
  .msw .mh-mid { padding: 0; margin: 18px 0 6px; } .msw .mh-mid .mh-sec { margin-top: 0; } .msw .mh-mid .h2 { font-size: 20px; }
}
@media (min-width: 761px) { .home-mobile { display: none; } }
/* alte mobile Leiste unten (Shopware-Mobilstartseite) – der neue Shop hat Menü, Suche und Warenkorb oben */
.msw-tabbar, .msw-sheet { display: none !important; }
/* keine Unterstreichungen – Links im Fließtext stattdessen etwas kräftiger */
a, .legacy a, .legacy button, .legacy [role=button] { text-decoration: none !important; }
.legacy p a, .legacy li a, .rich a { font-weight: 600; }
/* Menü (mobil) über dem Widerrufs-Button */
@media (max-width: 960px) { .nav { z-index: 100000; } .scrim { z-index: 99999; } }
/* Überschriften in farbigen Kopf-/Hero-Bereichen übernehmen die Schriftfarbe des Bereichs (nicht das Shopware-Navy) */
:where(.legacy) :where(header, [class*="header"], [class*="hero"], [class*="banner"], [class*="cta"], [class*="join"]) h1,
:where(.legacy) :where(header, [class*="header"], [class*="hero"], [class*="banner"], [class*="cta"], [class*="join"]) h2,
:where(.legacy) :where(header, [class*="header"], [class*="hero"], [class*="banner"], [class*="cta"], [class*="join"]) h3 { color: inherit; }
/* Shopware-Sichtbarkeit der Erlebniswelt-Blöcke (ausgeblendet auf Handy/Tablet/Desktop) */
@media (max-width: 767.98px) { .legacy .hidden-mobile { display: none !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .legacy .hidden-tablet { display: none !important; } }
@media (min-width: 992px) { .legacy .hidden-desktop { display: none !important; } }
.legacy img.broken { display: none; }

/* ===== 0.32: Startseite – Behörden-Banner halb, daneben Fachschaftsshops ===== */
.home-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: stretch; margin: 0 0 .75rem; }
.home-duo > .beh-wrap { margin: 0; display: flex; }
.home-duo .beh-banner { flex: 1; flex-wrap: wrap; padding: 1.1rem 1.25rem; align-content: center; }
.home-duo .beh-right-col { flex: 1 1 100%; flex-direction: row; align-items: center; justify-content: space-between; }
.home-duo .beh-badges { justify-content: flex-start; }
@media (max-width: 900px) { .home-duo { grid-template-columns: 1fr; } }
.fsb { position: relative; overflow: hidden; border-radius: 18px; padding: 1.1rem 1.25rem; color: #10304f;
  background: linear-gradient(160deg, #f3fbf6 0%, #e4f4ea 100%); border: 1px solid #c7e5d2;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 6px 22px rgba(16,80,48,.10); font-size: .9rem; }
.fsb::before { content: ''; position: absolute; right: -50px; top: -50px; width: 160px; height: 160px; border-radius: 50%; background: rgba(20,110,60,.06); }
.fsb-top { display: flex; gap: 12px; align-items: center; }
.fsb-top svg { width: 38px; height: 38px; flex: none; color: #17663c; }
.fsb-top b { display: block; font-size: 1rem; font-weight: 800; color: #0f3b24; }
.fsb-top span { color: #33523f; font-size: .86rem; }
.fsb-open { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: .7rem 0 .2rem; }
.fsb-l { font-weight: 700; font-size: .8rem; color: #0f5a32; margin-right: 2px; }
.fsb-steps { margin: .7rem 0; padding: 0; list-style: none; counter-reset: s; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.fsb-steps li { counter-increment: s; position: relative; padding-left: 26px; font-size: .82rem; line-height: 1.35; color: #24402f; }
.fsb-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 19px; height: 19px; border-radius: 50%; display: grid; place-items: center; font: 700 11px/1 var(--font, sans-serif); color: #fff; background: linear-gradient(180deg, #2a9a5c, #17663c); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset; }
.fsb-steps.big { grid-template-columns: 1fr; gap: 12px; } .fsb-steps.big li { font-size: .95rem; padding-left: 32px; } .fsb-steps.big li::before { width: 23px; height: 23px; font-size: 12px; }
.fsb-cta { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 520px) { .fsb-steps { grid-template-columns: 1fr; } }

/* Chips/Pills im Apple-Stil (leicht glänzend) */
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 13px; border-radius: 999px; font-size: .8rem; font-weight: 600; text-decoration: none !important;
  color: #17345a; background: linear-gradient(180deg, #ffffff 0%, #eef2f7 100%); border: 1px solid rgba(20,40,70,.14);
  box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 1px 2px rgba(16,32,64,.08), 0 2px 8px rgba(16,32,64,.05); transition: transform .12s, box-shadow .15s; }
.chip:hover { transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 4px 12px rgba(16,32,64,.12); }
.chip.solid { color: #fff; background: linear-gradient(180deg, #2b8ad6 0%, #0b5fae 100%); border-color: #0a548f; box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 2px 8px rgba(11,95,174,.3); }

/* übernommene Badges, Pills, CTA-Kapseln: glossy – nur die Bausteine selbst (keine BEM-Kindelemente wie …-card__head) */
.legacy :is([class$="-badge"], [class*="-badge "], [class$="-pill"], [class*="-pill "], [class$="-chip"], [class*="-chip "], [class$="-tag"], [class*="-tag "]) {
  background-image: linear-gradient(180deg, rgba(255,255,255,.45) 0%, rgba(255,255,255,.1) 50%, rgba(255,255,255,0) 51%, rgba(255,255,255,.06) 100%);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 -1px 0 rgba(0,0,0,.05) inset, 0 1px 3px rgba(16,32,64,.12);
  border-radius: 999px; }
.legacy :is(a[class$="-cta"], a[class*="-cta "], a[class$="-btn"], a[class*="-btn "], button[class$="-cta"], .beh-cta) {
  background-image: linear-gradient(180deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 55%);
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 2px 8px rgba(16,32,64,.16); }

/* Fachschaftsshop-Anfrage */
.fsr .lead { max-width: 760px; font-size: 1.05rem; }
.fsr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 24px; align-items: start; }
.fsr-ex { list-style: none; padding: 0; } .fsr-ex li { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0; } .fsr-ex svg { width: 20px; height: 20px; flex: none; color: var(--brand, #0b5fae); margin-top: 2px; }
.fsr-form { padding: 22px; border-radius: 20px; display: grid; gap: 12px; background: #fff; border: 1px solid var(--line, #dfe4ea); box-shadow: 0 1px 0 #fff inset, 0 10px 30px rgba(16,32,64,.08); }
.fsr-form label { display: grid; gap: 4px; font-size: .85rem; font-weight: 600; }
.fsr-form input, .fsr-form textarea { font: 15px var(--font, sans-serif); border: 1px solid var(--line, #dfe4ea); border-radius: 12px; padding: 10px 12px; width: 100%; box-sizing: border-box; }
.fsr-form .fg2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fsr-form .hp { position: absolute; left: -9999px; }
.fsr-msg { font-weight: 600; color: #a3261b; } .fsr-form.ok { background: #f1faf4; }
@media (max-width: 860px) { .fsr-grid, .fsr-form .fg2 { grid-template-columns: 1fr; } }
/* Fachschafts-Pillen ohne geöffneten Shop: nur Anzeige */
.legacy [data-fs-off] { cursor: default; } .legacy span.fs-uni-chip[data-fs-off]:hover { transform: none; }

/* Fachschaftsshop-Banner wie der Behörden-Banner: Knopf rechts unten */
.home-duo { margin: 0 0 4px; }
.fsb { display: flex; flex-direction: column; gap: .8rem; border-left: 4px solid #1f8a4f; border-radius: 10px; }
.fsb-top b { font-size: 1rem; }
.fsb-row { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.fsb-row .fsb-open { margin: 0; }
.fsb-cta { display: inline-flex; align-items: center; padding: .55rem 1.15rem; border-radius: 999px; font-weight: 700; font-size: .86rem; color: #fff !important; text-decoration: none !important; white-space: nowrap;
  background: linear-gradient(180deg, #2a9a5c 0%, #17663c 100%); box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 2px 8px rgba(23,102,60,.3); transition: filter .15s, transform .12s; }
.fsb-cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.legacy .fsb a.fsb-cta { background-image: linear-gradient(180deg, #2a9a5c 0%, #17663c 100%); background-color: #17663c; }

/* 0.32.2: YouTube erst nach Klick */
.yt-lazy { position: relative; aspect-ratio: 16 / 9; width: 100%; border-radius: 16px; overflow: hidden; background: radial-gradient(circle at 50% 40%, #2a3f63, #0f1c33); }
.yt-lazy iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt-play { position: absolute; inset: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px; border: 0; background: none; color: #fff; cursor: pointer; text-align: center; font: inherit; }
.yt-ic { width: 68px; height: 48px; border-radius: 14px; background: #e62117; display: grid; place-items: center; font-size: 22px; box-shadow: 0 6px 20px rgba(0,0,0,.35); transition: transform .15s; }
.yt-play:hover .yt-ic, .yt-play:focus-visible .yt-ic { transform: scale(1.08); }
.yt-play b { font-size: 15px; max-width: 520px; } .yt-play small { font-size: 12px; opacity: .85; max-width: 460px; line-height: 1.4; } .yt-play small a { color: #fff; text-decoration: underline; }
/* Lauftext anhalten */
.sz-ticker-bar { position: relative; } .sz-ticker-bar.paused .sz-ticker-track { animation-play-state: paused !important; }
.sz-ticker-bar:has(a:focus-visible) .sz-ticker-track { animation-play-state: paused; }
.tick-pause { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); z-index: 2; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(0,0,0,.12); background: #fff; color: #334; font-size: 10px; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
/* Bewegung reduzieren: alle Animationen aus, Inhalte sofort sichtbar */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal, html.anim .reveal, html.anim .stagger > * { opacity: 1 !important; transform: none !important; }
}
.yt-play { bottom: 54px; } .yt-note { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 10px 16px 12px; color: #e6ecf5; font-size: 12px; line-height: 1.4; text-align: center; } .yt-note a { color: #fff; text-decoration: underline; }
.legacy [title="KI-generiertes Bild"] { background: #1f6fa3 !important; }
/* Links im Fließtext eigener Seiten unterstrichen (WCAG 1.4.1); übernommene Inhalte bleiben ohne Unterstreichung */
main :is(p, small, .muted) a:not([class]) { text-decoration: underline !important; text-underline-offset: 2px; }
.legacy :is(p, small, .muted) a:not([class]) { text-decoration: none !important; }
.legacy .btn-light { color: #1f2933 !important; background-color: #f1f4f8 !important; border-color: #cfd6df !important; }
.legacy [id^="sza-val-"] { color: #5f7a8e !important; }
.legacy a[href^="mailto:"]:not([class]), .legacy a[href^="tel:"]:not([class]) { text-decoration: underline !important; text-underline-offset: 2px; }
/* Fachschaften-Seite: Schnellauswahl „Direkt zu deinem Fachschaftsshop“ entfällt */
.legacy .fsw-quicknav { display: none !important; }
/* Artikel-Zusatzinhalte: Text neben Vollbild-Bildern mit Innenabstand */
.pd-extra .cms-block-image-text-cover .cms-element-text { padding: clamp(20px, 4vw, 48px) clamp(20px, 4vw, 56px); }
.pd-extra .cms-block-image-text-cover .cms-element-text > div { padding-left: 0 !important; padding-right: 0 !important; }
/* Shopware-Regeln für <body> (Flex, volle Bildschirmhöhe) nicht auf eingebettete Inhalte anwenden – sonst große Lücken (z. B. unter der Artikelbeschreibung) */
.legacy { display: block; min-height: 0; }

/* ===== Einheitliche Inhaltsseiten (Breite wie Fachschaftsshop-Seite, Farben wie „Über uns“) ===== */
:root { --sb-hero: linear-gradient(135deg, #16325c 0%, #1f74c0 100%); --sb-cta: linear-gradient(135deg, #132a4d 0%, #1b3d6c 100%); }
body:not(.is-home) .legacy .flashbags.container:empty { display: none; }
body:not(.is-home) .legacy .cms-section-default.boxed { max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; padding-left: max(16px, env(safe-area-inset-left, 0px)) !important; padding-right: max(16px, env(safe-area-inset-right, 0px)) !important; }
body:not(.is-home) .legacy .cms-section-default.boxed .cms-block-container { padding-left: 0 !important; padding-right: 0 !important; }
body:not(.is-home) .legacy .cms-section-default.boxed .cms-row:has(> .col-12:only-child) { margin-left: 0 !important; margin-right: 0 !important; }
body:not(.is-home) .legacy .cms-section-default.boxed .cms-row > .col-12:only-child { padding-left: 0 !important; padding-right: 0 !important; }
/* zweispaltige Blöcke (Bild | Text): Abstand dazwischen */
body:not(.is-home) .legacy .cms-row > [class*="col-md-6"] { padding-left: 14px !important; padding-right: 14px !important; }
@media (min-width: 768px) { body:not(.is-home) .legacy .cms-row > [class*="col-md-6"]:first-child { padding-left: 0 !important; padding-right: 22px !important; } body:not(.is-home) .legacy .cms-row > [class*="col-md-6"]:last-child { padding-right: 0 !important; padding-left: 22px !important; } }
@media (max-width: 767px) { body:not(.is-home) .legacy .cms-row > [class*="col-md-6"] { padding-left: 0 !important; padding-right: 0 !important; margin-bottom: 18px; } }
body:not(.is-home) .legacy :is(.agb-wrap, .ds-wrap, #sbw-impressum, #sbw-belehrung, #sbw-page, .faq-wrap, .bbo-wrap, .sza-wrap, .ubn-wrap, .zvs-wrap, .ret-wrap, .fsw-wrap, .bst-wrap, .kop-wrap, .beh-wrap, .slb-wrap) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Kopfbereiche: Blau wie „Über uns“, Schrift weiß */
body:not(.is-home) .legacy :is(.slb-intro, .ubn-hero, .zvs-hero, .sbw-hero, .ret-hero, .faq-hero, .bst-hero, .bbo-hero, .fsw-hero, .sz-hero, .agb-header, .ds-header, .sbb-head, .fsl-header, .fs-header, .bnd-header) { background: var(--sb-hero) !important; color: #fff !important; border-color: transparent !important; }
body:not(.is-home) .legacy :is(.slb-intro, .ubn-hero, .zvs-hero, .sbw-hero, .ret-hero, .faq-hero, .bst-hero, .bbo-hero, .fsw-hero, .sz-hero, .agb-header, .ds-header, .sbb-head, .fsl-header, .fs-header, .bnd-header) :is(h1, h2, h3, h4, p, li, small, strong, b, em, dt, dd, [class*="title"], [class*="sub"], [class*="eyebrow"], [class*="meta"], [class*="lead"], [class*="kicker"]):not(a, a *, button, button *, [class*="btn"], [class*="btn"] *) { color: #fff !important; }
body:not(.is-home) .legacy :is(.slb-intro, .ubn-hero, .zvs-hero, .sbw-hero, .ret-hero, .faq-hero, .bst-hero, .bbo-hero, .fsw-hero, .sz-hero, .agb-header, .ds-header, .sbb-head, .fsl-header, .fs-header, .bnd-header) :is([class*="eyebrow"], [class*="meta"], [class*="kicker"], [class*="sub"]):not(a, button) { opacity: .92; }
body:not(.is-home) .legacy :is(.zvs-hero, .ret-hero, .fsw-hero, .bst-hero, .sbw-hero, .sz-hero) a:not([class*="btn"]) { color: #fff !important; text-decoration: underline !important; text-underline-offset: 2px; }
/* „Sprich uns an“ & andere Kontakt-Boxen: dunkles Blau */
body:not(.is-home) .legacy :is(.ubn-cta, .zvs-cta, .slb-cta, .ret-cta, .kop-cta, .fsw-cta, .faq-cta, .bst-cta, .beh-cta) { background: var(--sb-cta) !important; color: #fff !important; border-color: transparent !important; }
body:not(.is-home) .legacy :is(.ubn-cta, .zvs-cta, .slb-cta, .ret-cta, .kop-cta, .fsw-cta, .faq-cta, .bst-cta, .beh-cta) :is(h2, h3, h4, p, strong, b, span, small, div):not(a, a *, button, button *, [class*="btn"], [class*="btn"] *) { color: #fff !important; }
body:not(.is-home) .legacy :is(.ubn-cta, .zvs-cta, .slb-cta, .ret-cta, .kop-cta, .fsw-cta, .faq-cta, .bst-cta, .beh-cta) [class*="inner"] { background: transparent !important; flex-wrap: wrap; gap: 14px 20px; }
/* Umbrüche: keine Buchstaben-Trennung mitten im Wort, sondern Silbentrennung */
body:not(.is-home) .legacy, body:not(.is-home) .legacy * { word-break: normal; } body:not(.is-home) .legacy :is(strong, b) { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; } body:not(.is-home) .legacy :is(h1, h2, h3) { overflow-wrap: break-word; hyphens: manual; text-wrap: balance; }
/* Zweit-Knöpfe auf blauem Grund: weiße Kontur statt unsichtbar */
body:not(.is-home) .legacy :is([class*="hero"], [class*="header"], [class*="banner"], [class*="-cta"], .sbb-head, .slb-intro) :is([class*="--outline"], [class*="-ghost"]):not([class*="green"]) { background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,.7) !important; box-shadow: none !important; }
body:not(.is-home) .legacy :is([class*="hero"], [class*="header"], [class*="banner"], [class*="-cta"], .sbb-head, .slb-intro) :is([class*="--outline"], [class*="-ghost"]):not([class*="green"]):hover { background: rgba(255,255,255,.12) !important; }
body:not(.is-home) .legacy :is([class*="hero"], [class*="header"], [class*="banner"], [class*="-cta"], .sbb-head, .slb-intro) :is([class*="--outline"], [class*="-ghost"]) * { color: inherit !important; }
/* Vorteils-Kärtchen in Kategorie-Texten: breiter, damit Wörter nicht zerhackt werden */
body:not(.is-home) .legacy div[style*="flex:1 1 140px"], body:not(.is-home) .legacy div[style*="flex:1 1 150px"], body:not(.is-home) .legacy div[style*="flex:1 1 160px"] { flex-basis: 205px !important; }

/* leere Banner-Platzhalter aus dem alten Shop nicht zeigen */
body:not(.is-home) .legacy [class*="banner__placeholder"] { display: none !important; }
body:not(.is-home) .legacy [class*="-banner"][role="img"]:not(:has(img)) { display: none !important; }
body:not(.is-home) .legacy .cms-section-default.boxed .cms-row:has(> [class*="col-md-6"]) { margin-left: 0 !important; margin-right: 0 !important; }
/* Rechtstexte ohne Shopware-Rahmen (cms-section boxed): gleiche Breite wie die übrigen Seiten */
body:not(.is-home) main .legacy > :is(.agb-wrap, .ds-wrap, #sbw-impressum, #sbw-belehrung, #sbw-page, .faq-wrap) { max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
