/* ═══ Hero unificado · Home, Suite Doble, Suite Familiar y Casa 360 ═══════════════════════
   Una sola anatomía: migas (menos en Home) · línea superior · título · bajada · datos ·
   precio + botones · nota. Mismo contenedor, alto, veladura y escala tipográfica. */
:root{
  --hu-min:max(560px,min(calc(125svh - var(--announce-live,0px) - var(--header-height,72px)),1100px));
  --hu-h1:var(--fs-display-stay);--hu-lh:var(--lh-display-ficha);
  --hu-gold:var(--sand);
  --hu-veil:linear-gradient(180deg,rgba(13,25,22,.72) 0,rgba(13,25,22,0) 170px),linear-gradient(90deg,rgba(13,25,22,.84) 0%,rgba(13,25,22,.7) 36%,rgba(13,25,22,.3) 70%,rgba(13,25,22,.1) 100%),linear-gradient(0deg,rgba(13,25,22,.6),transparent 55%);
}

/* — Superficie — */
html body rp-accommodation-hero.rp-accommodation-hero[variant],
html body .home .hero,
html body .hu{position:relative;isolation:isolate;overflow:hidden;display:block;min-height:var(--hu-min);background:var(--rp-forest-900);color:var(--rp-paper)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__surface{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:var(--hu-min);padding:clamp(1.5rem,4vh,3rem) 0;box-sizing:border-box;background:none}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__shell{width:min(100% - 2 * var(--gutter,24px),var(--layout-max,1200px));margin-inline:auto}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__crumb{padding:0}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__shell:not(.rp-accommodation-hero__crumb){flex:none;display:block;min-height:0;padding:clamp(1.25rem,3vh,2rem) 0 0}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__grid{display:block;width:100%}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__copy{max-width:640px}
html body .hu .hu__bg{position:absolute;inset:0;z-index:-1}
html body .hu .hu__veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--hu-veil)}
html body .hu .hu__shell{position:relative;display:flex;align-items:center;min-height:var(--hu-min);width:min(100% - 2 * var(--gutter,24px),var(--layout-max,1200px));margin-inline:auto;box-sizing:border-box;padding:clamp(3rem,8vh,5rem) 0 clamp(2rem,5vh,3.5rem)}
html body .hu .hu__copy{max-width:640px;text-shadow:0 1px 14px rgba(13,25,22,.5)}

/* — Foto de fondo y veladura (suites y Casa 360) — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__media{position:absolute;z-index:-1;inset:0;margin:0;overflow:hidden}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__media img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:0}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__media figcaption{display:none}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--hu-veil)}

/* — Línea superior — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__eyebrow,
html body .home .hero .eyebrow,
html body .hu__eyebrow{margin:0 0 18px;font:600 var(--fs-meta)/1.3 var(--font-body,Arial,sans-serif);letter-spacing:.02em;text-transform:none;font-style:normal;color:var(--sand,var(--sand))}

/* — Título — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__copy h1,
html body .home .hero .hero-content h1,
html body .hu__title{margin:0 0 22px;max-width:15ch;font-family:var(--font-display,Georgia,serif);font-size:var(--hu-h1);font-weight:400;line-height:var(--hu-lh);letter-spacing:-.03em;text-wrap:balance;color:inherit}

/* — Bajada — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__lead,
html body .home .hero .lead,
html body .hu__lead{margin:0;max-width:46ch;font:400 var(--fs-lead,1.2rem)/1.55 var(--font-body,Arial,sans-serif);font-style:normal;text-wrap:pretty;color:rgba(255,253,247,.94)}

/* — Datos en una línea — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__meta{margin:16px 0 0;font:500 1rem/1.4 var(--font-body,Arial,sans-serif);color:rgba(255,253,247,.88);font-variant-numeric:tabular-nums lining-nums}

/* — Precio + botones en una fila — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__offer,
html body .hu__offer{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin:26px 0 0}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__price{margin:0;display:grid;gap:2px}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__price strong{font:500 clamp(1.7rem,1.4rem + 1vw,2.3rem)/1 var(--font-display,Georgia,serif);font-variant-numeric:lining-nums tabular-nums}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__price span{display:block;margin:0;font-size:.88rem;color:rgba(255,253,247,.82)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__actions,
html body .home .hero .actions,
html body .hu__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__primary,
html body .hu__primary,
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__secondary,
html body .hu__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;box-sizing:border-box;border:1px solid var(--hu-gold);border-radius:var(--btn-radius);font:600 1rem/1.2 var(--font-body,Arial,sans-serif);text-decoration:none;text-shadow:none;transition:background-color .18s,border-color .18s}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__primary,
html body .home .hero .cta-primary,
html body .hu__primary{background:var(--hu-gold);color:var(--text-on-action)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__primary:hover,
html body .home .hero .cta-primary:hover,
html body .hu__primary:hover{background:var(--sand-hover);border-color:var(--sand-hover)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__secondary,
html body .home .hero .cta-secondary-dark,
html body .hu__secondary{background:transparent;color:var(--rp-paper);border-color:rgba(255,253,247,.72)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__secondary:hover,
html body .home .hero .cta-secondary-dark:hover,
html body .hu__secondary:hover{background:rgba(255,253,247,.12);border-color:var(--rp-paper)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__primary:focus-visible,
html body .hu__primary:focus-visible,
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__secondary:focus-visible,
html body .hu__secondary:focus-visible{outline:3px solid #e2c994;outline-offset:3px}

/* — Nota — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__note{margin:14px 0 0;max-width:60ch;font:400 .9375rem/1.45 var(--font-body,Arial,sans-serif);font-style:normal;color:rgba(255,253,247,.86)}

/* — Migas de pan — */
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__crumb rp-breadcrumbs nav{padding:0}

