/*
Theme Name:   Movedo Child
Theme URI:    http://themeforest.net/user/greatives
Description:  Movedo Child Theme
Version:      3.5.4
Author:       Greatives Team
Author URI:   http://greatives.eu
Template:     movedo
*/

:root {
  --color-principal: #be061e; /* rojo principal */
  --color-white: #fff;
  --color-black: #000;
  --color-gris-boton: #737373;
  --color-gris-claro: #f7f7f5;
  --color-gris-medio: #bbb;
  --color-gris-oscuro: #d8d8d8;
  --color-gris-label: #111a31;
  --color-gris-fondo: #f7f7f5;
}
.grve-back-top {
    background-color: var(--color-principal);
    color: var(--color-white);  
    border-radius: 26px;
    width: 39px;    
    height: 39px;
    }
    .grve-back-top i {
        font-size: 1.25rem;
        font-weight: 700;
        line-height: 39px;
    }

.grve-column-wrapper h2 {
    margin: 0;
}

#grve-top-bar ul.grve-right-side li.grve-topbar-item {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    }
    #grve-top-bar ul.grve-right-side li.grve-topbar-item p,
    #google_language_translator .goog-te-gadget .goog-te-combo {
        margin: 0;
    }
    #google_language_translator .goog-te-gadget .goog-te-combo {
        background: url(/wp_rodisa/wp-content/uploads/2026/06/icono-idioma.png) 0 5px no-repeat!important;
        padding-left: 1.5rem !important;
        margin-left: 2rem !important;
        width: auto;
    }

#grve-theme-wrapper .grve-bg-white {
    margin: 2rem 0 0 0!important;
    padding: 15px 3.45rem 16px!important;
    right: 20px;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    padding: 0;
    margin: 0;
    border: none;
    outline: none;
    text-decoration: none;
    border-radius: 26px !important;
    border: solid 1px #fafbfd;
    font-family: Poppins;
    font-size: 1rem !important;
    font-weight: 600 !important;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.38;
    letter-spacing: normal;
    text-transform: none;
    text-align: center;
}

/* HOME */

/* --------------------------------------------------------------------------
   Revolution Slider portada (alias: slider-home1)
   Sustituye el overlay de patrón (líneas) por uno uniforme semitransparente.
   -------------------------------------------------------------------------- */

sr7-module[data-alias="slider-home1"] sr7-overlay {
    background-image: none !important;
    background-color: rgba(0, 0, 0, 0.45) !important;
}

/* Compatibilidad SR6 por si el slider vuelve a renderizarse en modo legacy */
rs-module-wrap[data-alias="slider-home1"] rs-dotted {
    display: none !important;
}

rs-module-wrap[data-alias="slider-home1"] rs-sbg-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2;
    pointer-events: none;
}

.banda-iconos .grve-row.grve-columns-gap-30 .grve-column {
    border-left: 1px solid var(--color-white);
    padding-left: 1rem;
}
.banda-iconos .grve-row.grve-columns-gap-30 .grve-column:first-child {
    border-left: none;
    padding-left: 0 ;
}
.banda-iconos .grve-box-icon {
    color: var(--color-white);
    margin-bottom: 1rem;
}
.banda-iconos .grve-box-icon.grve-top-icon .grve-image-icon  {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 34px;
}
.banda-iconos .grve-box-icon.grve-top-icon img {
    height: auto;
    width: auto;
}
.banda-iconos .grve-box-icon.grve-top-icon .grve-box-title-wrapper {
    margin: 0;
}
.banda-iconos .grve-box-icon.grve-top-icon .grve-box-content,
.banda-iconos .grve-box-icon.grve-top-icon .grve-box-title {
    font-size: 1.375rem;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.32;
    letter-spacing: normal;
    text-align: center;
    text-transform: none;
}
.banda-iconos .grve-box-icon.grve-top-icon .grve-box-title {
    font-weight: bold;
}
    
