/**
 * 40 Millas · Refresco de superficies
 *
 * Criterio UI/UX: superficies limpias, sin fondos de color dentro de las
 * tarjetas. Las tarjetas son blancas con borde y sombra muy suaves; las
 * secciones alternan blanco con un gris frío casi imperceptible. El color
 * queda para los acentos (botones, iconos y enlaces), no para los fondos.
 *
 * Además se refuerza la jerarquía de las características: etiquetas más
 * oscuras, valores en azul marino y mayor peso tipográfico para que se lean
 * sin esfuerzo.
 *
 * Se carga después de style.css y tc-home-extras.css, de modo que estas
 * reglas son la última palabra sin tocar los archivos originales.
 */

/* --------------------------------------------------------------------------
 * 1. Paleta neutra
 * -------------------------------------------------------------------------- */

:root {
	/* Cian de marca con contraste suficiente para texto blanco en botones. */
	--theme-color: #23aed8;
	--primary-color: #23aed8;
	--smoke-color: #f6f8fa;

	--tc-surface: #ffffff;
	--tc-surface-soft: #f6f8fa;
	--tc-surface-muted: #eef2f5;
	--tc-line: #e3e9ef;
	--tc-line-strong: #c9d4de;
	--tc-ink: #0b2942;
	--tc-body: #40505d;
	--tc-muted: #5a6a78;
	--tc-section-pad: clamp(64px, 8vw, 112px);
}

/* --------------------------------------------------------------------------
 * 2. Secciones: blanco y gris frío, sin lavados de color
 * -------------------------------------------------------------------------- */

.tc-about-services,
.tc-service-story--reverse,
.tc-recent-tours,
.tc-tour-related {
	background: var(--tc-surface-soft);
}

.tc-certifications {
	background: var(--tc-surface-soft);
}

.tc-certifications::before {
	background-image: radial-gradient(rgba(11, 41, 66, 0.08) 0.7px, transparent 0.7px);
}

.tc-trip-planner {
	background: var(--tc-surface);
}

/* El catálogo y las categorías traían una fotografía de fondo teñida de
 * crema. Se neutraliza para que las tarjetas blancas destaquen por sí solas. */
.category-area,
.tour-area {
	background-image: none !important;
	background-color: var(--tc-surface-soft);
}

/* --------------------------------------------------------------------------
 * 3. Tarjetas de tour: sin relleno, borde limpio y características legibles
 * -------------------------------------------------------------------------- */

.tc-tour-card,
.tc-recent-tour-card {
	border-color: var(--tc-line);
	background: var(--tc-surface);
	box-shadow: 0 8px 24px rgba(1, 52, 96, 0.05);
}

.tc-tour-card:hover,
.tc-recent-tour-card:hover {
	border-color: var(--tc-line-strong);
	box-shadow: 0 14px 32px rgba(1, 52, 96, 0.08);
}

.tc-tour-card__media,
.tc-tour-card__media:hover,
.tc-recent-tour-card__image {
	background: var(--tc-surface-muted);
}

/* El panel de datos no lleva fondo: solo un borde y separadores finos. */
.tc-tour-card__meta {
	border-color: var(--tc-line);
	background: transparent;
}

.tc-tour-card__meta li {
	border-bottom-color: var(--tc-line);
	color: var(--tc-body);
}

.tc-tour-card__meta li.is-duration {
	border-right-color: var(--tc-line);
}

.tc-tour-card__meta i {
	background: transparent;
	color: #0b5f75;
	box-shadow: none;
}

.tc-tour-card__meta-copy small {
	color: #435564;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.055em;
}

.tc-tour-card__meta-copy strong {
	color: var(--tc-ink);
	font-size: 12.5px;
	font-weight: 700;
}

.tc-tour-card__footer {
	border-top-color: var(--tc-line);
}

.tc-tour-card__availability {
	border-color: var(--tc-line);
}

