:root {
  --floral-rose: #ff6f91;
  --floral-peach: #ffb199;
  --floral-sun: #ffd166;
  --floral-mint: #c7f9cc;
  --floral-sky:  #bde0fe;
  --floral-ink:  #2a2a2a;
  --floral-bg:   #fff9f7;
}

.bg-floral { background:
  radial-gradient(1200px 800px at -10% -10%, rgba(255, 209, 102, .15), transparent 60%),
  radial-gradient(900px 700px at 110% 0%, rgba(189, 224, 254, .18), transparent 60%),
  radial-gradient(900px 700px at 50% 110%, rgba(199, 249, 204, .18), transparent 60%),
  var(--floral-bg);
  min-height: 100vh;
}

/* Navbar */
.navbar-floral {
  --bs-navbar-color: var(--floral-ink);
  --bs-navbar-hover-color: var(--floral-rose);
  --bs-navbar-brand-color: var(--floral-ink);
  --bs-navbar-brand-hover-color: var(--floral-rose);
  background: linear-gradient(90deg, rgba(255, 177, 153, .35), rgba(189, 224, 254, .35));
  backdrop-filter: blur(6px);
}

.brand-mark {
  display:inline-grid; place-items:center;
  width: 2rem; height: 2rem; border-radius: 999px;
  background: linear-gradient(135deg, var(--floral-rose), var(--floral-peach));
  color: white; font-weight: 700; margin-right: .5rem;
  box-shadow: 0 6px 16px rgba(255, 111, 145, .35);
}

.link-floral { color: var(--floral-rose); text-decoration: none; }
.link-floral:hover { text-decoration: underline; }

.card-floral {
  border: 0;
  background: white;
  box-shadow: 0 10px 30px rgba(42, 42, 42, .06);
  transition: transform .15s ease, box-shadow .2s ease;
  overflow: hidden;
}
.card-floral:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(42,42,42,.08); }
.card-floral .badge-floral {
  background: linear-gradient(135deg, var(--floral-rose), var(--floral-peach));
  color: white;
}

.footer-floral { background: #fff; }

figure.gallery-thumb {
  aspect-ratio: 4/3; overflow: hidden; margin: 0;
  background: linear-gradient(135deg, rgba(255, 177, 153, .25), rgba(189, 224, 254, .25));
}
figure.gallery-thumb > img { width:100%; height:100%; object-fit:cover; display:block; }

.img-tile { aspect-ratio: 4/3; object-fit: cover; width: 100%; border-radius: .5rem; }

/* Lightbox modal keeps images responsive */
.modal-body img { width: 100%; height: auto; }

/* Floral theme button */
.btn.btn-floral {
  --f1: #ff6f91;
  --f2: #ffb199;
  color: #fff !important;
  border: 0;
  border-radius: 0.5rem;
  background-image: linear-gradient(135deg, var(--f1), var(--f2)) !important;
  box-shadow: 0 6px 16px rgba(255, 111, 145, 0.25);
  transition: all 0.15s ease;
}
.btn.btn-floral:hover { filter: brightness(0.98); transform: translateY(-1px); }
.btn.btn-floral:active { filter: brightness(0.95); transform: translateY(1px); }
.btn.btn-floral.btn-sm { min-width: 120px; text-align: center; }