/*
Theme Name: La Casa de la Abuela Child
Theme URI: https://www.cazorlaturismorural.com
Author: veovirtual.com
Author URI: https://www.veovirtual.com
Template: abuela
Version: 160526
*/
/*---------- TIPOGRAFÍAS ------------*/
:root {--fuente-titulos:"Cormorant",serif; --fuente-textos:"Manrope",sans-serif; --texto-xs:.78rem; --texto-s:.92rem; --texto-m:1rem; --texto-l:1.12rem; --texto-xl:1.25rem; --titulo-h1:clamp(3rem,6vw,5.8rem); --titulo-h2:clamp(2.2rem,4vw,4rem); --titulo-h3:clamp(1.7rem,2vw,2.5rem); --titulo-h4:clamp(1.25rem,1.6vw,1.7rem); --titulo-h5:1.05rem; --titulo-h6:.9rem; --linea-texto:1.7; --linea-titulo:.95; --espacio-titulo:-.025em; --espacio-subtitulo:.16em; --espacio-texto:0;}
body {font-family:var(--fuente-textos); font-size:var(--texto-m); font-weight:400; line-height:var(--linea-texto); letter-spacing:var(--espacio-texto); color:var(--color-texto); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;}
body p {font-family:var(--fuente-textos); font-size:var(--texto-m); font-weight:400; line-height:var(--linea-texto); letter-spacing:var(--espacio-texto); margin-bottom:1.4em;}
body h1, body h2, body h3, body h4, body h5, body h6 {font-family:var(--fuente-titulos); font-weight:500; line-height:var(--linea-titulo); letter-spacing:var(--espacio-titulo); color:var(--color-texto); margin-bottom:.35em; text-wrap:balance;}
body h1 {font-size:var(--titulo-h1);}
body h2 {font-size:var(--titulo-h2);}
body h3 {font-size:var(--titulo-h3);}
body h4 {font-size:var(--titulo-h4);}
body h5 {font-size:var(--titulo-h5); letter-spacing:.04em;}
body h6 {font-size:var(--titulo-h6); letter-spacing:.08em; text-transform:uppercase;}
body strong {font-weight:600;}
body small {font-size:var(--texto-s);}
body .subtitulo {display:block; font-family:var(--fuente-textos); font-size:.78rem; font-weight:700; line-height:1.2; letter-spacing:var(--espacio-subtitulo); text-transform:uppercase; color:var(--color-olivo); margin-bottom:18px;}
body .texto-grande {font-size:var(--texto-l);}
body .texto-pequeno {font-size:var(--texto-s);}
body blockquote {font-family:var(--fuente-titulos); font-size:clamp(1.5rem,2vw,2.4rem); line-height:1.2; letter-spacing:-.015em; font-style:italic; border:none; padding:0; margin:0; color:var(--color-texto);}
@media only screen and (max-width:767px){
:root {--texto-m:.98rem; --texto-l:1.05rem; --titulo-h1:clamp(2.5rem,11vw,4rem); --titulo-h2:clamp(2rem,8vw,3rem); --titulo-h3:clamp(1.5rem,6vw,2.2rem);}
body h1, body h2, body h3 {text-wrap:pretty;}
}
/*---------- ICONOS ------------*/
:root{
--icono-apartamento:url('/imagenes/iconos/icono-apartamento.svg');
--icono-suite:url('/imagenes/iconos/icono-suite.svg');
--icono-dormitorio:url('/imagenes/iconos/icono-dormitorio.svg');
--icono-bano:url('/imagenes/iconos/icono-bano.svg');
--icono-cocina:url('/imagenes/iconos/icono-cocina.svg');
--icono-chimenea:url('/imagenes/iconos/icono-chimenea.svg');
--icono-wifi:url('/imagenes/iconos/icono-wifi.svg');
--icono-aire:url('/imagenes/iconos/icono-aire.svg');
--icono-tv:url('/imagenes/iconos/icono-tv.svg');
--icono-mascotas:url('/imagenes/iconos/icono-mascotas.svg');
--icono-personas:url('/imagenes/iconos/icono-personas.svg');
--icono-vistas:url('/imagenes/iconos/icono-vistas.svg');
--icono-patio:url('/imagenes/iconos/icono-patio.svg');
--icono-fuente:url('/imagenes/iconos/icono-fuente.svg');
--icono-sierra:url('/imagenes/iconos/icono-sierra.svg');
--icono-ruinas:url('/imagenes/iconos/icono-ruinas.svg');
--icono-castillo:url('/imagenes/iconos/icono-castillo.svg');
--icono-senderismo:url('/imagenes/iconos/icono-senderismo.svg');
--icono-reservas:url('/imagenes/iconos/icono-reservas.svg');
--icono-calendario:url('/imagenes/iconos/icono-calendario.svg');
--icono-horario:url('/imagenes/iconos/icono-horario.svg');
--icono-telefono:url('/imagenes/iconos/icono-telefono.svg');
--icono-whatsapp:url('/imagenes/iconos/icono-whatsapp.svg');
--icono-ubicacion:url('/imagenes/iconos/icono-ubicacion.svg');
--icono-email:url('/imagenes/iconos/icono-email.svg');
--icono-tour-360:url('/imagenes/iconos/icono-tour-360.svg');
--icono-olivo:url('/imagenes/iconos/icono-olivo.svg');
}
.icono-abuela::before{content:""; display:inline-block; width:1.3em; height:1.3em; margin-right:.65em; background-color:currentColor; -webkit-mask:center center / contain no-repeat; mask:center center / contain no-repeat; vertical-align:-0.2em;}
.icono-apartamento::before{-webkit-mask-image:var(--icono-apartamento);mask-image:var(--icono-apartamento);}
.icono-suite::before{-webkit-mask-image:var(--icono-suite);mask-image:var(--icono-suite);}
.icono-dormitorio::before{-webkit-mask-image:var(--icono-dormitorio);mask-image:var(--icono-dormitorio);}
.icono-bano::before{-webkit-mask-image:var(--icono-bano);mask-image:var(--icono-bano);}
.icono-cocina::before{-webkit-mask-image:var(--icono-cocina);mask-image:var(--icono-cocina);}
.icono-chimenea::before{-webkit-mask-image:var(--icono-chimenea);mask-image:var(--icono-chimenea);}
.icono-wifi::before{-webkit-mask-image:var(--icono-wifi);mask-image:var(--icono-wifi);}
.icono-aire::before{-webkit-mask-image:var(--icono-aire);mask-image:var(--icono-aire);}
.icono-tv::before{-webkit-mask-image:var(--icono-tv);mask-image:var(--icono-tv);}
.icono-mascotas::before{-webkit-mask-image:var(--icono-mascotas);mask-image:var(--icono-mascotas);}
.icono-personas::before{-webkit-mask-image:var(--icono-personas);mask-image:var(--icono-personas);}
.icono-vistas::before{-webkit-mask-image:var(--icono-vistas);mask-image:var(--icono-vistas);}
.icono-patio::before{-webkit-mask-image:var(--icono-patio);mask-image:var(--icono-patio);}
.icono-fuente::before{-webkit-mask-image:var(--icono-fuente);mask-image:var(--icono-fuente);}
.icono-sierra::before{-webkit-mask-image:var(--icono-sierra);mask-image:var(--icono-sierra);}
.icono-ruinas::before{-webkit-mask-image:var(--icono-ruinas);mask-image:var(--icono-ruinas);}
.icono-castillo::before{-webkit-mask-image:var(--icono-castillo);mask-image:var(--icono-castillo);}
.icono-senderismo::before{-webkit-mask-image:var(--icono-senderismo);mask-image:var(--icono-senderismo);}
.icono-reservas::before{-webkit-mask-image:var(--icono-reservas);mask-image:var(--icono-reservas);}
.icono-calendario::before{-webkit-mask-image:var(--icono-calendario);mask-image:var(--icono-calendario);}
.icono-horario::before{-webkit-mask-image:var(--icono-horario);mask-image:var(--icono-horario);}
.icono-telefono::before{-webkit-mask-image:var(--icono-telefono);mask-image:var(--icono-telefono);}
.icono-whatsapp::before{-webkit-mask-image:var(--icono-whatsapp);mask-image:var(--icono-whatsapp);}
.icono-ubicacion::before{-webkit-mask-image:var(--icono-ubicacion);mask-image:var(--icono-ubicacion);}
.icono-email::before{-webkit-mask-image:var(--icono-email);mask-image:var(--icono-email);}
.icono-tour-360::before{-webkit-mask-image:var(--icono-tour-360);mask-image:var(--icono-tour-360);}
.icono-olivo::before{-webkit-mask-image:var(--icono-olivo);mask-image:var(--icono-olivo);}
/*-------- Variables ----------*/
:root{--color-fondo:#f8f3ea; --color-fondo-suave:#ede4d3; --color-texto:#3c2410; --color-texto-suave:#7a5a3e; --color-marron:#5a3818; --color-olivo:#8a8a4a; --color-olivo-claro:#a8a868; --color-oscuro:#1f140a; --color-blanco:#ffffff; --fuente-titulos:"Cormorant",serif; --fuente-textos:"Manrope",Arial,sans-serif; --ancho-caja:1240px; --radio:18px; --sombra:0 24px 60px rgba(60,36,16,.12);}
/*-------- Base ----------*/
html{scroll-behavior:smooth;}
body{background:var(--color-fondo); color:var(--color-texto);}
a{transition:all .25s ease;}
img{max-width:100%; height:auto;}
.has_content .the_content_wrapper{margin-bottom:0;}
.the_content_wrapper{margin:0; width:100%;}
.the_content_wrapper p:last-child{margin-bottom:0;}
.wp-block-group{margin:0 auto;}
.alignleft,.alignright,.aligncenter{margin-top:0;}
.grecaptcha-badge{visibility:hidden !important;}
/*-------- Layout ----------*/
body.page #Content .section_wrapper{max-width:inherit;}
.caja > div{max-width:var(--ancho-caja); margin:0 auto; box-sizing:border-box;}
.caja-ancha > div{max-width:1480px; margin:0 auto; box-sizing:border-box;}
.caja-estrecha > div{max-width:980px; margin:0 auto; box-sizing:border-box;}
.caja-completa > div{max-width:inherit; margin:0 auto; box-sizing:border-box;}
.caja-reverso > div{justify-content:flex-end;}
/*-------- Parallax Betheme ----------*/
#bloque-parallax > div{overflow:hidden; display:flex; justify-content:center; position:relative; box-sizing:border-box;}
.the_content #bloque-parallax .mfn-parallax{position:absolute; left:50%; top:0; max-width:unset !important; min-width:100%; min-height:100%; object-fit:cover; transition:opacity .2s;}
#bloque-parallax .contenido-parallax{position:relative; z-index:2;}
/*-------- Botones comunes ----------*/
a.boton-abuela{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 24px; border-radius:999px; background:var(--color-marron); color:var(--color-blanco) !important; font-family:var(--fuente-textos); font-size:14px; font-weight:600; line-height:1; letter-spacing:.04em; text-transform:uppercase; text-decoration:none !important; border:1px solid var(--color-marron); box-shadow:none; cursor:pointer;}
a.boton-abuela:hover{background:var(--color-oscuro); color:var(--color-blanco) !important; border-color:var(--color-oscuro);}
a.boton-abuela-secundario{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 24px; border-radius:999px; background:transparent; color:var(--color-texto) !important; font-family:var(--fuente-textos); font-size:14px; font-weight:600; line-height:1; letter-spacing:.04em; text-transform:uppercase; text-decoration:none !important; border:1px solid rgba(60,36,16,.3); cursor:pointer;}
a.boton-abuela-secundario:hover{background:var(--color-marron); color:var(--color-blanco) !important; border-color:var(--color-marron);}
a.boton-reservar{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 28px; border-radius:999px; background:var(--color-olivo); color:var(--color-blanco) !important; font-family:var(--fuente-textos); font-size:14px; font-weight:700; line-height:1; letter-spacing:.06em; text-transform:uppercase; text-decoration:none !important; border:1px solid var(--color-olivo); cursor:pointer;}
a.boton-reservar:hover{background:var(--color-oscuro); border-color:var(--color-oscuro);}
/*-------- Utilidades ----------*/
.oculto{display:none !important;}
.texto-centro{text-align:center;}
.texto-derecha{text-align:right;}
.sin-margen{margin:0 !important;}
.sin-padding{padding:0 !important;}

/*---------- CABECERA / LOGO GLOBAL ------------*/
body #Top_bar .logo{margin:0;}

/* Contenedor del logo en estado NORMAL (no sticky).
   Lo ponemos en altura automática para que se ajuste al logo: así
   neutralizamos el "height" fijo + padding que impone be.css. El estado
   sticky NO se toca -> lo sigue gestionando Betheme (.is-sticky). */
body #Top_bar:not(.is-sticky) #logo{
    height:auto !important;
    line-height:1 !important;
    padding:15px 0 !important;
    box-sizing:content-box;
}

