@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Roboto&display=swap');

/* Variables */
:root {
  --caesa-yellow: #FFD700;
  --caesa-black: #000000;
  --caesa-dark: #111111;
}

/* Modo claro: forzar texto negro donde había gris y botones negro/amarillo */
html:not(.dark-mode) body,
html:not(.dark-mode) .header,
html:not(.dark-mode) .nav-menu a,
html:not(.dark-mode) .card-description,

html:not(.dark-mode) .footer p {
  color: var(--caesa-black) !important;
}

/* Botones: fondo negro con borde/texto amarillo */
html:not(.dark-mode) .interactive-btn,
html:not(.dark-mode) .cta-button,
html:not(.dark-mode) .language-btn,
html:not(.dark-mode) .theme-btn,
html:not(.dark-mode) .menu-toggle,
html:not(.dark-mode) .btn-primary {
  background: linear-gradient(180deg, var(--caesa-black), var(--caesa-dark));
  color: var(--caesa-yellow);
  border: 2px solid var(--caesa-yellow);
  border-radius: 8px;
  padding: 8px 16px;
  box-shadow: none;
  transition: transform .12s ease, background .12s ease, color .12s ease;
}

/* Hover: acento más visible */
html:not(.dark-mode) .interactive-btn:hover,
html:not(.dark-mode) .cta-button:hover,
html:not(.dark-mode) .language-btn:hover,
html:not(.dark-mode) .theme-btn:hover,
html:not(.dark-mode) .menu-toggle:hover,
html:not(.dark-mode) .btn-primary:hover {
  background: linear-gradient(180deg, #222, var(--caesa-black));
  color: #ffffff;
  transform: translateY(-2px);
  border-color: var(--caesa-yellow);
}

/* Pequeños ajustes de accesibilidad/contraste */
html:not(.dark-mode) a { color: var(--caesa-black); }
html:not(.dark-mode) a:hover { color: var(--caesa-yellow); }

:root {
            --color-primary: #FFD700; /* Amarillo principal */
            --color-secondary: #FFA500; /* Naranja/dorado secundario */
            --color-dark: #000;
            --color-dark-gray: #222;
            --color-text-base: #333;
            --color-text-light: #fff;
            --color-text-muted: #666;
            --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
            --gradient-dark: linear-gradient(135deg, var(--color-dark), var(--color-dark-gray));
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Roboto', sans-serif;
            line-height: 1.6;
            color: var(--color-text-base);
            overflow-x: hidden;
        }

        /* Animaciones globales */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes slideInLeft {
            from {
                opacity: 0;
                transform: translateX(-50px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes pulse {
            0%, 100% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.05);
            }
        }

        /* Header */
        .header {
            background: var(--gradient-primary);
            padding: 1rem 0;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 20px rgba(0,0,0,0.1);
            animation: slideInLeft 0.8s ease-out;
        }

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 2rem;
        }

        .logo {
            font-size: 2rem;
            font-weight: bold;
            color: var(--color-dark);
            text-decoration: none;
            transition: transform 0.3s ease;
        }

        .logo:hover {
            transform: scale(1.1);
        }

        .nav-menu {
            display: flex;
            list-style: none;
            gap: 2rem;
        }

        .nav-menu a {
            color: var(--color-dark);
            text-decoration: none;
            font-weight: 500;
            transition: all 0.3s ease;
            position: relative;
        }

        .nav-menu a:hover {
            transform: translateY(-2px);
        }

        .nav-menu a::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -5px;
            left: 0;
            background-color: var(--color-dark);
            transition: width 0.3s ease;
        }

        .nav-menu a:hover::after {
            width: 100%;
        }

        .menu-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 1.5rem;
            cursor: pointer;
        }

        /* Hero Section */
        .hero {
            background: linear-gradient(135deg, #fff 0%, #f0f0f0 50%, var(--color-primary) 100%);
            color: var(--color-text-base);
            padding: 120px 2rem 80px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: -50%;
            width: 200%;
            height: 100%;
            background: linear-gradient(45deg, transparent, rgba(255, 215, 0, 0.1), transparent);
            animation: shimmer 3s infinite;
        }

        @keyframes shimmer {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(100%); }
        }

        .hero-content {
            max-width: 800px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }

        .hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 3.5rem;
            margin-bottom: 1rem;
            animation: fadeInUp 1s ease-out;
        }

        .hero p {
            font-size: 1.3rem;
            margin-bottom: 2rem;
            animation: fadeInUp 1s ease-out 0.3s both;
        }

        .cta-button {
            background: var(--gradient-primary);
            color: var(--color-dark);
            padding: 15px 40px;
            border: none;
            border-radius: 50px;
            font-size: 1.1rem;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            animation: fadeInUp 1s ease-out 0.6s both;
            text-decoration: none;
            display: inline-block;
        }

        .cta-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(255, 215, 0, 0.4);
            animation: pulse 1s infinite;
        }

        .sucursales-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 2rem;
        }

        .sucursal-card {
            border-radius: 15px;
            box-shadow: 0 8px 30px rgba(255, 215, 0, 0.15);
            padding: 1.5rem 2rem;
            min-width: 280px;
            max-width: 350px;
        }

        .sucursal-card--penasco,
        .sucursal-card--hermosillo {
            max-height: 200px;
            overflow: hidden;
            transition: max-height 0.3s ease, max-width 0.3s ease;
            cursor: pointer;
        }

        .sucursal-card.expanded {
            max-height: 600px;
            max-width: 450px;
        }

        .sucursal-card--matriz {
            background: #111;
            color: var(--color-primary);
            overflow: hidden;
        }

        .sucursal-card--penasco {
            background: var(--color-primary);
            color: #000;
            cursor: pointer;
            transition: transform 0.3s ease;
        }

        .sucursal-card--penasco:hover {
            transform: scale(1.05);
        }

        .sucursal-card--hermosillo {
            background: #222;
            color: var(--color-primary);
            cursor: pointer;
            transition: transform 0.3s ease;
        }

        .sucursal-card--hermosillo:hover {
            transform: scale(1.05);
        }

        .sucursal-card h2 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            font-size: 1.5rem;
            margin-bottom: 0.8rem;
        }

        .sucursal-card--penasco p {
            color: #222;
        }

        .sucursal-card--hermosillo p {
            color: #fff;
        }

        /* Hero Sucursales: siempre en una fila horizontal */
        .hero-content > div {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: center;
            align-items: stretch;
            gap: 2rem;
            margin-bottom: 2rem;
        }

        .hero-content > div > div {
            flex: 1 1 0;
            min-width: 0;
            max-width: 350px;
            box-sizing: border-box;
        }

        /* Evita que se apilen en pantallas medianas */
        @media (max-width: 1100px) {
            .hero-content > div {
                gap: 1rem;
            }
            .hero-content > div > div {
                max-width: 300px;
                min-width: 180px;
            }
        }

        /* Solo apilar en pantallas muy pequeñas */
        @media (max-width: 700px) {
            .hero-content > div {
                flex-direction: column;
                align-items: center;
                gap: 1rem;
            }
            .hero-content > div > div {
                max-width: 100%;
                width: 100%;
            }
        }

        /* Secciones principales */
        .section {
            padding: 80px 2rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-title {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 3rem;
            color: var(--color-dark);
            position: relative;
            animation: fadeInUp 0.8s ease-out;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 4px;
            background: var(--gradient-primary);
            border-radius: 2px;
        }

        /* Ajuste de tamaño para títulos de sección */
        .section-title-img {
          height: 56px;
          display: inline-block;
          object-fit: contain;
          vertical-align: middle;
        }

        @media (max-width: 768px) {
          .section-title-img {
            height: 44px;
          }
        }

        /* Grid de imágenes interactivo */
        .image-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .image-card {
            background: #fff;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: all 0.4s ease;
            position: relative;
            animation: fadeInUp 0.8s ease-out;
        }

        .image-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 50px rgba(255, 215, 0, 0.3);
        }

        .image-placeholder {
            width: 100%;
            height: 250px;
            background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            color: var(--color-text-muted);
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            padding: 0;
        }

        .service-image {
            width: 100%;
            height: 250px;
            object-fit: cover;
        }

        .image-placeholder::before {
            content: '📸';
            font-size: 3rem;
            transition: all 0.4s ease;
        }

        .image-card:hover .image-placeholder {
            transform: scale(1.1);
        }

        .image-card:hover .image-placeholder::before {
            transform: scale(1.2) rotate(5deg);
        }

        .card-content {
            padding: 1.5rem;
        }

        .card-title {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
            color: var(--color-dark);
        }

        .card-description {
            color: var(--color-text-muted);
            line-height: 1.6;
        }

        .carousel-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Carrusel de imágenes */
        .carousel-container {
            position: relative;
            max-width: 800px;
            margin: 3rem auto;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
        }

        .carousel {
            display: flex;
            transition: transform 0.5s ease;
        }

        .carousel-slide {
            min-width: 100%;
            height: 400px;
            background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: var(--color-text-muted);
            position: relative;
        }

        .carousel-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: var(--color-primary);
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 1.5rem;
            transition: all 0.3s ease;
        }

        .carousel-nav:hover {
            background: var(--color-secondary);
            transform: translateY(-50%) scale(1.1);
        }

        .carousel-prev {
            left: 20px;
        }

        .carousel-next {
            right: 20px;
        }

        .carousel-dots {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 20px;
        }

        .dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #ccc;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .dot.active {
            background: var(--color-primary);
            transform: scale(1.2);
        }

        /* Botones interactivos */
        .interactive-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            justify-content: center;
            margin: 3rem 0;
        }

        .interactive-btn {
            background: var(--gradient-dark);
            color: var(--color-primary);
            padding: 12px 30px;
            border: 2px solid var(--color-primary);
            border-radius: 25px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: bold;
            position: relative;
            overflow: hidden;
        }

        .interactive-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.2), transparent);
            transition: left 0.5s ease;
        }

        .interactive-btn:hover::before {
            left: 100%;
        }

        .interactive-btn:hover {
            background: var(--gradient-primary);
            color: var(--color-dark);
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
        }

        .no-padding-top {
            padding-top: 0;
        }

        .section-title--less-margin {
            margin-bottom: 2rem;
        }

        .quality-policy-card {
            max-width: 900px;
            margin: 0 auto;
            background: var(--color-text-light);
            border-left: 8px solid var(--color-primary);
            border-radius: 15px;
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
            padding: 2rem;
            font-size: 1.15rem;
            color: var(--color-dark-gray);
        }

        .clients-container {
            max-width: 900px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
        }
        
        .clients-image {
            width: 100%;
            max-width: 700px;
            border-radius: 18px;
            box-shadow: 0 8px 30px rgba(0,0,0,0.10);
        }

        /* Footer */
        .footer {
            background: #f8f9fa;
            color: var(--color-text-base);
            padding: 3rem 2rem 1rem;
            text-align: center;
        }

        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            margin-bottom: 2rem;
        }

        .footer-section h3 {
            color: var(--color-primary);
            margin-bottom: 1rem;
        }

        .footer-section a {
            color: #ccc;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer-section a:hover {
            color: var(--color-primary);
        }

        /* Redes Sociales */
        .social-media {
            display: flex;
            justify-content: center;
            gap: 1.5rem;
            margin: 2rem 0;
            padding: 1rem 0;
            border-top: 1px solid #333;
        }

        .social-link {
            color: #ccc;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: rgba(255, 215, 0, 0.1);
            border: 2px solid transparent;
        }

        .social-link:hover {
            color: var(--color-primary);
            background: rgba(255, 215, 0, 0.2);
            border-color: var(--color-primary);
            transform: translateY(-3px) scale(1.1);
            box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3);
        }

        .social-link svg {
            transition: all 0.3s ease;
        }

        .social-link:hover svg {
            transform: rotate(5deg);
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .nav-menu {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background: var(--color-primary);
                flex-direction: column;
                padding: 1rem;
                box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            }

            .nav-menu.active {
                display: flex;
            }

            .menu-toggle {
                display: block;
            }

            .hero h1 {
                font-family: 'Montserrat', sans-serif;
                font-weight: 700;
                font-size: 2.5rem;
            }

            .hero p {
                font-size: 1.1rem;
            }

            .section {
                padding: 60px 1rem;
            }

            .section-title {
                font-family: 'Montserrat', sans-serif;
                font-weight: 600;
                font-size: 2rem;
            }

            .image-grid {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            .carousel-nav {
                width: 40px;
                height: 40px;
                font-size: 1.2rem;
            }

            .carousel-prev {
                left: 10px;
            }

            .carousel-next {
                right: 10px;
            }

            .interactive-buttons {
                flex-direction: column;
                align-items: center;
            }

            .interactive-btn {
                width: 100%;
                max-width: 300px;
            }
        }

        /* Modal Nosotros */
        .nosotros-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            z-index: 10000;
            display: none;
            overflow-y: auto;
            animation: fadeIn 0.3s ease;
        }

        .nosotros-modal.active {
            display: block;
        }

        .nosotros-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            padding: 80px 2rem 2rem;
            position: relative;
        }

        .close-modal {
            position: fixed;
            top: 20px;
            right: 30px;
            background: var(--color-primary);
            color: var(--color-dark);
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            font-size: 1.5rem;
            cursor: pointer;
            z-index: 10001;
            transition: all 0.3s ease;
        }

        .close-modal:hover {
            background: var(--color-secondary);
            transform: scale(1.1);
        }

        .nosotros-title {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 3rem;
            text-align: center;
            margin-bottom: 3rem;
            color: var(--color-primary);
            position: relative;
        }

        .nosotros-title::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 150px;
            height: 4px;
            background: var(--gradient-primary);
            border-radius: 2px;
        }

        .nosotros-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .nosotros-card {
            background: #fff;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 15px 40px rgba(255, 215, 0, 0.2);
            transition: all 0.4s ease;
            animation: fadeInUp 0.8s ease-out;
        }

        .nosotros-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 25px 60px rgba(255, 215, 0, 0.4);
        }

        .nosotros-main-image {
            max-width: 100%;
            height: auto;
            border-radius: 20px;
            margin-bottom: 2rem;
            max-height: 500px;
            object-fit: contain;
        }

        .nosotros-text-container {
            width: 100%;
            max-width: 900px;
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

        .nosotros-info-card {
            border-radius: 15px;
            box-shadow: 0 4px 24px rgba(0,0,0,0.08);
            padding: 2rem;
        }

        .nosotros-info-card--history {
            background: var(--color-text-light);
            border-left: 8px solid var(--color-dark);
        }
        .nosotros-info-card--about {
            background: var(--color-text-light);
            border-left: 8px solid var(--color-primary);
        }
        .nosotros-info-card--vision {
            background: var(--color-primary);
            color: #ebfc00;                      /* cambia aquí el color del texto */
            border-left: 8px solid var(--color-dark);
        }
        .nosotros-info-card--mission {
            background: #666;
            border-left: 8px solid var(--color-primary);
        }

        .nosotros-info-card__title--gold { color: var(--color-primary); margin-bottom: 1rem; }
        .nosotros-info-card__title--black { color: var(--color-dark); margin-bottom: 1rem; }

        .nosotros-info-card__text {
            color: var(--color-dark-gray);
            font-size: 1.1rem;
            text-align: justify;
        }
        .nosotros-info-card__text--light {
            color: var(--color-text-light);
            font-size: 1.1rem;
            text-align: justify;
        }

        /* Animaciones de entrada */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s ease;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .servicios-menu {
            position: relative;
        }
        
        .servicios-dropdown-menu {
            display: none;
            position: absolute;
            top: 100%;
            right: 0; /* Cambiado de 'left: 0' a 'right: 0' */
            left: auto; /* Añadido para asegurar el comportamiento */
            min-width: 260px;
            background: linear-gradient(135deg, var(--color-primary) 80%, var(--color-dark-gray) 100%);
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
            border-radius: 0 0 18px 18px;
            z-index: 100;
            animation: cortinaBajada 0.4s cubic-bezier(.77,0,.18,1) forwards;
            border-top: 3px solid var(--color-primary);
            overflow-y: auto;
            font-size: 0.80rem; /* Letras más pequeñas */
            max-height: 400px;
            padding: 0;
        }

        .servicios-dropdown-menu ul {
            list-style: none;
            margin: 0;
            padding: 1rem;
        }

        .servicios-dropdown-menu li {
            margin-bottom: 0.15rem;
        }

        .servicios-dropdown-menu a.servicio-link {
            display: block;
            padding: 0.35rem 0.7rem;
            color: var(--color-dark-gray);
            font-weight: bold;
            text-decoration: none;
            border-radius: 7px;
            background: rgba(255, 255, 255, 0.85);
            transition: background 0.3s, color 0.3s, transform 0.2s;
            font-size: 0.80rem; /* Letras más pequeñas */
            box-shadow: 0 2px 8px rgba(255, 215, 0, 0.08);
            white-space: nowrap;
            text-align: left;
        }

        .servicios-dropdown-menu a.servicio-link:hover {
            background: var(--color-dark-gray);
            color: var(--color-primary);
            transform: translateX(4px) scale(1.03);
            box-shadow: 0 4px 16px rgba(255, 215, 0, 0.18);
        }

        @keyframes cortinaBajada {
            0% {
                opacity: 0;
                transform: translateY(-20px) scaleY(0.8);
            }
            100% {
                opacity: 1;
                transform: translateY(0) scaleY(1);
            }
        }

        /* Servicio Modal */
        .servicio-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            z-index: 10000;
            display: none;
            overflow-y: auto;
            animation: fadeIn 0.3s ease;
        }

        .servicio-modal.active {
            display: block;
        }

        .servicio-modal-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            padding: 80px 2rem 2rem;
            position: relative;
            background-color: #000;
            color: #ffd700;
            border: 1px solid #ffd700;
        }

        .close-servicio-modal {
            position: fixed;
            top: 20px;
            right: 30px;
            background: var(--color-primary);
            color: var(--color-dark);
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            font-size: 1.5rem;
            cursor: pointer;
            z-index: 10001;
            transition: all 0.3s ease;
        }

        .close-servicio-modal:hover {
            background: var(--color-secondary);
            transform: scale(1.1);
        }

        .carousel-inner img {
            max-height: 500px;
            object-fit: contain;
        }

        /* Estilos para el formulario de cotización */
        .cotizacion-container {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            justify-content: center;
        }

        .cotizacion-form {
            flex: 1 1 500px;
            max-width: 600px;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: bold;
            color: #333;
        }

        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 0.75rem;
            border: 1px solid #ccc;
            border-radius: 5px;
            font-size: 1rem;
        }

        .form-group textarea {
            resize: vertical;
        }

        .ejemplo-mensaje {
            flex: 1 1 400px;
            background-color: #f9f9f9;
            padding: 1.5rem;
            border-radius: 10px;
            border: 1px solid #eee;
        }

        .ejemplo-mensaje h3 {
            margin-top: 0;
            color: #333;
        }

        .ejemplo-mensaje p, .ejemplo-mensaje ul {
            font-size: 0.9rem;
            line-height: 1.6;
            color: #555;
        }

        /* Language Toggle Button */
