/* ============================================
   RESPONSIVE.CSS – Fliesen Chudy
   Mobile-First mit granularen Breakpoints
   320px → 480px → 768px → 1024px → 1200px+
   ============================================ */

/* === EXTRA-SMALL MOBILE (< 380px, z.B. iPhone SE) === */
@media (max-width: 379px) {
    /* Noch kompakterer Container */
    .container {
        padding: 0 1rem;
    }

    /* Hero H1 kleiner damit kein Overflow */
    .hero h1 {
        font-size: 1.75rem;
        line-height: 1.15;
    }

    .hero-subtitle {
        font-size: 0.875rem;
    }

    /* Buttons kompakter */
    .btn-primary,
    .btn-secondary {
        padding: 0.875rem 1.25rem;
        font-size: 0.6875rem;
    }

    /* Marquee Cards: schmaler auf tiny screens */
    .reviews-marquee .review-card {
        width: 260px;
        min-width: 260px;
        padding: 1.25rem 1rem;
    }

    .review-text {
        font-size: 0.9375rem;
        line-height: 1.6;
    }

    .review-quote-mark {
        font-size: 3rem;
        top: 0.75rem;
        right: 0.75rem;
    }

    /* Trust-Bar Zahl kleiner */
    .reviews-trust-number {
        font-size: 2rem;
    }

    /* Trust-Leiste: kompakter auf tiny screens */
    .trust-items {
        gap: 0.5rem;
    }

    .trust-item {
        padding: 0.75rem 0.375rem;
        gap: 0.375rem;
    }

    .trust-number {
        font-size: 1.5rem;
    }

    .trust-item--google > svg {
        width: 24px;
        height: 24px;
    }

    .trust-lamurista {
        height: 18px;
    }

    .trust-main {
        font-size: 0.75rem;
    }

    .trust-sub {
        font-size: 0.625rem;
    }

    /* Footer: weniger gap */
    .footer-grid {
        gap: var(--space-md);
    }

    /* CTA Telefonnummer kleiner */
    .cta-phone {
        font-size: 1.25rem;
    }
}