/* --------------------------------------------------------------------------
   Banda Servicios – Inicio
   Añadir la clase "banda-servicios" en la sección WPBakery correspondiente.
   -------------------------------------------------------------------------- */

/* Cabecera de la sección */
.banda-servicios .grve-column-1 .grve-title {
    text-align: center;
    color: var(--color-black);
    font-weight: 700;
    margin-bottom: 0;
}

.banda-servicios .grve-column-1 .grve-title span {
    display: block;
}

.banda-servicios .grve-column-1 .grve-text,
.banda-servicios .grve-column-1 .wpb_text_column {
    text-align: center;
    color: var(--color-gris-label);
    margin-bottom: 40px;
}

.banda-servicios .grve-column-1 .grve-text p,
.banda-servicios .grve-column-1 .wpb_text_column p {
    margin-bottom: 0;
    line-height: 1.5;
}

/* Tarjetas de servicio */
.banda-servicios .grve-column-1-3 > .grve-column-wrapper-inner {
    background-color: var(--color-white);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Imagen */
.banda-servicios .grve-column-1-3 .grve-image-icon {
    margin-bottom: 0;
}

.banda-servicios .grve-column-1-3 .grve-image-icon img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

/* Título de la tarjeta */
.banda-servicios .grve-box-content {
    padding: 1rem 4rem 2rem 2rem;
    text-align: left;
}
.banda-servicios .grve-column-1-3 .grve-box-title-wrapper {
    margin: 0;
}
.banda-servicios .grve-column-1-3 .grve-box-title {
    color: var(--color-principal);
    font-family: Poppins;
    font-size: 1.25rem;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    padding: .5rem 0 0;
    margin-bottom: 12px;
}

.banda-servicios .grve-column-1-3 .grve-box-title span {
    display: block;
}

/* Descripción */
.banda-servicios .grve-column-1-3 .grve-text,
.banda-servicios .grve-column-1-3 .wpb_text_column {
    padding: 0 24px 24px;
    text-align: left;
    color: #333;
    flex-grow: 1;
}

.banda-servicios .grve-column-1-3 .grve-text p,
.banda-servicios .grve-column-1-3 .wpb_text_column p {
    margin-bottom: 0;
    line-height: 1.6;
    font-size: 15px;
}

.banda-servicios .grve-column-1-3 .grve-text strong,
.banda-servicios .grve-column-1-3 .grve-text b,
.banda-servicios .grve-column-1-3 .wpb_text_column strong,
.banda-servicios .grve-column-1-3 .wpb_text_column b {
    font-weight: 700;
    color: var(--color-black);
}

/* Responsive */
@media only screen and (max-width: 767px) {
    .banda-servicios .grve-column-1-3 {
        margin-bottom: 24px;
    }

    .banda-servicios .grve-column-1-3:last-child {
        margin-bottom: 0;
    }

    .banda-servicios .grve-column-1-3 .grve-image img {
        height: 200px;
    }
}

/* --------------------------------------------------------------------------
   Banda Procesos – Inicio
   Añadir la clase "banda-procesos" en la sección WPBakery correspondiente.
   -------------------------------------------------------------------------- */

.banda-procesos .grve-column-1-3 > .grve-column-wrapper,
.banda-procesos .grve-column-1-3 > .grve-column-wrapper-inner {
    border-radius: 10px;
    overflow: hidden;
    height: 100%;
}

.banda-procesos .grve-row-inner {
    margin: 1.875rem 0;
}
.banda-procesos .banda-intro-procesos.grve-row-inner {
    margin: 0;
}
/* Contenedor tarjeta (Icon Box o Media Box) */
.banda-procesos .grve-column-1-3 .grve-box-icon,
.banda-procesos .grve-column-1-3 .grve-box-icon > a,
.banda-procesos .grve-column-1-3 .grve-box {
    position: relative;
    display: block;
    width: 100%;
    min-height: 357px;
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: var(--color-white);
}

.banda-procesos .grve-column-1-3 .grve-box-icon > a {
    min-height: inherit;
}

/* Media Box: figure + contenedor de imagen */
.banda-procesos .grve-column-1-3 .grve-box .grve-image-hover,
.banda-procesos .grve-column-1-3 .grve-box .grve-media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 !important;
    z-index: 0;
    overflow: hidden;
}

