/* Roller Mobility v5 · adaptación Habitamar de Soft Fill, Photo Zoom y Accent Line. */
:root {
  --hm-interaction-accent: var(--hm-home-accent,#65c8f4);
  --hm-interaction-ink: var(--hm-home-navy,#102940);
  --hm-interaction-tint: color-mix(in srgb,var(--hm-home-accent,#65c8f4) 14%,white);
}
/* Also recognizes the reusable class names in any Gutenberg module. */
.hm-fx-fill,.hm-fx-photo,.hm-fx-line { transition: background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .28s ease,outline-color .22s ease; }
.hm-fx-photo { display:block; overflow:hidden; }
.hm-fx-photo img { display:block; transition:transform .32s ease; }
.hm-fx-line { text-decoration-color:transparent; text-underline-offset:.24em; }
.hm-site .hm-btn,.hm-site .hm-header__contact,.hm-home .hm-home-blue-link,.hm-page-reserve-link,.hmec .hmec-btn { transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease; }
.hm-home .hm-home-trust__cards article,.hm-home .hm-home-reserve__steps li { transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.hmec .hmec-stay { position:relative; transition:border-color .22s ease,box-shadow .22s ease; }
.hmec .hmec-stay::after { content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--hm-interaction-accent);transform:scaleX(0);transform-origin:left center;transition:transform .24s ease;pointer-events:none; }
:where(.hm-fx-fill, .hm-fx-photo, .hm-fx-line, .hmec-btn, .hm-home-blue-link, .hm-page-reserve-link, .hmec-stay) {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
:where(.hm-fx-photo, .hmec-gallery__tile, .hm-home-experience) { overflow: hidden; }
:where(.hm-fx-photo, .hmec-gallery__tile, .hm-home-experience) img { transition: transform .25s ease; }
:where(.hm-fx-line, .hmec-anchor-nav a) { box-shadow: inset 0 -2px transparent; }
:is(.hm-fx-fill,.hmec-btn,.hm-home-blue-link,.hm-page-reserve-link,.hmec a,.hmec button,.hm-site a):focus-visible {
  outline: 2px solid var(--hm-interaction-accent);
  outline-offset: 3px;
}
@media (hover:hover) and (pointer:fine) {
  :is(.hm-fx-fill,.hmec .hmec-btn,.hm-home .hm-home-blue-link,.hm-page-reserve-link,.hm-site .hm-header__contact,.hm-home .hm-home-final__actions .hm-home-final__secondary):hover {
    background: var(--hm-interaction-accent) !important;
    border-color: var(--hm-interaction-accent) !important;
    color: var(--hm-interaction-ink) !important;
  }
  :is(.hm-home .hm-home-trust__cards article,.hm-home .hm-home-reserve__steps li):hover {
    background: var(--hm-interaction-tint);
    box-shadow: inset 0 0 0 1px var(--hm-interaction-accent);
  }
  :is(.hm-fx-photo,.hmec .hmec-gallery__tile,.hm-home .hm-home-experience):hover img { transform: scale(1.045); }
  :is(.hm-fx-photo,.hmec .hmec-gallery__tile,.hm-home .hm-home-experience):hover {
    outline: 2px solid var(--hm-interaction-accent);
    outline-offset: -2px;
  }
  :is(.hm-home .hm-home-trust__cards article,.hm-home .hm-home-reserve__steps li):hover {
    transform: translateY(-3px);
    border-color: var(--hm-interaction-accent);
  }
  .hmec .hmec-stay:is(:hover,:focus-within) { transform:none!important;background:#fff;box-shadow:0 14px 36px rgba(16,57,88,.09);border-color:var(--hmec-line); }
  .hmec .hmec-stay:is(:hover,:focus-within)::after { transform:scaleX(1); }
  .hm-fx-photo:hover img { transform: scale(1.045); }
  .hm-fx-line:hover { text-decoration-color: var(--hm-interaction-accent); }
  :is(.hm-dest-card,.hm-place-card,.hm-post-card,.hm-why__card,.hm-booking-card):hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(16,41,64,.12), inset 0 0 0 1px var(--hm-interaction-accent);
  }
  :is(.hm-dest-card,.hm-place-card,.hm-post-card):hover img { transform: scale(1.035); }
  :is(.hm-dest-card,.hm-place-card,.hm-post-card,.hm-why__card,.hm-booking-card) { transition: transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
  :is(.hm-dest-card__link,.hm-dest-card__trust-link,.hm-post-card a):hover { color: var(--hm-interaction-accent) !important; }
  :is(.hm-fx-line,.hmec .hmec-anchor-nav a):hover { box-shadow: inset 0 -2px var(--hm-interaction-accent); }
  .hm-site .hm-footer .hm-footer__social a:hover {
    background: var(--hm-interaction-accent) !important;
    border-color: var(--hm-interaction-accent) !important;
    color: var(--hm-interaction-ink) !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  :is(.hm-fx-fill,.hm-fx-photo,.hm-fx-line,.hmec-btn,.hm-home-blue-link,.hm-page-reserve-link,.hmec-stay,.hm-dest-card,.hm-place-card,.hm-post-card,.hm-why__card,.hm-booking-card),
  :is(.hm-fx-photo,.hmec .hmec-gallery__tile,.hm-home .hm-home-experience) img {
    transition: none !important;
    transform: none !important;
  }
}
@media (prefers-reduced-motion:reduce) { .hmec .hmec-stay::after { transition:none!important; } }
@media (hover:hover) and (pointer:fine) {
  .hm-site :is(.hm-btn,.hm-header__contact):hover {
    background: var(--hm-interaction-accent) !important;
    border-color: var(--hm-interaction-accent) !important;
    color: var(--hm-interaction-ink) !important;
  }
}
