/**
Theme Name: Formación INESEM
Author: INESEM
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: formacion.inesem
Template: astra
*/

/*------------------------------------*\
  #GLOBAL VARIABLES
\*------------------------------------*/
:root {
    /* Colores */
    --color-primario: #FBA2D0;
    --color-secundario: #FBA2D0;
    --color-acento: #FF7C78; /* #FABB00 */
    --color-texto-oscuro: #787CFE;
    --color-texto-claro: #fff;
    --color-texto-negro: #000;
    --color-texto-mutado: #888;
    --color-fondo-blanco: #fff;
    --color-fondo-claro: #fafafa; /* Utilizado para el fondo del acordeón */
    --color-fondo-post: #fbfbfb;
    --color-borde-claro: #ddd;
    --color-borde-input: #ccc;
    --color-error: #fabb00;
    --color-exito: #00af17;
    --color-autofill-chrome: #fff;
    --color-azul-oscuro: #002244;
    --color-azul-claro: #00b8f1;
    --color-gris-claro-select: #ced4da;
    --color-azul-seleccion-select: #007bff;
    --color-fondo-resaltado-select: #f8f9fa;
    --color-texto-resaltado-select: #495057;
    --color-gris-fondo-opcion-multiple: #e4e6ea;
    --color-borde-opcion-multiple: #dee2e6;
    --color-texto-opcion-multiple: #343a40;
    --color-cerrar-opcion-multiple: #adb5bd;
    --color-cerrar-opcion-multiple-hover: #dc3545;
    --color-azul-buscador-cursos: #29bfd4; /* Nuevo color para el botón del buscador en páginas de cursos */
    --color-azul-claustro-overlay: rgba(0, 43, 89, 0.9); /* Azul oscuro para el overlay del claustro */
    --color-azul-claustro-overlay-transparente: rgba(0, 43, 89, 0.4); /* Azul oscuro transparente para el overlay del claustro */
    --color-sombra-claustro: rgba(0, 0, 0, 0.08); /* Sombra para las tarjetas del claustro */
    --color-flecha-claustro-hover: #008fa1; /* Color de las flechas del claustro al pasar el ratón */

    /* Familias de Fuente */
    --fuente-lato: 'Comfortaa', sans-serif;

    /* Otros */
    --borde-radio-base: 3px;
    --sombra-input-foco: 0 0 0 2px rgba(0, 86, 179, 0.2);
}

/*------------------------------------*\
  #ADAPTACIÓN MODAL PC A PORTÁTIL
\*------------------------------------*/
@media screen and (min-width: 1024px) {
    div.pum-container.pum-responsive.pum-responsive-medium {
        margin-left: -34% !important;
        width: 70% !important;
    }
}

@media screen and (min-width: 1800px) {
    div.pum-container.pum-responsive.pum-responsive-medium {
        margin-left: -27% !important;
        width: 55% !important;
    }
}

/*------------------------------------*\
  #MENSAJE DE ERROR BUSCADOR MODAL
\*------------------------------------*/
.formulario-contenedor select[name="curso"] + .wpcf7-not-valid-tip {
    bottom: 72px !important;
    left: 58px !important;
}

/*------------------------------------*\
  #CONTENEDOR GENÉRICO
\*------------------------------------*/
.contenedor-generico {
    display: flex;
    background: var(--color-fondo-blanco);
}

.imagen-contenedor {
    width: 50%;
}


.formulario-contenedor {
    width: 50%;
}

/*------------------------------------*\
  #FORMULARIO MODAL (WPCF7)
\*------------------------------------*/
.formulario-contenedor .custom-form-box {
    position: relative;
    background-color: var(--color-fondo-blanco);
    padding: 30px 55px !important;
    color: var(--color-texto-oscuro);
    font-family: var(--fuente-lato);
    margin: 40px auto 0 auto;
    border-radius: 4px;
    box-sizing: border-box;
    width: 410px;
    border: none;
}

.formulario-contenedor .custom-form-box h3 {
    display: block !important;
    color: var(--color-texto-oscuro) !important;
    margin-top: -20px;
}

#popmake-4287 .formulario-contenedor h3 {
    display: block;
    color: var(--color-texto-oscuro);
}

.formulario-contenedor .input-wrap {
    margin-bottom: 18px;
    position: relative;
}

.formulario-contenedor .custom-form-box .wpcf7-form-control {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--color-texto-oscuro);
    padding: 10px 5px;
    font-size: 14px;
    color: var(--color-texto-negro);
    box-sizing: border-box;
    border-radius: 0;
}

.formulario-contenedor .custom-form-box .wpcf7-form-control:focus,
.formulario-contenedor .custom-form-box .wpcf7-form-control:active {
    color: var(--color-texto-negro) !important;
}

.formulario-contenedor .custom-form-box .wpcf7-form-control::placeholder {
    color: #b5b3bd;
}

.formulario-contenedor .wpcf7 input.wpcf7-form-control:not([type=submit]) {
    padding: 0 !important;
}

.formulario-contenedor .wpcf7-acceptance {
    font-size: 12px;
    margin: 15px 0;
    color: var(--color-texto-negro) !important;
}

.formulario-contenedor .wpcf7-form-control-wrap[data-name="acceptance-717"] {
    margin-bottom: 0 !important;
}

.formulario-contenedor .wpcf7-list-item-label {
    color: var(--color-texto-negro) !important;
}

.formulario-contenedor .wpcf7-acceptance a {
    color: var(--color-secundario) !important;
    text-decoration: none;
}

.formulario-contenedor .wpcf7-acceptance a:hover {
    text-decoration: underline;
}

.formulario-contenedor .btn-wrapper {
    margin-top: 25px;
    display: flex;
    justify-content: center;
}

.formulario-contenedor .btn-wrapper p {
    margin-bottom: -1em;
}