.banda-procesos .grve-column-1-3 .grve-box .grve-hover-overlay {
    display: none;
}

/* Icon Box: contenedor de imagen */
.banda-procesos .grve-column-1-3 .grve-box-icon.grve-top-icon .grve-image-icon,
.banda-procesos .grve-column-1-3 .grve-box-icon .grve-image-icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    margin: 0 !important;
    display: block !important;
    line-height: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Imágenes visibles (el tema pone opacity:0 en .grve-box .grve-media img) */
.banda-procesos .grve-column-1-3 .grve-box-icon.grve-top-icon img,
.banda-procesos .grve-column-1-3 .grve-box-icon .grve-image-icon img,
.banda-procesos .grve-column-1-3 .grve-box .grve-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 1 !important;
    transition: transform 0.45s ease;
}

/* Zoom en hover */
.banda-procesos .grve-column-1-3 .grve-box-icon:hover .grve-image-icon img,
.banda-procesos .grve-column-1-3 .grve-box-icon > a:hover .grve-image-icon img,
.banda-procesos .grve-column-1-3 .grve-box:hover .grve-media img {
    transform: scale(1.07);
}

/* Overlay oscuro */
/*.banda-procesos .grve-column-1-3 .grve-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
    pointer-events: none;
}*/

/* Título centrado */
.banda-procesos .grve-column-1-3 .grve-box-icon .grve-box-content,
.banda-procesos .grve-column-1-3 .grve-box .grve-box-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 5rem;
    pointer-events: none;
}

.banda-procesos .grve-column-1-3 .grve-box .grve-box-content p {
    display: none;
}

.banda-procesos .grve-column-1-3 .grve-box-icon .grve-box-title-wrapper,
.banda-procesos .grve-column-1-3 .grve-box .grve-box-title-wrapper {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    height: auto;
}

.banda-procesos .grve-column-1-3 .grve-box-icon .grve-box-title,
.banda-procesos .grve-column-1-3 .grve-box .grve-box-title {
    position: static;
    display: block;
    width: 100%;
    color: var(--color-white) !important;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.3;
    text-align: center;
    margin: 0;
}

/* Botón rojo abajo a la derecha */
.banda-procesos .grve-column-1-3 .grve-box-icon::after,
.banda-procesos .grve-column-1-3 .grve-box-icon > a::after,
.banda-procesos .grve-column-1-3 .grve-box::after {
    content: '';
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    background: url('img/PROCESOS_BOTON.png') no-repeat center center / contain;
    z-index: 3;
    pointer-events: none;
}

@media only screen and (max-width: 767px) {
    .banda-procesos .grve-column-1-3 {
        margin-bottom: 16px;
    }

    .banda-procesos .grve-column-1-3:last-child {
        margin-bottom: 0;
    }

    .banda-procesos .grve-column-1-3 .grve-box-icon,
    .banda-procesos .grve-column-1-3 .grve-box-icon > a,
    .banda-procesos .grve-column-1-3 .grve-box {
        min-height: 200px;
    }
}

/* --------------------------------------------------------------------------
   Banda Actualidad – Inicio
   Añadir la clase "banda-actualidad" en la sección WPBakery correspondiente.
   Usar el shortcode Blog en modo "grid" con "shadow-mode" desactivado.
   -------------------------------------------------------------------------- */
   .banda-actualidad .grve-row.grve-columns-gap-30 .grve-column-inner.grve-column-1-3 a {
    color: var(--color-principal);
    font-weight: bold;
    text-decoration: underline;
   }