/* — Franja de datos bajo el hero (Casa 360), como la de Home — */
.hu-facts{background:var(--surface-page,#f5f2ea);color:var(--ink,var(--rp-ink-900));padding:clamp(20px,3vw,32px) 0;border-bottom:1px solid var(--border-default,var(--rp-line))}
.hu-facts>rp-page-container{display:block}
.hu-facts rp-quick-facts,.hu-facts rp-quick-facts *{color:var(--ink,var(--rp-ink-900))}
.hu-facts rp-quick-facts dt{color:var(--text-meta,var(--rp-text-600))}

/* — Móvil — */
@media(max-width:1023px){
  :root{--hu-min:max(520px,calc(100svh - var(--announce-live,0px) - var(--header-height,56px)))}
}
@media(max-width:767px){
  html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__offer,
html body .hu__offer{gap:14px}
}
@media(max-width:600px){
  html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__actions,
html body .hu__actions{flex-direction:column;align-items:stretch;width:100%}
  html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__primary,
html body .hu__primary,html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__secondary,
html body .hu__secondary{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__primary,
html body .hu__primary,html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__secondary,
html body .hu__secondary{transition:none}
}

/* — Home (marcado propio): mismo contenedor, veladura y alturas que el resto — */
html body .home .hero::after{background:var(--hu-veil)}
html body .home .hero .hero-content{width:min(100% - 2 * var(--gutter,24px),var(--layout-max,1200px));margin:0 auto;padding:clamp(3rem,8vh,5rem) 0 clamp(2rem,5vh,3.5rem);max-width:none}
html body .home .hero .eyebrow,html body .home .hero .hero-content h1,html body .home .hero .lead,html body .home .hero .actions{max-width:none}
html body .home .hero .hero-content h1{max-width:15ch}
html body .home .hero .lead{max-width:46ch}
html body .home .hero .actions{margin:26px 0 0}
html body .home .hero .cta-primary,html body .home .hero .cta-secondary-dark{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;box-sizing:border-box;border:1px solid var(--hu-gold);border-radius:var(--btn-radius);font:600 1rem/1.2 var(--font-body,Arial,sans-serif);text-decoration:none;text-shadow:none;transition:background-color .18s,border-color .18s}
@media(max-width:600px){html body .home .hero .actions{flex-direction:column;align-items:stretch}html body .home .hero .cta-primary,html body .home .hero .cta-secondary-dark{width:100%}}
html body .home .hero{display:grid;align-items:center}

/* Encuadre de la foto: sin recorte lateral extra; la Suite Doble centra cama y sofá. */
html body .sv-page[data-product="double"] rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__media img{object-position:center 60%}

/* — Hero genérico .hu: foto de fondo y línea de datos (Cómo llegar, Gastronomía) — */
html body .hu .hu__bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
html body .hu .hu__meta{margin:16px 0 0;font:500 1rem/1.4 var(--font-body,Arial,sans-serif);color:rgba(255,253,247,.88)}
html body .hu .hu__offer{margin-top:26px}
html body .hu rp-breadcrumbs{display:block;margin-bottom:clamp(1rem,3vh,1.75rem)}

/* Portada (Inicio): H1 de portada 44–84 px; las fichas usan --fs-display-stay (38–72 px). */
html body .home{--hu-h1:var(--fs-display-home);--hu-lh:var(--lh-display-home)}

html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__highlights{display:flex;flex-wrap:wrap;gap:.35rem 0;margin:18px 0 0;padding:0;list-style:none;font:500 1rem/1.4 var(--font-body,Arial,sans-serif);color:rgba(255,253,247,.92)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__highlights li{padding-right:1rem;margin-right:1rem;border-right:1px solid rgba(215,191,139,.6)}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__highlights li:last-child{border-right:0;margin-right:0;padding-right:0}
@media(max-width:600px){html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__highlights{gap:.35rem 1.25rem}html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__highlights li{margin:0;padding:0;border:0}}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.6rem;row-gap:.25rem}
html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__price-note{flex-basis:100%;font:400 .95rem/1.4 var(--font-body,Arial,sans-serif);color:rgba(255,253,247,.88)}
@media(min-width:601px){html body rp-accommodation-hero.rp-accommodation-hero[variant] .rp-accommodation-hero__highlights{flex-wrap:nowrap;white-space:nowrap}}

/* Auditoría 14 nov: en móvil el texto ocupa todo el ancho; capa uniforme bajo el velo horizontal. */
@media(max-width:767px){:root{--hu-veil:linear-gradient(rgba(13,25,22,.38),rgba(13,25,22,.38)),linear-gradient(180deg,rgba(13,25,22,.72) 0,rgba(13,25,22,0) 170px),linear-gradient(90deg,rgba(13,25,22,.84) 0%,rgba(13,25,22,.7) 36%,rgba(13,25,22,.3) 70%,rgba(13,25,22,.1) 100%),linear-gradient(0deg,rgba(13,25,22,.6),transparent 55%)}}
/* Home: en móvil se encuadra hacia la bahía (izquierda de la foto). */
@media(max-width:767px){html body .home .hero > picture > img{object-position:28% 58%}}

/* El nombre del alojamiento forma parte del H1 para lectores de pantalla; visualmente ya está en la línea superior. */
.rp-accommodation-hero__h1-product{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
