/*
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
*/
:root {
    --width: 100%;
    --max-width: 85%;
    --brand: #018c2f;
    --brand2: #ffcf00;
    --color-title: #333;
    --color-background: #f9f9f9;
}

@font-face {
    font-family: 'XtremeTourbulencia';
    font-style: normal;
    src: url('../font/inter-18pt-regular.woff2') format('woff2');
    font-display: swap;
}

html {
    width: 100%;
    height: 100%;
}

body {
    /*
    font-family: "XtremeTourbulencia", "Montserrat", sans-serif;
    */
    font-family: "XtremeTourbulencia", sans-serif;
    line-height: 1.6;
    color: #1e1c43;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

.media--type-image .contextual, .media--type-icon .contextual, .media--view-mode-media-document-url .contextual {
    display: none;
}

/* ===== PAGINA HOME ===== */


/*----------  Inicio Grupo Bloques Header  ----------*/
#block-sitebranding > a:last-child, #block-sitebranding .site-name > a:last-child, #block-x-tremetourbulencia-site-branding > a:last-child, .block-system-branding-block .site-name > a:last-child {
    display: none;
}

.field--name-field-tp-grup-bloq-head-bloqs-bp {
    width: 100%;
    max-width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template: "A B D" "A C D";
    grid-template: "A C D";
    grid-template-columns: 40% 45% 15%;
    align-items: center;
}

.field--name-field-tp-grup-bloq-head-bloqs-bp > .field__item:first-child {
    grid-area: A;
}

.field--name-field-tp-grup-bloq-head-bloqs-bp > .field__item:nth-child(2) {
    grid-area: B;
}

.field--name-field-tip-bloq-links-head-lnk {
    display: none;
}

.field.field--name-field-tb-opc-cont-head-prghcon {
    display: flex;
    justify-content: center;
    column-gap: 5%;
}

.gr-opc-cont-head {
    display: flex;
    justify-content: center;
    align-items: center;
}

.field--name-field-tipprg-hcont-ico img {
    display: block;
    width: 2em;
}

.gr-opc-cont-head .field--name-field-tipprg-hcont-label {
    display: none;
}

.gr-opc-cont-head .field--name-field-tipprg-hcont-text {
    display: none;
}

.field--name-field-tp-grup-bloq-head-bloqs-bp > .field__item:nth-child(3) {
    grid-area: C;
}

.field--name-field-tipbq-ghlinks-buttoms {
    display: none;
}

.field--name-field-tp-grup-bloq-head-bloqs-bp > .field__item:nth-child(4) {
    grid-area: D;
}

#block-sitebranding img {
    width: 100%;
    height: auto;
}

/* Language Switcher — dropdown estilo select con banderas.
   Comportamiento UNIFICADO: solo se abre con click (clase .is-open añadida
   por el JS). Mismo flujo en desktop y mobile.
   Requiere `language-switcher.js` (Drupal.behaviors + once).
   Mobile-first: tamaños compactos por defecto; @media ≥768px ajusta padding,
   font-size y min-width para escritorio.
*/

/* ============================================================
   MÓVIL (base) — compacto, ocupa el ancho del field__item padre
   ============================================================ */

/* El padre directo .field__item no ocupa toda la altura del grid (ej: 38px
   contra 74px del row). Lo estiramos para que ocupe la fila completa y
   centramos su contenido verticalmente. */
.field__item:has(> .language-switcher-language-url) {
  display: flex;
  align-items: center;
  justify-content: right;
  align-self: stretch;
  height: 100%;
}

.language-switcher-language-url {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  /* Por defecto se centra dentro del field__item. */
  align-self: center;
  /* min-height ESTABLE para evitar salto vertical cuando el ul pasa a
     position:absolute al abrir el dropdown. Sin esto el switcher pierde
     altura y align-self:center lo recoloca ~13px más abajo. */
  min-height: 29px;
}

.language-switcher-language-url ul.links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
}

/* Ocultar todos por defecto */
.language-switcher-language-url ul.links li {
  display: none;
  padding: 0;
}

/* Solo el activo visible como trigger */
.language-switcher-language-url ul.links li.is-active {
  display: block;
  order: 0;
}

.language-switcher-language-url ul.links li a {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  font-size: 0.85rem;
  text-decoration: none;
  color: #333;
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.language-switcher-language-url ul.links li a:hover {
  background: #f0f0f0;
}

.language-switcher-language-url ul.links li a img.language-icon {
  width: 18px;
  height: 12px;
  flex-shrink: 0;
  object-fit: cover;
  display: block;
}

.language-switcher-language-url ul.links li.is-active a::after {
  content: "▾";
  margin-left: auto;
  padding-left: 4px;
  font-size: 0.75em;
}

/* El JS hace preventDefault sobre el click del <a> activo y agrega .is-open
   al contenedor. Ese es el UNICO disparador del dropdown. */

/* Estado abierto: dropdown flotante. Puede crecer hacia afuera del padre. */
.language-switcher-language-url.is-open ul.links {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  min-width: 100%;
  width: max-content;
  background: #fff;
}
.language-switcher-language-url.is-open ul.links li {
  display: block;
}
.language-switcher-language-url.is-open ul.links li:not(.is-active) a {
  border-top: none;
}
.language-switcher-language-url.is-open ul.links li.is-active a::after {
  content: "▴";
}

/* Quitar outline visual del <li> focusable */
.language-switcher-language-url ul.links li.is-active:focus {
  outline: none;
}

/*----------  Fin Grupo Bloques Header  ----------*/

/*----------  Inicio Bloque Menu  ----------*/
#menu {
    width: 100%;
    position: sticky;
    top: 0;
    background: white;
    z-index: 9;
}
#menu .container {
    overflow: scroll;
    max-height: 95vh;
    /* Evita rebote del scroll: al llegar al fondo del menú,
       el scroll continúa en el body sin perder la barra verde */
    overscroll-behavior: contain;
}
#block-x-tremetourbulencia-mainnavigation .tbm-main .tbm-button {
    width: 100%;
    margin-bottom: 0;
    background: #008b39;
    color: white;
    border-radius: 0;
}
/* La barra verde queda pegada al top dentro del menú scrollable */
.tbm.tbm--mobile .tbm-button {
    position: sticky;
    top: 0;
    z-index: 10;
}
#block-x-tremetourbulencia-mainnavigation .tbm-main .tbm-button .tbm-button-container {
    margin: 0.5rem 0.5rem 0.5rem auto;
}
#block-x-tremetourbulencia-mainnavigation .tbm--mobile .tbm-collapse {
    padding-top: 0;
    background: transparent;
    position: relative;
}
#block-x-tremetourbulencia-mainnavigation .tbm-button {
    margin-bottom: 0;
}
#block-x-tremetourbulencia-mainnavigation .tbm-main .tbm-nav.level-0 .tbm-item.level-1 .tbm-link-container .tbm-link.level-2:hover {
    color: #008b39;
}
#block-x-tremetourbulencia-mainnavigation .tbm-main .tbm-nav.level-0 .tbm-item.level-1 .tbm-link-container .tbm-link.level-3:hover {
    color: #008b39;
}
.tbm-item-extras.tbm-item-extras--default {
    padding: 1rem 1.25rem;
}
.field--name-field-main-menu-label-tf {
    background-color: #ffcf00 !important;
    padding: 1px 5px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
    margin-top: 3px;
}