/* Cada tarjeta de entrada */
.banda-actualidad .grve-blog-item .grve-blog-item-inner,
.banda-actualidad .grve-blog-item .grve-isotope-item-inner {
    background: var(--color-white);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Imagen */
.banda-actualidad .grve-blog-item .grve-image-hover,
.banda-actualidad .grve-blog-item figure.grve-image-hover {
    margin: 0;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
    line-height: 0;
}

.banda-actualidad .grve-blog-item .grve-media {
    margin: 0;
    overflow: hidden;
}

.banda-actualidad .grve-blog-item .grve-media img,
.banda-actualidad .grve-blog-item .grve-image-hover img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.banda-actualidad .grve-blog-item:hover .grve-media img,
.banda-actualidad .grve-blog-item:hover .grve-image-hover img {
    transform: scale(1.05);
}

/* Zona de contenido */
.banda-actualidad .grve-blog-item .grve-post-content-wrapper {
    flex-grow: 1;
    padding: 0;
}

.banda-actualidad .grve-blog-item .grve-post-content {
    padding: 0;
}

.banda-actualidad .grve-blog-item .grve-post-header {
    margin-bottom: 0;
}

/* Fecha */
.banda-actualidad .grve-blog-item .grve-post-meta {
    list-style: none;
    margin: 0;
    padding: 0;
}

.banda-actualidad .grve-blog-item .grve-post-date,
.banda-actualidad .grve-blog-item .grve-post-meta .grve-post-date,
.banda-actualidad .grve-blog-item .grve-post-meta .grve-post-date time {
    color: var(--color-principal) !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: uppercase;
    line-height: normal;
}

/* Título */
.banda-actualidad .grve-blog-item .grve-post-title {
    color: var(--color-black) !important;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.35;
    margin: 0 0 .5rem;
}

.banda-actualidad .grve-blog-item .grve-post-title:hover {
    color: var(--color-principal) !important;
}

/* Extracto */
.banda-actualidad .grve-blog-item .grve-post-content > p,
.banda-actualidad .grve-blog-item .grve-post-excerpt p {
    color: var(--color-gris-label);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

/* Responsive */
@media only screen and (max-width: 767px) {
    .banda-actualidad .grve-blog-item {
        margin-bottom: 20px;
    }

    .banda-actualidad .grve-blog-item:last-child {
        margin-bottom: 0;
    }

    .banda-actualidad .grve-blog-item .grve-media img,
    .banda-actualidad .grve-blog-item .grve-image-hover img {
        height: 200px;
    }
}

/* --------------------------------------------------------------------------
   Banda Mercados – Inicio
   Añadir la clase "banda-mercados" en la sección WPBakery (fullwidth).
   Usar columnas 1/4 con Icon Box (imagen + título + enlace).
   El "+" de enlace se genera automáticamente con CSS ::after.
   -------------------------------------------------------------------------- */

/* Sin padding lateral en columnas para efecto edge-to-edge */
.banda-mercados .grve-row,
.banda-mercados .grve-row-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.banda-mercados .grve-column-1-4 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.banda-mercados .grve-column-1-4 > .grve-column-wrapper,
.banda-mercados .grve-column-1-4 > .grve-column-wrapper-inner {
    height: 390px;
    overflow: hidden;
}

/* Tarjeta: imagen ocupa todo el espacio disponible */
.banda-mercados .grve-column-1-4 .grve-box,
.banda-mercados .grve-column-1-4 .grve-box > a {
    position: relative;
    display: block;
    width: 100%;
    min-height: 340px;
    margin: 0;
    overflow: hidden;
    text-decoration: none;
    color: var(--color-white);
}
.banda-mercados .grve-column-1-4 .grve-box .grve-media {
    margin: 0;
}

.banda-mercados .grve-column-1-4 .grve-box > a {
    min-height: inherit;
}

/* Imagen – capa 0 */
.banda-mercados .grve-column-1-4 .grve-box.grve-top-icon .grve-image-icon,
.banda-mercados .grve-column-1-4 .grve-box .grve-image-icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    margin: 0 !important;
    display: block !important;
    line-height: 0;
    width: 100%;
    height: 100%;
}

.banda-mercados .grve-column-1-4 .grve-box.grve-top-icon img,
.banda-mercados .grve-column-1-4 .grve-box .grve-image-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

/* Overlay oscuro – capa 1 */
.banda-mercados .grve-column-1-4 .grve-box::before,
.banda-mercados .grve-column-1-4 .grve-box > a::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.1);
    z-index: 1;
    pointer-events: none;
}