.formulario-contenedor .btn-wrapper input[type="submit"] {
    background-color: var(--color-acento);
    color: var(--color-texto-claro);
    font-weight: bold;
    font-size: 22px;
    padding: 18px 40px;
    border: none;
    width: 100%;
    cursor: pointer;
    transition: background-color 0.3s ease;
    position: relative;
}

.formulario-contenedor .btn-wrapper input[type="submit"]::after {
    content: " >";
    font-weight: bold;
    margin-left: 10px;
}

.formulario-contenedor .btn-wrapper input[type="submit"]:hover {
    background-color: var(--color-secundario);
}

.formulario-contenedor .btn-wrapper input[type="submit"]:focus,
.formulario-contenedor .btn-wrapper input[type="submit"]:active {
    color: var(--color-texto-claro) !important;
}

.formulario-contenedor .wpcf7-not-valid-tip {
    position: absolute;
    bottom: -14px;
    left: 0;
    font-size: 11px;
    color: var(--color-error) !important;
    line-height: 1.2;
    margin: 0;
    display: block;
    white-space: nowrap;
}

.formulario-contenedor .wpcf7 form .wpcf7-response-output {
    margin: 12px 0 0 0;
    color: var(--color-exito);
    font-size: 13px;
    line-height: 1.3;
    border: none;
    padding: 0;
    text-align: center;
}

.formulario-contenedor span.wpcf7-form-control-wrap {
    display: block;
}

.formulario-contenedor .custom-form-box input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--color-autofill-chrome) inset !important;
    -webkit-text-fill-color: var(--color-texto-negro) !important;
    color: var(--color-texto-negro) !important;
    font-weight: bold !important;
    border: none !important;
    border-bottom: 1px solid var(--color-texto-oscuro) !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Overlay y Spinner */
.formulario-contenedor .custom-form-box::after {
    content: '';
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    z-index: 10;
    border-radius: 4px;
}

.formulario-contenedor .wpcf7-form.submitting .custom-form-box::after {
    display: block;
}

.formulario-contenedor .wpcf7-form.submitting .wpcf7-spinner {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 20 !important;
}

.formulario-contenedor .wpcf7-spinner {
    display: none;
    width: 40px !important;
    height: 40px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.formulario-contenedor .becas {
    display: none !important;
}

/*------------------------------------*\
  #FORMULARIO FIJO MODIFICADO
\*------------------------------------*/
@media (max-width: 768px) {
    .custom-form-box h3 {
        font-size: 20px;
    }
}

.custom-form-box {
    background-color: var(--color-texto-oscuro);
    padding: 30px 35px 60px 35px !important;
    color: var(--color-texto-claro);
    font-family: var(--fuente-lato);
    margin: auto;
    border: 1px solid #b5b3bd;
    border-radius: 4px;
    box-sizing: border-box;
    width: 380px;
}

.custom-form-box h3 {
    font-size: 23px;
    font-weight: bold;
    margin-bottom: 12px;
    display: flex;
    gap: 16px;
    align-items: center;
    color: var(--color-texto-claro);
}

.form-icon {
    font-size: 16px;
}

.input-wrap {
    margin-bottom: -8px !important;
}

.custom-form-box .wpcf7-form-control {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--color-texto-claro);
    padding: 10px 5px;
    font-size: 16px;
    color: var(--color-texto-claro);
    box-sizing: border-box;
    border-radius: 0;
}

.custom-form-box .wpcf7-form-control:focus,
.custom-form-box .wpcf7-form-control:active {
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--color-texto-claro);
    color: var(--color-texto-claro) !important;
}

.custom-form-box .wpcf7-form-control::placeholder {
    color: var(--color-texto-claro);
    opacity: 1;
}

.wpcf7 input.wpcf7-form-control:not([type=submit]) {
    padding: 0 !important;
}


/* checkbox form*/
.checkbox-wrap {
    font-size: 12px;
    margin: 15px 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
    color: var(--color-texto-claro);
    border: none;
}


.wpcf7-form-control-wrap[data-name="acceptance-717"] {
    margin-bottom: -15px !important;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin: 0 !important;
}

.wpcf7-acceptance {
    border: none !important;
}

.wpcf7-acceptance span {
    font-size: 12px;
}

.wpcf7-acceptance a {
    color: var(--color-azul-claro) !important;
    text-decoration: none;
}

.wpcf7-acceptance a:hover {
    text-decoration: underline;
}

.wpcf7-list-item-label {
    color: var(--color-texto-claro);
}

.wpcf7 input[type=checkbox] {
    height: 1.1em !important;
}

.checkbox-wrap a {
    color: var(--color-azul-claro);
    text-decoration: none;
}

.btn-wrapper {
    margin-bottom: -3em;
    display: flex;
    justify-content: center;
}

.becas {
    border-bottom: none !important;
    text-align: center;
    font-size: 20px !important;
    font-weight: bold !important;
    margin-top: -1em;
    margin-bottom: -1em;
    top: -10px;
}

.btn-wrapper input[type="submit"] {
    background-color: var(--color-acento);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-texto-claro);
    font-weight: bold;
    padding: 20px 40px;
    border: none;
    width: 100%;
    cursor: pointer;
    font-size: 26px;
    transition: background-color 0.3s ease;
    margin-top: -.5em;
}

.btn-wrapper input[type="submit"]:hover {
    background-color: var(--color-secundario);
}

.btn-wrapper input[type="submit"]:focus,
.btn-wrapper input[type="submit"]:active {
    background-color: var(--color-secundario);
}

.wpcf7-not-valid-tip {
    color: var(--color-error) !important;
    font-size: 11px;
    line-height: 1.2;
    margin-top: 2px;
    display: inline-block;
    max-width: 100%;
    white-space: normal;
}

span.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7 form .wpcf7-response-output {
    display: none !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    box-shadow: 0 0 0 1000px transparent inset !important;
    -webkit-text-fill-color: var(--color-texto-claro) !important;
    border-bottom: 1px solid var(--color-texto-claro) !important;
    transition: background-color 9999s ease-in-out 0s;
}