/*----------  Fin Bloque Menu  ----------*/

/*----------  Inicio Bloque Slider  ----------*/
.section-slider-home {
    position: relative;
}

.section-slider-home .field--name-field-tb-slid-home-bg-med {
    width: 100%;
    height: 100%;
    position: absolute;
}

.section-slider-home .field--name-field-tb-slid-home-bg-med .media--type-image {
    height: 100%;
}

.section-slider-home .field--name-field-tb-slid-home-bg-med .media--type-image .field--name-field-media-image {
    height: 100%;
}

.section-slider-home .field--name-field-tb-slid-home-bg-med .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}

.section-slider-home .field--name-field-tb-slid-home-bg-med .media--type-image .field--name-field-media-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.sld-content {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    padding: 5% 0 5%;
    text-align: center;
    color: white;
    z-index: 1;
}
.sld-content .field--name-body .field--name-field-media-image {
    display: none;
}
.sld-content .field--name-field-tb-slid-home-btn-link a {
    display: inline-block;
    padding: 7.5px 15px;
    background: #ffcf00;
    color: #1a202c;
    border-radius: 10px;
    font-weight: bold;
}

/*----------  Fin Bloque Slider  ----------*/

.path-frontpage #block-x-tremetourbulencia-content {
    display: none;
}

.gr-explore {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.gr-explore .field--name-field-tip-bloq-present-certs {
    display: flex;
    justify-content: center;
}

.gr-explore .field--name-field-tip-bloq-present-certs .field__item {
    padding-left: 20px;
    padding-right: 20px;
}

.gr-explore .field--name-field-tip-bloq-present-tit-head {
    text-align: center;
    color: #008b39;
}

/* MÓVIL: 3 por fila */
.gr-explore .field--name-field-tip-bloq-present-certs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 20px 0;
}

.gr-explore .field--name-field-tip-bloq-present-certs .field__item {
  flex: 0 0 calc(33.333% - 8px);
  max-width: calc(33.333% - 8px);
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.gr-explore .field--name-field-tip-bloq-present-certs .field__item img {
  width: 100%;
  height: auto;
  max-width: 100px;
  object-fit: contain;
}

/*----------  Inicio Bloque Paquetes Tours Recomendados  ----------*/
.tb-paq-tou-rec-hom-md {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}
.tb-paq-tou-rec-hom-md .field--name-field-tb-paq-tou-rec-hom-tit-hea {
    position: relative;
    text-align: center;
    color: #008b39;
}
.tb-paq-tou-rec-hom-md .field--name-field-tb-paq-tou-rec-hom-tit-hea:after {
    display: block;
    content: '';
    margin: 10px auto 20px;
    width: 60px;
    height: 4px;
    background-color: #F5C518;
    border-radius: 2px;
}
.view-vista-paq-tours-rec-home > .view-content > .views-row {
    width: 100%;
    margin-bottom: 15px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.view-vista-paq-tours-rec-home .views-field-field-tc-paq-tour-thumb-med .field--name-field-media-image img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.view-vista-paq-tours-rec-home .gr-fieldset-1 {
    padding: 10px 15px 15px;
}

.view-vista-paq-tours-rec-home .views-field-field-tc-paq-tour-parg-dettour > .field-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 4px;
    flex-wrap: nowrap;
}

.view-vista-paq-tours-rec-home .views-field-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour, .view-vista-paq-tours-rec-home .views-field-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour > .field, .view-vista-paq-tours-rec-home .views-field-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour .views-element-container {
    flex: 0 0 auto;
    width: fit-content;
    max-width: none;
}

.view-vista-paq-tours-rec-home .view-vista-parr-tax-det-paq-tou, .view-vista-paq-tours-rec-home .view-vista-parr-tax-det-paq-tou .view-content {
    width: fit-content;
}

.view-vista-paq-tours-rec-home .view-vista-parr-tax-det-paq-tou > .view-content > .views-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 5px;
    row-gap: 0;
    width: fit-content;
    flex-wrap: nowrap;
}

.view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico, .view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico .field-content, .view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico article, .view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico .field--name-field-media-icon, .view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico .field--name-field-media-icon .field__item {
    width: 28px;
    min-width: 28px;
    max-width: 28px;
    flex-shrink: 0;
    display: block;
    overflow: visible;
}

.view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico img, .view-vista-paq-tours-rec-home .views-field-field-tax-det-tour-ico .field--name-field-media-image-1 img {
    width: 28px;
    min-width: 0;
    max-width: 28px;
    height: auto;
    display: block;
}
.view-vista-paq-tours-rec-home .view-vista-parr-tax-det-paq-tou .views-field-field-tipparg-dettour-content, .view-vista-paq-tours-rec-home .view-vista-parr-tax-det-paq-tou .views-field-field-tipparg-dettour-content * {
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.2;
}

.view-vista-paq-tours-rec-home .view-vista-parr-tax-det-paq-tou .views-field-name {
    display: none;
}

.view-vista-paq-tours-rec-home .views-field-title a {
    color: black;
}