/* Signo + arriba a la derecha – capa 3 */
.banda-mercados .grve-column-1-4 .grve-box::after,
.banda-mercados .grve-column-1-4 .grve-box > a::after {
    content: '+';
    position: absolute;
    top: 18px;
    right: 22px;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1;
    color: var(--color-white);
    z-index: 3;
    pointer-events: none;
}

/* Título abajo a la izquierda – capa 2 */
.banda-mercados .grve-column-1-4 .grve-box .grve-box-content {
    position: absolute;
    top: 5rem;
    left: 2.5rem;
    right: 0;
    z-index: 2;
    padding: 0;
    pointer-events: none;
}

.banda-mercados .grve-column-1-4 .grve-box.grve-top-icon .grve-box-title-wrapper,
.banda-mercados .grve-column-1-4 .grve-box .grve-box-title-wrapper {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    height: auto;
}

.banda-mercados .grve-column-1-4 .grve-box.grve-top-icon .grve-box-title,
.banda-mercados .grve-column-1-4 .grve-box .grve-box-title {
    position: static;
    display: block;
    color: var(--color-white) !important;
    font-family: Poppins;
    font-size: 1.5rem;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: left;
    margin: 0;
    padding: 0 12rem 0 0;
}

/* Zoom en hover */
.banda-mercados .grve-column-1-4 .grve-box:hover .grve-image-icon img,
.banda-mercados .grve-column-1-4 .grve-box.grve-top-icon:hover img,
.banda-mercados .grve-column-1-4 .grve-box > a:hover .grve-image-icon img {
    transform: scale(1.07);
}

/* Responsive – tablet */
@media only screen and (max-width: 1024px) {
    .banda-mercados .grve-column-1-4 .grve-box,
    .banda-mercados .grve-column-1-4 .grve-box > a {
        min-height: 260px;
    }
}

/* Responsive – móvil */
@media only screen and (max-width: 767px) {
    .banda-mercados .grve-column-1-4 {
        margin-bottom: 4px;
    }

    .banda-mercados .grve-column-1-4:last-child {
        margin-bottom: 0;
    }

    .banda-mercados .grve-column-1-4 .grve-box,
    .banda-mercados .grve-column-1-4 .grve-box > a {
        min-height: 200px;
    }
}

/* --------------------------------------------------------------------------
   Footer contacto – Formulario Gravity Forms
   Añadir la clase "footer-contacto" al contenedor del formulario en el footer.
   -------------------------------------------------------------------------- */

.footer-contacto .gform_wrapper {
    margin: 0;
    background: var(--color-white);
    border-radius: 10px;
    padding: 1rem 2rem;
}

.footer-contacto .gform_heading,
.footer-contacto .gform_required_legend {
    display: none;
}

.footer-contacto .gform_fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-contacto .gfield {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}
.footer-contacto .gform-theme--foundation .gform_fields {
    row-gap: 1.5rem;
}

.footer-contacto .gfield--width-full,
.footer-contacto .gfield--type-textarea,
.footer-contacto .gfield--type-submit,
.footer-contacto .gfield--type-captcha,
.footer-contacto .gfield--type-honeypot,
.footer-contacto .gform-footer {
    grid-column: 1 / -1;
}

.footer-contacto .gfield.floating-field {
    position: relative;
    padding: 0;
    margin: 0;
}