.language-btn {
    background-color: var(--color-dark);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    margin-left: 1rem;
    transition: all 0.3s ease;
}

.language-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-dark);
}

/* Dark Mode Styles */
html.dark-mode body {
    --color-primary: #FFD700; /* Amarillo principal */
    --color-secondary: #FFA500; /* Naranja/dorado secundario */
    --color-dark: #fff; /* blanco */
    --color-dark-gray: #ccc;
    --color-text-base: #fff;
    --color-text-light: #000;
    --color-text-muted: #aaa;
    background-color: #000;
}

html.dark-mode .header {
    background: var(--gradient-dark);
}

html.dark-mode .logo, html.dark-mode .nav-menu a {
    color: var(--color-primary);
}

html.dark-mode .nav-menu a::after {
    background-color: var(--color-primary);
}

html.dark-mode .hero {
    background: linear-gradient(135deg, #000 0%, #222 50%, #FFD700 100%);
    color: #fff;
}



html.dark-mode .section-title {
    color: #fff;
}

html.dark-mode .image-card {
    background: #111;
    box-shadow: 0 10px 30px rgba(255, 215, 0, 0.1);
}

html.dark-mode .card-title {
    color: #fff;
}

html.dark-mode .card-description {
    color: #aaa;
}

html.dark-mode .quality-policy-card {
    background: #111;
    color: #fff;
    border-left: 8px solid var(--color-primary);
}

html.dark-mode .footer {
    background: #111;
    color: #fff;
}

.theme-btn {
    background-color: var(--color-dark);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    margin-left: 1rem;
    transition: all 0.3s ease;
}

.theme-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-dark);
}

/* Títulos como imágenes (Nosotros / Clientes) */
.nosotros-title-img,
.clients-title-img {
  height: 56px;
  display: inline-block;
  object-fit: contain;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .nosotros-title-img,
  .clients-title-img {
    height: 44px;
  }
}

/* Forzar tarjeta "Nuestra Visión" en amarillo (claro u oscuro) */
html:not(.dark-mode) .nosotros-info-card--vision,
html.dark-mode .nosotros-info-card--vision {
  background: var(--color-primary) !important; /* amarillo */
  color: #000 !important;                       /* texto negro legible */
  border-left: 8px solid var(--color-dark) !important;
}
/* Asegurar que el título dentro mantenga contraste */
html:not(.dark-mode) .nosotros-info-card--vision .nosotros-info-card__title--black,
html.dark-mode .nosotros-info-card--vision .nosotros-info-card__title--black {
  color: #000 !important;
}

/* tarjeta "Nuestra Visión" */
.nosotros-info-card--vision {
  background: var(--color-primary); /* cambia aquí el color de fondo */
  color: #000;                      /* cambia aquí el color del texto */
  border-left: 8px solid var(--color-dark);
}