/* ============================================================
   DIAZ STAYS — Brand Override Stylesheet
   Colours, fonts, and UI elements aligned to the brand book.
   Loaded last so it takes precedence over template defaults.
   ============================================================ */

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@300;400;500;600&family=Nova+Mono&display=swap');

/* ── CSS VARIABLES ── */
:root {
  --ds-ocean:       #2E7D9A;
  --ds-shallow:     #4A90A4;
  --ds-haze:        #7BB8C8;
  --ds-drift:       #AACFDA;
  --ds-mist:        #C8E3EC;
  --ds-seafoam:     #E3F2F7;
  --ds-sky:         #F0F8FA;
  --ds-sand:        #C9B89A;
  --ds-dune:        #E8DDD0;
  --ds-shore:       #F5F0E8;
  --ds-white:       #FDFCFA;
  --ds-driftwood:   #7A6A55;
  --ds-driftwood-lt:#A08E7A;
}

/* ── TYPOGRAPHY ── */

body,
.hotale-body,
p,
div,
span,
input,
select,
textarea,
.hotale-navigation .sf-menu > li > a,
.hotale-top-bar-left-text,
.tourmaster-head,
.tourmaster-tail {
  font-family: 'Jost', sans-serif !important;
}

/* Big display headings — Allura (script) */
.hotale-additional-font,
h1.gdlr-core-title-item-title.hotale-additional-font,
h2.gdlr-core-title-item-title.hotale-additional-font,
h3.gdlr-core-title-item-title.hotale-additional-font {
  font-family: 'Allura', cursive !important;
  font-weight: 400 !important;
}

/* Smaller titles (room cards, testimonials, sub-sections) — Jost */
.gdlr-core-title-item-title:not(.hotale-additional-font),
.class-test:not(.hotale-additional-font),
h1.gdlr-core-title-item-title:not(.hotale-additional-font),
h2.gdlr-core-title-item-title:not(.hotale-additional-font),
h3.gdlr-core-title-item-title:not(.hotale-additional-font),
.tourmaster-room-title a,
.gdlr-core-blog-title a,
.gdlr-core-testimonial-title {
  font-family: 'Jost', sans-serif !important;
  font-weight: 500 !important;
}


/* ── HEADER / NAV ── */

/* Transparent header on hero: keep fully transparent */
.hotale-header-background-transparent .hotale-header-background {
  opacity: 0 !important;
}

/* Sticky / scrolled header */
.hotale-animate-fixed-navigation .hotale-header-background {
  background-color: rgba(240, 248, 250, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* Vertically center the logo when the nav becomes sticky */
.hotale-animate-fixed-navigation.hotale-header-style-plain.hotale-style-center-menu .hotale-logo {
  top: 50% !important;
  transform: translateY(-50%) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Nav links */
.hotale-navigation .sf-menu > li > a {
  color: rgba(255,255,255,0.9) !important;
  letter-spacing: 0.12em !important;
}
.hotale-animate-fixed-navigation .hotale-navigation .sf-menu > li > a {
  color: var(--ds-ocean) !important;
}

/* Navigation slide bar */
.hotale-navigation .hotale-navigation-slide-bar {
  background-color: var(--ds-ocean) !important;
  border-bottom-color: var(--ds-ocean) !important;
}

/* "Book Now" checkout button */
#tourmaster-room-navigation-checkout-button,
.tourmaster-room-navigation-checkout-button {
  background-color: var(--ds-ocean) !important;
  border-color: var(--ds-ocean) !important;
  font-family: 'Jost', sans-serif !important;
  letter-spacing: 0.1em !important;
  font-size: 12px !important;
}
#tourmaster-room-navigation-checkout-button:hover,
.tourmaster-room-navigation-checkout-button:hover {
  background-color: var(--ds-shallow) !important;
  border-color: var(--ds-shallow) !important;
}

/* Currency switcher */
.tourmaster-currency-switcher .tourmaster-head {
  color: rgba(255,255,255,0.85) !important;
}

/* ── HEADINGS / SKIN COLORS ── */

/* Skin title class — always Ocean */
.gdlr-core-skin-title,
.gdlr-core-title-item-title {
  color: var(--ds-ocean) !important;
}

/* Large display headings (.hotale-additional-font + .class-test inline style color:#000000) */
.gdlr-core-title-item-title.hotale-additional-font,
.gdlr-core-title-item-title.class-test {
  color: var(--ds-ocean) !important;
}

/* Hero heading — Allura script, white over the hero image */
#gdlr-core-title-item-1 .gdlr-core-title-item-title,
#gdlr-core-title-item-1 .gdlr-core-title-item-title.hotale-additional-font,
#gdlr-core-title-item-1 .gdlr-core-title-item-title.class-test {
  color: #ffffff !important;
  font-family: 'Allura', cursive !important;
  font-weight: 400 !important;
}

/* Hero overlay — covers the whole hero section for text legibility */
#gdlr-core-wrapper-1 {
  position: relative !important;
}
#gdlr-core-wrapper-1::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.35) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
#gdlr-core-wrapper-1 .gdlr-core-pbf-wrapper-content {
  position: relative !important;
  z-index: 3 !important;
}