.footer-contacto .gfield.floating-field .gfield_label,
.footer-contacto .gfield.floating-field .gform-field-label {
    position: absolute;
    left: 0;
    top: 12px;
    margin: 0;
    padding: 0;
    color: var(--color-gris-label);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    pointer-events: none;
    transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
    z-index: 2;
}

.footer-contacto .gfield.floating-field.is-active .gfield_label,
.footer-contacto .gfield.floating-field.is-active .gform-field-label {
    top: -10px;
    font-size: 0.8125rem;
}

.footer-contacto .gfield.floating-field .gfield_required,
.footer-contacto .gfield.floating-field .gfield_required_text {
    display: none;
}

.footer-contacto .gfield.floating-field .ginput_container {
    margin: 0;
}
#grve-theme-wrapper .footer-contacto .gform-grid-col {
    padding: 0;
}
#grve-theme-wrapper .footer-contacto .gfield.floating-field input[type="text"],
#grve-theme-wrapper .footer-contacto .gfield.floating-field input[type="email"],
#grve-theme-wrapper .footer-contacto .gfield.floating-field input[type="tel"],
#grve-theme-wrapper .footer-contacto .gfield.floating-field input[type="url"],
#grve-theme-wrapper .footer-contacto .gfield.floating-field select,
#grve-theme-wrapper .footer-contacto .gfield.floating-field textarea {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--color-gris-medio);
    border-radius: 0;
    background: transparent;
    color: var(--color-black);
    box-shadow: none;
    outline: none;
    font-size: 1rem;
    line-height: 1.4;
}
#grve-theme-wrapper .footer-contacto .gfield.floating-field textarea {
    height: 6rem;
}

#grve-theme-wrapper .footer-contacto .gfield.floating-field input:focus,
.footer-contacto .gfield.floating-field select:focus {
    border-bottom-color: var(--color-white);
}

#grve-theme-wrapper .footer-contacto .gfield.floating-field--textarea {
    padding-top: 0;
}

.footer-contacto .gfield.floating-field--textarea .gfield_label,
.footer-contacto .gfield.floating-field--textarea .gform-field-label {
    top: 12px;
    left: 12px;
}

.footer-contacto .gfield.floating-field--textarea.is-active .gfield_label,
.footer-contacto .gfield.floating-field--textarea.is-active .gform-field-label {
    top: -16px;
    font-size: 0.8125rem;
}

#grve-theme-wrapper .footer-contacto .gfield.floating-field--textarea textarea {
    width: 100%;
    min-height: 120px;
    margin: 0;
    padding: 28px 16px 16px;
    border: 0;
    border-radius: 8px;
    background: var(--color-gris-claro);
    color: var(--color-black);
    box-shadow: none;
    outline: none;
    resize: vertical;
    font-size: 1rem;
    line-height: 1.5;
}

.footer-contacto .gfield.floating-field--textarea textarea:focus {
    box-shadow: inset 0 0 0 1px var(--color-gris-medio);
}

#grve-theme-wrapper .footer-contacto .gform-footer,
#grve-theme-wrapper .footer-contacto .gform_page_footer {
    display: block;
    margin: 4px 0 0;
    padding: 0;
}

#grve-theme-wrapper .footer-contacto .gform_button,
#grve-theme-wrapper .footer-contacto input[type="submit"],
#grve-theme-wrapper .footer-contacto button[type="submit"] {
    width: 100%;
    height: 41px;
    margin: 0;
    padding: 0 24px;
    border: 0;
    border-radius: 26px;
    background: var(--color-principal);
    color: var(--color-white);
    font-size: 0.9375rem!important;
    font-weight: 700!important;
    letter-spacing: 0.02em!important;
    text-transform: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.footer-contacto .gform_button:hover,
.footer-contacto input[type="submit"]:hover,
.footer-contacto button[type="submit"]:hover {
    opacity: 0.9;
}

.footer-contacto .gform_validation_errors,
.footer-contacto .validation_message {
    color: #ffb3b3;
}

