<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&amp;display=swap');
body {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
    color: #3a3f45;
}

h1 {
    color: #2a2f34;
    text-transform: uppercase;
    font-weight: 700;
    width: 100%;
    text-align: center;
}

h2 {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 16px;
    letter-spacing: 0px;
    font-weight: 400;
}

a,
a:active {
    color: #3a3f45;
    text-decoration: none;
}

a:hover,
a.active {
    color: #0056B3 !important;
}

main .container {
    margin-top: 20px;
}

html[lang="es"] .node-id-369 .field--name-field-extra-content {
    display: none;
}

body:has(a[href^="/es/"]) .solo-en-ingles {
    display: none;
}


/****+HEADER***/

header {
    border-bottom: 0px solid #626a73;
    padding-bottom: 20px;
}

.region-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    max-width: 1340px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

#region-theme-teresa-branding {
    order: -1;
    /* Coloca el branding a la izquierda */
}

.responsive-menus {
    margin-left: auto;
}

.navbar-nav {
    margin-left: auto;
    /* Mueve el resto del contenido a la derecha */
}


/* El resto de los elementos (por ejemplo, la navegaciÃ³n) se moverÃ¡n a la derecha */

.navbar-nav {
    margin-left: auto;
    /* Empuja los elementos a la derecha */
}

.navbar-brand img {
    height: 37px;
}

.navbar-nav {
    display: flex;
    flex-direction: row;
    padding-top: 6px;
    padding-right: 30px;
}

.navbar-nav li a {
    text-transform: uppercase;
    color: #3a3f45;
    font-weight: 700 !important;
}

.navbar-nav li:last-child a {
    border: 1px solid #2f353b;
    color: #2f353b;
    padding: 4px 22px 4px 22px;
    font-weight: 400 !important;
    border-radius: 30px;
}

.navbar-nav li a:hover {
    color: #0056B3 !important;
}

.region-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.region-header&gt;div {
    display: flex;
    align-items: center;
}

.navbar-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 1rem;
    /* separa los Ã­tems del menÃº */
}


/* Asegura que todo el contenido del header se alinee correctamente */

.region-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* Mantener el logo a la izquierda */

.navbar-brand {
    margin-right: auto;
    /* Esto empuja el logo a la izquierda */
}


/* Alinea los otros elementos (menÃº, bÃºsqueda, etc.) a la derecha */

#block-theme-teresa-main-navigation,
#block-theme-teresa-searchform-2 {
    margin-left: auto;
    /* Empuja estos elementos a la derecha */
}

#block-theme-teresa-cartflyout {
    margin-left: 40px;
}

.region-header {
    transition: all 0.3s ease-in-out;
}

.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: white;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.slide-down {
    animation: slideDown 0.4s ease forwards;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}


/* Logo dentro del header */

.region-header img {
    transition: all 0.3s ease-in-out;
    max-height: 40px;
}

.fixed-header img {
    max-height: 30px;
}

body {
    padding-top: 24px;
    /* ajusta si el header cambia de tamaÃ±o */
}


/*********+FOOTER***/

footer .container {
    max-width: 100%;
    width: 100%;
    color: #fff;
    padding: 0;
}

footer {
    padding: 2rem 0 0;
}

.region-footer {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
}

.region-footer h2 {
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
}

.region-footer&gt;div {
    padding: 0 20px;
    max-width: 24%;
}

footer {
    background-color: #2e397c;
}

footer .region-footer {
    padding: 0;
}

#block-theme-teresa-hiholabonjour {
    padding-left: 40px;
    max-width: 26%;
}

#block-theme-teresa-unioneuropealogo {
    width: 100%;
    max-width: 100%;
    border-top: 1px solid #fff;
    background-color: #fff;
    padding-bottom: 30px;
}

#block-theme-teresa-unioneuropealogo {
    text-align: center;
    padding-top: 25px;
    margin-top: 25px;
    text-transform: none;
}

#block-theme-teresa-unioneuropealogo img {
    max-width: 660px;
    height: auto;
}

.view-servicios .view-content,
.services-section {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}

.services-section img {
    max-width: 100%;
    height: auto;
}

.services-section h2 {
    width: 100%;
}

.view-servicios .view-content&gt;div,
.services-section&gt;div {
    width: 28%;
}

#block-theme-teresa-languageswitcher {
    padding-left: 40px;
}

#block-theme-teresa-languageswitcher a {
    background-color: #fff;
    color: #22327A;
    padding: 6px 15px;
    border-radius: 20px;
    text-transform: uppercase;
}

.view-projects .field--name-field-images .field__item {
    margin-bottom: 5px;
}