#div-form .wpcf7-not-valid-tip {
    color: var(--color-error) !important;
    font-size: 12px;
    margin-top: 2px;
    margin-bottom: 5px;
    line-height: 1.2;
    display: block;
}

#div-form .wpcf7 form .wpcf7-response-output {
    margin: 10px 0 0 0;
    color: #00ef1d;
    border: none;
    padding: 0;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
}

/* Contenedor relativo para posicionar el overlay */
.custom-form-box {
    position: relative;
}

/* Capa oscura que aparecerá al enviar el formulario */
.custom-form-box::after {
    content: '';
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10;
    border-radius: 4px;
}

/* Mostrar overlay cuando se esté enviando */
.wpcf7-form.submitting .custom-form-box::after {
    display: block;
}

/* Posicionar el spinner en el centro del formulario */
.wpcf7-form.submitting .wpcf7-spinner {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 20 !important;
}

/* Ajuste del spinner por defecto de CF7 */
.wpcf7-spinner {
    display: none;
    width: 40px !important;
    height: 40px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/*------------------------------------*\
  #ESTILOS COMENTARIO - GRACIAS
\*------------------------------------*/
.comment-form {
    margin: 0.8rem auto;
   /* padding: 1.5rem; */
    border-radius: 8px;
}

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

.comment-form .form-label {
    display: none;
}

.comment-form .form-textarea {
    display: block;
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid var(--color-borde-input);
    border-radius: 20px;
    font-size: 1rem;
    line-height: 1.5;
    background-color: var(--color-fondo-blanco);
    box-sizing: border-box;
    transition: border-color 0.2s ease-in-out;
}

.comment-form .form-textarea:focus {
    outline: none;
    border-color: #0056b3;
    box-shadow: var(--sombra-input-foco);
}

.form-actions {
    text-align: right;
    margin-top: 1.5rem;
}

.comment-form .form-submit {
    background-color: var(--color-error);
    color: var(--color-texto-claro);
    padding: 0.8rem 1.8rem;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out, transform 0.1s ease;
    display: inline-block;
    text-align: center;
    float: right;
}

.comment-form .form-submit:hover {
    background-color: var(--color-azul-oscuro);
    color: var(--color-texto-claro);
}

.comment-form .form-submit:active {
    transform: scale(0.98);
}

.comment-form .form-submit:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.4);
}

#form-email-amigo .email-amigo {
    background: #e8eaef;
}

#form-email-amigo .form-submit {
    margin-top: 25px;
    background-color: var(--color-error);
    color: var(--color-texto-claro);
    padding: 0.8rem 1.8rem;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out, transform 0.1s ease;
    display: block;
    text-align: center;
}

/*------------------------------------*\
  #ESTILOS PARA FILTROS (ECF)
\*------------------------------------*/
.ecf-container {
    display: flex;
    background: var(--color-fondo-claro);
}

.ecf-sidebar {
    width: 250px;
    padding: 20px;
    border-right: 1px solid var(--color-borde-claro);
    background: var(--color-fondo-blanco);
}

.ecf-title-sidebar {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 600;
}

.ecf-sidebar-filter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 15px;
}

.ecf-clear {
    background: none;
    border: none;
    color: var(--color-texto-mutado);
    font-size: 12px;
    float: right;
    cursor: pointer;
    margin-bottom: 10px;
}

/* Búsqueda en Sidebar */
.ecf-sidebar .ecf-search {
    display: flex;
    margin-bottom: 15px;
}

.ecf-search-input {
    flex: 1;
    padding: 6px;
    border: 1px solid var(--color-borde-input);
    border-radius: var(--borde-radio-base) 0 0 var(--borde-radio-base);
}

.ecf-search-btn {
    padding: 6px 12px;
    border: none;
    background: var(--color-primario);
    color: var(--color-texto-claro);
    border-radius: 0 var(--borde-radio-base) var(--borde-radio-base) 0;
    cursor: pointer;
}

/* Términos y Filtros */
.ecf-term {
    margin-bottom: 8px;
}

.ecf-term-title {
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.ecf-toggle-icon {
    display: inline-block;
    width: 12px;
    text-align: center;
    color: var(--color-primario);
    margin-right: 5px;
}

.ecf-term-title label {
    cursor: pointer;
}

.ecf-term-children {
    display: none;
    padding-left: 20px;
    margin-top: 5px;
}

.ecf-term-children label {
    display: block;
    margin-bottom: 4px;
}

/* Estilos base para inputs personalizados en el Sidebar */
.ecf-sidebar input[type="radio"],
.ecf-sidebar input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 12px;
    height: 12px;
    border: 2px solid var(--color-primario);
    position: relative;
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
    background-color: var(--color-fondo-blanco);
}

/* Estilos para Radio Buttons (Categorías madre) */
.ecf-sidebar input[type="radio"] {
    border-radius: 50%;
}

.ecf-sidebar input[type="radio"]:checked::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background: var(--color-primario);
    border-radius: 50%;
}

/* Estilos para Checkboxes (Subcategorías) */
.ecf-sidebar input[type="checkbox"] {
    border-radius: var(--borde-radio-base);
}

.ecf-sidebar input[type="checkbox"]:checked::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 4px;
    height: 8px;
    border: solid var(--color-primario);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Alineación para Label + Input dentro de .ecf-term-title */
.ecf-term-title label,
.ecf-term-title input[type="radio"],
.ecf-term-title input[type="checkbox"] {
    display: inline-flex;
    align-items: center;
}

.ecf-sidebar input[type="checkbox"]:checked {
    background: var(--color-primario) !important;
    z-index: 9999;
}

/* --- Contenido Principal --- */
.ecf-content {
    flex: 1;
    padding: 20px;
    background: var(--color-fondo-blanco);
}

