/* Global Font */
body {
  font-family: 'Montserrat', sans-serif;
}

/* Teaser Boxes */
.teaser-box {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 0; /* header is now part of clickable box */
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 10px rgba(0,0,0,0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  text-decoration: none; /* remove link underline */
  color: inherit; /* keep text default */
}

/* Teaser Box Header */
.teaser-box h3 {
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, #f8f9fa, #e3e9f0); /* subtle conservative gradient */
  color: #003366;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  box-shadow: inset 0 -1px 3px rgba(0,0,0,0.08);
}

/* Header Icon */
.teaser-box h3 i {
  font-size: 1rem;
  color: #003366;
}

/* Content */
.teaser-box p {
  flex-grow: 1;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #444;
  padding: 1rem;
  margin: 0;
}

/* CTA (moved inside p for SEO but styled separately if needed) */
.teaser-box span.cta {
  display: inline-block;
  font-weight: 600;
  color: #0056b3;
  margin-top: 0.5rem;
}

.teaser-box:hover span.cta {
  text-decoration: underline;
}

/* Hover effect */
.teaser-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
  text-decoration: none;
}

/* Equal height fix (original) */
.row .col-md-3 {
  display: flex;
}
.row .col-md-3 > .teaser-box {
  flex: 1;
}

/* Equal height fix for 2-col and 4-col layouts (NEW) */
.row .col-md-6,
.row .col-lg-3 {
  display: flex;
}
.row .col-md-6 > .teaser-box,
.row .col-lg-3 > .teaser-box {
  flex: 1;
}

/* Pricing subnav */
.pricing-subnav .nav-link {
  border-radius: 20px;
  padding: 0.4rem 1rem;
  margin: 0 0.25rem;
  font-size: 0.95rem;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #333;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.pricing-subnav .nav-link:hover {
  background: #e9ecef;
  color: #000;
}
.pricing-subnav .nav-link.active {
  background: #007bbd;
  color: #fff;
  border-color: #007bbd;
}

/* more small teaser boxes for pricing */
.pricing-teaser-box {
  display: block;
  padding: 1em;
  background-color: #f8fafc;
  border-radius: 8px;
  text-align: center;
  border: 1px solid #dee2e6;
  transition: all 0.3s ease;
  text-decoration: none;
  color: #222;
}
.pricing-teaser-box:hover {
  background-color: #e9f5ff;
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.pricing-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.pricing-controls .btn {
  font-weight: 600;
  border-radius: 20px;
  padding: 0.4rem 1.2rem;
}

.pricing-controls .btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pricing-controls .page-info {
  font-size: 1rem;
  font-weight: 600;
  color: #0d6efd; /* Bootstrap primary */
  padding: 0.25rem 0.75rem;
  border-radius: 6px;
  background: #e9f2ff; /* light highlight */
}
/* =========================================
   Subnav horizontal scrolling 
   ========================================= */
/* =========================================
   Pricing Subnav - Balanced Multi-row Layout
   ========================================= */
.pricing-subnav {
  flex-wrap: wrap;          /* allow items to wrap to next line */
  justify-content: center;  /* keep rows centered */
  gap: 0.5rem;              /* even spacing between items */
}

.pricing-subnav .nav-link {
  border-radius: 20px;
  padding: 0.4rem 1rem;
  font-size: 0.95rem;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #333;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.pricing-subnav .nav-link:hover {
  background: #e9ecef;
  color: #000;
}

.pricing-subnav .nav-link.active {
  background: #007bbd;
  color: #fff;
  border-color: #007bbd;
}

.nowrap {
  white-space: nowrap;
}

/* Smaller pagination controls for pricing matrices */
.pricing-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.pricing-controls .btn {
  font-size: 0.8rem;   /* smaller text */
  padding: 0.2rem 0.6rem;
  border-radius: 12px;
}

.pricing-controls .page-info {
  font-size: 0.85rem;
  font-weight: 500;
  color: #555;
}