#block-theme-teresa-languageswitcher {
    margin-top: -30px;
}

#block-theme-teresa-languageswitcher ul {
    display: flex;
    padding-left: 0;
}

#block-theme-teresa-languageswitcher li {
    list-style: none;
    margin-right: 20px;
    padding-left: 0;
}

#block-theme-teresa-languageswitcher li.is-active a,
#block-theme-teresa-languageswitcher li a:hover {
    background-color: #2a6eb5;
    color: #fff !important;
}

.services-section h3 {
    font-size: 18px;
    font-weight: 600;
    color: #5893dd;
    padding-top: 25px;
}

.node--type-nd-service .field--name-title {
    margin-top: 20px;
    color: #3498DB;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
}


/****VISTAS TRABAJOS HOME***/

.views-row .views-col {
    padding-right: 25px;
}

.field--name-title {}

.view-projects ul {
    display: flex;
    padding-left: 0;
    justify-content: center;
}

.view-projects ul li {
    margin-right: 22px;
    list-style: none;
    margin-right: 22px;
    font-weight: 500;
}

.view-projects ul li .bef-link--selected {
    color: #0056B3;
    text-decoration: underline;
}

.view-projects label {
    display: none;
}

.view-projects h2,
.view-products .views-field-title {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
    text-align: center;
}

.view-products .views-field-title {
    text-align: left;
}

.view-projects .views-col {
    position: relative;
    padding-bottom: 20px;
}

.view-projects .views-col .field--name-field-categories {
    position: relative;
    top: 0px;
    right: 0px;
    text-align: center;
    color: #22327A;
    font-size: 15px;
    margin-bottom: 15px;
}

.field--name-field-images {
    overflow: hidden;
    text-align: center;
}

.field--name-field-images&gt;div {
    margin-bottom: 20px;
}

.view .field--name-field-images .field__item img {
    transition: transform 0.3s ease;
}

.view .field--name-field-images .field__item:hover img {
    transform: scale(1.1);
    opacity: 0.8;
}

.view-products .views-row .views-col {
    margin-bottom: 20px;
    position: relative;
    min-height: 460px;
}

.view-projects .views-col .field--name-field-categories a {
    color: #22327A !important;
    padding: 0px 10px 4px;
    border-radius: 3px;
}

.view-projects .field--name-title {
    padding-top: 15px;
    font-weight: 700;
    margin-bottom: 3px;
}

.view-products .views-field-title {
    padding-top: 15px;
    font-weight: 700;
    margin-bottom: 7px;
}

.views-field-variations-target-id {
    position: relative;
    bottom: 3px;
}

.view-project h2 {
    padding-top: 15px;
}

.view-project .field--name-field-images {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    /* si quieres bordes suaves */
}


/*****Producto shoppp****/

.cart-block--link__expand {
    position: relative;
}

.cart-block--link__expand&gt;span {
    float: left;
}

.cart-block--link__expand .cart-block--summary__count {
    margin-top: 3px;
    margin-left: 3px;
}

.product-main-content {
    display: flex;
    margin-bottom: 60px;
}

.commerce-order-item-add-to-cart-form {
    display: flex;
}

.commerce-order-item-add-to-cart-form .form-actions {
    padding-top: 24px;
    margin-left: 20px;
}

.view-shop .commerce-order-item-add-to-cart-form .form-actions {
    padding-top: 0px;
    margin-left: 0px;
    margin-top: 0;
    margin-bottom: 25px;
}

.slick--optionset--carrusel-en-producto-full {
    display: block;
}

.product-main-content .product-gallery,
.product-main-content .product-details {
    flex: 0 0 50%;
    max-width: 50%;
}

.product-main-content .product-gallery {
    padding-right: 50px;
}

.product-main-content .product-details .product-price {
    font-size: 28px;
    font-weight: 600;
}

.product-main-content .product-details ul {
    padding-left: 0rem;
    padding-top: 15px;
}

.product-main-content .product-details li {
    list-style: none;
    padding: 7px 0;
    border-bottom: 1px solid #f2f2f2;
    position: relative;
}

.product-main-content .product-details li::before {
    width: 8px;
    height: 8px;
    border-radius: 8px;
    margin: 9px 12px 0 0;
    content: '';
    opacity: 0.6;
    filter: alphaopacity=60;
    background: #5c6873;
    display: inline-block;
}

.product-main-content .product-category {
    display: flex;
    gap: 15px;
}