.view-vista-paq-tours-rec-home .views-field-body {
    text-align: justify;
}

.view-vista-paq-tours-rec-home .views-field-view-node-1 {
    text-align: center;
}

.view-vista-paq-tours-rec-home .views-field-view-node-1 a {
    display: inline-block;
    padding: 7px 15px;
    background: #008b39;
    color: white;
    border-radius: 10px;
}

/*----------  Fin Bloque Paquetes Tours Recomendados  ----------*/

.tb-por-q-eleg-hom-md {
    position: relative;
}

.tb-por-q-eleg-hom-md .field--name-field-tb-por-q-eleg-hom-bg-med {
    width: 100%;
    height: 100%;
    position: absolute;
}

.tb-por-q-eleg-hom-md .field--name-field-tb-por-q-eleg-hom-bg-med .media--type-image {
    height: 100%;
}

.tb-por-q-eleg-hom-md .field--name-field-tb-por-q-eleg-hom-bg-med .media--type-image .field--name-field-media-image {
    height: 100%;
}

.tb-por-q-eleg-hom-md .field--name-field-tb-por-q-eleg-hom-bg-med .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}

.tb-por-q-eleg-hom-md .field--name-field-tb-por-q-eleg-hom-bg-med .media--type-image .field--name-field-media-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.tb-por-q-eleg-hom-md-a {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    padding: 5% 0 5%;
    text-align: center;
    color: white;
    z-index: 1;
}


.section-venture {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.section-venture .field--name-field-tipbloq-venby-title {
    position: relative;
    text-align: center;
    color: rgb(0, 139, 57);
}
.section-venture .field--name-field-tipbloq-venby-title:after {
    display: block;
    content: '';
    margin: 10px auto 20px;
    width: 60px;
    height: 4px;
    background-color: #F5C518;
    border-radius: 2px;
}

.view-vista-home-ventbeyo > .view-content > .views-row {
    position: relative;
    width: 100%;
    margin-bottom: 15px;
}

.view-vista-home-ventbeyo .views-field-fieldset {
    width: 100%;
    /* max-width: 85%; */
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    /* text-align: center; */
    z-index: 2;
    padding: 40px;
    box-sizing: border-box;
}

.view-vista-home-ventbeyo .views-field-field-tax-cat-paq-tou-thumb-med .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.25);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.5) 70%, rgba(0, 0, 0, 0.9) 100%);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 0;
    border-radius: 10px;
}

.view-vista-home-ventbeyo .views-field-field-tax-cat-paq-tou-thumb-med .field--name-field-media-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.view-vista-home-ventbeyo .views-field-name a {
    color: white;
}

.view-vista-home-ventbeyo .views-field-description__value {
    color: white;
}

.view-vista-home-ventbeyo .views-field-view-taxonomy-term-1 a {
    color: #ffcf00;
    display: flex;
    column-gap: 2%;
    align-items: center;
    font-weight: bold;
}

.view-vista-home-ventbeyo .views-field-view-taxonomy-term-1 a:after {
    content: '\203A';
    /* position: absolute; */
    /* font-size: 2.5em; */
    font-size: calc(1em + 1vw);
}


.tb-paq-tou-dia-comp-h-md {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.tb-paq-tou-dia-comp-h-md .field--name-field-tb-paqtou-diacom-h-tit-hea {
    text-align: center;
    color: #008b39;
}
.tb-paq-tou-dia-comp-h-md .field--name-field-tb-paqtou-diacom-h-tit-hea:after {
    display: block;
    content: '';
    margin: 10px auto 20px;
    width: 60px;
    height: 4px;
    background-color: #F5C518;
    border-radius: 2px;
}

.view-vista-paq-tou-dia-comp-home .views-field-title a {
    color: black;
}


.tb-res-home-md {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.tb-res-home-md .field--name-field-tb-res-home-tit-head {
    position: relative;
    text-align: center;
    color: #008b39;
}
.tb-res-home-md .field--name-field-tb-res-home-tit-head:after {
    display: block;
    content: '';
    margin: 10px auto 20px;
    width: 60px;
    height: 4px;
    background-color: #F5C518;
    border-radius: 2px;
}


.view-vista-paq-tou-dia-comp-home .views-row {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.view-vista-paq-tou-dia-comp-home .views-field-field-tc-paq-tour-thumb-med .field--name-field-media-image img {
    display: block;
    width: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.view-vista-paq-tou-dia-comp-home .gr-fieldset-a {
    padding: 0 15px 15px 15px;
}

.view-vista-paq-tou-dia-comp-home .views-field-view-node-1 {
    text-align: right;
}

.view-vista-paq-tou-dia-comp-home .views-field-view-node-1 a {
    font-weight: bold;
    color: #008b39;
}


.gr-compa {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.gr-compa .field--name-field-tip-bloq-hcom-imgs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 4%;
}

.gr-compa .field--name-field-tip-bloq-hcom-imgs .field--name-field-media-image img {
    width: 100%;
    height: auto;
    max-width: 97.5px;
}


/*----------  Inicio Grupo Bloques Footer  ----------*/
#block-x-tremetourbulencia-tipbloqfooterexpl {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

#block-x-tremetourbulencia-bloqgrupofooter {
    position: relative;
}

#block-x-tremetourbulencia-bloqgrupofooter .field--name-field-tp-grup-bloq-foot-bg-med {
    width: 100%;
    height: 100%;
    position: absolute;
}

#block-x-tremetourbulencia-bloqgrupofooter .field--name-field-tp-grup-bloq-foot-bg-med .media--type-image {
    width: 100%;
    height: 100%;
}

#block-x-tremetourbulencia-bloqgrupofooter .field--name-field-tp-grup-bloq-foot-bg-med .media--type-image .field--name-field-media-image {
    width: 100%;
    height: 100%;
}

#block-x-tremetourbulencia-bloqgrupofooter .field--name-field-tp-grup-bloq-foot-bg-med .media--type-image .field--name-field-media-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.field--name-field-tp-grup-bloq-foot-bloqs-bp {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    position: relative;
    padding: 40em 0 5em;
    z-index: 1;
}

