/* Base Reset */
* {
  box-sizing: border-box;
  font-family: 'Inter', sans-serif;
}

body {
  margin: 0;
  padding: 0;
  background-color: #f0f4ff;
}

/* Page Title */

@keyframes zoomIn {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

.container {
  max-width: 1300px;
  margin: 60px auto;
  padding: 0 5vw; /* Match navbar horizontal padding */
}

.table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 20px;
}

.table-section, .block-section {
  opacity: 0;
  animation: fadeIn 1s ease forwards;
}

@keyframes fadeIn {
  to { opacity: 1; }
}

.section-titleC {
  text-align: center;
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: 600;
}

.section-subtitle {
  text-align: center;
  color: black;
  margin-bottom: 30px;
  font-size: 18px;
}

table {
  width: 100%;
  min-width: max-content;
  border-collapse: separate;
  border-spacing: 0;
  background: white;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  font-size: 1vw;
}

th, td {
  padding: 16px 20px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  cursor: pointer;
  font-size: 15px;
}

thead th {
  background-color: #8b91a4;
  font-weight: bold;
}

td strong {
  color: black;
  font-weight: bold;
  font-size: 19px;
}

.row-highlight td {
  background-color: #dbeafe !important;
  font-weight: bold;
}

.toggle-row {
  background-color: #fef3c7;
  font-weight: bold;
}

thead th:nth-child(3),
tbody td:nth-child(3),
thead th:nth-child(5),
tbody td:nth-child(5),
thead th:nth-child(7),
tbody td:nth-child(7) {
  background-color: #cdcfd7;
}

.plans-toggle {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.plans-toggle input[type="radio"] {
  display: none;
}

.plans-toggle label {
  padding: 10px 20px;
  border: 1px solid #ccc;
  cursor: pointer;
  font-size: 15px;
}

.plans-toggle input:checked + label {
  background-color: #3b82f6;
  color: white;
  border-color: #3b82f6;
}

.plan-blocks {
  display: flex;
  justify-content: space-around;
  gap: 20px;
  flex-wrap: wrap;
}

.plan-block {
  flex: 1 1 300px;
  border: 1px solid #e5e7eb;
  padding: 20px;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  opacity: 0;
  animation: fadeIn 0.8s ease forwards;
}

.plan-block:nth-child(2) { animation-delay: 0.4s; }
.plan-block:nth-child(3) { animation-delay: 0.8s; }

.middle-button-wrapper {
  text-align: center;
  margin: 40px 0;
}

.middle-button {
  display: inline-block;
  padding: 14px 28px;
  font-weight: bold;
  color: #1e3a8a;
  background: transparent;
  border: 2px solid #1e3a8a;
  border-radius: 100px;
  text-decoration: none;
  transition: 0.3s;
  font-size: 16px;
}

.middle-button:hover {
  background-color: #1e3a8a;
  color: white;
}

/* ---------- Mobile: ≤767px ---------- */
@media (min-width: 441px) and (max-width: 767px) {
 
  .container { padding: 0 5vw; }
  table { font-size: 12px; }
  thead th, td { padding: 12px 12px; }
  .section-titleC { font-size: 24px; }
  .section-subtitle { font-size: 14px; }
  .plans-toggle label { font-size: 14px; padding: 8px 14px; }
}

/* ---------- iPad / Tablet: 768px–1150px ---------- */
@media (min-width: 768px) and (max-width: 1150px) {
  table { font-size: 14px; }
  .plans-toggle label { font-size: 15px; padding: 10px 18px; }
  .plan-block { flex: 1 1 calc(50% - 20px); }
}

/* ---------- Desktop: ≥1151px ---------- */
@media (min-width: 1151px) {

  table { font-size: 1vw; }
  .plan-block { flex: 1 1 calc(33.33% - 20px); }
}
