/*
File: casa-abuela.css
Página: La Casa de la Abuela
Versión: 190526-1
*/

/*---------- HERO CASA ABUELA ------------*/
body .abuela-hero { position:relative; min-height:80vh; padding:0; background:var(--color-texto); margin:0; overflow:hidden;}
body .abuela-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1;}
body .abuela-hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(60,36,16,0.35) 0%, rgba(60,36,16,0.45) 40%, rgba(60,36,16,0.75) 100%); z-index:2; pointer-events:none;}
body .abuela-hero-contenido { position:relative; z-index:3; width:100%; max-width:880px; margin:5% auto; padding:8rem 5% 6rem; display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:center; background-color: rgb(60 36 16 / 80%); border-radius: 20px;}
body .abuela-hero-logo { display:block; margin:0 auto 2em; max-width:220px; height:auto;}
body .abuela-hero-pretitulo { font-family:var(--fuente-textos); font-size:.78rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--color-olivo-claro); margin:0 0 1.4em; text-align:center; text-shadow:0 1px 12px rgba(0,0,0,.5);}
body .abuela-hero-titulo { font-family:var(--fuente-titulos); font-size:clamp(2.4rem,5vw,4.4rem); font-weight:500; line-height:1.05; letter-spacing:-.02em; color:var(--color-blanco); margin:0 0 .8em; text-align:center; text-shadow:0 2px 30px rgba(0,0,0,.5);}
body .abuela-hero-subtitulo { font-family:var(--fuente-textos); font-size:clamp(1rem,1.3vw,1.18rem); font-weight:400; line-height:1.65; color:rgba(255,255,255,.95); margin:0 auto 2.6em; max-width:680px; text-align:center; text-shadow:0 1px 14px rgba(0,0,0,.5);}
body .abuela-hero-botones { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}
body .abuela-hero-boton-principal { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:18px 44px; border-radius:999px; background:var(--color-olivo); color:var(--color-blanco) !important; font-family:var(--fuente-textos); font-size:.92rem; font-weight:700; line-height:1; letter-spacing:.08em; text-transform:uppercase; text-decoration:none !important; border:1.5px solid var(--color-olivo); transition:all .25s ease; box-shadow:0 4px 24px rgba(0,0,0,.25);}
body .abuela-hero-boton-principal:hover { background:var(--color-blanco); color:var(--color-texto) !important; border-color:var(--color-blanco); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,.3);}
body .abuela-hero-boton-principal::after { content:""; display:inline-block; width:18px; height:18px; background-color:currentColor; -webkit-mask:url('/imagenes/iconos/icono-flecha-derecha.svg') no-repeat center / contain; mask:url('/imagenes/iconos/icono-flecha-derecha.svg') no-repeat center / contain; transition:transform .25s ease;}
body .abuela-hero-boton-principal:hover::after { transform:translateX(4px);}
body .abuela-hero-boton-secundario { display:inline-flex; align-items:center; justify-content:center; padding:18px 36px; border-radius:999px; background:transparent; color:var(--color-blanco) !important; font-family:var(--fuente-textos); font-size:.88rem; font-weight:600; line-height:1; letter-spacing:.08em; text-transform:uppercase; text-decoration:none !important; border:1.5px solid rgba(255,255,255,.5); transition:all .25s ease;}
body .abuela-hero-boton-secundario:hover { background:rgba(255,255,255,.1); border-color:var(--color-blanco);}
@media only screen and (max-width:959px){
body .abuela-hero { min-height:70vh;}
body .abuela-hero-contenido { padding:6rem 5% 5rem; min-height:70vh;}
body .abuela-hero-logo { max-width:180px;}
}
@media only screen and (max-width:767px){
body .abuela-hero { min-height:85vh;}
body .abuela-hero-contenido { padding:5rem 8% 4rem; min-height:85vh; padding: 211px 3% 3%; min-height: inherit; margin: 0 auto; border-radius:0; background: linear-gradient(to top, #38220f 0%, rgba(56,34,15,0.7) 30%, transparent 100%);}
body .abuela-hero-logo { max-width:150px; margin-bottom:1.5em;}
body .abuela-hero-titulo { font-size:clamp(1.9rem,8vw,2.6rem);}
body .abuela-hero-subtitulo { font-size:.98rem; line-height:1.55; margin-bottom:2em;}
body .abuela-hero-botones { flex-direction:column; gap:.8rem; width:100%; max-width:320px;}
body .abuela-hero-boton-principal, body .abuela-hero-boton-secundario { width:100%; padding:18px 24px; font-size:.82rem;}
}

/*---------- PRESENTACION CASA ABUELA ------------*/
body .abuela-presentacion { background:var(--color-fondo); padding:7rem 0; margin:0;}
body .abuela-presentacion > .wp-block-group__inner-container { width:100%; max-width:var(--ancho-caja); margin:0 auto; padding:0 5%; box-sizing:border-box;}
body .abuela-presentacion-contenedor { width:100%; max-width:880px; margin:0 auto;}
body .abuela-presentacion-contenedor > .wp-block-group__inner-container { display:flex; flex-direction:column; gap:0;}
body .abuela-presentacion-pretitulo { font-family:var(--fuente-textos); font-size:.78rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--color-olivo); margin:0 0 1.2em; text-align:center;}
body .abuela-presentacion-titulo { font-family:var(--fuente-titulos); font-size:clamp(2rem,3.5vw,3.2rem); font-weight:500; line-height:1.1; letter-spacing:-.015em; color:var(--color-texto); margin:0 0 1.5em; text-align:center;}
body .abuela-presentacion-texto { font-family:var(--fuente-textos); font-size:1.05rem; font-weight:400; line-height:1.75; color:var(--color-texto-suave); margin:0 0 1.5em; text-align:center;}
body .abuela-presentacion-registros { font-family:var(--fuente-textos); font-size:.78rem; font-weight:500; letter-spacing:.1em; color:var(--color-olivo); margin:2em 0 0; text-align:center; text-transform:uppercase;}
@media only screen and (max-width:959px){
body .abuela-presentacion { padding:5rem 0;}
}
@media only screen and (max-width:767px){
body .abuela-presentacion { padding:4rem 0;}
body .abuela-presentacion-titulo { font-size:clamp(1.7rem,6vw,2.2rem);}
body .abuela-presentacion-texto { font-size:1rem;}
}

/*---------- ALOJAMIENTOS CASA ABUELA ------------*/
body .abuela-alojamientos { background:var(--color-fondo-suave); padding:7rem 0; margin:0;}
body .abuela-alojamientos > .wp-block-group__inner-container { width:100%; max-width:var(--ancho-caja); margin:0 auto; padding:0 5%; box-sizing:border-box; display:flex; flex-direction:column; gap:4rem;}
body .abuela-alojamientos-encabezado { text-align:center; max-width:780px; margin:0 auto !important;}
body .abuela-alojamientos-encabezado > .wp-block-group__inner-container { display:flex; flex-direction:column; align-items:center; gap:0;}
body .abuela-alojamientos-pretitulo { font-family:var(--fuente-textos); font-size:.78rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--color-olivo); margin:0 0 1.2em; text-align:center;}
body .abuela-alojamientos-titulo { font-family:var(--fuente-titulos); font-size:clamp(2rem,3.5vw,3.2rem); font-weight:500; line-height:1.1; letter-spacing:-.015em; color:var(--color-texto); margin:0 0 .8em; text-align:center;}
body .abuela-alojamientos-subtitulo { font-family:var(--fuente-textos); font-size:1.05rem; font-weight:400; line-height:1.65; color:var(--color-texto-suave); margin:0; text-align:center;}
body .abuela-alojamientos-grid { width:100%; max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem;}
body .abuela-alojamiento { background:var(--color-blanco); border-radius:18px; overflow:hidden; box-shadow:0 14px 40px rgba(60,36,16,.1); transition:all .35s ease; display:flex; flex-direction:column;}
body .abuela-alojamiento:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(60,36,16,.18);}
body .abuela-alojamiento-destacado { grid-column:span 3; display:grid !important; grid-template-columns:55% 45%; align-items:stretch;}
body .abuela-alojamiento-destacado .abuela-alojamiento-imagen { height:100%;}
body .abuela-alojamiento-destacado .abuela-alojamiento-imagen img { height:100%; min-height:420px;}
body .abuela-alojamiento-imagen { margin:0; position:relative; overflow:hidden;}
body .abuela-alojamiento-imagen img { width:100%; height:280px; object-fit:cover; display:block;}
body .abuela-alojamiento-badge { position:absolute; top:20px; left:20px; background:var(--color-olivo); color:var(--color-blanco); font-family:var(--fuente-textos); font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:8px 16px; border-radius:999px; z-index:2;}
body .abuela-alojamiento-contenido { padding:2.2rem 2rem; flex:1; display:flex; flex-direction:column;}
body .abuela-alojamiento-destacado .abuela-alojamiento-contenido { padding:3rem 2.5rem;}
body .abuela-alojamiento-etiqueta { font-family:var(--fuente-textos); font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--color-olivo); margin:0 0 1em;}
body .abuela-alojamiento-titulo { font-family:var(--fuente-titulos); font-size:clamp(1.6rem,2.2vw,2rem); font-weight:500; line-height:1.15; letter-spacing:-.015em; color:var(--color-texto); margin:0 0 1em;}
body .abuela-alojamiento-destacado .abuela-alojamiento-titulo { font-size:clamp(1.8rem,2.6vw,2.4rem);}
body .abuela-alojamiento-texto { font-family:var(--fuente-textos); font-size:.98rem; font-weight:400; line-height:1.7; color:var(--color-texto-suave); margin:0 0 2em; flex:1;}
body .abuela-alojamiento-acciones { display:flex; gap:.5rem; margin:0 0 1.4em; flex-wrap:wrap;}
body .abuela-boton-accion { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:var(--color-fondo); color:var(--color-texto) !important; font-family:var(--fuente-textos); font-size:.74rem; font-weight:600; line-height:1; letter-spacing:.06em; text-transform:uppercase; text-decoration:none !important; border:1.5px solid transparent; transition:all .25s ease; flex:1; justify-content:center; min-width:100px;}
body .abuela-boton-accion:hover { background:var(--color-texto); color:var(--color-blanco) !important;}
body .abuela-boton-accion .icono { display:inline-block; width:14px; height:14px; background-color:currentColor; -webkit-mask:center center / contain no-repeat; mask:center center / contain no-repeat; flex-shrink:0;}
body .abuela-boton-accion.boton-reservar .icono { -webkit-mask-image:url('/imagenes/iconos/icono-reservar.svg'); mask-image:url('/imagenes/iconos/icono-reservar.svg');}
body .abuela-boton-accion.boton-consultar .icono { -webkit-mask-image:url('/imagenes/iconos/icono-consultar.svg'); mask-image:url('/imagenes/iconos/icono-consultar.svg');}
body .abuela-boton-accion.boton-360 .icono { -webkit-mask-image:url('/imagenes/iconos/icono-360.svg'); mask-image:url('/imagenes/iconos/icono-360.svg');}
body .abuela-boton-ficha { 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:.82rem; font-weight:700; line-height:1; letter-spacing:.08em; text-transform:uppercase; text-decoration:none !important; transition:all .25s ease; box-shadow:0 4px 16px rgba(138,138,74,.25);}
body .abuela-boton-ficha:hover { background:var(--color-texto); color:var(--color-blanco) !important; transform:translateY(-2px); box-shadow:0 8px 24px rgba(60,36,16,.25);}
body .abuela-boton-ficha .icono { display:inline-block; width:14px; height:14px; background-color:currentColor; -webkit-mask:url('/imagenes/iconos/icono-flecha-derecha.svg') no-repeat center / contain; mask:url('/imagenes/iconos/icono-flecha-derecha.svg') no-repeat center / contain; transition:transform .25s ease;}
body .abuela-boton-ficha:hover .icono { transform:translateX(4px);}
@media only screen and (max-width:959px){
body .abuela-alojamientos { padding:5rem 0;}
body .abuela-alojamientos > .wp-block-group__inner-container { gap:3rem;}
body .abuela-alojamientos-grid { grid-template-columns:repeat(2,1fr); gap:2rem;}
body .abuela-alojamiento-destacado { grid-column:span 2; grid-template-columns:50% 50%;}
body .abuela-alojamiento-destacado .abuela-alojamiento-imagen img { min-height:360px;}
body .abuela-alojamiento-contenido { padding:1.8rem 1.6rem;}
body .abuela-alojamiento-destacado .abuela-alojamiento-contenido { padding:2.5rem 2rem;}
}
@media only screen and (max-width:767px){
body .abuela-alojamientos { padding:4rem 0;}
body .abuela-alojamientos-grid { grid-template-columns:1fr; gap:1.8rem;}
body .abuela-alojamiento-destacado { grid-column:span 1; grid-template-columns:1fr;}
body .abuela-alojamiento-destacado .abuela-alojamiento-imagen img { min-height:auto; height:240px;}
body .abuela-alojamiento-destacado .abuela-alojamiento-contenido { padding:1.8rem 1.6rem;}
body .abuela-alojamiento-acciones { flex-direction:column; gap:.5rem;}
body .abuela-boton-accion { width:100%; min-width:0;}
body .abuela-boton-ficha { width:100%;}
}

