/* ===== Amore Dream Bali — Custom CSS ===== */
/* Styles that Elementor cannot natively produce */

/* ===== Transparent Header — both variants ===== */
/* Make header absolute-positioned over page content */
.elementor-location-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 500;
  pointer-events: none;
}
.elementor-location-header * {
  pointer-events: auto;
}

/* Home header: large logo centered */
.adb-header-home {
  padding-top: 20px;
}

/* Inner page header: brand left, nav right */
.adb-header-inner .adb-brand-img img {
  border: 1px solid rgba(241,241,238,.25) !important;
  background: rgba(216,214,206,.1);
}

/* ===== Desktop Submenu Dropdown — both headers ===== */
.adb-header .elementor-nav-menu--main .sub-menu {
  background: rgba(15,47,37,.97) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(241,241,238,.12);
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  padding: 10px 0 !important;
  min-width: 200px;
  margin-top: 8px !important;
}
.adb-header .elementor-nav-menu--main .sub-menu li {
  border-bottom: none !important;
}
.adb-header .elementor-nav-menu--main .sub-menu a {
  color: rgba(241,241,238,.85) !important;
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 14px !important;
  font-weight: 400;
  letter-spacing: .3px;
  padding: 11px 22px !important;
  transition: color .2s ease, background .2s ease;
}
.adb-header .elementor-nav-menu--main .sub-menu a:hover,
.adb-header .elementor-nav-menu--main .sub-menu a:focus {
  color: #FFFFFF !important;
  background: rgba(241,241,238,.06) !important;
}
.adb-header .elementor-nav-menu--main .sub-menu .elementor-item-active {
  color: #F29A2E !important;
}

/* ===== Mobile Menu — Home Header Only ===== */
@media (max-width: 767px) {

  /* 1) Lock header row height so nothing jumps on dropdown open/close */
  .adb-header-home > .e-con-inner {
    position: relative;
    align-items: center;
  }

  /* 2) Nav widget wrapper — set relative so dropdown anchors to it */
  .adb-header-home .elementor-widget-nav-menu {
    position: relative;
  }

  /* 3) Keep the hamburger/X toggle fixed in place */
  .adb-header-home .elementor-menu-toggle {
    position: relative;
    z-index: 510;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(241,241,238,.25) !important;
    border-radius: 6px;
    background: transparent !important;
    transition: border-color .25s ease;
  }
  .adb-header-home .elementor-menu-toggle:hover,
  .adb-header-home .elementor-menu-toggle.elementor-active {
    border-color: rgba(241,241,238,.5) !important;
  }

  /* Toggle icon sizing */
  .adb-header-home .elementor-menu-toggle svg {
    width: 18px;
    height: 18px;
    fill: #F1F1EE;
  }

  /* 4) Dropdown: absolute position, full-width overlay below header */
  .adb-header-home .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: -152px !important;     /* offset to reach screen edge */
    right: auto !important;
    width: 50vw !important;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    background: rgba(15,47,37,.97) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(241,241,238,.12);
    border-bottom: 1px solid rgba(241,241,238,.12);
    box-shadow: 0 12px 32px rgba(0,0,0,.35);
    padding: 16px 0 20px !important;
    z-index: 505;
    border-radius: 8px !important;
  }

  /* 5) Dropdown menu items — styled to match theme */
  .adb-header-home .elementor-nav-menu--dropdown li {
    border-bottom: none !important;
  }
  .adb-header-home .elementor-nav-menu--dropdown a {
    color: rgba(241,241,238,.85) !important;
    font-family: 'Poppins', system-ui, sans-serif;
    font-size: 15px !important;
    font-weight: 400;
    letter-spacing: .3px;
    padding: 13px 28px !important;
    transition: color .2s ease, background .2s ease;
    display: block;
  }
  .adb-header-home .elementor-nav-menu--dropdown a:hover,
  .adb-header-home .elementor-nav-menu--dropdown a:focus {
    color: #FFFFFF !important;
    background: rgba(241,241,238,.06) !important;
  }
  .adb-header-home .elementor-nav-menu--dropdown .elementor-item-active {
    color: #F29A2E !important;
  }

  /* 6) Submenu (Our Projects → children) indented */
  .adb-header-home .elementor-nav-menu--dropdown .sub-menu {
    padding-left: 0 !important;
    background: transparent !important;
  }
  .adb-header-home .elementor-nav-menu--dropdown .sub-menu a {
    padding-left: 44px !important;
    font-size: 14px !important;
    color: rgba(241,241,238,.7) !important;
  }

  /* 7) Hide horizontal nav list on mobile (already handled by Elementor but be safe) */
  .adb-header-home .elementor-nav-menu--main {
    display: none !important;
  }


}

