/*
Theme Name: neusta integrate
Theme URI: https://www.neusta-integrate.de
Author: neusta integrate GmbH
Description: Block-Theme „Nacht“ für neusta-integrate.de – CI-Blau und CI-Grün auf Nachtblau, lokale Schrift Geist, vollständig im Website-Editor bearbeitbar. Scroll-Effekte und eigene Blöcke liefert das Plugin „neusta integrate – Website-Funktionen“.
Version: 3.3.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neusta-integrate
*/

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-padding-top: 88px; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: #009975; color: #061826; }
.wp-site-blocks > * { margin-block-start: 0; }
.ni-main { margin-block: 0; }
:where(a, button, input, textarea, .wp-block-button__link):focus-visible { outline: 2px solid #3fd0a6; outline-offset: 3px; border-radius: 4px; }

/* ---------- Kopfbereich ---------- */
.ni-site-header { position: sticky; top: 0; z-index: 100; background: rgba(6, 24, 38, 0.72); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); border-bottom: 1px solid #1b3c55; }
.admin-bar .ni-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ni-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ni-site-header { top: 0; } }
.ni-header__bar { min-height: 64px; padding-block: 10px; }
.ni-header .wp-block-site-logo img { height: auto; max-height: 48px; width: auto; }
.ni-sitetitle { font-size: 1.125rem; font-weight: 600; letter-spacing: -0.02em; margin: 0; }
.ni-sitetitle a { color: #ffffff; }
.ni-header__bar:has(.wp-block-site-logo img) .ni-sitetitle { display: none; }
.ni-nav { font-size: 0.9375rem; margin-left: auto; }
.ni-nav .wp-block-navigation__container { gap: 1.75rem; align-items: center; }
.ni-nav .wp-block-navigation-item__content { color: #e6eef4; }
.ni-nav .wp-block-navigation-item__content:hover { color: #3fd0a6; }
.ni-nav .ni-nav__cta > .wp-block-navigation-item__content { background: #009975; color: #061826; font-weight: 600; padding: 0.55em 1.15em; border-radius: 999px; }
.ni-nav .ni-nav__cta > .wp-block-navigation-item__content:hover { background: #3fd0a6; color: #061826; }
.ni-nav .wp-block-navigation__responsive-container.is-menu-open { background: #061826; color: #ffffff; }
.ni-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: 1.5rem; font-weight: 600; }

/* ---------- Bänder ---------- */
.wp-block-post-content > .ni-band { margin-block: 0; }
.ni-band { padding-block: clamp(4.5rem, 3rem + 7vw, 8.5rem); }
.ni-band--tight { padding-block: clamp(3rem, 2rem + 4vw, 5rem); }
.ni-band--top0 { padding-top: 0; }
.ni-band--surface { background: #0b2436; border-block: 1px solid #1b3c55; }
.ni-band--line { border-top: 1px solid #1b3c55; }
.ni-center { text-align: center; }
.ni-center .wp-block-buttons { justify-content: center; }
.ni-center .is-style-ni-lead { margin-inline: auto; max-width: 34em; }
.ni-hero { padding-block: clamp(5rem, 3rem + 8vw, 9rem) clamp(1rem, 1vw, 2rem); }
.ni-hero .wp-block-buttons { margin-top: 2rem; }
.ni-row { margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.ni-row > * { margin: 0; }
.ni-section-title { font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.75rem) !important; line-height: 1 !important; letter-spacing: -0.05em !important; }
.ni-grid-gap { gap: 16px !important; }
.has-statement-font-size { line-height: 1.12 !important; letter-spacing: -0.035em; font-weight: 600; color: #ffffff; }
.ni-cta-title { font-size: clamp(2rem, 1.4rem + 2vw, 3rem) !important; line-height: 1.05; letter-spacing: -0.04em; }
.wp-block-cover.alignfull > .wp-block-cover__inner-container { max-width: 1240px !important; width: 100% !important; margin-inline: auto !important; box-sizing: border-box; padding: 0 var(--wp--style--root--padding-right, 1.5rem) clamp(3rem, 2rem + 3vw, 5rem) var(--wp--style--root--padding-left, 1.5rem); }
.wp-block-cover .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; }
.wp-block-cover .ni-section-title { max-width: 14em !important; }
.wp-block-cover .wp-block-columns { margin-top: 2.5rem; }

/* ---------- Bilder ---------- */
.ni-photo img { border-radius: 24px; width: 100%; object-fit: cover; }
.ni-photo--wide img { aspect-ratio: 16 / 9; }
.ni-photo--tall img { aspect-ratio: 4 / 5; }
.ni-photo--square img { aspect-ratio: 1 / 1; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #ffffff; border: 1px solid #2b4d66; padding: calc(0.85em - 1px) calc(1.6em - 1px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: #3fd0a6; color: #3fd0a6; }

/* ---------- Beiträge ---------- */
.ni-page-head { padding-block: clamp(4rem, 2.5rem + 6vw, 7.5rem) clamp(2rem, 1.5rem + 2vw, 3rem); }
.ni-page-title { font-size: clamp(2.75rem, 1.8rem + 3.6vw, 5rem); line-height: 1.02; letter-spacing: -0.05em; font-weight: 600; }
.ni-listing { padding-bottom: clamp(4.5rem, 3rem + 7vw, 8.5rem); }
.ni-meta { color: #a9bccb; font-size: 0.875rem; }
.ni-card-img img { border-radius: 18px; }
.ni-card-title { font-size: 1.375rem; line-height: 1.25; letter-spacing: -0.02em; margin-top: 0.4rem; }
.ni-card-title a { color: #ffffff; }
.ni-single-img img { border-radius: 24px; }
.ni-single-foot { padding-block: 3rem clamp(4.5rem, 3rem + 7vw, 8.5rem); }
.wp-block-post-content.ni-prose { padding-bottom: 3rem; }
.ni-prose p, .ni-prose li { color: #e6eef4; max-width: 42em; }

/* ---------- Inhaltsbilder (auch übernommene Beiträge ohne Block-Markup) ---------- */
.wp-block-post-content img:not(.wp-block-cover__image-background) { max-width: 100%; height: auto; }
.wp-block-post-content > img,
.wp-block-post-content > p > img,
.wp-block-post-content > figure:not([class*="wp-block-"]) > img { display: block; border-radius: 18px; }
.wp-block-post-content > figure:not([class*="wp-block-"]) { margin-block: 2rem; }
.ni-prose p:has(> img:only-child) { max-width: var(--wp--style--global--content-size, 1000px); }
.wp-block-post-content figcaption { color: #a9bccb; font-size: 0.875rem; margin-top: 0.5rem; }
.wp-block-post-content :where(table) { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.wp-block-post-content :where(th, td) { border-bottom: 1px solid #1b3c55; padding: 0.6rem 0.75rem; text-align: left; }
.wp-block-post-content iframe, .wp-block-post-content video { max-width: 100%; }

/* ---------- Fußbereich ---------- */
.ni-site-footer { border-top: 1px solid #1b3c55; color: #a9bccb; font-size: 0.875rem; line-height: 1.65; }
.ni-footer { padding-block: 3.5rem 2rem; }
.ni-footer p { margin: 0; }
p.ni-footer__title { color: #ffffff; font-weight: 600; margin-bottom: 0.6rem; }
.ni-footer a { color: #e6eef4; }
.ni-footer a:hover { color: #3fd0a6; }
.ni-footer__legal { margin-top: 2.5rem !important; padding-top: 1.25rem; border-top: 1px solid #1b3c55; }
