/* ============================================================
   Atheria Footer — Reveal styles
   ============================================================ */

.ath-footer{position:relative;isolation:isolate}

/* Under the copyright row, the 71px the divider has above its line (the stack's
   56px gap and the divider's own 15px), less the 20px its containers already pad. */
.ath-footer.section-xl{padding-bottom:51px}

.ath-footer__col,
.ath-footer__nav-group{min-width:0}

/* From 1025 each column keeps what it needs whole: the contact column the email address (D-152), and each links group its longest label. */
@media (min-width:1025px){
  .ath-footer__top>.ath-footer__col{min-width:min-content}
  .ath-footer__top .ath-footer__nav-group{min-width:max-content}
}

/* Below 1280 the three columns cannot sit side by side with every link whole, so the contact details go under the brand and the links keep the right. */
@media (min-width:1025px) and (max-width:1279.98px){
  .ath-footer .ath-footer__top{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:40px}
  .ath-footer__top>.ath-footer__brand.ath-footer__col,
  .ath-footer__top>.ath-footer__contact.ath-footer__col{--width:100%;width:100%;max-width:none;grid-column:1}
  .ath-footer__top>.ath-footer__nav.ath-footer__col{grid-column:2;grid-row:1 / span 2}
}

.ath-footer__cta-text{max-width:36ch}

/* The contact column reads Hotel details, so with none typed it holds nothing and gives up its place; the editor keeps it as a drop target. */
body:not(.elementor-editor-active) .ath-footer__contact:not(:has(.elementor-element)){display:none}

.ath-footer__contact .ath-hotel-contact__label{
  font-family:var(--ath-font-body);
  font-size:var(--ath-text-h6-size);
  font-weight:var(--ath-text-h6-weight);
  line-height:var(--ath-text-h6-lh);
  letter-spacing:var(--ath-text-h6-ls);
}

.ath-footer__contact .ath-hotel-contact__line{
  font-family:var(--ath-font-body);
  font-size:var(--ath-text-caption-size);
  font-weight:var(--ath-text-caption-weight);
  line-height:var(--ath-text-caption-lh);
  letter-spacing:var(--ath-text-caption-ls);
}

/* The colours here are the class's own defaults, deliberately without
   !important. Elementor writes a bound control at element level, which is more
   specific than anything scoped to this class, so the template owns the value
   and this owns the fallback. Pinning a literal with !important instead put the
   footer links beyond the reach of both the template and the buyer's palette.
   The `a.elementor-button` variant is what keeps the block ahead of Elementor's
   own per-widget-type default, which is one class less specific. */
.ath-footer__link .elementor-button,
.ath-footer__link a.elementor-button,
.elementor-button.ath-footer__link{
  background-color:transparent;
  background-image:none;
  border:none;
  box-shadow:none;
  text-shadow:none;
  padding:0;
  margin:0;
  color:var(--ath-on-inverse-muted);
  text-align:left;
  justify-content:flex-start;
  width:auto;
  letter-spacing:.18em;
  font-style:normal;
  text-decoration:none;
  word-spacing:normal;
  transform:none;
  transition:color .35s cubic-bezier(.22,1,.36,1);
}

/* Site Settings > Buttons writes Hover at `:hover` and `:focus` together, and
   these links answered only the first. Without this the Kit repainted them on
   a mouse click. It sits before the hover block so keyboard focus still takes
   the accent colour from the rule below. */
.ath-footer__link .elementor-button:focus,
.ath-footer__link a.elementor-button:focus,
.elementor-button.ath-footer__link:focus{
  background-color:transparent;
  background-image:none;
  border:none;
  box-shadow:none;
  color:var(--ath-on-inverse-muted);
}

.ath-footer__link .elementor-button:hover,
.ath-footer__link .elementor-button:focus-visible,
.ath-footer__link a.elementor-button:hover,
.ath-footer__link a.elementor-button:focus-visible,
.elementor-button.ath-footer__link:hover,
.elementor-button.ath-footer__link:focus-visible{
  background-color:transparent;
  background-image:none;
  border:none;
  box-shadow:none;
  color:var(--ath-on-inverse-accent);
  transform:none;
}

.ath-footer__link .elementor-button:focus-visible,
.ath-footer__link a.elementor-button:focus-visible,
.elementor-button.ath-footer__link:focus-visible{
  outline:2px solid var(--ath-focus-ring-inverse);
  outline-offset:4px;
  border-radius:2px;
}

.ath-footer__cta-actions .elementor-button,
.ath-footer__cta-actions a.elementor-button{
  white-space:nowrap;
}

@media (max-width:1024px){
  .ath-footer__cta-actions .elementor-button,
  .ath-footer__cta-actions a.elementor-button{
    padding:.75rem 1.5rem;
  }
}

/* Held from the first painted frame until the reveal controller marks the footer as taken over, because a state set by the script arrives after the paint it has to precede. */
.ath-js-ready:not(.ath-no-motion) body:not(.elementor-editor-active) .ath-footer[data-ath-module="footer-reveal"]:not(.ath-footer-02):not([data-ath-footer-entered]) :is(.ath-footer__eyebrow,.ath-footer__cta-title,.ath-footer__cta-text,.ath-footer__cta-actions,.ath-footer__nav-group,.ath-footer__contact > *,.ath-footer__bottom){
  opacity:0;
  visibility:hidden;
  animation:ath-footer-01-failsafe .01s linear 2.5s forwards;
}

@keyframes ath-footer-01-failsafe{
  to{opacity:1;visibility:visible}
}

.ath-footer[data-ath-init="true"] .ath-footer-reveal__item{
  opacity:0;
  transform:translate3d(0,24px,0);
  will-change:transform,opacity;
}

@media (prefers-reduced-motion: reduce){
  .ath-footer[data-ath-init="true"] .ath-footer-reveal__item{
    opacity:1 !important;
    transform:none !important;
  }
}
