/* =====================================================================
   HILD-MOSER – SEO/GEO Content-Blöcke – Globales Stylesheet
   Einmalig einbinden: Oxygen > Manage > Stylesheets > "hm-seo-blocks"
   Präfix "hm-" verhindert Kollisionen mit bestehenden Oxygen-Klassen.
   Farben/Fonts entsprechen dem Bestand (Proxima Nova Condensed, #e30613).
   ===================================================================== */
:root{
  --hm-red:#e30613;
  --hm-red-dark:#b8050f;
  --hm-dark:#1a1a1a;
  --hm-dark-2:#313131;
  --hm-text:#464646;
  --hm-grey:#efefef;
  --hm-grey-2:#f5f5f5;
  --hm-line:#dcdcdc;
  --hm-white:#fffdfd;
  --hm-font-head:"proxima-nova-extra-condensed","Roboto Condensed","Arial Narrow",sans-serif;
  --hm-font-body:"proxima-nova-condensed","Roboto Condensed","Arial Narrow",sans-serif;
}
.hm-block{font-family:var(--hm-font-body);color:var(--hm-text);font-size:18px;line-height:1.55;padding:72px 0;box-sizing:border-box}
.hm-block *,.hm-block *::before,.hm-block *::after{box-sizing:border-box}
.hm-block--grey{background:var(--hm-grey)}
.hm-block--dark{background:var(--hm-dark);color:#fff}
.hm-block--dark .hm-h2,.hm-block--dark .hm-h3,.hm-block--dark .hm-lead{color:#fff}
.hm-block--tight{padding:40px 0}
.hm-inner{max-width:1240px;margin:0 auto;padding:0 40px}
.hm-inner--narrow{max-width:900px}
@media(max-width:768px){.hm-block{padding:48px 0}.hm-inner{padding:0 20px}}

/* Typo */
.hm-kicker{display:block;font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--hm-red);font-size:18px;margin:0 0 6px}
.hm-h2{font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:clamp(34px,4.2vw,52px);line-height:1;color:var(--hm-dark);margin:0 0 18px}
.hm-h2 span{font-weight:200}
.hm-h3{font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:clamp(24px,2.4vw,30px);line-height:1.05;color:var(--hm-dark);margin:0 0 10px}
.hm-h4{font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:21px;line-height:1.1;color:var(--hm-red);margin:0 0 6px}
.hm-lead{font-size:21px;line-height:1.45;color:var(--hm-dark);max-width:820px;margin:0 0 24px}
.hm-text{max-width:820px}
.hm-text p{margin:0 0 16px}
.hm-text strong{color:var(--hm-dark)}
.hm-block--dark .hm-text strong{color:#fff}
.hm-block a:not(.hm-btn){color:var(--hm-red);text-decoration:none;border-bottom:1px solid rgba(227,6,19,.35)}
.hm-block a:not(.hm-btn):hover{border-bottom-color:var(--hm-red)}
.hm-block--dark a:not(.hm-btn){color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.hm-sep{width:60px;height:3px;background:var(--hm-red);margin:0 0 28px}
.hm-center{text-align:center}.hm-center .hm-sep,.hm-center .hm-lead,.hm-center .hm-text{margin-left:auto;margin-right:auto}

/* Buttons (wie .tor-typ-btn im Bestand) */
.hm-btn{display:inline-flex;align-items:center;gap:22px;font-family:var(--hm-font-head);font-weight:400;text-transform:uppercase;font-size:22px;line-height:1;color:#fff;background:var(--hm-red);padding:13px 15px 12px 20px;border:0;border-radius:0;text-decoration:none;transition:background .2s}
.hm-btn::after{content:"+";font-weight:700;font-size:24px;line-height:1}
.hm-btn:hover{background:var(--hm-red-dark);color:#fff}
.hm-btn--dark{background:var(--hm-dark)}.hm-btn--dark:hover{background:#000}
.hm-btn--ghost{background:transparent;color:var(--hm-dark);box-shadow:inset 0 0 0 2px var(--hm-dark)}
.hm-btn--ghost:hover{background:var(--hm-dark);color:#fff}
.hm-block--dark .hm-btn--ghost{color:#fff;box-shadow:inset 0 0 0 2px #fff}
.hm-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}

/* Grids & Cards */
.hm-grid{display:grid;gap:24px}
.hm-grid--2{grid-template-columns:repeat(2,1fr)}
.hm-grid--3{grid-template-columns:repeat(3,1fr)}
.hm-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.hm-grid--3,.hm-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hm-grid--2,.hm-grid--3,.hm-grid--4{grid-template-columns:1fr}}
.hm-card{background:#fff;border-top:4px solid var(--hm-red);padding:28px 26px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.hm-card--grey{background:var(--hm-grey-2)}
.hm-card--dark{background:var(--hm-dark-2);color:#fff}
.hm-card--dark .hm-h3,.hm-card--dark .hm-h4{color:#fff}
.hm-card--red{background:var(--hm-red);color:#fff;border-top-color:var(--hm-dark)}
.hm-card--red .hm-h3,.hm-card--red .hm-h4{color:#fff}
.hm-card p{margin:0 0 12px}.hm-card p:last-child{margin:0}
.hm-card .hm-h3{font-size:26px}

/* Listen */
.hm-list{list-style:none;padding:0;margin:0 0 20px}
.hm-list li{position:relative;padding-left:26px;margin:0 0 8px}
.hm-list li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:3px;background:var(--hm-red)}
.hm-list--check li::before{content:"✓";background:none;top:0;font-weight:700;color:var(--hm-red);font-size:18px;width:auto;height:auto}
.hm-block--dark .hm-list li::before{background:#fff}

/* KPI / Fakten */
.hm-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--hm-line)}
@media(max-width:900px){.hm-facts{grid-template-columns:repeat(2,1fr)}}
.hm-fact{padding:26px 22px;border-right:1px solid var(--hm-line);background:#fff}
.hm-fact:last-child{border-right:0}
@media(max-width:900px){.hm-fact:nth-child(2n){border-right:0}.hm-fact:nth-child(-n+2){border-bottom:1px solid var(--hm-line)}}
.hm-fact__num{font-family:var(--hm-font-head);font-weight:700;font-size:54px;line-height:1;color:var(--hm-red)}
.hm-fact__label{font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:20px;color:var(--hm-dark);margin-top:4px}
.hm-fact__text{font-size:16px;line-height:1.45;margin-top:8px}

/* Definitions-/Fakten-Tabelle (GEO) */
.hm-dl{display:grid;grid-template-columns:220px 1fr;gap:0;margin:0}
.hm-dl dt,.hm-dl dd{margin:0;padding:12px 14px;border-bottom:1px solid var(--hm-line)}
.hm-dl dt{font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;color:var(--hm-dark);background:var(--hm-grey-2);font-size:18px}
@media(max-width:640px){.hm-dl{grid-template-columns:1fr}.hm-dl dt{border-bottom:0;padding-bottom:2px}}

/* Tabellen */
.hm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0}
.hm-table{width:100%;border-collapse:collapse;font-size:17px;background:#fff;min-width:640px}
.hm-table th,.hm-table td{padding:12px 14px;border:1px solid var(--hm-line);text-align:left;vertical-align:top}
.hm-table th{background:var(--hm-dark);color:#fff;font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.02em}
.hm-table tbody tr:nth-child(even){background:var(--hm-grey-2)}
.hm-table td strong{color:var(--hm-dark)}
.hm-table .hm-yes{color:var(--hm-red);font-weight:700}
.hm-table .hm-no{color:#9a9a9a}
.hm-table caption{caption-side:bottom;text-align:left;font-size:15px;color:#777;padding:8px 0}

/* FAQ (native details/summary – ohne JS, crawlbar) */
.hm-faq{max-width:900px}
.hm-faq details{border-bottom:1px solid var(--hm-line);background:transparent}
.hm-faq details:first-of-type{border-top:1px solid var(--hm-line)}
.hm-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 4px;font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:22px;line-height:1.15;color:var(--hm-dark)}
.hm-faq summary::-webkit-details-marker{display:none}
.hm-faq summary::after{content:"+";color:var(--hm-red);font-size:30px;flex:0 0 auto;transition:transform .2s}
.hm-faq details[open] summary::after{transform:rotate(45deg)}
.hm-faq .hm-faq__a{padding:0 4px 20px;max-width:820px}
.hm-faq .hm-faq__a p{margin:0 0 10px}
.hm-block--dark .hm-faq summary{color:#fff}.hm-block--dark .hm-faq details{border-color:rgba(255,255,255,.2)}

/* Prozess-Schritte */
.hm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:hmstep}
@media(max-width:1000px){.hm-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hm-steps{grid-template-columns:1fr}}
.hm-step{position:relative;padding:26px 22px 22px;background:#fff;border-left:4px solid var(--hm-red);counter-increment:hmstep}
.hm-step::before{content:"0" counter(hmstep);font-family:var(--hm-font-head);font-weight:700;font-size:44px;line-height:1;color:var(--hm-red);display:block;margin-bottom:8px}
.hm-step .hm-h4{color:var(--hm-dark)}
.hm-step p{margin:0;font-size:17px}

/* Timeline */
.hm-timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--hm-red)}
.hm-timeline li{position:relative;padding:0 0 28px 30px}
.hm-timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;background:var(--hm-red);border:3px solid #fff;box-shadow:0 0 0 1px var(--hm-red)}
.hm-timeline .hm-h4{color:var(--hm-red);font-size:24px}
.hm-timeline p{margin:0;max-width:640px}

/* NAP / Kontakt */
.hm-nap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
@media(max-width:900px){.hm-nap{grid-template-columns:1fr}}
.hm-nap address{font-style:normal;line-height:1.6}
.hm-nap .hm-h4{margin-bottom:10px}
.hm-nap a{font-weight:600}
.hm-nap__hours{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}
.hm-nap__hours dt,.hm-nap__hours dd{margin:0}
.hm-nap__hours dt{font-weight:700;color:var(--hm-dark)}
.hm-block--dark .hm-nap__hours dt{color:#fff}

/* Breadcrumb */
.hm-breadcrumb{font-size:15px;padding:14px 0}
.hm-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 0}
.hm-breadcrumb li{display:flex;align-items:center}
.hm-breadcrumb li+li::before{content:"›";margin:0 10px;color:#999}
.hm-breadcrumb a{border:0!important;color:var(--hm-text)!important}
.hm-breadcrumb a:hover{color:var(--hm-red)!important}
.hm-breadcrumb [aria-current]{color:var(--hm-dark);font-weight:700}

/* Branchen-Kacheln */
.hm-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:1000px){.hm-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hm-tiles{grid-template-columns:1fr}}
.hm-tile{display:block;background:#fff;padding:26px 24px;border-top:4px solid var(--hm-dark);text-decoration:none!important;border-bottom:0!important;color:var(--hm-text)!important;transition:border-color .2s,transform .2s}
.hm-tile:hover{border-top-color:var(--hm-red);transform:translateY(-3px)}
.hm-tile .hm-h3{font-size:26px;margin-bottom:8px}
.hm-tile p{margin:0 0 10px;font-size:17px}
.hm-tile__more{font-family:var(--hm-font-head);text-transform:uppercase;font-weight:700;color:var(--hm-red)}
.hm-tile__more::after{content:" +"}

/* Badges (Normen) */
.hm-badges{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.hm-badge{display:inline-block;padding:8px 14px;background:#fff;border:2px solid var(--hm-dark);font-family:var(--hm-font-head);font-weight:700;text-transform:uppercase;font-size:18px;color:var(--hm-dark)}
.hm-badge--red{border-color:var(--hm-red);color:var(--hm-red)}

/* Hinweis-Box */
.hm-note{background:#fff;border-left:4px solid var(--hm-red);padding:18px 22px;margin:20px 0;max-width:820px}
.hm-note strong{color:var(--hm-dark)}

/* Zweispaltig Text + Aside */
.hm-split{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
@media(max-width:900px){.hm-split{grid-template-columns:1fr;gap:28px}}
.hm-aside{background:var(--hm-grey-2);padding:26px 24px;border-top:4px solid var(--hm-red)}
.hm-aside .hm-h4{color:var(--hm-dark)}
.hm-aside .hm-list{margin:0}

/* Map-Platzhalter */
.hm-map{background:var(--hm-dark-2);min-height:320px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--hm-font-head);text-transform:uppercase;font-size:22px}
.hm-map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}

/* ---- Ergänzungen für die Integration in die Oxygen-Seiten ---- */
.hm-block a.hm-btn,.hm-block a.hm-btn:hover{color:#fff}
.hm-block a.hm-btn--ghost{color:var(--hm-dark)}
.hm-block a.hm-btn--ghost:hover,.hm-block--dark a.hm-btn--ghost{color:#fff}
.hm-block--dark a.hm-btn--ghost:hover{background:#fff;color:var(--hm-dark)}
.hm-block h2,.hm-block h3,.hm-block h4{letter-spacing:0}
.hm-breadcrumb-bar{background:var(--hm-grey);font-family:var(--hm-font-body);position:relative;z-index:3}
.hm-breadcrumb-bar .hm-breadcrumb{max-width:1240px;margin:0 auto;padding:14px 40px;font-size:15px;color:var(--hm-text)}
@media(max-width:768px){.hm-breadcrumb-bar .hm-breadcrumb{padding:12px 20px}}
.hm-breadcrumb-bar ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.hm-breadcrumb-bar li{display:flex;align-items:center}
.hm-breadcrumb-bar li+li::before{content:"›";margin:0 10px;color:#999}
.hm-breadcrumb-bar a{color:var(--hm-text);text-decoration:none}
.hm-breadcrumb-bar a:hover{color:var(--hm-red)}
.hm-breadcrumb-bar [aria-current]{color:var(--hm-dark);font-weight:700}
/* Blöcke innerhalb der schmalen Inhaltskarte (Template 283: AGB/Glossar/Tore-Übersicht) */
#inner_content-16-283 .hm-block{padding:8px 0 32px}
#inner_content-16-283 .hm-inner{padding:0;max-width:none}
/* ehemalige zusätzliche H1 (jetzt H2) behalten das H1-Rendering */
h2:where(.hm-was-h1){font-size:36px;line-height:1.15}