.ecf-content-home {
    display: flex;
    gap: 2rem;
}

/* Lista de Posts */
.ecf-posts {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.ecf-posts-home {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}

/* Titulos de cursos en las cards */
.facetwp-titulo {
	line-height: 1.3em;
}

.fwpl-row.el-c3sgkl {
	margin-top: 12px;
}


/* Horas y modalidad de los cursos en las card */
.fwpl-row.el-ocyrt7 {
    grid-template-columns: 45% 1fr 1fr !important;
}
.fwpl-col .fwpl-col .el-dvdhtq {
      width: max-content !important;
	  margin-right: 15px !important;
}

.fwpl-col .fwpl-col .el-86xpm8 {
          width: max-content !important;
          
}


.ecf-post {
    background: var(--color-fondo-post);
    border: 1px solid var(--color-borde-claro);
	border-radius: 8px;
    border-left: 8px solid var(--color-primario);
    padding: 15px;
    width: calc(100% - 15px);
    box-sizing: border-box;
    position: relative;
}

.ecf-post-home a {
    font-weight: bold;
    text-decoration: none !important;
    color: #192b5d;
}

.formacion-meta-home {
    display: flex;
    gap: 1rem;
    align-items: center;
    font-size: 0.7rem;
    margin-top: 0.25rem;
}

.info-curso-home {
    display: flex;
    align-items: center;
}

.info-curso-home img {
    width: 15px;
    height: 15px;
    margin-right: 5px;
}

.formaciones-columns-home {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.formaciones-column-home {
    flex: 1;
    min-width: 0;
}

/* En móviles: solo una columna */
@media (max-width: 768px) {
    .formaciones-columns-home {
        flex-direction: column;
    }

    .formaciones-column-home {
        width: 100%;
    }

	.fwpl-row.el-c3sgkl {
		grid-template-columns: 100% !important;
	}
}


/* Ajuste para cuando hay múltiples posts y el gap aplica entre ellos */
@media (min-width: 500px) {
    .ecf-post {
        width: calc(100% - 15px);
    }
}

.ecf-post h3 {
    margin: 0 0 8px;
    font-size: 18px;
}

.ecf-post h3 a {
    font-family: var(--fuente-lato);
    font-weight: 700;
    font-size: 16px;
    line-height: 120%;
    color: #192b5d;
    text-decoration: none !important;
}

.ecf-meta {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 12px;
    font-family: var(--fuente-lato);
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #192b5d;
}

/* Botón "Cargar más" */
.ecf-loadmore {
    display: block;
    margin: 20px auto;
    float: right;
    background: none;
    border: none;
    color: var(--color-primario);
    padding: 8px 16px;
    cursor: pointer;
    border-radius: var(--borde-radio-base);
}

/*------------------------------------*\
  #ESTILOS FACETWP
\*------------------------------------*/
.facetwp-titulo a {
    font-weight: 700;
    font-size: 18px;
    line-height: 120%;
    color: #192b5d;
    text-decoration: none !important;
}

.facetwp-pager {
    padding-top: 10px;
}

.facetwp-page {
    display: inline-block;
    border: 1px solid var(--color-borde-input);
    border-radius: var(--borde-radio-base);
    padding: 0 8px;
    color: #333;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(246, 246, 246, 1) 47%, rgba(237, 237, 237, 1) 100%);
}

.facetwp-input-wrap {
    width: 98%;
}

.facetwp-buscador .facetwp-input-wrap .facetwp-search {
    background: rgba(25, 43, 93, 0.2);
}

.facetwp-search::placeholder {
    color: rgba(25, 43, 93, 0.7);
}

.facetwp-buscador .facetwp-input-wrap .facetwp-icon {
    background: var(--color-secundario);
    padding: 0 25px;
    opacity: 1;
}

.flyout-row .facetwp-icon {
	opacity: 1 !important;
	padding: 0 4px !important;
}

.facetwp-reset {
    color: var(--color-texto-claro);
    background: #bbbbbb;
    border: none;
    padding: 10px;
    font-size: 15px;
}

.facetwp-counter {
    display: none;
}

.facetwp-checkbox .facetwp-expand {
    float: none;
}

.facetwp-page {
    background: var(--color-fondo-post);
    border: none;
    color: #192b5d;
    padding: 0 15px !important;
}

/* Responsive */
@media (max-width: 768px) {
	.facetwp-buscador .facetwp-input-wrap .facetwp-icon {
		padding: 0 7px;
	}
}

/*------------------------------------*\
  #ESTILOS SELECT2
\*------------------------------------*/
.curso-selector {
    height: 50px !important;
    background: #f0f0f0 !important;
    color: var(--color-texto-oscuro) !important;
    border: 1px solid #eee !important;
}

.select2-container .select2-selection--single {
    border-bottom: 1px solid var(--color-texto-claro) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.select2-container--default .select2-selection--single {
    background: #f0f0f0 !important;
    border: 1px solid #eee !important;
    border-radius: inherit !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--color-texto-oscuro) !important;
}

.select2-container .select2-results__option {
    font-size: 13px !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
	margin-top: -13px !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--color-texto-oscuro) !important;
}

.select2-container {
    width: 100% !important;
}

.select2-dropdown {
    z-index: 999999999999 !important;
}

.select2-dropdown .select2-dropdown--below {
    z-index: 999999999999 !important;
}

.pum-container.pum-responsive img {
	height: 100% !important;
	object-fit: cover !important;
}

.pum-container .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--color-texto-negro) !important;
}

.pum-container .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--color-texto-negro) !important;
}

.select2-container .select2-selection--single {
    height: 40px !important;
    border: 1px solid var(--color-gris-claro-select);
	padding: 5px !important;
    border-radius: .25rem !important;
    box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.select2-container--open .select2-selection--single {
    border-color: var(--color-azul-seleccion-select);
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25);
}