/* Parallax scroll effect on hero images */
.adb-parallax-image {
  transform: translate3d(0,0,0) scale(1.04);
  will-change: transform;
  object-position: center top;
}

/* Hero rounded border container */
.adb-hero-rounded {
  margin: 10px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
}

/* Page header rounded container */
.adb-page-header-rounded {
  margin: 10px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
}

/* Custom gradient overlays */
.adb-hero-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.36) 0%, rgba(0,0,0,.18) 38%, rgba(0,0,0,.42) 100%);
  z-index: 0;
  pointer-events: none;
}

.adb-page-header-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.28) 100%);
  z-index: 0;
  pointer-events: none;
}

/* ===== Amenity Switcher — native Elementor panels + tabs ===== */

/* Panel show/hide */
.adb-amenity-panel:not(.is-active) {
  display: none !important;
}

/* Panel — figure wrapper role (shadow border behind) */
.adb-amenity-panel {
  position: relative !important;
  overflow: visible !important;
  border-radius: 8px;
}
.adb-amenity-panel::after {
  content: "";
  position: absolute;
  left: -15px;
  top: 15px;
  right: 15px;
  bottom: -15px;
  border: 1px solid rgba(241,241,238,.4);
  pointer-events: none;
  background-color: rgba(220,220,220,.23);
  z-index: 0;
  border-radius: 8px;
}

/* Image inside panel */
.adb-amenity-panel > .elementor-widget-image {
  position: relative;
  z-index: 1;
}
.adb-amenity-panel > .elementor-widget-image img {
  border: 1px solid rgba(241,241,238,.22);
  border-radius: 8px;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 980px) {
  .adb-amenity-panel > .elementor-widget-image img {
    min-height: 640px;
  }
}

/* Caption overlay (Container, positioned absolute over image) */
.adb-amenity-caption-overlay {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  top: auto !important;
  width: auto !important;
  z-index: 2;
  display: grid !important;
  gap: 16px;
  align-content: start;
  padding: 30px !important;
  max-height: calc(100% - 36px);
  border: 1px solid rgba(241,241,238,.26) !important;
  background: rgb(15 47 37 / 75%) !important;
  backdrop-filter: blur(1px);
  box-shadow: 0 16px 30px rgba(0,0,0,.24);
  overflow: auto;
  color: #F1F1EE;
}
.adb-amenity-caption-overlay::before {
  content: "";
  position: absolute;
  inset: 15px;
  background: linear-gradient(180deg, rgba(15,47,37,.2) 0%, rgba(15,47,37,.82) 100%);
  z-index: -1;
}

/* Caption text-only variant (only intro, no list) */
.adb-caption-text-only {
  align-content: center !important;
  text-align: center;
}
.adb-caption-text-only .elementor-widget-text-editor {
  text-align: center;
}
.adb-caption-text-only .elementor-widget-text-editor p {
  max-width: 56ch;
  margin-inline: auto;
}

/* Icon-list inside caption — override Elementor defaults */
.adb-amenity-caption-overlay .elementor-icon-list-items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.adb-amenity-caption-overlay .elementor-icon-list-item {
  margin: 0;
  padding: 0;
}

