@charset "UTF-8";
/*==============================================*/
/*              CLASES GENERALES                */
/*==============================================*/
@font-face {
  font-family: "susue";
  src: url("../fonts/SUSE-VariableFont_wght.ttf");
}
body {
  font-family: "susue";
  font-size: 14px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0px !important;
  margin: 0px !important;
}

.secondary-width {
  width: 80vw;
  margin-left: 10vw;
}

.noVisible {
  visibility: hidden;
  position: absolute;
  margin-top: -100000px;
}

.contenedor-banner-tourism .contenido-banner, .contenedor-banner-treatments .contenido-banner, .banner-patients .hero-text, .contenedor-banner-faqs .contenido-banner, .menu-alt {
  background: #1a3850;
  background: -moz-linear-gradient(180deg, #1a3850 0%, rgba(26, 56, 80, 0) 100%);
  background: -webkit-linear-gradient(180deg, #1a3850 0%, rgba(26, 56, 80, 0) 100%);
  background: linear-gradient(180deg, #1a3850 0%, rgba(26, 56, 80, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#1a3850",endColorstr="#1a3850",GradientType=1);
}

.pl-5 {
  padding-left: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

#booking-panel, #tourismInMexico .tourism-why-mexico .contenido-why-mexico img, #foodFamous .food-content img, .treatment-block img, #testimonialVideos .video-grid .video-card video, #meetTourismed .feature-video video, #patientGallery .video-grid .video-card video, .faqs-container img, .cta-form, .cta-btn, #callToAction .cta-banner .cta-text .cta-btn {
  -webkit-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.2);
}

#mustVisit .must-visit-grid img, #relaxation .relax-content img, .menu-alt, .btn-mf:hover {
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.6));
}

.dropdown-menu[data-bs-popper] {
  top: unset !important;
  left: unset !important;
}

.btn {
  display: block;
  padding: 9px;
  text-align: center;
  text-decoration: none;
  width: 200px;
  font-weight: 700;
  color: #fff;
  border-radius: 100px;
}

.cta-btn, #callToAction .cta-banner .cta-text .cta-btn {
  display: block;
  text-align: center;
  text-decoration: none;
  width: 200px;
  font-weight: 700;
  color: #fff;
  border: 2px solid #fff;
  background-color: rgba(26, 56, 80, 0.5);
  padding: 9px;
  transition: 0.35s ease-in-out;
}
.cta-btn:hover, #callToAction .cta-banner .cta-text .cta-btn:hover {
  color: #fff;
  border: 2px solid #1a3850;
  background-color: #1a3850;
}

.cta-form {
  display: block;
  text-align: center;
  text-decoration: none;
  width: 200px;
  font-weight: 700;
  color: #fff;
  border: 2px solid #fff;
  background-color: rgba(26, 56, 80, 0.5);
  padding: 9px;
  transition: 0.35s ease-in-out;
}
.cta-form:hover {
  color: #fff;
  border: 2px solid #1a3850;
  background-color: #1a3850;
}

input[type=checkbox] {
  width: 20px;
  height: 20px;
  border: 2px solid #000 !important;
}

input:checked {
  width: 20px;
  height: 20px;
  background-color: #000 !important;
}

