/**
 * Small bridge styles for WP chrome + media zone / logo image.
 */

.logo-image {
  display: block;
  max-height: 48px;
  width: auto;
}

@media (max-width: 980px) {
  .logo-image {
    max-height: 40px;
  }
}

@media (max-width: 640px) {
  .logo-image {
    max-height: 34px;
  }
}

.lra-media-zone {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
}

@media (max-width: 640px) {
  .lra-media-zone {
    border-radius: 16px;
  }
}

.lra-media-zone img,
.lra-media-zone video {
  width: 100%;
  display: block;
}

.lra-media-embed {
  position: relative;
  aspect-ratio: 16 / 9;
}

.lra-media-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.lra-media-caption {
  margin: 0.6rem 0 0;
  color: #5c5c5c;
  font-size: 0.92rem;
}

.lra-slideshow {
  position: relative;
  min-height: 240px;
  background: #efeae3;
}

@media (max-width: 640px) {
  .lra-slideshow {
    min-height: 180px;
  }
}

.lra-slideshow__slide {
  display: none;
}

.lra-slideshow__slide.is-active {
  display: block;
}

.lra-slideshow__prev,
.lra-slideshow__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(30, 58, 95, 0.75);
  color: #fff;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1;
}

.lra-slideshow__prev { left: 0.65rem; }
.lra-slideshow__next { right: 0.65rem; }

.lra-slideshow__dots {
  position: absolute;
  left: 50%;
  bottom: 0.75rem;
  transform: translateX(-50%);
  display: flex;
  gap: 0.35rem;
}

.lra-slideshow__dots button {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  padding: 0;
  /* Expand hit area without changing visual size much */
  box-shadow: 0 0 0 10px transparent;
}

.lra-slideshow__dots button.is-active {
  background: #d8b36a;
}

.nav-links > a,
.nav-links a {
  text-decoration: none;
}

/*
 * CRITICAL: menu panel must paint ABOVE the cream navbar bar.
 * (Previously z-index 1001 under navbar 1002 = invisible links.)
 */
.navbar {
  z-index: 1000 !important;
}

.nav-panel,
#nav-panel {
  z-index: 1003 !important;
}

.logo {
  z-index: 1004 !important;
}

/*
 * CRITICAL nav contrast (nav-panel is OUTSIDE .navbar).
 * Default + scrolled = navy on cream. White only at top over dark hero.
 */
#nav-panel .nav-links a,
#nav-links a,
.nav-panel .nav-links a {
  color: #1e3a5f !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#nav-panel .nav-links a:hover,
#nav-panel .nav-links a.is-active,
#nav-panel .nav-links a[aria-current="page"],
#nav-links a:hover,
#nav-links a.is-active,
#nav-links a[aria-current="page"] {
  color: #c96e4b !important;
}

body.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a,
body.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-links a,
.nav-panel.is-over-hero:not(.is-scrolled) .nav-links a {
  color: #ffffff !important;
}

body.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a:hover,
body.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a.is-active,
body.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a[aria-current="page"],
.nav-panel.is-over-hero:not(.is-scrolled) .nav-links a:hover,
.nav-panel.is-over-hero:not(.is-scrolled) .nav-links a.is-active,
.nav-panel.is-over-hero:not(.is-scrolled) .nav-links a[aria-current="page"] {
  color: #d8b36a !important;
}

/* Mobile drawer is cream — never keep hero-white links while open */
body.nav-open #nav-panel .nav-links a,
body.nav-open #nav-links a,
body.nav-open .nav-panel .nav-links a,
body.nav-open.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a,
body.nav-open.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-links a,
body.nav-open .nav-panel.is-over-hero:not(.is-scrolled) .nav-links a {
  color: #1e3a5f !important;
}

body.nav-open #nav-panel .nav-links a:hover,
body.nav-open #nav-panel .nav-links a.is-active,
body.nav-open #nav-panel .nav-links a[aria-current="page"],
body.nav-open #nav-links a:hover,
body.nav-open #nav-links a.is-active,
body.nav-open #nav-links a[aria-current="page"],
body.nav-open.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a:hover,
body.nav-open.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a.is-active,
body.nav-open.lra-nav-on-hero:not(.lra-nav-scrolled) #nav-panel .nav-links a[aria-current="page"] {
  color: #c96e4b !important;
}

body.lra-nav-scrolled #nav-panel .nav-links a,
body.lra-nav-solid #nav-panel .nav-links a,
.nav-panel.is-scrolled .nav-links a {
  color: #1e3a5f !important;
}

body.lra-nav-scrolled .logo-title,
body.lra-nav-solid .logo-title,
.navbar.is-scrolled .logo-title {
  color: #1e3a5f !important;
}

body.lra-nav-scrolled .logo-sub,
body.lra-nav-solid .logo-sub,
.navbar.is-scrolled .logo-sub {
  color: #c96e4b !important;
}

body.lra-nav-on-hero:not(.lra-nav-scrolled) .logo-title {
  color: #ffffff !important;
}

body.lra-nav-on-hero:not(.lra-nav-scrolled) .logo-sub {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* WordPress may inject empty wrappers — keep mobile drawer solid */
.nav-panel .menu,
.nav-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.admin-bar .navbar {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .navbar {
    top: 46px;
  }
}

@media (max-width: 980px) {
  body.admin-bar.nav-open .nav-panel {
    top: 0;
  }
}

.lra-block-content > .section,
.lra-block-content > .wp-block-group {
  margin: 0;
}

.lra-hero-slideshow,
.lra-hero-video,
.hero-media .lra-slideshow,
.page-hero-media .lra-slideshow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.lra-hero-video,
.hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lra-hero-video-embed {
  position: absolute;
  inset: 0;
}

.lra-hero-video-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.lra-card-list[data-columns="1"] { grid-template-columns: 1fr !important; }
.lra-card-list[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.lra-card-list[data-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.lra-card-list[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.destination-body .eyebrow {
  color: var(--accent);
}

@media (max-width: 640px) {
  .lra-card-list[data-columns] {
    grid-template-columns: 1fr !important;
  }
  .lra-card-list.stats-row[data-columns] {
    grid-template-columns: 1fr 1fr !important;
  }
}

.lra-block-content {
  min-height: 60vh;
}

/* Keep page content above the footer so a failed edit never stacks header over footer */
.site-main,
.lra-block-content,
main#contenido {
  min-height: 50vh;
}

/* Editor/content images shouldn't blow out mobile layouts */
.lra-block-content img,
.entry-content img {
  max-width: 100%;
  height: auto;
}
.lra-block-content .apt-gallery__item img,
.entry-content .apt-gallery__item img {
  max-width: none;
  height: 100%;
}
/* Hero / page-hero must always fill the frame (beat height:auto). */
.lra-block-content .hero-media img,
.lra-block-content .page-hero-media img,
.entry-content .hero-media img,
.entry-content .page-hero-media img,
.hero-media img,
.page-hero-media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 640px) {
  .lra-block-content .wp-block-columns {
    gap: 1rem !important;
  }
}
