/* ===========================================================
   Kolping Neresheim – Redesign (portiert aus dem eigenen Entwurf)
   Open Sans · Akzent #ff8d02 · überwiegend Inline-Styles in den
   Templates; hier nur Reset, Hover, Dropdowns, Responsive.
   =========================================================== */
/* Open Sans – lokal gehostet (DSGVO), Variable Font, latin-Subset */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('../fonts/open-sans.woff2') format('woff2-variations');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #ffffff; font-family: 'Open Sans', Arial, sans-serif; color: #000; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; }
::selection { background: #ff8d02; color: #fff; }
a { color: inherit; }

/* ── Hover-Effekte (ersetzen die style-hover des Builders) ── */
.hover-orange { transition: color .18s ease; }
.hover-orange:hover { color: #ff8d02 !important; }
.hover-dark:hover { color: #000 !important; }
.btn-dark { transition: background .18s ease, color .18s ease; }
.btn-dark:hover { background: #ff8d02 !important; }
.btn-ghost-light { transition: background .18s ease; }
.btn-ghost-light:hover { background: rgba(255,255,255,0.2) !important; }
.btn-white:hover { background: #fff !important; }
.dd-link { transition: background .15s ease, color .15s ease; }
.dd-link:hover { background: #fff3e6 !important; color: #ff8d02 !important; }
.card-arrow { transition: background .18s ease, color .18s ease; }
a:hover > .card-arrow, .card-hover:hover .card-arrow { background: #ff8d02 !important; color: #fff !important; }

/* ── Dropdown-Navigation (per Hover statt JS) ── */
.has-dd { position: relative; }
.has-dd .dd { position: absolute; top: calc(100% + 14px); right: 0; min-width: 220px; background: #fff; border: 1px solid #e2e2e2; border-radius: 10px; box-shadow: 0 12px 34px rgba(0,0,0,0.12); padding: 8px; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.has-dd::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 16px; }
.has-dd:hover .dd { opacity: 1; visibility: visible; transform: none; }
.has-dd:hover .dd-toggle { color: #ff8d02; }

/* ── Mobile-Menü ── */
.mobile-menu { display: none; }
.mobile-menu.open { display: flex; }

/* ── Responsive ── */
@media (max-width: 1080px) {
  [data-hnav] { display: none !important; }
  [data-hburger] { display: flex !important; }
}
@media (max-width: 960px) {
  [data-introgrid] { grid-template-columns: 1fr !important; }
  [data-trio] { grid-template-columns: 1fr !important; gap: 30px !important; }
  [data-cards3] { grid-template-columns: 1fr !important; }
  [data-ev2] { grid-template-columns: 1fr !important; }
  [data-vhgrid] { grid-template-columns: 1fr !important; }
  [data-nabmgrid] { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  [data-fnav] { gap: clamp(8px,2vw,24px) !important; flex-wrap: wrap !important; justify-content: center; }
}

/* ── Editor-Inhalt (Unterseiten the_content) ── */
.entry-content { max-width: 760px; margin: 0 auto; color: #555; font-size: 1.05rem; line-height: 1.8; }
.entry-content > * + * { margin-top: 1.1rem; }
.entry-content h2 { font-size: 1.7rem; color: #000; margin-top: 2.2rem; font-weight: 700; }
.entry-content h3 { font-size: 1.3rem; color: #000; margin-top: 1.8rem; font-weight: 700; }
.entry-content a { color: #ff8d02; text-decoration: underline; }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; }
.entry-content li { margin-top: .4rem; }