/* CLAVE: be.css impone  #Top_bar #logo img[height]{ max-height:100% !important }
   (tus <img> llevan atributo height), por eso el tamaño lo acababa mandando
   la altura del contenedor y tu max-height se ignoraba. Aquí fijamos el alto
   del logo DIRECTAMENTE, ganando a esa regla por especificidad + !important. */
body #Top_bar:not(.is-sticky) #logo img.logo-main{
    display:inline-block !important;
    width:auto !important;
    height:auto !important;
    max-height:182px !important;   /* logo alargado 473x182 (PC y tablet) */
}
body #Top_bar:not(.is-sticky) #logo img.logo-mobile{display:none !important;}

/* Menú */
body #Top_bar .menu > li > a span{font-family:Manrope, Arial, sans-serif; font-size:.82rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;}
body #Top_bar .menu > li > a{color:var(--color-texto);}
body #Top_bar .menu > li.current-menu-item > a, body #Top_bar .menu > li.current_page_item > a{color:var(--color-marron);}
body #Top_bar .action_button{border-radius:999px; background:var(--color-marron); color:var(--color-blanco); font-family:Manrope, Arial, sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;}
body #Top_bar .action_button:hover{background:var(--color-oscuro); color:var(--color-blanco);}

/*---------- LOGOS POR PÁGINA ------------*/
/* Se usa max-height + !important para ganar a be.css. Todo scopeado a
   :not(.is-sticky) para que al hacer scroll siga saliendo el logo global. */
