/* Procedure landing page blocks (hero, intro, types, signs, related cards) */

/* ---------- 1. Procedure Hero Banner ---------- */
.proc_hero {
  background-color: #0d1244;
  min-height: 575px;
  display: flex;
  align-items: center;
  padding: 60px 0;
}

.proc_hero > .container {
  width: 100%;
}

.proc_hero_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 60px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 24px;
}

.proc_hero_text,
.proc_hero_text p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #fff;
}

.proc_hero_text {
  max-width: 553px;
}

.proc_hero_text p {
  margin: 0 0 16px;
}

.proc_hero_text p:last-child {
  margin-bottom: 0;
}

.proc_buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.proc_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 35px;
  padding: 8px 20px;
  border-radius: 50px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.4;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}

.proc_btn:hover,
.proc_btn:focus {
  color: #fff;
  text-decoration: none;
  opacity: 0.85;
}

.proc_btn_teal {
  background-color: #0f7aa4;
}

.proc_btn_peach {
  background-color: #f5b79a;
}

/* Hero buttons: peach at rest, teal on hover/focus. */
.proc_hero .proc_btn {
  background-color: #f5b79a;
  transition: background-color 0.2s ease;
}

.proc_hero .proc_btn:hover,
.proc_hero .proc_btn:focus {
  background-color: #0f7aa4;
  opacity: 1;
}

.proc_hero_illustration {
  display: block;
  margin-left: auto;
  max-height: 459px;
}

/* ---------- 2. Procedure Intro Section ---------- */
.proc_intro {
  background-color: #fff;
  padding: 119px 0 131px;
}

.proc_intro_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  color: #163f72;
  margin: 0 0 19px;
}

.proc_intro_lead,
.proc_intro_lead p {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  color: #0d1244;
}

.proc_intro_lead p {
  margin: 0 0 16px;
}

.proc_intro_lead p:last-child {
  margin-bottom: 0;
}

.proc_intro_text,
.proc_intro_text p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_intro_text p {
  margin: 0 0 20px;
}

.proc_intro_text p:last-child {
  margin-bottom: 0;
}

/* ---------- 3. Category Tabs Section ---------- */
.proc_types {
  background-color: #4c95b3;
  padding: 94px 0 103px;
}

.proc_types_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  color: #fff;
  max-width: 620px;
  margin: 0;
}

.proc_types_intro,
.proc_types_intro p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #fff;
}

.proc_types_intro {
  max-width: 761px;
  margin-top: 26px;
}

.proc_types_intro p {
  margin: 0 0 16px;
}

.proc_types_intro p:last-child {
  margin-bottom: 0;
}

.proc_types_row {
  margin-top: 32px;
}

.proc_types_tab {
  display: block;
  min-height: 61px;
  padding: 19px 29px;
  margin-bottom: 12px;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.7);
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: #163f72;
  text-decoration: none;
}

.proc_types_tab:hover,
.proc_types_tab:focus,
.proc_types_tab.active {
  background-color: #fff;
  color: #163f72;
  text-decoration: none;
}

.proc_types_content,
.proc_types_content p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_types_content {
  background-color: #fff;
  border-radius: 8px;
  padding: 29px 40px;
  min-height: 207px;
}

.proc_types_content p {
  margin: 0 0 16px;
}

.proc_types_content p:last-child {
  margin-bottom: 0;
}

/* ---------- 4. Signs & Diagnosis Section ---------- */
.proc_signs {
  background-color: #fff;
  padding: 104px 0 60px;
}

.proc_signs_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.3;
  color: #163f72;
  margin: 0;
}

.proc_signs_lead,
.proc_signs_lead p {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  color: #0d1244;
}

.proc_signs_lead {
  max-width: 734px;
  margin-top: 34px;
}

.proc_signs_lead p {
  margin: 0;
}

.proc_signs_row {
  margin-top: 20px;
}

.proc_signs_subtitle {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  color: #163f72;
  margin: 0 0 20px;
}

.proc_signs_list,
.proc_signs_list li {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_signs_list {
  padding-left: 20px;
  margin: 0 0 20px;
  list-style: disc;
}

.proc_signs_list li {
  margin-bottom: 4px;
}

.proc_signs_text,
.proc_signs_text p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_signs_text p {
  margin: 0 0 20px;
}

.proc_signs_text p:last-child {
  margin-bottom: 0;
}

/* Left column matches the panel's vertical padding so the two subtitles line up. */
.proc_signs_left {
  padding: 38px 0;
}

.proc_signs_panel {
  background-color: rgba(76, 149, 179, 0.1);
  border-radius: 8px;
  padding: 38px 41px;
  height: 100%;
}

/* ---------- 5. Related Links Cards ---------- */
.proc_cards {
  background-color: #fff;
  padding: 44px 0 80px;
}

.proc_card {
  position: relative;
  display: block;
  height: 240px;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
}

.proc_card:hover,
.proc_card:focus {
  text-decoration: none;
}

.proc_card_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.proc_card:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.proc_card_body {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 100%;
  padding: 0 28px 28px 37px;
}

.proc_card_title {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2;
  color: #fff;
  max-width: 236px;
}

.proc_card_arrow {
  flex-shrink: 0;
  margin-left: 12px;
}

/* ---------- Narrow content column used by the sub-page blocks ---------- */
@media (min-width: 1200px) {
  .proc_narrow {
    max-width: 986px;
  }
}

/* ---------- 6. Procedure Page Header ---------- */
.proc_page_header {
  background-color: #4c95b3;
  min-height: 190px;
  padding: 78px 0 38px;
  margin-bottom: 36px;
}

.proc_page_header_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 15px;
}