.form-check {
  width: 100% !important;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
.form-check h4 {
  width: 500px;
  text-align: left;
}

.menu {
  position: fixed;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  z-index: 100;
  width: 100vw;
  height: 70px;
  padding: 9px;
  transition: 0.35s ease-in-out;
}
.menu .menu-toggle {
  display: none;
  background-color: transparent;
  border: none;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
}

.brand {
  width: 150px;
  padding: 9px;
}
.brand img {
  width: 100%;
}

.enlaces {
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  list-style: none;
  margin: 0px;
  padding: 0px;
  margin-right: 25px;
  height: auto;
}
.enlaces li {
  margin: 0px;
  padding: 9px;
  color: #fff;
}
.enlaces li a {
  text-decoration: none;
  color: #fff;
  transition: 0.35s ease-in-out;
}
.enlaces li a:hover {
  padding-bottom: 9px;
  border-bottom: 2px solid #fff;
}

.language {
  width: 70px;
  padding: 0px;
  border: 2px solid #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.language a {
  padding: 9px;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  text-align: center;
  width: auto;
  transition: 0.35s ease-in-out;
}
.language a:hover {
  background-color: #1a3850;
  color: #fff !important;
}
.language .active-language {
  background-color: #fff;
  color: #1a3850;
}
@media screen and (max-width: 800px) {
  .language {
    margin-top: 50px;
  }
}

.floating-menu {
  position: fixed;
  z-index: 10;
  padding: 0px !important;
  width: 30px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-left: 0px;
}
.floating-menu ul {
  margin: 0px;
  padding: 0px;
  padding-top: 9px;
  padding-bottom: 9px;
  list-style: none;
  color: #fff;
}
.floating-menu ul li {
  padding: 9px;
  margin-left: 18px;
}
.floating-menu ul li i {
  font-size: 16px;
}
.floating-menu ul li a {
  font-size: 16px;
  color: #fff;
  padding: 0px;
  margin: 0px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-decoration: none;
}

@media screen and (max-width: 800px) {
  .menu {
    flex-direction: column;
    align-items: flex-start;
    height: auto;
  }
  .menu .menu-toggle {
    display: block;
  }
  .menu .enlaces {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100vw;
    height: 100vh;
    flex-direction: column;
    justify-content: center;
    background-color: #1a3850;
    transition: 0.3s ease;
    margin-right: 0;
  }
  .menu .enlaces li {
    padding: 20px;
    text-align: center;
  }
  .menu .enlaces.active {
    left: 0;
  }
}
.menu-footer {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 50px;
}
.menu-footer ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 70vw;
  margin: 0px;
  padding: 0px;
  flex-wrap: wrap;
}
.menu-footer ul li {
  width: 30%;
  padding: 4px;
}
.menu-footer img {
  width: 25vw;
}
@media screen and (max-width: 800px) {
  .menu-footer {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .menu-footer img {
    width: 90%;
  }
  .menu-footer ul {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-left: 0px;
    width: 90%;
  }
  .menu-footer ul li {
    display: flex;
    justify-content: center;
    width: 90%;
    margin: 0px;
  }
}

.btn-mf {
  display: block;
  padding: 9px;
  text-align: center;
  text-decoration: none;
  width: 200px;
  font-weight: 700;
  color: #fff;
  border-radius: 100px;
  transition: 0.3s ease-in-out;
}
.btn-mf img {
  height: 20px;
  width: auto;
  margin-right: 9px;
}

.btn-v {
  background-color: #39b54a;
}

.btn-a {
  background-color: #1a3850;
}

.btn-g {
  background-color: #606060;
}

#footerContainer {
  margin-top: 25px;
  position: relative;
  height: 100px;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0px;
}
#footerContainer ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: row;
  list-style: none;
  width: 100vw;
  padding: 9px;
  margin: 0px;
  background-color: #606060;
}
#footerContainer ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0px;
  margin: 0px;
  color: #fff;
}
#footerContainer ul li img {
  width: 20px;
  margin-right: 9px;
}
#footerContainer .copyright {
  height: 50px;
  margin: 0px;
  background-color: #1a3850;
  width: 100%;
  padding: 9px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#footerContainer .copyright p {
  text-align: center;
  color: #fff;
  vertical-align: middle;
}
#footerContainer .copyright a {
  color: #fff;
}
@media screen and (max-width: 800px) {
  #footerContainer p {
    width: 100%;
  }
}

.contenedor-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}

.cards-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.card-contact {
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.card-contact img {
  z-index: 1;
  width: 100%;
}
.card-contact a {
  margin-bottom: 18px;
  position: absolute;
  z-index: 3;
  display: block;
  background-color: #1a3850;
  padding: 9px;
  width: 150px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  transition: 0.3s ease-in-out;
}
.card-contact a:hover {
  background-color: #39b54a;
}
@media screen and (max-width: 800px) {
  .card-contact {
    width: 90%;
  }
}

.contenedor-banner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
  /* Versión compatible con navegadores modernos (incluye prefijo para WebKit) */
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
}
.contenedor-banner img {
  position: relative;
  z-index: 1;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .contenedor-banner img {
    height: 100vh;
    width: auto;
  }
}

.contenido-banner {
  display: flex;
  position: absolute;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: auto;
  width: 100vw;
  height: 100%;
  z-index: 4;
  margin-bottom: 0px;
  backdrop-filter: brightness(60%);
}
.contenido-banner h2 {
  text-align: center;
  font-size: 84px;
  color: #fff;
  line-height: 40px;
}
.contenido-banner h2 span {
  display: block;
  font-size: 42px !important;
  line-height: 70px !important;
}
.contenido-banner p {
  color: #fff;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  margin-top: 120px;
}
@media screen and (max-width: 800px) {
  .contenido-banner h2 {
    text-align: center;
    font-size: 42px;
    color: #fff;
    line-height: 70px;
  }
  .contenido-banner h2 span {
    font-size: 36px !important;
    line-height: 0px !important;
  }
}