.field--name-field-tip-bloq-dat-foot-log-med .field--name-field-media-image img {
    width: 100%;
}
.field.field--name-field-tip-bloq-ft-com-title h2 {
    border-bottom: 2px solid white;
}
.field.field--name-field-tipbq-ftoff-hour-title h2 {
    border-bottom: 2px solid white;
}
.field.field--name-field-tipbloq-ft-cont-title h2 {
    border-bottom: 2px solid white;
}
#block-x-tremetourbulencia-bloqfootercopy {
    background: #008b39;
    padding-top: 1px;
    padding-bottom: 1px;

}

#block-x-tremetourbulencia-bloqfootercopy .field--name-body {
    color: white;
}

.field--name-field-tp-grup-bloq-foot-bloqs-bp .field--type-heading * {
    color: white;
}

#block-bloqftcompany .field--name-field-tip-bloq-ft-com-link a {
    color: white;
    line-height: 2;
}

#block-bloqftofficehour .field--name-field-tipbq-ftoff-hour-prg-ftoff {
    line-height: 2;
    color: white
}

#block-bloqftofficehour .field--name-field-tipbq-ftoff-hour-prg-ftoff > .field__item {
    margin-bottom: 10px;
}

#block-bloqftofficehour .field--name-field-tipparg-ft-offhour-title {
    font-weight: bold;
}

#block-bloqftcontact .field--name-field-tipbloq-ft-cont-prg-ft-con {
    color: white;
    line-height: 2;
}

.paragraph--type--tip-parg-ft-contact {
    display: flex;
    gap: 5px;
}

#block-footercompanyblock .field--name-field-tip-bloq-ft-com-link a {
    color: white;
}

#block-footerofficehoursblock .field--name-field-tipparg-ft-offhour-title {
    color: white;
}
#block-footerofficehoursblock .field--name-field-tipparg-ft-offhour-descrip {
    color: white;
}
#block-footercontactblock .field--name-field-tipparg-ft-cont-title {
    color: white;
    font-weight: bold;
}
#block-footercontactblock .field--name-field-tipparg-ft-cont-descrip {
    color: white;
}
/*----------  Fin Grupo Bloques Footer  ----------*/

/* Seccion about us home */
#block-x-tremetourbulencia-bloqaboutushome {
    background-color: var(--color-background);
    padding: 2rem 0;
}

.gr-aboutus-home {
    width: var(--width);
    max-width: var(--max-width);
    margin: 0 auto;
}

.gr-aboutus-home .field--name-field-tipbloq-abtus-title {
    position: relative;
    text-align: center;
    color: #008b39;
}
.gr-aboutus-home .field--name-field-tipbloq-abtus-title:after {
    display: block;
    content: '';
    margin: 10px auto 20px;
    width: 60px;
    height: 4px;
    background-color: #F5C518;
    border-radius: 2px;
}

.gr-aboutus-home .field--name-body {
    text-align: center;
    margin-bottom: 3rem;
}

