/* Focused layout and loading improvements, September 2026. */
.header-main .container, .main-navigation, .main-navigation ul,
.main-navigation a, .site-main, .hf-contact-grid *, .hf-service-grid * { box-sizing: border-box; }
.site-main { width: auto; }
.header-main .container { gap: 16px; }
.site-logo { min-width: 0; }
.header-language-switcher, .mobile-nav-toggle { flex-shrink: 0; }
.site-main .slide-content { box-sizing: border-box; }
.hatzfleck-slider .swiper-wrapper { height: 100%; }
.hatzfleck-slider .swiper-slide { height: 100%; }
.is-static-slider .swiper-wrapper { display: block; }
.is-static-slider .swiper-slide { width: 100%; }
.is-static-slider .slide-content { opacity: 1; transform: none; transition: none; }
.slide-content h2 { margin-top: 0 !important; }
/* Each page hero occupies all grid columns before JavaScript runs. */
body .site-main:has(> .hatzfleck-slider.alignfull) {
    display: grid;
    grid-template-columns: minmax(20px, 1fr) minmax(0, 1100px) minmax(20px, 1fr);
    max-width: none; width: auto; padding: 40px 0 80px; margin: 0; overflow: visible;
}
body .site-main:has(> .hatzfleck-slider.alignfull) > * { grid-column: 2; min-width: 0; }
body .site-main:has(> .hatzfleck-slider.alignfull) > .hatzfleck-slider.alignfull { grid-column: 1 / -1; width: 100%; margin: 0; }
body .site-main:has(> .hatzfleck-slider.alignfull) > .hero-trust-bar { width: 90%; }
.reveal-on-scroll { opacity: 1 !important; transform: none !important; }
.hf-contact-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; margin-top: 24px; }
.hf-contact-grid section, .hf-contact-grid aside { min-width: 0; }
.hf-contact-grid aside { padding: 24px; background: #f5f7f5; border-radius: 16px; }
.hf-contact-grid a { overflow-wrap: anywhere; }
.hf-contact-grid h2 { margin-top: 0; }
.hf-contact-grid h3 { font-size: 1.2rem; }
.hf-contact-grid .ff-btn-submit { background: #087942 !important; color: white !important; border-color: #087942 !important; border-radius: 8px; min-height: 48px; }
.hf-contact-grid input, .hf-contact-grid textarea { max-width: 100%; font-size: 16px !important; }
.hf-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 32px auto; }
.hf-service-grid article { padding: 24px; border: 1px solid #dfe7df; border-radius: 16px; background: #fff; }
.hf-service-grid h2 { margin-top: 0; font-size: 1.4rem; }
.hf-service-grid a { color: #087942; }
.hf-guide-intro { max-width: 760px; }
.hf-guide-card h2 { margin-top: 0; }
.hf-guide-card p { line-height: 1.7; }
.hf-guide-card a { text-decoration: underline; text-underline-offset: 3px; }
.site-main h1 { overflow-wrap: break-word; }
.wp-block-table { max-width: 100%; }
.wp-block-table table { min-width: 520px; }
:focus-visible { outline: 3px solid #8b5a2b; outline-offset: 4px; }
.hf-statistics-settings { padding: 20px 16px 100px; text-align: center; background: #f5f7f5; }
.hf-statistics-settings button { border: 0; background: transparent; color: #164733; text-decoration: underline; cursor: pointer; font: inherit; }
.hf-consent { position: fixed; bottom: 20px; left: 20px; z-index: 10002; box-sizing: border-box; width: min(540px, calc(100% - 40px)); max-height: 65vh; overflow: auto; padding: 20px; background: #fff; color: #17352a; border: 1px solid #c5d7ca; border-radius: 12px; box-shadow: 0 6px 32px #0003; font-size: 14px; }
.hf-consent[hidden] { display: none; }
.hf-consent p { margin: 0 0 12px; }
.hf-consent a { color: #075a32; text-decoration: underline; }
.hf-consent-buttons { display: flex; gap: 12px; }
.hf-consent-buttons button { flex: 1; min-height: 44px; border: 1px solid #087942; border-radius: 6px; background: #fff; color: #075a32; font: inherit; font-weight: 600; cursor: pointer; }
.hf-consent-buttons button:hover { background: #edf7ee; }
@media (max-width: 992px) {
    .header-main .container { padding: 0 12px; gap: 8px; }
    .site-logo .logo-wrapper { gap: 8px; }
    .header-main .site-logo { flex: 1 1 auto; }
    .header-main .logo-text { font-size: 14px; }
    .header-main .logo-text strong { font-size: 17px; }
    .header-main .logo-hoernchen { height: 42px; width: auto; }
    .main-navigation ul { max-width: 100%; }
    .main-navigation ul ul { width: 100%; max-width: 100%; }
    .main-navigation ul li a { overflow-wrap: anywhere; }
    .main-navigation.is-mobile-open { padding: 80px 16px 100px; }
    .main-navigation.is-mobile-open > ul { padding: 0 8px; }
}
@media (max-width: 600px) {
    .hf-consent { bottom: 92px; left: 12px; width: calc(100% - 24px); padding: 16px; font-size: 13px; }
    .header-main .logo-text { font-size: 10px; }
    .header-main .logo-text strong { font-size: 12px; }
    .header-main .logo-hoernchen { height: 32px; max-width: 62px; }
    .header-language-switcher { gap: 5px; margin: 0; }
    .header-language-switcher a { font-size: 12px; }
    .hf-contact-grid, .hf-service-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .hf-contact-grid { padding-left: 0; padding-right: 0; }
    .site-main { padding-left: 16px; padding-right: 16px; }
    .hf-contact-grid aside { padding: 20px; }
    .site-main > .premium-section-wrapper, .site-main > .wp-block-group.premium-section-wrapper { width: 100%; }
    .premium-section-wrapper { padding: 24px !important; }
    .slide-content { max-width: calc(100% - 32px) !important; padding: 24px !important; }
    .slide-content p { font-size: 1.15rem !important; }
    .slide-cta .btn { padding: 14px 22px; }
    .sticky-conversion-bar { box-sizing: border-box; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 360px) {
    .header-main .logo-hoernchen { display: none; }
    .header-main .logo-text { font-size: 11px; }
    .header-main .logo-text strong { font-size: 13px; }
}
