/* ==========================================================================
   LAS ARTES LIMA · Capa UX/UI v1.1.0
   Responde a las observaciones del cliente (PDF "Análisis de página web")
   y a la auditoría técnica. Todo es reversible: basta con no cargar este archivo.

   SISTEMA NATIVO PRIMERO: colores = colores globales de Divi (--gcid-…),
   fuentes y tamaños = Variables de diseño "LAL · …" (--gvid-lal-…). Este
   archivo solo cubre lo que Divi 5 no hace de forma nativa o es temporal:
     [NECESARIO] 1 (text-wrap), 5 (velos sobre fotos y ficha universal),
         10 (rejilla Contacto), 11 (páginas WooCommerce), 12 (foco/movimiento).
     [TEMPORAL]  2 menú, 3 botones, 4 rutas, 6 tarjetas, 7 orientación,
         8 comunidad, 9 noticias: se borran a medida que se crean los
         presets "LAL · …" en Divi (ver informe, sección Estilos nativos).

   1. Tipografía: interlineado, huérfanas, tamaños de lectura
   2. Menú principal: estado hover / activo
   3. Botones y enlaces: respuesta al cursor
   4. Rutas creativas: resaltado solo al pasar el cursor
   5. Contraste de texto sobre fotografías
   6. Tarjetas de programas: etiquetas legibles
   7. Orientación académica: contraste
   8. Comunidad: testimonios y galería
   9. Noticias
  10. Contacto
  11. Carrito / checkout / mi cuenta
  12. Accesibilidad: foco visible y movimiento reducido
   ========================================================================== */

