/* HCM SEO + CRO, 2026-11-08. Añade contraste y disposición; conserva
   tipografía, botones, cabecera y motor React originales. */
.hcm-room-choice{overflow:hidden;min-width:0}
.hcm-room-choice .hcm-room-photo{margin:-28px -28px 18px}
.hcm-room-choice .hcm-room-photo img{
  display:block;width:100%;max-height:235px;aspect-ratio:640/420;
  height:auto;object-fit:cover;background:#eae7e2
}
.hcm-room-photo figcaption{
  padding:10px 20px 2px;color:#3c454b;font-size:13px;line-height:1.45
}
.hcm-room-choice h2{line-height:1.25}
.hcm-room-choice .hcm-btn{width:100%;margin-top:10px;min-height:50px}
.hcm-seo-booking-steps{padding-top:20px;padding-bottom:34px}
.hcm-seo-booking-steps ol{
  counter-reset:seo-steps;list-style:none;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:0;margin:0
}
.hcm-seo-booking-steps li{
  position:relative;padding:20px 16px 20px 54px;
  background:#f5f8f6;border:1px solid #dbe4df;border-radius:12px;
  color:#173b36;line-height:1.55;font-size:15px
}
.hcm-seo-booking-steps li:before{
  counter-increment:seo-steps;content:counter(seo-steps);
  position:absolute;top:19px;left:16px;width:28px;height:28px;
  border-radius:50%;display:grid;place-items:center;
  background:#075c50;color:white;font-weight:700
}
.hcm-seo-location-cta{background:#f4f7f3;border-top:1px solid #e3eae3}
.hcm-seo-location-cta>.container{max-width:1024px}
.hcm-seo-location-cta .hcm-actions{display:flex;gap:12px;flex-wrap:wrap}
.hcm-seo-location-cta .hcm-btn{min-height:48px}
.hcm-consent-banner{
 position:fixed;bottom:16px;right:16px;z-index:999;
 width:min(370px,calc(100% - 32px));background:#fff;
 border:1px solid #b7c9c1;border-radius:14px;padding:16px;
 box-shadow:0 14px 40px rgba(0,0,0,.2);color:#17302b
}
.hcm-consent-banner p{line-height:1.5;font-size:14px;margin:0 0 12px}
.hcm-consent-actions{display:flex;gap:8px;flex-wrap:wrap}
.hcm-consent-actions button{
 flex:1 1 110px;min-height:45px;border-radius:8px;border:1px solid #375c53;
 background:#fff;color:#17302b;padding:8px 12px;font:inherit;font-size:14px;
 cursor:pointer
}
.hcm-consent-actions button[data-accept]{background:#075c50;color:#fff}
.hcm-consent-settings{background:transparent;border:0;color:inherit;
 text-decoration:underline;text-underline-offset:3px;font:inherit;
 cursor:pointer;padding:4px;margin:5px 0}
.hcm-consent-banner button:focus-visible,.hcm-consent-settings:focus-visible{
 outline:3px solid #1a65a9;outline-offset:3px
}
@media(max-width:767px){
 .hcm-room-choice .hcm-room-photo{margin:-20px -20px 18px}
 .hcm-seo-booking-steps ol{grid-template-columns:1fr}
 .hcm-consent-banner{right:10px;bottom:10px;width:calc(100% - 20px)}
}
@media(prefers-reduced-motion:reduce){
 .hcm-consent-banner,.hcm-room-choice{transition:none}
}

/* Fotos REALES de habitaciones 3/4/5: diseño compacto y accesible */
.hcm-capacity-grid,.hcm-capacity-home-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
.hcm-capacity-grid{margin:22px 0}
.hcm-room-capacity-card{padding:0;overflow:hidden;min-width:0}
.hcm-capacity-photo{margin:0}
.hcm-capacity-photo img,.hcm-capacity-gallery img,.hcm-capacity-home-card img{
 display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
 background:#eee9e3;border-radius:9px
}
.hcm-capacity-photo img{border-radius:12px 12px 0 0}
.hcm-capacity-photo figcaption{padding:8px 16px 0;color:#52615b;font-size:13px}
.hcm-capacity-body{padding:16px}
.hcm-capacity-body h2{font-size:clamp(20px,2.4vw,25px);margin:0 0 10px}
.hcm-capacity-body p{line-height:1.55}
.hcm-capacity-body .hcm-btn{min-height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center}
.hcm-capacity-home-card{display:block;color:inherit;text-decoration:none;border:1px solid #dfe5e1;border-radius:12px;overflow:hidden}
.hcm-capacity-home-card span{display:block;font-weight:700;padding:12px 15px}
.hcm-capacity-home-card:focus-visible,.hcm-capacity-gallery a:focus-visible{outline:3px solid #075c50;outline-offset:3px}
.hcm-room-conditions{font-size:14px;line-height:1.6;color:#4e5a55}
.hcm-room-cooling{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 26px}
.hcm-room-cooling p{margin:0;font-weight:600}
.hcm-room-cooling a{color:#075c50;text-decoration:underline;text-underline-offset:3px}
.hcm-capacity-gallery{margin:0;min-width:0}
.hcm-capacity-gallery figcaption{font-size:15px;padding:9px 1px;line-height:1.4}
.hcm-room-capacity-highlights,.hcm-room-photo-gallery{padding-top:20px;padding-bottom:35px}
.hcm-capacity-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){
 .hcm-capacity-grid,.hcm-capacity-home-grid,.hcm-capacity-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
 .hcm-capacity-grid,.hcm-capacity-home-grid,.hcm-capacity-preview{grid-template-columns:1fr}
 .hcm-room-cooling{align-items:flex-start}
}
