/*
Theme Name: Divi_Hijo
Description: Tema hijo de Divi para Alba Cabrera
Author: Host Studio, S.L.
Template: Divi
Version: 1.0.0
Text Domain: divi-hijo
*/

/* Estilos personalizados de Alba Cabrera */

/* Alba Cabrera - Enlaces del pie de página */
.et-l--footer a {
    color: #555555 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.et-l--footer a:hover {
    color: #111111 !important;
    text-decoration: underline;
}

/* Alba Cabrera: ocultar carrito de la cabecera */
#et-top-navigation .et-cart-info,
#top-menu .et-cart-info,
.et_pb_menu__cart-button,
.et_pb_menu__icon.et_pb_menu__cart-button {
    display: none !important;
}

/* INICIO ALBA CABRERA - DESTACADOS */

/* Imágenes uniformes */
.ac-destacados-inicio .et_pb_image img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

/* Textos */
.ac-destacados-inicio .et_pb_text h3 {
    font-size: 23px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0 0 12px;
}

.ac-destacados-inicio .et_pb_text p {
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 14px;
}

/* Enlaces granates */
.ac-destacados-inicio .et_pb_text a,
.ac-destacados-inicio .et_pb_text a span {
    color: #943b30 !important;
    font-weight: 600;
    text-decoration: none;
}

.ac-destacados-inicio .et_pb_text a:hover {
    text-decoration: underline;
}

/* Adaptación a móviles */
@media (max-width: 767px) {
    .ac-destacados-inicio .et_pb_image img {
        height: auto;
        max-height: 320px;
        object-fit: contain;
    }

    .ac-destacados-inicio .et_pb_text {
        padding: 12px 0 25px;
    }
}

/* FIN ALBA CABRERA - DESTACADOS */

/* ALBA CABRERA - AJUSTE FINAL PORTADA */