@media only screen and (max-width: 767px) {
    .footer-contacto .gform_fields {
        grid-template-columns: 1fr;
    }

    .footer-contacto .gfield {
        grid-column: 1 / -1;
    }
}
.grve-headings-light {
    font-size: 14px;
    }
    .footer-legal.grve-headings-light .grve-container {
        border-top: 1px solid var(--color-white);
        padding-top: .75rem;
    }
    .grve-headings-light a {
        color: var(--color-white);
    }

 /*******************/
 /* PROCESOS DETAIL */   
 /*******************/
 #grve-page-title .grve-title-content-wrapper.grve-content-medium {
    display: flex;
    justify-self: center;
    align-items: flex-start;
    gap: 1.25rem;
 }
 #grve-page-title .grve-title-content-wrapper.grve-content-medium, 
 #grve-feature-section .grve-title-content-wrapper.grve-content-medium {
    max-width: 730px;
}
 #grve-page-title .grve-title-content-wrapper.grve-content-medium .grve-description {
    font-size: 1.5rem;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: normal;
    text-align: left;
}
.banda-proceso-detail .grve-title {
    color: var(--color-principal);
    font-size: 32px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
 }
 .banda-proceso-detail .grve-row.grve-columns-gap-60 .grve-row-inner {
    margin: 0;
 }
 .banda-proceso-detail .grve-column-1-4 {
    width: 30%;
 }
 .banda-proceso-detail .grve-column-3-4 {
    width: 70%;
 }
 .banda-proceso-detail .grve-row.grve-columns-gap-60 .grve-column-inner.grve-column-1-3 {
    padding-left: 0;
 }
 .banda-proceso-detail .grve-element.grve-box-icon {
    display: flex;
    justify-content: center;
    align-items: center;
 }
 .banda-proceso-detail .grve-box-icon.grve-side-icon.grve-align-left .grve-image-icon {
    display: flex;
    flex: 0 0 62px;
}
 .banda-proceso-detail .grve-element.grve-box-icon img {
    width: 62px;
    height: 72px;
    display: block;
    object-fit: contain;
 }
 .banda-proceso-detail .grve-row.grve-columns-gap-60 .grve-row-inner.banda-grey-productos {
    display: flex;
    align-items: center;
 }
 .banda-proceso-detail .banda-grey-productos .grve-column-1-4 {
    width: 20%;
    }
    .banda-proceso-detail .banda-grey-productos .grve-column-1-4 .grve-text p {
        text-align: center;
        }
        .banda-proceso-detail .banda-grey-productos .grve-column-1-4 .grve-text p .number {
            font-size: 2.375rem;
            font-weight: bold;
            font-stretch: normal;
            font-style: normal;
            line-height: 0.63;
            letter-spacing: normal;
            text-align: center;
        }
 .banda-proceso-detail .banda-grey-productos .grve-column-3-4 {
    border-left: 1px solid var(--color-gris-label);
    width: 80%;
 }

 .banda-proceso-detail .grve-row.grve-columns-gap-60 .grve-row-inner.banda-grey-productos ul {
    display: flex;
    gap: 0;
    list-style: disc;
    flex-wrap: wrap;
    margin-bottom: 0;
 }
 .banda-proceso-detail .grve-row.grve-columns-gap-60 .grve-row-inner.banda-grey-productos ul li {
    flex:  0 0 48%;
    margin: 0;
    padding: 0;
    max-width: 50%;
 }
 @media only screen and (max-width: 767px) {
    .banda-proceso-detail .grve-column-1-4,
    .banda-proceso-detail .grve-column-3-4,
    .banda-proceso-detail .banda-grey-productos .grve-column-1-4,
    .banda-proceso-detail .banda-grey-productos .grve-column-3-4 {
        width: 100%;
    }
}

/* Carousel */
.owl-controls .owl-dot span, 
.owl-controls .owl-dot span {
    opacity: 1;
    background-color: transparent !important;
    border: 1px solid var(--color-gris-label);
    height: 18px;
    width: 18px;
}
.owl-controls .owl-dot.active span, 
.owl-controls .owl-dot:hover span {
    background-color: var(--color-gris-label) !important;
}

