/* Fix framer-motion SSR initial states (opacity:0 / transforms) for non-JS static site */
[style*="opacity:0"]:not([class^="leaflet"]), [style*="opacity: 0"]:not([class^="leaflet"]) { opacity: 1 !important; }
[style*="translate"]:not([class^="leaflet"]) { transform: none !important; }
[style*="scale("]:not([class^="leaflet"]) { transform: none !important; }

/* Custom modal styles */
.maison-modal-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,0.85);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  animation: maisonFadeIn .2s ease;
}
@keyframes maisonFadeIn { from{opacity:0} to{opacity:1} }
.maison-modal-box {
  background: var(--background, #fff);
  color: inherit;
  max-width: 720px; width: 100%;
  max-height: 90vh; overflow: auto;
  padding: 2rem; border-radius: 12px;
  position: relative;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
}
.maison-modal-close {
  position: absolute; top: .75rem; right: .75rem;
  background: transparent; border: 0; cursor: pointer;
  font-size: 1.5rem; line-height: 1; padding: .25rem .5rem;
  color: inherit; opacity: .6;
}
.maison-modal-close:hover { opacity: 1; }
.maison-modal-name { font-family: var(--font-display, "Cormorant Garamond", serif); font-size: 1.5rem; margin: 0 0 .5rem; }
.maison-modal-stars { color: #c9a14a; margin-bottom: 1rem; letter-spacing: 2px; }
.maison-modal-text { line-height: 1.7; }

/* Lightbox */
.maison-lightbox {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,0.95);
  display: flex; align-items: center; justify-content: center;
}
.maison-lightbox img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 8px; }
.maison-lightbox button {
  position: absolute; background: transparent; border: 0; color: #fff;
  cursor: pointer; padding: .5rem 1rem; font-size: 2rem;
}
.maison-lightbox .lb-close { top: 1rem; right: 1rem; }
.maison-lightbox .lb-prev { left: 1rem; top: 50%; transform: translateY(-50%) !important; }
.maison-lightbox .lb-next { right: 1rem; top: 50%; transform: translateY(-50%) !important; }
.maison-lightbox .lb-counter {
  position: absolute; bottom: 1.5rem; left: 50%;
  transform: translateX(-50%) !important;
  color: rgba(255,255,255,.7); font-size: .9rem;
}

/* Form 'no backend' notice */
form .maison-form-notice {
  margin-top: 1rem; padding: .75rem 1rem; background: #fef3c7; color: #92400e;
  border-radius: 6px; font-size: .875rem;
}
