/* Public site styles */
body { background: #f8fafc; }

/* More breathing room between sections */
main.container > section { margin-top: 2.5rem; margin-bottom: 2.5rem; }
@media (min-width: 992px) {
  main.container > section { margin-top: 3.5rem; margin-bottom: 3.5rem; }
}
.hero {
  background: linear-gradient(120deg, #a5d8ff 0%, #c7d2fe 100%);
  color: #09203f;
  border-radius: 16px;
}
.hero .btn { box-shadow: 0 2px 6px rgba(0,0,0,0.2); }

.feature-card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.feature-icon {
  width: 64px; height: 64px;
  display: grid; place-items: center;
  border-radius: 16px;
  background: #c7d2fe; /* pastel indigo */
  color: #312e81; font-size: 26px;
  margin: 0 auto 12px auto;
}
.cta-panel {
  background: linear-gradient(135deg, #a5d8ff 0%, #ffd6a5 100%); /* pastel blue to peach */
  color: #fff; border-radius: 20px;
  min-height: 360px;
}
.cta-panel .btn-light { color: #1f2937; }

.about-box {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}

/* Section headings */
.section-title {
  position: relative; padding-bottom: 8px; margin-bottom: 16px;
}
.section-title::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 4px;
  background: linear-gradient(90deg, #a5d8ff, #ffd6a5); border-radius: 4px;
}

/* About page alt layout */
.hero-soft {
  background: linear-gradient(120deg, rgba(165,216,255,.45), rgba(255,214,165,.45));
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 20px;
}
.img-mock {
  background: #f1f5f9;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
}
.glass-card {
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(6px);
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.05);
}
.badge-icon {
  display: inline-flex; align-items: center; gap: 8px;
  background: #eef2ff; color: #3730a3; border-radius: 999px; padding: 6px 12px;
}
.attraction-card { border: none; border-radius: 16px; box-shadow: 0 6px 24px rgba(0,0,0,0.06); }

/* About split section balance */
.about-photo { height: 520px; }
@media (max-width: 991.98px) {
  .about-photo { height: 360px; }
}
.about-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; box-shadow: 0 6px 24px rgba(0,0,0,0.06); }

.link-cards .card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.link-cards .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.10);
}

/* Optional: pastel tints for link cards */
.link-cards .card:nth-child(1) { background: #fef3c7; }
.link-cards .card:nth-child(2) { background: #e0f2fe; }
.link-cards .card:nth-child(3) { background: #ffe4e6; }

.cta-full {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, #a5d8ff 0%, #ffd6a5 100%);
  color: #fff;
}
.cta-full .overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,0.25);
}
.cta-full .content {
  position: relative; z-index: 1;
}

.color-band {
  background: linear-gradient(120deg, #0ea5e9 0%, #6366f1 100%);
  color: #fff;
  border-radius: 20px;
}
.icon-bullet {
  display: flex; align-items: center; gap: 12px;
}
.icon-bullet .bullet {
  width: 40px; height: 40px; border-radius: 12px;
  display: grid; place-items: center; background: rgba(255,255,255,0.15);
  font-size: 18px;
}


/* Utility to break out of container (full-bleed) */
.full-bleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

/* Contact page styles */
.contact-hero {
  background: linear-gradient(120deg, rgba(165,216,255,.45), rgba(255,214,165,.45));
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 16px;
}
.info-tile { border: none; border-radius: 16px; box-shadow: 0 6px 24px rgba(0,0,0,0.06); }
.info-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background:#c7d2fe; color:#312e81; font-size:20px; }