/* Tab headings (right column) */
.adb-amenity-tab {
  cursor: pointer;
  transition: transform .2s ease;
}
.adb-amenity-tab .elementor-heading-title {
  color: rgba(241,241,238,.54) !important;
  transition: color .2s ease, transform .2s ease, opacity .2s ease;
  opacity: .84;
}
.adb-amenity-tab.is-active .elementor-heading-title,
.adb-amenity-tab:hover .elementor-heading-title {
  color: #F1F1EE !important;
  transform: translateX(4px);
  opacity: 1;
}
.adb-amenity-tab:focus-within .elementor-heading-title {
  outline: 2px solid rgba(241,241,238,.45);
  outline-offset: 4px;
}

/* ===== Footer Styles ===== */
.adb-footer-gradient {
  background: linear-gradient(180deg, #0F2F25 0%, #0F4F2F 100%);
  border-radius: 16px 16px 0 0;
}

.adb-footer-social-icon {
  border: 1px solid rgba(241,241,238,.24);
  border-radius: 999px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}

.adb-footer-social-icon:hover {
  background: rgba(241,241,238,.10);
}

.adb-footer-social-icon svg {
  width: 18px;
  height: 18px;
  stroke: #F1F1EE;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ===== Rich Project Card — native Elementor containers ===== */

/* Card wrapper — hover lift */
.adb-rich-card {
  transition: transform .24s ease, box-shadow .24s ease;
}
.adb-rich-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,.14) !important;
}

/* Image section — position context for badge + overlay */
.adb-rich-card-img {
  position: relative;
}

/* Badge — absolute top-left inside image section */
.adb-badge-abs {
  position: absolute !important;
  top: 20px;
  left: 20px;
  z-index: 3;
  width: auto !important;
  max-width: max-content;
}

/* Orange accent bar on body */
.adb-rich-card-body {
  position: relative;
}
.adb-rich-card-body::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  width: 52px;
  height: 2px;
  background: #F29A2E;
}

/* Actions row — border-top separator */
.adb-rich-card-actions {
  padding-top: 14px;
  border-top: 1px solid rgba(241,241,238,.2);
}
/* Make each button fill equal space */
.adb-rich-card-actions > .elementor-element {
  flex: 1 1 auto;
  min-width: 0;
}
.adb-rich-card-actions .elementor-button {
  width: 100%;
}

/* ===== Legacy compat (kept for other pages) ===== */
.adb-project-rich-body {
  background: linear-gradient(180deg, #0F2F25 0%, #0F4F2F 100%);
  position: relative;
}
.adb-project-rich-body::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  width: 52px;
  height: 2px;
  background: #F29A2E;
}

/* ===== Location Tabs ===== */
.adb-loc-tab {
  padding: 12px 24px;
  border: none;
  background: transparent;
  color: rgba(241,241,238,.6);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}

.adb-loc-tab:hover { color: #F1F1EE; }
.adb-loc-tab.is-active {
  color: #F1F1EE;
  border-bottom-color: #F29A2E;
}

/* ===== CTA Gradient Button ===== */
.adb-btn-gradient .elementor-button,
.adb-btn-gradient.elementor-button {
  background: linear-gradient(180deg, #0F2F25 0%, #0F4F2F 100%) !important;
  color: #F1F1EE !important;
  border: 1px solid rgba(241,241,238,.24) !important;
  transition: opacity .2s ease, transform .2s ease;
}
.adb-btn-gradient .elementor-button:hover,
.adb-btn-gradient.elementor-button:hover {
  opacity: .88;
  transform: translateY(-1px);
}

/* ===== Feature Items ===== */
.adb-feature-item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(241,241,238,.75);
  color: #0F2F25;
  font-size: 20px;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .02em;
}

.adb-feature-item svg {
  width: 45px;
  height: 45px;
  color: #0F4F2F;
}

@media (max-width: 560px) {
  .adb-feature-item {
    font-size: 15px;
  }
}

/* ===== Responsive Adjustments ===== */
@media (prefers-reduced-motion: reduce) {
  .adb-parallax-image {
    transform: translate3d(0,0,0) scale(1.02) !important;
  }
}
