/* ==================================================
   FONDO DEL PIE DE PÁGINA
   ================================================== */

#ss-footnote-footer {
    background-color: rgba(0, 105, 165, 1) !important;
}


/* ==================================================
   LOGOS DE MEDIOS DE PAGO
   ================================================== */

#ss-footnote-footer::after {
    content: "";
    display: block;

    width: 450px;
    max-width: 90%;
    height: 100px;

    margin: 15px auto 0 auto;

    background-image: url("https://ss-cnt-001c.esmsv.com/r/content/host2/27ecdb14bbd5692ade89b942f99993d7//editor/Logostcs-(5747).webp?v=1") !important;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* ==================================================
   MENÚ DEL PIE DE PÁGINA
   ================================================== */

#menu-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 5px !important;
}


/* ==================================================
   QUITAR SUBMENÚS DEL FOOTER
   ================================================== */

#menu-footer ul,
#menu-footer .sub-menu,
#menu-footer .submenu,
#menu-footer .dropdown-menu {
    display: none !important;
}


/* Quitar flechas, botones e indicadores de desplegable */

#menu-footer .dropdown-toggle,
#menu-footer button,
#menu-footer .caret,
#menu-footer .arrow {
    display: none !important;
}

#menu-footer > li > a::after,
#menu-footer > li > * > a::after {
    display: none !important;
    content: none !important;
}


/* ==================================================
   OCULTAR LOS NOMBRES ORIGINALES EN MAYÚSCULAS
   ================================================== */

#menu-footer > li > a,
#menu-footer > li > * > a {
    font-size: 0 !important;
    text-transform: none !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}


/* Ocultar también textos internos del enlace */

#menu-footer > li > a *,
#menu-footer > li > * > a * {
    font-size: 0 !important;
}


/* ==================================================
   NOMBRES CORRECTOS DEL MENÚ
   ================================================== */

#menu-footer > li:nth-child(1) > a::before,
#menu-footer > li:nth-child(1) > * > a::before {
    content: "Inicio";
}

#menu-footer > li:nth-child(2) > a::before,
#menu-footer > li:nth-child(2) > * > a::before {
    content: "Europa";
}

#menu-footer > li:nth-child(3) > a::before,
#menu-footer > li:nth-child(3) > * > a::before {
    content: "América y Caribe";
}

#menu-footer > li:nth-child(4) > a::before,
#menu-footer > li:nth-child(4) > * > a::before {
    content: "Perú";
}

#menu-footer > li:nth-child(5) > a::before,
#menu-footer > li:nth-child(5) > * > a::before {
    content: "Excursiones";
}


/* ==================================================
   APARIENCIA DE LOS NOMBRES
   ================================================== */

#menu-footer > li > a::before,
#menu-footer > li > * > a::before {
    font-size: 16px !important;
    font-weight: 400 !important;
    font-family: inherit !important;

    color: #FFFFFF !important;

    line-height: 1.4 !important;
    text-transform: none !important;
}


/* ==================================================
   CELULAR - LOGOS DE MEDIOS DE PAGO
   ================================================== */

@media (max-width: 600px) {

    #ss-footnote-footer::after {
        width: 280px !important;
        max-width: 85% !important;
        height: 70px !important;

        margin: 12px auto 0 auto !important;

        background-size: contain !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }

}


/* ==================================================
   CELULAR - REDES SOCIALES
   ================================================== */

@media (max-width: 600px) {

    .social-container {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;

        gap: 18px !important;

        width: max-content !important;

        margin: 12px auto 0 auto !important;
        padding: 0 !important;

        position: relative !important;
        left: -100px !important;
    }

    .social-container > a {
        margin: 0 !important;
        padding: 0 !important;
    }

}

@media (max-width: 600px) {

    #menu-footer {
        width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;

        position: relative !important;
        left: 29vw !important;

        margin: 15px auto 20px auto !important;
    }

    #menu-footer > li {
        width: 100% !important;
        text-align: center !important;
    }

    #menu-footer > li > a,
    #menu-footer > li > * > a {
        display: inline-block !important;
        text-align: center !important;
    }

}

/* Logo más grande solo en celulares */
@media (max-width: 767px) {
  #ss-header .ss-mobile #ss-logo .logo-header {
    width: 230px !important;
    max-width: calc(100vw - 110px) !important;
    height: auto !important;
    max-height: none !important;
  }

  #ss-header .ss-mobile .search-break-early {
    flex-basis: auto !important;
  }
}

