/* === from GTM: Near By Now Styling === */
/* COUNTRYTOWNE WIDGET FIX */

/* Outer wrapper: center and contain */
.nnp-msn-wrapper {
  max-width: 1100px;
  margin: 2.5rem auto;
  padding: 1.5rem;
  background: #fff;
  border: 2px solid #232629; /* Asphalt */
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}

/* Make slides & reviews display in two columns on desktop */
.nnp-msn {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

/* Image slider styling */
.nnp-slider img,
.nnp-ci-image {
  width: 100%;
  border-radius: 6px;
  object-fit: cover;
  margin-bottom: 1rem;
}

/* Review cards */
.nnp-msn-brk {
  background: #fdffe7; /* Antique White */
  padding: 1rem;
  border-left: 4px solid #287b8d; /* Steel Blue */
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* Reviewer info */
.nnp-ci-user-name {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  color: #032734; /* Denim */
  display: block;
  margin-bottom: 0.25rem;
}
.nnp-ci-timestamp {
  font-size: 0.9rem;
  color: #388e8f; /* Ultramarine Blue */
}

/* Review text */
.nnp-ci-body {
  font-family: Georgia, serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #232629;
  margin-top: 0.5rem;
}

/* Location icon and address */
.nnp-ci-address {
  font-family: Georgia, serif;
  font-size: 0.95rem;
  color: #5f936c; /* Garden Green */
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

/* Navigation arrows */
.nnp-ig-icon {
  background-color: #287b8d;
  color: #fff;
  border-radius: 50%;
  padding: 0.3rem;
  transition: background 0.3s ease;
}
.nnp-ig-icon:hover {
  background-color: #388e8f;
}

/* Responsive: stack for mobile */
@media (max-width: 768px) {
  .nnp-msn {
    grid-template-columns: 1fr !important;
  }
}

/* === from GTM: banner-bottom-right === */
.banner-bottom-right {
    position: absolute !important;
    bottom: 2rem;
    right: 2rem;
    z-index: 5;
}

.siteforceContentArea { 
    position: relative !important; 
}

/* === from GTM: Load Eager css class === */
/* ===========================
   Default: Lazyload behavior
   =========================== */
img[loading="lazy"],
iframe[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.3s ease;
}

img[loading="lazy"].loaded,
iframe[loading="lazy"].loaded {
  opacity: 1;
}

/* ===========================
   Eager-load override
   (Opt-out of lazy loading)
   =========================== */
.eager-load {
  opacity: 1 !important;
  transition: none !important;
}

/* Elements inside eager sections */
.eager-load img,
.eager-load svg,
.eager-load iframe {
  animation: none !important;
  filter: none !important;
  /* note: loading= and fetchpriority= are HTML attributes, 
     so these lines are ignored by browsers but harmless */
  loading: eager !important;
  fetchpriority: high !important;
}

/* ===========================
   Brand font & icon stability
   =========================== */
svg, .icon, .icon-img {
  width: 1em;
  height: 1em;
  vertical-align: middle;
  flex-shrink: 0;
  fill: currentColor;
}

/* Hero images and above-the-fold */
.eager-load.hero-banner img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* Button/icon stability */
.eager-load button svg,
.eager-load .cta-btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* === from GTM: Website Image Light Box styling === */
.lightbox-img,
.lightbox-img img {
  display: block;
  transition: transform 0.25s ease-in-out;
  transform-origin: center center;
}

.lightbox-img:hover,
.lightbox-img:hover img {
  transform: scale(1.03);
}

.lightbox-overlay {
  display: none;
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  text-align: center;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
/* ==========================
   COUNTRY TOWNE LIGHTBOX CAPTION
   ========================== */
.lightbox-caption {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(30, 21, 73, 0.9); /* Country Towne Purple with 90% opacity */
  color: #FFFFFF;
  padding: 14px 30px;
  border-radius: 10px;
  max-width: 80%;
  font-family: 'Outfit', 'Georgia', serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.3px;
  text-align: center;
  z-index: 100001;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* Fade in when active */
.lightbox-overlay[style*="display: block"] .lightbox-caption {
  opacity: 1;
}

/* Accent divider bar (optional, brand purple tone) */
.lightbox-caption::before {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background: #32727B; /* Steel Blue accent */
  margin: 0 auto 10px auto;
  border-radius: 2px;
}

/* Responsive refinements */
@media (max-width: 768px) {
  .lightbox-caption {
    font-size: 14px;
    padding: 10px 20px;
    bottom: 25px;
    max-width: 90%;
  }
}

/* Center image vertically & horizontally */
.lightbox-overlay img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
  transition: opacity 0.3s ease;
}

/* Close button */
.lightbox-close {
  position: fixed;
  top: 20px;
  right: 40px;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 100000;
  transition: color 0.3s ease;
}
.lightbox-close:hover { color: #bbb; }

/* Clickable image hint */
.lightbox-img {
  cursor: pointer !important;
  transition: transform 0.2s ease;
}

.lightbox-img:hover {
  transform: scale(1.03);
}
.lightbox-prev, .lightbox-next {
  position: fixed;
  top: 50%;
  font-size: 50px;
  color: white;
  padding: 10px;
  cursor: pointer;
  user-select: none;
  z-index: 100000;
  transform: translateY(-50%);
  transition: color 0.3s ease;
}
.lightbox-prev { left: 30px; }
.lightbox-next { right: 30px; }
.lightbox-prev:hover, .lightbox-next:hover { color: #bbb; }

/* === from GTM: hide utm field css === */
.hide [class*="utm"],
.hide [class*="gclid"] {
  display: none !important;
}
