.elementor-295 .elementor-element.elementor-element-c811614{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-295 .elementor-element.elementor-element-c842058{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for text-editor, class: .elementor-element-88925eb */.rem-course-container {
        font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        color: #282A2B;
        line-height: 1.6;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .rem-course-container * {
        box-sizing: border-box;
    }

    /* ESTILO ESPECÍFICO PARA CORREGIR ESPACIADO EN SECCIÓN INFO */
    .rem-compact-card {
        padding: 20px !important;
    }
    
    .rem-compact-content p {
        margin-bottom: 10px !important; /* Reduce margen inferior forzado */
        margin-top: 0 !important;
        line-height: 1.4 !important; /* Altura de línea más compacta */
    }

    /* Reset global de Párrafos dentro del contenedor para evitar estilos de tema */
    .rem-course-container p {
        margin-bottom: 1rem;
        margin-top: 0;
        color: #282A2B;
    }

    /* Títulos */
    .rem-course-container h1, 
    .rem-course-container h2, 
    .rem-course-container h3 {
        color: #34639a;
        margin-top: 0;
        line-height: 1.3;
    }

    .rem-header {
        margin-bottom: 2rem;
        border-bottom: 3px solid #34639a;
        padding-bottom: 1.5rem;
    }

    .rem-date-badge {
        display: inline-block;
        background-color: #d9edf7;
        color: #34639a;
        font-weight: 700;
        padding: 5px 10px;
        border-radius: 4px;
        text-transform: uppercase;
        font-size: 0.85rem;
        margin-bottom: 10px;
        letter-spacing: 0.5px;
    }

    .rem-title {
        font-size: 2rem;
        margin-bottom: 0;
        color: #282A2B !important;
    }

    .rem-subtitle {
        font-size: 1.4rem;
        margin-bottom: 1rem;
        border-left: 5px solid #34639a;
        padding-left: 15px;
    }

    .rem-small-title {
        font-size: 1.2rem;
        font-weight: 700;
        margin-bottom: 1rem;
        color: #34639a;
        text-transform: uppercase;
    }

    .rem-list {
        list-style: none;
        padding-left: 0;
        margin-bottom: 1rem;
    }

    .rem-list li {
        position: relative;
        padding-left: 20px;
        margin-bottom: 8px;
    }

    .rem-list li::before {
        content: "•";
        color: #34639a;
        font-weight: bold;
        position: absolute;
        left: 0;
        font-size: 1.2em;
        line-height: 1;
    }

    .rem-profile {
        background: #fff;
    }

    .rem-note {
        font-size: 0.9em;
        font-style: italic;
        color: #555;
    }

    /* Layout Grid System */
    .rem-grid-row {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        margin-bottom: 30px;
        /* IMPORTANTE: Alineamos al inicio para evitar que se estiren verticalmente */
    }

    .rem-grid-row > div {
        flex: 1;
        min-width: 300px;
    }

    .rem-align-start {
        align-items: flex-start;
    }

    /* Cards Styles */
    .rem-card {
        background: #fff;
        padding: 25px;
        border: 1px solid #ebf5fb;
        border-top: 4px solid #34639a;
        box-shadow: 0 4px 10px rgba(0,0,0,0.05);
        border-radius: 4px;
        height: 100%;
    }

    .rem-card.flat {
        border-top: 1px solid #ebf5fb;
        background-color: #fcfcfc;
    }

    .rem-bg-light {
        background-color: #ebf5fb;
        padding: 30px;
        border-radius: 8px;
        margin-bottom: 30px;
    }

    .two-columns-list {
        column-count: 2;
        column-gap: 20px;
    }

    .rem-separator {
        height: 1px;
        background-color: #d9edf7;
        margin: 20px 0;
    }

    /* Highlight Section */
    .rem-highlight-section {
        background-color: #d9edf7;
        padding: 30px;
        border-radius: 8px;
        margin-bottom: 30px;
    }

    .rem-info-block {
        margin-bottom: 10px;
    }

    .rem-tag {
        background: #34639a;
        color: #fff;
        padding: 2px 6px;
        border-radius: 3px;
        font-size: 0.8em;
        font-weight: bold;
        vertical-align: middle;
    }

    .rem-price-box {
        font-size: 2rem;
        color: #34639a;
        font-weight: 800;
        margin-top: 10px;
    }

    /* Important Section Styles */
    .rem-important-wrapper {
        margin-top: 40px;
    }

    .rem-important-card {
        border: 2px solid #34639a;
        border-radius: 8px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .rem-card-header {
        background-color: #34639a;
        color: #fff;
        padding: 15px 20px;
        font-weight: bold;
        font-size: 1.1rem;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .rem-card-body {
        padding: 25px;
        background-color: #ebf5fb;
        flex-grow: 1;
    }

    .rem-iban-box {
        background: #fff;
        padding: 15px;
        border: 1px solid #d9edf7;
        border-left: 4px solid #34639a;
        margin: 15px 0;
        font-family: monospace;
        font-size: 1.1em;
        color: #282A2B;
    }
    
    .rem-iban-box .label {
        display: block;
        font-size: 0.8em;
        color: #555;
        margin-bottom: 5px;
    }

    .rem-alert {
        margin-top: 20px;
        padding: 10px;
        background-color: rgba(52, 99, 154, 0.1);
        border: 1px dashed #34639a;
        font-weight: bold;
        text-align: center;
    }

    /* Botones y Links */
    .rem-link {
        color: #34639a;
        text-decoration: underline;
        transition: color 0.2s;
    }
    .rem-link:hover {
        color: #282A2B;
    }

    /* CORRECCIÓN BOTONES: Altura automática y reset */
    .rem-btn {
        display: ruby;
        background-color: #34639a;
        color: #ffffff !important;
        padding: 12px 20px;
        border-radius: 4px;
        text-decoration: none;
        font-weight: bold;
        transition: background-color 0.2s ease;
        margin-top: 5px;
        text-align: center;
        /* Estilos de blindaje */
        line-height: 1.4 !important;
        height: auto !important;
        min-height: 0 !important;
        border: none;
        box-shadow: none;
        cursor: pointer;
    }

    .rem-btn:hover {
        background-color: #284c75;
    }

    /* Footer */
    .rem-footer {
        margin-top: 40px;
        text-align: center;
        padding-top: 20px;
        border-top: 2px solid #ebf5fb;
    }

    /* Media Queries */
    @media (max-width: 768px) {
        .rem-title { font-size: 1.5rem; }
        .two-columns-list { column-count: 1; }
        .rem-info-block.border-left {
            border-left: none;
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid rgba(0,0,0,0.1);
        }
        .rem-card-body { padding: 15px; }
        .rem-iban-box { font-size: 0.9em; word-break: break-all; }
        .rem-btn { display: block; text-align: center; }
    }

    @media (min-width: 769px) {
        .rem-info-block.border-left {
            border-left: 1px solid rgba(52, 99, 154, 0.3);
            padding-left: 30px;
        }
    }/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3410c58 *//* ============================================================
   DATOS PROFESIONALES – grid interno de 2 columnas
   ============================================================ */

/* Agrupa los elementos checkbox / radio en 2 columnas */
.prof-card .wpcf7-checkbox,
.prof-card .wpcf7-radio{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  column-gap:1rem;
  row-gap:.35rem;
  margin-top:.4rem;          /* separación bajo el título */
}

/* Cada ítem ocupa su celda sin sangrar a la izquierda */
.prof-card .wpcf7-list-item{
  margin:0;                  /* quita margen de CF7 */
  display:flex;
  align-items:center;
  gap:.35rem;
  font-size:.9rem;
}

/* Input (checkbox / radio) con tamaño consistente */
.prof-card .wpcf7-list-item input{
  width:14px;
  height:14px;
  accent-color:#0d6efd;      /* compatible con la mayoría de navegadores */
}

/* Select del año → ancho completo y coherente */
.prof-card select{
  width:100%;
  font-size:.9rem;
  padding:.4rem .55rem;
  border:1px solid #ced4da;
  border-radius:4px;
  background:#fff;
}

/* Opcional: mismo hover visual que las otras cards */
.prof-card select:focus{
  border-color:#0d6efd;
  box-shadow:0 0 0 .15rem rgba(13,110,253,.25);
}

/* Títulos dentro de cada card con un poco de separación extra */
.prof-card h4{
  margin-bottom:.5rem;
}

/* ==========  Grid de 3 tarjetas (profesionales)  ========== */
.prof-grid{
  display:grid;
  gap:1.2rem;
  grid-template-columns:repeat(3,1fr);   /* 3 columnas desktop */
  margin:1.5rem 0 2rem;
}

@media (max-width:992px){                /* tablet → 2 */
  .prof-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){                /* móvil → 1 */
  .prof-grid{grid-template-columns:1fr;}
}

/* ----------  Card base (hereda look)  --------------------- */
.prof-card{
  background:#fafafa;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:1.4rem 1rem 1.6rem;
  display:flex;
  flex-direction:column;
  transition:.25s transform,.25s box-shadow;
}
.prof-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

/* ----------  Icono circular reutilizado  ------------------ */
.prof-card .icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  background:#e7f1fb;border-radius:50%;
  margin-bottom:.9rem;
}
.prof-card .icon svg{
  width:22px;height:22px;
  height:22px;
  fill:#0d6efd;
}

/* ----------  Título dentro de card  ----------------------- */
.prof-card h4{
  font-size:1rem;
  font-weight:600;
  line-height:1.3;
  margin:0 0 .7rem;
}


/* ============================================================
   FUERA DEL EEES  –  2 tarjetas en una fila
   (usa exactamente la misma .doc-card ya definida)
   ============================================================ */

.docs-strip-eees{
  display:grid;
  gap:1.2rem;
  grid-template-columns:repeat(2,1fr);   /* 2 columnas fijas */
}

@media (max-width:768px){                /* móvil → 1 columna */
  .docs-strip-eees{grid-template-columns:1fr;}
}




/* ============================================================
   DATOS A ADJUNTAR — Estilos completos (cards, iconos, grid)
   ============================================================ */

/* ----------  GRID: 5 columnas desktop, se adapta  ---------- */
.docs-strip{
  display:grid;
  gap:1.2rem;
  grid-template-columns:repeat(5,1fr);   /* 5 cards en una fila */
  padding-bottom:.5rem;
}
@media (max-width:1200px){               /* portátiles / tablet ↴ 3 col */
  .docs-strip{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:768px){                /* móvil grande ↴ 2 col */
  .docs-strip{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){                /* móvil pequeño ↴ 1 col */
  .docs-strip{grid-template-columns:1fr;}
}

/* ----------  Card  ---------------------------------------- */
.doc-card{
  background:#fafafa;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:1.4rem 1rem 1.6rem;
  display:flex;
  flex-direction:column;
  transition:.25s transform,.25s box-shadow;
}
.doc-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

/* ----------  Icono redondo  ------------------------------- */
.doc-card .icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  background:#e7f1fb;border-radius:50%;
  margin-bottom:.9rem;
}
.doc-card .icon svg{
  width:22px;height:22px;
  height:22px;
  fill:#0d6efd;
}

/* ----------  Textos  -------------------------------------- */
.doc-card h4{
  font-size:1rem;
  font-weight:600;
  line-height:1.3;
  margin:0 0 .4rem;
}
.doc-card .helper{
  font-size:.82rem;
  color:#6b7280;
  margin:0 0 1rem;
}

/* ----------  Botón descarga  ------------------------------ */
.doc-card .btn-descarga{
  align-self:flex-start;
  background:#0d6efd;
  color:#fff!important;
  border-radius:5px;
  padding:.33rem .9rem;
  font-size:.83rem;
  text-decoration:none;
  transition:background .2s;
  margin-bottom:.9rem;
}
.doc-card .btn-descarga:hover{background:#0b5ed7}

/* ----------  File input 100 % ancho y sin desbordar -------- */
.doc-card .input-wrap input[type="file"]{
  width:100%;
  font-size:.85rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* ===== Espaciado vertical entre secciones de adjuntos ===== */
.docs-strip,
.docs-strip-eees{
  padding:1.2rem 0 1.6rem;   /* ↑ espacio arriba | ↓ abajo */
}

h2,                         /* DATOS A ADJUNTAR            */
p strong{                   /* *SOLO PARA ALUMNOS…         */
  display:block;
  margin:2rem 0 .8rem;      /* separa el título del bloque */
}/* End custom CSS */