/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/*Footer */ 


.educa-footer{
background:#06354A;
color:#fff;
padding:60px 20px 0;
font-size:15px;
}

.educa-footer-container{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:60px;
}

.educa-footer h4{
font-size:14px;
font-weight:700;
letter-spacing:.5px;
margin-bottom:20px;
}

.educa-footer p{
line-height:1.6;
margin-bottom:12px;
opacity:.9;
}

.educa-footer ul{
list-style:none;
padding:0;
margin:0;
}

.educa-footer ul li{
margin-bottom:10px;
}

.educa-footer ul li a{
color:#fff;
text-decoration:none;
opacity:.9;
transition:.2s;
}

.educa-footer ul li a:hover{
opacity:1;
color:#FFD00F;
}

.educa-footer-bottom{
max-width:1200px;
margin:50px auto 30px;
display:flex;
justify-content:space-between;
align-items:center;
border-top:1px solid rgba(255,255,255,0.15);
padding-top:25px;
}

.educa-social a{
display:inline-block;
margin-left:15px;
color:#fff;
opacity:.8;
text-decoration:none;
}

.educa-social a:hover{
opacity:1;
}

.educa-footer-legal{
background:#efefef;
padding:18px;
text-align:center;
font-size:13px;
}

.educa-footer-legal a{
margin:0 15px;
color:#333;
text-decoration:none;
}

.educa-footer-legal a:hover{
text-decoration:underline;
}


/* TABLET */

@media (max-width:1024px){

.educa-footer-container{
grid-template-columns:repeat(2,1fr);
gap:40px;
}

}

/* MOBILE */

@media (max-width:767px){

.educa-footer-container{
grid-template-columns:1fr;
}

.educa-footer-bottom{
flex-direction:column;
gap:20px;
text-align:center;
}

}


/*------------------------------------*\
  #GLOBAL VARIABLES
\*------------------------------------*/
:root {
    /* Colores */
    --color-primario: #012840;
    --color-secundario: #980F39;
    --color-acento: #ffc400; /* #FABB00 */
    --color-texto-oscuro: #0e2a61;
    --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: #192B5D; /* Azul oscuro para el overlay del claustro */
    --color-azul-claustro-overlay-transparente: #192b5d9e; /* 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: 'Lato', 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;
    }
}

.pum-container.pum-responsive img {
	height: 100% !important;
	object-fit: cover !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: 400px;
    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: 360px;
}

.custom-form-box h3 {
    font-size: 25px;
    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-display-value {
	font-size:15px;
}

.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 {
	background-position: top left;
    background-position-y: 7px;
}

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

.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: none !important;
    color: var(--color-texto-claro) !important;
    border: none !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: none !important;
    border: none !important;
    border-radius: inherit !important;
    border-bottom: 1px solid var(--color-texto-claro) !important;
}

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

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

.select2-container .select2-results__option {
    font-size: 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 .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: 38px;
    border: 1px solid var(--color-gris-claro-select);
    border-radius: .25rem;
    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 .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: var(--color-fondo-post);
    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-acento);
	cursor: pointer;
	background: none;
    text-align: left;
    padding: 0;
    font-size: 16px;
	width: fit-content;
	margin: -14px 0;
}

.resumen-toggle:hover {
	color: var(--color-primario);
	cursor: pointer;
	background: none;
}

.resumen-toggle:active, .resumen-toggle:focus {
	color: var(--color-acento);
	background: none;
}

/*----------------------------------
	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: #54c9d6;
    padding: 5px;    
}

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

.rosa {
	color:#FBA2D0;
}


button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus {
  background-color: inherit;
  color: inherit;
  text-decoration: inherit;
}





