/* Ratgeber-Bibliothek · Christian Voye · Design B
   Farbwelt der Website: Dunkelblau #0e3050, Rot #eb2b28, Hellgrau.
   TYPO3 v13 / Bootstrap Package: alle Selektoren auf .voye-library begrenzt. */
.voye-library {
  --voye-ink: #12263c;
  --voye-black: #0a2038;
  --voye-muted: #5c6877;
  --voye-soft: #f3f5f8;
  --voye-line: #dde2e8;
  --voye-white: #fff;
  --voye-accent: #eb2b28;
  --voye-accent-strong: #d42522;
  --voye-accent-dark: #b81e1b;
  --voye-navy: #0e3050;
  font-family: inherit;
  line-height: 1.6;
  color: var(--voye-ink);
  background: var(--voye-white);
  overflow: hidden;
  width: 100%;
}
.voye-library *, .voye-library *::before, .voye-library *::after { box-sizing: border-box; }
.voye-library :is(h1,h2,h3,h4,p) { margin-top: 0; }
.voye-library :is(h1,h2,h3,h4) { font-family: inherit; line-height: 1.15; letter-spacing: -.015em; color: inherit; }
.voye-library h1 { font-weight: 700; }
.voye-library h2 { font-size: clamp(1.65rem,2.6vw,2.3rem); font-weight: 760; }
.voye-library a { color: inherit; text-decoration: none; }
.voye-library a:hover { color: inherit; }
.voye-library button, .voye-library input { font: inherit; }
.voye-library button { cursor: pointer; }
.voye-library :is(a,button,input,summary):focus-visible { outline: 3px solid #1d63b8; outline-offset: 4px; }
.voye-library :is(.voye-hero,.voye-final-cta) :is(a,button):focus-visible { outline-color: #fff; }
.voye-library svg { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.voye-library .voye-sr-only { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; padding:0!important; }
.voye-library .voye-section-kicker { font-size: .72rem; font-weight: 800; letter-spacing: .155em; color: #c21f1c; line-height: 1.4; margin-bottom: 12px; }

/* Hero: eigenständige grafische Gestaltung statt Stockfotos. */
.voye-library .voye-hero {
  display: grid; grid-template-columns: minmax(0, 1.17fr) minmax(310px, .83fr);
  min-height: 465px; color: #fff;
  background: var(--voye-navy); border-radius: 22px; overflow: hidden;
  isolation: isolate;
}
.voye-library .voye-hero__copy { padding: clamp(28px, 5vw, 68px) clamp(26px, 5.4vw, 74px); position: relative; z-index: 1; }
.voye-library .voye-breadcrumb { display: flex; align-items: center; gap: 11px; color: #b4c3d4; font-size: .77rem; margin: 0 0 34px; }
.voye-library .voye-breadcrumb a { color: #b4c3d4; }
.voye-library .voye-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.voye-library .voye-eyebrow { display:flex; align-items:center; gap:9px; color: #dbe5f0; font-size: .73rem; letter-spacing: .115em; font-weight: 800; margin-bottom: 14px; }
.voye-library .voye-eyebrow__dot { width:8px; height:8px; border-radius:100px; background: var(--voye-accent); box-shadow: 0 0 0 5px rgba(235,43,40,.22); }
.voye-library .voye-hero h1 { font-size: clamp(2.1rem, 3.6vw, 3.4rem); max-width: 680px; font-weight:700; margin-bottom:20px; color: #fff; }
.voye-library .voye-hero__lead { max-width: 640px; font-size: clamp(.99rem, 1.3vw,1.1rem); color: #d5dfea; line-height:1.75; margin-bottom: 28px; }
.voye-library .voye-hero__actions { display:flex; gap: 21px; align-items:center; flex-wrap:wrap; }
.voye-library .voye-btn { min-height: 48px; display: inline-flex; align-items:center; justify-content:center; gap: 11px; padding: 13px 22px; border-radius: 11px; font-weight: 750; font-size: .92rem; line-height: 1.3; transition: transform .15s ease, background .15s ease, border-color .15s ease; white-space: normal; }
.voye-library .voye-btn:hover { transform: translateY(-2px); }
.voye-library .voye-btn--accent { background: var(--voye-accent-strong); color: #fff; }
.voye-library .voye-btn--accent:hover { background: var(--voye-accent-dark); color: #fff; }
.voye-library .voye-hero__phone { display:inline-flex; gap:8px; align-items:center; font-size:.87rem; color:#f4f7fb; font-weight:650; text-decoration: underline; text-decoration-color:#8ea2b9; text-underline-offset:4px; }
.voye-library .voye-hero__phone:hover { color:#fff; text-decoration-color:#fff; }
.voye-library .voye-hero__byline { margin:30px 0 0; color:#b4c3d4; font-size:.74rem; line-height:1.7; }
.voye-library .voye-hero__byline span { margin:0 6px; color: var(--voye-accent); }
.voye-library .voye-hero__visual { position:relative; min-height: 460px; overflow:hidden; background:radial-gradient(ellipse at 70% 15%, #1c4a78 1%, transparent 70%),linear-gradient(140deg, #123a60, #0a2540); }
.voye-library .voye-visual__grid { position:absolute; inset:0; opacity:.18; background-image: linear-gradient(#a9bdd3 1px,transparent 1px),linear-gradient(90deg,#a9bdd3 1px,transparent 1px); background-size:38px 38px; transform: perspective(420px) rotateX(22deg) scale(1.4); }
.voye-library .voye-visual__word { font-size:clamp(4.5rem,9vw,10rem); font-weight:900; line-height:1; letter-spacing:-.09em; opacity:.115; position:absolute; right:32px; top:70px; white-space:nowrap; }
.voye-library .voye-visual__word span { color: var(--voye-accent); }
.voye-library .voye-visual__circle { position:absolute; width:280px; height:280px; border:1px solid rgba(235,43,40,.45); border-radius:50%; right:-100px; bottom:-130px; box-shadow: 0 0 0 40px rgba(235,43,40,.05), 0 0 0 80px rgba(235,43,40,.04); }
.voye-library .voye-visual__float { position:absolute; width:min(77%,325px); padding:24px 26px; border-radius:18px; background:rgba(246,248,251,.96); color:var(--voye-ink); box-shadow:0 25px 70px #04101f88; backdrop-filter:blur(6px); }
.voye-library .voye-visual__float span { display:block; color:#64707f; font-size:.68rem; font-weight:800; letter-spacing:.13em; margin-bottom:10px; }
.voye-library .voye-visual__float strong { display:block; font-size:1.27rem; line-height:1.2; letter-spacing:-.04em; margin-bottom:8px; }
.voye-library .voye-visual__float small { font-size:.79rem; color:#56647a; }
.voye-library .voye-visual__float--one { top:110px; left:clamp(20px,7%,70px); transform:rotate(-5deg); }
.voye-library .voye-visual__float--two { top:245px; left:clamp(70px,18%,160px); transform:rotate(5deg); }

.voye-library .voye-discovery, .voye-library .voye-featured,
.voye-library .voye-topic-index, .voye-library .voye-trust,
.voye-library .voye-faq, .voye-library .voye-mid-cta,
.voye-library .voye-final-cta { max-width: 1200px; margin-left:auto; margin-right:auto; }
.voye-library .voye-discovery { padding:56px 24px 8px; }
.voye-library .voye-discovery__head { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.voye-library .voye-discovery__head h2 { margin-bottom:0; }
.voye-library .voye-discovery__head > p, .voye-library .voye-section-heading > p { max-width:410px; color: var(--voye-muted); font-size:.93rem; line-height:1.6; margin-bottom:0; }
.voye-library .voye-discovery__controls { margin-top:25px; }
.voye-library .voye-search { border:1px solid #c5ced9; border-radius:14px; height:57px; display:flex; align-items:center; padding:0 18px; gap:14px; color:#5d6b7b; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }
.voye-library .voye-search:focus-within { border-color:var(--voye-navy); box-shadow:0 0 0 3px rgba(14,48,80,.15); }
.voye-library .voye-search svg { font-size:1.25rem; }
.voye-library .voye-search input { background:transparent; width:100%; min-width:0; border:0; color:var(--voye-ink); outline:none; font-size:1rem; }
.voye-library .voye-search input::placeholder { color:#748191; }
.voye-library .voye-filters { display:flex; flex-wrap:wrap; gap:9px; padding:18px 0 0; }
.voye-library .voye-filters button { background:#f4f6f9; color:#3c4c5e; border:1px solid #dfe5ec; padding:8px 15px; border-radius:99px; font-size:.83rem; font-weight:650; transition:background .15s ease,border-color .15s ease; }
.voye-library .voye-filters button:hover { border-color:#8fa3ba; }
.voye-library .voye-filters button.is-active { background:#0e3050; border-color:#0e3050; color:#fff; }
.voye-library .voye-search-status { font-size:.76rem; color:#5f6c7b; margin:13px 0 0; }
.voye-library .voye-section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:28px; }
.voye-library .voye-section-heading h2 { margin:0; }
.voye-library .voye-featured { padding:55px 24px 62px; }
.voye-library .voye-featured__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.voye-library .voye-featured-card { position:relative; min-height:252px; display:flex; flex-direction:column; background:#f3f5f8; border:1px solid #dfe5ec; border-radius:16px; padding:22px; transition:transform .15s ease,box-shadow .15s ease; }
.voye-library .voye-featured-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(14,48,80,.12); }
.voye-library .voye-featured__grid { counter-reset: voye-featured; }
.voye-library .voye-featured-card:nth-child(4n+1) { background:#e6edf5; }
.voye-library .voye-featured-card:nth-child(4n+2) { background:#f1f2f4; }
.voye-library .voye-featured-card:nth-child(4n+3) { background:#e2e9f1; }
.voye-library .voye-featured-card:nth-child(4n+4) { background:#f7f1f0; }
.voye-library .voye-featured-card__number::before { counter-increment: voye-featured; content: counter(voye-featured, decimal-leading-zero); }
.voye-library .voye-featured-card__top { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-bottom:25px; }
.voye-library .voye-featured-card__number { font-weight:850; font-size:1.5rem; color:#d42522; line-height:1; }
.voye-library .voye-featured-card__tag { color:#55657a; font-size:.62rem; letter-spacing:.07em; font-weight:800; }
.voye-library .voye-featured-card h3 { font-size:1.15rem; line-height:1.27; font-weight:800; margin:0 0 11px; }
.voye-library .voye-featured-card h3 a::after { content:''; position:absolute; inset:0; }
.voye-library .voye-featured-card p { color:#4d5b6c; font-size:.82rem; line-height:1.55; margin:0 0 22px; }
.voye-library .voye-card-action { display:flex; gap:8px; align-items:center; margin-top:auto; font-weight:800; font-size:.78rem; }
.voye-library .voye-topic-index { padding:10px 24px 24px; counter-reset: voye-article; }
.voye-library .voye-topic-section { display:grid; grid-template-columns:minmax(230px,.32fr) minmax(0,.68fr); gap:38px; border-top:1px solid var(--voye-line); padding:35px 0; }
.voye-library .voye-topic-section__intro { display:flex; flex-direction:column; gap:13px; }
.voye-library .voye-topic-section__no { font-size:.72rem; color:#6b7a8c; font-weight:850; letter-spacing:.1em; }
.voye-library .voye-topic-section__intro h3 { font-size:1.55rem; font-weight:800; margin:0 0 11px; }
.voye-library .voye-topic-section__intro p { color:var(--voye-muted); font-size:.87rem; max-width:270px; line-height:1.7; }
.voye-library .voye-topic-section__list { display:flex; flex-direction:column; gap:9px; }
.voye-library .voye-topic-card { border-radius:13px; border:1px solid var(--voye-line); background:white; transition:border-color .15s ease, box-shadow .15s ease; }
.voye-library .voye-topic-card:hover { border-color:#9db3cc; box-shadow:0 10px 25px rgba(14,48,80,.08); }
.voye-library .voye-topic-card a { display:flex; padding:17px 18px; gap:19px; align-items:center; }
.voye-library .voye-topic-card__num { font-size:.78rem; font-weight:700; color:#d42522; flex-shrink:0; min-width:1.4em; }
.voye-library .voye-topic-card__num::before { counter-increment: voye-article; content: counter(voye-article, decimal-leading-zero); }
.voye-library .voye-topic-card__body { display:flex; flex-direction:column; flex:1; min-width:0; }
.voye-library .voye-topic-card h4 { font-size:1rem; font-weight:750; letter-spacing:-.015em; margin:0 0 4px; }
.voye-library .voye-topic-card__text { color:var(--voye-muted); font-size:.85rem; line-height:1.5; }
.voye-library .voye-topic-card__arrow { display:flex; align-items:center; justify-content:center; width:35px; height:35px; border-radius:50%; background:#eef2f7; color:#0e3050; flex-shrink:0; }
.voye-library .voye-no-results { padding:25px; margin:20px 0; border:1px solid #d5dce5; background:#f7f9fb; border-radius:14px; }
.voye-library .voye-mid-cta { margin-top:37px; margin-bottom:85px; padding:33px 38px; background:#e9eff6; border-radius:18px; display:flex; gap:35px; align-items:center; justify-content:space-between; }
.voye-library .voye-mid-cta h2 { font-size:clamp(1.45rem,2.1vw,1.9rem); max-width:670px; margin-bottom:12px; }
.voye-library .voye-mid-cta p:not(.voye-section-kicker) { margin:0; max-width:740px; font-size:.89rem; color:#44546a; }
.voye-library .voye-btn--dark { background:#0e3050; color:white; }
.voye-library .voye-btn--dark:hover { background:#1a4672; color:white; }
.voye-library .voye-trust { border-top:1px solid var(--voye-line); padding:65px 24px; display:grid; grid-template-columns: minmax(180px,.3fr) minmax(0,.7fr); gap:45px; }
.voye-library .voye-trust__number { display:flex; align-items:center; justify-content:center; width:190px; height:190px; background:var(--voye-navy); color:#fff; border-radius:100%; font-size:6.2rem; font-weight:850; letter-spacing:-.12em; transform:rotate(-8deg); }
.voye-library .voye-trust__number span { color: var(--voye-accent); }
.voye-library .voye-trust__photo { width:210px; height:210px; border-radius:50%; overflow:hidden; background:var(--voye-soft); box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--voye-navy); margin:7px; }
.voye-library .voye-trust__photo img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 15%; }
.voye-library .voye-trust h2 { margin-bottom:20px; }
.voye-library .voye-trust p:not(.voye-section-kicker) { color:#46556a; font-size:.95rem; line-height:1.8; }
.voye-library .voye-trust a { display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:800; border-bottom:1px solid #eb2b28; padding-bottom:5px; margin-top:4px; }
.voye-library .voye-faq { padding:36px 24px 78px; }
.voye-library .voye-faq__list { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.voye-library .voye-faq__item { border:1px solid var(--voye-line); border-radius:14px; padding:0 20px; }
.voye-library .voye-faq__item summary { list-style:none; cursor:pointer; padding:22px 0; display:flex; justify-content:space-between; gap:12px; align-items:center; font-weight:750; font-size:.93rem; }
.voye-library .voye-faq__item summary::-webkit-details-marker { display:none; }
.voye-library .voye-faq__plus { font-size:1.6rem; font-weight:300; transition:transform .15s ease; line-height:1; color:#d42522; }
.voye-library .voye-faq__item[open] .voye-faq__plus { transform:rotate(45deg); }
.voye-library .voye-faq__item p { color:#515f70; font-size:.87rem; line-height:1.75; padding:0 0 22px; margin:0; }
.voye-library .voye-final-cta { margin-bottom:35px; padding:42px 45px; border-radius:20px; background:var(--voye-navy); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:32px; }
.voye-library .voye-final-cta .voye-section-kicker { color:#dbe5f0; }
.voye-library .voye-final-cta h2 { color:#fff; max-width:690px; font-size:clamp(1.5rem,2.4vw,2.12rem); margin-bottom:16px; }
.voye-library .voye-final-cta p:not(.voye-section-kicker) { color:#c8d4e2; font-size:.92rem; line-height:1.7; max-width:670px; margin-bottom:14px; }
.voye-library .voye-final-cta__location { color:#9fb0c4; font-size:.75rem; }
.voye-library .voye-final-cta__actions { display:flex; flex-direction:column; gap:11px; min-width:220px; }
.voye-library .voye-btn--outline { color:white; border:1px solid #7f97b3; }
.voye-library .voye-btn--outline:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.08); }

@media (max-width:1000px) {
 .voye-library .voye-hero { grid-template-columns:1fr .75fr; }
 .voye-library .voye-featured__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .voye-library .voye-topic-section { grid-template-columns:minmax(190px,.33fr) minmax(0,.67fr); gap:20px; }
 .voye-library .voye-final-cta { margin-inline:24px; }
 .voye-library .voye-mid-cta { margin-inline:24px; }
}
@media (max-width:740px) {
 .voye-library .voye-hero { display:block; border-radius:16px; }
 .voye-library .voye-hero__copy { padding:27px 22px 40px; }
 .voye-library .voye-breadcrumb { margin-bottom:25px; }
 .voye-library .voye-hero h1 { font-size:clamp(2rem,8.8vw,3.1rem); }
 .voye-library .voye-hero__visual { display:none; }
 .voye-library .voye-hero__byline { margin-top:23px; }
 .voye-library .voye-discovery__head, .voye-library .voye-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .voye-library .voye-discovery { padding-top:37px; }
 .voye-library .voye-featured { padding-top:38px; padding-bottom:43px; }
 .voye-library .voye-topic-section { display:block; padding:25px 0; }
 .voye-library .voye-topic-section__intro { margin-bottom:18px; }
 .voye-library .voye-topic-section__intro p { max-width:none; }
 .voye-library .voye-mid-cta { display:block; padding:28px; margin-top:15px; margin-bottom:45px; }
 .voye-library .voye-mid-cta .voye-btn { margin-top:23px; }
 .voye-library .voye-trust { grid-template-columns:1fr; padding-top:42px; gap:24px; }
 .voye-library .voye-trust__number { width:94px; height:94px; font-size:3.2rem; }
 .voye-library .voye-trust__photo { width:130px; height:130px; }
 .voye-library .voye-faq { padding-bottom:45px; }
 .voye-library .voye-faq__list { grid-template-columns:1fr; }
 .voye-library .voye-final-cta { display:block; padding:29px 24px; }
 .voye-library .voye-final-cta__actions { margin-top:25px; }
}
@media (max-width:480px) {
 .voye-library .voye-discovery,.voye-library .voye-featured,.voye-library .voye-topic-index,.voye-library .voye-trust,.voye-library .voye-faq { padding-left:17px; padding-right:17px; }
 .voye-library .voye-hero__actions { align-items:flex-start; flex-direction:column; gap:16px; }
 .voye-library .voye-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; scrollbar-width:thin; }
 .voye-library .voye-filters button { white-space:nowrap; }
 .voye-library .voye-featured__grid { grid-template-columns:1fr; }
 .voye-library .voye-featured-card { min-height:205px; }
 .voye-library .voye-topic-card a { gap:11px; padding:15px 12px; }
 .voye-library .voye-topic-card__text { font-size:.82rem; }
 .voye-library .voye-mid-cta { margin-inline:17px; }
 .voye-library .voye-final-cta { margin-inline:17px; }
}
@media (prefers-reduced-motion:reduce) {
 .voye-library *, .voye-library *::before, .voye-library *::after { transition:none!important; scroll-behavior:auto!important; }
}
/* Das hidden-Attribut muss gegen Raster- und Bootstrap-Regeln Vorrang behalten. */
.voye-library [hidden] { display: none !important; }
/* Themenbereiche ohne Artikel und ein leerer Einstiegsblock werden nicht angezeigt (auch ohne JavaScript). */
.voye-library .voye-topic-section:not(:has(.voye-topic-card)),
.voye-library .voye-featured:not(:has(.voye-featured-card)) { display: none; }
