/*
Theme Name: La Barba - JAPD
Author: La Barba Comunicación
Description: Tema la Barba para Jose Antonio Perales Díaz.
Version: 1.0
*/

@import "fonts/fonts.css";

/* --- VARIABLES --- */
:root {
    --mw-container      : 1320px;
    --header-height     : 83px;

    --ff-base           : 'Montserrat', sans-serif;
    --ff-heading        : 'Libre Baskerville', sans-serif;

    --fs-base           : 18px;
    --fs-xl             : 50px;
    --fs-lg             : 40px;
    --fs-md             : 25px;
    --fs-sm             : 12px;
    --fs-xs             : 10px;

    --lh-base           : 150%;

    --color-body        : #000;
    --color-accent      : #BC8D00;
    --color-body-light  : #3C3C3C;

    --bg-light          : #FAF6EB;
}

/* --- REBOOT / RESET ESTILO BOOTSTRAP (Sin fuentes ni estilos propios) --- */
*, *::before, *::after {box-sizing: border-box; margin: 0; padding: 0;}
html {text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body {text-align: left; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
h1, h2, h3, h4, h5, h6 {margin-top: 0; margin-bottom: 0; font-size: inherit; font-weight: inherit;}
p {margin-top: 0; margin-bottom: 1.5rem;}
ul, ol {list-style: none; margin: 0 0 1.5rem; padding: 0;}
a {text-decoration: underline; color: inherit;}
a:hover {text-decoration: none;}
img, svg {vertical-align: middle; max-width: 100%; height: auto;}
button, input, optgroup, select, textarea {margin: 0; font-family: inherit; font-size: inherit; line-height: inherit;}
button {background: none; border: none; padding: 0; cursor: pointer; text-transform: none;}

/* --- FILO BARBA --- */
.foomov {  display: none;  background-color: #191919;}
@media (max-width: 940px) {
    body {padding-bottom: 60px;}
    .foomov {    display: flex;    position: fixed;    bottom: 0;    z-index: 111;    width: 100%;    display: grid;    padding: 0 10px;    box-sizing: border-box;    grid-template-columns: repeat(auto-fit, minmax(calc(100% / 7 - 10px), 1fr));  }
    .foomov .iflex {    height: 60px;    width: 100%;    background-size: auto 50%;    background-repeat: no-repeat;    background-position: center;    background-color: #191919;    border-left: 1px solid #7e7e7e;  }
    .foomov .iflex:first-child {    border-left: none;  }
}

/* --- GENERALES ----- */
body {font-family: var(--ff-base); font-size: var(--fs-base); line-height: var(--lh-base); color: var(--color-body); padding-top: var(--header-height);}
.container {max-width: var(--mw-container); margin-inline: auto; width: 100%; padding-inline: 1rem;}
.otgs-development-site-front-end {display: none !important;}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {margin-bottom: 25px; font-weight: 500;}
h1, .h1 {font-family: var(--ff-heading); font-style: italic; font-size: var(--fs-xl); line-height: 100%; font-weight: 700;}
h2, .h2 {font-family: var(--ff-heading); font-style: italic; font-size: var(--fs-lg); line-height: 110%; font-weight: 700; position: relative; padding-top: 25px;}
h2:not(.h1):not(.h3):before, .h2:before {position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 7px; background-color: var(--color-accent); width: 100px;}
h3, .h3 {font-size: var(--fs-md); line-height: 100%;}

.btn, .wp-block-buttons > .wp-block-button > .wp-block-button__link {display: inline-block; padding: 14px 62px; border-radius: 61px; font-weight: 400; font-size: 18px;line-height: 100%; transition: all 0.3s ease-in-out; width: fit-content; text-decoration: none;}
.btn-primary, .wp-block-buttons > .wp-block-button > .wp-block-button__link {color: #FFF; border: 1px solid #BC8D00; background-color: #BC8D00;}
.btn-primary:hover, .wp-block-buttons > .wp-block-button > .wp-block-button__link:hover {color: #BC8D00; background-color: transparent;}


/* --- HEADER --- */
.site-header {position: fixed; z-index: 100; width: 100%; top: 0; box-shadow: 0px 4px 4px 0px #00000040; background: #FFFFFF;}
.customize-support .site-header {top: 32px;}
.site-header .container {display: flex; justify-content: space-between; align-items: stretch;}
.menu-toggle {display: none;}

.site-header .presentation {padding-block: 16px; display: flex; align-items: center; gap: 20px;}
.site-header .presentation > a > img {max-width: 37px; height: auto;}
.site-header .presentation .info-web {display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px;}
.site-header .presentation .info-web .title {font-family: var(--ff-heading); font-weight: 600; font-style: italic; font-size: 25px; line-height: 100%; letter-spacing: -2%;}
.site-header .presentation .info-web .lema {font-weight: 600; font-size: 12px; line-height: 100%; letter-spacing: -2%; text-transform: uppercase;}

.site-header .navigations {display: flex; gap: 50px; height: 100%; align-items: stretch; min-height: var(--header-height);}

.site-header .main-navigation > ul{display: flex; align-items: center; gap: 30px; height: 100%; margin: 0;}
.site-header .main-navigation > ul > li{display: flex; align-items: center; height: 100%; padding-inline: 10px; font-family: var(--ff-heading);font-style: italic; font-size: 16px; line-height: 100%; padding-block: 16px; position: relative; margin: 0;}
.site-header .main-navigation > ul > li:has( > a:hover):after, .site-header .main-navigation > ul > li.current_page_item:after{content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 7px; background-color: var(--color-accent);}
.site-header .main-navigation > ul > li > a {text-decoration: none; color: var(--color-body);}

.site-header .lang-nav > ul, .site-header .main-navigation .nav-lang-mobile {display: flex; align-items: center; gap: 14px; height: 100%; margin-bottom: 0;}
.site-header .lang-nav > ul > li, .site-header .main-navigation .nav-lang-mobile > li {font-size: 14px; line-height: 100%; text-transform: uppercase; position: relative;}
.site-header .lang-nav > ul > li > a, .site-header .main-navigation .nav-lang-mobile > li > a{text-decoration: none; color: var(--color-body);}
.site-header .lang-nav > ul > li > a:hover, .site-header .main-navigation .nav-lang-mobile > li > a:hover{color: var(--color-accent);}
.site-header .lang-nav > ul > li > a.active, .site-header .main-navigation .nav-lang-mobile > li > a.active{font-weight: 700;}
.site-header .lang-nav > ul > li + li:before, .site-header .main-navigation .nav-lang-mobile > li + li:before{content: "/"; top: 50%; left: -9px; transform: translateY(-50%); position: absolute;}
.site-header .main-navigation .nav-lang-mobile {display: none;}



@media (max-width: 940px) {
    .site-header .lang-nav > ul {display: none;}
    .site-header .presentation .info-web .title {font-size: 18px;}
    .site-header .presentation .info-web .lema {font-size: 10px;}
    .menu-toggle {display: block; margin-left: auto; font-size: 40px;}
    .main-navigation {display: none; width: 100%; position: absolute; top: 100%; left: 0;}
    .main-navigation.is-active {display: flex; background: #FFF; min-height: calc( 100vh - 60px ); overflow: auto; justify-content: center; flex-wrap: wrap;}
    .main-navigation.is-active > ul {width: 100%;}
    .main-navigation .menu {flex-direction: column; gap: 1rem;}
    .site-header .main-navigation .nav-lang-mobile {display: flex;  margin-bottom: 1rem; justify-content: center;}
}

@media (max-width: 782px) {
    #wpadminbar {position: fixed;}
    .customize-support .site-header {top: 46px;}
}

/* --- FOOTER --- */
footer .site-footer-contact {padding-block: 65px; background-color: #D9D9D980;}
footer .site-footer-contact .container {display: flex; align-items: stretch; flex-wrap: wrap;}
footer .site-footer-contact .container > h2 {width: 100%; margin: 0;}
footer .site-footer-contact-info, footer .site-footer-contact-form {display: flex; flex-direction: column; justify-content: flex-start; flex: 0 0 50%; max-width: 50%;}

footer .site-footer-contact-info {padding-top: 40px;}
footer .site-footer-contact-info > ul {display: flex; flex-direction: column; gap: 27px; margin-bottom: 0;}
footer .site-footer-contact-info > ul > li {line-height: 20px; padding-left: 32px; position: relative;}
footer .site-footer-contact-info > ul > li:before {content: ""; position: absolute; top: 0; left: 0; width: 20px;}
footer .site-footer-contact-info > ul > li.email:before {height: 20px; background-size: contain; background-repeat: no-repeat; background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.3337 6.11328L10.8412 10.8858C10.3236 11.1864 9.68456 11.1864 9.16699 10.8858L1.66699 6.11328' stroke='black' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.33366 3.61328H16.667C17.5875 3.61328 18.3337 4.35947 18.3337 5.27995V15.2799C18.3337 16.2004 17.5875 16.9466 16.667 16.9466H3.33366C2.41318 16.9466 1.66699 16.2004 1.66699 15.2799V5.27995C1.66699 4.35947 2.41318 3.61328 3.33366 3.61328V3.61328' stroke='black' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");}
footer .site-footer-contact-info > ul > li.phone:before {height: 22px; background-size: contain; background-repeat: no-repeat; background-image: url("data:image/svg+xml,%3Csvg width='20' height='22' viewBox='0 0 20 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_69_416)'%3E%3Cpath d='M11.527 16.0873C11.8815 16.2501 12.3015 16.1452 12.5378 15.8348L12.8337 15.4473C13.1484 15.0276 13.6424 14.7806 14.167 14.7806H16.667C17.5875 14.7806 18.3337 15.5268 18.3337 16.4473V18.9473C18.3337 19.8677 17.5875 20.6139 16.667 20.6139C8.38272 20.6139 1.66699 13.8982 1.66699 5.61393C1.66699 4.69346 2.41318 3.94727 3.33366 3.94727H5.83366C6.75413 3.94727 7.50033 4.69346 7.50033 5.61393V8.11393C7.50033 8.63853 7.25334 9.13251 6.83366 9.44727L6.44366 9.73977C6.12822 9.98062 6.02641 10.4105 6.20033 10.7673C7.33923 13.0805 9.21235 14.9513 11.527 16.0873' stroke='black' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_69_416'%3E%3Crect width='20' height='20' fill='white' transform='translate(0 2)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");}
footer .site-footer-contact-info > ul > li.address:before {height: 22px; background-size: contain; background-repeat: no-repeat; background-image: url("data:image/svg+xml,%3Csvg width='20' height='22' viewBox='0 0 20 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_69_422)'%3E%3Cpath d='M16.6663 10.6139C16.6663 14.7748 12.0505 19.1081 10.5005 20.4464C10.2039 20.6695 9.79548 20.6695 9.49884 20.4464C7.94884 19.1081 3.33301 14.7748 3.33301 10.6139C3.33301 6.9345 6.32024 3.94727 9.99967 3.94727C13.6791 3.94727 16.6663 6.9345 16.6663 10.6139' stroke='black' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.5 10.6133C7.5 11.9931 8.62021 13.1133 10 13.1133C11.3798 13.1133 12.5 11.9931 12.5 10.6133C12.5 9.23349 11.3798 8.11328 10 8.11328C8.62021 8.11328 7.5 9.23349 7.5 10.6133V10.6133' stroke='black' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_69_422'%3E%3Crect width='20' height='20' fill='white' transform='translate(0 2)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");}
footer .site-footer-contact-info > ul > li > a {color: #000000D9; text-decoration: none;}
footer .site-footer-contact-info > ul > li > a:hover {color: #000000;}
footer .kit {margin-top: auto;}
footer .kit.mobile {display: none;}
footer .kit > div{background-color: rgba(0,0,0,.75); -webkit-mask-size: contain; mask-size: contain; mask-repeat: no-repeat;}
footer .kit > div + div{ margin-top: 30px; }
footer .kit .plan-recuperacion{width: 231px; height: 48px; -webkit-mask-image: url(images/plan-recuperacion.png); mask-image: url(images/plan-recuperacion.png); }
footer .kit .financiado-ue{width: 243px; height: 60px; -webkit-mask-image: url(images/financiado-union-europea.png); mask-image: url(images/financiado-union-europea.png); }

footer .site-footer-contact-form .wpcf7-form p:first-child, footer .site-footer-contact-form .wpcf7-form label:first-child {margin-top: 0; padding-top: 0;}
footer .site-footer-contact-form form > .bloque-formulario{display: flex; flex-direction: column; gap: 10px; margin-bottom: 35px;}
footer .site-footer-contact-form form > .bloque-formulario label {font-weight: 700;line-height: 100%; color: var(--color-body-light);}
footer .site-footer-contact-form form > .bloque-formulario label .obligatorio {color: #FF0000;}
footer .site-footer-contact-form form > .bloque-formulario :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea){width: 100%; border: 1px solid #3C3C3C9E; padding: .3rem .5rem; justify-content: space-between; font-size: 16px; color: var(--color-body-light);}
footer .site-footer-contact-form form > .bloque-formulario :is(input, textarea):focus-visible{outline: 0;}
footer .site-footer-contact-form form > .bloque-formulario .fila-campos {display: flex; gap: 10px; flex-wrap: wrap;}
footer .site-footer-contact-form form > .bloque-formulario .fila-campos .columna-campo {flex: 0 0 50%; min-width: 50%; display: flex; flex-direction: column; gap: 10px;}
footer .site-footer-contact-form form > .bloque-formulario .fila-campos .columna-campo:first-of-type {flex: 0 0 calc(50% - 10px); min-width: calc(50% - 10px);}
footer .site-footer-contact-form form > .bloque-formulario .fila-campos .columna-campo .texto-apagado{color: #3C3C3C80; line-height: 100%;}
footer .site-footer-contact-form form > .bloque-formulario .wpcf7-list-item{margin: 0;}
footer .site-footer-contact-form form > .bloque-formulario .wpcf7-list-item label{font-weight: 500;}
footer .site-footer-contact-form form > .bloque-formulario .wpcf7-list-item label input{border-color: var(--color-body); width: 25px; height: 25px; position: relative; top: 3px; margin: 0 12px 0 0;}
footer .site-footer-contact-form form > .bloque-formulario.aceptacion input{border-color: var(--color-body); width: 25px; height: 25px; position: relative; top: 3px; margin: 0 12px 0 0;}
footer .site-footer-contact-form form > .bloque-formulario.boton-enviar{margin-bottom: 0; flex-direction: row;}
footer .site-footer-contact-form form > .bloque-formulario.boton-enviar input{display: inline-block; width: fit-content; padding: 14px 62px; border-radius: 61px; background: #3C3C3C; line-height: 100%; color: #FFF; cursor: pointer; border: 0;}
footer .site-footer-contact-form form > .bloque-formulario.boton-enviar input[disabled]{background: #3C3C3C80; cursor: not-allowed;}

footer .site-footer-legal {background-color: #D9D9D980; padding-bottom: 15px;}
footer .site-footer-legal ul{display: flex; justify-content: center; align-items: center; margin-bottom: 0;}
footer .site-footer-legal ul li, footer .site-footer-legal ul li a{ font-size: var(--fs-sm); line-height: 121%; letter-spacing: -4%; text-decoration: none;}
footer .site-footer-legal ul li a:hover{ text-decoration: underline;}
footer .site-footer-legal ul li.union{ padding-inline: 3px;}

footer .site-footer-copy {padding-block: 10px; background-color: #191919; display: flex; justify-content: center; align-items: center; font-style: italic; font-size: var(--fs-xs); line-height: 121%; letter-spacing: -4%; color: #E7E7E7;}

@media(max-width: 940px) {
    footer .site-footer-contact .container > h2 {margin-bottom: 25px;}
    footer .site-footer-contact-info, footer .site-footer-contact-form {flex: 0 0 100%; min-width: 100%;}
    footer .site-footer-contact-info + :is(.site-footer-contact-form, .kit) {margin-top: 40px;}
    footer .site-footer-contact-form + .kit {margin-top: 40px;}
    footer .site-footer-contact-info {padding-top: 0;}
    footer .kit.mobile {display: block;}
    footer .kit.desktop {display: none;}
}

/* ---- HOME --- */
/* slider */
.page.home .swiper-header-home {height: calc(100vh - var(--header-height)); --swiper-pagination-bottom: 60px; --swiper-pagination-bullet-horizontal-gap: 10px; --swiper-pagination-bullet-width: 11px; --swiper-pagination-bullet-height: 11px; --swiper-pagination-bullet-inactive-opacity: 1; box-shadow: 0px 4px 4px 0px #00000040;}
.customize-support.page.home .swiper-header-home {height: calc(100vh - var(--header-height) - 32px);}
.page.home .swiper-header-home .swiper-slide img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;}
.page.home .swiper-header-home .swiper-slide:before {content:"";position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: rgba(0, 0, 0, 0.24);}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #FFFFFF;}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content {display: flex; flex-direction: column; gap: 30px;}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content > :is(h2,p,.content-phrase) {margin-bottom: 0;}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content h2 {line-height: 100%;}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content .phrase {font-family: var(--ff-heading); font-style: italic; font-size: 30px; line-height: 110%; margin-bottom: 0;}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content .phrase + .author {margin-top: 20px;}
.page.home .swiper-header-home .swiper-slide .swiper-slide-content .author {margin-bottom: 0; font-family: var(--ff-heading); font-size: 20px; line-height: 110%;}
.page.home .swiper-header-home .swiper-slide .img-footer {position: absolute; right: 1.5rem; bottom: 1.5rem; margin-bottom: 0; color: #E7E7E7; font-size: 14px; line-height: 121%; letter-spacing: -4%;}
.page.home .swiper-header-home .swiper-pagination .swiper-pagination-bullet { border: 1px solid #D9D9D9; background: none;}
.page.home .swiper-header-home .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { background: #D9D9D9;}

@media (min-width: 941px) {
    .page.home .swiper-header-home .swiper-slide .swiper-slide-content > :is(h2,p,.content-phrase) {max-width: 50%;}
}

@media (max-width: 940px) {
    .page.home .swiper-header-home .swiper-slide .swiper-slide-content h2 {font-size: var(--fs-lg) !important;}
    .page.home .swiper-header-home .swiper-slide .swiper-slide-content .phrase {font-size: 20px;}
    .page.home .swiper-header-home .swiper-slide .swiper-slide-content .text {font-size: 16px;}
    .page.home .swiper-header-home .swiper-slide .img-footer {font-size: 10px;}
}

/* intro */
.page.home .intro {position: relative; overflow: hidden; width: 100%;}
.page.home .intro .container {display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-block: 150px;}
.page.home .intro .text {display: flex; flex-direction: column; gap: 30px;}
.page.home .intro .text :is(h1,p) {margin-bottom: 0;}
.page.home .intro .img {position: relative; width: 100%; height: 100%;}
.page.home .intro .img img {position: absolute; top: -150px; bottom: -150px; left: 0; width: 50vw; max-width: none; margin-right: -50vw; height: calc(100% + 300px); object-fit: cover;}
@media (max-width: 1352px) {
    .page.home .intro .img img {width: calc(100% + 1rem);}
}
@media (max-width: 940px) {
    .page.home .intro .container {grid-template-columns: 1fr; gap: 40px; padding-block: 60px 0;}
    .page.home .intro .img {height: 350px;}
    .page.home .intro .img img {position: relative; top: 0; bottom: 0; width: calc(100% + 2rem); left: -1rem; height: 100%;}
}

/* Servicios (+ tabs pagina libros parcialmente)*/
.page.home .services {padding-block: 100px; background: #BC8D0014;}
.page.home .services h2 {margin-bottom: 50px;}
.page.home .services .tab-services, .book-item .tab-books {width: 100%;}
.page.home .services .tab-services ul, .book-item .tab-books ul {margin-bottom: 0; display: flex; align-items: stretch; width: 100%;}
.page.home .services .tab-services ul li, .book-item .tab-books ul li {flex: 1; display: flex; flex-direction: column;}
.page.home .services .tab-services ul li, .page.home .services .tab-services ul li h3, .book-item .tab-books ul li, .book-item .tab-books ul li h3 {margin: 0; padding: 0;}
.page.home .services .tab-services ul li h3, .book-item .tab-books ul li h3 {display: flex; flex: 1;}
.page.home .services .tab-services ul li h3 a, .book-item .tab-books ul li h3 a {border-top-left-radius: 15px; border-top-right-radius: 15px; padding: 14px 18px; display: flex; align-items: center; justify-content: center; width: 100%; text-align: center; background: #BC8D0014; box-shadow: 0 -4px 4px 0 #0000001C inset; font-family: var(--ff-base); font-weight: 700; font-size: var(--fs-base); line-height: 100%; text-transform: uppercase; color: var(--color-body-light); text-decoration: none;}
.page.home .services .tab-services ul li h3 a:hover, .book-item .tab-books ul li h3 a:hover {background: #bc8d0026; box-shadow: 0 -2px 2px 0 #0000000E inset;}
.page.home .services .tab-services ul li.active h3 a, .book-item .tab-books ul li.active h3 a {background: #FFFFFF; box-shadow: none;}
.page.home .services .tab-services-pane, .book-item .tab-books-pane {width: 100%;}
.page.home .services .tab-services-pane .tab-services-item {background: #FFF; width: 100%; height: 100%; display: none; opacity: 0; transition: opacity 0.3s ease-in-out; padding: 40px;  grid-template-columns: 1fr 1fr 1fr; gap: 80px;}
.page.home .services .tab-services-pane .tab-services-item.active, .book-item .tab-books-pane .tab-books-item.active {display: grid; opacity: 1;}
.page.home .services .tab-services-pane .tab-services-item .service {aspect-ratio: 1 / 1; position: relative;}
.page.home .services .tab-services-pane .tab-services-item .service:before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; background: linear-gradient(180deg, rgba(60, 60, 60, 0) 0%, #3C3C3C 100%), #BC8D00; mix-blend-mode: multiply;}
.page.home .services .tab-services-pane .tab-services-item .service img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; filter: grayscale(100%);}
.page.home .services .tab-services-pane .tab-services-item .service h4 {position: absolute;  z-index: 3; font-weight: 700; font-size: var(--fs-base); line-height: 124%; color: #FFFFFF; bottom: 15px; left: 35px; margin-bottom: 0;}

@media (max-width: 940px) {
    .page.home .services .tab-services ul, .book-item .tab-books ul {flex-wrap: wrap;}
    .page.home .services .tab-services ul li, .book-item .tab-books ul li {flex:0 0 100%;}
    .page.home .services .tab-services-pane .tab-services-item {grid-template-columns: 1fr; gap: 30px;}
}

/* Videos */
.page.home .videos {padding-block: 100px;}
.page.home .videos h2{ margin-bottom: 50px;}
.page.home .videos .swiper-videos {width: 100%; padding-block: 60px 90px; overflow: hidden; position: relative;}
.page.home .videos .swiper-videos .swiper-wrapper {align-items: center;}
.page.home .videos .swiper-videos .swiper-slide {width: 500px; aspect-ratio: 16 / 9; transition: transform 0.4s ease; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.3);}
.page.home .videos .swiper-videos .swiper-slide iframe {width: 100%; height: 100%; object-fit: cover;}
.page.home .videos .swiper-videos .swiper-pagination-bullet {background: #D9D9D957; opacity: 1; width: 16px; height: 16px;}
.page.home .videos .swiper-videos .swiper-pagination-bullet-active {background: #D9D9D9;}

/* Galeria */
.page.home .gallery {padding-block: 100px;}
.page.home .videos + .gallery {padding-top: 0;}
.page.home .gallery .header {display: flex; align-items: center; justify-content: space-between; margin-bottom: 50px;}
.page.home .gallery .header h2{margin-bottom: 0;}
.page.home .gallery .container > ul{display: grid; grid-template-columns: repeat(4,1fr); gap: 10px;}
.page.home .gallery .container > ul > li > a{display: block; position: relative; aspect-ratio: 1 / 1; border-radius: 15px; overflow: hidden;}
.page.home .gallery .container > ul > li > a > img{position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: transform 0.3s ease-in-out;}
.page.home .gallery .container > ul > li > a:hover > img{transform: scale(1.1);}
.page.home .gallery .container > ul > li > a:before{position: absolute; bottom: 4px; right: 8px; width: auto; content:"©"; z-index: 2; font-size: 20px; line-height: 121%; letter-spacing: -4%; color: #E7E7E7;}
@media (max-width: 940px) {
    .page.home .gallery .header {flex-wrap: wrap;}
    .page.home .gallery .header h2 {width: 100%; margin-bottom: 30px;}
    .page.home .gallery .container > ul {grid-template-columns: repeat(2,1fr);}
}

/* Actividades */
.page.home .activities {padding-top: 100px; padding-bottom: 50px; background: #BC8D0014;}
.page.home .activities h2 {width: 100%; text-align: center; margin-bottom: 30px;}
.page.home .activities h2:before {left: 50%; transform: translateX(-50%);}
.page.home .activities .activities-item {padding: 50px; border-radius: 10px; background: var(--bg-light); box-shadow: 0 4px 48px 0 #9878171A;}
.page.home .activities .activities-item + .activities-item {margin-top: 30px;}
.page.home .activities .activities-item > a {display: block; width: 100%; position: relative; color: var(--color-body-light); font-weight: 700; font-size: 27px; line-height: 100%; transition: all 0.3s ease-in-out; text-decoration: none;}
.page.home .activities .activities-item > a:after {content: ""; background-image: url("data:image/svg+xml,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='6.91309' width='18.1025' height='4.27612' fill='%23BC8D00'/%3E%3Crect x='11.1896' width='18.1025' height='4.27612' transform='rotate(90 11.1896 0)' fill='%23BC8D00'/%3E%3C/svg%3E%0A"); width: 32px; height: 32px; border-radius: 32px; border: 1px solid #D9D9D9; position: absolute; top: 0; right: 65px; background-repeat: no-repeat; background-position: center center; transition: all 0.3s ease-in-out;}
.page.home .activities .activities-item .events {transition: all 0.3s ease-in-out; height: 0; opacity: 0; display: none; margin-top: 50px;}
.page.home .activities .activities-item .event {font-family: var(--ff-heading); font-size: 18px; line-height: 100%; color: var(--color-body-light);}
.page.home .activities .activities-item .event .date {font-weight: 700;}
.page.home .activities .activities-item .event .text {margin-bottom: 0;}
.page.home .activities .activities-item .event + .event {margin-top: 1.5rem; padding-top: 1.5rem; border-top: 2px solid var(--color-accent);}
.page.home .activities .activities-item.open > a:after {background-image: url("data:image/svg+xml,%3Csvg width='19' height='5' viewBox='0 0 19 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='18.1025' height='4.27612' fill='%23BC8D00'/%3E%3C/svg%3E%0A");}
.page.home .activities .activities-item.open .events {display: block; height: auto; opacity: 1;}

@media (max-width: 940px) {
    .page.home .activities .activities-item {padding: 25px;}
    .page.home .activities .activities-item > a:after {right: 0;}
}

/* Libros */
.page.home .books {overflow: hidden; padding-block: 65px;}
.page.home .books h2 {margin-bottom: 45px;}
.page.home .books .swiper-libros {width: 100%; padding-left: calc(max(1rem, (100vw - 1320px) / 2 + 1rem)); padding-right: 0; overflow: visible !important; margin-bottom: 45px;}
.page.home .books .swiper-libros .swiper-slide .img {width: 100%; aspect-ratio: 1 / 1; overflow: hidden; display: block; margin-bottom: 20px;}
.page.home .books .swiper-libros .swiper-slide .img img {width: 100%; height: 100%; object-fit: cover;}
.page.home .books .swiper-libros .swiper-slide {text-decoration: none;}
.page.home .books .swiper-libros .swiper-slide h3 {font-weight: 700; font-size: 18px; line-height: 124%; margin: 0;}
.page.home .books .swiper-libros .swiper-slide:hover h3 {color: var(--color-accent);}

/* ---- PAGINAS --- */
body.page-template-page-simple-php .page {padding-block: 60px;}

/* Header */
.page-header {position: relative; width: 100vw; margin-left: -50vw; margin-right: -50vw; left: 50%; right: 50%; min-height: 1px; box-shadow: 0 4px 4px 0 #00000040;}
.page-header > img {z-index: -2;}
.page-header:before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #00000087;}
.page-header > .wp-block-cover__inner-container {max-width: var(--mw-container); margin-inline: auto; width: 100%; padding-inline: 1rem; padding-top: 200px; padding-bottom: 50px;}
.page-header > .wp-block-cover__inner-container .wp-block-heading{margin: 0; padding: 0; color: #FFF;}

@media(min-width: 941px) {
    .page-header > .wp-block-cover__inner-container .wp-block-heading {max-width: 64%;}
}

/* Texto introductorio en dos columnas */
.intro-two-cols {padding-block: 65px; gap: 30px;}
.intro-two-cols p:last-of-type {margin-bottom: 0;}
@media(min-width: 941px) {
    .intro-two-cols {gap: 50px;}
    .intro-two-cols .wp-block-heading {margin-bottom: 0;}
    .intro-two-cols p:first-of-type {padding-top: 25px;}
}

/* Servicios */
.services-item {background: var(--bg-light); padding-block: 70px; position: relative; width: 100vw; margin-left: -50vw; margin-right: -50vw; left: 50%; right: 50%;}
.services-item:nth-child(2n) {background: #FFF;}
.services-item > h2 {text-align: center; font-family: var(--ff-base); font-weight: 500; line-height: 100%; text-transform: uppercase; margin-bottom: 50px; color: #BC8D00; font-style: normal;}
.services-item .services-list {max-width: var(--mw-container); margin-inline: auto; width: 100%; padding-inline: 1rem; display: grid; gap: 40px 100px; grid-template-columns: 1fr;}
.services-item.event-items .services-list {grid-template-columns: repeat(2,1fr);}
.services-item .services-list .service > .content> :is(h3,p,a) {margin: 0;}
.services-item .services-list .service > .content > :is(h3,p,a,ul) + :is(h3,p,a,ul) {margin-top: 30px;}
.services-item .services-list .service > .content > ul {padding-inline-start: 1rem; list-style: disc;}

.services-item.event-items .services-list .service .img {border-radius: 15px; display: block; margin-bottom: 30px; aspect-ratio: 549 / 267; width: 100%; overflow: hidden;}
.services-item.event-items .services-list .service .img img {width: 100%; height: 100%; object-fit: cover;}

.services-item:not(.event-items) .services-list .service {display: grid; gap: 0 100px; grid-template-columns: 1fr 1fr;}
.services-item:not(.event-items) .services-list .service + .service {margin-top: 100px;}
.services-item:not(.event-items) .services-list .service > .content{order: 1;}
.services-item:not(.event-items) .services-list .service > .img{position: relative; width: 100%; height: 100%; border-radius: 15px; overflow: hidden; order: 0;}
.services-item:not(.event-items) .services-list .service > .img > img{position: absolute; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover;}
.services-item:not(.event-items) .services-list > .service:nth-child(2n-1) > .img {order: 2;}

@media(max-width: 940px) {
    .services-item .services-list {grid-template-columns: 1fr !important; }
    .services-item:not(.event-items) .services-list .service {grid-template-columns: 1fr; gap: 30px;}
    .services-item:not(.event-items) .services-list .service > .img {order: 0 !important; border-radius: 15px; display: block; aspect-ratio: 549 / 267; width: 100%; overflow: hidden;}
    .services-item:not(.event-items) .services-list .service > .img > img {position: unset; top: unset; left: unset;}
}

/* Libros (tabs parcialmente en servicios home) */
.book-item {padding-block: 70px; position: relative; width: 100vw; margin-left: -50vw; margin-right: -50vw; left: 50%; right: 50%;}
.book-item:nth-child(2n) {background: var(--bg-light);}
.book-item .container {display: grid; gap: 30px 100px; grid-template-columns: 1fr 1fr;}
.book-item .container .img {position: relative; width: 100%; height: 100%; order: 2; }
.book-item .container .img img {position: absolute; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover;}
.book-item .container .content {order: 1;}
.book-item:nth-child(2n) .img {order: 0;}
.book-item > .container > .content > h2 {margin: 0;}
.book-item .content-tab-books {box-shadow: 0 4px 7px 0 #00000040; border-top-left-radius: 15px; border-top-right-radius: 15px;}
.book-item .tab-books {margin-top: 40px;}
.book-item .tab-books ul li h3 a {background: #BC8D0014;}
.book-item .tab-books-pane .tab-books-item {background: #FFF; width: 100%; height: 100%; display: none; opacity: 0; transition: opacity 0.3s ease-in-out; padding: 40px;}
.book-item > .container > .content > a.btn {margin-top: 40px;}

@media(max-width: 940px) {
    .book-item .container {grid-template-columns: 1fr;}
    .book-item .container .img {order: 0 !important; display: block; margin-bottom: 30px;}
    .book-item .container .img img{position: unset; top: unset; left: unset; }
}

/* Bloque introductorio */
.bloque-intro {width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;}
.bloque-intro .wp-block-group__inner-container {width: 100%;}
.bloque-intro .wp-block-columns {display: flex; align-items: center; margin: 0 !important; position: relative; gap: 0 !important;}
.bloque-intro .wp-block-column {flex: 1; display: flex; flex-direction: column; justify-content: center; min-height: 100%; margin: 0 !important;}
.bloque-intro .wp-block-column:has(.wp-block-image) {position: absolute; top: 0; bottom: 0; width: calc(50vw - 50px); height: 100%;}
.bloque-intro .wp-block-column:has(.wp-block-image) figure, .bloque-intro .wp-block-column:has(.wp-block-image) img {width: 100%; height: 100%; object-fit: cover; margin: 0 !important;}
.bloque-intro .wp-block-column:has(.wp-block-image):first-child {left: 0;}
.bloque-intro .wp-block-column:has(.wp-block-image):first-child + .wp-block-column {margin-left: 50% !important; padding-right: calc((100vw - var(--mw-container)) / 2 + 1rem); padding-left: 50px; padding-block: 80px;}
.bloque-intro .wp-block-column:has(.wp-block-image):last-child {right: 0;}
.bloque-intro .wp-block-column:not(:has(.wp-block-image)):first-child {margin-right: 50% !important; padding-left: calc((100vw - var(--mw-container)) / 2 + 1rem); padding-right: 50px; padding-block: 80px;}
.bloque-intro .wp-block-column :is(.wp-block-heading,p,ul,ol,.wp-block-buttons) {margin-bottom: 0;}
.bloque-intro .wp-block-column :is(.wp-block-heading,p,ul,ol,.wp-block-buttons) + :is(.wp-block-heading,p,ul,ol,.wp-block-buttons) {margin-top: 30px;}
@media (max-width: 940px) {
    .bloque-intro {width: auto; left: auto; right: auto; margin-left: 0; margin-right: 0;}
    .bloque-intro .wp-block-columns {flex-direction: column; gap: 40px !important;}
    .bloque-intro .wp-block-column:has(.wp-block-image) {position: relative; height: 350px; width: calc(100% + 2rem); margin-inline: -1rem !important;}
    .bloque-intro .wp-block-column {margin: 0 !important; padding: 0 !important;}
    .bloque-intro .wp-block-column:has(.wp-block-image):first-child + .wp-block-column {margin-left: 0 !important; padding-right: 1rem; padding-left: 1rem;}
    .bloque-intro .wp-block-column:not(:has(.wp-block-image)):first-child {margin-right: 0 !important; padding-left: 1rem; padding-right: 1rem;}
}

/* Bloquen imagen lateral */
.bloque-img-texto {padding-block: 100px;}
.bloque-img-texto.with-bg {background: var(--bg-light); position: relative; width: 100vw; margin-left: -50vw; margin-right: -50vw; left: 50%; right: 50%;}
.bloque-img-texto.with-bg .wp-block-group__inner-container {max-width: var(--mw-container); margin-inline: auto; width: 100%; padding-inline: 1rem;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns {gap: 30px 100px;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > figure {margin: 0; position: relative; width: 100%; height: 100%; border-radius: 15px; overflow: hidden;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > figure > img {position: absolute; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-heading {font-weight: 700; font-style: italic; font-size: 40px; line-height: 100%; color: var(--color-body-light);}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-heading:is(h2):before {display: none;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > :is(.wp-block-heading,p,ul,ol,.wp-block-buttons){margin: 0;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > :is(.wp-block-heading,p,ul,ol) + :is(.wp-block-heading,p,ul,ol){margin-top: 24px;}
.bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > :is(.wp-block-heading,p,ul,ol) + .wp-block-buttons{margin-top: 35px;}
@media (max-width: 940px) {
    .bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > figure > img {position: unset; width: unset; height: auto; top: unset; left: unset; object-fit: unset;}
    .bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:has( > figure) {order: 0;}
    .bloque-img-texto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:not(:has( > figure)) {order: 1;}
}