#plus-vacation {
  width: 100vw;
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-top: 50px;
}

.contenedor-plus-vacation {
  width: 80%;
  display: flex;
  height: fit-content;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}
.contenedor-plus-vacation img {
  width: 40%;
}
@media screen and (max-width: 800px) {
  .contenedor-plus-vacation img {
    width: 90%;
  }
}

.contenido-plusvacation {
  width: 50%;
  padding: 9px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.contenido-plusvacation p {
  width: 90%;
  font-size: 16px;
}
.contenido-plusvacation img {
  width: 70%;
}
@media screen and (max-width: 800px) {
  .contenido-plusvacation {
    width: 90%;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  1. HERO / ITINERARY BANNER
––––––––––––––––––––––––––––––––––––––––*/
.contenedor-banner-faqs {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70vh;
  width: 100vw;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
}
.contenedor-banner-faqs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0);
  position: relative;
  z-index: 1;
}
.contenedor-banner-faqs .contenido-banner {
  position: absolute;
  inset: 0;
  padding: 50px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  /* Itinerary grid */
}
.contenedor-banner-faqs .contenido-banner h1 {
  color: #fff;
  font-size: 36px;
  margin-bottom: 50px !important;
}
.contenedor-banner-faqs .contenido-banner .itinerary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  width: 80%;
}
.contenedor-banner-faqs .contenido-banner .itinerary-grid .step {
  color: #fff;
  text-align: center;
}
.contenedor-banner-faqs .contenido-banner .itinerary-grid .step .number {
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
  display: block;
}
.contenedor-banner-faqs .contenido-banner .itinerary-grid .step h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 6px 0;
}
.contenedor-banner-faqs .contenido-banner .itinerary-grid .step p {
  font-size: 14px;
  line-height: 18px;
}
@media screen and (max-width: 800px) {
  .contenedor-banner-faqs .contenido-banner {
    position: absolute;
    inset: 0;
    padding: unset !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0px;
    gap: 0;
    /* Itinerary grid */
  }
  .contenedor-banner-faqs .contenido-banner h1 {
    color: #fff;
    font-size: 36px;
    margin-bottom: 18px !important;
  }
  .contenedor-banner-faqs .contenido-banner .itinerary-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0px;
    width: 70%;
  }
  .contenedor-banner-faqs .contenido-banner .itinerary-grid .step {
    color: #fff;
    text-align: center;
    margin-bottom: 18px;
  }
  .contenedor-banner-faqs .contenido-banner .itinerary-grid .step .number {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    display: block;
  }
  .contenedor-banner-faqs .contenido-banner .itinerary-grid .step h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 0px;
  }
  .contenedor-banner-faqs .contenido-banner .itinerary-grid .step p {
    font-size: 14px;
    line-height: 12px;
    margin: 0px;
  }
}

/*====================================================
= 2. FAQ SECTION  –  ACCORDION STYLES
====================================================*/
#faqTravel,
#faqMedical,
#faqFinance {
  background: #fff;
  padding: 75px !important 0;
  /*––– accordion wrapper –––*/
  /*––– single item –––*/
  /*––– header button –––*/
  /* rotate arrow when item is open */
}
#faqTravel h2,
#faqMedical h2,
#faqFinance h2 {
  font-size: 36px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 50px !important;
}
#faqTravel .accordion,
#faqMedical .accordion,
#faqFinance .accordion {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}
#faqTravel .accordion-item,
#faqMedical .accordion-item,
#faqFinance .accordion-item {
  border-bottom: 1px solid rgba(96, 96, 96, 0.25);
  /* closed by default, opened via .active class */
}
#faqTravel .accordion-item .accordion-content,
#faqMedical .accordion-item .accordion-content,
#faqFinance .accordion-item .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  padding-right: 32px;
}
#faqTravel .accordion-item .accordion-content p,
#faqMedical .accordion-item .accordion-content p,
#faqFinance .accordion-item .accordion-content p {
  font-size: 16px;
  color: #606060;
  line-height: 1.4;
  margin: 14px 0 24px;
}
#faqTravel .accordion-item.active .accordion-content,
#faqMedical .accordion-item.active .accordion-content,
#faqFinance .accordion-item.active .accordion-content {
  max-height: 1000px;
}
#faqTravel .accordion-header,
#faqMedical .accordion-header,
#faqFinance .accordion-header {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  padding: 12px 32px 12px 0; /* space on right for arrow */
  color: #1a3850;
}
#faqTravel .accordion-header::after,
#faqMedical .accordion-header::after,
#faqFinance .accordion-header::after {
  content: "►";
  font-size: 16px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.25s ease;
  color: #1a3850;
}
#faqTravel .accordion-item.active .accordion-header::after,
#faqMedical .accordion-item.active .accordion-header::after,
#faqFinance .accordion-item.active .accordion-header::after {
  transform: translateY(-50%) rotate(90deg);
}