.view-vista-aboutus-home > .view-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.view-vista-aboutus-home .field-view-thumbnail {
    height: 280px;

    & img {
        display: block;
        object-fit: cover;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
}

.view-vista-aboutus-home .field-view-thumbnail * {
    height: 100%;
    width: 100%;
}

.view-vista-aboutus-home .views-row {
    background-color: white;
    border-radius: 10px;
}

.view-vista-aboutus-home .gr-about-ct {
    padding: 15px 10px;
    text-align: center;
}

.view-vista-aboutus-home .field-view-title a {
    font-size: 22px;
    color: var(--color-title);
    font-weight: bold;
}

.view-vista-aboutus-home .field-view-body {
    margin-top: 10px;
}

.view-vista-aboutus-home .field-view-link {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}
.view-vista-aboutus-home .field-view-link a {
    /* background-color: var(--brand2); */
    border: 2px solid var(--brand);
    border-radius: 100px;
    padding: 10px 50px 10px 50px;
    font-weight: 700;
    background: #008b39;
    color: white;

    &:hover {
        /*
        background-color: var(--brand);
        */
    }
}

/* ./Seccion about us home */

/* ===== END PAGINA HOME ===== */

/*=====================================================
=            Inicio Taxonomia Paquete Tour            =
=====================================================*/
.view-vista-tax-cat-paq-tou-slider .views-field-field-tax-cat-paq-tou-slid-med {
    position: absolute;
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-paq-tou-slider .views-field-field-tax-cat-paq-tou-slid-med > .field-content {
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-paq-tou-slider .views-field-field-tax-cat-paq-tou-slid-med > .field-content .media--type-image {
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-paq-tou-slider .views-field-field-tax-cat-paq-tou-slid-med > .field-content .media--type-image .field--name-field-media-image {
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-paq-tou-slider .views-field-field-tax-cat-paq-tou-slid-med > .field-content .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}

.view-vista-tax-cat-paq-tou-slider .views-field-field-tax-cat-paq-tou-slid-med img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.view-vista-tax-cat-paq-tou-slider .views-field-name {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    text-align: center;
    color: white;
    z-index: 1;
    padding: 20% 0;
}

.taxonomy-vocabulary--tax_cat_paq_tou #contenedor {
    width: var(--width);
    max-width: var(--max-width);
    margin: 0 auto;
}

.view-vista-tc-paq-tou-lista > .view-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.view-vista-tc-paq-tou-lista > .view-content > .views-row {
    width: 100%;
    margin-bottom: 15px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.view-vista-tc-paq-tou-lista .gr-tour-ct-tax {
    padding: 10px 15px 15px;
}

.view-vista-tc-paq-tou-lista .views-field-field-tc-paq-tour-parg-dettour > .field-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 4px;
    flex-wrap: nowrap;
}

.view-vista-tc-paq-tou-lista .views-field-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour, .view-vista-tc-paq-tou-lista .views-field-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour > .field, .view-vista-tc-paq-tou-lista .views-field-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour .views-element-container {
    flex: 0 0 auto;
    width: fit-content;
    max-width: none;
}

.view-vista-tc-paq-tou-lista .view-vista-parr-tax-det-paq-tou, .view-vista-tc-paq-tou-lista .view-vista-parr-tax-det-paq-tou .view-content {
    width: fit-content;
}

.view-vista-tc-paq-tou-lista .view-vista-parr-tax-det-paq-tou > .view-content > .views-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 5px;
    row-gap: 0;
    width: fit-content;
    flex-wrap: nowrap;
}

.view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico, .view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico .field-content, .view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico article, .view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico .field--name-field-media-icon, .view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico .field--name-field-media-icon .field__item {
    width: 28px;
    min-width: 28px;
    max-width: 28px;
    flex-shrink: 0;
    display: block;
    overflow: visible;
}

.view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico img, .view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico .field--name-field-media-image-1 img {
    width: 28px;
    min-width: 0;
    max-width: 28px;
    height: auto;
    display: block;
}
.view-vista-tc-paq-tou-lista .view-vista-parr-tax-det-paq-tou .views-field-field-tipparg-dettour-content, .view-vista-tc-paq-tou-lista .view-vista-parr-tax-det-paq-tou .views-field-field-tipparg-dettour-content * {
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.2;
}

.view-vista-tc-paq-tou-lista .view-vista-parr-tax-det-paq-tou .views-field-name {
    display: none;
}


.view-vista-tc-paq-tou-lista .views-field-field-tc-paq-tour-parg-dettour > .field-content {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.view-vista-tc-paq-tou-lista .views-field-field-tax-det-tour-ico img {
    display: block;
    width: 1.5em;
}

.view-vista-tc-paq-tou-lista .view-vista-tour-tax-det .views-field-name {
    display: none;
}

.view-vista-tc-paq-tou-lista .paragraph--type--tip-parg-detail-tour {
    display: flex;
    gap: 5px;
}

.view-vista-tc-paq-tou-lista .field--name-field-tipparg-dettour-content {
    font-size: 14px;
}

.view-vista-tc-paq-tou-lista .views-field-title * {
    color: var(--color-title);
}

.view-vista-tc-paq-tou-lista .views-field-view-node-1 {
    text-align: center;
    margin-top: 30px;
}

.view-vista-tc-paq-tou-lista .views-field-view-node-1 a {
    display: inline-block;
    padding: 5px 20px;
    background: var(--brand);
    color: white;
    border-radius: 10px;
}

/*=====  Fin Taxonomia Paquete Tour  ======*/

/*==========================================================
=            Inicio Tipo Contenido Paquete Tour            =
==========================================================*/
.view-vista-paq-tou-gal-slider .views-field-field-tc-paq-tour-slid-med .gallery-grid a {
    display: none;
}

.view-vista-paq-tou-gal-slider .views-field-field-tc-paq-tour-slid-med .gallery-grid a:first-child {
    display: initial;
}

.view-vista-paq-tou-gal-slider > .view-footer {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.view-vista-paq-tou-gal-slider .views-field-field-tc-paq-tour-map-img {
    display: none;
}

/*
.view-vista-tour-slider .views-field-field-tc-paq-tour-slid-med .gallery-grid a {
    display: none;
}
.view-vista-tour-slider .views-field-field-tc-paq-tour-slid-med .gallery-grid a:first-child {
    display: initial;
}
.view-vista-tour-slider > .view-footer {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}
*/


/*
.view-vista-tour-detalles {
    background: #f9f9f9;
}
.view-vista-tour-detalles .views-field-field-tc-paq-tour-parg-dettour > .field-content {
    display: flex;
    justify-content: space-around;
}
.view-vista-tour-detalles .views-field-field-tc-paq-tour-parg-dettour > .field-content > .paragraph--type--tip-parg-detail-tour {
    text-align: center;
}
.view-vista-tour-detalles .views-field-field-tc-paq-tour-parg-dettour .views-field-field-tax-det-tour-ico img {
    width: 50px;
}
.view-vista-tour-detalles .views-field-field-tc-paq-tour-parg-dettour .field--name-field-tipparg-dettour-content {
    font-weight: bold;
}
*/


/*
.field--name-field-tc-paq-tour-parg-dettour {
    display: flex;
    justify-content: space-around;
    margin-bottom: 15px;
}
*/

/* ============================================
   Tour Details - Flexbox Auto-responsive
   Scope: .field--name-field-tc-paq-tour-parg-dettour
   
   Los items ocupan todo el ancho disponible.
   Solo bajan de fila si no caben (< 100px c/u).
   ============================================ */

/* --- Contenedor principal --- */
.field--name-field-tc-paq-tour-parg-dettour {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
}

/* --- Cada item --- */
.field--name-field-tc-paq-tour-parg-dettour > .field__item {
  flex: 1 1 0;
  min-width: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem 0.5rem;
}

/* --- Paragraph wrapper --- */
/*
.field--name-field-tc-paq-tour-parg-dettour .paragraph--type--tip-parg-detail-tour {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
*/

/* --- Taxonomy wrapper --- */
/*
.field--name-field-tc-paq-tour-parg-dettour .field--name-field-tipparg-dettour-taxdettr {
  display: flex;
  flex-direction: column;
  align-items: center;
}
*/

/* --- Views wrappers transparentes --- */
/*
.field--name-field-tc-paq-tour-parg-dettour .views-element-container,
.field--name-field-tc-paq-tour-parg-dettour .view,
.field--name-field-tc-paq-tour-parg-dettour .view-content,
.field--name-field-tc-paq-tour-parg-dettour .views-row {
  display: contents;
}
*/

/* --- Icono --- */
/*
.field--name-field-tc-paq-tour-parg-dettour .views-field-field-tax-det-tour-ico {
  margin-bottom: 0.5rem;
}
*/
/*
.field--name-field-tc-paq-tour-parg-dettour .views-field-field-tax-det-tour-ico .field-content {
  display: flex;
  align-items: center;
  justify-content: center;
}
*/

.field--name-field-tc-paq-tour-parg-dettour .views-field-field-tax-det-tour-ico img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

/* --- Label --- */
.field--name-field-tc-paq-tour-parg-dettour .views-field-name .field-content {
  font-size: 0.9rem;
  font-weight: 400;
  color: #0b4d3c;
  margin-bottom: 0.1rem;
}

/* --- Value --- */
.field--name-field-tc-paq-tour-parg-dettour .field--name-field-tipparg-dettour-content {
  font-size: 0.9rem;
  font-weight: 700;
  color: #0b4d3c;
}

/* --- Media wrapper --- */
/*
.field--name-field-tc-paq-tour-parg-dettour .media--type-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
*/

/*
.field--name-field-tc-paq-tour-parg-dettour .field--name-field-media-image-1 {
  display: flex;
  align-items: center;
  justify-content: center;
}
*/

/*
.field--name-field-tc-paq-tour-parg-dettour .field--name-field-media-image-1 > .field__item {
  display: flex;
}
*/

/*
.paragraph--type--tip-parg-detail-tour .field--name-field-tipparg-dettour-taxdettr .view-vista-tour-tax-det .views-field-field-tax-det-tour-ico {
}
*/

/*
.paragraph--type--tip-parg-detail-tour .field--name-field-tipparg-dettour-taxdettr {
    text-align: center;
}
*/

.paragraph--type--tip-parg-detail-tour .field--name-field-tipparg-dettour-taxdettr .view-vista-tour-tax-det .views-field-field-tax-det-tour-ico img {
    width: 50px;
}

.paragraph--type--tip-parg-detail-tour .field--name-field-tipparg-dettour-content {
    text-align: center;
    font-weight: bold;
}

.field--name-field-tc-paq-tour-tptcptph-parr .entity-ref-tab-formatter-tabs {
    border: 0;
    background: transparent;
}

.field--name-field-tc-paq-tour-tptcptph-parr .entity-ref-tab-formatter-tabs > .ui-tabs-nav {
    padding: 0;
    background: #f2f2f2;
    background: #008b39;
    border: 0;
    border-bottom: 1px solid #a9a9a9;
    border-radius: 0;
    display: flex;
    overflow: overlay;
    overflow-y: hidden;
}

.field--name-field-tc-paq-tour-tptcptph-parr .entity-ref-tab-formatter-tabs > .ui-tabs-nav .ui-tab {
    border: 0;
    background: transparent;
    font-weight: 600;
    margin: 0;
}

.field--name-field-tc-paq-tour-tptcptph-parr .entity-ref-tab-formatter-tabs > .ui-tabs-nav .ui-tabs-anchor {
    padding: 0.8em 1.2em;
    color: white;
}

.field--name-field-tc-paq-tour-tptcptph-parr .entity-ref-tab-formatter-tabs > .ui-tabs-nav .ui-tab.ui-state-active {
    background: #ffcf00;
}

.field--name-field-tc-paq-tour-tptcptph-parr .entity-ref-tab-formatter-tabs > .ui-tabs-nav .ui-tab.ui-state-active a {
    color: black;
}

#sidebar_right .region.region-sidebar-right {
    margin-top: 25px;
}

.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form {
    border: 1px solid #008b39;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form #edit-wf-paq-tou-tit {
    background: #008b39;
    color: white;
    text-align: center;
    margin: 0;
    padding: 7.5px 0;
}
.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form #edit-wf-paq-tou-tit > * {
    margin: 0;
}
.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form #edit-layout-a {
    padding: 0 15px;
}

.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form input {
    width: 100%;
    padding: 10px;
    background-color: #ffffff;
    color: #555555;
    border: 1px solid #222222;
    border-color: #dce0e0;
    border-radius: 5px;
    box-sizing: border-box;
}

.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form select {
    width: 100%;
    padding: 10px;
    background-color: #ffffff;
    color: #555555;
    border: 1px solid #222222;
    border-color: #dce0e0;
    border-radius: 5px;
    box-sizing: border-box;
}

.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form textarea {
    width: 100%;
    padding: 10px;
    background-color: #ffffff;
    color: #555555;
    border: 1px solid #222222;
    border-color: #dce0e0;
    border-radius: 5px;
    box-sizing: border-box;
}
.page-node-type-tc-paq-tour .webform-submission-wf-paq-tou-form .webform-actions input {
    background: #008b39;
    color: white;
    cursor: pointer;
}
.page-node-type-tc-paq-tour #contenedor {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    /*
    padding: 10px;
    background-color: #ffffff;
    color: #555555;
    border: 1px solid #222222;
    border-color: #dce0e0;
    border-radius: 5px;
    box-sizing: border-box;
    */
}
.view-vista-paq-tou-rel .views-row {
    width: 100%;
    margin-bottom: 15px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
.view-vista-paq-tou-rel .views-field-field-tc-paq-tour-thumb-med .field--name-field-media-image img {
    display: block;
    width: 100%;
    height: auto;
}
.view-vista-paq-tou-rel .gr-fieldset-1 {
    padding: 10px 15px 15px;
}
.view-vista-paq-tou-rel .views-field-view-node-1 {
    text-align: center;
}
.view-vista-paq-tou-rel .views-field-view-node-1 a {
    display: inline-block;
    padding: 7px 15px;
    background: #008b39;
    color: white;
    border-radius: 10px;
}
/*=====  Fin Tipo Contenido Paquete Tour  ======*/

/*=============================================
=            Inicio Taxonomia Blog            =
=============================================*/
.view-vista-tax-cat-blog-slider .views-row {
    position: relative;
}
.view-vista-tax-cat-blog-slider .views-field-field-tax-cat-blogs-slid-med {
    position: absolute;
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-blog-slider .views-field-field-tax-cat-blogs-slid-med > .field-content {
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-blog-slider .views-field-field-tax-cat-blogs-slid-med > .field-content .media--type-image {
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-blog-slider .views-field-field-tax-cat-blogs-slid-med > .field-content .media--type-image .field--name-field-media-image {
    width: 100%;
    height: 100%;
}

.view-vista-tax-cat-blog-slider .views-field-field-tax-cat-blogs-slid-med > .field-content .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}

.view-vista-tax-cat-blog-slider .views-field-field-tax-cat-blogs-slid-med img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.view-vista-tax-cat-blog-slider .views-field-name {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    text-align: center;
    color: white;
    z-index: 1;
    padding: 5% 0 5%;
}

.taxonomy-vocabulary--tax_blogs #contenedor {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}

.view-vista-tax-cat-paq-tou-slider {
    position: relative;
}

.view-vista-tc-blogs-lista .views-field-title a {
    color: var(--brand);
}

/* === Buscador del blog (Views exposed form en /blog) ===
   Look pill blanco con icono de lupa + botón Apply integrado verde marca.
   Funciona mobile-first; el @media (max-width: 767px) afina tamaños. */
.view-filters {
    display: flex;
    justify-content: center;
    margin: 0 auto 2.5rem;
    padding: 0 1rem;
}

.view-filters #views-exposed-form-vista-tc-blogs-lista-block-1 {
    width: 100%;
    max-width: 560px;
}

.view-filters .form--inline {
    display: flex;
    align-items: stretch;
    gap: 0;
    position: relative;
    background: #fff;
    border: 2px solid #e5e7eb;
    border-radius: 999px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
    transition: border-color .2s ease, box-shadow .2s ease;
    overflow: hidden;
}

.view-filters .form--inline:focus-within {
    border-color: #008b39;
    box-shadow: 0 0 0 4px rgba(0, 139, 57, 0.12);
}

.view-filters .js-form-item-title {
    flex: 1 1 auto;
    margin: 0;
    position: relative;
    padding: 0;
}

/* Icono lupa (SVG inline) a la izquierda del input */
.view-filters .js-form-item-title::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}

/* Input: usar atributo name="title" en lugar de #edit-title porque Drupal AJAX
   añade sufijos random al ID tras el submit (ej: edit-title--uhKQ9tKDFKs). */
.view-filters input[name="title"] {
    width: 100%;
    height: 48px;
    border: 0;
    background: transparent;
    padding: 0 18px 0 48px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #1a202c;
    outline: none;
    box-sizing: border-box;
}

.view-filters input[name="title"]::placeholder {
    color: #9ca3af;
}

.view-filters .form-actions {
    margin: 0;
    display: flex;
    align-items: stretch;
}

/* Botón submit: usar .form-submit (clase estable) en lugar del ID con sufijo random */
.view-filters .form-actions input[type="submit"],
.view-filters .form-actions .form-submit {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 48px;
    padding: 0 24px;
    margin: 0;
    background: #008b39;
    color: white;
    font-weight: 700;
    font-size: 0.9rem;
    font-family: inherit;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    transition: background-color .15s ease;
    letter-spacing: 0.02em;
}

.view-filters .form-actions input[type="submit"]:hover,
.view-filters .form-actions .form-submit:hover {
    background: #006b2c;
}

.view-filters .form-actions input[type="submit"]:focus-visible,
.view-filters .form-actions .form-submit:focus-visible {
    outline: 2px solid #ffcf00;
    outline-offset: -4px;
}

/* Mobile chico: tamaños un poco más compactos */
@media (max-width: 767px) {
    .view-filters input[name="title"] {
        height: 44px;
        padding: 0 14px 0 42px;
        font-size: 0.9rem;
    }
    .view-filters .js-form-item-title::before {
        left: 14px;
        width: 18px;
        height: 18px;
    }
    .view-filters .form-actions input[type="submit"],
    .view-filters .form-actions .form-submit {
        height: 44px;
        padding: 0 18px;
        font-size: 0.85rem;
    }
}

/*=====  Fin Taxonomia Blog  ======*/

/*==================================================
=            Inicio Tipo Contenido Blog            =
==================================================*/
.page-node-type-tc-blog #contenedor {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}
.view-vista-tc-blog-slider .views-row {
    position: relative;
}
.view-vista-tc-blog-slider .views-field-field-tc-blog-slid-med {
    position: absolute;
    width: 100%;
    height: 100%;
}

.view-vista-tc-blog-slider .views-field-field-tc-blog-slid-med > .field-content {
    width: 100%;
    height: 100%;
}

.view-vista-tc-blog-slider .views-field-field-tc-blog-slid-med > .field-content .media--type-image {
    width: 100%;
    height: 100%;
}

.view-vista-tc-blog-slider .views-field-field-tc-blog-slid-med > .field-content .media--type-image .field--name-field-media-image {
    width: 100%;
    height: 100%;
}

.view-vista-tc-blog-slider .views-field-field-tc-blog-slid-med > .field-content .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}