.select2-container .select2-selection__rendered {
    line-height: 36px;
    color: var(--color-texto-resaltado-select);
    padding-left: 12px;
}

.select2-container .select2-selection__arrow {
    height: 36px;
    width: 20px;
    right: 1px;
    top: 1px;
}

.select2-container .select2-selection__arrow b {
    border-color: var(--color-texto-mutado) transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0;
}

.select2-container--open .select2-dropdown {
    border-color: var(--color-azul-seleccion-select);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);
    border-radius: .25rem;
    margin-top: .125rem;
}

.select2-container .select2-results__option {
    padding: 8px 12px;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-texto-oscuro);
}

.select2-container .select2-results__option--highlighted {
    background-color: var(--color-azul-seleccion-select);
    color: var(--color-texto-claro);
}

.select2-container .select2-results__option[aria-selected=true] {
    background-color: var(--color-fondo-resaltado-select);
    color: var(--color-texto-resaltado-select);
}

.select2-container .select2-selection--multiple {
    min-height: 38px;
    border: 1px solid var(--color-gris-claro-select);
    border-radius: .25rem;
    padding: 2px 5px;
}

.select2-container .select2-selection--multiple .select2-selection__choice {
    background-color: var(--color-gris-fondo-opcion-multiple);
    border: 1px solid var(--color-borde-opcion-multiple);
    border-radius: .2rem;
    color: var(--color-texto-opcion-multiple);
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 10px;
    position: relative;
    line-height: 26px;
}

.select2-container .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--color-cerrar-opcion-multiple);
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px;
}

.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--color-cerrar-opcion-multiple-hover);
}

.select2-container .select2-search--inline .select2-search__field {
    box-sizing: border-box;
    border: none;
    outline: none;
    margin-top: 5px;
    padding: 0;
    font-size: 1rem;
}

.select2-container .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--color-gris-claro-select);
    border-radius: .25rem;
    padding: 6px 12px;
    margin-bottom: 5px;
    width: 100%;
    box-sizing: border-box;
}

/*------------------------------------*\
  #BUSCADOR HOME (AJAX SEARCH LITE)
\*------------------------------------*/
div[id*="ajaxsearchlite"] .probox {
    background: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 7px !important;
    width: 100% !important;
}

div[id*="ajaxsearchlite"] .promagnifier {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    background-color: var(--color-secundario) !important;
    height: 50px !important;
    padding: 20px !important;
    cursor: pointer !important;
}

div[id*="ajaxsearchlite"] .promagnifier::before {
    content: "Buscar" !important;
    color: var(--color-texto-claro) !important;
    margin-right: 10px !important;
    display: inline-block;
    vertical-align: middle;
}

div[id*="ajaxsearchlite"] .promagnifier svg {
    fill: var(--color-texto-claro) !important;
    width: 20px !important;
    height: 20px !important;
    margin-top: 15px;
}

div.asl_w {
    box-shadow: none !important;
}

#ajaxsearchlite1 .probox,
div.asl_w .probox {
    height: 30px !important;
}

/*------------------------*\
  #HEADER HOME
\*------------------------*/

/* ---------- 1 · Fondo y variable de color global --------------- */
#div-header {
    background-color: rgba(255, 255, 255, 0);
    transition: background-color .25s ease;
    z-index: 9999;

    /* Color base que animamos desde el JS */
    --menu-cl: var(--color-texto-claro);
}

/* ---------- 2 · Color animado para TODOS los enlaces del menú -- */
#div-header .elementor-element-2c8424c .elementor-nav-menu a.elementor-item {
    color: var(--menu-cl) !important;
    transition: color .25s ease;
}

/* ---------- 3 · Hover dorado (#FABB00) -------------------------- */
#div-header .elementor-element-2c8424c .elementor-nav-menu a.elementor-item:hover {
    color: var(--color-acento) !important;
}

/* ---------- 4 · Primer enlace SIEMPRE dorado ------------------- */
#div-header .elementor-element-2c8424c .elementor-nav-menu > li:first-child > a.elementor-item {
    color: var(--color-acento) !important;
}

/* ---------- 5 · Transición suave del logo ---------------------- */
#div-header .elementor-widget-image img {
    transition: opacity .25s ease;
}

/* ---------- 6 · Icono hamburguesa al mismo color --------------- */
#div-header .elementor-menu-toggle {
    color: var(--menu-cl) !important;
    transition: color .25s ease;
}

#div-header .elementor-menu-toggle svg {
    fill: currentColor;
    stroke: currentColor;
}

/* ---------- 7 · Logo blanco ligeramente mayor ------------------ */
#div-header .elementor-widget-image img.logo-blanco {
    transform: scale(1.08);
    /* ajusta el factor si lo quieres mayor/menor */
    transform-origin: left center;
}

/*-----------------------------------*\
  #BUSCADOR PAGINA CURSOS Y MASTER
\*-----------------------------------*/

.facetwp-buscador .facetwp-input-wrap .facetwp-search {
    height: 50px !important;
}

/* ——— Botón azul del buscador ——— */
.facetwp-facet-buscador .facetwp-icon {
    /* 1. seguimos ABSOLUTE para que se quede pegado al input */
    position: absolute !important;
    top: 0;
    right: 0;

    /* 2. lo convertimos en contenedor flex horizontal */
    display: flex !important;
    align-items: center;
    gap: 6px;
    /* espacio entre texto y lupa */

    /* 3. tamaño/estilo */
    height: 100%;
    padding: 0 18px;
    /* ancho del botón */
    background: var(--color-azul-buscador-cursos);
    color: var(--color-texto-claro);
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    width: auto !important;
    /* quitamos el ancho fijo original */
}

/* ——— Texto “Buscar” ——— */
.facetwp-facet-buscador .facetwp-icon::after {
    content: "Buscar";
    order: 1;
    /* primero el texto */
    font-style: normal;
}