/* Room / blog titles */
h3.tourmaster-room-title a,
.gdlr-core-blog-title.gdlr-core-skin-title a {
  color: var(--ds-ocean) !important;
}

/* Testimonial author name */
.gdlr-core-testimonial-title.gdlr-core-title-font {
  color: var(--ds-ocean) !important;
}

/* Hide the decorative quote glyph in testimonials */
.gdlr-core-testimonial-quote {
  display: none !important;
}

/* ── BUTTONS & CTAS ── */

/* Filled / tourmaster primary button */
body a.tourmaster-button,
body a.tourmaster-button:hover,
body input[type="submit"].tourmaster-button,
body input[type="submit"].tourmaster-button:hover {
  background-color: var(--ds-ocean) !important;
  border-color: var(--ds-ocean) !important;
}

/* Search form submit */
.tourmaster-room-search-submit {
  background-color: var(--ds-ocean) !important;
  border-color: var(--ds-ocean) !important;
  color: white !important;
}

/* Transparent / border-only CTA links */
a.gdlr-core-button.gdlr-core-button-transparent.gdlr-core-button-with-border,
a.gdlr-core-button.gdlr-core-button-with-border {
  color: var(--ds-ocean) !important;
  border-color: var(--ds-ocean) !important;
}
a.gdlr-core-button.gdlr-core-button-transparent.gdlr-core-button-with-border i,
a.gdlr-core-button.gdlr-core-button-with-border i {
  color: var(--ds-ocean) !important;
}

/* "Book Now / View All" text links in rooms */
a.tourmaster-read-more.tourmaster-type-text {
  color: var(--ds-ocean) !important;
}
a.tourmaster-read-more.tourmaster-type-text i {
  color: var(--ds-ocean) !important;
}

/* ── ABOUT — keep original portrait height for the first image ── */
#gdlr-core-column-3 .gdlr-core-image-item-wrap {
  aspect-ratio: 1000 / 1130 !important;
  overflow: hidden !important;
}
#gdlr-core-column-3 .gdlr-core-image-item-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* ── DIAZ EXPERIENCE IMAGES — uniform aspect ratio ── */
#gdlr-core-wrapper-7 .gdlr-core-image-item-wrap {
  aspect-ratio: 1300 / 716 !important;
  overflow: hidden !important;
}
#gdlr-core-wrapper-7 .gdlr-core-image-item-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* ── HERO LOAD SEQUENCE & SLOW IMAGE ZOOM ── */

/* Slow zoom in-out loop on hero image */
@keyframes ds-hero-zoom {
  0%   { transform: scale(1); }
  100% { transform: scale(1.08); }
}
#gdlr-core-wrapper-1 .gdlr-core-pbf-background {
  animation: ds-hero-zoom 16s ease-in-out infinite alternate !important;
  transform-origin: center !important;
}

/* Fade-up keyframe used by hero content */
@keyframes ds-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Hero waterfall — heading first, then subhead, then search form */
#gdlr-core-title-item-1,
#gdlr-core-wrapper-1 .gdlr-core-text-box-item,
#gdlr-core-wrapper-1 .tourmaster-room-search-item {
  animation: ds-fade-up 1.1s cubic-bezier(.22,.61,.36,1) both !important;
}
#gdlr-core-title-item-1               { animation-delay: 0.3s !important; }
#gdlr-core-wrapper-1 .gdlr-core-text-box-item     { animation-delay: 1.0s !important; }
#gdlr-core-wrapper-1 .tourmaster-room-search-item { animation-delay: 1.7s !important; }

/* Navbar — visible immediately, sticky always.
   The slide-down entrance animation was removed: the navbar is part of
   the page chrome, not the hero waterfall. Only the show/hide on scroll
   gets a snappy transition. */
.hotale-header-wrap,
.hotale-header-background,
.hotale-sticky-navigation,
.hotale-fixed-navigation .hotale-header-wrap {
  transition: transform 0.18s ease-out, opacity 0.18s ease-out, top 0.18s ease-out, background-color 0.18s ease-out !important;
}

