/* Fluid Typography Styles using clamp()
  The format is: clamp(MIN_SIZE, FLUID_SIZE, MAX_SIZE)
  - MIN_SIZE: The smallest size (for small mobile screens).
  - MAX_SIZE: The largest size (for tablet/desktop screens).
  - FLUID_SIZE: A viewport-based unit (e.g., 2vw) that scales smoothly between MIN and MAX. */

/* --- Global Font Families --- */

/* (Defined once for clarity) */

.s-heading, .s-desc-heading, .s-card-heading, .s-options-heading, .accordion-button {
  font-family: 'Poppins', sans-serif;
}

.s-paragraph, .s-sub-heading, .s-tag-text, .s-price-top, .s-card-paragraph, .s-card-strike-price-paragraph, .s-card-actual-price-paragraph, .s-card-in-app-price-paragraph, .s-card-book-now-active-btn, .s-card-book-now-btn, .accordion-body {
  font-family: 'Lato', sans-serif;
}

/* --- Main Text Adjustments (Scaling from Mobile up to Tablet) --- */

.s-paragraph {
  font-style: normal;
  text-align: start;
  font-weight: 400;
  color: #545454;
  font-size: clamp(0.875rem, 0.8rem + 0.5vw, 1rem);
  padding-left: clamp(0.75rem, 0.5rem + 1vw, 1rem);
  padding-right: clamp(0.75rem, 0.5rem + 1vw, 1rem);
}

.s-heading {
  font-style: normal;
  font-weight: 900;
  color: #1F1F1F;
  font-size: 30px;
}

.s-sub-heading {
  font-style: normal;
  font-weight: 400;
  color: #545454;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 16px;
}

.s-tag-text {
  font-style: normal;
  font-weight: 700;
  color: #1F1F1F;
  font-size: clamp(0.75rem, 0.6rem + 0.75vw, 0.875rem);
}

.s-price-top {
  font-style: normal;
  font-weight: 700;
  color: #16a34a;
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
}

.s-desc-heading {
  font-style: normal;
  font-weight: 700;
  color: #1F1F1F;
  font-size: clamp(1.5rem, 1rem + 2vw, 1.875rem);
}

/* --- Card Design Adjustments --- */

.s-card-heading {
  font-style: normal;
  font-weight: 700;
  font-size: clamp(1rem, 0.8rem + 1vw, 1.25rem);
}

.s-card-paragraph {
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: clamp(0.625rem, 0.5rem + 0.5vw, 0.75rem);
  padding-left: clamp(0.75rem, 0.5rem + 1vw, 1rem);
  padding-right: clamp(0.75rem, 0.5rem + 1vw, 1rem);
}

.s-card-strike-price-paragraph {
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: clamp(0.75rem, 0.6rem + 0.75vw, 0.875rem);
  padding-left: clamp(0.75rem, 0.5rem + 1vw, 1rem);
  padding-right: clamp(0.75rem, 0.5rem + 1vw, 1rem);
}

.s-card-actual-price-paragraph {
  font-style: normal;
  font-weight: 900;
  color: #16A34A;
  font-size: clamp(1.5rem, 1rem + 2vw, 1.875rem);
}

.s-card-in-app-price-paragraph {
  font-style: normal;
  font-weight: 900;
  color: #16A34A;
  font-size: 0.75rem;
  padding-left: clamp(0.75rem, 0.5rem + 1vw, 1rem);
  padding-right: clamp(0.75rem, 0.5rem + 1vw, 1rem);
}

.s-card-book-now-active-btn, .s-card-book-now-btn {
  font-style: normal;
  font-weight: 700;
  line-height: 1.25rem;
  font-size: clamp(0.75rem, 0.6rem + 0.75vw, 0.875rem);
  padding-left: clamp(0.5rem, 0.4rem + 0.5vw, 0.625rem);
  padding-right: clamp(0.5rem, 0.4rem + 0.5vw, 0.625rem);
}

.s-card-book-now-active-btn {
  background: #FE4365;
  border-radius: 1rem;
  color: #FFFFFF;
}

.s-card-book-now-btn {
  background: #FFFFFF;
  border-radius: 0.5rem;
  color: #000000;
  border: solid 1px #E6E6E6;
}

.s-options-heading {
  font-style: normal;
  font-weight: 600;
  color: #FE4365;
  font-size: clamp(0.875rem, 0.8rem + 0.5vw, 1rem);
}

/* --- Utilities and Components Adjustments --- */

.empty-line {
  height: 1px;
  width: 100%;
  background-color: #E6E6E6;
  margin-top: clamp(0.9375rem, 0.5rem + 2vw, 1.5625rem);
  margin-bottom: clamp(0.9375rem, 0.5rem + 2vw, 1.5625rem);
}

.accordion-item {
  border: none;
}

.accordion-button {
  font-weight: 700;
  border-radius: 0.75rem !important;
  font-size: clamp(0.875rem, 0.8rem + 0.5vw, 1rem);
}

.accordion-button:focus {
  box-shadow: none;
  border-color: #ced4da;
}

.accordion-button:not(.collapsed) {
  color: #0d6efd;
  background-color: #eaf3ff;
  box-shadow: inset 0 -0.0625rem 0 rgba(0, 0, 0, .125);
}

.accordion-body {
  font-weight: 400;
  font-size: clamp(0.8125rem, 0.75rem + 0.25vw, 0.875rem);
  padding-left: clamp(0.75rem, 0.5rem + 1vw, 1rem);
  padding-right: clamp(0.75rem, 0.5rem + 1vw, 1rem);
}

.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