:root {
    --lal-orange: var(--gcid-x6yndad9bq, #FF4E25);
    --lal-orange-soft: rgba(255, 78, 37, .10);
    --lal-black: var(--gcid-sfooh96t2w, #171717);
    --lal-cream: var(--gcid-sgt1sxq6j4, #F7F3EE);
    --lal-ink-2: #4a4542;
    --lal-line: var(--gcid-r1j6q5k47j, #DED8D2);
    --lal-ease-ux: cubic-bezier(.2, .7, .2, 1);
}

/* 1. TIPOGRAFÍA ---------------------------------------------------------- */

/* Evita palabras huérfanas y líneas desbalanceadas en títulos (PDF: Nosotros). */
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3,
.lal-display, .lal-heading h2, .lal-hero-title h1 {
    text-wrap: balance;
}
.et_pb_text p, .et_pb_text li, .lal-body {
    text-wrap: pretty;
}

/* Títulos display: interlineado mínimo 1.1 (PDF: Cursos "letras muy juntas"). */
.et_pb_text h1, .et_pb_text h2, .lal-display {
    line-height: 1.1 !important;
}

/* Párrafos de cuerpo: lectura cómoda y contraste AA sobre fondos claros. */
.et_pb_text_inner p {
    line-height: 1.65;
}

/* 2. MENÚ PRINCIPAL ------------------------------------------------------- */
/* PDF Inicio: "Falta que las opciones sean resaltadas cuando el cursor pasa
   por encima". v1.1.1: color naranja + línea inferior (se descartó la
   píldora por pedido del cliente). */
@media (min-width: 981px) {
    /* Línea naranja bajo el ítem (sin píldora ni círculo), como pidió el cliente. */
    .et-l--header .et-menu > li > a {
        position: relative;
        font-size: 15px !important;
        transition: color .2s ease;
    }
    .et-l--header .et-menu > li > a::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -6px;
        height: 2px;
        background: var(--gcid-x6yndad9bq, #FF4E25);
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform .25s var(--lal-ease-ux);
        pointer-events: none;
    }
    .et-l--header .et-menu > li.menu-item-has-children > a::before { right: 18px; } /* no subrayar la flecha */
    .et-l--header .et-menu > li > a:hover,
    .et-l--header .et-menu > li > a:focus-visible,
    .et-l--header .et-menu > li.current-menu-item > a,
    .et-l--header .et-menu > li.current-menu-ancestor > a,
    .et-l--header .et-menu > li.current_page_item > a {
        color: var(--gcid-x6yndad9bq, #FF4E25) !important;
        opacity: 1 !important;
    }
    .et-l--header .et-menu > li > a:hover::before,
    .et-l--header .et-menu > li > a:focus-visible::before,
    .et-l--header .et-menu > li.current-menu-item > a::before,
    .et-l--header .et-menu > li.current-menu-ancestor > a::before,
    .et-l--header .et-menu > li.current_page_item > a::before {
        transform: scaleX(1);
    }

    /* Submenú (Programas): solo cambio de color */
    .et-l--header .et-menu .sub-menu a {
        font-size: 15px !important;
        transition: color .2s ease;
    }
    .et-l--header .et-menu .sub-menu a:hover {
        background: transparent !important;
        color: var(--gcid-x6yndad9bq, #FF4E25) !important;
        opacity: 1 !important;
    }
}

/* 3. BOTONES Y ENLACES ---------------------------------------------------- */
/* PDF Comunidad: "Los botones deberían reaccionar cuando el cursor pasa". */
.et_pb_button,
.lal-btn,
.hero-btn-primary,
.hero-btn-secondary,
.lal-orienta-form button,
.et_pb_text_inner a[style*="padding"] {
    transition: transform .22s var(--lal-ease-ux), box-shadow .22s ease,
                background-color .22s ease, color .22s ease, border-color .22s ease, filter .22s ease !important;
}
@media (hover: hover) {
    .et_pb_button:hover,
    .lal-btn:hover,
    .et_pb_text_inner a[style*="padding"]:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 26px rgba(23, 23, 23, .16);
    }
    /* Botones rellenos escritos con estilos en línea (Comunidad, CTA). */
    .et_pb_text_inner a[style*="background:var(--gcid-x6yndad9bq, #FF4E25)"]:hover,
    .et_pb_text_inner a[style*="background: var(--gcid-x6yndad9bq, #FF4E25)"]:hover {
        filter: brightness(1.08);
    }
    /* Botones de contorno escritos con estilos en línea: se rellenan al pasar. */
    .et_pb_text_inner a[style*="border:1px solid rgba(255,255,255"]:hover {
        background-color: #fff !important;
        color: var(--lal-black) !important;
    }
    .et_pb_text_inner a[style*="border:1px solid var(--gcid-sfooh96t2w, #171717)"]:hover,
    .et_pb_text_inner a[style*="border: 1px solid var(--gcid-sfooh96t2w, #171717)"]:hover {
        background-color: var(--lal-black) !important;
        color: #fff !important;
    }
    /* Enlaces de texto tipo "EXPLORAR RUTA ↗" / "CONOCER SU HISTORIA ↗" */
    .et_pb_text_inner a:not([style*="padding"]):not(.lal-btn):not([class*="card"]) {
        text-underline-offset: 4px;
        text-decoration-thickness: 1px;
    }
    .et_pb_text_inner a:not([style*="padding"]):not(.lal-btn):not([class*="card"]):hover {
        color: var(--lal-orange) !important;
        text-decoration: underline;
    }
}

/* 4. RUTAS CREATIVAS ------------------------------------------------------ */
/* PDF Inicio: "¿Por qué esta opción está resaltada? Mejor usarlo para señalar
   cuál se está escogiendo cuando pasa el cursor". Las tres tarjetas parten
   iguales y la naranja pasa a ser el estado hover/foco. */
.lal-route-card {
    background-color: var(--lal-black) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    transition: background-color .3s ease, border-color .3s ease, transform .3s var(--lal-ease-ux) !important;
}
.lal-route-card.et_pb_group .et_pb_text .et_pb_text_inner,
.lal-route-card.et_pb_group .et_pb_text .et_pb_text_inner :is(h1, h2, h3, h4, p, a, span, strong, em) {
    color: #fff !important;
    transition: color .3s ease;
}
.lal-route-card.et_pb_group .et_pb_text:first-child .et_pb_text_inner,
.lal-route-card.et_pb_group .et_pb_text:first-child .et_pb_text_inner :is(h1, h2, h3, h4, p, a, span, strong, em) {
    color: var(--lal-orange) !important; /* numeración 01/02/03 */
    font-size: 15px !important;
}
.lal-route-card .et_pb_divider_internal,
.lal-route-card .et_pb_divider:before {
    border-top-color: rgba(255, 255, 255, .2) !important;
}
@media (hover: hover) {
    .lal-route-card:hover,
    .lal-route-card:focus-within {
        background-color: var(--lal-orange) !important;
        border-color: var(--lal-orange) !important;
        transform: translateY(-4px);
    }
    .lal-route-card.et_pb_group:hover .et_pb_text .et_pb_text_inner,
    .lal-route-card.et_pb_group:hover .et_pb_text .et_pb_text_inner :is(h1, h2, h3, h4, p, a, span, strong, em),
    .lal-route-card.et_pb_group:focus-within .et_pb_text .et_pb_text_inner,
    .lal-route-card.et_pb_group:focus-within .et_pb_text .et_pb_text_inner :is(h1, h2, h3, h4, p, a, span, strong, em) {
        color: var(--lal-black) !important;
    }
    .lal-route-card:hover .et_pb_divider_internal,
    .lal-route-card:hover .et_pb_divider:before {
        border-top-color: rgba(23, 23, 23, .25) !important;
    }
}

/* 5. CONTRASTE DE TEXTO SOBRE FOTOGRAFÍAS --------------------------------- */
/* Velo degradado bajo el texto, sin tocar las imágenes. */
.lal-project-card,
.page-id-23 .et_pb_section_0,
.page-id-27 .et_pb_section_0 {
    position: relative;
    isolation: isolate;
}
.lal-project-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(23, 23, 23, 0) 30%, rgba(23, 23, 23, .55) 62%, rgba(23, 23, 23, .9) 100%);
    pointer-events: none;
    z-index: 0;
}
.lal-project-card > * { position: relative; z-index: 1; }
.lal-project-card h3,
.lal-project-card h3 * {
    font-size: clamp(22px, 1.9vw, 28px) !important;
    line-height: 1.18 !important;
    color: #fff !important;
}

/* Nosotros (hero) y Noticias (hero): velo lateral para el bloque de texto. */
.page-id-23 .et_pb_section_0::before,
.page-id-27 .et_pb_section_0::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(23, 23, 23, .86) 0%, rgba(23, 23, 23, .7) 42%, rgba(23, 23, 23, .15) 78%, rgba(23, 23, 23, 0) 100%);
    pointer-events: none;
    z-index: 0;
}
.page-id-23 .et_pb_section_0 > .et_pb_row,
.page-id-27 .et_pb_section_0 > .et_pb_row { position: relative; z-index: 1; }
.page-id-23 .et_pb_section_0 p,
.page-id-27 .lal-news-hero p,
.page-id-27 .lal-news-hero .lal-body {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #fff !important;
}

/* Inicio (hero): bajada más grande y con apoyo de sombra sobre la foto. */
.home .et_pb_section_0 .et_pb_text_inner p {
    text-shadow: 0 1px 14px rgba(0, 0, 0, .45);
}
.home .et_pb_section_0 .et_pb_text_inner p:not([class]) {
    font-size: 18px !important;
}

/* Ficha de curso (plantilla universal): el título y la bajada se apoyan
   sobre un velo crema para que cualquier imagen destacada funcione. */
body:has(.lal-hero-label) .et_pb_section_0_tb_body {
    position: relative;
    isolation: isolate;
}
body:has(.lal-hero-label) .et_pb_section_0_tb_body::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(247, 243, 238, .97) 0%, rgba(247, 243, 238, .92) 38%, rgba(247, 243, 238, .55) 58%, rgba(247, 243, 238, 0) 75%);
    pointer-events: none;
    z-index: 0;
}
body:has(.lal-hero-label) .et_pb_section_0_tb_body > .et_pb_row { position: relative; z-index: 1; }
body:has(.lal-hero-label) .et_pb_section_0_tb_body .et_pb_wc_description,
body:has(.lal-hero-label) .et_pb_section_0_tb_body .et_pb_wc_description p,
body:has(.lal-hero-label) .et_pb_section_0_tb_body [class*="woocommerce_product_description"] p {
    font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: var(--lal-ink-2) !important;
    max-width: 560px;
}
.lal-hero-label { font-size: 13px !important; }
@media (max-width: 980px) {
    body:has(.lal-hero-label) .et_pb_section_0_tb_body::before {
        background: rgba(247, 243, 238, .9);
    }
}