/*====================================================
= 3. FAQS CONTAINER (image + accordion side-by-side)
====================================================*/
.faqs-container {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: flex-start;
  margin-top: 50px;
  width: 100%;
  /* reverse layout when .reverse is present */
}
.faqs-container img {
  width: 28%;
  min-width: 240px;
  border-radius: 6px;
}
.faqs-container .accordion {
  flex: 1 1 300px;
}
.faqs-container.reverse {
  flex-direction: row-reverse;
}

/*====================================================
= 5. RESPONSIVE TWEAKS
====================================================*/
@media (max-width: 991px) {
  .faqs-container img {
    width: 35%;
  }
}
@media (max-width: 600px) {
  .faqs-container {
    flex-direction: column;
  }
  .faqs-container img {
    width: 100%;
  }
  .accordion-header {
    font-size: 16px;
  }
}
/*–––––––––––––––––––––––––––––––––––––––
  1. HERO BANNER
––––––––––––––––––––––––––––––––––––––––*/
.banner-patients {
  position: relative;
  height: 70vh;
  width: 100vw;
  /* same curved bottom we use site-wide */
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0 100%);
}
.banner-patients img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0);
  position: relative;
  z-index: 1;
}
.banner-patients .hero-text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 50px !important;
  z-index: 4;
}
.banner-patients .hero-text h1 {
  color: #fff;
  font-size: 36px;
  line-height: 1.1;
}
.banner-patients .hero-text h1 span {
  display: block;
  font-size: 28px;
}
.banner-patients .hero-text p {
  color: #fff;
  font-size: 16px;
  margin-top: 25px !important/2;
  max-width: 600px;
}

/*–––––––––––––––––––––––––––––––––––––––
  2. TESTIMONIAL VIDEO GRID
––––––––––––––––––––––––––––––––––––––––*/
#testimonialVideos {
  padding: 75px !important 0;
}
#testimonialVideos .video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  width: 90%;
  margin: 0 auto;
}
#testimonialVideos .video-grid .video-card {
  text-align: center;
}
#testimonialVideos .video-grid .video-card video {
  width: 100%;
  border-radius: 8px;
  transition: transform 0.25s ease;
}
#testimonialVideos .video-grid .video-card video:hover {
  transform: scale(1.03);
}
#testimonialVideos .video-grid .video-card h3 {
  font-size: 16px;
  color: #1a3850;
  margin-top: 10px;
}

/*–––––––––––––––––––––––––––––––––––––––
  3. FEATURE VIDEO “MEET TOURISMED”
––––––––––––––––––––––––––––––––––––––––*/
#meetTourismed {
  background: #000;
  margin-top: 50px;
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 40;
  height: 70vh;
  max-height: 70vh;
}
#meetTourismed .meet-tourismed-contenido {
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
#meetTourismed .meet-tourismed-contenido h2 {
  font-size: 36px;
  margin-bottom: 6px;
  text-align: center;
}
#meetTourismed .meet-tourismed-contenido h2 span {
  font-size: 28px;
}
#meetTourismed .meet-tourismed-contenido .subtitle {
  font-size: 16px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#meetTourismed .feature-video {
  width: 30%;
  max-height: 70vh;
}
#meetTourismed .feature-video video {
  width: auto !important;
  max-height: 70vh;
  border-radius: 8px;
}
@media screen and (max-width: 800px) {
  #meetTourismed {
    height: fit-content !important;
    max-height: unset !important;
  }
  #meetTourismed .meet-tourismed-contenido {
    width: 90%;
    flex-direction: column;
  }
  #meetTourismed .feature-video {
    width: 90%;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  4. PATIENT GALLERY