.product-main-content .field--name-field-category a,
.product-main-content .product-project a,
.field--name-field-project a {
    border: 1px solid #8BAAD9;
    padding: 5px 15px;
    margin-right: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.product-main-content .field--name-field-category .field__label {
    display: none;
}


/* CSS para reemplazar el texto por flechas en los botones de navegaciÃ³n */


/* Estilos generales para los botones de navegaciÃ³n */

.slick-arrow {
    font-size: 0;
    /* Oculta el texto */
    width: 40px;
    /* Ancho del botÃ³n */
    height: 40px;
    /* Alto del botÃ³n */
    background-color: rgba(255, 255, 255, 0.7);
    /* Fondo semitransparente */
    border-radius: 50%;
    /* Hace los botones circulares */
    border: none;
    /* Elimina el borde por defecto */
    position: absolute;
    /* Posicionamiento absoluto */
    top: 50%;
    /* Centrado vertical */
    transform: translateY(-50%);
    /* Ajuste para centrado vertical */
    z-index: 10;
    /* Asegura que estÃ© por encima del contenido */
    cursor: pointer;
    /* Cambia el cursor a mano */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    /* Sombra suave */
    transition: all 0.3s ease;
    /* TransiciÃ³n suave */
}


/* Reposicionamiento de las flechas para asegurar que estÃ©n sobre la imagen */

.slick__slider {
    position: relative;
    /* Asegura el posicionamiento correcto de los elementos hijos */
}

.slick__arrow {
    position: static;
    /* Resetea el posicionamiento para evitar conflictos */
}


/* Estilo al pasar el cursor por encima */

.slick-arrow:hover {
    background-color: rgba(255, 255, 255, 0.9);
    /* Fondo mÃ¡s opaco al hacer hover */
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
    /* Sombra mÃ¡s pronunciada */
}


/* BotÃ³n Previous (flecha izquierda) */

.slick-prev {
    left: 10px;
    /* PosiciÃ³n desde el borde izquierdo */
}

.slick-prev:before {
    content: "â†";
    /* Flecha izquierda */
    font-size: 24px;
    /* TamaÃ±o de la flecha */
    color: #333;
    /* Color de la flecha */
    display: block;
    /* Hace que el contenido sea un bloque */
}


/* BotÃ³n Next (flecha derecha) */

.slick-next {
    right: 10px;
    /* PosiciÃ³n desde el borde derecho */
    z-index: 20;
    /* Mayor z-index para asegurar que estÃ© por encima */
    position: absolute;
    /* Asegura posicionamiento absoluto */
}

.slick-next:before {
    content: "â†’";
    /* Flecha derecha */
    font-size: 24px;
    /* TamaÃ±o de la flecha */
    color: #333;
    /* Color de la flecha */
    display: block;
    /* Hace que el contenido sea un bloque */
}

.media--slick img {
    width: 100%;
}


/* Opcional: Si prefieres usar sÃ­mbolos mÃ¡s estilizados en lugar de flechas simples */


/*
  .slick-prev:before {
    content: "â®"; 
  }
  .slick-next:before {
    content: "â¯"; 
  }
  */


/* Asegurarse de que los botones no estÃ©n ocultos con la clase visually-hidden */

.slick-arrow.visually-hidden {
    display: block !important;
    visibility: visible !important;
    width: 40px !important;
    height: 40px !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    /* Fuerza el posicionamiento absoluto */
}


/* Ajuste especÃ­fico para el contenedor principal */

.slick.slick--field {
    position: relative;
    /* Establece un contexto de posicionamiento */
}


/* Asegurarse de que la navegaciÃ³n de flechas estÃ© correctamente posicionada */

.slick__arrow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    /* Permite que los clics pasen a travÃ©s del contenedor */
}


/* Pero los botones sÃ­ deben recibir eventos */

.slick__arrow button {
    pointer-events: auto;
}


/***Posrtfolio***/

.views-exposed-form .form--inline&gt;.form-item {
    width: 100%;
}

#edit-field-categories-target-id ul {
    display: flex;
    justify-content: center;
}

.field--name-field-images .field__item {
    position: relative;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.field--name-field-images .field__item::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-bottom: 10px solid #fff;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    bottom: 0px;
    left: 50%;
    margin-left: -5px;
    z-index: 1;
}

.node-type-nd_project .field--name-field-images .field__item::after {
    display: none;
}


/* Oculta el icono original */

.cart--cart-block .cart-block--summary__icon img {
    display: none;
}

.cart--cart-block .cart-block--summary__icon::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('images/cart.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.cart-block--offcanvas-contents__links a {
    background-color: #626a73;
    border-color: #626a73;
    color: white;
    padding: 8px 15px;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    transition: background-color 0.3s ease;
}

.cart-block--offcanvas-contents__links a:hover {
    color: white !important;
    opacity: 0.8;
}

