/* ============================================================
   0. GLOBAL RESET & BASE STYLES
   ============================================================ */

:root {
  --mint-glass-light: rgba(180, 255, 200, 0.45);
  --mint-glass-strong: rgba(150, 240, 180, 0.35);
  --mint-border: rgba(0, 255, 150, 0.4);
  --mint-glow: rgba(0, 255, 180, 0.25);
  --dark-green: #1f4d2e;
}

body {
  background-color: rgba(220, 255, 235, 0.45);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  animation: fadeIn 0.8s ease;
}

/* @keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
} */


/* ============================================================
   1. HERO SECTION
   ============================================================ */

.hero {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
}

.hero-contained {
  height: 95vh;                 /* almost full screen */
  width: 100%;
  max-width: 1600px;            /* keeps it elegant, not edge-to-edge */
  margin: 0 auto;
  border-radius: 22px;          /* restore rounded corners */
  overflow: hidden;             /* CRITICAL: clips the image */
  position: relative;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.25);
}


.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;   /* important — let the container handle rounding */
}



/* Optional hover effect */
/* .hero-contained:hover .hero-img {
  transform: scale(1.03);
} */


/* ============================================================
   2. NAVBAR — FLOATING MINT GLASS
   ============================================================ */

.navbar {
  position: relative;
  z-index: 100;
  background: linear-gradient(
    to bottom right,
    var(--mint-glass-light),
    var(--mint-glass-strong)
  );
  backdrop-filter: blur(14px) saturate(180%);
  border-bottom: 1px solid var(--mint-border);
  box-shadow: 0 0 12px var(--mint-glow);
}

.navbar .nav-link {
  padding: 10px 18px;
  margin-right: 10px;
  background: var(--mint-glass-light);
  backdrop-filter: blur(10px) saturate(180%);
  border-radius: 14px 14px 0 0;
  border: 1px solid rgba(255,255,255,0.28);
  border-bottom: none;
  color: var(--dark-green) !important;
  transition: all 0.35s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.navbar .nav-link:hover {
  background: rgba(255,255,255,0.25);
  transform: translateY(-2px);
  box-shadow: 0 0 18px rgba(0,255,150,0.9);
}

.navbar .nav-link.active {
  background: var(--mint-glass-light);
  color: var(--dark-green) !important;
  border: 1px solid rgba(255,255,255,0.55);
  border-bottom: 2px solid rgba(255,255,255,0.9);
  transform: translateY(2px);
}


/* ============================================================
   3. DROPDOWN MENUS — GLASS
   ============================================================ */

.navbar .dropdown-menu {
  background: rgba(200, 255, 220, 0.78);
  backdrop-filter: blur(8px) saturate(180%);
  border-radius: 0 0 14px 14px;
  border: 1px solid rgba(255,255,255,0.45);
  box-shadow: 0 10px 26px rgba(0,0,0,0.32);
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  pointer-events: none;
  transition: opacity 0.28s ease, transform 0.28s ease;
}

.navbar .dropdown-menu.show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}


/* ============================================================
   4. OFFCANVAS — GLASS PANEL
   ============================================================ */

.offcanvas {
  background: rgba(200, 255, 220, 0.75);
  backdrop-filter: blur(14px) saturate(180%);
  border-right: 1px solid rgba(255,255,255,0.35);
  box-shadow: 4px 0 25px rgba(0,0,0,0.25);
  color: var(--dark-green) !important;
  transition: transform 0.35s ease, opacity 0.35s ease;
}


/* ============================================================
   5. GALLERY — MINT GLASS GRID
   ============================================================ */

.glass-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 25px;
  padding: 10px;
  animation: fadeIn 0.8s ease;
}

/* ⭐ NEW: fixed-height cards so images don’t fill the screen */
.glass-card {
  height: 240px;              /* <— controls image size */
  overflow: hidden;           /* <— prevents giant images */
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.12);
  border-radius: 18px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.25);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.glass-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 35px var(--mint-glow);
}

.glass-card:hover img {
  transform: scale(1.04);
}

/* ⭐ UPDATED: image fills the card height instead of screen */
.glass-card img {
  all: unset;
  display: block;
  width: 100%;
  height: 100%;               /* <— fills the fixed-height card */
  object-fit: cover;          /* <— crops nicely instead of stretching */
  border-radius: 12px;
  transition: transform 0.3s ease;
  cursor: zoom-in;
}

/* Base glass card styling */
.glass-card-home {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  border-radius: 18px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.25);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  overflow: hidden;
}

.card-short {
  height: 360px;
  margin-top: 40px;
}

.card-tall {
  height: 460px;
  margin-top: 0;
}

.card-img-full {
  height: 100% !important;   /* critical override */
  width: auto;
  max-width: 100%;
  object-fit: contain;
  border-radius: 12px;
  padding: 12px;
  display: block;
}

.col-md-4 {
  display: flex;
  justify-content: center;
}

/* Optional hover effect */
.glass-card-home:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 35px rgba(0, 255, 180, 0.35);
  transition: 0.25s ease;
}


/* ============================================================
   6. LIGHTBOX — MINT GLASS WITH NAVIGATION (A2)
   ============================================================ */

.lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 40, 20, 0.55);
  backdrop-filter: blur(12px);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 5000;
  animation: fadeIn 0.3s ease;
}

.lightbox-overlay.active {
  display: flex;
}

.lightbox-image {
  max-width: 98vw;
  max-height: 98vh;
  border-radius: 16px;
  box-shadow: 0 0 25px rgba(0,255,180,0.35);
}

@media (max-width: 768px) {
  .lightbox-image {
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
  }
}

@keyframes scaleIn {
  from { transform: scale(0.92); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}

/* Floating mint‑glass navigation buttons */
.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.35);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.lightbox-nav:hover {
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 22px rgba(0,255,180,0.35);
}

.lightbox-prev { left: 40px; }
.lightbox-next { right: 40px; }

.lightbox-nav svg {
  width: 26px;
  height: 26px;
  stroke: white;
}


/* ============================================================
   7. FOOTER — GLASS
   ============================================================ */

.glass-footer {
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.10);
  border-top: 1px solid rgba(150,255,200,0.35);
  box-shadow: 0 -4px 20px rgba(0,255,180,0.08);
  color: var(--dark-green);
}


/* ============================================================
   8. CALENDAR — MINT GLASS THEME
   ============================================================ */

.fc-event {
  background: rgba(180,255,200,0.75) !important;
  border: none !important;
  color: #0f3d2e !important;
  backdrop-filter: blur(6px) saturate(160%);
}


/* ============================================================
   9. UTILITIES
   ============================================================ */

.no-bullets { list-style-type: none; padding-left: 0; }
.divider { height: 1px; background-color: black; margin: 10px 0; }