––––––––––––––––––––––––––––––––––––––––*/
#patientGallery {
  padding: 75px !important 0;
  text-align: center;
}
#patientGallery h2 {
  font-size: 36px;
  color: #1a3850;
  margin-bottom: 50px !important;
}
#patientGallery .video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  width: 90%;
  margin: 0 auto;
}
#patientGallery .video-grid .video-card {
  text-align: center;
}
#patientGallery .video-grid .video-card video {
  width: 100%;
  border-radius: 8px;
  transition: transform 0.25s ease;
}
#patientGallery .video-grid .video-card video:hover {
  transform: scale(1.03);
}
#patientGallery .video-grid .video-card h3 {
  font-size: 16px;
  color: #1a3850;
  margin-top: 10px;
}

/*–––––––––––––––––––––––––––––––––––––––
  6. RESPONSIVE TWEAKS
––––––––––––––––––––––––––––––––––––––––*/
@media (max-width: 768px) {
  .banner-patients .hero-text h1 {
    font-size: 28px;
  }
}
@media (max-width: 600px) {
  #meetTourismed h2 {
    font-size: 28px;
  }
}
/* treatments.scss
   ----------------------------------------
   Styles for treatments.php section
-----------------------------------------*/
/*–––––––––––––––––––––––––––––––––––––––
  1. HERO BANNER
––––––––––––––––––––––––––––––––––––––––*/
.contenedor-banner-treatments {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 75vh;
  width: 100vw;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
}
.contenedor-banner-treatments img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0);
  position: relative;
  z-index: 1;
}
.contenedor-banner-treatments .contenido-banner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.contenedor-banner-treatments .contenido-banner h1 {
  color: #fff;
  font-size: 42px;
  line-height: 30px !important;
}
.contenedor-banner-treatments .contenido-banner h1 span {
  display: block;
  font-size: 28px;
  line-height: 40px !important;
}
.contenedor-banner-treatments .contenido-banner p {
  color: #fff;
  font-size: 16px;
  margin-top: 25px !important;
}
.contenedor-banner-treatments .contenido-banner .split-content {
  width: 50%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.contenedor-banner-treatments .contenido-banner .split-content .treatment-bullets {
  width: 40%;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 25px !important 0;
}
.contenedor-banner-treatments .contenido-banner .split-content .treatment-bullets li {
  text-align: left;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
}
.contenedor-banner-treatments .contenido-banner .split-content .treatment-note {
  width: 40%;
  color: #fff;
  text-align: left;
  font-size: 16px;
}
@media screen and (max-width: 800px) {
  .contenedor-banner-treatments .contenido-banner h1 {
    color: #fff;
    font-size: 28px !important;
    line-height: 30px !important;
    width: 60% !important;
  }
  .contenedor-banner-treatments .contenido-banner h1 span {
    display: block;
    font-size: 28px !important;
    line-height: 30px !important;
  }
  .contenedor-banner-treatments .contenido-banner p {
    width: 80%;
    color: #fff;
    font-size: 16px;
    margin-top: 25px !important;
  }
  .contenedor-banner-treatments .contenido-banner .split-content {
    width: 80%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .contenedor-banner-treatments .contenido-banner .split-content .treatment-bullets {
    width: 40%;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 25px !important 0;
  }
  .contenedor-banner-treatments .contenido-banner .split-content .treatment-bullets li {
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
  }
  .contenedor-banner-treatments .contenido-banner .split-content .treatment-note {
    width: 40%;
    color: #fff;
    text-align: center;
    font-size: 16px;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  2. GENERAL BLOCK LAYOUT
––––––––––––––––––––––––––––––––––––––––*/
.treatment-block {
  width: 100%;
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}
.treatment-block img {
  width: 35%;
  min-width: 260px;
  border-radius: 6px;
}
.treatment-block .treatment-text {
  width: 60%;
  min-width: 260px;
}
.treatment-block .treatment-text h3 {
  font-size: 28px;
  color: #1a3850;
  margin-bottom: 6px;
}
.treatment-block .treatment-text p,
.treatment-block .treatment-text ul {
  font-size: 16px;
  color: #606060;
  margin-bottom: 12px;
}
.treatment-block .treatment-text ul {
  list-style: disc inside;
}
.treatment-block .treatment-text ul li {
  margin-bottom: 6px;
}
.treatment-block .treatment-text .recommendation {
  font-weight: bold;
  color: #1a3850;
}
.treatment-block.reverse {
  flex-direction: row-reverse;
}

/*–––––––––––––––––––––––––––––––––––––––
  3. SECTION HEADINGS
––––––––––––––––––––––––––––––––––––––––*/
#mesenchymal,
#exosomes,
#prevention {
  padding-top: 50px !important;
}
#mesenchymal h2,
#exosomes h2,
#prevention h2 {
  font-size: 36px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 50px !important;
}
#mesenchymal h2 span,
#exosomes h2 span,
#prevention h2 span {
  font-size: 28px;
  color: #606060;
  display: block;
  margin-top: 5px;
}

/*–––––––––––––––––––––––––––––––––––––––
  4. PREVENTION SECTION SPECIFIC
––––––––––––––––––––––––––––––––––––––––*/
#prevention .treatment-block img {
  width: 30%;
}
#prevention .treatment-block .treatment-text {
  width: 65%;
}
@media screen and (max-width: 800px) {
  #prevention .treatment-block img {
    width: 90%;
  }
  #prevention .treatment-block .treatment-text {
    width: 90%;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  5. CALL-TO-ACTION