.proc_page_header_crumbs,
.proc_page_header_crumbs a,
.proc_page_header_crumbs span {
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 1.3;
  color: #fff;
}

.proc_page_header_crumbs a:hover,
.proc_page_header_crumbs a:focus {
  color: #fff;
  text-decoration: underline;
}

/* ---------- 7. Procedure Content Section ---------- */
.proc_content {
  padding: 40px 0;
}

.proc_content_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  color: #163f72;
  max-width: 713px;
  margin: 0 0 30px;
}

.proc_content_text,
.proc_content_text p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_content_text {
  max-width: 860px;
}

.proc_content_text p {
  margin: 0 0 20px;
}

.proc_content_text p:last-child {
  margin-bottom: 0;
}

.proc_content_buttons {
  margin-top: 28px;
}

.proc_content_image {
  display: block;
  width: 100%;
  max-width: 292px;
  height: 315px;
  object-fit: cover;
  border-radius: 8px;
  margin-left: auto;
}

/* ---------- 8. Numbered Steps Panel ---------- */
.proc_steps {
  padding: 16px 0;
}

.proc_steps_panel {
  list-style: none;
  margin: 0;
  padding: 46px 44px 26px;
  background-color: rgba(76, 149, 179, 0.1);
  border-radius: 8px;
}

.proc_steps_item {
  display: flex;
  margin-bottom: 20px;
}

.proc_steps_number {
  flex: 0 0 79px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 1.3;
  color: #000;
}

.proc_steps_body {
  flex: 1 1 auto;
  min-width: 0;
}

.proc_steps_title {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: #163f72;
  margin: 0 0 20px;
}

.proc_steps_text,
.proc_steps_text p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_steps_text p {
  margin: 0 0 16px;
}

.proc_steps_text p:last-child {
  margin-bottom: 0;
}

/* ---------- 9. Image Text Feature ---------- */
.proc_feature {
  background-color: #f5f5f5;
  padding: 78px 0;
  margin: 40px 0;
}

.proc_feature_image {
  display: block;
  width: 100%;
  height: 309px;
  object-fit: cover;
  border-radius: 8px;
}

.proc_feature_title {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  color: #0d1244;
  margin: 0 0 20px;
}

.proc_feature_text,
.proc_feature_text p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #000;
}

.proc_feature_text p {
  margin: 0 0 20px;
}

.proc_feature_text p:last-child {
  margin-bottom: 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
  .proc_hero_title {
    font-size: 48px;
  }

  .proc_intro_title,
  .proc_types_title,
  .proc_signs_title,
  .proc_content_title {
    font-size: 34px;
  }
}

@media (max-width: 991px) {
  .proc_hero {
    min-height: 0;
    padding: 60px 0;
  }

  .proc_hero_illustration {
    margin: 40px auto 0;
  }

  .proc_intro {
    padding: 60px 0;
  }

  .proc_intro_text {
    margin-top: 30px;
  }

  .proc_types {
    padding: 60px 0;
  }

  .proc_types_content {
    margin-top: 12px;
    min-height: 0;
  }

  .proc_signs {
    padding: 60px 0 40px;
  }

  .proc_signs_panel {
    margin-top: 30px;
  }

  .proc_cards {
    padding: 40px 0 60px;
  }

  .proc_card {
    margin-bottom: 20px;
  }

  .proc_page_header {
    min-height: 0;
    padding: 40px 0 24px;
    margin-bottom: 20px;
  }

  .proc_content_image {
    max-width: none;
    height: 260px;
    margin: 24px 0 0;
  }

  .proc_feature {
    padding: 50px 0;
  }

  .proc_feature_image {
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .proc_hero_title {
    font-size: 36px;
  }

  .proc_intro_title,
  .proc_types_title,
  .proc_signs_title,
  .proc_content_title {
    font-size: 28px;
  }

  .proc_page_header_title {
    font-size: 24px;
  }

  .proc_steps_panel {
    padding: 28px 20px 8px;
  }

  .proc_steps_number {
    flex-basis: 48px;
    font-size: 20px;
  }

  .proc_types_content {
    padding: 24px 22px;
  }

  .proc_signs_left {
    padding: 28px 0;
  }

  .proc_signs_panel {
    padding: 28px 22px;
  }

  .proc_card_body {
    padding: 0 20px 24px 24px;
  }

  .proc_card_title {
    font-size: 22px;
  }
}
