body{margin:0;background:#F8F6F1}
.room-nav{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(14,31,45,.72);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.room-tab{font:inherit;text-align:left;cursor:pointer;background:transparent;border:0;padding:22px 0;display:flex;align-items:baseline;gap:18px;min-height:44px;color:#8E9AA5;border-bottom:1px solid rgba(255,255,255,.12)}
.room-tab[aria-selected="true"]{color:#fff;border-bottom-color:rgba(201,163,82,.5)}
.room-tab .n{font-family:"Josefin Sans",sans-serif;font-size:14px;letter-spacing:2px}
.room-tab[aria-selected="true"] .n,.room-tab[aria-selected="true"] .ar{color:#C9A352}
.room-tab .t{font-family:"Bodoni Moda",serif;font-size:34px;line-height:1.1}
.room-tab .ar{margin-left:auto;font-size:22px;visibility:hidden}
.room-tab[aria-selected="true"] .ar{visibility:visible}
.thumb{flex:0 0 auto;width:84px;height:60px;padding:0;border:2px solid transparent;border-radius:2px;overflow:hidden;cursor:pointer;background:none;opacity:.55}
.thumb[aria-current="true"]{border-color:#C9A352;opacity:1}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wa-float{display:flex!important}

html{scroll-behavior:smooth}
a{color:#8A6522}a:hover{color:#5E4512}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:hmcFade 24s infinite,hmcZoom 24s infinite linear}
.slides img:nth-child(2){animation-delay:6s,6s}
.slides img:nth-child(3){animation-delay:12s,12s}
.slides img:nth-child(4){animation-delay:18s,18s}
@keyframes hmcFade{0%{opacity:0}5%{opacity:1}25%{opacity:1}30%{opacity:0}100%{opacity:0}}
@keyframes hmcZoom{0%{transform:scale(1)}30%{transform:scale(1.1)}100%{transform:scale(1.1)}}
.rise{animation:hmcRise 1.1s cubic-bezier(.2,.7,.2,1) both}
.rise2{animation:hmcRise 1.1s .25s cubic-bezier(.2,.7,.2,1) both}
.rise3{animation:hmcRise 1.1s .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes hmcRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.cue{animation:hmcBob 2s ease-in-out infinite}
@keyframes hmcBob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.track{display:flex;width:max-content;animation:hmcMarquee 38s linear infinite}
@keyframes hmcMarquee{to{transform:translateX(-50%)}}
.zoom{overflow:hidden}
.zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img{transform:scale(1.07)}
.parallax{background-size:cover;background-position:center;background-attachment:fixed}
.wa-float{position:fixed;right:24px;bottom:24px;z-index:50;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1F7A4D;animation:hmcPulse 2.4s ease-out infinite}
@keyframes hmcPulse{from{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}
.lift{transition:transform .35s ease,box-shadow .35s ease}
.lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(14,31,45,.14)}
.navlink{position:relative}
.navlink::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:#C9A352;transition:right .3s ease}
.navlink:hover::after{right:0}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.slides img:first-child{opacity:1}.parallax{background-attachment:scroll}}
@media (hover:none){.parallax{background-attachment:scroll}}

/* ===== Celular: contenido centrado ===== */
@media (max-width: 760px) {
  header > div { justify-content: center !important; }
  header nav { justify-content: center !important; }
  .hmc-classic #historia, .hmc-classic #habitaciones, .hmc-classic #servicios, .hmc-classic #desayuno, .hmc-classic #galeria, .hmc-classic #ubicacion, .hmc-classic #contacto, footer { text-align: center; }
  .hmc-classic #historia [style*="flex-direction: column"], .hmc-classic #habitaciones [style*="flex-direction: column"],
  .hmc-classic #servicios [style*="flex-direction: column"], .hmc-classic #desayuno [style*="flex-direction: column"],
  .hmc-classic #galeria [style*="flex-direction: column"], .hmc-classic #ubicacion [style*="flex-direction: column"],
  .hmc-classic #contacto > div > div { align-items: center !important; }
  .hmc-classic #habitaciones > div > div:first-child, .hmc-classic #servicios > div > div:first-child, .hmc-classic #galeria > div > div:first-child { justify-content: center !important; }
  .hmc-classic #historia blockquote { border-left: 0 !important; padding: 16px 0 0 !important; border-top: 2px solid #C9A352; }
  .hmc-classic #historia [style*="gap: 40px"] { justify-content: center !important; text-align: center; }
  .hmc-classic #historia [style*="margin-top: 64px"], .hmc-classic #desayuno [style*="margin-top: 56px"] { margin-top: 0 !important; }
  .hmc-classic #historia [style*="height: 460px"] { height: 300px !important; }
  .hmc-classic #habitaciones ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; text-align: left; }
  .hmc-classic #ubicacion dl { grid-template-columns: 1fr !important; gap: 2px !important; }
  .hmc-classic #ubicacion dd { margin-bottom: 12px !important; }
  .hmc-classic #contacto [style*="display: flex; gap: 12px"] { justify-content: center; flex-wrap: wrap; }
  .hmc-classic #contacto form { text-align: left; }
  .hmc-classic #contacto form button { justify-self: center !important; }
  footer [style*="justify-content: space-between"] { justify-content: center !important; text-align: center; }
  footer img { margin: 0 auto; }
  footer nav { justify-content: center; }
  .hmc-classic #servicios .zoom > div { right: 0; text-align: center; }
}

/* ===== Celular: habitaciones como lista desplegable ===== */
@media (max-width: 860px) {
  .hmc-classic #habitaciones .room-tabs { flex: 1 1 100% !important; }
  .hmc-classic #habitaciones .room-tab { width: 100%; justify-content: center; position: relative; }
  .hmc-classic #habitaciones .room-tab .ar { position: absolute; right: 4px; visibility: visible; transition: transform .3s; color: #C9A352; }
  .hmc-classic #habitaciones .room-tab[aria-expanded="true"] .ar { transform: rotate(90deg); }
  .hmc-classic #habitaciones .room-tab[aria-expanded="false"] { color: #F6F4EE; }
  .hmc-classic #habitaciones .room-tab[aria-expanded="false"] .n { color: #C9A352; }
  .hmc-classic #habitaciones [role="tabpanel"] { margin: 4px 0 18px; animation: hmcOpen .35s ease both; }
  .hmc-classic #habitaciones [role="tabpanel"][hidden] { display: none !important; }
  .hmc-classic #habitaciones [role="tabpanel"] > div { flex: 1 1 100% !important; }
  .hmc-classic #habitaciones [role="tabpanel"] [style*="min-height: 440px"] { min-height: 300px !important; }
  .hmc-classic #habitaciones [role="tabpanel"] [style*="padding: 36px 32px"] { padding: 24px 20px !important; align-items: center; text-align: center; }
  .hmc-classic #habitaciones .room-cta { align-self: center !important; }
  .hmc-classic #room-name { display: none; }
}
@keyframes hmcOpen { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (max-width: 860px) {
  .hmc-classic #habitaciones .room-tabs, .hmc-classic #habitaciones [role="tabpanel"] > div:first-child { align-items: stretch !important; }
}
@media (max-width: 760px) {
  header > div { padding: 8px 16px !important; gap: 8px 12px !important; }
  header nav { display: none !important; }
  header a[href="#inicio"] img { height: 32px !important; }
  header a[href=".hmc-classic #contacto"] { padding: 9px 14px !important; font-size: 13px !important; margin-left: 2px !important; }
}
@media (max-width: 860px) {
  .hmc-classic #habitaciones .room-tabs > [role="tabpanel"] { flex: 0 0 auto !important; width: 100%; }
}
@media (max-width: 860px) { .hmc-classic #room-thumbs { justify-content: center; flex-wrap: wrap; } .hmc-classic #room-thumbs .thumb { width: 70px; height: 50px; } }
@media (max-width: 860px) { .hmc-classic #habitaciones > div > div { width: 100%; align-self: stretch !important; } .hmc-classic #habitaciones .room-tab .t { padding: 0 28px; } }
@media (max-width: 860px) { .hmc-classic #room-name { display: block !important; font-size: 30px !important; } }
.hmc-classic #room-services li::before{content:"\2713";color:#C9A352;margin-right:8px}
@media (max-width: 860px) { .hmc-classic #room-services { justify-items: start; text-align: left; } .hmc-classic #room-services-wrap { align-self: stretch; align-items: center; } }

/* ===================== Versión Elementor ===================== */
.hmc-el .elementor-widget-text-editor p{margin:0 0 .9em}
.hmc-el .elementor-widget-text-editor p:last-child{margin-bottom:0}
.hmc-el .zoom{overflow:hidden}
.hmc-el .zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hmc-el .zoom:hover img{transform:scale(1.07)}
.hmc-el .hmc-cue{position:absolute!important;left:50%;bottom:28px;margin-left:-22px;width:44px!important;animation:hmcBob 2s ease-in-out infinite}
.hmc-el .hmc-marquee{overflow:hidden;white-space:nowrap}
.hmc-el .hmc-marquee .elementor-heading-title{display:flex;width:max-content;animation:hmcMarquee 38s linear infinite}
.hmc-el .hmc-marquee .elementor-heading-title span{padding-right:48px}
.hmc-el .hmc-card{transition:transform .5s ease}
.hmc-el .hmc-card:hover{transform:translateY(-4px)}
/* Habitaciones (pestañas de Elementor) */
.hmc-el .hmc-rooms .e-n-tabs{counter-reset:room}
.hmc-el .hmc-rooms .e-n-tabs-heading{gap:0!important}
.hmc-el .hmc-rooms .e-n-tab-title{counter-increment:room;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;padding:22px 0!important;justify-content:flex-start!important;align-items:baseline!important;gap:18px!important;color:#8E9AA5!important;cursor:pointer;width:100%}
.hmc-el .hmc-rooms .e-n-tab-title::before{content:counter(room,decimal-leading-zero);font-family:"Josefin Sans",sans-serif;font-size:14px;letter-spacing:2px}
.hmc-el .hmc-rooms .e-n-tab-title::after{content:"→";margin-left:auto;font-size:22px;color:#C9A352;visibility:hidden}
.hmc-el .hmc-rooms .e-n-tab-title-text{font-family:"Bodoni Moda",serif!important;font-size:34px!important;line-height:1.1!important;font-weight:400!important;color:inherit!important}
.hmc-el .hmc-rooms .e-n-tab-title[aria-selected="true"]{color:#FFFFFF!important;border-bottom-color:rgba(201,163,82,.5)!important}
.hmc-el .hmc-rooms .e-n-tab-title[aria-selected="true"]::before,.hmc-el .hmc-rooms .e-n-tab-title[aria-selected="true"]::after{color:#C9A352;visibility:visible}
.hmc-el .hmc-rooms .e-n-tabs-content > .e-con{background:#16293A;border:0!important;border-radius:2px;overflow:hidden}
.hmc-el .hmc-room-carousel .swiper-slide-image{width:100%;height:440px;object-fit:cover;display:block}
.hmc-el .hmc-room-services .elementor-icon-list-items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.hmc-el .hmc-dist dl{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin:8px 0 0}
.hmc-el .hmc-dist dt{font-weight:700;color:#0E1F2D}
.hmc-el .hmc-dist dd{margin:0;color:#3A4650}
.hmc-el .hmc-contact-links a{color:#D7DCE0}
@media (max-width:1024px){
  .hmc-el .hmc-rooms .e-n-tab-title{justify-content:center!important;position:relative}
  .hmc-el .hmc-rooms .e-n-tab-title::after{position:absolute;right:4px;visibility:visible;transition:transform .3s}
  .hmc-el .hmc-rooms .e-n-tab-title[aria-selected="true"]::after{transform:rotate(90deg)}
  .hmc-el .hmc-rooms .e-n-tab-title:not([aria-selected="true"]){color:#F6F4EE!important}
  .hmc-el .hmc-rooms .e-n-tab-title:not([aria-selected="true"])::before{color:#C9A352}
  .hmc-el .hmc-rooms .e-n-tabs-content > .e-con{margin:4px 0 18px}
}
@media (max-width:767px){
  .hmc-el .hmc-room-carousel .swiper-slide-image{height:300px}
  .hmc-el .hmc-room-services .elementor-icon-list-items{text-align:left}
  .hmc-el .hmc-dist dl{grid-template-columns:1fr;gap:2px}
  .hmc-el .hmc-dist dd{margin-bottom:12px}
  .hmc-el #contacto form{text-align:left}
}

/* Fotos: llenan su recuadro (galería, historia, desayuno) */
.hmc-el .elementor-widget-image.zoom{width:100%}
.hmc-el .elementor-widget-image.zoom a{display:block}
.hmc-el .elementor-widget-image.zoom img{width:100%!important;max-width:100%;object-fit:cover;display:block;border-radius:2px}