––––––––––––––––––––––––––––––––––––––––*/
.treatments-calltoaction {
  height: 30vh;
  margin-top: 50px;
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.treatments-calltoaction h3 {
  text-align: center;
  font-size: 36px;
  width: 70%;
}
@media screen and (max-width: 800px) {
  .treatments-calltoaction h3 {
    width: 90%;
    font-size: 28px;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  6. RESPONSIVE TWEAKS
––––––––––––––––––––––––––––––––––––––––*/
@media (max-width: 900px) {
  .treatment-block,
  .treatment-block.reverse {
    flex-direction: column;
    align-items: center;
  }
  .treatment-block img,
  .treatment-block .treatment-text,
  .treatment-block.reverse img,
  .treatment-block.reverse .treatment-text {
    width: 100%;
  }
}
/*–––––––––––––––––––––––––––––––––––––––
  1. HERO BANNER
––––––––––––––––––––––––––––––––––––––––*/
.contenedor-banner-tourism {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70vh;
  width: 100vw;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 96% 99.5%, 92% 99%, 88% 98.5%, 84% 98%, 80% 97.5%, 76% 97%, 72% 96.5%, 68% 96%, 64% 95.5%, 60% 95%, 56% 95%, 52% 95%, 48% 95%, 44% 95%, 40% 95.5%, 36% 96%, 32% 96.5%, 28% 97%, 24% 97.5%, 20% 98%, 16% 98.5%, 12% 99%, 8% 99.5%, 0% 100%);
}
.contenedor-banner-tourism img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  filter: saturate(0);
}
.contenedor-banner-tourism .contenido-banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0;
  padding: 50px !important;
  text-align: center;
}
.contenedor-banner-tourism .contenido-banner h2 {
  color: #fff;
  font-size: 36px;
  line-height: 30px !important;
}
.contenedor-banner-tourism .contenido-banner h2 span {
  display: block;
  line-height: 40px !important;
  font-size: 28px;
}
.contenedor-banner-tourism .contenido-banner p {
  color: #fff;
  font-size: 16px;
  margin-top: 25px !important;
  max-width: 600px;
}
@media screen and (max-width: 800px) {
  .contenedor-banner-tourism .contenido-banner {
    padding: unset !important;
  }
  .contenedor-banner-tourism .contenido-banner h2 {
    width: 70vw;
    font-size: 36px;
  }
  .contenedor-banner-tourism .contenido-banner h2 span {
    display: block;
    line-height: 20px !important;
    font-size: 16px !important;
  }
  .contenedor-banner-tourism .contenido-banner p {
    width: 70vw;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  2. INTRODUCTION & WHY-MEXICO
––––––––––––––––––––––––––––––––––––––––*/
#tourismInMexico {
  background: #fff;
  margin-top: 50px;
}
#tourismInMexico .tourism-enjoy {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#tourismInMexico .tourism-enjoy h3 {
  font-size: 36px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 25px !important;
}
#tourismInMexico .tourism-enjoy p {
  font-size: 16px;
  color: #606060;
  text-align: center;
  width: 90%;
}
#tourismInMexico .tourism-why-mexico {
  margin-top: 50px !important;
}
#tourismInMexico .tourism-why-mexico h1 {
  font-size: 36px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 50px !important;
}
#tourismInMexico .tourism-why-mexico .contenido-why-mexico {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#tourismInMexico .tourism-why-mexico .contenido-why-mexico img {
  width: 30%;
  min-width: 250px;
}
#tourismInMexico .tourism-why-mexico .contenido-why-mexico ul {
  width: 33%;
  min-width: 260px;
  list-style: disc inside;
  font-size: 16px;
}
#tourismInMexico .tourism-why-mexico .contenido-why-mexico ul li {
  margin-bottom: 10px;
}
@media screen and (max-width: 800px) {
  #tourismInMexico .tourism-why-mexico .contenido-why-mexico {
    flex-direction: column;
    align-items: center;
  }
  #tourismInMexico .tourism-why-mexico .contenido-why-mexico img {
    width: 90%;
  }
  #tourismInMexico .tourism-why-mexico .contenido-why-mexico ul {
    width: 90%;
  }
}
#tourismInMexico .tourism-why-mexico .contenido-financing {
  height: 40vh;
  background: #1a3850;
  color: #fff;
  padding: 25px !important;
  margin-top: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#tourismInMexico .tourism-why-mexico .contenido-financing h3 {
  color: #fff;
  font-size: 36px;
  line-height: 0px !important;
}
#tourismInMexico .tourism-why-mexico .contenido-financing h4 {
  line-height: 0px !important;
  color: #fff;
  font-size: 16px;
}
#tourismInMexico .tourism-why-mexico .contenido-financing ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
}
#tourismInMexico .tourism-why-mexico .contenido-financing ul li {
  width: 20%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 9px;
}
@media screen and (max-width: 800px) {
  #tourismInMexico .tourism-why-mexico .contenido-financing {
    height: fit-content;
  }
  #tourismInMexico .tourism-why-mexico .contenido-financing h3 {
    line-height: 40px !important;
    text-align: center;
  }
  #tourismInMexico .tourism-why-mexico .contenido-financing h4 {
    line-height: 20px !important;
    text-align: center;
  }
  #tourismInMexico .tourism-why-mexico .contenido-financing ul {
    padding: 0px !important;
    margin: 0px !important;
    flex-direction: column;
  }
  #tourismInMexico .tourism-why-mexico .contenido-financing ul li {
    width: 100%;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  3. MUST-VISIT DESTINATIONS
