/**
 * MP Media - Mobile Styles (OPTIMIERT)
 * Version 2.0 - Horizontales Scrollen gefixt
 *
 * Änderungen gegenüber mobile-old.css:
 * - Section Dots ausgeblendet (nicht nötig auf Touch)
 * - Scroll Arrows ausgeblendet (natürliches Scrollen)
 * - Symmetrisches Padding (kein extra Platz für Dots)
 * - Background Orbs ausgeblendet (verhindert horizontalen Scroll)
 * - Hero margin fix
 */

@media (max-width: 900px) {
    .contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {

    /* ================================================
       FIX: Horizontales Scrollen verhindern
       ================================================ */

    /* Background Orbs ausblenden - verursachen horizontalen Overflow */
    .bg-orb {
        display: none;
    }

    /* Hero margin fix */
    #hero {
        margin: 0;
    }

    /* Section Dots ausblenden - auf Touch nicht nötig */
    .section-dots {
        display: none;
    }

    /* Scroll Arrows ausblenden - natürliches Scrollen reicht */
    .scroll-nav {
        display: none;
    }

    /* ================================================
       Navigation
       ================================================ */

    nav {
        padding: 15px 20px;
    }

    .nav-links {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    .mobile-menu {
        display: flex;
    }

    /* ================================================
       Layout - Symmetrisches Padding (Dots sind weg)
       ================================================ */

    main {
        padding: 120px 20px 60px 20px;
    }

    .section {
        padding: 60px 20px;
    }

    .footer-links {
        flex-direction: column;
        gap: 10px;
    }

    /* Kontaktkarte Footer-Links bleiben horizontal */
    .footer-info .footer-links {
        flex-direction: row;
        gap: 20px;
    }

    /* ================================================
       Hero Section
       ================================================ */

    section#hero.section {
        justify-content: flex-start;
        padding-top: 80px !important;
    }

    .hero-content {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }

    .hero-text {
        text-align: center;
        order: 1;
        min-width: auto;
        width: 100%;
    }

    .terminal-container,
    .boot-sequence,
    .terminal-prompt,
    .hero-title {
        text-align: left;
    }

    .hero-image {
        order: 2;
        width: 100%;
        align-items: center;
        justify-content: center;
    }

    .hero-logo {
        width: 120px;
        margin-bottom: 15px;
    }

    .hero-title {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
    }

    .boot-sequence {
        font-size: 0.7rem;
    }

    .terminal-prompt {
        font-size: 0.7rem;
    }

    .terminal-prompt .prompt {
        font-size: 0.65rem;
    }

    .hero-subtitle {
        font-size: 0.95rem;
        margin-bottom: 30px;
    }

    .hero-image-wrapper img {
        width: 200px;
    }

    .hero-buttons {
        justify-content: center;
        gap: 15px;
    }

    .hero-buttons .btn {
        padding: 14px 30px;
        font-size: 11px;
    }

    /* ================================================
       About Section
       ================================================ */

    .about-content {
        gap: 30px;
    }

    .about-intro {
        font-size: 1.05rem;
        margin: 20px 0 15px;
    }

    .about-text-block {
        font-size: 1rem;
    }

    .about-badges {
        gap: 15px;
    }

    .about-badge {
        padding: 20px 30px;
        flex: 1;
        min-width: 140px;
    }

    .about-badge-logo-wrapper {
        height: 70px;
    }

    .about-badge-logo {
        max-height: 70px;
    }

    .about-badge:first-child .about-badge-logo {
        max-height: 50px;
    }

    .about-badge-year {
        font-size: 1.5rem;
    }

    .about-badge-label {
        font-size: 11px;
    }

    /* ================================================
       Stats Section
       ================================================ */

    .stats-grid {
        gap: 25px;
    }

    .stat-value {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .stat-label {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .stats-trust {
        font-size: 12px;
        padding: 12px 20px;
        text-align: center;
    }

    .target-groups {
        gap: 15px;
    }

    .target-card {
        padding: 20px 25px;
    }

    .target-icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
    }

    .target-icon i {
        width: 24px;
        height: 24px;
    }

    .target-name {
        font-size: 11px;
    }

    /* ================================================
       Services Section
       ================================================ */

    .services-grid {
        grid-template-columns: 1fr;
        max-width: 100%;
        gap: 20px;
    }

    .service-card {
        padding: 25px 20px;
    }

    /* ================================================
       Tech Stack Section
       ================================================ */

    .tech-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        max-width: 100%;
    }

    .tech-item {
        padding: 20px 15px;
        gap: 10px;
    }

    .tech-icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
    }

    .tech-icon i {
        width: 24px;
        height: 24px;
    }

    .tech-name {
        font-size: 10px;
        line-height: 1.2;
    }

    /* ================================================
       Contact Section
       ================================================ */

    .contact-box {
        padding: 30px 20px;
    }

    .contact-title {
        font-size: 1.5rem;
    }

    .contact-methods {
        flex-direction: column;
        gap: 15px;
    }

    .contact-phone,
    .contact-email {
        width: 100%;
        justify-content: center;
        padding: 12px 20px;
        font-size: 0.9rem;
        min-width: auto;
    }

    /* ================================================
       Tech Modal
       ================================================ */

    .tech-modal {
        padding: 30px 25px;
        margin: 20px;
        width: calc(100% - 40px);
        max-width: none;
    }

    .tech-modal-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 20px;
    }

    .tech-modal-icon i,
    .tech-modal-icon svg {
        width: 35px;
        height: 35px;
    }

    .tech-modal-title {
        font-size: 1.4rem;
    }

    .tech-modal-desc {
        font-size: 0.95rem;
    }

    .tech-modal-close {
        top: 15px;
        right: 15px;
        width: 35px;
        height: 35px;
    }

    /* ================================================
       Cookie Banner
       ================================================ */

    .cookie-banner {
        padding: 10px;
    }

    .cookie-content {
        flex-direction: column;
        text-align: center;
        padding: 20px 15px;
        gap: 15px;
        max-width: calc(100% - 20px);
        box-sizing: border-box;
    }

    .cookie-icon {
        font-size: 2rem;
    }

    .cookie-text strong {
        font-size: 0.9rem;
    }

    .cookie-text p {
        font-size: 0.8rem;
    }

    .cookie-buttons {
        width: 100%;
        justify-content: center;
    }

    .cookie-btn {
        padding: 10px 16px;
        font-size: 0.8rem;
    }

    /* ================================================
       Legal Pages (Impressum, Datenschutz)
       ================================================ */

    .legal-page h1 {
        font-size: 2rem;
    }

    .legal-page .intro {
        padding: 20px;
        font-size: 1rem;
    }

    /* ================================================
       Contact Page (Formular)
       ================================================ */

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .contact-info,
    .contact-form-wrapper {
        padding: 30px 25px;
    }
}
