/* custom theme closely matching the screenshots */
:root {
  --primary: #1e4ed8; /* brand blue */
  --primary-dark: #0f3aa6; /* darker blue for gradients/footer */
  --accent: #ff8a00; /* orange CTA */
  --success: #22c55e; /* green check */
  --muted: #6b7280; /* neutral text */
  --light: #f6f8fc; /* light gray background */
}

body {
  font-optical-sizing: auto;
}

.logo {
  height: 40px;
  width: auto;
}

.navbar .nav-link {
  font-weight: 500;
}
.navbar .nav-link.active,
.navbar .nav-link:hover {
  color: var(--primary);
}

.brand-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--primary);
  color: #fff;
}

.btn-cta {
  background: var(--accent);
  color: #fff;
  font-weight: 600;
  border-radius: 999px;
  padding: .5rem 1rem;
}
.btn-cta:hover {
  background: #ff7a00;
  color: #fff;
}
.btn-outline-primary {
  border-radius: 999px;
}

.hero {
  min-height: 52vh;
  position: relative;
}
.hero-room {
  background: linear-gradient(180deg, rgba(15, 58, 166, 0.105), rgba(30, 78, 216, 0.65)),
    url("https://images.unsplash.com/photo-1505691938895-1758d7feb511?q=80&w=1600&auto=format&fit=crop") center / cover
    no-repeat;
}
.hero-blue {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
}

.section-title {
  font-weight: 800;
}

.info-tile {
  background: #fff;
  border: 1px solid #eef0f5;
  border-radius: 14px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.icon-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(30, 78, 216, 0.1);
  color: var(--primary);
  font-size: 20px;
}
.checked::before {
  content: "✓";
  color: var(--success);
  font-weight: 700;
  margin-right: .5rem;
}
.stars {
  color: #f59e0b;
  letter-spacing: .15em;
}

.shadow-soft {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid #eef0f5;
  border-radius: 16px;
}
.card-popular {
  position: relative;
}
.popular-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--accent);
  color: #fff;
  border-radius: 999px;
  padding: .25rem .6rem;
  font-size: .75rem;
  font-weight: 700;
}

.facility-card {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: #fff;
  border: 1px solid #eef0f5;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.facility-card i {
  color: var(--primary);
}

.cta-band {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  padding: 56px 0;
}

.footer {
  background: var(--primary-dark);
}
.footer-link {
  color: #a6b3ff;
  text-decoration: none;
}
.footer-link:hover {
  color: #fff;
  text-decoration: underline;
}
.avatar-xl {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
}

/* Utilities */
.bg-light {
  background-color: var(--light) !important;
}