/* --------------------------------------------------------------------------
   Ficha Actualidad – Sidebar (single post)
   Buscador en caja con icono de lupa y entradas recientes maquetadas.
   -------------------------------------------------------------------------- */

.single-post #grve-sidebar .grve-widget {
    margin-bottom: 2.5rem;
}

.single-post #grve-sidebar .grve-widget:last-child {
    margin-bottom: 0;
}

.single-post #grve-sidebar .wp-block-heading {
    color: var(--color-black);
    font-family: Poppins, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 1.25rem;
}

/* Buscador */
.single-post #grve-sidebar .widget_search .wp-block-search {
    margin: 0;
}

.single-post #grve-sidebar .widget_search .wp-block-search__label {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.single-post #grve-sidebar .widget_search .wp-block-search__inside-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 0.75rem 0 1rem;
    border: 1px solid var(--color-gris-oscuro);
    border-radius: 8px;
    background: var(--color-white);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.single-post #grve-sidebar .widget_search .wp-block-search__inside-wrapper:focus-within {
    border-color: var(--color-gris-medio);
    box-shadow: 0 0 0 3px rgba(190, 6, 30, 0.08);
}

.single-post #grve-sidebar .widget_search .wp-block-search__input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 0.75rem 0.5rem 0.75rem 0;
    border: none;
    background: transparent;
    box-shadow: none;
    font-family: Poppins, sans-serif;
    font-size: 0.9375rem;
    color: var(--color-black);
    outline: none;
}

.single-post #grve-sidebar .widget_search .wp-block-search__input::placeholder {
    color: var(--color-gris-medio);
}

.single-post #grve-sidebar .widget_search .wp-block-search__button {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 6px !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23be061e'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.single-post #grve-sidebar .widget_search .wp-block-search__button:hover,
.single-post #grve-sidebar .widget_search .wp-block-search__button:focus {
    background-color: rgba(190, 6, 30, 0.08) !important;
    color: transparent !important;
}

/* Entradas recientes */
.single-post #grve-sidebar .wp-block-latest-posts__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-post #grve-sidebar .wp-block-latest-posts__list li {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 1rem;
    row-gap: 0.25rem;
    align-items: start;
    margin: 0;
    padding: 1.125rem 0;
    border-bottom: 1px solid var(--color-gris-oscuro);
}

.single-post #grve-sidebar .wp-block-latest-posts__list li:first-child {
    padding-top: 0;
}

.single-post #grve-sidebar .wp-block-latest-posts__list li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.single-post #grve-sidebar .wp-block-latest-posts__featured-image {
    float: none;
    margin: 0;
    grid-column: 1;
    grid-row: 1 / span 2;
}

.single-post #grve-sidebar .wp-block-latest-posts__featured-image img {
    display: block;
    width: 72px;
    height: 72px;
    max-width: none;
    max-height: none;
    border-radius: 6px;
    object-fit: cover;
}

.single-post #grve-sidebar .wp-block-latest-posts__post-title {
    grid-column: 2;
    grid-row: 1;
    display: block;
    margin: 0;
    color: var(--color-black);
    font-family: Poppins, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    transition: color 0.2s ease;
}

.single-post #grve-sidebar .wp-block-latest-posts__post-title:hover {
    color: var(--color-principal);
}

.single-post #grve-sidebar .wp-block-latest-posts__post-date {
    grid-column: 2;
    grid-row: 2;
    display: block;
    margin: 0;
    color: var(--color-principal);
    font-family: Poppins, sans-serif;
    font-size: 0.7125rem;
    font-weight: bold;
    line-height: 1.4;
}

.single-post #grve-sidebar .widget_block:empty,
.single-post #grve-sidebar .wp-block-group__inner-container:empty {
    display: none;
}
.single-post #grve-main-content .grve-main-content-wrapper {
    padding-bottom: 3rem;
}