/*
Theme Name: Zorvailo
Theme URI: https://zorvailo.com
Author: Marcel
Author URI: https://zorvailo.com
Description: Custom WordPress Block Theme für Zorvailo – Web Design Agentur aus Wien.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zorvailo
Tags: block-theme, full-site-editing, custom-colors, custom-logo
*/

/* ── Fixed Header (always at top) ──────────────────────────────── */
.zorvailo-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, border-top-color 0.3s ease;
}

/* Default solid state (non-home pages and after scroll) */
.zorvailo-header.scrolled,
body:not(.home) .zorvailo-header {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background-color: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 1px 0 rgba(21, 36, 58, 0.08), 0 4px 20px rgba(21, 36, 58, 0.05);
}

/* Transparent state — homepage hero only, before scroll */
.home .zorvailo-header:not(.scrolled) {
    background-color: transparent !important;
    box-shadow: none;
    border-top-color: transparent;
}

/* White nav links and logo on transparent header */
.home .zorvailo-header:not(.scrolled) .wp-block-navigation-item__content,
.home .zorvailo-header:not(.scrolled) .wp-block-navigation-item__content:hover {
    color: #fff !important;
}
.home .zorvailo-header:not(.scrolled) .wp-block-navigation-item__content::after {
    background-color: #fff;
}
.home .zorvailo-header:not(.scrolled) .wp-block-site-logo img {
    filter: brightness(0) invert(1);
}
.home .zorvailo-header:not(.scrolled) .wp-block-button__link {
    background-color: #fff !important;
    color: var(--wp--preset--color--navy) !important;
}

/* Compensate fixed header height on non-home pages */
body:not(.home) {
    padding-top: 75px;
}

/* ── WordPress Admin-Bar Kompatibilität ─────────────────────────── */
body.admin-bar .zorvailo-header {
    top: 32px;
}
body.admin-bar:not(.home) {
    padding-top: calc(75px + 32px);
}
/* 600–782px: Admin-Bar ist 46px hoch */
@media screen and (max-width: 782px) {
    body.admin-bar .zorvailo-header {
        top: 46px;
    }
    body.admin-bar:not(.home) {
        padding-top: calc(75px + 46px);
    }
}
/* <600px: WordPress blendet die Admin-Bar aus und setzt margin-top:0 —
   Header muss wieder auf top:0, sonst entsteht ein weißer Balken */
@media screen and (max-width: 600px) {
    body.admin-bar .zorvailo-header {
        top: 0 !important;
    }
    body.admin-bar:not(.home) {
        padding-top: 75px !important;
    }
}

/* ── Root-Container: kein Block-Gap oben ───────────────────────── */
/* WordPress kann dem .wp-site-blocks Container Padding/Gap hinzufügen,
   was einen weißen Streifen vor dem Hero erzeugt. */
.wp-site-blocks {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ── Logo-Größe im Header ───────────────────────────────────────── */
.zorvailo-header .custom-logo,
.zorvailo-header .wp-block-site-logo img {
    width: 48px !important;
    height: auto !important;
    max-width: 48px !important;
}
.zorvailo-header .wp-block-button .wp-block-button__link {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1.125rem;
    padding-right: 1.125rem;
    font-size: 0.875rem;
}

/* ── Visuelle Platzhalter (Hero & Über uns) ────────────────────── */
.zorvailo-visual {
    border-radius: 1.5rem;
    overflow: hidden;
    min-height: 480px;
}

.zorvailo-visual-sm {
    border-radius: 1.5rem;
    overflow: hidden;
    min-height: 420px;
}

/* ── Navbar: Accent-Linie oben ──────────────────────────────────── */
.zorvailo-header {
    border-top: 3px solid var(--wp--preset--color--blue);
}

/* ── Navbar: Link-Hover mit Underline-Animation ─────────────────── */
.zorvailo-header .wp-block-navigation-item__content {
    position: relative;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    transition: color 0.2s ease;
    padding-bottom: 2px;
}

.zorvailo-header .wp-block-navigation-item__content::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--wp--preset--color--blue);
    border-radius: 1px;
    transition: width 0.25s ease;
}

.zorvailo-header .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--blue) !important;
}

.zorvailo-header .wp-block-navigation-item__content:hover::after {
    width: 100%;
}

/* ── Navbar: Button-Hover ────────────────────────────────────────── */
.zorvailo-header .wp-block-button__link {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.zorvailo-header .wp-block-button__link:hover {
    opacity: 0.88;
    transform: translateY(-1px);
}

/* ── Mobile Navigation (Hamburger-Menü) ─────────────────────────── */

/* Hamburger-Icon weiß auf transparentem Header (Homepage) */
.home .zorvailo-header:not(.scrolled) .wp-block-navigation__responsive-container-open,
.home .zorvailo-header:not(.scrolled) .wp-block-navigation__responsive-container-open svg {
    color: #fff !important;
    fill: #fff !important;
}

/* Hamburger-Icon navy auf solidem Header */
.zorvailo-header.scrolled .wp-block-navigation__responsive-container-open,
body:not(.home) .zorvailo-header .wp-block-navigation__responsive-container-open {
    color: var(--wp--preset--color--navy) !important;
}

/* Mobile Overlay: Navy-Hintergrund, Vollbild, über Header */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    height: 100dvh !important; /* iOS: berücksichtigt ein-/ausfahrende Adressleiste */
    min-height: 100vh !important;
    z-index: 200 !important;
    background-color: var(--wp--preset--color--navy) !important;
    animation: mobileNavFadeIn 0.25s ease forwards;
}

@keyframes mobileNavFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Overlay-Inhalt: vertikal zentriert, großzügig */
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 3rem 2.5rem;
    height: 100%;
    gap: 0;
}

/* Nav-Links im Overlay: groß, weiß, gut tippbar */
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: -0.02em;
    padding: 0.6rem 0 !important;
    text-decoration: none !important;
    opacity: 0.95;
    transition: opacity 0.15s ease !important;
    border-bottom: none !important;
    display: block;
}

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content:hover {
    opacity: 0.6 !important;
    color: #fff !important;
}

/* Underline-Animation im Overlay deaktivieren */
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content::after {
    display: none !important;
}

/* Schließen-Button (X) weiß */
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-close svg {
    color: #fff !important;
    fill: #fff !important;
}

/* CTA Button auf kleinen Screens ausblenden — spart Platz für Nav */
@media (max-width: 600px) {
    .zorvailo-header .wp-block-button {
        display: none;
    }
}

/* Sicherstellen dass der Header die volle Breite nutzt */
.zorvailo-header {
    width: 100%;
    box-sizing: border-box;
}

/* ── Subtile Card-Hover-Animation ──────────────────────────────── */
.zorvailo-card {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.zorvailo-card:hover {
    box-shadow: 0 8px 32px rgba(21, 36, 58, 0.1);
    transform: translateY(-2px);
}
