/* Unterseiten im neuen Design (Publikationen, Detailseite, Download, Impressum, Datenschutz, Terminbestätigung).
   Wird NACH publications.css/leads.css und home-v2.css geladen (styles.css entfällt im neuen Design).
   Kopf- und Fußzeile: partials/site-header.php / site-footer.php (Klassen hx-… aus home-v2.css). */

/* Farben/Maße, die publications.css und leads.css über Variablen beziehen */
:root{
  --primary:#28597d;--primary-light:#28597d;--primary-dark:#284151;--secondary:#e5a83e;--secondary-light:#f1b85a;
  --text:#284151;--text-secondary:#284151;--muted:#4f6676;--muted-light:#7d93a3;
  --line:#d5e3ee;--line-subtle:#d5e3ee;--card:#fff;--bg:#fff;--success:#28597d;
  --radius:0;--radius-sm:0;--radius-lg:0;--radius-xl:0;
  --gradient-primary:#e5a83e;--gradient-warm:#e5a83e;--gutter:20px;--header-height:0px;
}
/* Design-System: eckig, ohne Schatten */
.hx-sub main *,.hx-sub main *::before,.hx-sub main *::after,.hx-sub .modal,.hx-sub .modal *{border-radius:0!important;box-shadow:none!important;text-shadow:none!important}

.hx-sub [hidden]{display:none!important}
.hx-sub h1,.hx-sub h2,.hx-sub h3,.hx-sub h4{color:var(--hx-navy);font-weight:700;line-height:1.2}
.hx-sub p{line-height:1.6}
.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}

/* Grundraster wie auf der Startseite */
.hx-sub .section{padding:80px 0 96px}
.hx-sub .container{max-width:1200px;margin:0 auto;padding:0 40px;width:100%}
.hx-sub .container--narrow{max-width:880px}
.hx-sub .section__head{margin:0 0 32px}
.hx-sub .section__head h1,.hx-sub .section__head h2{margin:0 0 16px;font-size:clamp(32px,3.6vw,46px);line-height:1.12}
.hx-sub .lead{font-size:19px;line-height:1.6;max-width:720px;color:var(--hx-navy)}

