/* Static enhancements for the Cloudflare Pages copy */

.dp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  width: 100%;
  padding: 8px 0 32px;
}
.dp-gallery-grid .dp-shot {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #ece8dc;
}
.dp-gallery-grid .dp-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.dp-gallery-grid .dp-shot:hover img {
  transform: scale(1.04);
}

.dp-contact-alt {
  max-width: 36rem;
}
.dp-contact-note {
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: inherit;
  margin: 0 0 1.25rem;
}
.dp-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}
.dp-btn {
  display: inline-block;
  background: #64561f;
  color: #fff !important;
  text-decoration: none !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 12px 20px;
  border-radius: 2px;
  border: 2px solid #64561f;
}
.dp-btn:hover { opacity: 0.92; }
.dp-btn-outline {
  background: transparent;
  color: #64561f !important;
}

/* Mobile nav: hide the drawer until the hamburger is used */
.dp-mobile-drawer {
  display: none !important;
}
body.dp-nav-open .dp-mobile-drawer {
  display: block !important;
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background: #64561f;
  overflow: auto;
  padding: 72px 28px 32px !important;
  width: auto !important;
  height: auto !important;
}
body.dp-nav-open { overflow: hidden; }

@media (min-width: 1024px) {
  /* Desktop uses the inline header nav; keep the drawer hidden */
  .dp-mobile-drawer,
  body.dp-nav-open .dp-mobile-drawer {
    display: none !important;
  }
  body.dp-nav-open { overflow: visible; }
}


/* Keep the homepage title from breaking mid-word (e.g. a lone N under CONSTRUCTION) */
.x [data-aid="HEADER_TAGLINE_RENDERED"],
.x [data-ux="Tagline"] {
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
  hyphens: none !important;
}

@media (max-width: 480px) {
  .x h1[data-aid="HEADER_TAGLINE_RENDERED"],
  .x [data-ux="Tagline"] {
    font-size: clamp(22px, 6.8vw, 32px) !important;
  }
}