.view-vista-tc-blog-slider .views-field-field-tc-blog-slid-med > .field-content .media--type-image .field--name-field-media-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.view-vista-tc-blog-slider .views-field-title {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    text-align: center;
    color: white;
    z-index: 1;
    padding: 5% 0 5%;
}

.page-node-type-tc-blog #sidebar_right .region-sidebar-right .toolbar-fixed .is-position-fixed {
    top: initial !important;
}

.page-node-type-tc-blog #sidebar_right .region-sidebar-right .is-position-fixed {
    top: initial;
    position: initial !important;
}

/* === Blog mobile: reordenar TOC para que aparezca DEBAJO del body field
       (entre body y el segundo campo de contenido) — solo en mobile. ===
   En desktop el TOC se queda en su sidebar derecha (perfecto, no tocar).
   Técnica: aplanamos los wrappers con display:contents para que body, tfl
   y el bloque TOC sean hermanos virtuales del #contenedor, y usamos `order`
   para reorganizarlos. */
@media (max-width: 1023px) {
    .page-node-type-tc-blog #contenido,
    .page-node-type-tc-blog #contenido > .region-content,
    .page-node-type-tc-blog #block-x-tremetourbulencia-content,
    .page-node-type-tc-blog #contenido article.node--type-tc-blog,
    .page-node-type-tc-blog #contenido .node__content,
    .page-node-type-tc-blog #sidebar_right,
    .page-node-type-tc-blog #sidebar_right > .region-sidebar-right {
        display: contents;
    }

    .page-node-type-tc-blog #contenedor {
        display: flex;
        flex-direction: column;
    }

    /* Body → TOC → tfl. Resto al final. */
    .page-node-type-tc-blog #contenedor > * { order: 99; }
    .page-node-type-tc-blog .field--name-body.field--type-text-with-summary { order: 1; }
    .page-node-type-tc-blog #block-x-tremetourbulencia-tocbottoc { order: 2; }
    .page-node-type-tc-blog .field--name-field-tc-blog-cont-tfl { order: 3; }
}