––––––––––––––––––––––––––––––––––––––––*/
#mustVisit {
  padding: 75px !important 0;
}
#mustVisit h2 {
  font-size: 36px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 50px !important;
}
#mustVisit .must-visit-grid {
  width: 100%;
}
#mustVisit .must-visit-grid img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/*–––––––––––––––––––––––––––––––––––––––
  4. EXPLORE MORE LIST
––––––––––––––––––––––––––––––––––––––––*/
#exploreMexico {
  background: #f9f9f9;
  padding: 75px !important 0;
  padding: 9px;
}
#exploreMexico .explore-intro {
  font-size: 28px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 50px !important;
}
#exploreMexico .explore-list {
  display: flex;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
}
#exploreMexico .explore-list .column ul {
  list-style: none;
  padding: 0;
}
#exploreMexico .explore-list .column ul li {
  font-size: 16px;
  color: #606060;
  margin-bottom: 12px;
  max-width: 320px;
}

/*–––––––––––––––––––––––––––––––––––––––
  5. FOOD HIGHLIGHTS
––––––––––––––––––––––––––––––––––––––––*/
#foodFamous .food-content {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: 100%;
  margin-top: 50px;
}
#foodFamous .food-content .text {
  width: 70%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
#foodFamous .food-content .text h2 {
  font-size: 36px;
  color: #1a3850;
  margin-bottom: 25px !important;
}
#foodFamous .food-content .text ul {
  list-style: disc inside;
}
#foodFamous .food-content .text ul li {
  margin-bottom: 8px;
  font-size: 16px;
}
#foodFamous .food-content img {
  width: 25%;
  border-radius: 6px;
}
@media screen and (max-width: 800px) {
  #foodFamous .food-content {
    flex-direction: column;
  }
  #foodFamous .food-content .text {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
  #foodFamous .food-content .text h2 {
    text-align: center;
  }
  #foodFamous .food-content .text ul {
    list-style: disc inside;
  }
  #foodFamous .food-content .text ul li {
    margin-bottom: 8px;
    font-size: 16px;
  }
  #foodFamous .food-content img {
    width: 90%;
    border-radius: 6px;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  6. RELAXATION OPTIONS
––––––––––––––––––––––––––––––––––––––––*/
#relaxation {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#relaxation h2 {
  font-size: 36px;
  color: #1a3850;
  text-align: center;
  margin-bottom: 50px !important;
}
#relaxation .relax-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
  width: 100%;
}
#relaxation .relax-content .text {
  width: 30;
}
#relaxation .relax-content .text ul {
  list-style: disc inside;
}
#relaxation .relax-content .text ul li {
  margin-bottom: 10px;
  font-size: 16px;
}
#relaxation .relax-content img {
  width: 25%;
  border-radius: 6px;
}
@media screen and (max-width: 800px) {
  #relaxation .text {
    width: 90%;
  }
  #relaxation .text ul {
    list-style: disc inside;
  }
  #relaxation .text ul li {
    margin-bottom: 10px;
    font-size: 16px;
  }
  #relaxation img {
    width: 90% !important;
    border-radius: 6px;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  7. CALL-TO-ACTION