/* ——— Icono lupa (ya lo pone FacetWP en ::before) ——— */
.facetwp-facet-buscador .facetwp-icon::before {
    order: 2;
    /* después el icono */
    font-weight: 900;
    /* conserva grosor FA */
}


/*-----------------------------
	PAGINACIÓN DE CURSOS
------------------------------*/
.facetwp-type-pager {
	text-align: center;
}

.facetwp-page {
	margin-right: 2px !important;
}

.facetwp-pager a:hover {
	color: var(--color-secundario);
}


/*------------------------------------*\
  #ANIMACIÓN SCROLL HOME
\*------------------------------------*/
#scroll-effect {
    animation: scroll-down 1.6s ease-in-out infinite;
}

@keyframes scroll-down {
    0% {
        transform: translate(-50%, 0);
        opacity: 0.85;
    }

    50% {
        transform: translate(-50%, 10px);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, 0);
        opacity: 0.85;
    }
}

/*------------------------------------*\
  #BLOQUE BECAS Y AYUDAS (CARRUSEL)
\*------------------------------------*/
.carousel-container {
    margin: 0 auto;
    font-family: var(--fuente-lato);
    padding: 40px 20px;
    position: relative;
    z-index: 2;
    width: 100% !important;
}

.carousel-nav {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30px;
    gap: 10px;
}

.nav-item {
    cursor: pointer;
    padding: 8px 12px;
    color: var(--color-texto-claro);
    font-weight: 400;
    opacity: 0.7;
    font-size: 18px;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.nav-item:hover {
    color: #00c4cc;
}

.nav-item.active {
    color: #00c4cc;
    font-weight: 700;
    opacity: 1;
    border-bottom: 2px solid #00c4cc;
}

.carousel-content {
    display: flex;
    align-items: center;
    position: relative;
}

.arrow {
    background: none;
    border: none;
    color: var(--color-texto-claro);
    font-size: 36px;
    cursor: pointer;
    padding: 10px 20px;
    transition: color 0.3s ease;
}

.arrow:hover {
    color: #00c4cc;
    background: none;
}

.arrow:active,
.arrow:focus {
    background: none !important;
}

.carousel-slides {
    flex: 1;
    position: relative;
    min-height: 150px;
}

.slide {
    display: none;
    transition: opacity 0.5s ease;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    color: var(--color-texto-claro);
}

.slide.active {
    display: block;
    text-align: center;
}

.slide h2 {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--color-texto-claro);
}

.slide h2 span {
    color: #00c4cc;
    font-size: 60px;
}

.slide p {
    font-size: 17px;
    font-weight: 400;
    color: var(--color-texto-claro);
    line-height: 1.6;
}

.slide strong {
    font-weight: 700;
}

@media (max-width: 768px) {
    .carousel-container {
        padding: 30px 0;
        width: 100%;
    }

    .carousel-nav {
        flex-wrap: wrap;
        justify-content: center;
        gap: 5px;
        text-align: center;
    }

    .nav-item {
        font-size: 14px;
        padding: 6px 8px;
    }

    .arrow {
        font-size: 28px;
        padding: 5px 10px;
    }

    .slide h2 {
        font-size: 24px;
    }

    .slide h2 span {
        font-size: 36px !important;
    }

    .slide p {
        font-size: 15px;
        padding: 0 10px;
    }

    .carousel-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .carousel-slides {
        min-height: 180px;
    }
}

/*----------------------------*\
  #TEMARIO
\*----------------------------*/

/* Móvil */

@media (max-width: 768px) {
  /* Módulo */
  .course-syllabus .course-accordion > .accordion-item > .accordion-header .accordion-button {
    font-size: 15px;
  }

  /* Unidad didáctica */
  .course-syllabus .unit-accordion > .accordion-item > .accordion-header .accordion-button {
    font-size: 14px;
  }

  /* Contenido dentro de la unidad */
  .course-syllabus .accordion-body ol li {
    font-size: 14px;
  }
}



/* Módulo */
.course-syllabus .course-accordion > .accordion-item > .accordion-header .accordion-button {
  font-size: 18px;
}

/* Unidad didáctica */
.course-syllabus .unit-accordion > .accordion-item > .accordion-header .accordion-button {
  font-size: 17px;
}

/* Contenido dentro de la unidad */
.course-syllabus .accordion-body ol li {
  font-size: 17px;
}

.accordion-button {
    cursor: pointer;
    background-color: var(--color-fondo-claro);
    padding: 15px;
    margin: 5px 0;
    display: flex;
    align-items: center;
    border: none;
    /* Sin bordes */
    width: 100%;
    text-align: left;
    font-size: 16px;
    line-height: 1.5;
}

.single-course .course-syllabus {
	background-color: transparent !important;
}

.single-course .course-syllabus .course-accordion .accordion-button {
    border-bottom: solid 1px var(--color-borde-claro);
    box-shadow: none;
    border-radius: 0;
}

.accordion-header {
    position: relative;
    /* Necesario para el pseudo-elemento */
    padding-left: 10px;
    /* Espacio para el símbolo de la parte */
}

.single-course .course-syllabus .course-accordion .accordion-body {
    background-color: transparent !important;
    margin-left: 7em;
}

.single-course .course-syllabus .course-accordion .accordion-button {
    background-color: transparent !important;
    color: var(--color-texto-oscuro) !important;
    padding-left: 0;
    font-size: 16px;
}

.single-course .course-syllabus .course-accordion .accordion-item i {
    color: var(--color-secundario) !important;
}


/*---------------------------------*\
  #CLAUSTROS
\*----------------------------------*/

/* CONTENEDOR EXTERIOR */
.claustro-carousel-outer {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 60px;
}

/* WRAPPER CON OVERFLOW */
.claustro-carousel-wrapper {
    overflow: hidden;
}