/* Barra de datos del curso en móvil: dos columnas reales, sin cortar palabras. */
@media (max-width: 767px) {
    body:has(.lal-hero-label) .et_pb_section_1_tb_body .et_pb_row {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 18px 16px;
    }
    body:has(.lal-hero-label) .et_pb_section_1_tb_body .et_pb_column,
    body:has(.lal-hero-label) .et_pb_section_1_tb_body .et_pb_group {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body:has(.lal-hero-label) .et_pb_section_1_tb_body .et_pb_text_inner {
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }
}
/* Datos sin cargar ("Por confirmar"): se muestran atenuados y, salvo la fecha
   de inicio, se ocultan para no repetir "Por confirmar" cinco veces. */
.lal-field-empty { opacity: .7; font-style: italic; }
body:has(.lal-hero-label) .et_pb_section_1_tb_body .et_pb_column:not(:first-child):has(.lal-field-empty) {
    display: none !important;
}

/* 6. TARJETAS DE PROGRAMAS ------------------------------------------------ */
/* PDF Cursos: "Quizás ponerla dentro de un rectángulo para que contraste más". */
.lal-card-label .et_pb_text_inner p,
.lal-course-kicker {
    display: inline-block;
    background: var(--lal-cream);
    color: var(--lal-black) !important;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px !important;
    letter-spacing: .08em;
    line-height: 1.2 !important;
    box-shadow: 0 2px 10px rgba(23, 23, 23, .12);
}
.lal-program-card {
    transition: transform .3s var(--lal-ease-ux), box-shadow .3s ease;
}
@media (hover: hover) {
    .lal-program-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 22px 44px -18px rgba(23, 23, 23, .28);
    }
}