/* La Casa de la Abuela - Desktop */
body.pagina-la-casa-de-la-abuela #Top_bar:not(.is-sticky) #logo img.logo-main {content:url('/imagenes/logo/logo-la-casa-de-la-abuela.png'); max-height:102px !important;}
/* Abuelo Kalinas - Desktop */
body.pagina-abuelo-kalinas #Top_bar:not(.is-sticky) #logo img.logo-main {content:url('/imagenes/logo/logo-abuelo-kalinas.png'); max-height:102px !important;}
/* Los logos sticky (al hacer scroll) mantienen el global de Cazorla Turismo Rural - no se tocan */

@media only screen and (max-width: 767px) {
    /* MÓVIL: se muestra el logo cuadrado y se oculta el alargado.
       El contenedor sigue en height:auto (heredado), así que el alto lo
       manda el propio logo con max-height + !important. */
    body #Top_bar:not(.is-sticky) #logo{padding:12px 0 !important; margin:5px 0 !important;}
    body #Top_bar:not(.is-sticky) #logo img.logo-main{display:none !important;}
    body #Top_bar:not(.is-sticky) #logo img.logo-mobile{
        display:inline-block !important;
        width:auto !important;
        height:auto !important;
        max-height:270px !important;   /* logo cuadrado 410x353 (móvil) */
    }
    /* Páginas con logo propio: su versión responsive */
    body.pagina-la-casa-de-la-abuela #Top_bar:not(.is-sticky) #logo img.logo-mobile {content:url('/imagenes/logo/logo-la-casa-de-la-abuela-responsive.png'); max-height:150px !important;}
    body.pagina-abuelo-kalinas #Top_bar:not(.is-sticky) #logo img.logo-mobile {content:url('/imagenes/logo/logo-abuelo-kalinas-responsive.png'); max-height:150px !important;}
}
/*---------- FOOTER ------------*/
body #Footer .footer-abuela-col1{display:flex; flex-direction:column; align-items:center; gap:.8rem; text-align:center; height:100%;}
body #Footer .footer-abuela-logo{width:220px; height:auto; display:block;}
body #Footer .footer-abuela-descripcion{margin:0; font-family:var(--fuente-textos); font-size:.88rem; line-height:1.7; color:rgba(255,255,255,.6);}
body #Footer .footer-abuela-redes{display:flex; align-items:center; justify-content:center; gap:1.2rem; margin-top:.4rem;}
body #Footer .footer-abuela-redes a{display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.65); transition:border-color .25s ease, color .25s ease, background .25s ease;}
body #Footer .footer-abuela-redes a:hover{border-color:var(--color-olivo-claro); color:var(--color-olivo-claro); background:rgba(168,168,104,.1);}
body #Footer .footer-abuela-registro{display:flex; flex-direction:column; align-items:center; gap:.2rem; margin-top:auto; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.08); width:100%; text-align:center;}
body #Footer .footer-abuela-registro span:first-child{font-family:var(--fuente-textos); font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.35);}
body #Footer .footer-abuela-registro span:last-child{font-family:var(--fuente-textos); font-size:.78rem; font-weight:600; letter-spacing:.08em; color:rgba(255,255,255,.55);}
body #Footer .footer-abuela-col2{display:flex; flex-direction:column; align-items:center; gap:.6rem; text-align:center;}
body #Footer .footer-abuela-col-titulo{margin:0 0 .8rem; color:var(--color-blanco); font-family:var(--fuente-textos); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase;}
body #Footer .footer-abuela-nav{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; width:100%;}
body #Footer .footer-abuela-nav li{margin:0; padding:0; border-bottom:1px solid rgba(255,255,255,.08);}
body #Footer .footer-abuela-nav li:first-child{border-top:1px solid rgba(255,255,255,.08);}
body #Footer .footer-abuela-nav a{display:block; padding:.65rem 0; color:rgba(255,255,255,.55); font-family:var(--fuente-textos); font-size:.88rem; font-weight:400; text-decoration:none; letter-spacing:.04em; transition:color .25s ease, letter-spacing .25s ease;}
body #Footer .footer-abuela-nav a:hover{color:var(--color-olivo-claro); letter-spacing:.08em;}
body #Footer .footer-abuela-col3{display:flex; flex-direction:column; align-items:center; gap:1.1rem; text-align:center;}
body #Footer .footer-abuela-contacto-item{display:flex; align-items:flex-start; justify-content:center; gap:.65rem;}
body #Footer .footer-abuela-contacto-item span{font-family:var(--fuente-textos); font-size:.88rem; line-height:1.6; color:rgba(255,255,255,.6);}
body #Footer .footer-abuela-contacto-item a{color:rgba(255,255,255,.6); text-decoration:none; transition:color .25s ease;}
body #Footer .footer-abuela-contacto-item a:hover{color:var(--color-olivo-claro);}
body #Footer .footer-abuela-cta{max-width:860px; margin:0 auto; padding:3.5rem 3% 2rem; text-align:center; border-bottom:1px solid rgba(255,255,255,.08);}
body #Footer .footer-abuela-cta-etiqueta{margin:0 0 .8rem; font-family:var(--fuente-textos); font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--color-olivo-claro);}
body #Footer .footer-abuela-cta-titulo{margin:0 0 1.2rem; font-family:var(--fuente-titulos); font-size:clamp(1.8rem,2.8vw,2.8rem); font-weight:400; line-height:1.1; letter-spacing:-.02em; color:var(--color-blanco);}
body #Footer .footer-abuela-cta-texto{margin:0 auto; font-family:var(--fuente-textos); font-size:.9rem; font-weight:400; line-height:1.8; color:rgba(255,255,255,.55); max-width:680px;}
/*-------- Responsive ----------*/
@media only screen and (min-width:1240px){
.caja > div{padding:3%;}
.caja-ancha > div{padding:3%;}
.caja-estrecha > div{padding:3%;}
}
@media only screen and (min-width:960px) and (max-width:1239px){
.caja > div{padding:4%;}
.caja-ancha > div{padding:4%;}
.caja-estrecha > div{padding:4%;}
}
@media only screen and (min-width:768px) and (max-width:959px){
.caja > div{padding:5%;}
.caja-ancha > div{padding:5%;}
.caja-estrecha > div{padding:5%;}
}
@media only screen and (min-width:768px){
.movil{display:none !important;}
}
@media only screen and (max-width:767px){
body.page #Content .section_wrapper{max-width:inherit !important; padding-left:0; padding-right:0;}
.caja > div{padding:7% 5%;}
.caja-ancha > div{padding:7% 5%;}
.caja-estrecha > div{padding:7% 5%;}
.pc-tablet{display:none !important;}
.caja-reverso > div{justify-content:initial;}
a.boton-abuela, a.boton-abuela-secundario, a.boton-reservar{width:100%; box-sizing:border-box;}
}