/* CARRUSEL FLEX */
.claustro-carousel {
    display: flex;
    transition: transform 0.5s ease;
    gap: 0;
}

/* SLIDE */
.claustro-slide {
    flex: 0 0 20%;
    box-sizing: border-box;
    padding: 0 10px;
}

/* TARJETA */
.claustro-img {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px var(--color-sombra-claustro);
    background-repeat: no-repeat;
    cursor: pointer;
}

/* OVERLAY MÁS BAJO */
.claustro-overlay {
    width: 100%;
    background: linear-gradient(to top, var(--color-azul-claustro-overlay), var(--color-azul-claustro-overlay-transparente), transparent); /* Usamos variables */
    color: var(--color-texto-claro);
    padding: 12px 14px;
    box-sizing: border-box;
    min-height: 35%;
}

/* NOMBRE DEL DOCENTE */
.claustro-overlay h3 {
    margin: 0;
    font-weight: bold;
    font-size: 15px;
    color: var(--color-texto-claro);
}

/* DESCRIPCIÓN */
.claustro-overlay p {
    font-size: 13px;
    margin: 6px 0 0;
    line-height: 1.4;
}

/* FLECHAS FUERA DEL CARRUSEL */
.carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--color-secundario);
    border: none;
    color: var(--color-texto-claro);
    font-size: 24px;
    padding: 6px 12px;
    cursor: pointer;
    border-radius: 50%;
    z-index: 100;
    transition: background-color 0.3s ease;
}

.carousel-arrow.left {
    left: 10px;
}

.carousel-arrow.right {
    right: 10px;
}

.carousel-arrow:hover {
    background-color: var(--color-flecha-claustro-hover); /* Usamos variable */
}

.carousel-arrow:focus,
.carousel-arrow:active {
    background-color: var(--color-secundario); /* Usamos variable */
}

/* ---------- MODAL ESTILOS ---------- */
.claustro-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
}

.claustro-modal.show {
    display: flex;
}

.claustro-modal-card {
    width: 90%;
    max-width: 350px;
    max-height: 85vh;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 26px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
}

.claustro-modal-card .modal-img {
    flex: 0 0 40%;
    background-size: cover;
    background-position: center;
    min-height: 350px;
}

.claustro-modal-card .modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 20px 22px;
    color: #111;
    font-size: 15px;
}

.claustro-modal-card h3 {
    margin: 0 0 .5rem 0;
    font-size: 1.1rem;
}

.claustro-modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    font-size: 26px;
    color: #00b0c8;
    cursor: pointer;
    font-weight: bold;
}


/* RESPONSIVE */
@media screen and (max-width: 1024px) {
    .claustro-slide {
        flex: 0 0 33.3333%;
    }
}

@media screen and (max-width: 768px) {
    .claustro-slide {
        flex: 0 0 50%;
    }
}

@media screen and (max-width: 480px) {
    .claustro-slide {
        flex: 0 0 100%;
    }
}


/*----------------------------
	OBJETIVOS ENUMERACION
----------------------------*/
/* Contenedor de cada ítem */
.objetivos-num .custom-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.75em;
}

/* Número con tamaño grande */
.objetivos-num .custom-number {
    font-weight: bold;
    color: var(--color-primario);
    font-size: 30px;
    margin-right: 10px;
    line-height: 1.5;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

/* Texto */
.objetivos-num .custom-text {
    font-size: 16px;
    line-height: 1.5;
}


/*---------------------------
		TITULACION
----------------------------*/
/* Oculta las imágenes originales */
.titulaciones img {
    display: none;
}

/* Contenedor de los elementos */
.titulaciones ul {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-left: 0;
    list-style: none;
}

/* Cada item será una fila tipo "imagen + texto" */
.titulaciones li {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 1rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    margin-left: -2em;
}

/* Imagen insertada con pseudo-elemento */
.titulaciones li::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 400px;
    height: 300px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Imagen Nebrija */
.titulaciones li:nth-of-type(1)::before {
    background-image: url('https://cdn.inesem.es/img_inesem/titulaciones/titulo-mani.webp');
}

/* Imagen INESEM */
.titulaciones li:nth-of-type(2)::before {
    background-image: url('https://cdn.inesem.es/img_inesem/titulaciones/titulo-inesem.jpg');
}

/* Estilo del texto */
.titulaciones li p,
.titulaciones li strong {
    margin: 0;
    font-size: 1rem;
    line-height: 1.4;
}

/* Responsive para móvil */
@media screen and (max-width: 768px) {
    .elementor-element-7992508 li {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        margin-left: -2em;
    }

    .titulaciones li::before {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
    }
}

.titulaciones ul li:nth-of-type(1) {
    order: 2; /* Pasa el primero al segundo lugar */
}

.titulaciones ul li:nth-of-type(2) {
    order: 1; /* Pasa el segundo al primer lugar */
    margin-top: -3em;
}


/*------------------------
LEER MAS (descripciones)
------------------------*/
.resumen-toggle {
	color: var(--color-primario);
}

/*----------------------------------
	BOTON CERRAR MODAL CURSOS MOVIL
-----------------------------------*/
@media (max-width: 768px) {
	#pum-6170 .pum-theme-2686 .pum-content + .pum-close, .pum-theme-content-only .pum-content + .pum-close {
		top: 30px !important;
	}
}


/*-------------------------
 	ESTILOS FORM ENCAJONADO
---------------------------*/

.form-encajonado .custom-form-box h3 {
	margin-bottom: 25px;
}