.cart-block--offcanvas-contents__links {
    float: right;
    margin-right: 15px;
}

body.toolbar-fixed.toolbar-tray-open .cart-offcanvas {
    padding-top: 20px;
}

.cart--cart-offcanvas__close {
    margin-right: 15px;
}

.cart--cart-offcanvas__close button {
    font-size: 30px;
    float: right;
}


/*******SHOPPP****/

.region-sidebar-first .views-exposed-form ul {
    padding-left: 0;
}

.region-sidebar-first .views-exposed-form ul li {
    list-style: none;
    padding: 7px 0;
    border-bottom: 1px solid #f2f2f2;
    width: 85%;
}

.region-sidebar-first .views-exposed-form ul li::before {
    width: 8px;
    height: 8px;
    border-radius: 8px;
    margin: 9px 12px 0 0;
    content: '';
    opacity: 0.6;
    background: #5893dd;
    display: inline-block;
}

.region-sidebar-first .views-exposed-form label,
.region-sidebar-second .block-views h2,
.commerce-checkout-completion-register__text h2 {
    font-family: "Roboto Condensed", sans-serif;
    display: inline-block;
    color: #3f444a;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 0;
    margin: 5px 0 -1px 0;
    padding: 0 5px 0 0;
    height: 55px;
    position: relative;
}

.region-sidebar-first .views-exposed-form label::before,
.region-sidebar-second .block-views h2::before,
.commerce-checkout-completion-register__text h2::before {
    position: absolute;
    top: 35px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
}

label {
    text-transform: uppercase;
}

.region-sidebar-second .block-views {
    margin-bottom: 25px !important;
}

.region-sidebar-second .block-views ul {
    padding-left: 0px;
    display: flex;
    flex-direction: column;
}

.region-sidebar-second .block-views ul li {
    list-style: none;
    content: '';
    opacity: 0.6;
    border-bottom: 1px solid #f2f2f2;
    display: inline-block;
    margin: 9px 12px 0 0;
    padding-bottom: 10px;
}

.region-sidebar-second .block-views ul li a {
    color: #000;
    font-weight: 400;
}

.region-sidebar-second .block-views ul li::before {
    width: 8px;
    height: 8px;
    border-radius: 8px;
    margin: 9px 12px 0 0;
    content: '';
    opacity: 0.6;
    background: #0056B3;
    display: inline-block;
}

.region-sidebar-second .block-views ul li:first-child {
    display: none;
}

#block-theme-teresa-views-block-blog-block-3 .view-content&gt;.views-row {
    border-bottom: 1px solid #f2f2f2;
    margin: 9px 12px 0 0;
    padding-bottom: 10px;
}

.region-content .view-blog .views-field-title {
    color: #3f444a;
    font-size: 25px;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 12px;
}

#block-theme-teresa-searchform {
    margin-bottom: 25px;
}

#block-theme-teresa-searchform form {
    display: flex;
}

.region-sidebar-first form .form--inline {
    display: flex;
    flex-direction: column;
}

.btn-primary {
    background-color: #DB9B18;
    border: 0;
    border-radius: 0;
    text-transform: uppercase;
}

.btn-primary:hover {
    background-color: #DB9B18;
    border: 0;
    opacity: 0.7;
}

.field-content a {
    position: relative;
    display: inline-block;
}

.field-content a img {
    display: block;
}


/* Product card styling */

.views-field-field-images {
    position: relative;
    margin-bottom: 15px;
    overflow: hidden;
}

.img-fluid {
    transition: transform 0.3s ease;
}


/* Product information */

.views-field-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 8px;
}

.views-field-commerce-price {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}


/* Add to cart button */

.btn-primary {
    background-color: #2E397C;
    border-color: #2E397C;
    color: white;
    padding: 8px 15px;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #5a80c5;
    border-color: #5a80c5;
}


/* Product image hover effect */

.view-shop .views-field-field-images {
    position: relative;
    overflow: hidden;
}

.view-shop .views-field-field-images a {
    display: block;
    position: relative;
}

.view-shop .views-field-field-images a::before {
    content: "";
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    transition: top 0.3s ease;
    z-index: 1;
}

.view-shop .views-field-field-images a::after {
    content: "EXPLORE";
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-weight: bold;
    font-size: 24px;
    z-index: 2;
    transition: top 0.4s ease;
    text-align: center;
    padding: 10px 20px;
    border: 2px solid white;
    background-color: transparent;
}

.view-shop .views-field-field-images a:hover::before,
.view-shop .views-field-field-images a:hover::after {
    top: 50%;
}

