/* LAL Académico · Capa UX v4.2.0 */

/* Bloques sin contenido en la plantilla universal: se oculta el grupo completo
   (sobretítulo + título + contenido) en lugar de mostrar encabezados vacíos. */
.et_pb_group:has(> .et_pb_text .lal-empty-slot) { display: none !important; }
.lal-empty-slot { display: none !important; }
/* v4.4.0 · línea de matrícula cuando el curso no tiene matrícula */
.et_pb_text:has(.lal-hide-module) { display: none !important; }

/* ------------------------------------------------------------------ */
/* [lal_course_cards]                                                  */
/* ------------------------------------------------------------------ */
.lal-cc {
    display: grid;
    grid-template-columns: repeat(var(--lal-cc-cols, 3), minmax(0, 1fr));
    gap: 24px;
    font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif;
}
.lal-cc--empty { display: block; padding: 28px; background: #fff; border: 1px dashed var(--gcid-r1j6q5k47j, #DED8D2); color: #4a4542; font-size: 16px; }
.lal-cc__card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ebe5df;
    box-shadow: 0 18px 40px -26px rgba(23, 23, 23, .35);
    transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
    min-width: 0;
}
@media (hover: hover) {
    .lal-cc__card:hover { transform: translateY(-4px); box-shadow: 0 26px 48px -24px rgba(23, 23, 23, .4); }
    .lal-cc__card:hover .lal-cc__img { transform: scale(1.04); }
    .lal-cc__card:hover .lal-cc__cta { background: var(--gcid-x6yndad9bq, #FF4E25); border-color: var(--gcid-x6yndad9bq, #FF4E25); color: #fff; }
}
.lal-cc__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #efe9e2; }
.lal-cc .lal-cc__media .lal-cc__img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.lal-cc__img--placeholder { background: linear-gradient(135deg, var(--gcid-sgt1sxq6j4, #F7F3EE), #e9e1d8); }
.lal-cc__label {
    position: absolute; top: 16px; left: 16px;
    background: var(--gcid-sgt1sxq6j4, #F7F3EE); color: var(--gcid-sfooh96t2w, #171717);
    font: 700 12px/1.2 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase;
    padding: 7px 12px; border-radius: var(--gvid-lal-radius, 999px); box-shadow: 0 2px 10px rgba(23,23,23,.15);
}
.lal-cc__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 22px 22px 20px; }
.lal-cc__title { margin: 0 0 16px; padding: 0; font: 700 21px/1.25 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; color: var(--gcid-sfooh96t2w, #171717); text-wrap: balance; }
.lal-cc__title a { color: inherit; text-decoration: none; }
.lal-cc__title a::after { content: ""; position: absolute; inset: 0; } /* toda la tarjeta clicable */
.lal-cc__card { position: relative; }
.lal-cc__cta { position: relative; z-index: 1; }
.lal-cc__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin: 0 0 18px; padding: 0 0 18px; border-bottom: 1px solid #ebe5df; }
.lal-cc__facts div { min-width: 0; }
.lal-cc__facts dt { font: 700 12px/1.3 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #6b645f; margin: 0 0 3px; }
.lal-cc__facts dd { font: 500 15px/1.35 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; color: var(--gcid-sfooh96t2w, #171717); margin: 0; }
.lal-cc__facts dd.is-pending { color: #6b645f; font-style: italic; }
.lal-cc__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; }
.lal-cc__price { margin: 0; padding: 0; }
.lal-cc__price > span { display: block; font: 700 12px/1.3 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #6b645f; }
.lal-cc__price > strong { display: block; font: 700 22px/1.2 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; color: var(--gcid-sfooh96t2w, #171717); white-space: nowrap; }
.lal-cc__price > strong * { font: inherit !important; color: inherit !important; display: inline !important; }
.lal-cc__cta {
    display: inline-flex; align-items: center; gap: 8px;
    min-height: 44px; padding: 0 16px;
    border: 1px solid var(--gcid-sfooh96t2w, #171717); border-radius: var(--gvid-lal-radius, 999px);
    font: 700 13px/1 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase;
    color: var(--gcid-sfooh96t2w, #171717); text-decoration: none; white-space: nowrap;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lal-cc__cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lal-cc__cta:focus-visible { outline: 2px solid var(--gcid-x6yndad9bq, #FF4E25); outline-offset: 3px; }
@media (max-width: 980px) { .lal-cc { grid-template-columns: repeat(min(2, var(--lal-cc-cols, 3)), minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .lal-cc { grid-template-columns: 1fr; gap: 18px; }
    .lal-cc__title { font-size: 20px; }
}

/* ------------------------------------------------------------------ */
/* Barra fija de inscripción (≤ 980px)                                  */
/* ------------------------------------------------------------------ */
.lal-enroll-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: var(--gcid-sfooh96t2w, #171717); color: #fff;
    box-shadow: 0 -10px 30px rgba(0,0,0,.18);
    transform: translateY(110%); transition: transform .3s cubic-bezier(.2,.7,.2,1);
    font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif;
}
.lal-enroll-bar.is-visible { transform: translateY(0); }
.lal-enroll-bar[hidden] { display: none; }
.lal-enroll-bar__info { display: flex; flex-direction: column; min-width: 0; }
.lal-enroll-bar__info strong { font-size: 18px; line-height: 1.2; color: #fff; }
.lal-enroll-bar__info strong .amount { color: #fff; }
.lal-enroll-bar__info span { font-size: 13px; color: rgba(255,255,255,.75); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lal-enroll-bar__btn {
    flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px;
    background: var(--gcid-x6yndad9bq, #FF4E25); color: #fff !important; border-radius: var(--gvid-lal-radius, 999px);
    font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; text-decoration: none;
}
@media (min-width: 981px) { .lal-enroll-bar { display: none !important; } }
@media (max-width: 980px) { body.lal-has-enroll-bar { padding-bottom: 76px; } }
@media (prefers-reduced-motion: reduce) { .lal-enroll-bar, .lal-cc__card, .lal-cc__img { transition: none; } }

/* Ficha: el selector de cantidad no aplica a cursos (vendidos de forma individual). */
.single-product .quantity:has(input[type="hidden"]) { display: none; }

/* Filtros de [lal_course_cards filters="yes"] */
.lal-cc-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.lal-cc-filters button {
    min-height: 44px; padding: 0 20px; border: 1px solid var(--gcid-sfooh96t2w, #171717); border-radius: var(--gvid-lal-radius, 999px); background: transparent;
    font: 700 13px/1 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--gcid-sfooh96t2w, #171717); cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lal-cc-filters button:hover { border-color: var(--gcid-x6yndad9bq, #FF4E25); color: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-cc-filters button.is-active { background: var(--gcid-sfooh96t2w, #171717); border-color: var(--gcid-sfooh96t2w, #171717); color: #fff; }
.lal-cc__card[hidden] { display: none; }
@media (max-width: 640px) {
    .lal-cc-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -16px; padding-right: 16px; -webkit-overflow-scrolling: touch; }
    .lal-cc-filters::-webkit-scrollbar { display: none; }
    .lal-cc-filters button { flex: 0 0 auto; }
}

/* ------------------------------------------------------------------ */
/* Archivo de categoría (templates/archive-course.php)                 */
/* ------------------------------------------------------------------ */
#main-content.lal-archive, .lal-archive { background: var(--gcid-sgt1sxq6j4, #F7F3EE); font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; }
.lal-archive__wrap { width: 92%; max-width: 1296px; margin: 0 auto; }
.lal-archive__hero { padding: 72px 0 40px; }
.lal-archive__crumbs { font-size: 14px; color: #6b645f; margin-bottom: 28px; }
.lal-archive__crumbs a { color: #6b645f; text-decoration: none; }
.lal-archive__crumbs a:hover { color: var(--gcid-x6yndad9bq, #FF4E25); text-decoration: underline; }
.lal-archive__eyebrow { margin: 0 0 14px; font: 700 13px/1.3 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-archive__title { margin: 0; padding: 0; font: 400 var(--gvid-lal-fs-h1, clamp(44px, 6vw, 88px))/1.05 var(--gvid-lal-font-titulo, Georgia), "Times New Roman", serif; color: var(--gcid-sfooh96t2w, #171717); letter-spacing: -.02em; text-wrap: balance; }
.lal-archive__lead { max-width: 640px; margin-top: 20px; font-size: var(--gvid-lal-fs-lead, 18px); line-height: 1.65; color: #4a4542; }
.lal-archive__list { padding: 24px 0 80px; }
.lal-archive__help { background: var(--gcid-sfooh96t2w, #171717); color: #fff; padding: 64px 0; }
.lal-archive__help-inner { display: grid; grid-template-columns: 1fr auto; gap: 8px 32px; align-items: center; }
.lal-archive__help h2 { grid-column: 1; margin: 0; padding: 0; font: 400 var(--gvid-lal-fs-h2, clamp(30px, 3.4vw, 48px))/1.1 var(--gvid-lal-font-titulo, Georgia), serif; color: #fff; }
.lal-archive__help p { grid-column: 1; margin: 0; font-size: 17px; color: rgba(255,255,255,.8); }
.lal-archive__btn { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border-radius: var(--gvid-lal-radius, 999px); background: var(--gcid-x6yndad9bq, #FF4E25); color: #fff !important; font: 700 14px/1 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; transition: transform .2s ease, filter .2s ease; }
.lal-archive__btn:hover { transform: translateY(-2px); filter: brightness(1.07); }
@media (max-width: 767px) {
    .lal-archive__hero { padding: 40px 0 24px; }
    .lal-archive__help-inner { grid-template-columns: 1fr; }
    .lal-archive__btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 16px; }
}

/* ------------------------------------------------------------------ */
/* [lal_next_course] · tarjeta "Próximo inicio" del hero (automática)  */
/* ------------------------------------------------------------------ */
.lal-next {
    display: flex; flex-direction: column; gap: 22px;
    background: var(--gcid-sgt1sxq6j4, #F7F3EE);
    border-top: 4px solid var(--gcid-x6yndad9bq, #FF4E25);
    border-radius: 0 0 0 40px;
    padding: 30px 32px 28px;
    box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45);
    font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif;
    color: var(--gcid-sfooh96t2w, #171717);
    max-width: 420px;
}
.lal-next__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--gcid-r1j6q5k47j, #DED8D2); }
.lal-next__kicker { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.lal-next__date { font: 400 22px/1 var(--gvid-lal-font-titulo, Georgia), serif; white-space: nowrap; }
.lal-next__date.is-pending { font: italic 400 16px/1.2 var(--gvid-lal-font-texto, Poppins), sans-serif; color: var(--gcid-u13itx3ifz, #68625E); }
.lal-next__type { margin: 0 0 10px; padding: 0; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-next__title { margin: 0; padding: 0; font: 800 clamp(24px, 2.1vw, 30px)/1.12 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: -.01em; text-wrap: balance; }
.lal-next__title a { color: inherit; text-decoration: none; }
.lal-next__title a::after { content: ""; position: absolute; inset: 0; }
.lal-next { position: relative; }
.lal-next__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.lal-next__chips li {
    margin: 0; padding: 6px 10px;
    border: 1px solid var(--gcid-sfooh96t2w, #171717); border-radius: 4px;
    font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.2;
}
.lal-next__cta {
    position: relative; z-index: 1;
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 20px; border-top: 1px solid var(--gcid-r1j6q5k47j, #DED8D2);
    font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: var(--gcid-sfooh96t2w, #171717) !important; text-decoration: none;
}
.lal-next__cta svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
@media (hover: hover) {
    .lal-next:hover .lal-next__cta { color: var(--gcid-x6yndad9bq, #FF4E25) !important; }
    .lal-next:hover .lal-next__cta svg { transform: translate(3px, -3px); }
}
@media (max-width: 767px) { .lal-next { padding: 24px 22px; border-radius: 0 0 0 28px; max-width: none; } }
.et_pb_text_inner .lal-next__chips { list-style: none !important; padding: 0 !important; }
.et_pb_text_inner .lal-next__chips li { list-style: none !important; }
.et_pb_text_inner .lal-next__chips li::before, .et_pb_text_inner .lal-next__chips li::marker { content: none !important; display: none !important; }
.lal-next, .lal-next * { text-shadow: none !important; }

/* ------------------------------------------------------------------ */
/* Carrito vacío                                                       */
/* ------------------------------------------------------------------ */
.lal-empty-cart { font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; padding: 24px 0 40px; }
.lal-empty-cart__intro { max-width: 720px; margin: 0 0 64px; }
.lal-empty-cart__eyebrow { margin: 0 0 14px; padding: 0; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-empty-cart__eyebrow--list { margin-bottom: 20px; }
.lal-empty-cart__title { margin: 0 0 18px; padding: 0; font: 400 clamp(36px, 4.6vw, 64px)/1.06 var(--gvid-lal-font-titulo, Georgia), serif; color: var(--gcid-sfooh96t2w, #171717); letter-spacing: -.02em; text-wrap: balance; }
.lal-empty-cart__title em { color: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-empty-cart__text { margin: 0 0 28px; font-size: var(--gvid-lal-fs-lead, 18px); line-height: 1.6; color: var(--gcid-u13itx3ifz, #68625E); max-width: 560px; }
.lal-empty-cart__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.lal-empty-cart__btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border-radius: var(--gvid-lal-radius, 999px); background: var(--gcid-x6yndad9bq, #FF4E25); color: #fff !important; font-weight: 700; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; transition: background-color .2s ease; }
.lal-empty-cart__btn:hover { background: var(--gcid-sfooh96t2w, #171717); }
.lal-empty-cart__link { font-weight: 700; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; color: var(--gcid-sfooh96t2w, #171717) !important; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.lal-empty-cart__link:hover { color: var(--gcid-x6yndad9bq, #FF4E25) !important; }
/* El título "Carrito" de la página sobra cuando está vacío */
.woocommerce-cart:has(.lal-empty-cart) .entry-title { display: none; }

/* ------------------------------------------------------------------ */
/* [lal_course_cards layout="carousel"] v4.3.0                          */
/* ------------------------------------------------------------------ */
.lal-cc-wrap { position: relative; }
.lal-cc-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; margin: 0 0 28px; }
.lal-cc-bar .lal-cc-filters { margin: 0; min-width: 0; }
.lal-cc-nav { display: flex; gap: 10px; flex: 0 0 auto; }
.lal-cc-nav[hidden] { display: none; }
.lal-cc-nav__btn {
    display: grid; place-items: center; width: 48px; height: 48px; padding: 0;
    border: 1px solid var(--gcid-sfooh96t2w, #171717); border-radius: 50%;
    background: transparent; color: var(--gcid-sfooh96t2w, #171717); cursor: pointer;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}
.lal-cc-nav__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lal-cc-nav__btn:hover:not(:disabled) { background: var(--gcid-sfooh96t2w, #171717); color: #fff; }
.lal-cc-nav__btn:disabled { opacity: .3; cursor: default; }
.lal-cc-nav__btn:focus-visible { outline: 2px solid var(--gcid-x6yndad9bq, #FF4E25); outline-offset: 3px; }

.lal-cc.lal-cc--carousel {
    display: flex; gap: 24px;
    overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-behavior: smooth;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
    padding: 4px 4px 28px; margin: -4px -4px 0;
}
.lal-cc.lal-cc--carousel::-webkit-scrollbar { display: none; }
.lal-cc.lal-cc--carousel:focus-visible { outline: 2px solid var(--gcid-x6yndad9bq, #FF4E25); outline-offset: 4px; }
.lal-cc--carousel .lal-cc__card {
    flex: 0 0 calc((100% - 48px) / 3);
    scroll-snap-align: start;
}
.lal-cc--carousel .lal-cc__card[hidden] { display: none; }
.lal-cc-all { margin: 8px 0 0; padding: 0; text-align: right; }
.lal-cc-all a {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
    font: 700 14px/1 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase;
    color: var(--gcid-sfooh96t2w, #171717) !important; text-decoration: none; border-bottom: 1px solid currentColor;
}
.lal-cc-all a:hover { color: var(--gcid-x6yndad9bq, #FF4E25) !important; }
@media (max-width: 980px) {
    .lal-cc--carousel .lal-cc__card { flex-basis: calc((100% - 24px) / 2.15); }
}
@media (max-width: 640px) {
    .lal-cc-bar { flex-direction: column; align-items: stretch; }
    .lal-cc-nav { display: none; }            /* en móvil se desliza con el dedo */
    .lal-cc.lal-cc--carousel { gap: 14px; margin-right: -16px; padding-right: 16px; scroll-padding-left: 4px; }
    .lal-cc--carousel .lal-cc__card { flex-basis: 84%; }
    .lal-cc-all { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .lal-cc.lal-cc--carousel { scroll-behavior: auto; } }

/* ===================== v4.5.0 · Estructuras por tipo ===================== */
.lal-builder-hint { font-size: 12px; color: #9a918a; }
.lal-text--description p, .lal-academic-target-audience p, .lal-academic-methodology p, .lal-text p { font-size: 17px; line-height: 1.7; margin: 0 0 1em; color: var(--gcid-u13itx3ifz, #68625E); }
.lal-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lal-list li, .lal-academic-learning li, .lal-academic-requirements li { position: relative; padding-left: 28px; font-size: 16px; line-height: 1.6; color: var(--gcid-sfooh96t2w, #171717); }
.lal-list--list li::before, .lal-academic-learning li::before, .lal-academic-requirements li::before { content: ""; position: absolute; left: 0; top: .78em; width: 14px; height: 2px; background: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-academic-learning, .lal-academic-requirements { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lal-list--steps { counter-reset: lalstep; gap: 0; }
.lal-list--steps li { counter-increment: lalstep; padding: 16px 0 16px 56px; border-top: 1px solid rgba(23,23,23,.1); }
.lal-list--steps li:last-child { border-bottom: 1px solid rgba(23,23,23,.1); }
.lal-list--steps li::before { content: counter(lalstep, decimal-leading-zero); position: absolute; left: 0; top: 14px; font: 400 26px/1 Georgia, serif; color: var(--gcid-x6yndad9bq, #FF4E25); }
.lal-result { margin: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--gcid-x6yndad9bq, #FF4E25); font: 400 clamp(22px, 2.2vw, 28px)/1.3 Georgia, serif; color: var(--gcid-sfooh96t2w, #171717); }
.lal-brochure { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 16px; padding: 10px 20px; border: 1.5px solid var(--gcid-sfooh96t2w, #171717); border-radius: 4px; font: 600 13px/1 Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--gcid-sfooh96t2w, #171717) !important; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.lal-brochure:hover, .lal-brochure:focus-visible { background: var(--gcid-x6yndad9bq, #FF4E25); border-color: var(--gcid-x6yndad9bq, #FF4E25); color: #fff !important; }
.lal-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lal-gallery__item { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 10px; background: #efe9e2; }
.lal-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 767px) { .lal-gallery { grid-template-columns: repeat(2, 1fr); } }
.lal-block--related .lal-cc { margin-top: 8px; }

/* Curso: hero más compacto, la información llega antes. */
body.lal-type-curso .lal-hero { padding-top: 56px !important; padding-bottom: 56px !important; }

/* Diploma: hero oscuro sobre la imagen, tono de especialización
   (misma especificidad que el velo crema del tema hijo, declarado después). */
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body { background-color: var(--gcid-sfooh96t2w, #171717) !important; }
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body::before { background: linear-gradient(90deg, rgba(23,23,23,.97) 0%, rgba(23,23,23,.92) 40%, rgba(23,23,23,.35) 72%, rgba(23,23,23,.05) 100%); }
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body h1,
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body .et_pb_wc_description,
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body .et_pb_wc_description p,
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body [class*="woocommerce_product_description"] p { color: var(--gcid-sgt1sxq6j4, #F7F3EE) !important; }
body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body .et_pb_column > .et_pb_group:nth-child(2) { background-color: var(--gcid-sgt1sxq6j4, #F7F3EE) !important; }
@media (max-width: 980px) { body.lal-type-diploma:has(.lal-hero-label) .et_pb_section_0_tb_body::before { background: rgba(23,23,23,.86); } }

/* LAL Kids: más cálido y cercano, pensado para papás. */
body.lal-type-kids .lal-hero { background-color: #FFF1EA !important; }
body.lal-type-kids:has(.lal-hero-label) .et_pb_section_0_tb_body::before { background: linear-gradient(90deg, rgba(255,241,234,.97) 0%, rgba(255,241,234,.92) 38%, rgba(255,241,234,.55) 58%, rgba(255,241,234,0) 75%); }
@media (max-width: 980px) { body.lal-type-kids:has(.lal-hero-label) .et_pb_section_0_tb_body::before { background: rgba(255,241,234,.9); } }
.lal-age-chip { display: inline-block; margin: 10px 0 4px; padding: 7px 14px; border-radius: 6px; background: var(--gcid-x6yndad9bq, #FF4E25); color: #fff; font: 600 13px/1 Poppins, sans-serif; letter-spacing: .04em; }
body.lal-type-kids .lal-main .lal-academic-outcomes__item { background: #fff; border: 1px solid #f0e2d9; border-radius: 16px; padding: 18px 20px; margin-bottom: 12px; }
body.lal-type-kids .lal-main .lal-academic-outcomes__num { color: var(--gcid-x6yndad9bq, #FF4E25); }
body.lal-type-kids .lal-list--kids_accompaniment li::before { content: "✓"; width: auto; height: auto; top: 0; background: none; color: var(--gcid-x6yndad9bq, #FF4E25); font-weight: 700; }
.lal-main .lal-block { margin-bottom: 56px !important; }
.lal-main .lal-block:last-child { margin-bottom: 0 !important; }
.lal-main ul.lal-list, .lal-main ul.lal-academic-learning, .lal-main ul.lal-academic-requirements, .lal-main ol.lal-list { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.lal-main .lal-list li::marker, .lal-main .lal-academic-learning li::marker, .lal-main .lal-academic-requirements li::marker { content: none; }
@media (max-width: 767px) { .lal-main .lal-block { margin-bottom: 40px !important; } }
/* Hero sin matrícula: la tarjeta de inversión conserva aire arriba y abajo. */
body:has(.lal-hero-label) .et_pb_section_0_tb_body .et_pb_column > .et_pb_group:has(.lal-hide-module) { padding-top: 14px !important; padding-bottom: 18px !important; }
body:has(.lal-hero-label) .et_pb_section_0_tb_body form.cart { margin-top: 0 !important; margin-bottom: 0 !important; }
/* Banner de categoría (miniatura de la categoría de WooCommerce). */
.lal-archive__hero--banner { position: relative; isolation: isolate; padding: 112px 0 96px; background: var(--gcid-sgt1sxq6j4, #F7F3EE) var(--lal-banner) right center / cover no-repeat; }
.lal-archive__hero--banner::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(247,243,238,.97) 0%, rgba(247,243,238,.9) 36%, rgba(247,243,238,.45) 56%, rgba(247,243,238,0) 72%); }
.lal-archive__hero--banner .lal-archive__wrap > * { max-width: 620px; }
@media (max-width: 980px) {
  .lal-archive__hero--banner { padding: 220px 0 40px; background-position: right top; background-size: auto 260px; }
  .lal-archive__hero--banner::before { background: linear-gradient(180deg, rgba(247,243,238,0) 0px, rgba(247,243,238,.6) 170px, rgba(247,243,238,1) 250px); }
}
/* Páginas con banner (p. ej. /cursos/): mismo velo cálido que las fichas. */
.lal-page-banner { position: relative; isolation: isolate; }
.lal-page-banner::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(247,243,238,.97) 0%, rgba(247,243,238,.9) 36%, rgba(247,243,238,.45) 56%, rgba(247,243,238,0) 72%); }
.lal-page-banner > .et_pb_row { position: relative; z-index: 1; }
@media (max-width: 980px) { .lal-page-banner::before { background: rgba(247,243,238,.88); } }

/* v4.6.0 · Ficha sin precio publicado: «Solicitar información» en la tarjeta de inversión */
.lal-ask{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;width:100%}
.lal-ask__txt{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.1;color:#171717;font-style:italic}
.lal-ask__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:6px;
  background:#FF4E25;color:#fff!important;font-family:Poppins,sans-serif;font-weight:700;font-size:13px;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none!important;transition:background .2s}
.lal-ask__btn:hover,.lal-ask__btn:focus-visible{background:#171717}
.lal-ask__btn:focus-visible{outline:3px solid #FF4E25;outline-offset:3px}
.woocommerce-Price-amount + .lal-ask,.price .lal-ask{margin-top:4px}
@media (max-width:767px){.lal-ask__btn{width:100%}}

/* v4.6.3 · Noticias [lal_news] */
.lal-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.lal-news__item{background:#fff;border:1px solid rgba(23,23,23,.08);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.lal-news__media{display:block;aspect-ratio:3/2;background:#F7F3EE;overflow:hidden}
.lal-news__media img{width:100%;height:100%;object-fit:cover;display:block}
.lal-news__body{padding:22px 24px 26px}
.lal-news__date{font:600 12px/1.2 Poppins,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#FF4E25}
.lal-news__title{font-family:Georgia,serif;font-size:22px;line-height:1.25;margin:10px 0 8px;padding:0}
.lal-news__title a{color:#171717;text-decoration:none}.lal-news__title a:hover{color:#FF4E25}
.lal-news__excerpt{font-size:15px;line-height:1.6;color:#4a4643;margin:0}
.lal-news-empty{max-width:640px;margin:0 auto;text-align:center;padding:48px 24px;border:1px dashed rgba(23,23,23,.18);border-radius:6px;background:#fff}
.lal-news-empty__title{font-family:Georgia,serif;font-size:26px;line-height:1.25;color:#171717;margin:0 0 10px}
.lal-news-empty p{font-size:16px;color:#4a4643}
.lal-news-empty__btn{display:inline-flex;margin-top:14px;min-height:48px;align-items:center;padding:12px 26px;border-radius:6px;background:#FF4E25;color:#fff!important;font:700 13px/1 Poppins,sans-serif;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none!important}
.lal-news-empty__btn:hover,.lal-news-empty__btn:focus-visible{background:#171717}
@media (max-width:980px){.lal-news{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lal-news{grid-template-columns:1fr}}

/* v4.6.5 · Entrada de Noticias */
body.single-post #main-content .container{max-width:820px;padding-top:56px}
body.single-post #main-content .container:before{display:none}
body.single-post #left-area{width:100%;padding:0!important;float:none}
body.single-post .et_post_meta_wrapper h1.entry-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4.4vw,52px);line-height:1.08;color:#171717;margin-bottom:14px}
body.single-post .post-meta{font:600 12px/1.4 Poppins,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#FF4E25;margin-bottom:28px}
body.single-post .post-meta a{color:#FF4E25}
body.single-post .post-meta .comments-number{display:none}
body.single-post .et_post_meta_wrapper img{border-radius:6px;width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:32px}
body.single-post .entry-content{font-size:17px;line-height:1.75;color:#3d3936}
body.single-post .entry-content h2{font-family:Georgia,serif;font-size:28px;line-height:1.2;color:#171717;margin:36px 0 12px;padding:0}
body.single-post .entry-content ul{margin:0 0 1.4em 1.2em}
body.single-post .entry-content a{color:#FF4E25;text-decoration:underline;text-underline-offset:3px}
body.single-post #comment-wrap,body.single-post .et_post_meta_wrapper + .et_pb_after_content{display:none}
.lal-post-footer{margin-top:56px;padding-top:36px;border-top:1px solid rgba(23,23,23,.12)}
.lal-post-back{font:700 13px/1 Poppins,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#171717!important;text-decoration:none!important}
.lal-post-back:hover{color:#FF4E25!important}
.lal-post-more{font-family:Georgia,serif;font-size:28px;color:#171717;margin:36px 0 20px}
.lal-post-footer .lal-news{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lal-post-footer .lal-news__title{font-size:18px}
.lal-post-footer .lal-news__excerpt{display:none}
@media (max-width:767px){.lal-post-footer .lal-news{grid-template-columns:1fr}}
.lal-post-footer .lal-news__title a{color:#171717!important;text-decoration:none!important}.lal-post-footer .lal-news__title a:hover{color:#FF4E25!important}