.form-encajonado .custom-form-box input[type="text"]:not([readonly]),
.form-encajonado .custom-form-box input[type="email"]:not([readonly]),
.form-encajonado .custom-form-box input[type="tel"]:not([readonly]),
.form-encajonado .custom-form-box input[type="checkbox"] {
  font-family: inherit;
  font-size: 16px;
  width: 100%;
  padding-left: 5px !important;
  border: none;
  background-color: var(--color-texto-claro);
  color: var(--color-texto-negro) !important;
  box-shadow: 0 0 0 1px #ccc;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

/* Placeholder negro */
.form-encajonado .custom-form-box input::placeholder {
  color: var(--color-texto-negro);
  opacity: 0.6;
}

/* Texto general (excepto botón) */
.form-encajonado .custom-form-box input:not([type="submit"]) {
  color: var(--color-texto-negro) !important;
}

/* Autofill */
.form-encajonado .custom-form-box input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--color-texto-claro) inset !important;
  -webkit-text-fill-color: var(--color-texto-negro) !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Focus */
.form-encajonado .custom-form-box input[type="text"]:focus:not([readonly]),
.form-encajonado .custom-form-box input[type="email"]:focus:not([readonly]),
.form-encajonado .custom-form-box input[type="tel"]:focus:not([readonly]) {
  outline: none;
  box-shadow: 0 0 0 2px #fabb00;
  background-color: var(--color-texto-claro);
  color: var(--color-texto-negro) !important;
}

/* Checkbox */
.form-encajonado .custom-form-box input[type="checkbox"] {
  width: auto;
  margin-right: 8px;
  transform: scale(1.2);
  vertical-align: middle;
  box-shadow: none !important;
  outline: none;
  border: none;
}

/* Texto checkbox */
.form-encajonado .custom-form-box .wpcf7-list-item-label {
  color: var(--color-texto-claro);
  font-size: 14px;
  line-height: 1.5;
}

/* Campo BECAS */
.form-encajonado .custom-form-box input[name="becas"] {
  background-color: transparent !important;
  color: var(--color-texto-claro) !important;
  font-weight: bold;
  text-align: center;
  border: none;
  border-radius: 8px;
  pointer-events: none;
  box-shadow: none;
  padding: 14px 0;
}

/* Espaciado entre campos */
.form-encajonado .custom-form-box .input-wrap {
  margin-bottom: 14px;
}


/*-------------------------------
FORMULARIO FIJO PLANTILLA PRUEBA
--------------------------------*/

/* centrar form en portatil y desktop */
@media (min-width: 1024px) {
	.form-padding {
		padding-top: 1.5em !important;
	}
}


@media (min-width: 1600px) {
	.form-padding {
		padding-top: 8em !important;
	}
}

/* cambios en el formulario */
.form-padding .custom-form-box {
	border: none;
	padding: 30px 15px 60px 15px !important;
}

.form-padding .custom-form-box .btn-wrapper input[type="submit"] {
	padding: 18px 60px;
}



/* ESTILOS BANNER DE COOKIES GDPR */
#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 9990 !important;
  width: 90% !important;
  max-width: 700px !important;
  background: #1f1f1f !important;
  border-radius: 12px !important;
  border-top: none !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important;
  padding: 20px !important;
  height: 250px;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p {
	font-size: 16px !important;
}

/* Reorganiza el layout en vertical */
#moove_gdpr_cookie_info_bar .moove-gdpr-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px;
  align-items: center;
  text-align: center;
}

/* Asegura que el texto se vea correctamente */
#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-description {
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
}

/* Centra los botones abajo */
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder {
  display: flex !important;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder {
	padding-left: 0 !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
	padding: 0 !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content {
	flex-direction: column !important;
	gap: 20px !important;
	text-align: center !important;
	margin-top: 3em;
}

/* Ajustes responsive extra */
@media (max-width: 480px) {
  #moove_gdpr_cookie_info_bar {
    width: 95% !important;
    padding: 16px !important;
	height: 350px !important;
  }

  #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-description {
    font-size: 14px !important;
  }

  #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder {
    flex-direction: column;
    gap: 10px;
  }

  #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder button {
    width: 100%;
  }
}

/*BANNERS PROMOCIONES*/

.subrayado-rosa {
    background: #FBA2D0;
    padding: 5px;
	
}

.subrayado-blanco {
  background: #fff;
  padding: 2px;
  color: #6B7FE2;
  font-weight: bold;
  border-radius: 5px
}

.rosa {
	color:#FBA2D0;
}



/* BLOQUE FORM ZOHO */


.zf-templateWidth {
	margin:0 auto;	
	max-width: 500px;
    box-sizing: border-box;
	padding: 2em;
	background: var(--color-texto-oscuro);
	border-radius: 10px;
	font-family: var(--fuente-lato);
}


.zf-header {
	 margin-bottom: 1.5em;	
}

.zf-header h3 {
	font-family: var(--fuente-lato);
	color: var(--color-texto-claro);
}

.zlf-row {
	display: flex;
	gap: 10px;
}

.zlf-row .zlf-field  {
	width: 50%;
}

.zlf-row select {
	background-color: #f0f0f0 !important;
}


.zf-inputs {
	margin-bottom: 18px;
}

.zf-inputs input{
	background-color: #f0f0f0 !important;
    border: 1px solid #eee !important;
}


input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill {
	border-bottom: 1px solid #eee !important;
	-webkit-text-fill-color: var(--color-texto-oscuro) !important;
}

#zohoForm input[type="email"]::placeholder {
	color: #585858;
}
#zohoForm input:focus {
	color: #585858 !important;
}



.zf-becas {
	color: #fff;
    text-align: center;
    margin: 18px 0 -14px 0;
    font-size: 21px;
    font-family: var(--fuente-lato);
    font-weight: 500;
}

.zf-submitcontent {
	margin-top: 1.8em;
	text-align:center;
}


.zf-buttonsubmit {
	background-color: var(--color-acento);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff !important;
    font-weight: bold;
    padding: 20px;
    border: none;
    width: 100%;
    cursor: pointer;
    font-size: 22px;
    transition: background-color 0.3s ease;
	border-radius: 0;
    
}

.zf-buttonsubmit em {
	font-style: normal;
}