/* === MOBILE (< 768px) === */
@media (max-width: 767px) {
    /* --- Layout-Grundlagen --- */
    :root {
        --header-height: 72px;
    }

    html {
        scroll-padding-top: calc(var(--header-height) + var(--safe-area-top) + 1rem);
        scroll-padding-bottom: calc(var(--mobile-fixed-bottom-reserve) + 1.5rem);
        height: 100%;
        overflow: hidden;
    }

    body {
        height: 100%;
        overflow: hidden;
        padding-bottom: 0;
        background: var(--color-page-bg);
    }

    .page-scroll {
        position: fixed;
        top: var(--header-height);
        right: 0;
        bottom: var(--mobile-fixed-bottom-reserve);
        left: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding-top: 0;
        padding-bottom: 1rem;
        background: var(--color-page-bg);
    }

    main {
        position: relative;
        padding-top: 0;
        padding-bottom: 0;
        background: var(--color-page-bg);
    }

    body.nav-open .page-scroll {
        overflow: hidden;
    }

    h1 {
        font-size: clamp(1.9rem, 8vw, 2.15rem);
        line-height: 1.12;
    }

    /* --- Header: feste schwarze Mobile-Leiste ohne Safe-Area-Hack --- */
    .site-header {
        background: var(--color-page-bg);
        box-shadow: none;
    }

    .site-header.scrolled {
        background: var(--color-page-bg);
        box-shadow: none;
    }

    .logo-wordmark-part {
        font-size: 1rem;
        letter-spacing: 0;
    }

    /* Hamburger: bessere Touch-Fläche */
    .hamburger {
        width: 44px;
        height: 44px;
        padding: 8px;
        margin-right: -8px; /* optischer Ausgleich */
    }

    /* --- Hero: Mobil-optimiert --- */
    .hero {
        margin-top: 0;
        padding-top: 0;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .hero h1 {
        width: 100%;
        max-width: calc(100vw - 2.5rem);
        font-size: clamp(1.875rem, 7vw, 2.35rem);
        line-height: 1.08;
        margin-bottom: 1.5rem;
        overflow-wrap: break-word;
    }

    .hero .kicker {
        margin-bottom: 1.25rem;
        font-size: 0.625rem;
    }

    .hero-subtitle {
        font-size: 0.9375rem;
        margin-bottom: 2.5rem;
        max-width: min(100%, 21rem);
        margin-left: 0;
        margin-right: 0;
    }

    .hero .btn-group {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .hero .btn-group .btn-primary,
    .hero .btn-group .btn-secondary {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    /* Scroll Indicator mobil */
    .hero-scroll-indicator {
        bottom: calc(var(--mobile-cta-height) + var(--safe-area-bottom) + 1rem);
    }

    .hero-scroll-indicator span {
        font-size: 0.5625rem;
    }

    .hero-scroll-line {
        height: 30px;
    }

    /* --- Trust-Leiste (mobile cards – base is already optimized) --- */
    .trust-stars svg {
        width: 13px;
        height: 13px;
    }

    /* --- Sektions-Spacing mobil --- */
    .section {
        padding: clamp(2.5rem, 8vw, 4rem) 0;
    }

    .section-header {
        margin-bottom: var(--space-md);
    }

    /* --- Kicker mobil --- */
    .kicker {
        font-size: 0.6875rem;
        gap: 0.75rem;
    }

    .kicker::before {
        width: 1.5rem;
    }

    /* --- Cards: Full-width --- */
    .card-body {
        padding: 1.25rem 0;
    }

    .card-body p {
        font-size: 0.875rem;
    }

    .card-link {
        font-size: 0.625rem;
    }

    .card-image {
        aspect-ratio: 16 / 10;
    }

    /* --- Text-Bild Sektion --- */
    .text-image {
        gap: var(--space-md);
    }

    .text-image-visual {
        aspect-ratio: 16 / 9;
    }

    .text-image-content {
        padding-top: 0;
    }

    /* Text-Bild Reverse: Auf Mobil immer Bild zuerst */
    .text-image--reverse .text-image-visual {
        order: -1;
    }

    /* --- Reviews Marquee: Mobil --- */
    .reviews-marquee .review-card {
        width: 290px;
        min-width: 290px;
        padding: 1.5rem 1.25rem;
    }

    .reviews-marquee-track {
        gap: 0.875rem;
        animation-duration: 28s;
    }

    .review-quote-mark {
        font-size: 3.5rem;
        top: 0.875rem;
        right: 0.875rem;
    }

    .review-text {
        font-size: 1.0625rem;
        line-height: 1.6;
        margin-bottom: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .review-stars {
        margin-bottom: 1rem;
    }

    .review-stars svg {
        width: 16px;
        height: 16px;
    }

    .review-meta {
        gap: 0.625rem;
    }

    .review-avatar {
        width: 38px;
        height: 38px;
        font-size: 0.75rem;
    }

    .review-meta cite {
        font-size: 0.9375rem;
    }

    .review-source {
        font-size: 0.8125rem;
    }

    /* --- Reviews Trust-Bar: vertikal gestapelt --- */
    .reviews-trust-bar {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1rem;
        padding: 1.25rem 1rem;
    }

    .reviews-trust-number {
        font-size: 2.25rem;
    }

    .reviews-trust-score-detail .reviews-trust-stars svg {
        width: 16px;
        height: 16px;
    }

    .reviews-trust-divider {
        width: 60px;
        height: 1px;
        background: linear-gradient(to right, transparent, var(--color-accent), transparent);
    }

    .reviews-trust-google {
        flex-direction: column;
        align-items: center;
    }

    .reviews-trust-google-text {
        align-items: center;
    }

    /* Social Proof mobil */
    .reviews-social-proof {
        font-size: 0.875rem;
        line-height: 1.5;
    }

    /* Google CTA Button: full-width auf Mobil */
    .btn-google {
        width: 100%;
        justify-content: center;
        font-size: 0.875rem;
        padding: 0.8125rem 1.5rem;
    }

    /* --- CTA Sektion --- */
    .cta-section {
        padding: clamp(2.5rem, 8vw, 4rem) 0;
    }

    .cta-section .btn-group {
        flex-direction: column;
        align-items: stretch;
    }

    .cta-section .btn-group .btn-primary,
    .cta-section .btn-group .btn-secondary {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .cta-phone {
        font-size: clamp(1.25rem, 5vw, 1.75rem);
        word-break: break-all;
    }

    /* --- Footer mobil --- */
    .site-footer {
        padding: var(--space-lg) 0 var(--space-md);
        padding-bottom: calc(var(--space-md) + var(--mobile-cta-height) + var(--safe-area-bottom));
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .footer-brand {
        text-align: center;
    }

    .footer-logo {
        display: block;
        text-align: center;
    }

    .footer-logo .logo-lockup {
        gap: 0.16em;
    }

    .footer-logo .logo-wordmark-part {
        font-size: 0.88rem;
    }

    .footer-tagline {
        text-align: center;
    }

    .footer-col {
        padding-top: var(--space-sm);
        border-top: 1px solid var(--color-border);
    }

    .footer-col:first-child {
        border-top: none;
        padding-top: 0;
    }

    .footer-links a {
        font-size: 0.875rem;
        display: inline-block;
        padding: 0.125rem 0;
    }

    .footer-links li {
        margin-bottom: 0.375rem;
    }

    .footer-heading {
        font-size: 0.6875rem;
    }

    .footer-address p {
        font-size: 0.875rem;
    }

    .footer-bottom {
        padding-top: var(--space-sm);
        font-size: 0.75rem;
    }

    /* --- Sticky Mobile CTA-Bar: extends mit Background in URL-Bar-Zone --- */
    .mobile-cta-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        min-height: var(--mobile-cta-height);
        padding-bottom: var(--safe-area-bottom);
        background: #0c0b09;
        border-top: 1px solid rgba(196, 154, 108, 0.15);
        box-shadow: 0 -18px 40px rgba(12, 11, 9, 0.72);
        isolation: isolate;
        overflow: visible;
    }

    .mobile-cta-bar::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        height: var(--browserbar-guard-height);
        background: var(--color-page-bg);
        pointer-events: none;
    }

    .mobile-cta-link {
        min-width: 0;
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        font-size: 0.7rem;
        font-weight: 600;
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--color-text-primary);
        height: var(--mobile-cta-height);
        -webkit-tap-highlight-color: transparent;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .mobile-cta-link svg {
        flex-shrink: 0;
    }

    .mobile-cta-link:active {
        background: rgba(196, 154, 108, 0.1);
    }

    .mobile-cta-call {
        color: var(--color-accent);
    }

    .mobile-cta-contact {
        border-left: 1px solid rgba(196, 154, 108, 0.2);
    }

    /* WhatsApp-Button höher positionieren */
    .whatsapp-btn {
        bottom: calc(var(--mobile-fixed-bottom-reserve) + 1.25rem);
        right: 1rem;
        width: 48px;
        height: 48px;
    }

    .whatsapp-btn svg {
        width: 24px;
        height: 24px;
    }

    /* --- Sektions-Inline-Styles-Overrides --- */
    /* Sektion 7: "Exzellenz kennt keine Grenzen" – Max-Width aufheben */
    .section--alt > .container {
        max-width: none;
    }

    /* --- Buttons: Touch-optimiert (min 48px Höhe) --- */
    .btn-primary,
    .btn-secondary {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        -webkit-tap-highlight-color: transparent;
    }

    /* --- Generelle Touch-Verbesserungen --- */
    .card {
        -webkit-tap-highlight-color: transparent;
    }

    /* Disable hover-only effects on touch */
    @media (hover: none) {
        .card:hover {
            transform: none;
            box-shadow: none;
        }

        .card:hover .card-image img {
            transform: none;
            filter: none;
        }

        .card:hover .card-image::after {
            opacity: 0;
        }

        .review-card:hover {
            transform: none;
        }

        .review-card:hover::before {
            width: 50px;
        }

        .cursor-dot {
            display: none !important;
        }

        .text-image:hover .text-image-visual::after {
            border-color: transparent;
        }
    }

    /* --- Mobile Nav: Touch-freundlichere Links --- */
    body.nav-open .nav-list a {
        font-size: 1.75rem;
        padding: 0.5rem 0;
        display: block;
    }

    body.nav-open .nav-list {
        gap: 1.25rem;
    }

    /* --- Sektion 7 (Deutschlandweit) Text-Breite --- */
    .section > .container > p {
        max-width: 100%;
    }
}

/* === KLEINE MOBIL-LANDSCHAFT / PHABLET (480px–767px) === */
@media (min-width: 480px) and (max-width: 767px) {
    /* Hero: etwas mehr Platz */
    .hero h1 {
        font-size: clamp(2rem, 5.5vw, 2.45rem);
    }

    /* Buttons nebeneinander wenn genug Platz */
    .hero .btn-group {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .hero .btn-group .btn-primary,
    .hero .btn-group .btn-secondary {
        width: auto;
    }

    /* Marquee Cards: etwas breiter auf Phablet */
    .reviews-marquee .review-card {
        width: 320px;
        min-width: 320px;
        padding: 1.75rem 1.5rem;
    }

    /* Google-Button nicht full-width */
    .btn-google {
        width: auto;
    }

    /* Trust-Leiste: etwas großzügiger auf Phablet */
    .trust-items {
        gap: 0.75rem;
    }

    .trust-item {
        padding: 1.125rem 0.75rem;
    }
}

/* === TABLET (ab 768px) === */
@media (min-width: 768px) {
    :root {
        --header-height: 88px;
        --container-padding: 2rem;
    }

    /* Cards */
    .card-grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .card-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .card-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Marquee Cards: Tablet-Breite */
    .reviews-marquee .review-card {
        width: 360px;
        min-width: 360px;
        padding: 2rem 1.75rem;
    }

    .reviews-marquee-track {
        gap: 1.25rem;
        animation-duration: 36s;
    }

    /* Text-Bild: Tablet aspect-ratio */
    .text-image-visual {
        aspect-ratio: 4 / 3;
    }

    /* Reviews Trust-Bar: horizontal */
    .reviews-trust-bar {
        flex-direction: row;
        flex-wrap: nowrap;
        text-align: left;
        padding: 1.25rem 1.5rem;
    }

    .reviews-trust-divider {
        width: 1px;
        height: 40px;
        background: linear-gradient(to bottom, transparent, var(--color-accent), transparent);
    }

    .reviews-trust-google {
        flex-direction: row;
    }

    .reviews-trust-google-text {
        align-items: flex-start;
    }

    /* Trust-Leiste: horizontal with dividers */
    .trust-items {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1.5rem;
    }

    .trust-item {
        flex-direction: row;
        text-align: left;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        gap: 0.75rem;
    }

    .trust-content {
        align-items: flex-start;
    }

    .trust-main {
        justify-content: flex-start;
    }

    .trust-main strong {
        font-size: 1rem;
    }

    .trust-number {
        font-size: 1.5rem;
    }

    .trust-lamurista {
        height: 20px;
    }

    .trust-flag {
        font-size: 1.5rem;
    }

    .trust-item--google > svg {
        width: 24px;
        height: 24px;
    }

    .trust-divider {
        display: block;
        width: 1px;
        height: 36px;
        background: linear-gradient(to bottom, transparent, var(--color-accent), transparent);
        opacity: 0.3;
        flex-shrink: 0;
    }

    /* Text-Bild */
    .text-image {
        grid-template-columns: 1fr 1fr;
    }

    .text-image-content {
        padding-top: var(--space-sm);
    }

    /* Vorteile */
    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Prozess */
    .process-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer Spalten: Border zurücknehmen */
    .footer-col {
        border-top: none;
        padding-top: 0;
    }

    .footer-brand {
        text-align: left;
    }

    .footer-logo {
        display: inline-block;
        text-align: left;
    }

    .footer-logo .logo-lockup {
        gap: 0.16em;
    }

    .footer-logo .logo-wordmark-part {
        font-size: 0.96rem;
    }

    .footer-tagline {
        text-align: left;
    }

    /* Mobile CTA ausblenden */
    .mobile-cta-bar {
        display: none !important;
    }

    /* Header zurück auf Normal */
    .logo-wordmark-part {
        font-size: 1rem;
        letter-spacing: 0;
    }

    /* Hero: mehr Raum */
    .hero {
        min-height: 100vh;
        min-height: 100dvh;
    }

    .hero h1 {
        font-size: clamp(2.25rem, 4.2vw, 3.1rem);
    }

    .hero-content {
        padding-left: 0;
        padding-right: 0;
    }

    /* Footer: normales Padding */
    .site-footer {
        padding-bottom: var(--space-md);
    }

    /* WhatsApp normal */
    .whatsapp-btn {
        bottom: 1.5rem;
        right: 1.5rem;
        width: 52px;
        height: 52px;
    }

    .whatsapp-btn svg {
        width: 28px;
        height: 28px;
    }

    /* Review styling: Tablet */
    .review-quote-mark {
        font-size: 4.5rem;
    }

    .review-text {
        font-size: 1.125rem;
    }

    .review-stars svg {
        width: 18px;
        height: 18px;
    }

    .review-avatar {
        width: 42px;
        height: 42px;
    }

    /* Buttons: normal */
    .btn-primary,
    .btn-secondary {
        min-height: auto;
        font-size: 0.75rem;
    }

    /* CTA Buttons nebeneinander */
    .cta-section .btn-group {
        flex-direction: row;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .cta-section .btn-group .btn-primary,
    .cta-section .btn-group .btn-secondary {
        width: auto;
    }

    /* Trust-Bar: tablet refinements */
    .trust-main {
        font-size: 0.8125rem;
    }

    .trust-sub {
        font-size: 0.6875rem;
    }

    .trust-number {
        font-size: 1.5rem;
    }

    .trust-lamurista {
        height: 20px;
    }

    .trust-stars svg {
        width: 14px;
        height: 14px;
    }
}

/* === DESKTOP (ab 1024px) === */
@media (min-width: 1024px) {
    :root {
        --header-height: 92px;
    }

    .header-inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: clamp(1rem, 2vw, 2rem);
    }

    /* Navigation – Mobile-Overlay-Styles zurücksetzen */
    .main-nav {
        position: static;
        inset: auto;
        min-height: auto;
        padding-top: 0;
        padding-bottom: 0;
        display: block;
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
        z-index: auto;
        background: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transition: none;
        width: 100%;
        min-width: 0;
        justify-self: center;
    }

    .nav-list {
        justify-content: center;
        gap: clamp(1rem, 1.8vw, 1.75rem);
        flex-wrap: nowrap;
    }

    .nav-list a {
        font-size: 0.75rem;
        letter-spacing: 0.03em;
    }

    .header-actions {
        display: flex;
        justify-self: end;
        gap: 0.75rem;
    }

    .hamburger {
        display: none;
    }

    /* Logo */
    .logo-wordmark-part {
        font-size: 1.06rem;
        letter-spacing: 0;
    }

    .header-phone {
        width: 2.5rem;
        height: 2.5rem;
        justify-content: center;
        padding: 0;
        gap: 0;
        border: 1px solid rgba(196, 154, 108, 0.22);
        border-radius: 999px;
    }

    .header-phone .phone-icon svg {
        width: 16px;
        height: 16px;
    }

    .phone-number {
        display: none;
    }

    .header-cta {
        padding: 0.8rem 1rem;
        font-size: 0.6875rem;
        letter-spacing: 0.12em;
    }

    /* Cards */
    .card-grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .card-grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Marquee Cards: Desktop-Breite */
    .reviews-marquee .review-card {
        width: 400px;
        min-width: 400px;
        padding: 2.25rem 2rem;
    }

    .reviews-marquee-track {
        gap: 1.75rem;
        animation-duration: 40s;
    }

    .review-quote-mark {
        font-size: 5rem;
    }

    .review-text {
        font-size: 1.125rem;
    }

    .review-stars svg {
        width: 14px;
        height: 14px;
    }

    .review-avatar {
        width: 40px;
        height: 40px;
    }

    /* Text-Bild: Desktop tall ratio */
    .text-image-visual {
        aspect-ratio: 3 / 4;
    }

    /* Vorteile */
    .benefits-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 2fr 1fr 1fr 1fr;
    }

    .footer-logo .logo-lockup {
        gap: 0.16em;
    }

    .footer-logo .logo-wordmark-part {
        font-size: 1rem;
    }

    /* Hero */
    .hero {
        min-height: 100vh;
        min-height: 100dvh;
    }

    .hero h1 {
        font-size: clamp(2.5rem, 4.2vw, 3.5rem);
    }

}

/* === WIDE DESKTOP (ab 1200px) === */
@media (min-width: 1200px) {
    :root {
        --container-padding: 2.5rem;
    }

    .logo-wordmark-part {
        font-size: 1.12rem;
        letter-spacing: 0;
    }

    .nav-list a {
        font-size: 0.8125rem;
        letter-spacing: 0.04em;
    }

    .header-cta {
        padding: 0.8125rem 1.25rem;
        font-size: 0.71875rem;
        letter-spacing: 0.14em;
    }

    .footer-logo .logo-lockup {
        gap: 0.16em;
    }

    .footer-logo .logo-wordmark-part {
        font-size: 1.06rem;
    }

    /* Reviews Trust-Bar: mehr Breathing Room */
    .reviews-trust-bar {
        gap: 2rem;
        padding: 1.5rem 2rem;
    }
}

@media (min-width: 1360px) {
    .header-phone {
        width: auto;
        height: auto;
        justify-content: flex-start;
        padding: 0;
        gap: 0.5rem;
        border: 0;
        border-radius: 0;
    }

    .phone-number {
        display: inline;
    }

    .logo-wordmark-part {
        font-size: 1.2rem;
        letter-spacing: 0;
    }
}

/* === LANDSCAPE MOBILE (kurze Höhe) === */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
    }

    .hero h1 {
        font-size: 1.75rem;
        margin-bottom: 1rem;
    }

    .hero .kicker {
        margin-bottom: 0.75rem;
    }

    .hero-subtitle {
        margin-bottom: 1.5rem;
        font-size: 0.875rem;
    }

    .hero-scroll-indicator {
        display: none;
    }
}

/* === PRINT === */
@media print {
    .site-header,
    .mobile-cta-bar,
    .whatsapp-btn,
    .hero-bg::after {
        display: none;
    }

    .section {
        padding: 2rem 0;
    }

    body::after {
        display: none;
    }
}