/*=====  Fin Tipo Contenido Blog  ======*/


/*=======================================================
=            Inicio Tipo Contenido Acerca de            =
=======================================================*/
.view-vista-tc-acer-de-slider .views-row {
    position: relative;
}
.view-vista-tc-acer-de-slider .views-field-field-tc-acer-de-thumb-med {
    position: absolute;
    width: 100%;
    height: 100%;
}
.view-vista-tc-acer-de-slider .views-field-field-tc-acer-de-thumb-med > .field-content {
    width: 100%;
    height: 100%;
}
.view-vista-tc-acer-de-slider .views-field-field-tc-acer-de-thumb-med > .field-content .media--type-image {
    width: 100%;
    height: 100%;
}
.view-vista-tc-acer-de-slider .views-field-field-tc-acer-de-thumb-med > .field-content .media--type-image .field--name-field-media-image {
    width: 100%;
    height: 100%;
}
.view-vista-tc-acer-de-slider .views-field-field-tc-acer-de-thumb-med > .field-content .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}
.view-vista-tc-acer-de-slider .views-field-field-tc-acer-de-thumb-med img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
.view-vista-tc-acer-de-slider .views-field-title {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    text-align: center;
    color: white;
    z-index: 1;
    padding: 10% 0 10%;
}
/*=====  Fin Tipo Contenido Acerca de  ======*/