/* Reducir el espacio anterior a los destacados */
@media (min-width: 981px) {
    .et_pb_section:has(> .ac-destacados-inicio) {
        padding-top: 15px !important;
        padding-bottom: 35px !important;
    }

    .et_pb_section:has(> .ac-destacados-inicio)
    .ac-destacados-inicio {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Centrar los textos respecto a las imágenes */
    .ac-destacados-inicio > .et_pb_column {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

/* FIN AJUSTE FINAL PORTADA */

/* ==========================================
   ALBA CABRERA - FICHA INDIVIDUAL EXPOSICIÓN
   ========================================== */

.ac-expos-single {
    max-width: 1240px;
    margin: 0 auto;
    padding: 75px 24px 90px;
}

.ac-expos-single-header {
    text-align: center;
    margin-bottom: 55px;
}

.ac-expos-single-etiqueta {
    font-size: 12px;
    letter-spacing: 4px;
    color: #999;
    margin-bottom: 25px;
}

.ac-expos-single-header h1 {
    font-family: Georgia, serif;
    font-size: clamp(36px, 5vw, 62px);
    font-weight: 400;
    line-height: 1.2;
    color: #292929;
    margin-bottom: 20px;
}

.ac-expos-single-fecha {
    color: #777;
    font-size: 15px;
}

.ac-expos-single-hero {
    max-width: 1050px;
    margin: 0 auto 75px;
    text-align: center;
}

.ac-expos-single-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.ac-expos-single-texto {
    max-width: 850px;
    margin: 0 auto 95px;
    font-size: 17px;
    line-height: 1.9;
    color: #444;
}

.ac-expos-single-texto p {
    margin-bottom: 24px;
}

.ac-expos-single-galeria {
    margin-bottom: 90px;
}

.ac-expos-single-galeria h2,
.ac-expos-single-artistas h2 {
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 45px;
}

.ac-expos-single-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.ac-expos-single-obra {
    display: block;
    overflow: hidden;
}

.ac-expos-single-obra img {
    display: block;
    width: 100%;
    height: 310px;
    object-fit: cover;
    transition: transform .3s ease;
}

.ac-expos-single-obra:hover img {
    transform: scale(1.035);
}

.ac-expos-single-artistas {
    text-align: center;
    margin-bottom: 70px;
}

.ac-expos-single-artistas-lista {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 30px;
}

.ac-expos-single-artistas-lista a {
    color: #922b21;
    font-size: 18px;
    text-decoration: none;
}

.ac-expos-single-artistas-lista a:hover {
    text-decoration: underline;
}

.ac-expos-single-volver {
    text-align: center;
}

.ac-expos-single-volver a {
    color: #922b21;
    text-decoration: none;
    font-size: 16px;
}

@media (max-width: 980px) {
    .ac-expos-single-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ac-expos-single {
        padding: 45px 20px 65px;
    }

    .ac-expos-single-grid {
        grid-template-columns: 1fr;
    }

    .ac-expos-single-obra img {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .ac-expos-single-texto {
        font-size: 16px;
    }
}

/* === Ajustes de galería de exposiciones === */

/* Mostrar las obras completas, sin recortes */
.ac-expos-single-obra {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    height: 340px;
}

.ac-expos-single-obra img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .3s ease;
}

/* Separación entre obras */
.ac-expos-single-grid {
    gap: 30px;
}

/* Adaptación a móviles */
@media (max-width: 600px) {
    .ac-expos-single-obra {
        height: 320px;
    }

    .ac-expos-single-obra img {
        height: 100%;
        aspect-ratio: auto;
        object-fit: contain;
    }
}


/* Visor de obras de exposiciones */
.ac-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0,0,0,.94);
    align-items: center;
    justify-content: center;
}

.ac-lightbox.activo {
    display: flex;
}

.ac-lightbox-imagen {
    max-width: 88vw;
    max-height: 86vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

.ac-lightbox button {
    position: absolute;
    background: transparent;
    border: 0;
    color: white;
    cursor: pointer;
    font-size: 34px;
    padding: 15px;
    z-index: 2;
}

.ac-lightbox-cerrar {
    top: 12px;
    right: 22px;
}

.ac-lightbox-anterior {
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.ac-lightbox-siguiente {
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.ac-lightbox-contador {
    position: absolute;
    bottom: 20px;
    color: #fff;
    font-size: 15px;
}

@media (max-width: 600px) {
    .ac-lightbox-imagen {
        max-width: 94vw;
        max-height: 80vh;
    }
    .ac-lightbox-anterior { left: 0; }
    .ac-lightbox-siguiente { right: 0; }
}

/* AC FOOTER EXPOSICIONES 20261106 */
/* Ampliar únicamente las filas del pie en Exposiciones */
@media (min-width: 981px) {
    body.page-id-13120 .et-l--footer .et_pb_row {
        width: 90%;
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* AC FICHA ARTISTAS 20261106 */

.ac-artista-single {
    max-width: 1240px;
    margin: 0 auto;
    padding: 85px 24px 100px;
}

.ac-artista-single-header {
    text-align: center;
    margin-bottom: 70px;
}

.ac-artista-etiqueta {
    font-size: 12px;
    letter-spacing: 4px;
    color: #999;
}

.ac-artista-single-header h1 {
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 66px);
    font-weight: 400;
    margin-top: 25px;
}

.ac-artista-galeria {
    margin-bottom: 90px;
}

.ac-artista-galeria h2,
.ac-artista-apartado h2 {
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 400;
    margin-bottom: 35px;
}

.ac-artista-galeria h2 {
    text-align: center;
}

.ac-artista-informacion {
    max-width: 950px;
    margin: 0 auto;
}

.ac-artista-apartado {
    margin-bottom: 65px;
}

.ac-artista-texto {
    font-size: 18px;
    line-height: 1.85;
    color: #444;
}

.ac-artista-texto p {
    margin-bottom: 20px;
}

.ac-artista-exposiciones {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.ac-artista-exposiciones a {
    color: #333;
    text-decoration: none;
}

.ac-artista-exposiciones img {
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
    margin-bottom: 15px;
}

.ac-artista-exposiciones a:hover {
    color: #922b21;
}

.ac-artista-volver {
    text-align: center;
    margin-top: 75px;
}

.ac-artista-volver a {
    color: #922b21;
    text-decoration: none;
}

@media (max-width: 980px) {
    .ac-artista-exposiciones {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ac-artista-single {
        padding: 45px 20px 65px;
    }

    .ac-artista-galeria {
        margin-bottom: 55px;
    }

    .ac-artista-exposiciones {
        grid-template-columns: 1fr;
    }

    .ac-artista-texto {
        font-size: 16px;
    }
}

/* AC CORRECCION ARTISTAS 20261106 */

body.single-artista .ac-artista-single {
    display: block;
    width: calc(100% - 48px);
    max-width: 1240px;
    margin: 0 auto;
    padding: 75px 0 90px;
    box-sizing: border-box;
}

body.single-artista .ac-artista-single-header {
    text-align: center;
    margin: 0 auto 65px;
}

body.single-artista .ac-artista-single-header h1 {
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 400;
    line-height: 1.2;
    margin: 20px 0;
}

body.single-artista .ac-artista-galeria {
    margin-bottom: 75px;
}

body.single-artista .ac-artista-galeria h2 {
    text-align: center;
    margin-bottom: 35px;
}

body.single-artista .ac-expos-single-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: center;
}

body.single-artista .ac-expos-single-obra {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 320px;
    overflow: hidden;
}

body.single-artista .ac-expos-single-obra img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.single-artista .ac-artista-informacion {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}

body.single-artista .ac-artista-apartado {
    margin-bottom: 65px;
}

body.single-artista .ac-artista-apartado h2 {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 25px;
}

body.single-artista .ac-artista-texto {
    font-size: 17px;
    line-height: 1.8;
}

body.single-artista .ac-artista-texto p {
    margin: 0 0 18px;
}

body.single-artista .ac-artista-exposiciones {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

body.single-artista .ac-artista-exposiciones a {
    display: block;
    text-decoration: none;
}

body.single-artista .ac-artista-exposiciones img {
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
    margin-bottom: 14px;
}

body.single-artista .ac-artista-exposiciones span {
    display: block;
}

body.single-artista .ac-artista-volver {
    text-align: center;
    margin-top: 65px;
}

@media (max-width: 980px) {
    body.single-artista .ac-expos-single-grid,
    body.single-artista .ac-artista-exposiciones {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.single-artista .ac-artista-single {
        width: calc(100% - 40px);
        padding: 45px 0 65px;
    }

    body.single-artista .ac-expos-single-grid,
    body.single-artista .ac-artista-exposiciones {
        grid-template-columns: 1fr;
    }

    body.single-artista .ac-expos-single-obra {
        height: 300px;
    }
}

/* AC PRENSA INDIVIDUAL 20261106 */

.ac-prensa-single {
    max-width: 1180px;
    margin: 0 auto;
    padding: 90px 25px 100px;
}

.ac-prensa-single-header {
    text-align: center;
    margin-bottom: 75px;
}

.ac-prensa-single-etiqueta {
    font-size: 12px;
    letter-spacing: 4px;
    color: #999;
    margin-bottom: 30px;
}

.ac-prensa-single-header h1 {
    font-family: Georgia, serif;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.2;
    font-weight: 400;
    color: #292929;
}

.ac-prensa-single-contenido {
    max-width: 850px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.85;
    color: #555;
}

.ac-prensa-single-contenido p {
    margin-bottom: 25px;
}

.ac-prensa-single-contenido img {
    max-width: 100%;
    height: auto;
}

.ac-prensa-single-contenido figure,
.ac-prensa-single-contenido .wp-caption {
    max-width: 100%;
    margin: 30px auto;
}

.ac-prensa-single-contenido figcaption,
.ac-prensa-single-contenido .wp-caption-text {
    font-size: 13px;
    color: #888;
    line-height: 1.6;
}

.ac-prensa-single-volver {
    text-align: center;
    margin-top: 80px;
}

.ac-prensa-single-volver a {
    color: #922b21;
    text-decoration: none;
    font-size: 16px;
}

@media (max-width: 767px) {
    .ac-prensa-single {
        padding: 55px 20px 70px;
    }

    .ac-prensa-single-header {
        margin-bottom: 45px;
    }

    .ac-prensa-single-contenido {
        font-size: 16px;
    }
}


/* === ALBA CABRERA: SERVICIOS === */

.ac-servicios {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 12px 0 55px;
    box-sizing: border-box;
}

.ac-servicios-intro {
    max-width: 760px;
    margin-bottom: 65px;
}

.ac-servicios-intro p {
    font-size: 19px;
    line-height: 1.85;
    color: #555;
    margin: 0;
}

.ac-servicios-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 75px;
}

.ac-servicios-item {
    border-top: 1px solid #c9c9c9;
    padding-top: 25px;
}

.ac-servicios-numero {
    display: block;
    color: #999;
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 25px;
}

.ac-servicios-item h2 {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.25;
    margin: 0 0 22px;
    padding: 0;
    color: #252525;
}

.ac-servicios-subtitulo {
    font-size: 17px !important;
    line-height: 1.65 !important;
    font-weight: 500;
    color: #333 !important;
    margin-bottom: 25px !important;
}

.ac-servicios-item p {
    font-size: 15px;
    line-height: 1.9;
    color: #666;
    margin: 0 0 20px;
    padding: 0;
}

@media (max-width: 767px) {
    .ac-servicios {
        padding-bottom: 30px;
    }

    .ac-servicios-intro {
        margin-bottom: 40px;
    }

    .ac-servicios-intro p {
        font-size: 17px;
    }

    .ac-servicios-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ac-servicios-item h2 {
        font-size: 27px;
    }
}

/* === FIN SERVICIOS === */

/* === ALBA CABRERA: SERVICIOS FINAL === */

.ac-servicios-final {
    max-width: 1120px;
    margin: 0 auto;
    padding: 20px 0 65px;
}

.ac-servicio-fila {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 55px;
    margin-bottom: 90px;
}

.ac-servicio-fila.ac-servicio-inversa .ac-servicio-imagen {
    grid-column: 1;
    grid-row: 1;
}

.ac-servicio-fila.ac-servicio-inversa .ac-servicio-texto {
    grid-column: 2;
    grid-row: 1;
}

.ac-servicio-texto {
    padding: 15px 0;
}

.ac-servicio-etiqueta {
    display: block;
    font-size: 12px;
    letter-spacing: 2px;
    color: #9b392a;
    margin-bottom: 25px;
}

.ac-servicio-texto h2 {
    font-size: 31px;
    font-weight: 400;
    line-height: 1.25;
    color: #222;
    margin: 0 0 28px;
    padding: 0;
}

.ac-servicio-texto p {
    font-size: 16px;
    line-height: 1.85;
    color: #666;
    margin-bottom: 18px;
    padding: 0;
}

.ac-servicio-enlace {
    display: inline-block;
    margin-top: 18px;
    padding-bottom: 7px;
    border-bottom: 1px solid #9b392a;
    color: #9b392a;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ac-servicio-enlace:hover {
    color: #222;
    border-color: #222;
}

.ac-servicio-imagen img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
}

@media (max-width: 767px) {
    .ac-servicio-fila {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 60px;
    }

    .ac-servicio-fila.ac-servicio-inversa .ac-servicio-imagen,
    .ac-servicio-fila.ac-servicio-inversa .ac-servicio-texto {
        grid-column: auto;
        grid-row: auto;
    }

    .ac-servicio-imagen img {
        height: auto;
    }

    .ac-servicio-texto h2 {
        font-size: 27px;
    }
}

/* === FIN SERVICIOS FINAL === */

/* === ALBA CABRERA: AJUSTES SERVICIOS === */

/* Ancho completo en las tres páginas */
body.page-id-13122 #left-area,
body.page-child #left-area {
    width: 100%;
    float: none;
    padding-right: 0;
}

body.page-id-13122 #sidebar,
body.page-child #sidebar {
    display: none;
}

body.page-id-13122 #main-content .container:before,
body.page-child #main-content .container:before {
    display: none;
}

/* Páginas interiores */
.ac-servicios-detalle {
    max-width: 1100px;
    margin: 0 auto;
    padding: 15px 0 60px;
}

.ac-servicios-detalle > p:first-of-type {
    max-width: 850px;
    font-size: 19px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 35px;
}

.ac-servicios-detalle img {
    display: block;
    width: 100%;
    max-width: 850px;
    height: auto;
    margin: 0 auto 45px;
}

.ac-servicios-detalle p {
    max-width: 850px;
    font-size: 16px;
    line-height: 1.85;
    color: #666;
    margin: 0 auto 20px;
}

.ac-servicios-detalle a {
    color: #9b392a;
    text-decoration: none;
}

.ac-servicios-detalle a:hover {
    text-decoration: underline;
}

/* === FIN AJUSTES SERVICIOS === */

/* === ENLACE SUPERIOR A SERVICIOS === */

body.page-id-13219 .entry-title {
    font-size: 0 !important;
    margin-bottom: 25px;
}

body.page-id-13219 .entry-title::after {
    content: "← Servicios";
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    color: #9b392a;
}

body.page-id-13220 .entry-title {
    font-size: 0 !important;
    margin-bottom: 25px;
}

body.page-id-13220 .entry-title::after {
    content: "← Servicios";
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    color: #9b392a;
}


body.page-id-13219 h1.entry-title {
    display: none !important;
}

body.page-id-13220 h1.entry-title {
    display: none !important;
}

.ac-servicios-volver {
    margin-bottom: 28px !important;
}
.ac-servicios-volver a {
    color: #9b392a;
    font-size: 18px;
    text-decoration: none;
}
.ac-servicios-volver a:hover {
    text-decoration: underline;
}
/* === FIN ENLACE SERVICIOS === */

/* === ALBA CABRERA: CONTACTO === */

body.page-id-13124 #left-area {
    width: 100%;
    float: none;
    padding-right: 0;
}

body.page-id-13124 #sidebar,
body.page-id-13124 #main-content .container:before {
    display: none;
}

.ac-contacto {
    max-width: 1120px;
    margin: 0 auto;
    padding: 15px 0 65px;
}

.ac-contacto-principal {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 65px;
    align-items: center;
    margin-bottom: 85px;
}

.ac-contacto-foto img {
    display: block;
    width: 100%;
    height: auto;
}

.ac-contacto-etiqueta {
    display: block;
    font-size: 12px;
    letter-spacing: 2px;
    color: #9b392a;
    margin-bottom: 25px;
}

.ac-contacto-datos h2 {
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 35px;
}

.ac-contacto-dato {
    margin-bottom: 23px;
}

.ac-contacto-dato strong {
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 500;
    color: #333;
    margin-bottom: 7px;
}

.ac-contacto-dato p {
    font-size: 16px;
    line-height: 1.7;
    color: #666;
    margin: 0;
    padding: 0;
}

.ac-contacto a {
    color: #9b392a;
    text-decoration: none;
}

.ac-contacto a:hover {
    text-decoration: underline;
}

.ac-contacto-redes {
    display: flex;
    gap: 25px;
    margin-top: 35px;
    font-size: 14px;
}

.ac-contacto-inferior {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 65px;
    padding-top: 55px;
    border-top: 1px solid #ddd;
}

.ac-contacto-inferior h2 {
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 25px;
}

.ac-contacto-ubicacion iframe {
    display: block;
    width: 100%;
    height: 340px;
    border: 0;
}

.ac-contacto-formulario p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
}

@media (max-width: 767px) {
    .ac-contacto-principal,
    .ac-contacto-inferior {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .ac-contacto-principal {
        margin-bottom: 50px;
    }

    .ac-contacto-inferior {
        padding-top: 40px;
    }
}

/* === FIN CONTACTO === */