.view-shop .views-field-field-images a:hover::before {
    top: 0;
}

.view-shop .views-field-field-images a:hover::after {
    top: 50%;
    transform: translate(-50%, -50%);
}


/* Capa oscura solo sobre la imagen */

.views-field-field-images .field-content a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
}


/* Texto "EXPLORE" centrado sobre la imagen */

.views-field-field-images .field-content a::after {
    content: "EXPLORE";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    font-size: 1.5rem;
    border: 2px solid white;
    padding: 10px 20px;
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    pointer-events: none;
}


/* Solo mostrar overlay al hacer hover en la imagen */

.views-field-field-images .field-content a:hover::before,
.views-field-field-images .field-content a:hover::after {
    opacity: 1;
}


/***Nodo de ProyectoÂ¨***/

.group_project {
    display: flex;
    justify-content: space-between;
}

.group_project .left_project {
    flex: 0 0 70%;
}

.group_project .right_project {
    flex: 0 0 28%;
}

.page-node-type-nd-project h2 {
    font-family: "Roboto Condensed", sans-serif;
    display: inline-block;
    color: #3f444a;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 0;
    margin: 5px 0 -1px 0;
    padding: 0 5px 0 0;
    height: 60px;
    position: relative;
}

.page-node-type-nd-project .region-footer h2 {
    color: #fff;
}

.page-node-type-nd-project h2::before {
    position: absolute;
    top: 40px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
}

.right_project .text_section {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #cccccc;
    margin-top: 2px;
}

.field--name-field-links {
    display: flex;
    margin-bottom: 30px;
}

.bottom_project {
    padding-bottom: 40px;
}

.bottom_project .title_section {
    color: #3498DB;
    font-weight: 600;
    text-align: center;
    font-size: 20px;
    border-bottom: 1px solid #3498DB;
    padding-bottom: 15px;
    margin-top: 25px;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.field--name-field-links .field__item {
    margin-right: 20px;
}

.field--name-field-links a {
    background-color: #5893dd;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    padding: 6px 13px;
    border-radius: 5px;
}

.field--name-field-links a:hover {
    background-color: #22327A;
    color: #fff;
}


/* COMMERCE */

.cart-block--summary__icon img {
    /* filter: invert(1);*/
    max-width: 23px;
}


/* Estilos para el icono de lupa */

#block-theme-teresa-lupa {
    cursor: pointer;
    transition: all 0.3s ease;
}

#block-theme-teresa-lupa:hover {
    opacity: 0.8;
}


/* Estilos para el formulario de bÃºsqueda */

#block-theme-teresa-searchform-2 {
    display: none;
    /* Oculto por defecto */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 15px;
    background-color: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transition: all 0.3s ease;
    height: 130px;
    padding-top: 45px;
    padding-bottom: 15px;
}


/* Estilos para el input de bÃºsqueda */

#block-theme-teresa-searchform-2 .form-search {
    width: 100%;
    padding: 12px 45px 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    outline: none;
    transition: border-color 0.3s;
}

#block-theme-teresa-searchform-2 .form-search:focus {
    border-color: #4a90e2;
    box-shadow: 0 0 5px rgba(74, 144, 226, 0.3);
}


/* Estilos para el botÃ³n de cierre */

.search-close {
    position: absolute;
    top: 12px;
    right: 34px;
    background: none;
    border: none;
    font-size: 20px;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.search-close:hover {
    color: #ff3b30;
    transform: scale(1.1);
}

.js-form-type-search {
    width: 90%;
    margin-right: 20px;
}

.search-block-form .form-actions {
    margin-left: 25px;
    margin-top: 6px;
}

#block-theme-teresa-searchform .form-actions {
    margin-left: 15px;
    margin-right: 0px;
    margin-top: 0px;
}


/* Clase que se aÃ±ade al body cuando el buscador estÃ¡ activo */

body.search-active {
    padding-top: 60px;
    /* Ajusta segÃºn el tamaÃ±o del buscador */
    transition: padding 0.3s ease;
}

body.search-active #block-theme-teresa-searchform-2 {
    display: block !important;
}

#block-theme-teresa-searchform-2 {
    opacity: 0;
    transition: opacity 0.3s ease;
}

#block-theme-teresa-searchform-2.show {
    opacity: 1;
}

.node--type-nd-project .node__content {
    position: relative;
}


/*************
***************Proceso de compra***
*************************  /************
    *************Cart***/

.view-commerce-cart-form .form-actions {
    display: flex !important;
}

.views-field-remove-button input.delete-order-item {
    background-color: indianred;
}

.view-commerce-cart-form input#edit-submit {
    background-color: #626a73;
    border-color: #626a73;
    color: white;
}