/* Knöpfe */
.hx-sub .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 26px;border:0;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;line-height:1.2;text-align:center;cursor:pointer;transition:background-color .15s ease;position:relative}
.hx-sub .btn::before,.hx-sub .btn::after{content:none}
.hx-sub .btn--primary,.hx .btn--primary{background:var(--hx-amber);color:var(--hx-navy)}
.hx-sub .btn--primary:hover,.hx .btn--primary:hover{background:var(--hx-amber-light);color:var(--hx-ink)}
.hx-sub .btn--ghost,.hx .btn--ghost{background:#fff;color:var(--hx-petrol);border:2px solid var(--hx-petrol);padding:12px 24px}
.hx-sub .btn--ghost:hover,.hx .btn--ghost:hover{background:var(--hx-ice);color:var(--hx-petrol)}
.hx-sub .btn--full{width:100%}
.hx-sub .btn svg{flex:0 0 auto}

/* Leerer Zustand */
.hx-sub .empty-state{max-width:640px;margin:0;padding:40px;background:var(--hx-ice);border-top:8px solid var(--hx-amber);text-align:left}
.hx-sub .empty-state p{margin:0 0 20px;font-size:18px}

/* ---------- Publikationen: Übersicht ---------- */
.hx-sub .pub-list{padding-top:72px}
.hx-sub .pub-list__head{text-align:left;margin-bottom:36px}
.hx-sub .pub-list__head h1{display:block;margin:0;font-size:clamp(38px,4.6vw,56px);line-height:1.08}
.hx-sub .pub-list__head h1::after{content:"";display:block;position:static;transform:none;width:72px;height:8px;margin-top:18px;background:var(--hx-amber)}
.hx-sub .pub-list__head .lead{margin:20px 0 0}
.hx-sub .pub-filters{justify-content:flex-start;max-width:none;margin:0 0 36px}
.hx-sub .pub-filters__label{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--hx-petrol)}
.hx-sub .pub-chip{min-height:44px;padding:8px 16px;border:2px solid var(--hx-petrol);background:#fff;color:var(--hx-petrol);font-size:15px;font-weight:700}
.hx-sub .pub-chip:hover{background:var(--hx-ice);border-color:var(--hx-petrol)}
.hx-sub .pub-chip.is-active{background:var(--hx-petrol);border-color:var(--hx-petrol);color:#fff}
.hx-sub .pub-chip__count{background:var(--hx-ice);color:var(--hx-petrol)}
.hx-sub .pub-chip.is-active .pub-chip__count{background:rgba(255,255,255,.2);color:#fff}
.hx-sub .pub-filters__count{text-align:left}
.hx-sub .pub-langnote{max-width:none;margin:-12px 0 32px;border:0;border-left:6px solid var(--hx-amber);background:var(--hx-ice)}
.hx-sub .pub-langnote__icon{background:var(--hx-amber);color:var(--hx-navy)}
.hx-sub .pub-grid{max-width:none;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}

/* Kachel wie auf der Startseite */
.hx .pub-card{border:0;border-top:8px solid var(--hx-amber);background:#fff;transition:none;outline:1px solid var(--hx-mist);outline-offset:-1px}
.hx .pub-card:hover,.hx .pub-card:focus-within{transform:none;border-color:var(--hx-amber);outline-color:var(--hx-petrol)}
.hx .pub-card__media{background:var(--hx-ice);border-bottom:0}
.hx .pub-card:hover .pub-card__media img{transform:none}
.hx .pub-card__body{padding:24px 28px 28px}
.hx .pub-card__title{font-size:21px;color:var(--hx-navy)}
.hx .pub-card__link{color:inherit}
.hx .pub-card__teaser{color:var(--hx-navy);font-size:15px;line-height:1.55}
.hx .pub-card__foot{border-top:0;padding-top:4px}
.hx .pub-card__meta{color:#4f6676}
.hx .pub-card__more{color:var(--hx-petrol);font-weight:700;border-bottom:2px solid var(--hx-amber);padding-bottom:2px}
.hx .pub-card__more svg{display:none}
.hx .pub-card__more::after{content:"→";margin-left:2px}
.hx .pub-badge{padding:3px 7px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hx .pub-badge--format{background:transparent;padding-left:0;color:var(--hx-petrol);font-size:12px;letter-spacing:.2em}
.hx .pub-badge--lang{background:var(--hx-ice);border:0;color:var(--hx-petrol)}
.hx .pub-badge--new{background:var(--hx-amber);color:var(--hx-navy)}
.hx .pub-badge--on-dark{background:rgba(255,255,255,.14);border:0;color:#fff;padding:3px 8px}

/* ---------- Publikation: Detailseite ---------- */
.hx-sub .pub-banner{position:relative;min-height:0;margin:0;background:var(--hx-petrol);overflow:hidden}
.hx-sub .pub-banner__image{display:none}
.hx-sub .pub-banner::after{content:"";position:absolute;right:0;top:0;bottom:0;width:34%;background:url('/assets/img/mosaik.svg') left center/cover no-repeat;opacity:.35;pointer-events:none}
.hx-sub .pub-hero .pub-banner__overlay{background:none;padding:64px 0 56px;min-height:0;position:relative;z-index:1}
.hx-sub .pub-banner__content{width:auto;margin:0;text-align:left;max-width:880px}
.hx-sub .pub-hero__content h1,.hx-sub .pub-banner__content h1{color:#fff;font-size:clamp(32px,4vw,52px);line-height:1.12;margin:0 0 22px}
.hx-sub .pub-breadcrumb{justify-content:flex-start;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hx-sky);margin-bottom:18px}
.hx-sub .pub-breadcrumb a{color:var(--hx-sky);border-bottom:2px solid transparent}
.hx-sub .pub-breadcrumb a:hover{color:#fff;border-bottom-color:var(--hx-amber)}
.hx-sub .pub-hero__meta{justify-content:flex-start;color:var(--hx-ice);font-size:15px}
.hx-sub .pub-detail{padding-top:64px}
.hx-sub .pub-detail__grid{max-width:1200px;gap:48px}
.hx-sub .pub-prose p{color:var(--hx-navy);font-size:17px;line-height:1.75}
.hx-sub .pub-prose .pub-prose__lead{font-size:20px;line-height:1.6}
.hx-sub .pub-abstract{border:0;border-top:8px solid var(--hx-amber);background:var(--hx-ice);padding:28px 32px}
.hx-sub .pub-abstract__label{font-size:12px;letter-spacing:.2em;color:var(--hx-petrol)}
.hx-sub .pub-abstract p:last-child{color:var(--hx-navy)}
.hx-sub .pub-section{margin-bottom:40px}
.hx-sub .pub-section .card{padding:32px;background:var(--hx-ice);border-top:3px solid var(--hx-amber)}
.hx-sub .pub-section .card--highlight{background:var(--hx-petrol);border-top-color:var(--hx-amber)}
.hx-sub .pub-section .card--highlight h2,.hx-sub .pub-section .card--highlight li,.hx-sub .pub-section .card--highlight .pub-section-text{color:#fff}
.hx-sub .pub-section h2{font-size:clamp(24px,2.4vw,30px);margin:0 0 20px}
.hx-sub .pub-section-text{font-size:17px;line-height:1.7}
.hx-sub .pub-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.hx-sub .pub-points li{position:relative;padding-left:24px;font-size:17px;line-height:1.6}
.hx-sub .pub-points li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--hx-amber)}
.hx-sub .pub-aside{top:115px}
.hx-sub .pub-aside__card{border:0;border-top:8px solid var(--hx-amber);background:var(--hx-ice);padding:24px}
.hx-sub .pub-aside__card--cta{background:var(--hx-petrol);border-top-color:var(--hx-amber)}
.hx-sub .pub-aside__card--cta .pub-aside__title{color:#fff}
.hx-sub .pub-aside__card--cta .pub-aside__text{color:var(--hx-ice)}
.hx-sub .pub-aside__card--cta .btn--ghost{background:var(--hx-amber);border-color:var(--hx-amber);color:var(--hx-navy)}
.hx-sub .pub-aside__card--cta .btn--ghost:hover{background:var(--hx-amber-light)}
.hx-sub .pub-facts div{border-bottom-color:var(--hx-mist)}
.hx-sub .pub-facts dt{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--hx-petrol);align-self:center}
.hx-sub .pub-aside__links a{color:var(--hx-petrol);font-weight:700}
.hx-sub .pub-viewer{border:0;border-top:8px solid var(--hx-amber);background:var(--hx-ice)}
.hx-sub .pub-viewer__bar{background:#fff;border-bottom:1px solid var(--hx-mist);top:91px}
.hx-sub .pub-viewer__btn{color:var(--hx-petrol)}
.hx-sub .pub-viewer__btn:hover{background:var(--hx-ice)}
.hx-sub .pub-viewer__sheet,.hx-sub .pub-viewer__placeholder img{outline:1px solid var(--hx-mist)}
.hx-sub .pub-gate{background:linear-gradient(180deg,rgba(232,245,255,0) 0%,var(--hx-ice) 100px)}
.hx-sub .pub-viewer.is-fullscreen .pub-gate{background:var(--hx-ice)}
.hx-sub .pub-gate__icon{background:var(--hx-amber);color:var(--hx-navy)}
.hx-sub .pub-viewer__notice{background:var(--hx-petrol)}
.hx-sub .pub-cover-only__img{outline:1px solid var(--hx-mist)}
.hx-sub .pub-cover-only__img:hover{transform:none}
.hx-sub .pub-preview-bar{background:var(--hx-amber);color:var(--hx-navy)}

/* ---------- Leadformular (Dialog und Download-Seite) ---------- */
.hx-sub .modal{border:0;border-top:8px solid var(--hx-amber);background:#fff;color:var(--hx-navy);padding:0}
.hx-sub .modal::backdrop{background:rgba(23,38,49,.55);backdrop-filter:none}
.hx-sub .icon-btn{width:44px;height:44px;border:2px solid var(--hx-petrol);background:#fff;color:var(--hx-petrol);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px}
.hx-sub .icon-btn:hover{background:var(--hx-ice)}
.hx-sub .lead-modal__eyebrow{font-size:12px;letter-spacing:.2em;color:var(--hx-petrol)}
.hx-sub .lead-modal__dot{width:10px;height:10px;background:var(--hx-amber)}
.hx-sub .lead-modal__title{color:var(--hx-navy)}
.hx-sub .lead-field input{border:1px solid var(--hx-line);border-radius:0;font-family:inherit}
.hx-sub .lead-field input:focus{outline:3px solid var(--hx-petrol);outline-offset:1px;border-color:var(--hx-petrol)}
.hx-sub .check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--hx-navy);line-height:1.6}
.hx-sub .check input{width:18px;height:18px;margin-top:2px;accent-color:#28597d}
.hx-sub .form__privacy{line-height:1.5;color:#4f6676}
.hx-sub .form__privacy a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hx-sub .lead-card{border:0;border-top:8px solid var(--hx-amber);background:var(--hx-ice)}
.hx-sub .lead-done__icon{background:var(--hx-amber);color:var(--hx-navy)}
.hx-sub .lead-page__main{padding:64px 0 96px}

/* ---------- Rechtstexte und Terminbestätigung ---------- */
.hx-sub .content{max-width:800px}
.hx-sub .content h1{margin:0 0 32px;font-size:clamp(38px,4.6vw,56px);line-height:1.08;hyphens:auto}
.hx-sub .content h1::after{content:"";display:block;width:72px;height:8px;margin-top:18px;background:var(--hx-amber)}
.hx-sub .content h2{margin:40px 0 12px;font-size:22px;color:var(--hx-petrol);hyphens:auto}
.hx-sub .content h3{margin:28px 0 8px;font-size:18px}
.hx-sub .content p,.hx-sub .content li{font-size:16px;line-height:1.7;color:var(--hx-navy)}
.hx-sub .content ul,.hx-sub .content ol{padding-left:22px}
.hx-sub .content a:not(.btn){color:var(--hx-petrol);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.hx-sub .content table{border-collapse:collapse;width:100%;font-size:15px}
.hx-sub .content th,.hx-sub .content td{border-bottom:1px solid var(--hx-mist);padding:8px 6px;text-align:left;vertical-align:top}

@media (max-width:1080px){
  .hx-sub .pub-aside{top:auto}
}
@media (max-width:720px){
  .hx-sub .container{padding:0 20px}
  .hx-sub .section{padding:56px 0 64px}
  .hx-sub .pub-list{padding-top:48px}
  .hx-sub .pub-hero .pub-banner__overlay{padding:44px 0 40px}
  .hx-sub .pub-banner::after{width:45%;opacity:.25}
  .hx-sub .pub-detail{padding-top:40px}
  .hx-sub .pub-viewer__bar{top:79px}
  .hx-sub .pub-section .card{padding:24px 20px}
}
