@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
  font-family: var(--font-sans);
  background-color: #FAF8F5;
  color: #1F2937;
  overflow-x: hidden;
}

.font-serif {
  font-family: var(--font-serif);
}

/* Glassmorphism */
.glass-nav {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
}

/* Infinite Scrolling Marquee for Google Reviews */
@keyframes scrollReviews {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.marquee-container {
  overflow: hidden;
  display: flex;
  user-select: none;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: scrollReviews 38s linear infinite;
}

.marquee-container:hover .marquee-track {
  animation-play-state: paused;
}

/* Responsive Embed Container */
.map-responsive {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  border-radius: 1.25rem;
}

.map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Modal Styling */
.video-modal-backdrop {
  background-color: rgba(11, 56, 41, 0.85);
  backdrop-filter: blur(6px);
}