/* 7. ORIENTACIÓN ACADÉMICA (fondo salmón) --------------------------------- */
/* PDF: "contraste débil debido al color de las letras". */
.et_pb_section:has(.lal-orienta-form) .et_pb_text_inner p,
.et_pb_section:has(.lal-orienta-form) .et_pb_text_inner a:not([style*="padding"]),
.et_pb_section:has(.lal-orienta-form) .et_pb_text_inner strong {
    color: var(--lal-black) !important;
}
.et_pb_section:has(.lal-orienta-form) .et_pb_text_inner p {
    font-size: 17px !important;
}
.lal-orienta-form label { font-size: 12px !important; letter-spacing: .06em; }
.lal-orienta-form input,
.lal-orienta-form select { font-size: 16px !important; } /* evita zoom en iOS */
.lal-orienta-form .consent span { font-size: 12px !important; line-height: 1.5; }
.lal-orienta-form button { font-size: 14px !important; min-height: 48px; }

/* Mensajes de estado de formularios (activados en Las Artes Core 0.3.0) */
.lal-form-status {
    margin: 14px 0 0;
    font: 500 15px/1.5 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif;
    min-height: 1px;
}
.lal-form-status.is-ok { color: #1f7a3d; }
.lal-form-status.is-error { color: #b42318; }
.lal-newsletter-form .lal-form-status,
.et_pb_section[style*="171717"] .lal-form-status.is-ok { color: #9be3b1; }

/* 8. COMUNIDAD ------------------------------------------------------------ */
/* PDF: "Mejorar las fotos usadas y su ubicación… que los rostros se vean". */
.page-id-25 .et_pb_row_7 .et_pb_group {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    gap: 0 !important;
    row-gap: 0 !important;
    --vertical-gap: 0px;
}
.page-id-25 .et_pb_row_7 .et_pb_image {
    margin: 0 !important;
    padding: 28px 24px 4px;
    background: #fff;
    border: 1px solid var(--lal-line);
    border-bottom: 0;
    text-align: left;
}
.page-id-25 .et_pb_row_7 .et_pb_image img {
    width: 104px !important;
    height: 104px !important;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 72%;
    background: var(--lal-cream);
}
.page-id-25 .et_pb_row_7 .et_pb_text { flex: 1 1 auto; margin: 0 !important; }
.page-id-25 .et_pb_row_7 .et_pb_text_inner,
.page-id-25 .et_pb_row_7 .et_pb_text_inner > div { height: 100%; }

/* 9. NOTICIAS ------------------------------------------------------------- */
/* PDF: "Mejorar la diagramación de esta oración. Se ve muy apretada". */
.lal-news-feature-copy h2.lal-display {
    font-size: clamp(28px, 2.5vw, 40px) !important;
    line-height: 1.15 !important;
}
.lal-news-feature-copy p { font-size: 16px !important; }

/* 10. CONTACTO ------------------------------------------------------------ */
/* PDF: "Hacer los íconos más grandes" + "Aumentar el tamaño de la tipografía". */
.lal-choice-grid article > span:first-child {
    width: 56px !important;
    height: 56px !important;
    font-size: 24px !important;
    display: inline-grid !important;
    place-items: center;
}
.lal-choice-grid h3 { font-size: clamp(24px, 2vw, 30px) !important; }
.lal-choice-grid p { font-size: 16px !important; }
.lal-choice-grid a { font-size: 13px !important; }
.lal-contact-shortcuts b { font-size: 1.75rem !important; }
.lal-access-grid h3 { font-size: clamp(24px, 2vw, 30px) !important; }
.lal-access-grid p { font-size: 15px !important; }
/* El bloque "Aquí se integrará Google Maps…" es un texto de maqueta: no se
   muestra al público hasta tener la dirección validada. */
.lal-map-placeholder { display: none !important; }

/* 11. CARRITO / CHECKOUT / MI CUENTA ------------------------------------- */
/* PDF Carrito: "Asegurarse que los elementos estén alineados". Además se quita
   la barra lateral de blog (Recent Posts/Comments) en páginas de compra. */
.woocommerce-cart #sidebar,
.woocommerce-checkout #sidebar,
.woocommerce-account #sidebar { display: none !important; }
.woocommerce-cart #left-area,
.woocommerce-checkout #left-area,
.woocommerce-account #left-area { width: 100% !important; padding-right: 0 !important; float: none !important; }
.woocommerce-cart #main-content .container::before,
.woocommerce-checkout #main-content .container::before,
.woocommerce-account #main-content .container::before { display: none !important; }
.woocommerce-cart #main-content,
.woocommerce-checkout #main-content,
.woocommerce-account #main-content { background: var(--lal-cream); }
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
    font-family: var(--gvid-lal-font-titulo, Georgia), "Times New Roman", serif;
    font-size: clamp(36px, 4vw, 56px);
    line-height: 1.1;
    margin-bottom: 24px;
}
.woocommerce-cart #main-content,
.woocommerce-checkout #main-content,
.woocommerce-account #main-content,
.woocommerce-cart .wc-block-grid,
.woocommerce-checkout .wc-block-components-form {
    font-family: var(--gvid-lal-font-texto, Poppins), Arial, sans-serif;
}
.wc-block-grid__products { align-items: stretch; }
.wc-block-grid__product {
    display: flex !important;
    flex-direction: column;
    background: #fff;
    padding: 0 0 18px !important;
    border: 1px solid var(--lal-line);
}
.wc-block-grid__product-link { display: flex; flex-direction: column; flex: 1 1 auto; text-decoration: none; }
.wc-block-grid__product-title {
    font: 700 15px/1.35 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif !important;
    color: var(--lal-black) !important;
    padding: 0 14px;
    min-height: 2.7em;
}
.wc-block-grid__product-price { font: 600 15px/1.3 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif !important; color: var(--lal-black) !important; margin-top: auto !important; }
.wc-block-grid__product-add-to-cart { margin-top: 12px !important; }
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-components-button:not(.is-link) {
    background: var(--lal-orange) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font: 700 14px/1 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif !important;
    padding: 14px 22px !important;
    border: 0 !important;
    transition: transform .2s ease, filter .2s ease;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-components-button:not(.is-link):hover { filter: brightness(1.07); transform: translateY(-2px); }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    font: 400 28px/1.2 var(--gvid-lal-font-titulo, Georgia), serif;
}

/* 12. ACCESIBILIDAD ------------------------------------------------------- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--lal-orange);
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    .lal-route-card, .lal-program-card, .et_pb_button, .lal-btn,
    .et_pb_text_inner a[style*="padding"] {
        transition: none !important;
        transform: none !important;
    }
}

/* ==========================================================================
   v1.1.2 · AUDITORÍA RESPONSIVE (1920 / 1440 / 1024 / 768 / 390 px)
   ========================================================================== */

/* 13. Escala única de títulos H1. Antes: Contacto 107 px, Noticias 112 px,
       Experiencias 122 px en escritorio y 54–61 px en móvil. */
h1.lal-display,
.lal-shell h1,
.lal-contact-hero h1,
.lal-news-hero h1 {
    font-size: var(--gvid-lal-fs-h1, clamp(44px, 6vw, 88px)) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.02em !important;
}
@media (max-width: 767px) {
    h1.lal-display, .lal-shell h1, .lal-contact-hero h1, .lal-news-hero h1,
    .et_pb_text_inner h1 {
        font-size: clamp(36px, 10vw, 44px) !important;
    }
    .et_pb_text_inner h2.lal-display, .lal-shell h2.lal-display {
        font-size: clamp(30px, 8.4vw, 38px) !important;
        line-height: 1.08 !important;
    }
}
/* Contacto: la tarjeta de datos se centra con el título (antes quedaba abajo). */
.lal-contact-hero-grid { align-items: center !important; }
@media (min-width: 981px) { .lal-contact-hero { padding: 96px 0 88px !important; } }

/* 14. Vídeo de portada: no debe desbordar en tablet (1024 px, +148 px). */
.et_pb_section:has(> .et-pb-background-video),
.et_pb_section:has(.et_pb_section_video_bg),
.et_pb_section:has(span.et-pb-background-video),
.et_pb_section:has(.mejs-container),
.et_pb_section:has(.lal_d5_aliados_carousel) { overflow-x: clip; }
html, body { overflow-x: clip; } /* red de seguridad: nada provoca scroll horizontal */
.wp-video, .wp-video video { max-width: 100% !important; }

/* Tablet: H1 de módulos Divi (Cursos 88 px, fichas 72 px a 1024 px). */
@media (min-width: 768px) and (max-width: 1100px) {
    .et_pb_text_inner h1 { font-size: clamp(44px, 6.2vw, 64px) !important; line-height: 1.05 !important; }
}
.lal-archive__crumbs a { display: inline-flex; align-items: center; min-height: 44px; }

/* 15. Áreas táctiles ≥ 44 px en móvil/tablet (WCAG 2.5.8): enlaces de
       llamada a la acción escritos como texto ("Leer más ↗", "Escríbenos ↗"…). */
@media (max-width: 980px) {
    .lal-choice-grid a,
    .lal-news-grid a, .lal-news-feature a, .lal-news-latest a, .lal-news-community a,
    .page-id-25 .et_pb_text_inner a,
    .lal-empty-cart__link,
    .et_pb_text_inner a[href]:not([style*="padding"]):only-child {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
    .et_pb_social_media_follow_network_name, .lal-share-core a, .lal-share-core button {
        min-width: 44px; min-height: 44px;
    }
}

/* 16. Avisos de WooCommerce con estilo LAL ("se ha añadido a tu carrito",
       errores, información). Antes: barra naranja a todo el ancho con
       botón blanco por defecto. */
html body .woocommerce-notices-wrapper:empty { display: none; }
html body .woocommerce-message,
html body .woocommerce-info,
html body .woocommerce-error,
html body .et_pb_wc_cart_notice .woocommerce-message {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    max-width: 1296px;
    width: calc(100% - 32px);
    margin: 24px auto !important;
    padding: 18px 22px 18px 24px !important;
    background: #fff !important;
    color: var(--gcid-sfooh96t2w, #171717) !important;
    border: 1px solid var(--gcid-r1j6q5k47j, #DED8D2) !important;
    border-left: 4px solid var(--gcid-x6yndad9bq, #FF4E25) !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 30px -20px rgba(23, 23, 23, .35);
    font: 500 15px/1.5 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif !important;
    list-style: none;
}
html body .woocommerce-error { border-left-color: #b42318 !important; }
html body .woocommerce-message::before,
html body .woocommerce-info::before,
html body .woocommerce-error::before { display: none !important; }
html body .woocommerce-message .button,
html body .woocommerce-info .button,
html body .woocommerce-error .button,
html body .woocommerce-message a.wc-forward {
    order: 2;
    float: none !important;
    display: inline-flex !important;
    align-items: center;
    min-height: 44px;
    padding: 0 22px !important;
    margin: 0 !important;
    background: var(--gcid-sfooh96t2w, #171717) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: var(--gvid-lal-radius, 999px) !important;
    font: 700 13px/1 var(--gvid-lal-font-texto, Poppins), Arial, sans-serif !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background-color .2s ease;
}
html body .woocommerce-message .button::after,
html body .woocommerce-message a.wc-forward::after { display: none !important; }
html body .woocommerce-message .button:hover,
html body .woocommerce-message a.wc-forward:hover,
html body .woocommerce-info .button:hover { background: var(--gcid-x6yndad9bq, #FF4E25) !important; }

/* 17. Carrito con productos: título, tarjeta blanca y tipografía de marca. */
.wp-block-woocommerce-filled-cart-block .wc-block-cart-items {
    background: #fff;
    border: 1px solid var(--gcid-r1j6q5k47j, #DED8D2) !important;
}
.wc-block-cart-items__header, .wc-block-cart .wc-block-components-totals-wrapper .wc-block-components-title,
.wc-block-cart__totals-title {
    font: 700 12px/1.3 var(--gvid-lal-font-texto, Poppins), sans-serif !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--gcid-u13itx3ifz, #68625E) !important;
}
.wc-block-components-product-name {
    font: 700 17px/1.3 var(--gvid-lal-font-texto, Poppins), sans-serif !important;
    color: var(--gcid-sfooh96t2w, #171717) !important;
    text-decoration: none !important;
}
.wc-block-components-product-name:hover { color: var(--gcid-x6yndad9bq, #FF4E25) !important; }
.wc-block-cart-item__prices, .wc-block-components-product-metadata { font-size: 15px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font: 700 20px/1.3 var(--gvid-lal-font-texto, Poppins), sans-serif !important;
    color: var(--gcid-sfooh96t2w, #171717) !important;
}
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
    min-height: 54px !important;
    font: 700 14px/1 var(--gvid-lal-font-texto, Poppins), sans-serif !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover {
    background: var(--gcid-sfooh96t2w, #171717) !important;
    transform: none !important;
}
html body .woocommerce-message:focus, html body .woocommerce-error:focus, html body .woocommerce-info:focus { outline: none !important; }
html body .woocommerce-error a.wc-forward ~ a.wc-forward,
html body .woocommerce-message a.wc-forward ~ a.wc-forward { display: none !important; }
html body .woocommerce-error li { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; width: 100%; }

/* 18. /cursos/ y páginas de catálogo: encabezado compacto para que la oferta
       se vea sin desplazarse (antes ~700 px de alto con espacio vacío). */
.page-id-1295 .et_pb_section_0 .et_pb_text_inner h1 {
    font-size: clamp(38px, 4.6vw, 68px) !important;
    line-height: 1.05 !important;
}
.page-id-1295 .et_pb_section_0 .et_pb_text { margin-bottom: 12px !important; }
.page-id-1295 .et_pb_section_0 .et_pb_text_inner p { margin-top: 0 !important; }
.page-id-1295 .et_pb_section_1 { padding-top: 48px !important; }