/* Botones de cotización: solo celular */
@media (max-width: 767px) {

  [data-ss-id="4-zdosAn"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 10px !important;
    height: auto !important;
    padding: 14px 10px !important;
  }

  [data-ss-id="4-zdosAn"] > .ssc-col:empty {
    display: none !important;
  }

  [data-ss-id="4-zdosAn"] > .ssc-col {
    padding: 0 !important;
    min-width: 0 !important;
  }

  [data-ss-id="4-zdosAn"] .btn {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 6px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  [data-ss-id="4-zdosAn"] .btn p {
    font-size: 15px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }

}

/* Botones de destinos: efecto al pasar el cursor */
:is(
  [data-ss-id="iNy9SBN3"],
  [data-ss-id="xbN5h88Y"]
) > a.btn {
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

:is(
  [data-ss-id="iNy9SBN3"],
  [data-ss-id="xbN5h88Y"]
) > a.btn:hover {
  background-color: rgb(0, 67, 138) !important;
  border-color: rgb(0, 67, 138) !important;
  color: rgb(255, 255, 255) !important;
}

:is(
  [data-ss-id="iNy9SBN3"],
  [data-ss-id="xbN5h88Y"]
) > a.btn:hover * {
  color: rgb(255, 255, 255) !important;
}

/* Excursiones: ajustes para pantallas de hasta 767 px.
   Pegar al final del editor de CSS, sin etiquetas <style>. */
@media (max-width: 767px) {
  /* Margen equilibrado a ambos lados de la página. */
  #customPageContent [data-ss-id="rMolfKuk"] {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Quitar los anchos fijos y apilar las tarjetas. */
  #customPageContent [data-ss-id="rMolfKuk"] .ssc-row {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] .ssc-col {
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] .container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Fotos centradas, completas y con su proporción original. */
  #customPageContent [data-ss-id="rMolfKuk"] img {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Permitir que los títulos y descripciones ocupen varias líneas. */
  #customPageContent [data-ss-id="rMolfKuk"] h1,
  #customPageContent [data-ss-id="rMolfKuk"] h6 {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word;
  }

  #customPageContent [data-ss-id="rMolfKuk"] [data-ss-id="XPWpWVod"] {
    font-size: 16px !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] :is(
    [data-ss-id="XOv3ILo2"], [data-ss-id="w5mEgsUx"],
    [data-ss-id="gwuf8lJ6"], [data-ss-id="J72lztks"],
    [data-ss-id="thpJkdrg"], [data-ss-id="HZRGwQW8"],
    [data-ss-id="Fs1KfZPf"]
  ) {
    font-size: 28px !important;
  }

  /* Botones de países: una columna, sin desplazamientos laterales. */
  #customPageContent [data-ss-id="rMolfKuk"] :is(
    [data-ss-id="iNy9SBN3"], [data-ss-id="xbN5h88Y"]
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 12px !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] .btn-group > a.btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 8px 12px !important;
    white-space: normal !important;
  }

  /* Cada ciudad conserva su botón Comprar a la derecha. */
  #customPageContent [data-ss-id="rMolfKuk"] .container > .ssc-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 12px !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] .container > .ssc-row h6 {
    margin: 0 !important;
    font-size: 18px !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] .container > .ssc-row > .ssc-col:last-child {
    display: flex;
    justify-content: flex-end;
  }

  #customPageContent [data-ss-id="rMolfKuk"] .container > .ssc-row a.btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 8px 12px !important;
    font-size: 16px !important;
  }

  /* Tarjeta de asesoría y enlace de WhatsApp. */
  #customPageContent [data-ss-id="rMolfKuk"] [data-ss-id="Ct_QW_9n"] {
    padding: 0 !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] [data-ss-id="RIhozg9I"] {
    min-height: 0 !important;
    padding: 24px 16px !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] [data-ss-id="fNXBqhl3"] {
    margin: 12px 0 20px !important;
    line-height: 1.5 !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] [data-ss-id="wYW-13q6"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 12px !important;
    font-size: 16px !important;
    white-space: normal !important;
  }

  #customPageContent [data-ss-id="rMolfKuk"] [data-ss-id="X-BIuL45"] {
    width: 100% !important;
    margin: 12px 0 0 !important;
    font-size: 16px !important;
    text-align: center !important;
    overflow-wrap: break-word;
  }

  /* Carrusel de Excursiones: imagen de fondo centrada y título legible. */
  #customPageContent [data-ss-id="TkxP4tMD"] .item-ss > .ssc-flex {
    box-sizing: border-box;
    min-height: 280px !important;
    max-height: none !important;
    padding: 24px 32px !important;
    background-position: center !important;
  }

  #customPageContent [data-ss-id="TkxP4tMD"] .item-ss > .ssc-flex > .ssc-row {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customPageContent [data-ss-id="TkxP4tMD"] .item-ss > .ssc-flex > .ssc-row > .ssc-col:empty {
    display: none !important;
  }

  #customPageContent [data-ss-id="TkxP4tMD"] h1 {
    font-size: 28px !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word;
  }
}

