/* Base layout */
body#survey_page.logo-manage {
  margin: 0;
  font-family: "Poppins", "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: #f5f7fb;
  color: #1c2733;
}

/* Header */
.lp_header {
  padding: 16px 0;
  background: #ffffff;
  border-bottom: 1px solid #e2e6f0;
}

.header_logo img {
  max-height: 64px;
  width: auto;
}

/* Step wrapper */
.location-page.treatment-page {
  padding: 32px 0 48px;
}

.location-page.treatment-page .location-table {
  max-width: 1200px;
  margin: 0 auto;
}

.location-page.treatment-page .table {
  background: #ffffff;
  border-radius: 16px;
  padding: 32px 24px 28px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

/* Icon + heading */
.form-icon {
  margin-bottom: 12px;
}

.form-icon svg {
  width: 64px;
  height: 64px;
  fill: #09b39c;
}

.form-content h2 {
  font-size: 1.75rem;
  font-weight: 600;
  color: #1b2838;
  margin-bottom: 24px;
}

/* Treatment grid */
.treatment-content {
  margin-top: 12px;
}

.treatment-content .col-lg-3,
.treatment-content .col-md-4,
.treatment-content .col-sm-6,
.treatment-content .col-12 {
  margin-bottom: 16px;
}

/* Card */
.treatment-info {
  position: relative;
  height: 100%;
  padding: 18px 14px 16px;
  border-radius: 14px;
  border: 1px solid #d7dde8;
  background: #ffffff;
  text-align: center;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease,
    background-color 0.18s ease;
}

/* Hide the native radio */
.treatment-info input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Title */
.treatment-info h5 {
  margin: 4px 0 2px;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #1b2838;
  transition: color 0.18s ease;
}

/* Icon in card */
.treatment-help {
  margin-top: 4px;
}

.treatment-help svg,
.treatment-help img {
  width: 36px;
  height: 36px;
  display: block;
}

/* Default SVG fill */
.treatment-help svg .st0,
.treatment-help svg path {
  fill: #7b8aa8;
  transition: fill 0.18s ease;
}

/* Hover state */
.treatment-info:hover {
  border-color: #09b39c;
  box-shadow: 0 8px 18px rgba(9, 179, 156, 0.15);
  transform: translateY(-2px);
}

/* Checked state */
.treatment-info input[type="radio"]:checked ~ h5 {
  color: #065f55;
}

.treatment-info input[type="radio"]:checked ~ .treatment-help svg .st0,
.treatment-info input[type="radio"]:checked ~ .treatment-help svg path {
  fill: #09b39c;
}

.treatment-info input[type="radio"]:checked ~ .treatment-help::before {
  content: "";
}

/* Add a subtle background when selected */
.treatment-info input[type="radio"]:checked ~ h5,
.treatment-info input[type="radio"]:checked ~ .treatment-help {
  /* used only as sibling markers; background on parent: */
}

.treatment-info input[type="radio"]:checked:focus-visible + h5,
.treatment-info input[type="radio"]:checked:focus-visible ~ .treatment-help {
  outline: none;
}

/* Use :has for modern browsers to style parent when selected */
.treatment-info:has(input[type="radio"]:checked) {
  border-color: #09b39c;
  background: #f0fcfa;
  box-shadow: 0 10px 20px rgba(9, 179, 156, 0.18);
}

/* Fallback for browsers without :has – light background on hover already helps */

/* Error labels already in your inline <style>, included here if you move them */
.label {
  font-weight: 600;
  color: red;
  bottom: 12px;
  left: 0;
  font-size: 12px;
}

label.label1 {
  font-weight: 600;
  color: red;
  position: absolute;
  bottom: -27px;
  font-size: 12px;
  left: 0;
}

/* Hide-section utility */
.hide-section {
  display: none;
}

/* Small screens */
@media (max-width: 767.98px) {
  .location-page.treatment-page {
    padding: 24px 0 36px;
  }

  .location-page.treatment-page .table {
    padding: 24px 18px 22px;
    border-radius: 12px;
  }

  .form-content h2 {
    font-size: 1.4rem;
  }

  .treatment-info {
    padding: 16px 12px 14px;
  }
}

/* Medium screens */
@media (min-width: 768px) and (max-width: 991.98px) {
  .location-page.treatment-page .table {
    padding: 28px 22px 24px;
  }
}


/* BOOK APPOINTMENT BUTTON (ID: cretivego8) */
#cretivego8 {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;

  background: #09b39c !important;
  color: #ffffff !important;

  border: none !important;
  cursor: pointer;

  transition:
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

/* Hover */
#cretivego8:hover {
  background: #078e7b !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(9, 179, 156, 0.25);
}

/* Focus (keyboard users) */
#cretivego8:focus-visible {
  outline: 3px solid #b4efe7;
  outline-offset: 2px;
}

/* Full-width option if the container is narrow */
#cretivego8.full,
#cretivego8.full-width {
  width: 100%;
}
