         :root {
            --color-principal: #bf9f6b;
            --color-hover: #a88a5c;
            --color-dorado: #bf9f6b;
            --color-dorado-fuerte: #b8860b;
            --color-secundario: #e5e5e5;
            

            --color-texto: #ffffff;
            --color-texto-nosotros: #1a1a1a;
            --color-fondo: #000000;
            --color-fondo2: #f5f5dc;
            --color-fondo-navbar: rgba(0, 0, 0, 0.9);
            --color-submenu: rgba(0, 0, 0, 0.95);
            --color-borde: #ffffff;
            

            --fuente-principal: 'Lato', sans-serif;
            --fuente-titulos: 'Playfair Display', serif;
            --fuente-elegante: 'Cormorant Garamond', serif;
        }


        .pantalla-carga {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #000000;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 10000;
            opacity: 1;
            visibility: visible;
            transition: opacity 0.8s ease, visibility 0.8s ease;
        }

        .pantalla-carga.ocultar {
            opacity: 0;
            visibility: hidden;
        }

        .contenedor-carga {
            text-align: center;
            animation: fadeInUp 1s ease-out;
        }

        .logo-carga {
            margin-bottom: 2rem;
            animation: logoFloat 3s ease-in-out infinite;
        }

        .imagen-logo-carga {
            width: 250px;
            height: auto;
            filter: drop-shadow(0 4px 8px rgba(255, 255, 255, 0.2));
        }

        .circulo-carga {
            margin: 2rem 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .spinner {
            width: 50px;
            height: 50px;
            border: 4px solid #333333;
            border-top: 4px solid #c49b61;
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }

        .texto-carga {
            color: #ffffff;
            font-family: var(--fuente-principal);
            font-size: 1.2rem;
            font-weight: 600;
            margin-top: 1rem;
            letter-spacing: 1px;
            animation: textPulse 2s ease-in-out infinite;
        }


        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        @keyframes logoFloat {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }

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

        @keyframes textPulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.7; }
        }


        @media (max-width: 768px) {
            .imagen-logo-carga {
                width: 200px;
            }

            .spinner {
                width: 40px;
                height: 40px;
                border-width: 3px;
            }

            .texto-carga {
                font-size: 1rem;
            }
        }


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

        body {
            font-family: var(--fuente-principal);
            background-color: var(--color-fondo);
            color: var(--color-texto);
            overflow-x: hidden;
            font-weight: 400;
            letter-spacing: 0.3px;
        }

        .oculto {
            display: none !important;
        }


        .seccion-verificacion {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            z-index: 9999;
        }

        .fondo-verificacion {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('media/img/seccion-verificacion/fondo.jpg');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        .fondo-verificacion::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.6);
        }

        .cuadro-verificacion {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: rgba(0, 0, 0, 0.8);
            padding: 40px;
            border-radius: 15px;
            text-align: center;
            border: 2px solid var(--color-principal);
            backdrop-filter: blur(10px);
            max-width: 400px;
            width: 90%;
        }

        .logo-verificacion {
            margin-bottom: 30px;
        }

        .imagen-logo {
            max-width: 150px;
            height: auto;
            display: block;
            margin: 0 auto;
        }

        .texto-verificacion h2 {
            color: var(--color-texto);
            font-family: var(--fuente-titulos);
            font-size: 24px;
            margin-bottom: 30px;
            font-weight: 500;
            letter-spacing: 1px;
        }

        .botones-verificacion {
            display: flex;
            gap: 20px;
            justify-content: center;
        }

        .boton-edad {
            padding: 15px 30px;
            border: 2px solid var(--color-principal);
            background-color: transparent;
            color: var(--color-texto);
            font-family: var(--fuente-principal);
            font-size: 18px;
            font-weight: 600;
            cursor: pointer;
            border-radius: 8px;
            transition: all 0.3s ease;
            min-width: 80px;
            letter-spacing: 1px;
        }

        .boton-edad:hover {
            background-color: var(--color-principal);
            color: var(--color-fondo);
            transform: translateY(-2px);
        }

        .mensaje-advertencia {
            background-color: rgba(191, 159, 107, 0.1);
            border: 2px solid var(--color-principal);
            border-radius: 8px;
            padding: 20px;
            margin: 20px 0;
            text-align: center;
            animation: fadeInWarning 0.5s ease;
        }

        .mensaje-advertencia p {
            color: var(--color-principal);
            font-size: 16px;
            line-height: 1.5;
            margin: 0;
            font-weight: 500;
        }

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

        .botones-verificacion.atencion {
            animation: pulsoAtencion 0.5s ease-in-out 2;
        }

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


        .seccion-principal {
            min-height: 100vh;
            background-color: var(--color-fondo);
        }


        .barra-navegacion {
            background-color: var(--color-fondo-navbar);
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            backdrop-filter: blur(10px);
            transition: all 0.3s ease;
        }

        .barra-navegacion.navbar-transparente {
            background-color: transparent;
            backdrop-filter: none;
        }

        .barra-navegacion.navbar-transparente::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), transparent);
            z-index: -1;
        }

        .barra-navegacion.navbar-solido {
            background-color: var(--color-fondo-navbar);
            backdrop-filter: blur(10px);
        }

        .barra-navegacion.navbar-solido::before {
            display: none;
        }

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

        .logo-nav {
            flex-shrink: 0;
        }

        .enlace-logo {
            display: block;
            text-decoration: none;
            transition: transform 0.3s ease, opacity 0.3s ease;
            cursor: pointer;
        }

        .enlace-logo:hover {
            transform: scale(1.05);
            opacity: 0.9;
        }

        .imagen-logo-nav {
            height: 50px;
            width: auto;
            display: block;
        }

        .menu-navegacion {
            display: flex;
            list-style: none;
            gap: 30px;
            align-items: center;
        }

        .menu-navegacion li {
            position: relative;
        }

        .enlace-nav {
            color: var(--color-texto);
            text-decoration: none;
            font-family: var(--fuente-principal);
            font-weight: 600;
            font-size: 16px;
            padding: 10px 15px;
            transition: color 0.3s ease;
            display: block;
            position: relative;
            overflow: hidden;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .enlace-nav::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0%;
            height: 2px;
            background-color: var(--color-principal);
            transition: width 0.4s ease;
        }

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

        .enlace-nav:hover,
        .enlace-nav.activo {
            color: var(--color-principal);
        }

        .enlace-nav.activo::after {
            width: 100%;
        }


        .item-con-submenu {
            position: relative;
        }

        .submenu {
            position: absolute;
            top: 100%;
            left: 0;
            background-color: var(--color-submenu);
            min-width: 250px;
            list-style: none;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s ease;
            border-radius: 8px;
            border: 1px solid var(--color-principal);
            padding: 10px 0;
        }

        .item-con-submenu:hover .submenu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .enlace-submenu {
            color: var(--color-texto);
            text-decoration: none;
            padding: 12px 20px;
            display: block;
            font-size: 14px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            font-family: var(--fuente-principal);
            font-weight: 500;
            letter-spacing: 0.3px;
        }

        .enlace-submenu::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0%;
            height: 2px;
            background-color: var(--color-principal);
            transition: width 0.4s ease;
        }

        .enlace-submenu:hover {
            background-color: var(--color-principal);
            color: var(--color-fondo);
        }

        .enlace-submenu:hover::after {
            width: 100%;
            background-color: var(--color-texto);
        }


        .logo-submenu {
            padding: 15px 20px;
            text-align: center;
            border-bottom: 1px solid rgba(191, 159, 107, 0.3);
            margin-bottom: 5px;
        }

        .imagen-logo-submenu {
            height: 40px;
            width: auto;
            filter: brightness(1.1) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
            transition: transform 0.3s ease;
        }

        .imagen-logo-submenu:hover {
            transform: scale(1.05);
        }


        .menu-hamburguesa {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: 5px;
        }

        .menu-hamburguesa span {
            width: 25px;
            height: 3px;
            background-color: var(--color-texto);
            margin: 3px 0;
            transition: 0.3s;
        }


        .contenido-principal {
            padding-top: 80px;
            min-height: 100vh;
        }

        .seccion-contenido {
            display: none;
            min-height: calc(100vh - 80px);
            padding: 0;
        }

        .seccion-contenido.activa {
            display: block;
        }


        .contenedor-portada {
            position: relative;
            height: 100vh;
            margin-top: -80px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .fondo-portada {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('media/img/inicio/fondo-portada.jpg');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            z-index: 1;
        }

        .fondo-portada::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            z-index: -1;
        }

        .contenido-portada {
            position: relative;
            z-index: 2;
            text-align: center;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 120px 20px 40px;
        }

        .texto-portada {
        }

        .mapa-espana {
            position: relative;
            width: 700px;
            height: 500px;
            margin: 0 auto;
            flex-shrink: 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .imagen-mapa {
            width: 700px;
            height: 500px;
            object-fit: contain;
            filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3)) brightness(1.1);
        }


        .denominacion-do {
            position: absolute;
            background-color: rgba(191, 159, 107, 0.9);
            border: 2px solid var(--color-texto);
            color: var(--color-texto);
            padding: 8px 12px;
            border-radius: 8px;
            cursor: pointer;
            transform: translate(-50%, -50%);
            transition: all 0.3s ease;
            z-index: 10;
            font-size: 12px;
            font-weight: bold;
            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(5px);
            white-space: nowrap;
            font-family: var(--fuente-principal);
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .denominacion-do:hover {
            transform: translate(-50%, -50%) scale(1.1);
            background-color: var(--color-hover);
            box-shadow: 0 0 20px rgba(191, 159, 107, 0.8);
            color: var(--color-fondo);
        }

        .denominacion-do.denominacion-clickeada {
            animation: pulsoMapa 0.6s ease;
        }

        @keyframes pulsoMapa {
            0% { transform: translate(-50%, -50%) scale(1); }
            50% { transform: translate(-50%, -50%) scale(1.3); background-color: #4CAF50; }
            100% { transform: translate(-50%, -50%) scale(1); }
        }


        .denominacion-la-rioja {
            top: 12%;
            left: 50%;
        }

        .denominacion-rias-baixas {
            top: 20%;
            left: 20%;
        }

        .denominacion-emporda {
            top: 22%;
            left: 80%;
        }

        .denominacion-catalunya {
            top: 32%;
            left: 75%;
        }

        .denominacion-ribera-duero {
            top: 35%;
            left: 43%;
        }

        .denominacion-terra-alta {
            top: 45%;
            left: 70%;
        }

        .denominacion-tierra-castilla {
            top: 60%;
            left: 45%;
        }

        .denominacion-jumilla {
            top: 75%;
            left: 50%;
        }


        .contenido-movil {
            display: none;
            text-align: center;
            color: var(--color-texto);
            padding: 20px;
        }

        .titulo-movil {
            font-size: 2.4rem;
            font-weight: 800;
            margin-bottom: 40px;
            color: var(--color-principal);
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
            line-height: 1.3;
            font-family: var(--fuente-titulos);
            letter-spacing: 1px;
            text-align: center;
            text-transform: uppercase;
            max-width: 90%;
            margin-left: auto;
            margin-right: auto;
            padding: 0 15px;
            word-spacing: 0.2em;
        }

        .selector-denominaciones {
            background-color: rgba(0, 0, 0, 0.7);
            padding: 30px 20px;
            border-radius: 15px;
            border: 2px solid var(--color-principal);
            backdrop-filter: blur(10px);
            max-width: 350px;
            margin: 0 auto;
        }

        .label-denominaciones {
            display: block;
            font-size: 1.2rem;
            margin-bottom: 20px;
            color: var(--color-texto);
            font-weight: 500;
            font-family: var(--fuente-principal);
            letter-spacing: 0.5px;
        }

        .select-denominaciones {
            width: 100%;
            padding: 15px;
            font-size: 16px;
            border: 2px solid var(--color-principal);
            border-radius: 8px;
            background-color: var(--color-fondo);
            color: var(--color-texto);
            margin-bottom: 25px;
            cursor: pointer;
            transition: all 0.3s ease;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23bf9f6b" d="M2 0L0 2h4zm0 5L0 3h4z"/></svg>');
            background-repeat: no-repeat;
            background-position: right 15px center;
            background-size: 12px;
            padding-right: 45px;
            font-family: var(--fuente-principal);
            font-weight: 500;
            letter-spacing: 0.3px;
        }

        .select-denominaciones:focus {
            outline: none;
            border-color: var(--color-hover);
            box-shadow: 0 0 10px rgba(191, 159, 107, 0.5);
        }

        .select-denominaciones option {
            background-color: var(--color-fondo);
            color: var(--color-texto);
            padding: 10px;
        }

        .boton-ir-denominacion {
            width: 100%;
            padding: 15px 20px;
            font-size: 1.1rem;
            font-weight: bold;
            background-color: transparent;
            color: var(--color-texto);
            border: 2px solid var(--color-principal);
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-family: var(--fuente-principal);
            letter-spacing: 0.8px;
            text-transform: uppercase;
        }

        .boton-ir-denominacion:hover {
            background-color: var(--color-principal);
            color: var(--color-fondo);
            transform: translateY(-2px);
        }

        .boton-ir-denominacion:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .boton-ir-denominacion:disabled:hover {
            background-color: transparent;
            color: var(--color-texto);
            transform: none;
        }


        .contenedor-instagram {
            background-color: var(--color-fondo2);
            padding: 60px 20px;
            overflow-x: hidden;
        }

        .contenido-instagram {
            max-width: 1000px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 40px;
            background-color: var(--color-texto);
            border-radius: 20px;
            padding: 50px 40px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            width: 100%;
            box-sizing: border-box;
        }

        .info-instagram {
            flex: 1;
            text-align: center;
            color: var(--color-texto-nosotros);
            max-width: 400px;
            margin: 0 auto;
        }

        .cabecera-instagram {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 20px;
        }

        .icono-instagram {
            width: 32px;
            height: 32px;
            color: var(--color-principal);
        }

        .texto-instagram {
            color: var(--color-principal);
            font-size: 1.3rem;
            font-weight: 500;
            font-family: var(--fuente-principal);
            letter-spacing: 0.5px;
        }

        .titulo-instagram {
            color: var(--color-principal);
            font-size: 2.2rem;
            font-weight: 700;
            margin-bottom: 15px;
            line-height: 1.1;
            letter-spacing: 1px;
            font-family: var(--fuente-titulos);
        }

        .descripcion-instagram {
            color: var(--color-principal);
            font-size: 1rem;
            margin-bottom: 25px;
            line-height: 1.5;
            font-family: var(--fuente-principal);
            font-weight: 300;
        }

        .seguidores-instagram {
            color: var(--color-principal);
            font-size: 1.6rem;
            font-weight: 600;
            margin-bottom: 30px;
        }

        .boton-seguir-instagram {
            background-color: var(--color-principal);
            color: var(--color-texto);
            border: none;
            padding: 12px 30px;
            border-radius: 25px;
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-family: var(--fuente-principal);
        }

        .boton-seguir-instagram:hover {
            background-color: var(--color-hover);
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(191, 159, 107, 0.4);
        }

        .galeria-instagram {
            flex: 1;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
            gap: 12px;
            max-width: 450px;
            margin: 0 auto;
        }

        .imagen-instagram {
            border-radius: 12px;
            height: 140px;
            background-size: cover;
            background-position: center;
            transition: transform 0.3s ease;
            cursor: pointer;
            overflow: hidden;
            border: 3px solid var(--color-principal);
            box-shadow: 0 4px 8px rgba(191, 159, 107, 0.3);
        }

        .imagen-instagram:hover {
            transform: scale(1.03);
        }


        .imagen-1 { 
            background-image: url('media/img/inicio/insta1.jpg');
        }
        .imagen-2 { 
            background-image: url('media/img/inicio/insta2.jpg');
        }
        .imagen-3 { 
            background-image: url('media/img/inicio/insta3.jpg');
        }
        .imagen-4 { 
            background-image: url('media/img/inicio/insta4.jpg');
        }
        .imagen-5 { 
            background-image: url('media/img/inicio/insta5.jpg');
        }
        .imagen-6 { 
            background-image: url('media/img/inicio/insta6.jpg');
        }


        .contenedor-footer {
            background-color: #2c2c2c;
            padding: 60px 20px 40px;
            overflow-x: hidden;
            border-top: 4px solid var(--color-principal);
            position: relative;
        }

        .contenedor-footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, var(--color-principal) 0%, #d4af6a 50%, var(--color-principal) 100%);
            box-shadow: 0 2px 8px rgba(191, 159, 107, 0.3);
        }

        .contenido-footer {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 40px;
            color: #e0e0e0;
            width: 100%;
            box-sizing: border-box;
            align-items: start;
        }


        @media (min-width: 1400px) {
            .contenido-footer {
                max-width: 1400px;
                grid-template-columns: 2.5fr 1fr 1fr;
                gap: 50px;
            }

            .contenedor-footer {
                padding: 70px 20px 50px;
            }
        }

        .seccion-footer {
            box-sizing: border-box;
            position: relative;
            padding: 0 15px;
        }

        .seccion-footer:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 1px;
            height: 100%;
            background: linear-gradient(180deg, 
                transparent 0%, 
                var(--color-principal) 20%, 
                var(--color-principal) 80%, 
                transparent 100%);
            opacity: 0.6;
        }

        .seccion-empresa {
            padding: 0 15px 0 0;
        }

        .seccion-contacto,
        .seccion-productos {
        }

        .seccion-footer h3 {
            color: #ffffff;
            font-size: 1.3rem;
            font-weight: 600;
            margin-bottom: 20px;
            position: relative;
            font-family: var(--fuente-titulos);
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .seccion-footer h3::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 40px;
            height: 2px;
            background-color: var(--color-principal);
        }

        .seccion-empresa p {
            line-height: 1.7;
            font-size: 0.95rem;
            text-align: justify;
            color: #e0e0e0;
            font-family: var(--fuente-principal);
            font-weight: 300;
        }

        .logo-empresa {
            margin-bottom: 30px;
            text-align: center;
        }

        .imagen-logo-empresa {
            max-width: 200px;
            height: auto;
            display: block;
            margin: 0 auto;
        }

        .info-contacto p {
            margin-bottom: 12px;
            font-size: 0.95rem;
            color: #e0e0e0;
            font-family: var(--fuente-principal);
            font-weight: 400;
        }

        .texto-dorado {
            color: var(--color-principal);
            font-weight: 500;
        }

        .lista-productos {
            list-style: none;
            padding: 0;
        }

        .lista-productos li {
            margin-bottom: 8px;
            font-size: 0.95rem;
            color: #f0f0f0;
            transition: color 0.3s ease;
            cursor: pointer;
            font-family: var(--fuente-principal);
            font-weight: 400;
            letter-spacing: 0.3px;
        }

        .lista-productos li:hover {
            color: var(--color-principal);
        }


        .oculto-movil {
            display: none !important;
            visibility: hidden !important;
            opacity: 0 !important;
            height: 0 !important;
            overflow: hidden !important;
        }

        .centrado-movil {
            text-align: center !important;
            width: 100% !important;
            margin: 0 auto !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
        }

        .contenedor-seccion {
            max-width: 1200px;
            margin: 0 auto;
            text-align: center;
            padding: 50px 20px;
        }

        .contenedor-seccion h1 {
            color: var(--color-principal);
            font-size: 48px;
            margin-bottom: 30px;
            font-weight: 300;
        }

        .contenedor-seccion p {
            color: var(--color-texto);
            font-size: 18px;
            line-height: 1.6;
            max-width: 800px;
            margin: 0 auto;
        }


        @media (max-width: 768px) {
            .menu-hamburguesa {
                display: flex;
            }

            .menu-navegacion {
                position: fixed;
                top: 80px;
                left: -100%;
                width: 100%;
                height: calc(100vh - 80px);
                background-color: #000000;
                flex-direction: column;
                justify-content: flex-start;
                align-items: center;
                padding-top: 50px;
                transition: left 0.3s ease;
                gap: 0;
            }

            .menu-navegacion.activo {
                left: 0;
            }

            .menu-navegacion li {
                width: 100%;
                text-align: center;
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }

            .enlace-nav {
                padding: 20px;
                font-size: 18px;
                width: 100%;
                font-family: var(--fuente-principal);
                font-weight: 600;
                letter-spacing: 0.8px;
            }

            .submenu {
                position: static;
                opacity: 1;
                visibility: visible;
                transform: none;
                background-color: #000000;
                border: none;
                border-radius: 0;
                padding: 0;
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.3s ease;
            }

            .item-con-submenu.activo .submenu {
                max-height: 500px;
            }

            .enlace-submenu {
                padding: 15px 40px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.05);
                font-family: var(--fuente-principal);
                font-weight: 500;
                letter-spacing: 0.5px;
            }

            .logo-submenu {
                padding: 10px 20px;
            }

            .imagen-logo-submenu {
                height: 35px;
            }

            .cuadro-verificacion {
                padding: 30px 20px;
                max-width: 350px;
            }

            .texto-verificacion h2 {
                font-size: 20px;
            }

            .botones-verificacion {
                flex-direction: column;
                gap: 15px;
            }

            .boton-edad {
                width: 100%;
                padding: 15px;
            }

            .mensaje-advertencia {
                margin: 15px 0;
                padding: 15px;
            }

            .mensaje-advertencia p {
                font-size: 14px;
            }

            .contenedor-seccion h1 {
                font-size: 36px;
            }

            .contenedor-seccion p {
                font-size: 16px;
            }


            .texto-portada h1 {
                font-size: 2.5rem;
            }

            .texto-portada p {
                font-size: 1.2rem;
            }

            .contenido-portada {
                padding: 100px 15px 30px;
            }


            .mapa-espana {
                display: none;
            }

            .denominacion-do {
                display: none;
            }


            .contenido-movil {
                display: block;
            }

            .titulo-movil {
                font-size: 2rem;
                margin-bottom: 30px;
                letter-spacing: 0.8px;
                line-height: 1.25;
                word-spacing: 0.15em;
                max-width: 95%;
            }

            .selector-denominaciones {
                max-width: 300px;
                padding: 25px 15px;
            }
        }

        @media (max-width: 1024px) and (min-width: 769px) {
            .contenido-footer {
                grid-template-columns: 1.8fr 1fr 1fr;
                gap: 30px;
            }

            .contenedor-footer {
                padding: 50px 20px 35px;
            }

            .seccion-footer h3 {
                font-size: 1.2rem;
            }

            .seccion-empresa p {
                font-size: 0.9rem;
            }
        }


        @media (max-width: 900px) and (min-width: 769px) {
            .titulo-movil {
                font-size: 2.2rem;
                line-height: 1.28;
                letter-spacing: 0.9px;
                word-spacing: 0.18em;
                max-width: 85%;
            }
        }


        @media (max-width: 768px) {
            .contenido-footer {
                grid-template-columns: 1fr;
                gap: 35px;
                text-align: center;
            }

            .contenedor-footer {
                padding: 40px 15px 30px;
            }

            .seccion-footer {
                padding: 0;
            }

            .seccion-footer:not(:last-child)::after {
                display: none;
            }

            .seccion-footer:not(:last-child) {
                border-bottom: 1px solid rgba(191, 159, 107, 0.3);
                padding-bottom: 25px;
                margin-bottom: 10px;
            }

            .seccion-empresa {
                padding: 0;
                order: 1;
            }

            .seccion-contacto {
                order: 2;
            }

            .seccion-productos {
                order: 3;
            }

            .seccion-empresa p {
                text-align: center;
                font-size: 0.9rem;
                line-height: 1.6;
            }

            .seccion-footer h3 {
                font-size: 1.1rem;
                margin-bottom: 15px;
            }

            .info-contacto p {
                font-size: 0.9rem;
                margin-bottom: 10px;
            }

            .lista-productos li {
                font-size: 0.9rem;
                margin-bottom: 6px;
            }
        }


        @media (max-width: 480px) {
            .titulo-movil {
                font-size: 1.7rem;
                letter-spacing: 0.5px;
                margin-bottom: 25px;
                padding: 0 10px;
                line-height: 1.35;
                word-spacing: 0.1em;
                max-width: 100%;
            }

            .contenedor-footer {
                padding: 35px 10px 25px;
            }

            .contenido-footer {
                gap: 30px;
            }

            .seccion-footer h3 {
                font-size: 1rem;
                margin-bottom: 12px;
            }

            .seccion-empresa p {
                font-size: 0.85rem;
                line-height: 1.5;
            }

            .info-contacto p {
                font-size: 0.85rem;
                margin-bottom: 8px;
            }

            .lista-productos li {
                font-size: 0.85rem;
                margin-bottom: 5px;
            }

            .imagen-logo-empresa {
                max-width: 160px;
            }

            .contenido-instagram {
                flex-direction: column;
                gap: 30px;
                padding: 30px 20px;
            }

            .info-instagram {
                max-width: 100%;
            }

            .galeria-instagram {
                max-width: 100%;
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: repeat(3, 1fr);
            }

            .imagen-instagram {
                height: 120px;
            }
        }

        @media (min-width: 769px) and (max-width: 1024px) {

            .mapa-espana {
                width: 600px;
                height: 430px;
            }

            .imagen-mapa {
                width: 600px;
                height: 430px;
            }
        }

        .fondo-crema {
            background-color: #f7f6e7 !important;
            min-height: 100vh;
        }


        .seccion-marcas-rioja {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .marca-item {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 8px;
            background: transparent;
            border-radius: 20px;
            border: none;
            min-width: 280px;
            height: 160px;
        }

        .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .slider-estatico {
            justify-content: center;
        }

        .slider-automatico {
            animation: deslizar 15s infinite linear;
        }

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


        @media (max-width: 1024px) {
            .seccion-marcas-rioja {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .slider-marcas {
                gap: 30px;
            }

            .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-rioja {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .slider-marcas {
                gap: 20px;
            }

            .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }


        .seccion-marcas-catalunya {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .seccion-marcas-catalunya .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .seccion-marcas-catalunya .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .seccion-marcas-catalunya .marca-item {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px;
            background: transparent;
            border-radius: 20px;
            border: none;
            min-width: 320px;
            height: 180px;
        }

        .seccion-marcas-catalunya .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .seccion-marcas-catalunya .slider-estatico {
            justify-content: center;
        }

        .seccion-marcas-catalunya .slider-automatico {
            animation: deslizar 15s infinite linear;
        }


        @media (max-width: 1024px) {
            .seccion-marcas-catalunya {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .seccion-marcas-catalunya .slider-marcas {
                gap: 30px;
            }

            .seccion-marcas-catalunya .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-catalunya {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .seccion-marcas-catalunya .slider-marcas {
                gap: 20px;
            }

            .seccion-marcas-catalunya .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .seccion-marcas-catalunya .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }


        .seccion-marcas-emporda {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .seccion-marcas-emporda .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .seccion-marcas-emporda .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .seccion-marcas-emporda .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .seccion-marcas-emporda .slider-estatico {
            justify-content: center;
        }

        .seccion-marcas-emporda .slider-automatico {
            animation: deslizar 15s infinite linear;
        }


        @media (max-width: 1024px) {
            .seccion-marcas-emporda {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .seccion-marcas-emporda .slider-marcas {
                gap: 30px;
            }

            .seccion-marcas-emporda .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-emporda {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .seccion-marcas-emporda .slider-marcas {
                gap: 20px;
            }

            .seccion-marcas-emporda .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .seccion-marcas-emporda .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }


        .seccion-marcas-terra-alta {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .seccion-marcas-terra-alta .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .seccion-marcas-terra-alta .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .seccion-marcas-terra-alta .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .seccion-marcas-terra-alta .slider-estatico {
            justify-content: center;
        }

        .seccion-marcas-terra-alta .slider-automatico {
            animation: deslizar 15s infinite linear;
        }


        @media (max-width: 1024px) {
            .seccion-marcas-terra-alta {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .seccion-marcas-terra-alta .slider-marcas {
                gap: 30px;
            }

            .seccion-marcas-terra-alta .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-terra-alta {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .seccion-marcas-terra-alta .slider-marcas {
                gap: 20px;
            }

            .seccion-marcas-terra-alta .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .seccion-marcas-terra-alta .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }


        .seccion-marcas-tierra-castilla {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .seccion-marcas-tierra-castilla .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .seccion-marcas-tierra-castilla .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .seccion-marcas-tierra-castilla .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .seccion-marcas-tierra-castilla .slider-estatico {
            justify-content: center;
        }

        .seccion-marcas-tierra-castilla .slider-automatico {
            animation: deslizar 15s infinite linear;
        }


        @media (max-width: 1024px) {
            .seccion-marcas-tierra-castilla {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .seccion-marcas-tierra-castilla .slider-marcas {
                gap: 30px;
            }

            .seccion-marcas-tierra-castilla .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-tierra-castilla {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .seccion-marcas-tierra-castilla .slider-marcas {
                gap: 20px;
            }

            .seccion-marcas-tierra-castilla .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .seccion-marcas-tierra-castilla .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }


        .seccion-marcas-jumilla {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .seccion-marcas-jumilla .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .seccion-marcas-jumilla .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .seccion-marcas-jumilla .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .seccion-marcas-jumilla .slider-estatico {
            justify-content: center;
        }

        .seccion-marcas-jumilla .slider-automatico {
            animation: deslizar 15s infinite linear;
        }


        @media (max-width: 1024px) {
            .seccion-marcas-jumilla {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .seccion-marcas-jumilla .slider-marcas {
                gap: 30px;
            }

            .seccion-marcas-jumilla .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-jumilla {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .seccion-marcas-jumilla .slider-marcas {
                gap: 20px;
            }

            .seccion-marcas-jumilla .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .seccion-marcas-jumilla .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }


        .seccion-marcas-rias-baixas {
            background: #ffffff;
            padding: 40px 20px;
            margin: 0 auto 40px auto;
            max-width: 1200px;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .seccion-marcas-rias-baixas .contenedor-marcas {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .seccion-marcas-rias-baixas .slider-marcas {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 40px;
            align-items: center;
            justify-content: center;
        }

        .seccion-marcas-rias-baixas .logo-marca {
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }


        .seccion-marcas-rias-baixas .slider-estatico {
            justify-content: center;
        }

        .seccion-marcas-rias-baixas .slider-automatico {
            animation: deslizar 15s infinite linear;
        }


        @media (max-width: 1024px) {
            .seccion-marcas-rias-baixas {
                padding: 30px 15px;
                margin-bottom: 30px;
            }

            .seccion-marcas-rias-baixas .slider-marcas {
                gap: 30px;
            }

            .seccion-marcas-rias-baixas .marca-item {
                min-width: 280px;
                height: 160px;
                padding: 10px;
            }
        }

        @media (max-width: 768px) {
            .seccion-marcas-rias-baixas {
                padding: 25px 10px;
                margin-bottom: 25px;
            }

            .seccion-marcas-rias-baixas .slider-marcas {
                gap: 20px;
            }

            .seccion-marcas-rias-baixas .marca-item {
                min-width: 240px;
                height: 140px;
                padding: 8px;
            }
        }

        @media (max-width: 480px) {
            .seccion-marcas-rias-baixas .marca-item {
                min-width: 200px;
                height: 120px;
                padding: 6px;
            }
        }

        .titulo-rioja {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-rias-baixas {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-jumilla {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-emporda {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-catalunya {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-terra-alta {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-tierra-castilla {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .titulo-ribera-duero {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.2rem;
            font-weight: 900;
            margin-bottom: 40px;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .recuadro-rioja {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-rias-baixas {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-jumilla {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-emporda {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-catalunya {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-terra-alta {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-tierra-castilla {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .recuadro-ribera-duero {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            gap: 30px;
            padding: 40px;
            align-items: center;
            justify-content: space-between;
        }

        .rioja-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .rias-baixas-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .jumilla-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .emporda-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .catalunya-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .terra-alta-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .tierra-castilla-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .ribera-duero-info {
            flex: 1;
            max-width: 55%;
            padding: 0 20px 0 0;
        }

        .rioja-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .rias-baixas-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .jumilla-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .emporda-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .catalunya-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .terra-alta-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .tierra-castilla-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .ribera-duero-info h2.titulo-bodega {
            font-family: var(--fuente-elegante);
            font-size: 1.8rem;
            margin-bottom: 8px;
            color: var(--color-principal);
            font-weight: 700;
            letter-spacing: 1px;
            font-style: italic;
        }

        .linea-bodega {
            border: none;
            height: 2px;
            background-color: var(--color-principal);
            margin: 12px 0 18px 0;
            width: 100%;
        }

        .rioja-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .rias-baixas-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .jumilla-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .emporda-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .catalunya-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .terra-alta-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .tierra-castilla-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .ribera-duero-info p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--color-texto-nosotros);
        }

        .rioja-info ul {
            color: var(--color-texto-nosotros);
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
        }

        .rias-baixas-info ul {
            color: var(--color-texto-nosotros);
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 12px;
        }

        .rioja-info ul li {
            margin-bottom: 6px;
        }

        .rioja-info ul li strong {
            color: var(--color-principal);
        }

        .rias-baixas-info ul li {
            margin-bottom: 6px;
        }

        .rias-baixas-info ul li strong {
            color: var(--color-principal);
        }

        .rioja-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .rias-baixas-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .rias-baixas-imagenes-superiores {
            display: flex;
            gap: 12px;
            width: 100%;
        }

        .img-rias-baixas-superior {
            flex: 1;
            height: 200px;
            width: 50%;
            object-fit: cover;
            border-radius: 12px;
            border: 3px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 2px;
        }

        .img-rias-baixas-inferior {
            width: 100%;
            height: 180px;
            object-fit: cover;
            border-radius: 12px;
            border: 3px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 2px;
        }

        .jumilla-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .jumilla-imagenes-superiores {
            display: flex;
            gap: 12px;
            width: 100%;
        }

        .img-jumilla-superior {
            flex: 1;
            height: 200px;
            width: 50%;
            object-fit: cover;
            border-radius: 12px;
            border: 3px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 2px;
        }

        .img-jumilla-inferior {
            width: 100%;
            height: 180px;
            object-fit: cover;
            border-radius: 12px;
            border: 3px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 2px;
        }

        .emporda-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .catalunya-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .terra-alta-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .tierra-castilla-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .ribera-duero-imagenes {
            flex: 0 0 400px;
            max-width: 400px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .ribera-duero-imagenes-superiores {
            display: flex;
            gap: 12px;
            width: 100%;
        }

        .img-ribera-duero-superior {
            flex: 1;
            height: 200px;
            width: 50%;
            object-fit: cover;
            border-radius: 12px;
            border: 3px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 2px;
        }

        .img-ribera-duero-inferior {
            width: 100%;
            height: 180px;
            object-fit: cover;
            border-radius: 12px;
            border: 3px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 2px;
        }

        .img-rioja {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-rias-baixas {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-jumilla {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-emporda {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-catalunya {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-terra-alta {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-tierra-castilla {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }

        .img-ribera-duero {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 18px;
            border: 5px solid var(--color-dorado);
            box-sizing: border-box;
            background: #fff;
            padding: 4px;
        }


        @media (max-width: 900px) {
            .recuadro-rioja {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .rioja-info {
                max-width: 100%;
                padding: 0;
            }
            
            .rioja-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
            }
            
            .img-rioja {
                max-width: 450px;
                height: 240px;
                margin: 0 auto;
            }

            .recuadro-rias-baixas {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .rias-baixas-info {
                max-width: 100%;
                padding: 0;
            }
            
            .rias-baixas-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
                max-width: 450px;
                margin: 0 auto;
            }
            
            .rias-baixas-imagenes-superiores {
                gap: 6px;
            }
            
            .img-rias-baixas-superior {
                height: 100px;
            }
            
            .img-rias-baixas-inferior {
                height: 120px;
            }

            .recuadro-jumilla {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .jumilla-info {
                max-width: 100%;
                padding: 0;
            }
            
            .jumilla-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
                max-width: 450px;
                margin: 0 auto;
            }
            
            .jumilla-imagenes-superiores {
                gap: 6px;
            }
            
            .img-jumilla-superior {
                height: 100px;
            }
            
            .img-jumilla-inferior {
                height: 120px;
            }

            .recuadro-emporda {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .emporda-info {
                max-width: 100%;
                padding: 0;
            }
            
            .emporda-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
            }
            
            .img-emporda {
                max-width: 450px;
                height: 240px;
                margin: 0 auto;
            }

            .recuadro-catalunya {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .catalunya-info {
                max-width: 100%;
                padding: 0;
            }
            
            .catalunya-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
            }
            
            .img-catalunya {
                max-width: 450px;
                height: 240px;
                margin: 0 auto;
            }

            .recuadro-terra-alta {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .terra-alta-info {
                max-width: 100%;
                padding: 0;
            }
            
            .terra-alta-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
            }
            
            .img-terra-alta {
                max-width: 450px;
                height: 240px;
                margin: 0 auto;
            }

            .recuadro-tierra-castilla {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .tierra-castilla-info {
                max-width: 100%;
                padding: 0;
            }
            
            .tierra-castilla-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
            }
            
            .img-tierra-castilla {
                max-width: 450px;
                height: 240px;
                margin: 0 auto;
            }

            .recuadro-ribera-duero {
                flex-direction: column;
                padding: 30px 20px;
                gap: 25px;
                text-align: center;
            }
            
            .ribera-duero-info {
                max-width: 100%;
                padding: 0;
            }
            
            .ribera-duero-imagenes {
                flex: 0 0 auto;
                max-width: 100%;
                width: 100%;
                max-width: 450px;
                margin: 0 auto;
            }
            
            .ribera-duero-imagenes-superiores {
                gap: 6px;
            }
            
            .img-ribera-duero-superior {
                height: 100px;
            }
            
            .img-ribera-duero-inferior {
                height: 120px;
            }
        }

        @media (max-width: 600px) {
            .recuadro-rioja {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .rioja-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .rioja-info p {
                font-size: 0.95rem;
            }
            
            .img-rioja {
                max-width: 100%;
                height: 220px;
            }

            .recuadro-rias-baixas {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .rias-baixas-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .rias-baixas-info p {
                font-size: 0.95rem;
            }
            
            .rias-baixas-imagenes {
                max-width: 100%;
                gap: 4px;
            }
            
            .rias-baixas-imagenes-superiores {
                gap: 4px;
            }
            
            .img-rias-baixas-superior {
                height: 80px;
                border-radius: 8px;
                border: 2px solid var(--color-dorado);
            }
            
            .img-rias-baixas-inferior {
                height: 100px;
                border-radius: 8px;
                border: 2px solid var(--color-dorado);
            }

            .recuadro-jumilla {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .jumilla-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .jumilla-info p {
                font-size: 0.95rem;
            }
            
            .jumilla-imagenes {
                max-width: 100%;
                gap: 4px;
            }
            
            .jumilla-imagenes-superiores {
                gap: 4px;
            }
            
            .img-jumilla-superior {
                height: 80px;
                border-radius: 8px;
                border: 2px solid var(--color-dorado);
            }
            
            .img-jumilla-inferior {
                height: 100px;
                border-radius: 8px;
                border: 2px solid var(--color-dorado);
            }

            .recuadro-emporda {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .emporda-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .emporda-info p {
                font-size: 0.95rem;
            }
            
            .img-emporda {
                max-width: 100%;
                height: 220px;
            }

            .recuadro-catalunya {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .catalunya-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .catalunya-info p {
                font-size: 0.95rem;
            }
            
            .img-catalunya {
                max-width: 100%;
                height: 220px;
            }

            .recuadro-terra-alta {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .terra-alta-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .terra-alta-info p {
                font-size: 0.95rem;
            }
            
            .img-terra-alta {
                max-width: 100%;
                height: 220px;
            }

            .recuadro-tierra-castilla {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .tierra-castilla-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .tierra-castilla-info p {
                font-size: 0.95rem;
            }
            
            .img-tierra-castilla {
                max-width: 100%;
                height: 220px;
            }

            .recuadro-ribera-duero {
                padding: 20px 15px;
                gap: 20px;
            }
            
            .ribera-duero-info h2.titulo-bodega {
                font-size: 1.3rem;
            }
            
            .ribera-duero-info p {
                font-size: 0.95rem;
            }
            
            .ribera-duero-imagenes {
                max-width: 100%;
                gap: 4px;
            }
            
            .ribera-duero-imagenes-superiores {
                gap: 4px;
            }
            
            .img-ribera-duero-superior {
                height: 80px;
                border-radius: 8px;
                border: 2px solid var(--color-dorado);
            }
            
            .img-ribera-duero-inferior {
                height: 100px;
                border-radius: 8px;
                border: 2px solid var(--color-dorado);
            }
        }

        .cuadricula-nosotros {
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: 1fr 1fr;
            gap: 2rem;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .cuadro-nosotros {
            background: white;
            border-radius: 15px;
            padding: 2.5rem 2rem;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            min-height: 280px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            border: none;
        }

        .cuadro-nosotros:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
        }

        .cuadro-nosotros h2 {
            color: var(--color-principal);
            font-family: var(--fuente-titulos);
            font-size: 1.8rem;
            font-weight: 700;
            margin-bottom: 1.5rem;
            text-align: left;
            position: relative;
        }

        .cuadro-nosotros h2::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 50px;
            height: 3px;
            background: var(--color-dorado);
            border-radius: 2px;
        }

        .cuadro-nosotros p {
            color: #333;
            font-family: var(--fuente-principal);
            font-size: 1.1rem;
            line-height: 1.7;
            text-align: justify;
            margin: 0;
        }

        @media (max-width: 900px) {
            .cuadricula-nosotros {
                grid-template-columns: 1fr;
                grid-template-rows: repeat(4, auto);
                gap: 1.5rem;
                padding: 0 1rem;
            }
            .cuadro-nosotros {
                min-height: 0;
                padding: 2rem 1.5rem;
            }
            .cuadro-nosotros h2 {
                font-size: 1.6rem;
                margin-bottom: 1.2rem;
            }
            .cuadro-nosotros p {
                font-size: 1rem;
            }
        }

        @media (max-width: 600px) {
            .cuadricula-nosotros {
                padding: 0 0.5rem;
                gap: 1rem;
            }
            .cuadro-nosotros {
                padding: 1.5rem 1rem;
            }
            .cuadro-nosotros h2 {
                font-size: 1.4rem;
                margin-bottom: 1rem;
            }
            .cuadro-nosotros p {
                font-size: 0.95rem;
                line-height: 1.6;
            }
        }

        .valores-container {
            background: #fff;
            border-radius: 32px;
            box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10);
            max-width: 1100px;
            margin: 40px auto 0;
            padding: 28px 18px;
        }

        .valores-titulo {
            text-align: center;
            color: var(--color-principal);
            font-size: 2.2rem;
            font-weight: bold;
            margin-bottom: 16px;
            letter-spacing: 1px;
        }

        .valores-subtitulo {
            text-align: center;
            color: var(--color-texto-nosotros);
            font-size: 1.1rem;
            line-height: 1.6;
            margin-bottom: 32px;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
        }

        .valores-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin-bottom: 0;
        }

        .valor-box {
            background: #f7f6e7;
            border-radius: 16px;
            padding: 20px 16px;
            text-align: center;
            border: 2px solid var(--color-dorado);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .valor-box:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(191, 159, 107, 0.3);
        }

        .valor-icono {
            display: flex;
            align-items: center;
            justify-content: center;
            background: #c2ad7f;
            color: #fff;
            border-radius: 50%;
            width: 54px;
            height: 54px;
            font-size: 2.1rem;
            margin-bottom: 12px;
            margin-left: auto;
            margin-right: auto;
        }

        .valor-icono i {
            color: #fff;
            font-size: 2.1rem;
            line-height: 1;
            width: 1em;
            height: 1em;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .valor-box h3 {
            color: #222;
            font-size: 1.13rem;
            font-weight: bold;
            margin-bottom: 7px;
            text-align: center;
        }

        .valor-box p {
            color: #444;
            font-size: 0.98rem;
            text-align: center;
            margin: 0;
        }

        @media (max-width: 1100px) {
            .valores-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }
        
        @media (max-width: 900px) {
            .valores-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        
        @media (max-width: 700px) {
            .valores-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .valores-titulo {
                font-size: 1.8rem;
            }
            
            .valores-subtitulo {
                font-size: 1rem;
            }
        }
        
        @media (max-width: 500px) {
            .valores-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }
            
            .valores-container {
                padding: 20px 12px;
                margin: 30px auto 0;
            }
            
            .valores-titulo {
                font-size: 1.6rem;
            }
            
            .valores-subtitulo {
                font-size: 0.95rem;
                margin-bottom: 24px;
            }
        }


        .icon-honestidad::before { content: "⚖️"; }
        .icon-lealtad::before { content: "🤝"; }
        .icon-equipo::before { content: "👥"; }
        .icon-puntualidad::before { content: "⏰"; }
        .icon-responsabilidad::before { content: "🌱"; }
        .icon-calidad::before { content: "🏅"; }
        .icon-servicio::before { content: "🍷"; }
        .icon-impulso::before { content: "🚀"; }
        .icon-creatividad::before { content: "💡"; }
        .icon-seguridad::before { content: "🛡️"; }


        .catalogo-vinos {
            margin-top: 3rem;
            padding: 2rem;
            background: #f7f6e7;
            border-radius: 15px;
        }

        .titulo-catalogo {
            text-align: center;
            font-family: var(--fuente-titulos);
            font-size: 2.8rem;
            color: var(--color-dorado-fuerte);
            margin-bottom: 3rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 2px;
            text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
        }

        .grid-vinos {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-top: 2rem;
            max-width: 1200px;
            margin-left: auto;
            margin-right: auto;
        }

        .card-vino-simple {
            background: white;
            border-radius: 15px;
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            border: 2px solid transparent;
            height: 400px;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .card-vino-simple:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
            border-color: var(--color-dorado);
        }

        .imagen-vino-simple {
            height: 220px;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 10px;
            padding: 1rem;
            flex-shrink: 0;
        }

        .imagen-vino-simple img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
            transition: transform 0.3s ease;
        }

        .card-vino-simple:hover .imagen-vino-simple img {
            transform: scale(1.05);
        }

        .nombre-vino {
            color: #8B4513;
            font-family: var(--fuente-elegante);
            font-size: 1.2rem;
            font-weight: 500;
            margin-bottom: 1rem;
            line-height: 1.3;
            font-style: italic;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .btn-descargar-ficha {
            background: var(--color-dorado);
            color: white;
            border: none;
            padding: 0.8rem 1.5rem;
            border-radius: 25px;
            font-family: var(--fuente-principal);
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 0.8px;
            width: 100%;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            flex-shrink: 0;
         
        }

        .btn-descargar-ficha:hover {
            background: #a08660;
            transform: translateY(-2px);
        }

        .btn-descargar-ficha i {
            font-size: 1rem;
        }


        .modal-vino {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(5px);
            align-items: center;
            justify-content: center;
            padding: 2rem 1rem;
            box-sizing: border-box;
            -webkit-overflow-scrolling: touch;
        }

        .modal-vino[style*="block"],
        .modal-vino.activo {
            display: flex !important;
        }

        .modal-contenido {
            background-color: white;
            margin: 0;
            padding: 0;
            border-radius: 15px;
            width: 90%;
            max-width: 750px;
            min-width: 420px;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            animation: modalAparece 0.3s ease;
        }


        @media (min-width: 1440px) {
            .modal-contenido {
                width: 80%;
                max-width: 800px;
            }
        }

        @keyframes modalAparece {
            from { 
                opacity: 0; 
                transform: scale(0.9) translateY(-20px);
            }
            to { 
                opacity: 1; 
                transform: scale(1) translateY(0);
            }
        }

        .modal-header {
            background: var(--color-dorado);
            color: white;
            padding: 1.5rem 2rem;
            border-radius: 15px 15px 0 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .modal-header h2 {
            margin: 0;
            font-size: 1.6rem;
            font-weight: 900;
            font-family: var(--fuente-titulos);
        }

        .modal-cerrar {
            font-size: 2rem;
            font-weight: bold;
            cursor: pointer;
            color: white;
            transition: color 0.3s ease;
            padding: 0.2rem;
            min-width: 44px;
            min-height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .modal-cerrar:hover {
            color: #f0f0f0;
        }

        .modal-body {
            padding: 2rem;
            display: flex;
            gap: 2rem;
            align-items: flex-start;
        }

        .modal-imagen {
            flex: 0 0 240px;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 10px;
            padding: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 280px;
        }

        .modal-imagen img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        .modal-info {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .info-item {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
        }

        .info-item .label {
            color: var(--color-dorado);
            font-weight: 800;
            min-width: 95px;
            font-size: 1rem;
            font-family: var(--fuente-principal);
        }

        .info-item span:last-child {
            color: #333;
            flex: 1;
            line-height: 1.5;
            font-size: 1rem;
        }

        .modal-footer {
            padding: 1.5rem 2rem;
            border-top: 1px solid #e9ecef;
            text-align: center;
            border-radius: 0 0 15px 15px;
        }

        .btn-descargar-pdf {
            background: #8B4513;
            color: white;
            border: none;
            padding: 1rem 2rem;
            border-radius: 25px;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.3s ease;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-family: var(--fuente-principal);
        }

        .btn-descargar-pdf:hover {
            background: #6d3410;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        }

        @media (max-width: 1024px) and (min-width: 769px) {
            .modal-contenido {
                width: 90%;
                max-width: 650px;
            }

            .modal-body {
                padding: 1.7rem;
                gap: 1.7rem;
            }

            .modal-imagen {
                flex: 0 0 200px;
                height: 240px;
            }

            .modal-header h2 {
                font-size: 1.5rem;
            }

            .info-item .label {
                min-width: 90px;
            }
        }


        @media (max-width: 1024px) and (min-width: 769px) {
            .grid-vinos,
            .catalogo-vinos-emporda .grid-vinos,
            .catalogo-vinos-catalunya .grid-vinos,
            .catalogo-vinos-terra-alta .grid-vinos,
            .catalogo-vinos-tierra-castilla .grid-vinos,
            .catalogo-vinos-jumilla .grid-vinos {
                grid-template-columns: repeat(3, 1fr);
                gap: 1.8rem;
            }

            .card-vino-simple {
                padding: 1.8rem 1.3rem;
            }

            .imagen-vino-simple {
                height: 180px;
            }

            .nombre-vino {
                font-size: 1.2rem;
            }
        }


        @media (max-width: 1024px) and (min-width: 769px) {
            .catalogo-vinos-catalunya .card-vino-simple,
            .catalogo-vinos-terra-alta .card-vino-simple,
            .catalogo-vinos-tierra-castilla .card-vino-simple,
            .catalogo-vinos-jumilla .card-vino-simple {
                padding: 1.8rem 1.3rem;
            }

            .catalogo-vinos-catalunya .imagen-vino-simple,
            .catalogo-vinos-terra-alta .imagen-vino-simple,
            .catalogo-vinos-tierra-castilla .imagen-vino-simple,
            .catalogo-vinos-jumilla .imagen-vino-simple {
                height: 180px;
            }

            .catalogo-vinos-catalunya .nombre-vino,
            .catalogo-vinos-terra-alta .nombre-vino,
            .catalogo-vinos-tierra-castilla .nombre-vino,
            .catalogo-vinos-jumilla .nombre-vino {
                font-size: 1.1rem;
            }
        }


        @media (max-width: 768px) {
            .modal-vino {
                padding: 1rem 0.5rem;
            }
            .catalogo-vinos {
                margin-top: 2rem;
                padding: 1.5rem;
            }

            .titulo-catalogo {
                font-size: 2rem;
                margin-bottom: 2rem;
            }

            .grid-vinos {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.5rem;
            }

            .card-vino-simple {
                padding: 1.5rem 1rem;
            }

            .imagen-vino-simple {
                height: 150px;
                margin-bottom: 1rem;
            }

            .nombre-vino {
                font-size: 1rem;
                margin-bottom: 1rem;
            }

            .btn-descargar-ficha {
                padding: 0.7rem 1rem;
                font-size: 0.8rem;
            }

            .modal-contenido {
                width: 92%;
                max-height: 95vh;
                overflow-y: auto;
                min-width: 300px;
            }

            .modal-body {
                flex-direction: column;
                padding: 1rem;
                gap: 1rem;
            }

            .modal-imagen {
                flex: none;
                width: 100%;
                height: 160px;
                padding: 0.5rem;
            }

            .modal-header {
                padding: 1rem;
            }

            .modal-header h2 {
                font-size: 1.2rem;
                font-weight: 900;
                line-height: 1.3;
            }

            .modal-footer {
                padding: 1rem;
            }

            .btn-descargar-pdf {
                padding: 0.8rem 1rem;
                font-size: 0.9rem;
                width: 100%;
                justify-content: center;
            }

            .modal-info {
                gap: 0.7rem;
            }

            .info-item {
                gap: 0.7rem;
            }

            .info-item .label {
                min-width: 70px;
                font-size: 0.9rem;
            }

            .info-item span:last-child {
                font-size: 0.9rem;
                line-height: 1.4;
            }
        }

        @media (max-width: 480px) {
            .grid-vinos {
                grid-template-columns: 1fr;
            }

            .modal-vino {
                padding: 0.5rem 0.3rem;
            }


            .modal-contenido {
                width: 95%;
                max-height: 98vh;
                min-width: 280px;
            }

            .modal-body {
                padding: 0.8rem;
                gap: 0.8rem;
            }

            .modal-imagen {
                height: 140px;
                padding: 0.4rem;
            }

            .modal-header {
                padding: 0.8rem;
            }

            .modal-header h2 {
                font-size: 1.1rem;
                line-height: 1.2;
            }

            .modal-footer {
                padding: 0.8rem;
            }

            .btn-descargar-pdf {
                padding: 0.7rem 0.8rem;
                font-size: 0.85rem;
            }

            .modal-info {
                gap: 0.6rem;
            }

            .info-item {
                gap: 0.6rem;
            }

            .info-item .label {
                min-width: 65px;
                font-size: 0.85rem;
            }

            .info-item span:last-child {
                font-size: 0.85rem;
                line-height: 1.3;
            }

            .modal-cerrar {
                font-size: 1.5rem;
            }
        }


        @media (max-width: 768px) and (orientation: landscape) {
            .modal-vino {
                padding: 0.5rem;
            }
            
            .modal-contenido {
                max-height: 95vh;
            }
            
            .modal-imagen {
                height: 120px;
            }
        }


        .catalogo-vinos-emporda {
            background: #f7f6e7;
            margin: 3rem 0;
            padding: 3rem 2rem;
            border-radius: 15px;
        }

        .catalogo-vinos-emporda .titulo-catalogo {
            text-align: center;
            color: #8B4513;
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 3rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .catalogo-vinos-emporda .grid-vinos {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .catalogo-vinos-emporda .card-vino-simple {
            background: white;
            border-radius: 15px;
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            border: 2px solid transparent;
            height: 400px;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .catalogo-vinos-emporda .card-vino-simple:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
            border-color: var(--color-dorado);
        }

        .catalogo-vinos-emporda .imagen-vino-simple {
            height: 220px;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 10px;
            padding: 1rem;
            flex-shrink: 0;
        }

        .catalogo-vinos-emporda .imagen-vino-simple img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
            transition: transform 0.3s ease;
        }

        .catalogo-vinos-emporda .card-vino-simple:hover .imagen-vino-simple img {
            transform: scale(1.05);
        }

        .catalogo-vinos-emporda .nombre-vino {
            color: #8B4513;
            font-size: 1.2rem;
            font-weight: bold;
            margin-bottom: 1rem;
            line-height: 1.3;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .catalogo-vinos-emporda .btn-descargar-ficha {
            background: var(--color-dorado);
            color: white;
            border: none;
            padding: 0.8rem 1.5rem;
            border-radius: 25px;
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            width: 100%;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            flex-shrink: 0;
   
        }

        .catalogo-vinos-emporda .btn-descargar-ficha:hover {
            background: #a08660;
            transform: translateY(-2px);
        }

        .catalogo-vinos-emporda .btn-descargar-ficha i {
            font-size: 1rem;
        }


        @media (max-width: 1024px) and (min-width: 769px) {
            .catalogo-vinos-emporda .card-vino-simple {
                padding: 1.8rem 1.3rem;
            }

            .catalogo-vinos-emporda .imagen-vino-simple {
                height: 180px;
            }

            .catalogo-vinos-emporda .nombre-vino {
                font-size: 1.1rem;
            }
        }


        @media (max-width: 768px) {
            .catalogo-vinos-emporda {
                margin-top: 2rem;
                padding: 1.5rem;
            }

            .catalogo-vinos-emporda .titulo-catalogo {
                font-size: 2rem;
                margin-bottom: 2rem;
            }

            .catalogo-vinos-emporda .grid-vinos {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.5rem;
            }

            .catalogo-vinos-emporda .card-vino-simple {
                padding: 1.5rem 1rem;
            }

            .catalogo-vinos-emporda .imagen-vino-simple {
                height: 150px;
                margin-bottom: 1rem;
            }

            .catalogo-vinos-emporda .nombre-vino {
                font-size: 1rem;
                margin-bottom: 1rem;
            }

            .catalogo-vinos-emporda .btn-descargar-ficha {
                padding: 0.7rem 1rem;
                font-size: 0.8rem;
            }
        }

        @media (max-width: 480px) {
            .catalogo-vinos-emporda .grid-vinos {
                grid-template-columns: 1fr;
            }
        }


        .catalogo-vinos-catalunya,
        .catalogo-vinos-terra-alta,
        .catalogo-vinos-tierra-castilla,
        .catalogo-vinos-jumilla {
            background: #f7f6e7;
            margin: 3rem 0;
            padding: 3rem 2rem;
            border-radius: 15px;
        }

        .catalogo-vinos-catalunya .titulo-catalogo,
        .catalogo-vinos-terra-alta .titulo-catalogo,
        .catalogo-vinos-tierra-castilla .titulo-catalogo,
        .catalogo-vinos-jumilla .titulo-catalogo {
            text-align: center;
            color: #8B4513;
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 3rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .catalogo-vinos-catalunya .grid-vinos,
        .catalogo-vinos-terra-alta .grid-vinos,
        .catalogo-vinos-tierra-castilla .grid-vinos,
        .catalogo-vinos-jumilla .grid-vinos {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .catalogo-vinos-catalunya .card-vino-simple,
        .catalogo-vinos-terra-alta .card-vino-simple,
        .catalogo-vinos-tierra-castilla .card-vino-simple,
        .catalogo-vinos-jumilla .card-vino-simple {
            background: white;
            border-radius: 15px;
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            border: 2px solid transparent;
            height: 400px;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .catalogo-vinos-catalunya .card-vino-simple:hover,
        .catalogo-vinos-terra-alta .card-vino-simple:hover,
        .catalogo-vinos-tierra-castilla .card-vino-simple:hover,
        .catalogo-vinos-jumilla .card-vino-simple:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
            border-color: var(--color-dorado);
        }

        .catalogo-vinos-catalunya .imagen-vino-simple,
        .catalogo-vinos-terra-alta .imagen-vino-simple,
        .catalogo-vinos-tierra-castilla .imagen-vino-simple,
        .catalogo-vinos-jumilla .imagen-vino-simple {
            height: 220px;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 10px;
            padding: 1rem;
            flex-shrink: 0;
        }

        .catalogo-vinos-catalunya .imagen-vino-simple img,
        .catalogo-vinos-terra-alta .imagen-vino-simple img,
        .catalogo-vinos-tierra-castilla .imagen-vino-simple img,
        .catalogo-vinos-jumilla .imagen-vino-simple img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
            transition: transform 0.3s ease;
        }

        .catalogo-vinos-catalunya .card-vino-simple:hover .imagen-vino-simple img,
        .catalogo-vinos-terra-alta .card-vino-simple:hover .imagen-vino-simple img,
        .catalogo-vinos-tierra-castilla .card-vino-simple:hover .imagen-vino-simple img,
        .catalogo-vinos-jumilla .card-vino-simple:hover .imagen-vino-simple img {
            transform: scale(1.05);
        }

        .catalogo-vinos-catalunya .nombre-vino,
        .catalogo-vinos-terra-alta .nombre-vino,
        .catalogo-vinos-tierra-castilla .nombre-vino,
        .catalogo-vinos-jumilla .nombre-vino {
            color: #8B4513;
            font-size: 1.2rem;
            font-weight: bold;
            margin-bottom: 1rem;
            line-height: 1.3;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .catalogo-vinos-catalunya .btn-descargar-ficha,
        .catalogo-vinos-terra-alta .btn-descargar-ficha,
        .catalogo-vinos-tierra-castilla .btn-descargar-ficha,
        .catalogo-vinos-jumilla .btn-descargar-ficha {
            background: var(--color-dorado);
            color: white;
            border: none;
            padding: 0.8rem 1.5rem;
            border-radius: 25px;
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            width: 100%;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            flex-shrink: 0;

        }

        .catalogo-vinos-catalunya .btn-descargar-ficha:hover,
        .catalogo-vinos-terra-alta .btn-descargar-ficha:hover,
        .catalogo-vinos-tierra-castilla .btn-descargar-ficha:hover,
        .catalogo-vinos-jumilla .btn-descargar-ficha:hover {
            background: #a08660;
            transform: translateY(-2px);
        }

        .catalogo-vinos-catalunya .btn-descargar-ficha i,
        .catalogo-vinos-terra-alta .btn-descargar-ficha i,
        .catalogo-vinos-tierra-castilla .btn-descargar-ficha i,
        .catalogo-vinos-jumilla .btn-descargar-ficha i {
            font-size: 1rem;
        }


        @media (max-width: 768px) {
            .catalogo-vinos-catalunya,
            .catalogo-vinos-terra-alta,
            .catalogo-vinos-tierra-castilla,
            .catalogo-vinos-jumilla {
                margin-top: 2rem;
                padding: 1.5rem;
            }

            .catalogo-vinos-catalunya .titulo-catalogo,
            .catalogo-vinos-terra-alta .titulo-catalogo,
            .catalogo-vinos-tierra-castilla .titulo-catalogo,
            .catalogo-vinos-jumilla .titulo-catalogo {
                font-size: 2rem;
                margin-bottom: 2rem;
            }

            .catalogo-vinos-catalunya .grid-vinos,
            .catalogo-vinos-terra-alta .grid-vinos,
            .catalogo-vinos-tierra-castilla .grid-vinos,
            .catalogo-vinos-jumilla .grid-vinos {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.5rem;
            }

            .catalogo-vinos-catalunya .card-vino-simple,
            .catalogo-vinos-terra-alta .card-vino-simple,
            .catalogo-vinos-tierra-castilla .card-vino-simple,
            .catalogo-vinos-jumilla .card-vino-simple {
                padding: 1.5rem 1rem;
            }

            .catalogo-vinos-catalunya .imagen-vino-simple,
            .catalogo-vinos-terra-alta .imagen-vino-simple,
            .catalogo-vinos-tierra-castilla .imagen-vino-simple,
            .catalogo-vinos-jumilla .imagen-vino-simple {
                height: 150px;
                margin-bottom: 1rem;
            }

            .catalogo-vinos-catalunya .nombre-vino,
            .catalogo-vinos-terra-alta .nombre-vino,
            .catalogo-vinos-tierra-castilla .nombre-vino,
            .catalogo-vinos-jumilla .nombre-vino {
                font-size: 1rem;
                margin-bottom: 1rem;
            }

            .catalogo-vinos-catalunya .btn-descargar-ficha,
            .catalogo-vinos-terra-alta .btn-descargar-ficha,
            .catalogo-vinos-tierra-castilla .btn-descargar-ficha,
            .catalogo-vinos-jumilla .btn-descargar-ficha {
                padding: 0.7rem 1rem;
                font-size: 0.8rem;
            }
        }

        @media (max-width: 480px) {
            .catalogo-vinos-catalunya .grid-vinos,
            .catalogo-vinos-terra-alta .grid-vinos,
            .catalogo-vinos-tierra-castilla .grid-vinos,
            .catalogo-vinos-jumilla .grid-vinos {
                grid-template-columns: 1fr;
            }
        }


        .catalogo-vinos-rias-baixas {
            background: #f7f6e7;
            margin: 3rem 0;
            padding: 3rem 2rem;
            border-radius: 15px;
        }

        .catalogo-vinos-rias-baixas .titulo-catalogo {
            text-align: center;
            color: #8B4513;
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 3rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .catalogo-vinos-rias-baixas .grid-vinos {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .catalogo-vinos-rias-baixas .card-vino-simple {
            background: white;
            border-radius: 15px;
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            border: 2px solid transparent;
            height: 400px;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .catalogo-vinos-rias-baixas .card-vino-simple:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
            border-color: var(--color-dorado);
        }

        .catalogo-vinos-rias-baixas .imagen-vino-simple {
            height: 220px;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 10px;
            padding: 1rem;
            flex-shrink: 0;
        }

        .catalogo-vinos-rias-baixas .imagen-vino-simple img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
            transition: transform 0.3s ease;
        }

        .catalogo-vinos-rias-baixas .card-vino-simple:hover .imagen-vino-simple img {
            transform: scale(1.05);
        }

        .catalogo-vinos-rias-baixas .nombre-vino {
            color: #8B4513;
            font-size: 1.2rem;
            font-weight: bold;
            margin-bottom: 1rem;
            line-height: 1.3;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .catalogo-vinos-rias-baixas .btn-descargar-ficha {
            background: var(--color-dorado);
            color: white;
            border: none;
            padding: 0.8rem 1.5rem;
            border-radius: 25px;
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            width: 100%;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            flex-shrink: 0;
    
        }

        .catalogo-vinos-rias-baixas .btn-descargar-ficha:hover {
            background: #a08660;
            transform: translateY(-2px);
        }

        .catalogo-vinos-rias-baixas .btn-descargar-ficha i {
            font-size: 1rem;
        }


        @media (max-width: 768px) {
            .catalogo-vinos-rias-baixas {
                margin-top: 2rem;
                padding: 1.5rem;
            }

            .catalogo-vinos-rias-baixas .titulo-catalogo {
                font-size: 2rem;
                margin-bottom: 2rem;
            }

            .catalogo-vinos-rias-baixas .grid-vinos {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.5rem;
            }

            .catalogo-vinos-rias-baixas .card-vino-simple {
                padding: 1.5rem 1rem;
            }

            .catalogo-vinos-rias-baixas .imagen-vino-simple {
                height: 150px;
                margin-bottom: 1rem;
            }

            .catalogo-vinos-rias-baixas .nombre-vino {
                font-size: 1rem;
                margin-bottom: 1rem;
            }

            .catalogo-vinos-rias-baixas .btn-descargar-ficha {
                padding: 0.7rem 1rem;
                font-size: 0.8rem;
            }
        }

        @media (max-width: 480px) {
            .catalogo-vinos-rias-baixas .grid-vinos {
                grid-template-columns: 1fr;
            }
        }


        #seccion-nosotros {
            background: #f7f6e7;
            min-height: 100vh;
            padding: 4rem 0;
        }

        .contenedor-nosotros {
            max-width: 900px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .contenedor-nosotros h1 {
            text-align: center;
            color: #8B4513;
            font-size: 3rem;
            font-weight: bold;
            margin-bottom: 3rem;
            letter-spacing: 2px;
        }

        .contenido-nosotros {
            background: white;
            padding: 3rem;
            border-radius: 15px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .contenido-nosotros h2 {
            color: #8B4513;
            font-size: 1.8rem;
            margin-bottom: 1.5rem;
            margin-top: 2rem;
            font-weight: bold;
        }

        .contenido-nosotros h2:first-child {
            margin-top: 0;
        }

        .contenido-nosotros p {
            color: #333;
            line-height: 1.8;
            margin-bottom: 1.5rem;
            font-size: 1.1rem;
            text-align: justify;
        }

        .contenido-nosotros ul {
            margin-left: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .contenido-nosotros li {
            color: #333;
            line-height: 1.8;
            margin-bottom: 1rem;
            font-size: 1.1rem;
        }

        .contenido-nosotros li strong {
            color: #8B4513;
            font-weight: bold;
        }


        @media (max-width: 768px) {
            .contenedor-nosotros {
                padding: 0 1rem;
            }

            .contenedor-nosotros h1 {
                font-size: 2.5rem;
                margin-bottom: 2rem;
            }

            .contenido-nosotros {
                padding: 2rem;
            }

            .contenido-nosotros h2 {
                font-size: 1.5rem;
                margin-bottom: 1rem;
                margin-top: 1.5rem;
            }

            .contenido-nosotros p,
            .contenido-nosotros li {
                font-size: 1rem;
            }
        }

        @media (max-width: 480px) {
            .contenedor-nosotros h1 {
                font-size: 2rem;
            }

            .contenido-nosotros {
                padding: 1.5rem;
            }

            .contenido-nosotros h2 {
                font-size: 1.3rem;
            }
        }


        #seccion-contacto {
            background: #f5f3e8;
            min-height: 100vh;
        }

        .contenedor-contacto {
            max-width: 1200px;
            margin: 0 auto;
            padding: 4rem 2rem;
        }

        .titulo-contacto {
            text-align: center;
            color: var(--color-dorado-fuerte);
            font-family: var(--fuente-titulos);
            font-size: 3.5rem;
            font-weight: 900;
            margin-bottom: 4rem;
            letter-spacing: 3px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }


        .tarjetas-contacto {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-bottom: 4rem;
        }

        .tarjeta-info {
            background: white;
            padding: 2.5rem 2rem;
            border-radius: 10px;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
        }

        .tarjeta-info:hover {
            transform: translateY(-5px);
        }

        .icono-contacto {
            width: 60px;
            height: 60px;
            margin: 0 auto 1.5rem;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            color: white;
        }

        .icono-contacto {
            background: #e91e63;
        }

        .icono-contacto.telefono {
            background: #e91e63;
        }

        .icono-contacto.email {
            background: #9c27b0;
        }

        .tarjeta-info h3 {
            color: #333;
            font-size: 1.1rem;
            font-weight: bold;
            margin-bottom: 1rem;
            line-height: 1.4;
            text-transform: uppercase;
        }

        .info-detalle {
            color: #666;
            font-size: 1rem;
            margin-bottom: 0.5rem;
        }

        .info-detalle.email-link {
            color: #4285f4;
            text-decoration: underline;
            cursor: pointer;
        }

        .info-detalle.email-link:hover {
            color: #1a73e8;
        }


        .seccion-mapas {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
            margin-bottom: 2rem;
        }

        .mapa-item {
            border: 3px solid #D4AF37;
            overflow: hidden;
        }

        .mapa-placeholder {
            width: 100%;
            height: 250px;
        }

        .mapa-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }


        .info-contacto-mapas {
            text-align: center;
            margin-bottom: 4rem;
            padding: 2rem;
            background: white;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .texto-contacto {
            color: #333;
            font-size: 1.2rem;
            font-weight: 500;
            margin-bottom: 1rem;
            line-height: 1.4;
        }

        .telefonos-contacto {
            color: #333;
            font-size: 1.1rem;
            font-weight: bold;
            margin-bottom: 1rem;
        }

        .emails-contacto {
            display: flex;
            justify-content: center;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .emails-contacto .email-link {
            color: #4285f4;
            text-decoration: none;
            font-size: 1rem;
            font-weight: 500;
            transition: color 0.3s ease;
        }

        .emails-contacto .email-link:hover {
            color: #1a73e8;
            text-decoration: underline;
        }


        .seccion-inferior-contacto {
            background: #4a4a4a;
            border-radius: 15px;
            padding: 3rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            color: white;
        }

        .formulario-contacto h2,
        .info-adicional h2 {
            color: white;
            font-size: 1.8rem;
            margin-bottom: 2rem;
            font-weight: bold;
        }

        .campo-formulario {
            margin-bottom: 1.5rem;
        }

        .campo-formulario label {
            display: block;
            color: white;
            font-size: 1rem;
            margin-bottom: 0.5rem;
            font-weight: 500;
        }

        .campo-formulario input,
        .campo-formulario textarea {
            width: 100%;
            padding: 1rem;
            border: none;
            border-radius: 5px;
            background: #333;
            color: white;
            font-size: 1rem;
            transition: background-color 0.3s ease;
        }

        .campo-formulario input::placeholder,
        .campo-formulario textarea::placeholder {
            color: #999;
        }

        .campo-formulario input:focus,
        .campo-formulario textarea:focus {
            outline: none;
            background: #555;
        }

        .btn-enviar {
            width: 100%;
            padding: 1rem 2rem;
            background: white;
            color: #333;
            border: none;
            border-radius: 5px;
            font-size: 1rem;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .btn-enviar:hover {
            background: #f0f0f0;
            transform: translateY(-2px);
        }

        .info-adicional p {
            color: #ccc;
            line-height: 1.6;
            margin-bottom: 1.5rem;
            font-size: 1rem;
        }

        .mensaje-final {
            font-weight: bold;
            color: white !important;
        }


        @media (max-width: 768px) {
            .contenedor-contacto {
                padding: 2rem 1rem;
            }

            .titulo-contacto {
                font-size: 2.5rem;
                margin-bottom: 3rem;
            }

            .tarjetas-contacto {
                grid-template-columns: 1fr;
                gap: 1.5rem;
                margin-bottom: 3rem;
            }

            .tarjeta-info {
                padding: 2rem 1.5rem;
            }

            .seccion-mapas {
                grid-template-columns: 1fr;
                gap: 1.5rem;
                margin-bottom: 3rem;
            }

            .mapa-placeholder {
                height: 200px;
            }

            .info-contacto-mapas {
                padding: 1.5rem;
            }

            .texto-contacto {
                font-size: 1.1rem;
            }

            .telefonos-contacto {
                font-size: 1rem;
            }

            .emails-contacto {
                flex-direction: column;
                gap: 0.5rem;
            }

            .emails-contacto .email-link {
                font-size: 0.9rem;
            }

            .seccion-inferior-contacto {
                grid-template-columns: 1fr;
                gap: 2rem;
                padding: 2rem;
            }

            .formulario-contacto h2,
            .info-adicional h2 {
                font-size: 1.5rem;
                margin-bottom: 1.5rem;
            }
        }

        @media (max-width: 480px) {
            .titulo-contacto {
                font-size: 2rem;
            }

            .tarjeta-info h3 {
                font-size: 1rem;
            }

            .mapa-placeholder {
                height: 180px;
            }

            .info-contacto-mapas {
                padding: 1rem;
            }

            .texto-contacto {
                font-size: 1rem;
            }

            .telefonos-contacto {
                font-size: 0.9rem;
            }

            .emails-contacto .email-link {
                font-size: 0.8rem;
            }

            .seccion-inferior-contacto {
                padding: 1.5rem;
            }
        }


        .titulo-principal-nosotros {
            text-align: center;
            padding: 60px 20px 40px 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .titulo-principal-nosotros h1 {
            font-family: var(--fuente-titulos);
            font-size: 3.5rem;
            font-weight: 900;
            color: var(--color-dorado-fuerte);
            margin: 0;
            letter-spacing: 2px;
            text-transform: uppercase;
            position: relative;
        }

        .titulo-principal-nosotros h1::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 4px;
            background: linear-gradient(90deg, var(--color-principal), var(--color-hover));
            border-radius: 2px;
        }


        @media (max-width: 768px) {
            .titulo-principal-nosotros {
                padding: 40px 15px 30px 15px;
            }

            .titulo-principal-nosotros h1 {
                font-size: 2.8rem;
                letter-spacing: 1px;
            }

            .titulo-principal-nosotros h1::after {
                width: 80px;
                height: 3px;
            }
        }

        @media (max-width: 480px) {
            .titulo-principal-nosotros {
                padding: 30px 10px 20px 10px;
            }

            .titulo-principal-nosotros h1 {
                font-size: 2.2rem;
                letter-spacing: 0.5px;
            }

            .titulo-principal-nosotros h1::after {
                width: 60px;
            }
        }


        .seccion-acerca-resena {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            max-width: 1200px;
            margin: 0 auto 60px auto;
            padding: 60px 20px 40px 20px;
        }

        .cuadro-acerca,
        .cuadro-resena,
        .cuadro-mision,
        .cuadro-vision {
            background: #ffffff;
            padding: 40px 30px;
            border-radius: 15px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }

        .cuadro-acerca:hover,
        .cuadro-resena:hover,
        .cuadro-mision:hover,
        .cuadro-vision:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .cuadro-acerca h2,
        .cuadro-resena h2,
        .cuadro-mision h2,
        .cuadro-vision h2 {
            font-family: var(--fuente-titulos);
            font-size: 2rem;
            font-weight: 700;
            color: var(--color-dorado-fuerte);
            margin-bottom: 15px;
            text-align: left;
            letter-spacing: 0.5px;
        }

        .cuadro-acerca p,
        .cuadro-resena p,
        .cuadro-mision p,
        .cuadro-vision p {
            font-family: var(--fuente-principal);
            font-size: 1rem;
            color: var(--color-texto-nosotros);
            line-height: 1.6;
            text-align: justify;
            margin: 0;
        }


        @media (max-width: 768px) {
            .seccion-acerca-resena {
                grid-template-columns: 1fr;
                gap: 30px;
                padding: 40px 15px 30px 15px;
                margin-bottom: 40px;
            }

            .cuadro-acerca,
            .cuadro-resena,
            .cuadro-mision,
            .cuadro-vision {
                padding: 30px 25px;
            }

            .cuadro-acerca h2,
            .cuadro-resena h2,
            .cuadro-mision h2,
            .cuadro-vision h2 {
                font-size: 1.8rem;
            }

            .cuadro-acerca p,
            .cuadro-resena p,
            .cuadro-mision p,
            .cuadro-vision p {
                font-size: 0.95rem;
            }
        }

        @media (max-width: 480px) {
            .seccion-acerca-resena {
                padding: 30px 10px 20px 10px;
            }

            .cuadro-acerca,
            .cuadro-resena,
            .cuadro-mision,
            .cuadro-vision {
                padding: 25px 20px;
            }

            .cuadro-acerca h2,
            .cuadro-resena h2,
            .cuadro-mision h2,
            .cuadro-vision h2 {
                font-size: 1.6rem;
            }
        }

        .linea-separadora {
            width: 60px;
            height: 3px;
            background: var(--color-principal);
            border: none;
            margin: 0 0 25px 0;
        }


        .seccion-valores {
            background: #ffffff;
            padding: 60px 20px;
            max-width: 1200px;
            margin: 0 auto;
            border-radius: 20px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
        }

        .titulo-valores {
            font-family: var(--fuente-titulos);
            font-size: 2.5rem;
            font-weight: 900;
            color: var(--color-dorado-fuerte);
            text-align: center;
            margin-bottom: 20px;
            letter-spacing: 1px;
        }

        .descripcion-valores {
            font-family: var(--fuente-principal);
            font-size: 1.1rem;
            color: var(--color-texto-nosotros);
            text-align: center;
            margin-bottom: 50px;
            line-height: 1.6;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

        .grid-valores {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-bottom: 40px;
        }


        .grid-valores .tarjeta-valor:nth-child(10) {
            grid-column: 2 / 3;
        }

        .tarjeta-valor {
            background: #ffffff;
            border: 2px solid var(--color-principal);
            border-radius: 15px;
            padding: 30px 20px;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .tarjeta-valor:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .icono-valor {
            width: 60px;
            height: 60px;
            background: var(--color-principal);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            transition: all 0.3s ease;
        }

        .icono-valor i {
            font-size: 24px;
            color: white;
        }

        .tarjeta-valor:hover .icono-valor {
            background: var(--color-hover);
            transform: scale(1.1);
        }

        .tarjeta-valor h3 {
            font-family: var(--fuente-principal);
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--color-dorado-fuerte);
            margin-bottom: 15px;
            letter-spacing: 0.5px;
        }

        .tarjeta-valor p {
            font-family: var(--fuente-principal);
            font-size: 0.95rem;
            color: #666;
            line-height: 1.5;
            margin: 0;
        }


        @media (max-width: 1024px) {
            .grid-valores {
                grid-template-columns: repeat(3, 1fr);
                gap: 25px;
            }


            .grid-valores .tarjeta-valor:nth-child(10) {
                grid-column: 2 / 3;
            }
        }

        @media (max-width: 768px) {
            .seccion-valores {
                padding: 40px 15px;
            }

            .titulo-valores {
                font-size: 2rem;
            }

            .descripcion-valores {
                font-size: 1rem;
                margin-bottom: 40px;
            }

            .grid-valores {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }


            .grid-valores .tarjeta-valor:nth-child(10) {
                grid-column: auto;
            }

            .tarjeta-valor {
                padding: 25px 15px;
            }

            .icono-valor {
                width: 50px;
                height: 50px;
            }

            .icono-valor i {
                font-size: 20px;
            }

            .tarjeta-valor h3 {
                font-size: 1.1rem;
            }

            .tarjeta-valor p {
                font-size: 0.9rem;
            }
        }

        @media (max-width: 480px) {
            .grid-valores {
                grid-template-columns: 1fr;
                gap: 15px;
            }

            .titulo-valores {
                font-size: 1.8rem;
            }

            .tarjeta-valor {
                padding: 20px 15px;
            }
        }

        /* Forzar nombres/títulos de vinos en mayúsculas en catálogos y modales */
        .nombre-vino {
            text-transform: uppercase;
        }

        .modal-vino h2,
        [id^="modal-nombre-"] {
            text-transform: uppercase;
        }

        /* Aumentar tamaño de nombres de vinos en móviles con salto de línea por palabra */
        @media (max-width: 768px) {
            .nombre-vino {
                font-size: 1.3rem !important;
                font-weight: 700 !important;
                line-height: 1.3 !important;
                word-break: break-word !important;
                overflow-wrap: break-word !important;
                max-width: 100% !important;
                white-space: normal !important;
                text-align: center !important;
                padding: 0 5px !important;
                box-sizing: border-box !important;
            }
        }

        @media (max-width: 600px) {
            .nombre-vino {
                font-size: 1.2rem !important;
                font-weight: 700 !important;
                line-height: 1.3 !important;
                word-break: break-word !important;
                overflow-wrap: break-word !important;
                max-width: 100% !important;
                white-space: normal !important;
                text-align: center !important;
                padding: 0 5px !important;
                box-sizing: border-box !important;
            }
        }

        /* Ajuste adicional para pantallas muy pequeñas */
        @media (max-width: 480px) {
            .nombre-vino {
                font-size: 1.1rem !important;
                font-weight: 700 !important;
                line-height: 1.25 !important;
                padding: 0 3px !important;
            }
        }

        /* Ajuste para pantallas extra pequeñas */
        @media (max-width: 360px) {
            .nombre-vino {
                font-size: 1rem !important;
                font-weight: 700 !important;
                line-height: 1.2 !important;
                padding: 0 2px !important;
            }
        }