/* Las dos tarjetas: Vuelos y Hoteles */
#customPageContent :is(
  [data-ss-id="7Ri_vAY-"],
  [data-ss-id="V-uD4VWi"]
) {
  --tpv-fondo: #ffffff;
  --tpv-texto: #070a64;

  background-color: var(--tpv-fondo) !important;
  transition: background-color 0.2s ease;
}

/* Quitar el recuadro automático del botón */
#customPageContent :is(
  [data-ss-id="7Ri_vAY-"],
  [data-ss-id="V-uD4VWi"]
) > a {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Color del texto, incluidos los textos internos */
#customPageContent :is(
  [data-ss-id="7Ri_vAY-"],
  [data-ss-id="V-uD4VWi"]
) > a,
#customPageContent :is(
  [data-ss-id="7Ri_vAY-"],
  [data-ss-id="V-uD4VWi"]
) > a * {
  color: var(--tpv-texto) !important;
}

/* Al presionar o seleccionar con el teclado */
#customPageContent :is(
  [data-ss-id="7Ri_vAY-"],
  [data-ss-id="V-uD4VWi"]
):is(:active, :has(> a:focus-visible)) {
  --tpv-fondo: #043789;
  --tpv-texto: #ffffff;
}

/* Al pasar el cursor sobre cada tarjeta */
@media (hover: hover) {
  #customPageContent :is(
    [data-ss-id="7Ri_vAY-"],
    [data-ss-id="V-uD4VWi"]
  ):hover {
    --tpv-fondo: #043789;
    --tpv-texto: #ffffff;
  }
}

/* VUELOS Y HOTELES: AJUSTE PARA PANTALLAS PEQUEÑAS */
@media screen and (max-width: 991px) {

  /* Márgenes de la sección */
  #customPageContent [data-ss-id="fLM_Ub0G"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 20px 12px 30px !important;
  }

  #customPageContent [data-ss-id="fLM_Ub0G"],
  #customPageContent [data-ss-id="fLM_Ub0G"] * {
    box-sizing: border-box !important;
  }

  /* Fondo azul: ancho adaptable y altura automática */
  #customPageContent [data-ss-id="fLM_Ub0G"] > .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 16px !important;
  }

  /* Quitar los márgenes internos acumulados */
  #customPageContent [data-ss-id="fLM_Ub0G"] > .container .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Título centrado */
  #customPageContent [data-ss-id="fLM_Ub0G"] h1 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 0 12px !important;
    font-size: 26px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
  }

  /* Subtítulo */
  #customPageContent [data-ss-id="fLM_Ub0G"]
  [data-ss-id="7l8WgPvH"] {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  /* Una tarjeta debajo de la otra */
  #customPageContent [data-ss-id="fLM_Ub0G"] .ssc-row {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #customPageContent [data-ss-id="fLM_Ub0G"] .ssc-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  #customPageContent [data-ss-id="fLM_Ub0G"]
  [data-ss-id="XMprE73s"] {
    padding: 18px 0 0 !important;
  }

  /* Icono y botón alineados dentro de cada tarjeta */
  #customPageContent [data-ss-id="fLM_Ub0G"] :is(
    [data-ss-id="7Ri_vAY-"],
    [data-ss-id="V-uD4VWi"]
  ) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 12px !important;
  }

  /* Iconos */
  #customPageContent [data-ss-id="fLM_Ub0G"] img {
    display: block !important;
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    flex: 0 0 56px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  /* Botones sin ancho fijo */
  #customPageContent [data-ss-id="fLM_Ub0G"] a.btn {
    display: block !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  /* Texto completo, sin recortes */
  #customPageContent [data-ss-id="fLM_Ub0G"] a.btn p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #customPageContent [data-ss-id="fLM_Ub0G"] a.btn strong {
    font-size: 16px !important;
  }

}

/* Los dos botones de retorno */
#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"]) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 18px auto !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: #0069a5 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"]) p {
  font-size: 0 !important;
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"])::before {
  content: "↑";
  font: 26px/1 Arial, sans-serif;
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"]):hover {
  background-color: #063669 !important;
}

#MenuDestinos {
  scroll-margin-top: calc(var(--menu-height, 90px) + 16px);
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"]) {
  position: relative !important;
  background-color: #043789 !important;
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"])::before {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"]):hover {
  background-color: #043789 !important;
}

#customPageContent a:is([data-ss-id="NttiEL0v"], [data-ss-id="tPt4AGpW"]) {
  border-radius: 12px !important;
}