/* ==========================================================================
   CRITICAL CSS - Inlined in <head> for above-the-fold rendering
   Fonts, body, WP/Elementor resets, navigation, hero, mobile menu
   ========================================================================== */

/* Self-hosted Fonts */
@font-face {
    font-family: 'Inter';
    src: url('https://wirbelsaeule-therapie.at/local-fonts/Inter-VariableFont.woff2') format('woff2');
    font-weight: 300 600;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('https://wirbelsaeule-therapie.at/local-fonts/Manrope-VariableFont.woff2') format('woff2');
    font-weight: 300 600;
    font-display: swap;
}
@font-face {
    font-family: 'Instrument Serif';
    src: url('https://wirbelsaeule-therapie.at/local-fonts/InstrumentSerif-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Instrument Serif';
    src: url('https://wirbelsaeule-therapie.at/local-fonts/InstrumentSerif-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Body base */
body {
    background-color: #f5f5f4;
    color: #1c1917;
    overflow-x: hidden;
}

/* WordPress/Elementor/Astra Container Reset */
.elementor-widget-wrap,
.elementor-widget,
.elementor-widget-html,
.elementor-element {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.e-con,
.e-parent,
.e-con-full {
    --padding-inline: 0 !important;
    --padding-block: 0 !important;
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-right: 0 !important;
    --padding-left: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.elementor-section,
.elementor-section-boxed > .elementor-container,
.elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
}

.ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
    padding: 0 !important;
}

.entry-content,
.entry-content[data-ast-blocks-layout] {
    padding: 0 !important;
}

.site-content,
.site-main,
#primary {
    padding: 0 !important;
    margin: 0 !important;
}

:root {
    --wp--custom--ast-default-block-top-padding: 0 !important;
    --wp--custom--ast-default-block-right-padding: 0 !important;
    --wp--custom--ast-default-block-bottom-padding: 0 !important;
    --wp--custom--ast-default-block-left-padding: 0 !important;
}

/* WordPress Override Styles - Landing Page */
.physio-page a {
    text-decoration: none !important;
}
.physio-page a.underline {
    text-decoration: underline !important;
}
.physio-page h1, .physio-page h2, .physio-page h3, .physio-page h4 {
    font-family: 'Manrope', sans-serif !important;
    line-height: 1.1 !important;
}
.physio-page .font-display {
    font-family: 'Manrope', sans-serif !important;
}
.physio-page .font-serif {
    font-family: 'Instrument Serif', serif !important;
}
.physio-page .font-sans {
    font-family: 'Inter', sans-serif !important;
}
.physio-page .text-5xl { font-size: 3rem !important; }
.physio-page .text-4xl { font-size: 2.25rem !important; }
.physio-page .text-3xl { font-size: 1.875rem !important; }
.physio-page .text-2xl { font-size: 1.5rem !important; }
.physio-page .text-xl { font-size: 1.25rem !important; }
.physio-page .text-lg { font-size: 1.125rem !important; }
.physio-page .text-base { font-size: 1rem !important; }
.physio-page .font-medium { font-weight: 500 !important; }
.physio-page .font-normal { font-weight: 400 !important; }
.physio-page .font-bold { font-weight: 700 !important; }
.physio-page .tracking-tighter { letter-spacing: -0.05em !important; }

@media (min-width: 768px) {
    .physio-page .md\:text-7xl { font-size: 4.5rem !important; }
    .physio-page .md\:text-5xl { font-size: 3rem !important; }
    .physio-page .md\:text-4xl { font-size: 2.25rem !important; }
    .physio-page .md\:text-3xl { font-size: 1.875rem !important; }
    .physio-page .md\:text-xl { font-size: 1.25rem !important; }
}
@media (min-width: 1024px) {
    .physio-page .lg\:text-8xl { font-size: 6rem !important; }
    .physio-page .lg\:text-5xl { font-size: 3rem !important; }
}

/* WordPress Override Styles - About Page */
.about-page h1, .about-page h2, .about-page h3, .about-page h4 {
    font-family: 'Manrope', sans-serif !important;
    line-height: 1.1 !important;
}
.about-page .font-display {
    font-family: 'Manrope', sans-serif !important;
}
.about-page .font-serif {
    font-family: 'Instrument Serif', serif !important;
}
.about-page .font-sans {
    font-family: 'Inter', sans-serif !important;
}
.about-page a {
    text-decoration: none !important;
}
.about-page .text-5xl { font-size: 3rem !important; }
.about-page .text-4xl { font-size: 2.25rem !important; }
.about-page .text-3xl { font-size: 1.875rem !important; }
.about-page .text-2xl { font-size: 1.5rem !important; }
.about-page .text-xl { font-size: 1.25rem !important; }
.about-page .text-lg { font-size: 1.125rem !important; }
.about-page .text-base { font-size: 1rem !important; }
.about-page .font-medium { font-weight: 500 !important; }
.about-page .font-normal { font-weight: 400 !important; }
.about-page .font-bold { font-weight: 700 !important; }
.about-page .tracking-tighter { letter-spacing: -0.05em !important; }

@media (min-width: 768px) {
    .about-page .md\:text-7xl { font-size: 4.5rem !important; }
    .about-page .md\:text-5xl { font-size: 3rem !important; }
    .about-page .md\:text-4xl { font-size: 2.25rem !important; }
    .about-page .md\:text-3xl { font-size: 1.875rem !important; }
    .about-page .md\:text-xl { font-size: 1.25rem !important; }
}
@media (min-width: 1024px) {
    .about-page .lg\:text-8xl { font-size: 6rem !important; }
    .about-page .lg\:text-5xl { font-size: 3rem !important; }
}

/* Mobile Menu - must be immediately available */
#mobile-menu.open {
    transform: translateX(0);
}

#mobile-backdrop.open {
    opacity: 1;
    pointer-events: auto;
}

body.menu-open {
    overflow: hidden;
}

/* WordPress Override Styles - Standard Pages (Impressum, Datenschutz, etc.) */
.custom-header-page .site-header,
.custom-header-page #masthead,
.custom-header-page .hfe-header,
.custom-header-page .ehf-header {
    display: none !important;
}
.custom-header-page .font-display {
    font-family: 'Manrope', sans-serif !important;
}
.custom-header-page .font-serif {
    font-family: 'Instrument Serif', serif !important;
}
.custom-header-page .font-sans {
    font-family: 'Inter', sans-serif !important;
}
.custom-header-page a {
    text-decoration: none !important;
}
.custom-header-page a.underline {
    text-decoration: underline !important;
}
.custom-header-page h1, .custom-header-page h2, .custom-header-page h3, .custom-header-page h4 {
    font-family: 'Manrope', sans-serif !important;
    line-height: 1.1 !important;
}

/* Admin Bar Fix */
body.admin-bar #main-nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar #main-nav { top: 46px; } }