.layout-region-checkout-secondary {
    background-color: #f2f2f2;
    padding: 25px 20px;
    margin-top: 16px;
}

.layout-region-checkout-secondary h3 {
    font-family: "Roboto Condensed", sans-serif;
    display: inline-block;
    color: #3f444a;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 0;
    margin: 5px 0 -1px 0;
    padding: 0 5px 0 0;
    height: 55px;
    position: relative;
}

.layout-region-checkout-secondary h3::before {
    position: absolute;
    top: 35px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
}

.checkout-pane-payment-information {
    border: 1px solid #000;
    padding: 20px;
}

.checkout-order-summary tr {
    border-bottom: 1px solid #5c6873;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.checkout-order-summary {
    border-collapse: separate !important;
    ;
    border-spacing: 0 15px;
    /* espacio vertical entre filas */
}


/* Estilo base de la tabla */

.checkout-order-summary table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 15px;
    /* Espacio vertical entre filas */
    font-family: sans-serif;
    font-size: 16px;
    color: #333;
}


/* Estilo de cada fila */

.checkout-order-summary tr {
    background-color: #f9f9f9;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
}


/* Espacio interior de celdas */

.checkout-order-summary td {
    padding: 15px;
    vertical-align: top;
}


/* Cantidad (1 x, 3 x, etc.) */

.checkout-order-summary td:first-child {
    font-weight: bold;
    width: 50px;
}


/* Precio alineado a la derecha */

.checkout-order-summary td:last-child {
    text-align: right;
    font-weight: bold;
}


/* DescripciÃ³n del producto */

.checkout-order-summary .field--name-field-short-description {
    font-size: 14px;
    color: #666;
    margin-top: 5px;
}


/* Total */

.order-total-line {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    font-size: 18px;
}

.order-total-line__subtotal {
    font-weight: normal;
}

.order-total-line__total {
    font-weight: bold;
    border-top: 2px solid #ccc;
    padding-top: 10px;
}

.fieldset-legend {
    font-family: "Roboto Condensed", sans-serif;
    display: inline-block;
    color: #3f444a;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 0;
    margin: 5px 0 -1px 0;
    padding: 0 5px 0 0;
    height: 55px;
    position: relative;
}

.fieldset-legend::before {
    position: absolute;
    top: 35px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
}

#edit-login-returning-customer,
.checkout-pane-contact-information,
.checkout-pane-completion-register {
    background-color: #f2f2f2;
    padding: 20px;
    border-radius: 4px;
}

.checkout-pane-completion-register {
    margin-bottom: 30px;
    max-width: 800px;
}

.path-checkout .region-content {
    padding: 0 0rem;
}

.form-wrapper__login-option {
    padding: 0;
}

a#edit-login-returning-customer-forgot-password {
    margin-top: 15px;
    float: left;
    width: 100%;
}

.layout-region-checkout-footer .form-actions {
    display: flex;
    justify-content: space-between;
}

.layout-region-checkout-footer .form-actions&gt;input:first-child {
    flex: 0 0 69%;
    max-width: 69%;
}

.layout-region-checkout-footer .form-actions&gt;a:last-child {
    flex: 0 0 28%;
    max-width: 28%;
    background-color: #626a73;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding-top: 5px;
    border-radius: 4px;
}

.path-user .container .region-content {
    max-width: 580px;
}

.user-logged-in.path-user .region-content {
    max-width: 1300px;
}

.block-views&gt;h2 {
    font-family: "Roboto Condensed", sans-serif;
    display: inline-block;
    color: #3f444a;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 0;
    margin: 5px 0 -1px 0;
    padding: 0 5px 0 0;
    height: 55px;
    position: relative;
    margin-top: 20px;
}

.block-views&gt;h2::before {
    position: absolute;
    top: 45px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
}


/***Bloque Clients***/

#block-theme-teresa-views-block-clientes-block-1.block-views h2 {
    width: 100%;
    text-align: center;
    font-size: 26px;
}

#block-theme-teresa-views-block-clientes-block-1.block-views h2::before {
    left: 50%;
    transform: translateX(-50%);
    text-decoration: none;
}

.view-clientes .view-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
    /* o margin entre elementos */
}

.view-clientes .view-content&gt;div {
    flex: 0 0 15.5%;
    max-width: 15.5%;
}

.view-clientes .views-field-field-images {
    display: flex;
    align-items: center;
    /* Centrado vertical */
    justify-content: center;
    /* Centrado horizontal (opcional) */
    height: 100%;
    /* O fija, si es necesario, ej: 200px */
}