/*---------- SERVICIOS COMUNES CASA ABUELA ------------*/
body .abuela-servicios { background:var(--color-fondo); padding:7rem 0; margin:0;}
body .abuela-servicios > .wp-block-group__inner-container { width:100%; max-width:var(--ancho-caja); margin:0 auto; padding:0 5%; box-sizing:border-box; display:flex; flex-direction:column; gap:4rem;}
body .abuela-servicios-encabezado { text-align:center; max-width:780px; margin:0 auto !important;}
body .abuela-servicios-encabezado > .wp-block-group__inner-container { display:flex; flex-direction:column; align-items:center; gap:0;}
body .abuela-servicios-pretitulo { font-family:var(--fuente-textos); font-size:.78rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--color-olivo); margin:0 0 1.2em; text-align:center;}
body .abuela-servicios-titulo { font-family:var(--fuente-titulos); font-size:clamp(2rem,3.5vw,3.2rem); font-weight:500; line-height:1.1; letter-spacing:-.015em; color:var(--color-texto); margin:0 0 .8em; text-align:center;}
body .abuela-servicios-subtitulo { font-family:var(--fuente-textos); font-size:1.05rem; font-weight:400; line-height:1.65; color:var(--color-texto-suave); margin:0; text-align:center;}
body .abuela-servicios-grid { width:100%; max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;}
body .abuela-servicio { background:var(--color-blanco); border-radius:14px; padding:2.2rem 1.8rem; text-align:center; box-shadow:0 8px 24px rgba(60,36,16,.06); transition:all .3s ease;}
body .abuela-servicio:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(60,36,16,.12);}
body .abuela-servicio-icono { display:block; width:48px; height:48px; margin:0 auto 1.2em; background-color:var(--color-olivo); -webkit-mask:center center / contain no-repeat; mask:center center / contain no-repeat;}
body .icono-wifi-svc { -webkit-mask-image:url('/imagenes/iconos/icono-wifi.svg'); mask-image:url('/imagenes/iconos/icono-wifi.svg');}
body .icono-clima-svc { -webkit-mask-image:url('/imagenes/iconos/icono-clima.svg'); mask-image:url('/imagenes/iconos/icono-clima.svg');}
body .icono-tv-svc { -webkit-mask-image:url('/imagenes/iconos/icono-tv.svg'); mask-image:url('/imagenes/iconos/icono-tv.svg');}
body .icono-bano-svc { -webkit-mask-image:url('/imagenes/iconos/icono-bano.svg'); mask-image:url('/imagenes/iconos/icono-bano.svg');}
body .icono-decoracion-svc { -webkit-mask-image:url('/imagenes/iconos/icono-decoracion.svg'); mask-image:url('/imagenes/iconos/icono-decoracion.svg');}
body .icono-electro-svc { -webkit-mask-image:url('/imagenes/iconos/icono-electrodomesticos.svg'); mask-image:url('/imagenes/iconos/icono-electrodomesticos.svg');}
body .abuela-servicio h3 { font-family:var(--fuente-titulos); font-size:1.25rem; font-weight:500; line-height:1.2; letter-spacing:-.01em; color:var(--color-texto); margin:0 0 .8em;}
body .abuela-servicio p { font-family:var(--fuente-textos); font-size:.95rem; font-weight:400; line-height:1.65; color:var(--color-texto-suave); margin:0;}
@media only screen and (max-width:959px){
body .abuela-servicios { padding:5rem 0;}
body .abuela-servicios > .wp-block-group__inner-container { gap:3rem;}
body .abuela-servicios-grid { grid-template-columns:repeat(2,1fr); gap:1.5rem;}
body .abuela-servicio { padding:1.8rem 1.4rem;}
}
@media only screen and (max-width:767px){
body .abuela-servicios { padding:4rem 0;}
body .abuela-servicios-grid { grid-template-columns:1fr; gap:1.2rem;}
body .abuela-servicio-icono { width:42px; height:42px;}
}

