/* contact-styles.css */

/* ==========================================================================
   1. BACKGROUND SLIDESHOW FIX & OVERRIDES
   ========================================================================== */

/* Fixed background wrapper */
.slideshow-wrapper {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  overflow: hidden !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background-color: #000000 !important;
}

/* Base slide setup */
.slideshow-wrapper .slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  opacity: 0;
  will-change: opacity;
  animation: contactFadeSlideshow 20s ease-in-out infinite !important;
}

/* Explicit high-res image paths relative to the css/ folder */
.slideshow-wrapper .slide-1 { 
  background-image: url("../pix/unnamed-3-1920w.jpg") !important; 
  animation-delay: 0s !important; 
}
.slideshow-wrapper .slide-2 { 
  background-image: url("../pix/88064419_868170610355969_8150515796456505344_n-2880w.jpg") !important; 
  animation-delay: 5s !important; 
}
.slideshow-wrapper .slide-3 { 
  background-image: url("../pix/10064-1280w.jpg") !important; 
  animation-delay: 10s !important; 
}
.slideshow-wrapper .slide-4 { 
  background-image: url("../pix/10039-1280w.jpg") !important; 
  animation-delay: 15s !important; 
}

/* Keyframe animation */
@keyframes contactFadeSlideshow {
  0% { opacity: 0; }
  5% { opacity: 1; }
  30% { opacity: 1; }
  35% { opacity: 0; }
  100% { opacity: 0; }
}

/* Ensure transparent body so background is visible */
body {
  background-color: transparent !important;
}


/* ==========================================================================
   2. EXISTING CONTACT CONTAINER & GRID STYLES
   ========================================================================== */

/* FORCE BREAKOUT: Overrides the skinny parent container blocks */
.u_1059275714, 
#1059275714,
.dmresprow.fullbleedmode {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important; /* Disables shrinking flex bounds */
}

/* Container limits itself nicely without getting squished by parent */
.contact-container {
    background: #ffffff;
    border: 3px solid #bce6e8;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 1100px; /* Limits standard readable desktop container footprint */
    box-sizing: border-box;
    margin: 0 auto !important; /* Forces centering inside the parent page row */
}

/* Base structural grid engine */
.contact-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Force side-by-side mode on desktop */
    gap: 30px;
    align-items: stretch;
    width: 100%;
}

.info-side {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.info-side h2 {
    margin-top: 0;
    color: #333333;
    font-size: 24px;
    margin-bottom: 10px;
    text-align: center;
}
.info-side p {
    color: #666666;
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.5;
    text-align: center;
}

/* Map sizing logic */
.map-wrapper {
    position: relative;
    width: 100%;
    flex-grow: 1;
    min-height: 380px; 
    border-radius: 8px;
    overflow: hidden;
}
.map-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Elfsight form area footprint */
.form-side {
    width: 100%;
    height: auto;
    min-height: 450px; 
}

/* Mobile responsive handling */
@media (max-width: 768px) {
    .contact-grid {
        grid-template-columns: 1fr !important; /* Clean vertical stack layout for phones */
        gap: 30px;
    }
    .map-wrapper {
        min-height: 300px;
    }
    .contact-container {
        padding: 20px 15px;
        border-width: 2px;
    }
    .info-side h2 {
        font-size: 20px;
    }
}