/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

/* Tablets y dispositivos medianos */
@media (max-width: 968px) {
    :root {
        --spacing-lg: 3rem;
        --spacing-xl: 4rem;
    }

    .container {
        padding: 0 1rem;
    }

    .section-header {
        margin-bottom: 3rem;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-actions .btn {
        width: 100%;
    }
}

/* Móviles */
@media (max-width: 768px) {
    section {
        padding: 4rem 0;
    }

    .hero-extreme {
        padding-top: 100px;
        text-align: center;
    }

    .hero-blueprint-title {
        font-size: 2.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .hero-blueprint-desc {
        font-size: 1rem !important;
        margin-bottom: 3rem !important;
    }

    .tech-marker {
        display: none; /* Ocultar marcadores en móvil para evitar clutter */
    }

    .hero-bg-text {
        font-size: 60vw !important;
        opacity: 0.01 !important;
    }

    .blueprint-line {
        margin-bottom: 1rem !important;
    }
}

/* Móviles pequeños */
@media (max-width: 480px) {
    .hero-badge {
        font-size: 0.65rem;
        padding: 0.4rem 0.8rem;
    }

    .btn {
        padding: 0.9rem 1.5rem;
        font-size: 0.85rem;
    }

    .service-card,
    .product-card {
        padding: 2rem 1.5rem;
    }

    .product-logo-container {
        height: 180px;
    }

    .product-logo {
        max-height: 100px;
    }
}

/* Landscape móvil */
@media (max-height: 600px) and (orientation: landscape) {
    #inicio {
        min-height: auto;
        padding: 6rem 0;
    }

    .hero-image-container {
        max-width: 300px;
    }
}

/* Pantallas grandes */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

/* Reducir movimiento para accesibilidad */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    html {
        scroll-behavior: auto;
    }
}

/* Dark mode (ya está por defecto, pero por si acaso) */
@media (prefers-color-scheme: dark) {
    body {
        background-color: var(--dark-bg);
        color: var(--text-primary);
    }
}

/* Grid utilities responsive */
.row {
    display: grid;
    gap: 2rem;
}

.row.g-4 {
    gap: 1.5rem;
}

.row.g-5 {
    gap: 3rem;
}

@media (min-width: 768px) {
    .col-md-4 {
        grid-column: span 4;
    }

    .col-md-6 {
        grid-column: span 6;
    }

    .row {
        grid-template-columns: repeat(12, 1fr);
    }

    .col-md-4 {
        grid-column: span 4;
    }

    .col-md-6 {
        grid-column: span 6;
    }
}

@media (min-width: 992px) {
    .col-lg-4 {
        grid-column: span 4;
    }

    .col-lg-6 {
        grid-column: span 6;
    }
}

/* Utilidades de display responsive */
@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .show-mobile {
        display: none !important;
    }
}