/*---------- PARKING ------------*/
body .inicio-parking { background:var(--color-fondo-suave); padding:7rem 0; margin:0;}
body .inicio-parking > .wp-block-group__inner-container { width:100%; max-width:var(--ancho-caja); margin:0 auto; padding:0 5%; box-sizing:border-box;}
body .inicio-parking-contenedor { width:100%; max-width:1100px; margin:0 auto;}
body .inicio-parking-contenedor > .wp-block-group__inner-container { display:flex; flex-direction:column; align-items:center; gap:0;}
body .inicio-parking-icono { display:block; width:44px; height:44px; margin:0 auto 1.4em; background-color:var(--color-olivo); -webkit-mask:url('/imagenes/iconos/icono-parking.svg') no-repeat center / contain; mask:url('/imagenes/iconos/icono-parking.svg') no-repeat center / contain;}
body .inicio-parking-pretitulo { font-family:var(--fuente-textos); font-size:.78rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--color-olivo); margin:0 0 1.2em; text-align:center;}
body .inicio-parking-titulo { font-family:var(--fuente-titulos); font-size:clamp(2rem,3.5vw,3.2rem); font-weight:500; line-height:1.1; letter-spacing:-.015em; color:var(--color-texto); margin:0 0 1em; text-align:center;}
body .inicio-parking-subtitulo { font-family:var(--fuente-textos); font-size:1.05rem; font-weight:400; line-height:1.7; color:var(--color-texto-suave); margin:0 0 3.5rem; text-align:center; max-width:780px;}
body .inicio-parking-cards { gap:1.5rem !important; width:100%; max-width:1100px; margin:0 auto !important;}
body .inicio-parking-card { padding:0 !important;}
body .inicio-parking-link { display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:.8rem; padding:2rem 1.5rem; background:var(--color-blanco); border-radius:14px; box-shadow:0 8px 24px rgba(60,36,16,.08); text-decoration:none !important; transition:all .25s ease; height:100%; text-align:center;}
body .inicio-parking-link:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(60,36,16,.15); background:var(--color-texto);}
body .inicio-parking-card-icono { display:block; width:34px; height:34px; background-color:var(--color-olivo); -webkit-mask:url('/imagenes/iconos/icono-ubicacion.svg') no-repeat center / contain; mask:url('/imagenes/iconos/icono-ubicacion.svg') no-repeat center / contain; transition:background-color .25s ease;}
body .inicio-parking-link:hover .inicio-parking-card-icono { background-color:var(--color-blanco);}
body .inicio-parking-card-titulo { font-family:var(--fuente-titulos); font-size:1.18rem; font-weight:500; line-height:1.2; letter-spacing:-.01em; color:var(--color-texto); transition:color .25s ease;}
body .inicio-parking-link:hover .inicio-parking-card-titulo { color:var(--color-blanco);}
body .inicio-parking-card-cta { display:inline-flex; align-items:center; gap:6px; font-family:var(--fuente-textos); font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--color-olivo); margin-top:.3rem; transition:color .25s ease;}
body .inicio-parking-card-cta::after { content:""; display:inline-block; width:14px; height:14px; background-color:currentColor; -webkit-mask:url('/imagenes/iconos/icono-flecha-derecha.svg') no-repeat center / contain; mask:url('/imagenes/iconos/icono-flecha-derecha.svg') no-repeat center / contain; transition:transform .25s ease;}
body .inicio-parking-link:hover .inicio-parking-card-cta { color:var(--color-blanco);}
body .inicio-parking-link:hover .inicio-parking-card-cta::after { transform:translateX(4px);}
@media only screen and (max-width:959px){
body .inicio-parking { padding:5rem 0;}
body .inicio-parking-icono { width:38px; height:38px;}
body .inicio-parking-subtitulo { margin-bottom:3rem;}
body .inicio-parking-cards { gap:1.2rem !important;}
body .inicio-parking-link { padding:1.6rem 1.2rem;}
}
@media only screen and (max-width:767px){
body .inicio-parking { padding:4rem 0;}
body .inicio-parking-icono { width:36px; height:36px;}
body .inicio-parking-titulo { font-size:clamp(1.9rem,7vw,2.4rem);}
body .inicio-parking-subtitulo { font-size:1rem; margin-bottom:2.5rem;}
body .inicio-parking-cards { flex-direction:column !important; gap:1rem !important;}
body .inicio-parking-link { padding:1.4rem 1.2rem;}
}