:root {
  --border: #e5e7eb;
}

/* Body */
body {
  background-color: #f8fafc;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
  color: #1f2937;
}

/* Tricolour ribbon */
.ribbon {
  height: 4px;
  background: linear-gradient(90deg, #ff9933, #ffffff, #138808);
}

/* Carousel images */
.object-cover {
  object-fit: cover;
  height: 60vh;
  min-height: 700px;
}

/* Amenity pill style */
.amen-card {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  padding: 0.75rem 0.9rem;
  height: 100%;
  font-size: 0.9rem;
}
.amen-card i {
  font-size: 1.25rem;
  color: #0f9d58;
}

/* Fixed Call/Registration buttons */
.cta-left {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
  padding: 10px 15px;
  border-radius: 50px;
}

/* Group on right */
.cta-right-group {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

/* Blink animation for Registration */
.blink {
  animation: blinkAnim 1.2s infinite;
}
@keyframes blinkAnim {
  50% { opacity: 0.6; }
}
/* Footer links */
footer a {
  text-decoration: none;
}

/* Responsive tweaks */
@media (max-width: 576px) {
  .object-cover {
    height: auto;
    object-fit: contain;
    min-height: auto;
  }
  .cta-left, .cta-right {
    font-size: 0.85rem;
    padding: 0.5rem 0.8rem;
  }
}


/* About collage (2×2) */
.about-quadrant .quad-img{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fff;
}

/* Optional: subtle hover lift */
.about-quadrant .quad-img:hover{
  transform: translateY(-2px);
  transition: transform .15s ease;
}
/* brochure-style helper */
.display-5, .display-6 { letter-spacing: .3px; }

/* wrapper + header */
.nearby-wrap{padding:56px 0;color:#2a2a2a;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif}
.container-nb{max-width:1200px;margin:0 auto;padding:0 16px}
.nb-header h2{margin:0;font-weight:800;letter-spacing:.4px}
.nb-header p{margin:6px 0 24px;color:#585858;font-style:italic}

/* rows */
.nb-row-2up{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.nb-row-1up{margin-top:28px}

/* card */
.nb-card{position:relative;background:transparent;padding:18px 18px 18px 0}
.nb-chip{display:inline-flex;align-items:center;gap:6px;background:#f39a3d;color:#fff;font-weight:800;border-radius:8px;padding:6px 12px;letter-spacing:.4px;margin-bottom:8px}
.nb-chip--title{text-transform:uppercase}

/* list with dashed separators */
.nb-list{list-style:none;margin:10px 0 0;padding:0;border-left:2px dashed rgba(0,0,0,.15)}
.nb-list li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:10px 0 10px 16px;border-bottom:1px dashed rgba(0,0,0,.12)}
.nb-list li:last-child{border-bottom:0}
.nb-list span{font-weight:700}

/* minute bubble */
.nb-min{--s:58px;width:var(--s);height:var(--s);display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid #f39a3d;color:#f39a3d;box-shadow:0 2px 10px rgba(0,0,0,.07);text-align:center}
.nb-min i{font-style:normal;font-size:20px;font-weight:900;line-height:1}
.nb-min small{display:block;font-size:11px;font-weight:800;margin-top:1px}

/* scalloped stamp image, anchored to the side */
.nb-stamp {
    position: absolute;
    right: 25%;
    top: 10%;
    transform: translateY(-50%);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}
.nb-stamp{-webkit-mask:radial-gradient(#000 60%,transparent 60%),repeating-conic-gradient(#000 0 8deg,transparent 8deg 16deg);}

/* final chips row */
.nb-bottom{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.nb-bottom .nb-chip{background:#f39a3d;color:#fff;border-radius:6px;font-weight:800}
.nb-bottom .nb-chip span{margin-left:8px;background:#fff;color:#f39a3d;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:900}

/* responsive */
@media (max-width: 992px){
  .nb-row-2up{grid-template-columns:1fr}
  .nb-stamp{position:static;transform:none;margin:12px 0 0 16px;width:180px;height:180px}
  .nb-card{padding-right:0}
}


/* Grid */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;
}
.g-item{
  position:relative;
  display:block;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 20px rgba(20,33,61,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.g-item img{
  width:100%; height:100%; display:block; object-fit:cover;
  aspect-ratio:4/3; /* default tile ratio */
}
.g-item.g-tall img{ aspect-ratio:3/4; }
.g-item.g-wide img{ aspect-ratio:16/9; }

.g-item::after{
  content:"";
  position:absolute; inset:10px;
  border:2px solid #c9a34f;   /* thin gold hairline */
  border-radius:14px; pointer-events:none;
  opacity:.9;
}

.g-item:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(20,33,61,.14);
}

/* Lightbox modal */
#galleryModal .modal-content{ border-radius:16px; overflow:hidden; }
#galleryModal img{ max-height:80vh; object-fit:contain; background:#000; }
.gallery-caption{
  position:absolute; left:0; bottom:0; right:0;
  background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  font-weight:600;
}
.gallery-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; font-size:28px;
  display:flex; align-items:center; justify-content:center;
  z-index:3; cursor:pointer;
}
.gallery-prev{ left:12px; }
.gallery-next{ right:12px; }
.gallery-nav:hover{ background:rgba(0,0,0,.8); }

