/* Componentes de las páginas (contenido HTML de WordPress) y del formulario. Paleta de Long Beach. */

/* Hero del inicio */
.hero__fondo{background-size:cover;background-position:center;overflow:hidden}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(14,34,38,.35),rgba(14,34,38,.6))}
.hero__flecha{position:absolute;left:50%;bottom:28px;width:44px;height:44px;margin-left:-22px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center}
.hero__flecha::before{content:"";width:12px;height:12px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-2px,-2px)}
@media (prefers-reduced-motion:reduce){.hero__video{display:none}}

/* Banda de título de las páginas */
.pag-hero{background:var(--verde);color:var(--blanco);text-align:center;padding:72px 0 64px}
.pag-hero--img{position:relative;min-height:min(62vh,560px);display:grid;place-items:end center;background:var(--verde) var(--hero-img) center/cover;isolation:isolate}
.pag-hero--img::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(14,34,38,.15),rgba(14,34,38,.65))}
.pag-hero--img{margin-top:calc(var(--cab-h) * -1);padding-top:calc(var(--cab-h) + 40px)}
body:not(.has-hero) .pag-hero--img{margin-top:0;padding-top:72px}
.pag-hero__in{max-width:900px;margin:0 auto;padding:0 20px}
.pag-hero h1{color:var(--blanco);margin:0;font-size:clamp(2.2rem,5.2vw,4.4rem)}
.pag-hero__sub{max-width:640px;margin:14px auto 0;font-size:1.1rem;opacity:.92}

/* Secciones */
.seccion{padding:88px 0}
.seccion--crema{background:var(--crema)}
.seccion--verde{background:var(--verde);color:rgba(255,255,255,.92)}
.seccion--verde h2,.seccion--verde h3{color:var(--blanco)}
.seccion--centro{text-align:center}
.seccion--centro .wrap{max-width:900px}
.seccion h2{max-width:20ch}
.seccion--centro h2{margin-left:auto;margin-right:auto;max-width:26ch}
.seccion .btn--linea{margin-top:10px}
.seccion--verde .btn--linea{border-color:rgba(255,255,255,.7);color:var(--blanco)}
.lead{font-size:1.2rem;color:var(--suave);max-width:60ch}
.seccion--verde .lead{color:rgba(255,255,255,.88)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split--inv .split__img{order:2}
.split__img img{width:100%;height:100%;max-height:640px;object-fit:cover}
.split__txt h2{margin-top:0}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:28px}.split--inv .split__img{order:0}.seccion{padding:64px 0}}

/* Tarjetas de destino (inicio) */
.destinos{display:grid;grid-template-columns:1fr 1fr;gap:0}
.destino{position:relative;display:flex;align-items:flex-end;min-height:520px;padding:40px;color:var(--blanco);text-decoration:none;background:var(--verde) var(--img) center/cover;isolation:isolate}
.destino::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(22,56,61,0) 40%,rgba(22,56,61,.92))}
.destino h3{color:var(--blanco);font-family:var(--f-cuerpo);font-weight:700;font-size:1.6rem;letter-spacing:.04em;text-transform:uppercase;margin:0}
.destino::after{content:"→";position:absolute;right:40px;bottom:40px;font-size:1.6rem}
.destino:hover::before{background:linear-gradient(rgba(22,56,61,.1) 20%,rgba(22,56,61,.96))}
@media (max-width:760px){.destinos{grid-template-columns:1fr}.destino{min-height:340px}}

/* Imagen a todo ancho */
.ancho-total img{width:100%;max-height:70vh;object-fit:cover}

/* Amenidades */
.amen{padding:0}
.amen .split{gap:0}
.amen .split__txt{padding:56px 64px}
.amen .split__img img{max-height:none;min-height:420px}
.amen--verde .split__txt{background:var(--verde);color:rgba(255,255,255,.92);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.amen--verde h2{color:var(--blanco)}
@media (max-width:860px){.amen .split__txt{padding:36px 20px}}

/* Listas de cifras y de componentes */
.cifras{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.cifras li{padding:18px 20px;background:var(--crema);border-left:3px solid var(--arena);color:var(--verde);font-weight:500}
.seccion--crema .cifras li{background:var(--blanco)}
.seccion--verde .cifras li{background:rgba(255,255,255,.08);color:var(--blanco);border-left-color:var(--arena)}

/* Ubicación */
.ubic{list-style:none;margin:28px 0 0;padding:0;max-width:720px}
.ubic li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--linea)}
.ubic li span:last-child{font-family:var(--f-ui);font-weight:600;color:var(--arena-os);white-space:nowrap}
.mapa{margin-top:36px}
.mapa img{width:100%}