.path-shop h1,
.node-id-83 h1,
.node-id-83 .field--name-field-subtitulo h2,
.page-node-type-nd-blog h1,
.product .field--name-title {
    text-align: left;
}

#block-theme-teresa-views-block-clientes-block-1 {
    margin-bottom: 50px;
}

.center-paragraph {
    text-align: center;
    max-width: 750px;
    margin: 0 auto;
}


/*****ABOUT****/

.column-center {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.column-center a {
    color: #0056B3;
}

.field--name-field-subtitulo h2 {
    text-align: center;
    font-size: 20px;
}

.paragraph--type--two-column-text {
    display: flex;
    flex-wrap: wrap;
}

.education-section,
.exhibitions-section,
.workshops-section,
.awards-section,
.talks-section,
.individual-exhibitions-section,
.residencies-section,
.other-projects-section {
    float: left;
    width: 50%;
    padding-right: 35px;
}

.paragraph--type--two-column-text h2,
.education-section h2,
.exhibitions-section h2,
.workshops-section h2,
.awards-section h2,
.talks-section h2,
.individual-exhibitions-section h2,
.residencies-section h2,
.other-projects-section h2 {
    font-size: 20px;
    position: relative;
    font-weight: 600;
    text-transform: uppercase;
    color: #5893dd;
    margin-top: 30px;
    margin-bottom: 35px;
}

.paragraph--type--two-column-text h2::before,
.education-section h2::before,
.exhibitions-section h2::before,
.workshops-section h2::before,
.awards-section h2::before,
.talks-section h2::before,
.individual-exhibitions-section h2::before,
.residencies-section h2::before,
.other-projects-section::before {
    position: absolute;
    top: 35px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
}

.workshops-section,
.awards-section {
    min-height: 450px;
}

.talks-section,
.individual-exhibitions-section {
    min-height: 260px;
}

.daily-routine-section {
    float: left;
    width: 100%;
}

.node--type-nd-service .field--name-title h2 {
    font-size: 18px;
    font-weight: 600;
}

.paragraph--type--two-column-text .field--name-field-titulo-del-texto,
#block-theme-teresa-views-block-servicios-block-1&gt;h2 {
    width: 100%;
    text-align: center;
    width: 100%;
    text-align: center;
    font-size: 26px;
    position: relative;
    font-weight: 600;
    text-transform: uppercase;
    color: #3f444a;
    margin-top: 30px;
    margin-bottom: 35px;
}

.paragraph--type--two-column-text .field--name-field-titulo-del-texto::before,
#block-theme-teresa-views-block-servicios-block-1&gt;h2::before,
.services-section h2::before {
    position: absolute;
    top: 45px;
    content: '';
    width: 20px;
    height: 3px;
    display: block;
    background: #5893dd;
    left: 50%;
    transform: translateX(-50%);
    text-decoration: none;
}

.services-section h2 {
    width: 100%;
    text-align: center;
    width: 100%;
    text-align: center;
    font-size: 26px;
    position: relative;
    font-weight: 600;
    text-transform: uppercase;
    color: #3f444a;
    margin-top: 30px;
    margin-bottom: 35px;
}

.paragraph--type--two-column-text .field--name-field-texto,
.paragraph--type--two-column-text .field--name-field-second-column {
    width: 50%;
}

.paragraph--type--two-column-text .field--name-field-texto {
    padding-right: 20px;
}

.paragraph--type--two-column-text .field--name-field-second-column {
    padding-left: 20px;
}

#block-theme-teresa-views-block-servicios-block-1--2 {
    display: none;
}


/***********
************menu responsive********/

.responsive-menus.responsified .responsive-menus-simple {
    display: none;
    width: 100%;
    background: #83A4D5;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    box-shadow: 0px 0px 0px #000;
}

.responsive-menus.responsified span.toggler {
    padding: 1px;
    display: block;
    background: #83A4D5;
    color: #fff;
    border-radius: 2px;
    box-shadow: 0px 0px 0px #000;
    font-size: 30px;
    text-align: center;
    cursor: pointer;
    outline: none;
    width: 50px;
    float: right;
}

.responsive-menus.responsified .responsive-menus-simple li a {
    background: #83A4D5;
    color: #fff;
}

.responsive-menus.responsified .responsive-menus-simple li a:hover {
    background: #2B3A80;
    color: #fff !important;
}

.responsive-menus.responsified {
    clear: both;
    width: 100%;
    margin-top: -40px;
}

.path-taxonomy .view-content {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    min-height: 550px;
    padding-bottom: 100px;
}

.path-taxonomy .view-content&gt;div {
    flex: 0 0 23%;
    max-width: 23%;
}