.tc-tour-card__rating small,
.tc-tour-card__price > span,
.tc-tour-card__price small {
	color: var(--tc-muted);
}

/* --------------------------------------------------------------------------
 * 4. Testimonios: tarjetas blancas, sin relleno de color
 * -------------------------------------------------------------------------- */

.testi-card {
	border: 1px solid var(--tc-line);
	background: var(--tc-surface);
	box-shadow: 0 8px 24px rgba(1, 52, 96, 0.05);
}

.testi-card_desig {
	color: var(--tc-muted);
	font-size: 13px;
	font-weight: 600;
}

.testi-card_avater .tc-testi-avatar-placeholder {
	background: var(--tc-surface-muted);
	color: var(--tc-ink);
}

.tc-testi-sample-badge {
	border-color: var(--tc-line);
	background: var(--tc-surface);
	color: #34566f;
}

.testi-card-quote {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

/* --------------------------------------------------------------------------
 * 5. Página Nosotros: iconos neutros y textos de apoyo más notorios
 * -------------------------------------------------------------------------- */

.tc-about-collage__item {
	background: var(--tc-surface-muted);
}

.tc-about-feature,
.tc-about-service {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

.tc-about-service:hover {
	border-color: var(--tc-line-strong);
}

.tc-about-feature__icon,
.tc-about-service__icon {
	border: 1px solid var(--tc-line);
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

.tc-about-feature h3,
.tc-about-service h3 {
	color: var(--tc-ink);
	font-weight: 750;
}

.tc-about-feature p,
.tc-about-service p {
	color: var(--tc-body);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.6;
}

/* Características de los bloques narrativos. */
.tc-service-story__list strong {
	color: var(--tc-ink);
	font-size: 17.5px;
	font-weight: 750;
}

.tc-service-story__list li > span:last-child > span {
	color: var(--tc-body);
	font-size: 15.5px;
	font-weight: 500;
}

/* --------------------------------------------------------------------------
 * 6. Catálogo: filtros, buscador y menús sin fondos de color
 * -------------------------------------------------------------------------- */

.tc-tour-filters {
	--tc-filter-line: var(--tc-line);
}

.st-style-elementor .tc-tour-filters .sidebar-item {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

.st-style-elementor .tc-tour-filters .sidebar-item .item-title .fa {
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

.st-style-elementor .tc-tour-filters .sidebar-item .item-content .st-icheck-item {
	color: var(--tc-body);
	font-weight: 500;
}

.st-style-elementor .tc-tour-filters .sidebar-item .item-content .st-icheck-item:hover {
	background: var(--tc-surface-soft);
}

.st-style-elementor .tc-tour-filters .sidebar-item .item-content .btn-more-item {
	background: var(--tc-surface-soft);
	color: #0b5f75;
	font-weight: 750;
}

.st-style-elementor .tc-tour-filters .sidebar-item .item-content.range-slider .min-max-value .item-value {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

.st-style-elementor .tc-tour-filters .sidebar-item .item-content.range-slider .price-action a {
	color: var(--tc-muted);
}

.tc-tour-search__result:hover,
.tc-tour-search__result:focus-visible {
	background: var(--tc-surface-soft);
	color: #0b5f75;
}

.tc-tour-search__thumb {
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

body.tc-home-tourm .header-layout1 .main-menu > ul > li > a:hover,
body.tc-home-tourm .header-layout1 .main-menu > ul > li > a:focus-visible,
body.tc-home-tourm .header-layout1 .main-menu > ul > li > a.active,
body.tc-home-tourm .header-layout1 .main-menu > ul > li.current-menu-item > a,
body.tc-home-tourm .header-layout1 .main-menu > ul > li.current-menu-ancestor > a {
	background: var(--tc-surface-soft);
	color: #0b5f75;
}

body.tc-home-tourm .header-layout1 .main-menu ul.sub-menu li a:hover,
body.tc-home-tourm .header-layout1 .main-menu ul.sub-menu li a:focus-visible {
	background: var(--tc-surface-soft);
	color: #0b5f75;
}

body.tc-home-tourm .th-menu-wrapper .th-menu-toggle.tc-mobile-menu-close {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

body.tc-home-tourm .th-mobile-menu ul li a:hover,
body.tc-home-tourm .th-mobile-menu ul li a:focus-visible,
body.tc-home-tourm .th-mobile-menu ul li.current-menu-item > a,
body.tc-home-tourm .th-mobile-menu ul li.current-menu-ancestor > a {
	background: var(--tc-surface-soft);
	color: #0b5f75;
}

body.tc-home-tourm .th-mobile-menu ul .menu-item-has-children > a:after {
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

.tc-cta {
	border-left-color: var(--theme-color, #23aed8);
	background: var(--tc-surface-soft);
}

.booking-form .input-wrap .form-group .nice-select .option:hover,
.booking-form .input-wrap .form-group .nice-select .option.focus,
.booking-form .input-wrap .form-group .nice-select .option.selected.focus {
	background: var(--tc-surface-soft) !important;
	color: #0b5f75 !important;
}

.booking-form .input-wrap .form-group .nice-select .option.selected {
	background: var(--tc-surface-muted) !important;
	color: #0b5f75 !important;
}

.booking-form .input-wrap .form-group .nice-select .option.selected small,
.booking-form .input-wrap .form-group .nice-select .option:hover small,
.booking-form .input-wrap .form-group .nice-select .option.focus small {
	color: #5a6a78;
}

/* --------------------------------------------------------------------------
 * 7. Blog y artículo
 * -------------------------------------------------------------------------- */

.tc-blog-page {
	--tc-blog-cyan: #23aed8;
	--tc-blog-cyan-light: var(--tc-surface-muted);
	--tc-blog-line: var(--tc-line);
	--tc-blog-muted: #52606b;
}

.tc-blog-card,
.tc-blog-featured {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

.tc-blog-card:hover {
	border-color: var(--tc-line-strong);
}

.tc-blog-card__image,
.tc-blog-featured__image {
	background: var(--tc-surface-muted);
}

.tc-blog-card__category {
	background: var(--tc-surface-muted);
	color: #073456;
	font-weight: 800;
}

.tc-blog-card__category:hover,
.tc-blog-card__category:focus-visible {
	background: #073456;
	color: #fff;
}

.tc-blog-categories a span {
	background: var(--tc-surface-muted);
	color: #073456;
}

.tc-article-page {
	--tc-article-line: var(--tc-line);
	--tc-article-muted: #52606b;
}

.tc-article-sidecard {
	border-color: var(--tc-article-line);
}

.tc-article-sidecard__icon {
	border: 1px solid var(--tc-line);
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

.tc-article-featured,
.tc-article-related-card__image {
	background: var(--tc-surface-muted);
}

/* --------------------------------------------------------------------------
 * 8. Galerías y placeholders de carga
 * -------------------------------------------------------------------------- */

.tc-trip-planner__photo,
.tc-home-gallery__item,
.tc-tour-gallery__main,
.tc-tour-gallery__item,
.tc-tour-gallery__thumb {
	background: var(--tc-surface-muted);
}

/* --------------------------------------------------------------------------
 * 9. Componentes heredados del tema padre
 * -------------------------------------------------------------------------- */

.widget_search {
	border-color: var(--tc-line);
	background-color: var(--tc-surface);
}

.widget_search input[type="search"],
.widget_search input[type="text"] {
	border-color: var(--tc-line);
	background-color: var(--tc-surface-soft);
}

.page-meta .ratting {
	background: var(--tc-surface-muted);
}

.th-sort-bar .nav {
	border-color: var(--tc-line);
}

body.woocommerce-checkout #payment .woocommerce-info {
	border-color: var(--tc-line) !important;
	background: var(--tc-surface-soft) !important;
	color: var(--tc-body) !important;
}

.tc-cart-page table.shop_table thead,
.tc-cart-page table.shop_table thead tr {
	background: var(--tc-surface-soft) !important;
}

/* --------------------------------------------------------------------------
 * 10. Detalles decorativos: neutros, sin manchas de color
 * -------------------------------------------------------------------------- */

.tc-service-story--reverse .tc-service-story__media::before,
.tc-service-story__media::before {
	background: var(--tc-surface-muted);
}

.tc-about-collage::before {
	background: var(--tc-surface-muted);
}

.tc-service-story__check {
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

.tc-service-story--reverse .tc-service-story__check {
	background: var(--tc-surface-muted);
	color: #0b5f75;
}

.tc-trip-planner::before {
	border-color: var(--tc-line);
}

.tc-trip-planner__gallery {
	border-color: var(--tc-line);
}

.tc-trip-planner__gallery::after {
	background: var(--tc-surface-soft);
}

.tc-trip-planner__benefit {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

.tc-trip-planner__benefit h3 {
	color: var(--tc-ink);
	font-weight: 750;
}

.tc-trip-planner__intro,
.tc-trip-planner__benefit p {
	color: var(--tc-body);
	font-size: 15px;
	font-weight: 500;
}

.tc-certifications__card {
	border-color: var(--tc-line);
	background: var(--tc-surface);
}

.tc-certifications__card::after {
	background: rgba(1, 52, 96, 0.03);
}

.tc-certifications__copy {
	border-top-color: var(--tc-line);
}

.tc-certifications__copy p {
	color: var(--tc-muted);
}

.info-box_text .icon {
	background-color: var(--tc-surface-muted);
	color: #0b5f75;
}

.th-social a {
	background-color: var(--tc-surface-muted);
	color: #0b5f75;
}

/* --------------------------------------------------------------------------
 * 11. Ritmo vertical y alternancia de fondos por sección
 *
 * Todas las secciones de contenido usan el mismo padding vertical para que
 * la separación sea constante. Los fondos alternan blanco y gris frío para
 * que cada bloque se distinga sin necesidad de bordes gruesos ni sombras.
 * -------------------------------------------------------------------------- */

/* Home: mismo aire arriba y abajo en todas las secciones. */
body.tc-home-tourm .tour-area,
body.tc-home-tourm .category-area,
body.tc-home-tourm .tc-service-story,
body.tc-home-tourm .tc-trip-planner,
body.tc-home-tourm .tc-home-gallery,
body.tc-home-tourm .tc-recent-tours,
body.tc-home-tourm .tc-certifications,
body.tc-home-tourm .testi-area,
body.tc-home-tourm .bg-smoke {
	padding-top: var(--tc-section-pad);
	padding-bottom: var(--tc-section-pad);
}

/* La categoría ya no se monta sobre la sección anterior. */
body.tc-home-tourm .category-area {
	margin-top: 0;
}

/* Alternancia blanco / gris frío en la home. */
body.tc-home-tourm .tour-area,
body.tc-home-tourm .tc-service-story:not(.tc-service-story--reverse),
body.tc-home-tourm .tc-home-gallery,
body.tc-home-tourm .tc-recent-tours,
body.tc-home-tourm .testi-area {
	background-color: var(--tc-surface);
}

body.tc-home-tourm .category-area,
body.tc-home-tourm .tc-trip-planner,
body.tc-home-tourm .tc-service-story--reverse,
body.tc-home-tourm .tc-certifications,
body.tc-home-tourm .bg-smoke {
	background-color: var(--tc-surface-soft);
}

/* Páginas internas: mismo ritmo vertical que la home. */
.tc-about-intro,
.tc-about-services,
.tc-about-destinations,
.tc-about-cta,
.tc-blog-content,
.tc-contact-main,
.tc-tour-main,
.tc-tour-related {
	padding-top: var(--tc-section-pad);
	padding-bottom: var(--tc-section-pad);
}

.tc-blog-cta {
	padding-top: 0;
	padding-bottom: var(--tc-section-pad);
}

/* Alternancia en páginas internas: el contenido blanco se apoya sobre un
 * gris frío para que las tarjetas y el formulario ganen relieve. */
.tc-blog-content,
.tc-contact-main {
	background-color: var(--tc-surface-soft);
}

.tc-blog-cta {
	background-color: var(--tc-surface);
}

/* --------------------------------------------------------------------------
 * 12. «Viaja con tranquilidad» con el fondo oscuro de productos
 *
 * La alternancia general pinta esta sección con el gris frío. Aquí se
 * recupera el mismo degradado profundo de «Productos destacados» y se
 * ajustan los acentos para mantener contraste y jerarquía sobre fondo oscuro.
 * -------------------------------------------------------------------------- */
body.tc-home-tourm .tc-service-story--reverse {
	background:
		radial-gradient(circle at 0% 0%, rgba(255, 181, 57, 0.16), transparent 34%),
		radial-gradient(circle at 100% 88%, rgba(28, 168, 203, 0.32), transparent 38%),
		linear-gradient(135deg, #052b3a 0%, #093f51 54%, #052736 100%);
	color: #fff;
}

body.tc-home-tourm .tc-service-story--reverse .tc-service-story__check {
	background: rgba(255, 181, 57, 0.16);
	color: var(--yellow-color, #ffb539);
}

body.tc-home-tourm .tc-service-story--reverse .tc-service-story__media::before {
	background: rgba(255, 181, 57, 0.16);
}

/* ==========================================================================
 * Ajustes tipográficos — 22-oct-2026
 * 1. Testimonios: la descripción estaba demasiado grande (20px/500 → 15px/400).
 * 2. Home «Diario de viaje»: títulos de los artículos un 25% más pequeños
 *    (heredaban el h3 base de 32px → 24px).
 * Este archivo se encola al final (después de style.css y tc-home-extras.css),
 * por eso sirve como capa de ajustes sin tocar los CSS base.
 * ========================================================================== */

/* 1. Descripción de los testimonios */
.testi-card_text {
	font-size: 15px;
	font-weight: 400;
}

@media (max-width: 575px) {
	.testi-card_text {
		font-size: 15px;
	}
}

/* 2. Títulos de las tarjetas de «Diario de viaje» en el home */
#blog-sec .blog-box .box-title {
	font-size: 24px;
	line-height: 1.25;
}

/* ==========================================================================
 * Testimonios — 22-oct-2026 (parte 2)
 * 3. El comentario se recorta a 3 líneas para que las tarjetas queden parejas.
 * 4. Las estrellas siempre en una sola línea.
 * ========================================================================== */

.testi-card_text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.testi-card_review {
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: hidden;
}

/* ==========================================================================
 * Footer en azul marino corporativo — 22-oct-2026
 * El pie estaba sobre fondo blanco; ahora usa el mismo azul de la barra de
 * copyright (#013460) y se ajustan textos, iconos y controles para que
 * mantengan contraste sobre el fondo oscuro.
 * ========================================================================== */

.footer-wrapper.footer-layout1 {
	background-color: #013460;
}

/* Títulos del footer */
.footer-wrapper .widget_title,
.footer-wrapper .newsletter-top .newsletter-title {
	color: #fff;
}

/* Textos y enlaces */
.footer-wrapper .th-widget-about .about-text,
.footer-wrapper .info-box_text .details p,
.footer-wrapper .info-box_link,
.footer-wrapper .footer-widget.widget_nav_menu a,
.footer-wrapper .footer-widget.widget_meta a,
.footer-wrapper .footer-widget.widget_pages a,
.footer-wrapper .footer-widget.widget_archive a,
.footer-wrapper .footer-widget.widget_categories a {
	color: rgba(255, 255, 255, .78);
}

.footer-wrapper .footer-widget a:hover,
.footer-wrapper .footer-widget a:focus-visible,
.footer-wrapper .info-box_link:hover {
	color: #fff;
}

/* El logo del pie es la versión azul; sobre azul marino se vuelve invisible,
 * así que se invierte a blanco con un filtro (reversible, sin tocar archivos). */
.footer-wrapper .about-logo img {
	filter: brightness(0) invert(1);
}

/* Newsletter: separador, campo y botón legibles sobre el azul */
.footer-wrapper .newsletter-area {
	border-bottom-color: rgba(255, 255, 255, .16);
}

.footer-wrapper .newsletter-form .form-control {
	border-color: rgba(255, 255, 255, .28);
	background-color: rgba(255, 255, 255, .10);
	color: #fff;
}

.footer-wrapper .newsletter-form .form-control::placeholder {
	color: rgba(255, 255, 255, .65);
}

.footer-wrapper .newsletter-form .th-btn {
	border: 1px solid rgba(255, 255, 255, .38);
	background-color: rgba(255, 255, 255, .14);
	color: #fff;
}

.footer-wrapper .newsletter-form .th-btn:hover {
	background-color: rgba(255, 255, 255, .26);
}

/* Redes sociales */
.footer-wrapper .th-social a {
	background-color: rgba(255, 255, 255, .14);
	color: #fff;
}

.footer-wrapper .th-social a:hover {
	background-color: #fff;
	color: #013460;
}

/* Los iconos de contacto son imágenes: el círculo queda claro para que
 * el icono oscuro siga viéndose. */
.footer-wrapper .info-box_text .icon {
	background-color: rgba(255, 255, 255, .92);
}

/* Barra de copyright: mismo azul, separada con una línea sutil */
.footer-wrapper .copyright-wrap {
	border-top: 1px solid rgba(255, 255, 255, .16);
}

/* ==========================================================================
 * 22-oct-2026
 * 1. «Mejores destinos»: la sección no tenía padding vertical (0px) mientras
 *    el resto usa el ritmo común (.space). Se añade esa clase en el template y
 *    aquí se corrige el sangrado horizontal del carrusel para que las tarjetas
 *    arranquen a la misma altura que las demás secciones.
 * 2. Footer: textura muy tenue para que el azul no se vea como un plano.
 * ========================================================================== */

/* 1. Alineación de «Mejores destinos»: mismo ritmo vertical que el resto
 * de secciones (variable --tc-section-pad) y tarjetas alineadas al container. */
.tc-destination-sec {
	padding: var(--tc-section-pad) 0;
}

.tc-destination-sec .slider-drag-wrap {
	padding-inline: 12px;
}

/* 2. Fondo del footer: azul profundo con la brújula de la marca como
 *    marca de agua y un resplandor teal que la acompaña. Sin patrones ni
 *    fotografías: el color es plano pero con volumen.
 *    La barra de copyright va integrada (sin fondo propio) para que el pie se
 *    lea como un solo bloque. */
.footer-wrapper.footer-layout1 {
	background-color: #011c33;
	background-image:
		radial-gradient(1100px 520px at 82% 108%, rgba(35, 174, 216, 0.30), rgba(1, 28, 51, 0) 70%),
		linear-gradient(180deg, #012a4d 0%, #011c33 100%);
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;
}

.footer-wrapper.footer-layout1::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 96px;
	width: 700px;
	height: 205px;
	background: url("https://40millas.com.pe/wp-content/uploads/2026/10/logo-original-40millas.svg") right bottom / contain no-repeat;
	filter: brightness(0) invert(1);
	opacity: 0.07;
	pointer-events: none;
}

.footer-wrapper .copyright-wrap {
	background: none;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	position: relative;
	z-index: 1;
}

.footer-wrapper .widget-area {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
 * 22-oct-2026 — Sección «Diario de viaje» del home con 4 tarjetas
 * Con 4 columnas los títulos ocupan 2 o 3 líneas, así que los botones
 * «Leer más» quedaban a distinta altura. Se iguala la altura de las tarjetas
 * y se ancla el botón al pie.
 * ========================================================================== */

#blog-sec .swiper-slide {
	height: auto;
}

#blog-sec .blog-box,
#blog-sec .blog-box_content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

#blog-sec .blog-box_content {
	flex: 1;
}

#blog-sec .blog-box .box-title {
	flex: 1 1 auto;
}

/* El botón «Leer más» mantiene su ancho natural dentro de la tarjeta flex. */
#blog-sec .blog-box_content .th-btn {
	align-self: flex-start;
}

/* Marca de agua del pie: más pequeña en pantallas chicas para que no cargue
 * el bloque de contenido. */
@media (max-width: 767px) {
	.footer-wrapper.footer-layout1::before {
		display: none;
	}
}





/* ==========================================================================
 * Globo flotante de sección — Home (22-oct-2026)
 *
 * Motivo: el globo aerostático line-art teal que ya existía (y sigue estando)
 * en «Diario de viaje» con shape_1/2/3.png. Antes era el único adorno de la
 * página; ahora cada sección clara lleva una sola pieza del mismo motivo, para
 * que el recurso se lea como sistema y no como un accidente.
 *
 * Se usa la MISMA mecánica del tema (.shape-mockup), no pseudo-elementos:
 * varias secciones ya usan ::before para sus fondos (.tc-trip-planner,
 * .tc-certifications) y reutilizar ese pseudo-elemento rompía su layout.
 *
 * Reglas de composición:
 *  · una pieza por sección, siempre en el canalón exterior (nunca sobre
 *    contenido), alternando lados para generar ritmo de lectura,
 *  · dos tamaños alternos (56×78 y 38×52), igual que el cluster del blog,
 *  · sólo ≥1600px, el mismo umbral que ya usa el tema para sus adornos,
 *  · flotación lentísima y desactivada con prefers-reduced-motion.
 * ========================================================================== */

.tc-balloon {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	opacity: 0.55;
	animation: tc-balloon-float 9s ease-in-out infinite;
}

.tc-balloon img {
	display: block;
	width: 56px;
	height: 78px;
}

/* Tamaño pequeño para alternar el ritmo. */
.tc-balloon--sm img {
	width: 38px;
	height: 52px;
}

@media (max-width: 1599px) {
	.tc-balloon {
		display: none;
	}
}

@keyframes tc-balloon-float {
	0%,
	100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

@media (prefers-reduced-motion: reduce) {
	.tc-balloon {
		animation: none;
	}
}

/* Posición de cada pieza: canalón izquierdo o derecho del contenedor. */
#service-sec .tc-balloon      { top: 18%; right: 6%; }
#que-hacemos .tc-balloon      { bottom: 16%; left: 6%; }
#about-sec .tc-balloon        { top: 22%; right: 6%; }
#gallery-sec .tc-balloon      { top: 14%; left: 6%; }
#acompanamiento .tc-balloon   { bottom: 18%; right: 6%; }
#recent-tours .tc-balloon     { top: 20%; left: 6%; }
#certificaciones .tc-balloon  { bottom: 20%; right: 6%; }
#testi-sec .tc-balloon        { top: 16%; left: 6%; }

/* ==========================================================================
 * Hero del home — títulos y descripciones a 2 líneas (22-oct-2026)
 * Los slides tienen longitudes distintas y el bloque de texto cambiaba de
 * alto al navegar. Se recortan a 2 líneas para que el banner quede estable y
 * el CTA no salte de posición.
 * ========================================================================== */

.hero-1 .hero-style1 .hero-title,
.hero-1 .hero-desc {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