/* Plantas */
.plantas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:32px}
.plantas figure{margin:0;background:var(--blanco);border:1px solid var(--linea)}
.plantas figcaption{padding:12px 14px;font-family:var(--f-ui);font-weight:600;font-size:.95rem;color:var(--verde)}
.tipologias{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:36px}
.tipo{padding:28px;background:var(--blanco);border:1px solid var(--linea)}
.tipo h3{margin:0 0 .4em}
.tipo p{margin:0 0 .6em;color:var(--suave)}

/* Equipo */
.equipo{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-top:36px}
.persona img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:14px}
.persona h3{margin:0 0 .2em;font-size:1.3rem}
.persona .cargo{font-family:var(--f-ui);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--arena-os);margin:0 0 8px}

/* Galería */
.galeria{columns:3 300px;column-gap:14px}
.galeria a{display:block;margin:0 0 14px;break-inside:avoid;position:relative;overflow:hidden}
.galeria img{width:100%;height:auto;transition:transform .5s}
.galeria a:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(7,17,19,.94);display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:min(1400px,94vw);max-height:88vh;object-fit:contain}
.lightbox button{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}

/* Contacto */
.contacto-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.contacto-panel{background:var(--crema);padding:36px;color:var(--texto)}
.contacto-info{color:rgba(255,255,255,.92)}
.contacto-info p{margin:0 0 24px;font-size:1.1rem}
.contacto-info ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:14px}
.contacto-info a{color:var(--blanco);text-decoration:none;font-weight:500}
.contacto-info a:hover{text-decoration:underline}
.contacto-info img{width:150px;height:150px;border-radius:6px;background:#fff;padding:6px}
.pag-contenido .seccion--verde.contacto{padding-top:0}
@media (max-width:860px){.contacto-grid{grid-template-columns:1fr;gap:32px}.contacto-panel{padding:24px 20px}}

.form-contacto{display:grid;gap:18px}
.form-contacto__fila{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-contacto__fila--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){.form-contacto__fila,.form-contacto__fila--3{grid-template-columns:1fr}}
.campo{display:grid;gap:6px;font-size:.95rem}
.campo>span{font-weight:500;color:var(--verde)}
.campo input,.campo select,.campo textarea{width:100%;padding:12px 14px;border:1px solid var(--linea);background:var(--blanco);font:inherit;color:var(--texto);border-radius:0}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--arena);border-color:var(--verde)}
.campo--check{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-size:.88rem;color:var(--suave)}
.campo--check input{width:auto;margin-top:4px}
.campo--check>span{font-weight:400;color:var(--suave)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-contacto__enviar{justify-self:end;border:0}
.form-contacto__error{margin:0;color:#8a1c1c;font-weight:500}
.form-contacto .is-invalid{border-color:#8a1c1c}
.form-contacto [disabled]{opacity:.6;cursor:wait}

/* Preguntas frecuentes */
.faq{margin:2.4em 0 0}
.faq__item{border-bottom:1px solid var(--linea);padding:4px 0}
.faq__item summary{cursor:pointer;padding:14px 28px 14px 0;font-weight:600;color:var(--verde);list-style:none;position:relative}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.4rem;color:var(--arena-os)}
.faq__item[open] summary::after{content:"−"}
.faq__item p{margin:0 0 16px;color:var(--suave)}

/* Pie: contacto */
.pie__contacto{display:grid;gap:8px;font-size:.95rem}

/* Aparición al desplazarse (solo con JS y sin reducir movimiento) */
.js .rev{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.js .rev.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rev{opacity:1;transform:none}}