.path-taxonomy .field--name-title {
    padding-top: 15px;
    font-weight: 700;
    margin-bottom: 25px;
    width: 100%;
    text-align: center;
    display: block;
}

.path-taxonomy .views-field-title .field-content {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
    text-align: center;
    width: 100%;
    display: block;
}

.path-taxonomy .field--name-name h2 {
    display: none;
}

.path-taxonomy .field--name-field-categories {
    position: absolute;
    top: 0px;
    right: 0px;
    background-color: #5893dd;
    color: #fff;
    text-transform: uppercase;
}

.path-taxonomy .field--name-field-categories a {
    color: #fff !important;
    padding: 4px 10px;
    border-radius: 3px;
}

.social-icons {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    gap: 10px;
    justify-content: flex-start;
    margin-bottom: 15px;
}

.social-icon {
    background-color: #fff;
    /* azul similar */
    color: #1d7cb8;
    font-size: 20px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.social-icon:hover {
    background-color: #5893dd;
    color: #fff !important;
}

#block-theme-teresa-contact a {
    color: #fff;
}

#block-theme-teresa-contact a:hover {
    color: #fff;
    opacity: 0.8;
    text-decoration: underline;
}


/* Responsive */

@media (max-width: 768px) {
    #block-theme-teresa-searchform-2 {
        padding: 10px;
    }
    #block-theme-teresa-searchform-2 .form-search {
        padding: 10px 40px 10px 10px;
        font-size: 14px;
    }
    .search-close {
        top: 19px;
        right: 20px;
        font-size: 18px;
    }
    body.search-active {
        padding-top: 50px;
    }
}


/*efecto filtro views GRID*/


/* Elementos del grid - transiciÃ³n base */

.view-id-projects .views-col {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* Durante AJAX - fade out */

.view-id-projects.ajax-progress .views-col {
    opacity: 0;
    transform: translateY(15px) scale(0.98);
}


/* DespuÃ©s de AJAX - fade in con delay escalonado */

.view-id-projects .views-col:nth-child(1) {
    animation: fadeInUp 0.6s ease 0.1s both;
}

.view-id-projects .views-col:nth-child(2) {
    animation: fadeInUp 0.6s ease 0.2s both;
}

.view-id-projects .views-col:nth-child(3) {
    animation: fadeInUp 0.6s ease 0.3s both;
}

.view-id-projects .views-col:nth-child(4) {
    animation: fadeInUp 0.6s ease 0.4s both;
}

.view-id-projects .views-col:nth-child(5) {
    animation: fadeInUp 0.6s ease 0.5s both;
}

.view-id-projects .views-col:nth-child(6) {
    animation: fadeInUp 0.6s ease 0.6s both;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(25px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* Overlay durante carga */

.view-id-projects .view-content {
    position: relative;
}

.view-id-projects.ajax-progress .view-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 10;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/* Vista shop - elementos del grid */

.view-id-shop .views-col {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* Durante AJAX - fade out */

.view-id-shop.ajax-progress .views-col {
    opacity: 0;
    transform: translateY(15px) scale(0.98);
}


/* DespuÃ©s de AJAX - fade in con delay escalonado para grid de 3 columnas */

.view-id-shop .views-col:nth-child(1) {
    animation: fadeInUp 0.6s ease 0.1s both;
}

.view-id-shop .views-col:nth-child(2) {
    animation: fadeInUp 0.6s ease 0.2s both;
}

.view-id-shop .views-col:nth-child(3) {
    animation: fadeInUp 0.6s ease 0.3s both;
}

.view-id-shop .views-col:nth-child(4) {
    animation: fadeInUp 0.6s ease 0.4s both;
}

.view-id-shop .views-col:nth-child(5) {
    animation: fadeInUp 0.6s ease 0.5s both;
}

.view-id-shop .views-col:nth-child(6) {
    animation: fadeInUp 0.6s ease 0.6s both;
}


/* Overlay durante carga */

.view-id-shop .view-content {
    position: relative;
}

.view-id-shop.ajax-progress .view-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 10;
    animation: fadeIn 0.3s ease;
}


/* Si quieres que ambas usen las mismas animaciones, puedes usar: */

.view-id-projects .views-col,
.view-id-shop .views-col {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
    transform: translateY(0) scale(1);
}

.view-id-projects.ajax-progress .views-col,
.view-id-shop.ajax-progress .views-col {
    opacity: 0;
    transform: translateY(15px) scale(0.98);
}

.field--name-field-images {
    overflow: hidden;
    text-align: center;
}

.field--name-field-images .field__item {
    margin-bottom: 25px;
}</pre></body></html>