/* === Contenido tours === */
.view-vista-paq-tou-gal-slider .view-content {
    position: relative;
}

.view-vista-paq-tou-gal-slider .views-field-title {


}

/*
.view-vista-paq-tou-gal-slider .gr-content-slider {
    position: absolute;
    display: flex;
    justify-content: end;
    text-align: center;
    background-color: #0000006e;
    flex-direction: column;
    bottom: 0;
    inset: 0;
    background: linear-gradient( to top, rgba(0, 0, 0, 0.9) 0%,
    rgba(0, 0, 0, 0.6) 25%,
    rgba(0, 0, 0, 0.3) 45%,
    rgba(0, 0, 0, 0) 60% );
}
*/


/* === Galería paquete tour: botón "Gallery" flotante (estilo Booking/Vrbo) ===
   El botón existe en el HTML como <button class="open-gallery"> (modulo Fancybox).
   Lo posicionamos absoluto sobre la última imagen del grid, look pill blanco con
   ícono de grid. Hover amarillo (--brand2). Pure CSS, sin JS. */
.view-vista-paq-tou-gal-slider .image-gallery,
.view-vista-paq-tou-gal-slider .gallery-grid,
.view-vista-paq-tou-gal-slider .views-field-field-tc-paq-tour-slid-med .field-content {
    position: relative;
}

/* Contexto de posicionamiento — necesario para el bottom relativo */
.view-vista-paq-tou-gal-slider > .view-content {
    position: relative;
}

.view-vista-paq-tou-gal-slider .open-gallery {
    position: absolute;
    right: 10px;
    bottom: 20px;            /* +10 visuales — el .image-gallery es ~7px más alto que la imagen */
    z-index: 10;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.95);
    color: #1a202c;
    font-weight: 700;
    font-size: 0.85rem;
    line-height: 1;
    font-family: inherit;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18), 0 8px 20px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.view-vista-paq-tou-gal-slider .open-gallery::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a202c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='8' height='8' rx='1'/><rect x='13' y='3' width='8' height='8' rx='1'/><rect x='3' y='13' width='8' height='8' rx='1'/><rect x='13' y='13' width='8' height='8' rx='1'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
}

.view-vista-paq-tou-gal-slider .open-gallery:hover,
.view-vista-paq-tou-gal-slider .open-gallery:focus-visible {
    background: #ffcf00;
    color: #000;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22), 0 12px 28px rgba(0, 0, 0, 0.16);
    outline: none;
}

/* === Botón "Map" (Colorbox) — mismo look pill, lado a lado con Gallery === */
.view-vista-paq-tou-gal-slider .gr-content-slider .btn-open {
    position: absolute;
    right: 118px;            /* 10px (Gallery right) + ~98px (Gallery width) + 10px (gap) */
    bottom: 20px;
    z-index: 11;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.95);
    color: #1a202c;
    font-weight: 700;
    font-size: 0.85rem;
    line-height: 1;
    font-family: inherit;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18), 0 8px 20px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.view-vista-paq-tou-gal-slider .gr-content-slider .btn-open::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a202c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/><circle cx='12' cy='10' r='3'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
}

.view-vista-paq-tou-gal-slider .gr-content-slider .btn-open:hover,
.view-vista-paq-tou-gal-slider .gr-content-slider .btn-open:focus-visible {
    background: #ffcf00;
    color: #000;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22), 0 12px 28px rgba(0, 0, 0, 0.16);
    outline: none;
}

.view-vista-paq-tou-gal-slider .gr-slider-botones {
    display: flex;
    justify-content: center;
    gap: 10px;
}
/* === End Contenido tours === */


#block-x-tremetourbulencia-bloqcontactwf {
    position: relative;
}
.field--name-field-tb-contact-wf-slid-med {
    position: absolute;
    width: 100%;
    height: 100%;
}
.field--name-field-tb-contact-wf-slid-med > .media--type-image {
    width: 100%;
    height: 100%;
}
.field--name-field-tb-contact-wf-slid-med > .media--type-image .field--name-field-media-image {
    width: 100%;
    height: 100%;
}
.field--name-field-tb-contact-wf-slid-med > .media--type-image .field--name-field-media-image:before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.35);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;
}
.field--name-field-tb-contact-wf-slid-med > .media--type-image .field--name-field-media-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
.field.field--name-field-tb-contact-wf-tit-head {
    position: relative;
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
    text-align: center;
    color: white;
    z-index: 1;
    padding: 5% 0 5%;
}
#webform-submission-wf-contactenos-add-form {
    width: 100%;
    max-width: 85%;
    margin: 0 auto;
}
#webform-submission-wf-contactenos-add-form input {
    width: 100%;
    padding: 15px 22px;
    border: 1px solid #ddd !important;
    border-radius: 10px;
    box-sizing: border-box;
}
#webform-submission-wf-contactenos-add-form textarea {
    width: 100%;
    padding: 15px 22px;
    border: 1px solid #ddd !important;
    border-radius: 10px;
    box-sizing: border-box;
}
#webform-submission-wf-contactenos-add-form input#edit-actions-submit {
    background: #008b39;
    color: white;
}