@media (prefers-reduced-motion: reduce) {
  #gdlr-core-wrapper-1 .gdlr-core-pbf-background,
  #gdlr-core-title-item-1,
  #gdlr-core-wrapper-1 .gdlr-core-text-box-item,
  #gdlr-core-wrapper-1 .tourmaster-room-search-item {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ── HOVER & SCROLL ANIMATIONS ── */

/* Image zoom on card hover (room cards + featured listing images) */
.tourmaster-room-thumbnail,
#gdlr-core-wrapper-7 .gdlr-core-image-item-wrap {
  overflow: hidden !important;
}
.tourmaster-room-thumbnail img,
#gdlr-core-wrapper-7 .gdlr-core-image-item-wrap img {
  transition: transform 0.7s cubic-bezier(.22,.61,.36,1) !important;
}
.tourmaster-room-grid-inner:hover .tourmaster-room-thumbnail img,
#gdlr-core-wrapper-7 .gdlr-core-image-item-wrap:hover img {
  transform: scale(1.06) !important;
}

/* Subtle card lift on hover */
.tourmaster-room-grid-inner {
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
.tourmaster-room-grid-inner:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 50px rgba(46, 125, 154, 0.14) !important;
}

/* Scroll-into-view reveal */
.ds-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.ds-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ds-reveal,
  .tourmaster-room-thumbnail img,
  #gdlr-core-wrapper-7 .gdlr-core-image-item-wrap img,
  .tourmaster-room-grid-inner {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ── ROOM CARDS ── */

/* Uniform thumbnail size (matches Luxury Suite 780×595) */
.tourmaster-room-thumbnail img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 780 / 595 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Price badge — smaller, more subtle */
.tourmaster-price-wrap.tourmaster-with-bg {
  background-color: var(--ds-ocean) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 9px 14px !important;
  letter-spacing: 0.04em !important;
}
.tourmaster-price-wrap.tourmaster-with-bg .tourmaster-price {
  font-size: 13px !important;
  font-weight: 500 !important;
}
.tourmaster-price-wrap.tourmaster-with-bg .tourmaster-price-discount {
  font-size: 11px !important;
}
.tourmaster-price-wrap.tourmaster-with-bg .tourmaster-tail,
.tourmaster-price-wrap.tourmaster-with-bg .tourmaster-head {
  font-size: 11px !important;
  font-weight: 400 !important;
  opacity: 0.85 !important;
}

/* Instagram gallery — uniform square images */
#gdlr-core-gallery-1 .gdlr-core-gallery-list img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  height: auto !important;
}

/* Ribbon / discount tag */
.tourmaster-ribbon {
  background-color: var(--ds-sand) !important;
  color: var(--ds-driftwood) !important;
}

/* ── ICONS (AMENITIES) ── */

.gdlr-core-icon-item-icon {
  color: var(--ds-ocean) !important;
}

/* ── SLIDER NAVIGATION ── */

.gdlr-core-flexslider-custom-nav i.flex-prev,
.gdlr-core-flexslider-custom-nav i.flex-next {
  color: var(--ds-ocean) !important;
}

/* Bullet dots */
.gdlr-core-flexslider.gdlr-core-bullet-style-round .flex-control-nav li a {
  background: var(--ds-drift) !important;
  border-color: var(--ds-drift) !important;
}
.gdlr-core-flexslider.gdlr-core-bullet-style-round .flex-control-nav li a.flex-active {
  background: var(--ds-ocean) !important;
  border-color: var(--ds-ocean) !important;
}

/* ── NEWSLETTER ── */

.gdlr-core-newsletter-item .newsletter-submit {
  background-color: var(--ds-ocean) !important;
  border-color: var(--ds-ocean) !important;
}

/* ── FOOTER ── */

.hotale-footer-wrapper {
  background-color: var(--ds-ocean) !important;
}
.hotale-footer-wrapper h4 {
  color: rgba(255, 255, 255, 0.55) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
.hotale-footer-wrapper p,
.hotale-footer-wrapper span,
.hotale-footer-wrapper a {
  color: rgba(255, 255, 255, 0.55) !important;
}
.hotale-footer-wrapper a:hover {
  color: rgba(255, 255, 255, 0.9) !important;
}
.hotale-footer-wrapper .fa {
  color: rgba(255, 255, 255, 0.6) !important;
}
.hotale-copyright-wrapper {
  background-color: #1d5f77 !important;
}
.hotale-copyright-wrapper a,
.hotale-copyright-right {
  color: rgba(255, 255, 255, 0.5) !important;
}
.hotale-copyright-wrapper a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ── LOGO SIZE ── */

.hotale-logo-inner {
  max-width: 170px !important;
}
@media only screen and (max-width: 999px) {
  .hotale-mobile-header .hotale-logo-inner { max-width: 150px !important; }
}