––––––––––––––––––––––––––––––––––––––––*/
#callToAction {
  margin-top: 50px;
}
#callToAction .cta-banner {
  position: relative;
  min-height: 350px;
}
#callToAction .cta-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#callToAction .cta-banner .cta-text {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  padding: 0 20px;
  max-width: 600px;
}
#callToAction .cta-banner .cta-text h2 {
  font-size: 36px;
  margin-bottom: 25px !important;
}
#callToAction .cta-banner .cta-text p {
  width: 70%;
  text-align: center;
  font-size: 16px;
  margin-bottom: 25px !important;
}
#callToAction .cta-banner .cta-text .cta-btn {
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  #callToAction .cta-banner {
    position: relative;
    min-height: 350px;
  }
  #callToAction .cta-banner img {
    width: 100%;
    height: 40vh;
    object-fit: cover;
    display: block;
  }
  #callToAction .cta-banner .cta-text {
    max-width: unset !important;
    width: 100% !important;
    top: 50%;
    left: 50%;
  }
  #callToAction .cta-banner .cta-text h2 {
    width: 100% !important;
    font-size: 28px;
    margin-bottom: unset !important;
  }
  #callToAction .cta-banner .cta-text p {
    width: 100% !important;
    text-align: center;
    font-size: 16px;
    margin-bottom: 25px !important;
  }
  #callToAction .cta-banner .cta-text .cta-btn {
    margin: 0 auto;
  }
}

/*–––––––––––––––––––––––––––––––––––––––
  8. RESPONSIVE TWEAKS
––––––––––––––––––––––––––––––––––––––––*/
@media (max-width: 900px) {
  .contenido-why-mexico img,
  .contenido-why-mexico ul {
    width: 100%;
  }
  #foodFamous .food-content {
    flex-direction: column;
  }
  #relaxation .relax-content {
    flex-direction: column;
  }
}
/* glass backdrop */
#booking-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
  z-index: 800;
}

/* sliding panel */
#booking-panel {
  position: fixed;
  top: 0;
  right: -100vw; /* off-screen */
  width: 33vw;
  max-width: 88%;
  height: 100vh;
  background: #fff;
  padding: 50px !important 25px !important;
  overflow-y: auto;
  transition: right 0.45s cubic-bezier(0.6, 0, 0.4, 1);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  z-index: 801;
  /* tabs */
}
#booking-panel .close-booking {
  border: none;
  background: none;
  font-size: 26px;
  cursor: pointer;
  color: #1a3850;
}
#booking-panel h2 {
  font-size: 36px;
  color: #1a3850;
  margin-bottom: 25px !important;
}
#booking-panel .booking-tabs {
  width: 100%;
  display: flex;
  gap: 10px;
  margin-bottom: 25px !important;
}
#booking-panel .booking-tabs .tab-btn {
  flex: 1;
  padding: 8px;
  border: 2px solid #1a3850;
  background: transparent;
  color: #1a3850;
  font-weight: 700;
  cursor: pointer;
}
#booking-panel .booking-tabs .tab-btn.active, #booking-panel .booking-tabs .tab-btn:hover {
  background: #1a3850;
  color: #fff;
}
#booking-panel .tab-content {
  display: none;
  padding: 9px;
  width: 70%;
}
#booking-panel .tab-content.active {
  display: block;
}
#booking-panel .booking-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#booking-panel .booking-form input,
#booking-panel .booking-form textarea {
  width: 100%;
  padding: 8px 10px;
  border: 2px solid rgba(26, 56, 80, 0.4);
  border-radius: 4px;
  font-size: 16px;
}
#booking-panel .booking-form input:focus,
#booking-panel .booking-form textarea:focus {
  outline: none;
  border-color: #1a3850;
}
#booking-panel .booking-form .cta-btn {
  align-self: flex-end;
  width: 120px;
}

/* reveal */
body.booking-open #booking-backdrop {
  opacity: 1;
  pointer-events: auto;
}

body.booking-open #booking-panel {
  right: 0;
}

/* mobile tweak */
@media (max-width: 600px) {
  #booking-panel {
    width: 100%;
  }
}

/*# sourceMappingURL=main.css.map */
