/**
 * GetYourTravel — ajustes de marca sobre el diseño Turie original.
 *
 * El layout lo define turie-assets/css/main.css (index-2.html). Aquí solo se
 * aplica la paleta del logo, el logo propio y los ajustes necesarios para
 * integrarlo con WordPress/WooCommerce.
 */

:root {
	--gy-navy: #033a73;
	--gy-orange: #fc6a04;
	--gy-blue: #1394de;
	--gy-ink: #152235;
	--gy-muted: #5b6b7f;
	--gy-soft: #f4f8fc;
	--gy-border: rgba(3, 58, 115, 0.12);
	--tp-theme-1: #fc6a04;
	--tp-common-black: #033a73;
	--tp-common-yellow: #fc6a04;
}

body.gy-turie {
	color: var(--gy-ink);
	font-family: var(--tp-ff-body);
}

.gy-turie h1,
.gy-turie h2,
.gy-turie h3,
.gy-turie h4,
.gy-turie h5,
.gy-turie h6 {
	font-family: var(--tp-ff-heading);
}

.gy-turie .text-white,
.gy-turie .text-white h1,
.gy-turie .text-white h2,
.gy-turie .text-white h3,
.gy-turie .text-white h4 {
	color: #fff;
}

/* Logo horizontal propio */
.gy-turie .tp-header-logo img {
	width: 155px;
	max-width: none;
	height: auto;
}

/* El logo se centra con respecto a toda la barra, no dentro de la columna que
 * comparte con el menú. Así queda alineado con el centro de la página aunque
 * el menú y los accesos de la derecha no ocupen el mismo ancho. */
.gy-turie .tp-header-two-bg {
	position: relative;
}

.gy-turie .tp-header-two .tp-header-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	margin: 0;
	transform: translate(-50%, -50%);
}

.gy-turie .tp-offcanvas-logo img {
	width: 133px;
	height: auto;
}

.gy-turie .tp-footer-logo img {
	width: 168px;
	height: auto;
}

/* El botón del carrito es un enlace real a WooCommerce */
.gy-turie a.tp-header-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-decoration: none;
	cursor: pointer;
}

.gy-turie a.tp-header-cart span {
	position: absolute;
	top: -7px;
	right: -7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--gy-orange);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

/* Header superior: en index-2.html la franja queda transparente sobre el hero. */
.gy-turie .tp-transparent,
.gy-turie .tp-header-top-two {
	background: transparent;
}

.gy-turie .tp-header-top-info ul li a,
.gy-turie .tp-header-top-discount p,
.gy-turie .tp-header-top-lang-toggle,
.gy-turie .tp-header-top-currency-toggle {
	color: #fff;
}

.gy-turie .tp-header-top-discount p span {
	background: var(--gy-orange);
	color: #fff;
}

/* Redes sociales en la barra superior: sustituyen al idioma y la moneda. */
.gy-turie .tp-header-top-social {
	display: flex;
	align-items: center;
	gap: 16px;
}

.gy-turie .tp-header-top-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.gy-turie .tp-header-top-social a:hover,
.gy-turie .tp-header-top-social a:focus-visible {
	color: var(--gy-orange);
	transform: translateY(-1px);
}

.gy-turie .tp-header-top-social .tc-social-icon,
.gy-turie .tp-header-top-social .tc-social-icon svg {
	display: block;
	height: 1em;
	width: auto;
}

.gy-turie .tp-header-top-social .tc-social-icon svg {
	fill: currentColor;
}

.gy-turie .tp-header-top-social i {
	margin: 0;
	font-size: 16px;
	line-height: 1;
}

/* Tipografía del header tal como en index-2.html (Onest + Inter). */
.gy-turie .tp-header-area,
.gy-turie .tp-header-top-area,
.gy-turie .tp-main-menu nav ul li a,
.gy-turie .tp-header-top-info ul li a,
.gy-turie .tp-header-top-discount p,
.gy-turie .tp-header-top-menu-item > span {
	font-family: var(--tp-ff-body);
}

.gy-turie .tp-header-search .tp-input,
.gy-turie .tp-header-contact a {
	font-family: var(--tp-ff-inter);
}

/* Botón «Reservar ahora» (WhatsApp) del header. */
.gy-turie .tp-header-contact a.gy-header-wa {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	background: #25d366;
	border-color: #25d366;
	color: #fff;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.gy-turie .tp-header-contact a.gy-header-wa i {
	font-size: 18px;
	line-height: 1;
}

.gy-turie .tp-header-contact a.gy-header-wa:hover {
	background: #1ebe5b;
	border-color: #1ebe5b;
	color: #fff;
}

/* Cabecera de páginas internas: la misma pieza, en flujo normal y sobre fondo
 * blanco cuando no hay hero detrás. */
body.gy-turie-inner .tp-transparent {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: 100%;
	background: #fff;
}

body.gy-turie-inner .tp-header-height {
	position: relative;
	z-index: 5;
}

body.gy-turie-inner .tp-header-top-two,
body.gy-turie-inner .tp-header-top-area,
body.gy-turie-inner .tp-header-area {
	background: transparent;
}

/* Sin hero, el top bar queda sobre blanco: textos e iconos en azul oscuro. */
body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-info ul li a,
body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-discount p,
body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-menu-item > span {
	color: var(--gy-ink);
}

body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-info ul li:not(:last-child)::after {
	background: rgba(3, 58, 115, 0.18);
}

body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-social a {
	color: var(--gy-navy);
}

body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-social a:hover,
body.gy-turie-inner:not(.gy-turie-has-hero) .tp-header-top-social a:focus-visible {
	color: var(--gy-orange);
}

/* Sobre el fondo blanco, la píldora del menú conserva su volumen y su diseño
 * mediante una sombra suave. Al quedar fija ya usa la sombra del sticky. */
body.gy-turie-inner:not(.gy-turie-has-hero) #header-sticky:not(.header-sticky) .tp-header-two-bg {
	box-shadow: 0 10px 30px rgba(3, 58, 115, 0.09), 0 2px 6px rgba(3, 58, 115, 0.05);
}

/* Páginas internas con hero: la imagen/gradiente llega hasta arriba y la
 * cabecera flota encima, igual que en la portada. */
body.gy-turie-inner.gy-turie-has-hero .tp-transparent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: transparent;
}

body.gy-turie-inner.gy-turie-has-hero .tp-header-height {
	position: static;
	z-index: 10;
}

body.gy-turie-inner.gy-turie-has-hero .tp-header-top-two,
body.gy-turie-inner.gy-turie-has-hero .tp-header-top-area,
body.gy-turie-inner.gy-turie-has-hero .tp-header-area {
	background: transparent;
}

body.gy-turie-has-hero .tc-about-hero__content {
	padding-top: 130px;
}

body.gy-turie-has-hero .tc-blog-hero {
	padding-top: 168px;
}

body.gy-turie-has-hero .tc-tour-catalog-hero__container {
	padding-top: 170px;
}

body.gy-turie-has-hero .tc-article-hero {
	padding-top: 170px;
}

@media (max-width: 991px) {
	body.gy-turie-has-hero .tc-about-hero__content {
		padding-top: 110px;
	}

	body.gy-turie-has-hero .tc-blog-hero {
		padding-top: 150px;
	}

	body.gy-turie-has-hero .tc-tour-catalog-hero__container {
		padding-top: 150px;
	}

	body.gy-turie-has-hero .tc-article-hero {
		padding-top: 150px;
	}
}

@media (max-width: 767px) {
	body.gy-turie-has-hero .tc-about-hero__content {
		padding-top: 90px;
	}

	body.gy-turie-has-hero .tc-blog-hero {
		padding-top: 105px;
	}

	body.gy-turie-has-hero .tc-tour-catalog-hero__container {
		padding-top: 105px;
	}

	body.gy-turie-has-hero .tc-article-hero {
		padding-top: 100px;
	}
}

/* Ficha de tour: la banda de migas deja sitio a la cabecera absoluta. */
.gy-turie .gy-breadcrumb-band {
	position: relative;
	padding: 170px 0 55px;
	background-position: center;
	background-size: cover;
	color: #fff;
}

.gy-turie .gy-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
}

.gy-turie .gy-breadcrumbs a {
	color: rgba(255, 255, 255, 0.82);
}

.gy-turie .gy-breadcrumbs a:hover,
.gy-turie .gy-breadcrumbs strong {
	color: #fff;
}

.gy-turie .gy-breadcrumbs strong {
	font-weight: 600;
}

.gy-turie .gy-tour-hero-copy h1 {
	color: #fff;
}

.gy-turie .gy-tour-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
}

.gy-turie .gy-tour-hero-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

@media (max-width: 991px) {
	.gy-turie .gy-breadcrumb-band {
		padding: 120px 0 45px;
	}
}

@media (max-width: 767px) {
	.gy-turie .gy-breadcrumb-band {
		padding: 105px 0 40px;
	}
}

/* Sliders y contenidos dinámicos */
.gy-turie .wow {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
}

.gy-turie .gy-tour-empty {
	display: none !important;
}

/* En móvil, las tarjetas de destino muestran su título sin hover. */
@media (max-width: 991px) {
	.gy-turie .tp-destination-two-content {
		opacity: 1;
		visibility: visible;
		transform: none;
	}
}

/* El theme padre oculta los <br> en móvil; el diseño los usa en los títulos. */
@media (max-width: 767px) {
	.gy-turie .tp-hero-title br,
	.gy-turie .tp-section-title br,
	.gy-turie .tp-breadcrumb-title br {
		display: block !important;
	}

	.gy-turie .tp-header-logo img {
		width: 119px;
	}

	.gy-turie .tp-footer-logo img {
		width: 146px;
	}
}

/* Botón flotante de WhatsApp: círculo con pulso y globo al pasar el cursor. */
.gy-turie .tc-whatsapp-float {
	position: fixed;
	right: max(22px, env(safe-area-inset-right));
	bottom: max(96px, calc(92px + env(safe-area-inset-bottom)));
	z-index: 9997;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: linear-gradient(145deg, #34e07a 0%, #25d366 55%, #128c7e 100%);
	box-shadow: 0 12px 28px rgba(18, 140, 126, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.35);
	color: #fff !important;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gy-turie .tc-whatsapp-float::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: #25d366;
	opacity: 0.45;
	z-index: -1;
	animation: gy-wa-pulse 2.4s ease-out infinite;
}

.gy-turie .tc-whatsapp-float:hover,
.gy-turie .tc-whatsapp-float:focus-visible {
	color: #fff !important;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 16px 34px rgba(18, 140, 126, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.gy-turie .tc-whatsapp-float:focus-visible {
	outline: 3px solid #033a73;
	outline-offset: 3px;
}

.gy-turie .tc-whatsapp-float__icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
}

/* Globo de texto a la izquierda del círculo. */
.gy-turie .tc-whatsapp-float__label {
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	padding: 10px 16px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(3, 58, 115, 0.18);
	color: #033a73;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translate(8px, -50%);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.gy-turie .tc-whatsapp-float__label::after {
	content: "";
	position: absolute;
	left: 100%;
	top: 50%;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left-color: #fff;
}

.gy-turie .tc-whatsapp-float:hover .tc-whatsapp-float__label,
.gy-turie .tc-whatsapp-float:focus-visible .tc-whatsapp-float__label {
	opacity: 1;
	transform: translate(0, -50%);
}

@keyframes gy-wa-pulse {
	0% { transform: scale(1); opacity: 0.45; }
	70%, 100% { transform: scale(1.65); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.gy-turie .tc-whatsapp-float::before { animation: none; display: none; }
	.gy-turie .tc-whatsapp-float { transition: none; }
}

@media (max-width: 575px) {
	.gy-turie .tc-whatsapp-float {
		right: max(14px, env(safe-area-inset-right));
		bottom: max(92px, calc(88px + env(safe-area-inset-bottom)));
		width: 58px;
		height: 58px;
	}

	.gy-turie .tc-whatsapp-float__icon {
		width: 32px;
		height: 32px;
	}

	.gy-turie .tc-whatsapp-float__label {
		display: none;
	}
}

/* Fallback del preloader por si falla algún recurso externo. */
#loading {
	animation: gyHideLoader 0.4s ease 5s forwards;
}

@keyframes gyHideLoader {
	to {
		opacity: 0;
		visibility: hidden;
	}
}

/* La barra de administración no debe tapar el header fijo. */
body.admin-bar #header-sticky.header-sticky {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar #header-sticky.header-sticky {
		top: 46px;
	}
}

/* Al hacer scroll, la cabecera fija debe quedar blanca y opaca. El diseño
 * base usa blanco al 90% con desenfoque, lo que deja entrever el contenido
 * que pasa por debajo. */
.gy-turie #header-sticky.header-sticky,
.gy-turie #header-sticky.header-sticky .tp-header-two-bg {
	background-color: #fff;
}

.gy-turie #header-sticky.header-sticky.tp-header-blur::after {
	display: none;
}

/* Fondo del pie del diseño, también si el JS no llega a ejecutarse. */
.gy-turie .tp-footer-area {
	background-color: #fff3ed;
}

/* Galería del pie: todas las miniaturas deben verse del mismo tamaño.
 * La imagen de referencia (768x508) se renderiza a 261x172; se fija esa
 * proporción y se recorta el resto con object-fit para que la fila quede
 * pareja, sin importar la proporción original de cada foto. */
.gy-turie .tp-footer-area .tp-instagram-thumb {
	aspect-ratio: 261 / 172;
}

.gy-turie .tp-footer-area .tp-instagram-thumb a {
	display: block;
	height: 100%;
}

.gy-turie .tp-footer-area .tp-instagram-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* El correo del pie es más largo que el teléfono: evitar que se salga de la
 * columna de contacto en pantallas grandes. */
.gy-turie .tp-footer-contact .email {
	display: block;
	max-width: 100%;
	font-size: 14px;
	line-height: 1.4;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Pequeños ajustes del formulario de newsletter del pie. */
.gy-turie .tp-footer-subscribe-form input[type='email'] {
	width: 100%;
	height: 50px;
	padding: 0 18px;
	border: 1px solid rgba(3, 58, 115, 0.15);
	border-radius: 999px;
	background: #fff;
	color: var(--gy-ink);
}

.gy-turie .tp-footer-subscribe-form button {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
}

.gy-turie .gy-newsletter-status {
	display: block;
	margin-top: 8px;
	color: var(--gy-muted);
	font-size: 12px;
}

/* Precio y textos dinámicos de las tarjetas del template. */
.gy-turie .tp-tour-new-price,
.gy-turie .tp-tour-old-price,
.gy-turie .tp-tour-suffix,
.gy-turie .tp-tour-review-score {
	white-space: normal;
}

/* -------------------------------------------------------------------------
 * Ajustes de fidelidad con index-2.html
 * ---------------------------------------------------------------------- */

/* El menú real tiene 6 entradas: mantenerlas en una sola línea. El logo queda
 * centrado en toda la barra con las reglas de `.tp-header-logo` de arriba. */
@media (min-width: 1400px) {
	.gy-turie .tp-header-two-bg .col-xl-8 > .d-flex {
		width: 100%;
		justify-content: space-between;
	}

	.gy-turie .tp-header-two .tp-main-menu nav > ul {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
	}

	.gy-turie .tp-header-two .tp-main-menu nav > ul > li {
		margin-right: 0 !important;
	}

	.gy-turie .tp-header-two .tp-main-menu nav > ul > li > a {
		padding: 10px 12px;
		font-size: 15px;
		line-height: 1;
		white-space: nowrap;
	}
}

/* El thumb del hero debe medir 272x80 como en el diseño; con una imagen
 * dinámica sin límite crecía a 912x513 y rompía toda la franja inferior. */
.gy-turie .tp-hero-info-thumb {
	flex: 0 0 272px;
	width: 272px;
}

.gy-turie .tp-hero-info-thumb img {
	width: 272px;
	height: 80px;
	object-fit: cover;
}

/* El video del hero debe cubrir toda la máscara, igual que el video original.
 * Con `height: auto` el MP4 de 1280x720 solo llegaba a 810px de alto en un
 * hero de ~946px y dejaba una franja sin cubrir en la parte inferior. */
.gy-turie .tp-hero-two-video video {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
}

.gy-turie .tp-hero-area .tp-hero-title,
.gy-turie .tp-hero-area .tp-hero-info-title,
.gy-turie .tp-hero-area .tp-hero-info-subtitle,
.gy-turie .tp-hero-area .tp-hero-info-icon,
.gy-turie .tp-hero-area .tp-hero-info {
	color: #fff;
}

/* La imagen de "Por qué elegirnos" debe conservar la proporción 920x636. */
.gy-turie #gy-chose .tp-chose-two-thumb {
	overflow: hidden;
}

.gy-turie #gy-chose .tp-chose-two-thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: 920 / 636;
	object-fit: cover;
}

/* Logo propio en la franja "Presentado por". */
.gy-turie .tp-video-content-wrap img {
	width: 137px;
	height: auto;
}

/* El título del video debe quedar dentro de la máscara naranja. El h4 base
 * mide 52px y el texto sobresalía del círculo en pantallas grandes; se
 * reduce de forma responsive para que la fecha y el título entren completos. */
.gy-turie #gy-video .tp-video-title-wrap {
	max-width: 100%;
}

.gy-turie #gy-video .tp-video-title-wrap .tp-section-title {
	font-size: clamp(30px, 2.8vw, 40px);
	line-height: 1.15;
}

.gy-turie #gy-video .tp-video-title-wrap .tp-section-two-subtitle {
	font-size: 14px;
}

/* Estado vacío honesto de testimonios (aún no hay reseñas publicadas). */
.gy-turie .gy-testimonial-empty {
	max-width: 560px;
	color: #fff;
}

.gy-turie .gy-testimonial-empty .gy-testimonial-name {
	display: block;
	margin-bottom: 14px;
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
}

.gy-turie .gy-testimonial-empty p {
	margin-bottom: 24px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 17px;
	line-height: 1.65;
}

.gy-turie .gy-testimonial-empty .gy-testimonial-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 24px;
	border: 1.5px solid #fff;
	border-radius: 999px;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.gy-turie .gy-testimonial-empty .gy-testimonial-btn:hover {
	background: #fff;
	color: var(--gy-orange);
}

/* La imagen de FAQ también conserva la proporción 720x780 del diseño. */
.gy-turie #gy-faq .tp-faq-two-thumb {
	overflow: hidden;
}

.gy-turie #gy-faq .tp-faq-two-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 780;
	object-fit: cover;
}

/* Mientras no haya reseñas no existe slider que navegar. */
.gy-turie #gy-testimonials.gy-no-testimonials .tp-testimonial-two-navigation {
	display: none !important;
}

/* En escritorio, el botón de WhatsApp no debe tapar el teléfono del hero. */
@media (min-width: 992px) {
	.gy-turie .tc-whatsapp-float {
		bottom: 24px;
	}
}

/* Franja de atributos en lugar de logos de socios de demostración. */
.gy-turie .tp-brands-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
}

.gy-turie .gy-brand-text {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

/* -------------------------------------------------------------------------
 * Mega menú de destinos del header
 * ---------------------------------------------------------------------- */

.gy-turie .gy-destinations-mega {
	padding: 26px 24px 18px !important;
}

.gy-turie .gy-destinations-mega .row {
	row-gap: 8px;
}

.gy-turie .gy-destinations-mega .tp-megamenu-list ul {
	margin: 0;
	padding: 0;
}

.gy-turie .gy-destinations-mega .tp-megamenu-list ul li a {
	padding: 9px 10px !important;
}

.gy-turie .gy-destinations-mega .tp-megamenu-list-thumb img {
	width: 48px;
	height: 48px;
}

.gy-turie .gy-destinations-mega .tp-megamenu-list-subtitle {
	margin-bottom: 6px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.gy-turie .gy-destinations-mega .tp-megamenu-list-title {
	font-size: 17px;
}

.gy-destinations-mega-footer {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(7, 21, 22, 0.08);
	text-align: right;
}

.gy-destinations-mega-footer a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--tp-theme-1);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.gy-destinations-mega-footer a:hover {
	color: var(--tp-common-black);
}

.gy-destinations-mega-footer i {
	font-size: 12px;
	transition: transform 0.2s ease;
}

.gy-destinations-mega-footer a:hover i {
	transform: translateX(3px);
}

/* La mega menú se convierte en un acordeón de una columna en el offcanvas. */
.tp-offcanvas-menu .gy-destinations-mega {
	max-width: 100%;
	width: 100% !important;
	margin: 0;
	padding: 8px 0 0 !important;
	border-radius: 0;
	box-shadow: none;
}

.tp-offcanvas-menu .gy-destinations-mega .row {
	margin: 0;
	row-gap: 0;
}

.tp-offcanvas-menu .gy-destinations-mega [class*='col-'] {
	flex: 0 0 100%;
	max-width: 100%;
	padding: 0;
}

.tp-offcanvas-menu .gy-destinations-mega .tp-megamenu-list ul li a {
	padding: 8px 0 !important;
	border-bottom: 1px solid rgba(7, 21, 22, 0.06);
}

.tp-offcanvas-menu .gy-destinations-mega .tp-megamenu-list ul li:last-child a {
	border-bottom: 0;
}

.tp-offcanvas-menu .gy-destinations-mega-footer {
	margin-top: 12px;
	padding-top: 12px;
	text-align: left;
}

/* La flecha de Destinos queda centrada a la derecha del texto, no encima. */
.gy-turie .tp-header-two .tp-menu-dropdown nav > ul > li.gy-destinations-menu > a {
	padding-right: 30px;
}

.gy-turie .tp-header-two .tp-menu-dropdown nav > ul > li.gy-destinations-menu > a::after {
	top: 50%;
	right: 12px;
	margin-top: -4px;
}

/* El desplegable de Destinos debe nacer en el borde inferior de la barra
 * blanca (14px de relleno + 2.5px de centrado del ítem), no solaparse sobre
 * la cabecera. El puente transparente conserva el hover al bajar el cursor. */
.gy-turie #header-sticky .tp-menu-dropdown nav > ul > li.gy-destinations-menu > .gy-destinations-mega {
	top: calc(100% + 16.5px);
}

.gy-turie #header-sticky .tp-menu-dropdown nav > ul > li.gy-destinations-menu > .gy-destinations-mega::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 17px;
}

/* Descripción de dos líneas en las tarjetas de tour. */
.gy-turie .tp-tour-item .gy-tour-card-desc {
	display: -webkit-box;
	display: box;
	-webkit-box-orient: vertical;
	box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.55em * 2);
	margin: 0 0 14px;
	color: var(--tp-grey-1);
	font-size: 14px;
	line-height: 1.55;
	letter-spacing: -0.01em;
}

/* El botón de la tarjeta nunca se parte en dos líneas. */
.gy-turie .tp-tour-btn {
	flex: 0 0 auto;
}

.gy-turie .tp-tour-btn a {
	white-space: nowrap;
}

/* Descripción de cada destino dentro del menú. */
.gy-turie .gy-destinations-mega .tp-megamenu-list-content {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
}

.gy-turie .gy-destinations-mega .gy-destination-desc {
	display: -webkit-box;
	display: box;
	-webkit-box-orient: vertical;
	box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	max-width: 100%;
	margin: 5px 0 0;
	color: var(--tp-grey-1);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	white-space: normal;
}

.tp-offcanvas-menu .gy-destinations-mega .gy-destination-desc {
	max-width: none;
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.45;
}

/* -------------------------------------------------------------------------
 * Ficha de tour (diseño tour-details-2)
 * ---------------------------------------------------------------------- */

/* Listas de incluido / no incluido: icono, color y separación como el demo. */
.gy-tour-details-2-page .tp-tour-details-included ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gy-tour-details-2-page .tp-tour-details-included ul li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	line-height: 1.5;
}

.gy-tour-details-2-page .tp-tour-details-included ul li i {
	flex: 0 0 auto;
	margin-top: 4px;
	font-size: 12px;
}

.gy-tour-details-2-page .tp-tour-details-included .read-more-wrapper ul li i {
	color: #73b458;
}

.gy-tour-details-2-page .tp-tour-details-included .tp-tour-details-included-list > div:not(.read-more-wrapper) ul li i {
	color: #fd4621;
}

/* Grupo del tour dentro del bloque del itinerario. */
.gy-tour-details-2-page .gy-plan-group-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* El botón del formulario real de reserva debe seguir el naranja del diseño. */
.gy-tour-details-2-page #reserva .btn-book-ajax {
	border-color: var(--tp-theme-1);
	background-color: var(--tp-theme-1);
	background-image: none;
	color: #fff;
}

.gy-tour-details-2-page #reserva .btn-book-ajax:hover,
.gy-tour-details-2-page #reserva .btn-book-ajax:focus {
	border-color: #e03a18;
	background-color: #e03a18;
	background-image: none;
	color: #fff;
}

@media (max-width: 991px) {
	.gy-tour-details-2-page .tp-booking-sidebar-wrap {
		margin-top: 45px;
		margin-left: 0;
	}
}

/* Flecha de la ruta entre destinos. */
.gy-tour-details-2-page .tp-tour-destination-filters ul li a span {
	display: inline-flex;
	align-items: center;
	margin-left: 18px;
}

.gy-tour-details-2-page .tp-tour-destination-filters ul li a span i {
	font-size: 15px;
}

/* -------------------------------------------------------------------------
 * Portada: tours más nuevos (slider infinito)
 * ---------------------------------------------------------------------- */

.gy-newest-tours {
	padding: 64px 0 90px;
	background: var(--gy-soft);
}

.gy-newest-tours__heading {
	margin-bottom: 28px;
	row-gap: 18px;
}

.gy-newest-tours__heading .tp-about-section-title {
	margin-bottom: 0;
}

.gy-newest-tours__tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
}

.gy-newest-tours__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--gy-navy);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.2s ease;
}

.gy-newest-tours__all i {
	font-size: 12px;
	transition: transform 0.2s ease;
}

.gy-newest-tours__all:hover,
.gy-newest-tours__all:focus-visible {
	color: var(--gy-orange);
}

.gy-newest-tours__all:hover i {
	transform: translateX(3px);
}

.gy-newest-tours__nav {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gy-newest-tours__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--gy-border);
	border-radius: 50%;
	background: #fff;
	color: var(--gy-navy);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gy-newest-tours__arrow:hover,
.gy-newest-tours__arrow:focus-visible {
	border-color: var(--gy-orange);
	background: var(--gy-orange);
	color: #fff;
}

.gy-newest-tours__slider {
	overflow: hidden;
	padding: 4px 0 18px;
}

.gy-newest-tours__slider .swiper-slide {
	height: auto;
}

.gy-newest-tours .tp-tour-item {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-bottom: 0 !important;
}

.gy-newest-tours .tp-tour-thumb .image {
	height: 250px;
}

.gy-newest-tours .tp-tour-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.gy-newest-tours .tp-tour-title {
	font-size: 20px;
	line-height: 1.3;
}

.gy-newest-tours .tp-tour-footer {
	margin-top: auto;
}

.gy-newest-tours .gy-tour-new {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--gy-orange);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
}

@media (max-width: 991px) {
	.gy-newest-tours {
		padding: 52px 0 70px;
	}

	.gy-newest-tours__tools {
		justify-content: flex-start;
		margin-top: 4px;
	}
}

@media (max-width: 767px) {
	.gy-newest-tours {
		padding: 44px 0 55px;
	}

	.gy-newest-tours__heading {
		margin-bottom: 22px;
	}

	.gy-newest-tours__all {
		font-size: 14px;
	}

	.gy-newest-tours__arrow {
		width: 42px;
		height: 42px;
	}

	.gy-newest-tours .tp-tour-thumb .image {
		height: 230px;
	}
}

/* -------------------------------------------------------------------------
 * Ficha de tour: botón de reserva por WhatsApp
 * ---------------------------------------------------------------------- */

.gy-tour-details-2-page .gy-btn-whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #25d366;
	border-color: #25d366;
	color: #fff;
}

.gy-tour-details-2-page .gy-btn-whatsapp:hover,
.gy-tour-details-2-page .gy-btn-whatsapp:focus-visible {
	background: #1ebe5d;
	border-color: #1ebe5d;
	color: #fff;
}

.gy-tour-details-2-page .gy-btn-whatsapp i {
	font-size: 20px;
	line-height: 1;
}

.gy-tour-details-2-page .gy-booking-online-note {
	margin: 0 0 20px;
	color: var(--gy-muted);
	font-size: 14px;
	line-height: 1.6;
}

/* El input de cantidad hereda 26px de padding lateral y, con 54px de ancho,
 * el número queda fuera de la zona visible. */
.gy-tour-details-2-page .st-number-wrapper .st-input-number {
	padding-right: 0;
	padding-left: 0;
}

/* ---------------------------------------------------------------
 * Inicio · "Nuestra esencia": descripción y tarjetas de categorías
 * --------------------------------------------------------------- */
#gy-about .gy-essence-desc {
	max-width: 520px;
	margin: 22px 0 0;
	font-size: 16px;
	line-height: 1.7;
	color: var(--tp-grey-1, #5b5b5b);
}
#gy-about .tp-about-two-service.gy-essence-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: calc(100% - 30px);
	padding: 30px 26px 24px;
	border-radius: 20px;
	background: rgba(252, 106, 4, 0.1);
	border: 1px solid rgba(252, 106, 4, 0.22);
	backdrop-filter: blur(6px);
	transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}
#gy-about .tp-about-two-service.gy-essence-card:hover {
	transform: translateY(-6px);
	background: rgba(252, 106, 4, 0.16);
	border-color: rgba(252, 106, 4, 0.45);
	box-shadow: 0 16px 34px rgba(252, 106, 4, 0.18);
}
#gy-about .gy-essence-card .tp-about-two-service-icon {
	width: 54px;
	height: 54px;
	background: #fff;
	border: 1px solid rgba(17, 17, 17, 0.12);
}
#gy-about .gy-essence-card:hover .tp-about-two-service-icon {
	background: #fff;
	border-color: #FC6A04;
	box-shadow: 0 0 0 4px rgba(252, 106, 4, 0.15);
}
#gy-about .gy-essence-card .tp-about-two-service-icon svg {
	width: 28px;
	height: 28px;
}
#gy-about .gy-essence-card .tp-about-two-service-title {
	margin-bottom: 8px;
}
#gy-about .gy-essence-card .tp-about-two-service-dec {
	flex: 1 1 auto;
	margin-bottom: 18px;
	color: #4a4a4a;
}
#gy-about .gy-essence-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px dashed rgba(252, 106, 4, 0.4);
	font-size: 14px;
}
#gy-about .gy-essence-count {
	font-weight: 600;
	color: #111;
}
#gy-about .gy-essence-link {
	font-weight: 600;
	color: #FC6A04;
	white-space: nowrap;
}
#gy-about .gy-essence-link i {
	margin-left: 4px;
	transition: transform 0.3s ease;
}
#gy-about .gy-essence-card:hover .gy-essence-link i {
	transform: translateX(4px);
}

/* ---------------------------------------------------------------
 * Íconos bicolor (ver inc/gy-icons.php): naranja + negro, estilo de contacto
 * --------------------------------------------------------------- */
.gy-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-style: normal;
	line-height: 1;
	vertical-align: middle;
}
.gy-ico .gy-ico-svg {
	display: block;
	width: 1.25em;
	height: 1.25em;
	flex: 0 0 auto;
}
.tp-tour-info .gy-ico,
.gy-tour-new .gy-ico {
	margin-right: 6px;
	font-size: 15px;
}
.tp-tour-details-info-icon .gy-ico,
.tp-tour-details-plan-icon .gy-ico {
	font-size: 22px;
	margin: 0;
}
.tp-tour-details-info-icon {
	background: #fff;
	border: 1px solid var(--tp-border-1, rgba(17, 17, 17, 0.12));
}
.tp-tour-details-plan-icon {
	background: #fff;
	border: 1px solid rgba(252, 106, 4, 0.35);
}
.tp-tour-media-meta a .gy-ico,
.tp-tour-media-meta span .gy-ico {
	font-size: 14px;
	margin: 0;
}
.tp-tour-media-meta span:hover,
.tp-tour-media-meta a:hover {
	background: #fff;
	box-shadow: 0 0 0 3px rgba(252, 106, 4, 0.35);
}
.gy-tour-details-2-page .gy-plan-group-badge {
	background: #fff;
	border-color: rgba(252, 106, 4, 0.35);
	color: #111;
}
.gy-tour-details-2-page .gy-plan-group-badge .gy-ico {
	font-size: 16px;
}
.tc-empty-state__icon {
	background: #fff !important;
	border: 1px solid rgba(252, 106, 4, 0.35);
}
.tc-empty-state__icon .gy-ico {
	font-size: 34px;
}
.tp-booking-input-icon .gy-ico-svg {
	width: 20px;
	height: 20px;
}
.tp-about-two-service-icon .gy-ico-svg {
	width: 28px;
	height: 28px;
}
.tp-chose-two-item .tp-about-two-service-icon,
.tp-about-two-service-icon {
	background: #fff;
	border: 1px solid rgba(17, 17, 17, 0.12);
}
.tp-about-two-service:hover .tp-about-two-service-icon {
	background: #fff;
	border-color: #FC6A04;
}
.tp-tour-details-includes li .gy-ico,
ul li > .gy-ico-check,
ul li > .gy-ico-xmark {
	margin-right: 10px;
	font-size: 18px;
	flex: 0 0 auto;
}

/* Franja de respaldo y autorizaciones (logos oficiales bajo los testimonios). */
.gy-turie .tp-brands-slider .swiper-wrapper {
	transition-timing-function: linear !important;
}
.gy-turie .tp-brands-slider .gy-brand-slide {
	width: 190px;
	flex: 0 0 auto;
	margin-right: 24px;
}
.gy-turie .gy-brand-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 190px;
	height: 84px;
	padding: 10px 16px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(17, 17, 17, 0.12);
}
.gy-turie .gy-brand-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* -------------------------------------------------------------------------
 * Menú de destinos · 2 columnas de lista + foto de Paracas
 * ---------------------------------------------------------------------- */
.gy-mega-head,
.gy-mega-go,
.gy-mega-photo {
	display: none;
}
@media (min-width: 1200px) {
	.gy-turie .tp-menu-dropdown .gy-destinations-mega {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 190px;
		grid-template-rows: 1fr auto;
		gap: 0 14px;
		width: 780px !important;
		max-width: 780px !important;
		left: 0 !important;
		margin-left: -8px;
		padding: 10px !important;
		border-radius: 20px;
		border: 1px solid rgba(255, 255, 255, 0.7);
		background: rgba(255, 255, 255, 0.94);
		-webkit-backdrop-filter: saturate(160%) blur(14px);
		backdrop-filter: saturate(160%) blur(14px);
		box-shadow: 0 18px 40px -12px rgba(17, 17, 17, 0.22), 0 2px 6px rgba(17, 17, 17, 0.05);
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .row {
		grid-column: 1;
		grid-row: 1;
		margin: 0;
		align-content: start;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .row > [class*='col-'] {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 0;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2px 6px;
		margin: 0;
		padding: 0;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list ul li {
		margin: 0;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list ul li a {
		gap: 11px !important;
		padding: 8px 10px !important;
		border-radius: 12px;
		transition: background 0.2s ease;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list ul li a:hover {
		background: rgba(17, 17, 17, 0.05);
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list-thumb img {
		width: 40px;
		height: 40px;
		border-radius: 50%;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list-content {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list-title {
		order: 1;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.2;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list-subtitle {
		order: 2;
		margin: 3px 0 0;
		color: #777;
		font-size: 12px;
		letter-spacing: 0;
		text-transform: none;
		line-height: 1.2;
	}
	/* Título + cantidad en la primera línea, descripción en una sola línea. */
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list-content {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		column-gap: 8px;
		row-gap: 2px;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .tp-megamenu-list-subtitle {
		margin: 0;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega .gy-destination-desc {
		order: 3;
		display: block;
		flex: 0 0 100%;
		max-width: 100%;
		margin: 0;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		-webkit-line-clamp: unset;
		color: #777;
		font-size: 12px;
		line-height: 1.3;
	}
	/* Foto de relleno: ocupa toda la altura de la tercera columna. */
	.gy-turie .tp-menu-dropdown .gy-mega-photo {
		display: block;
		position: relative;
		grid-column: 2;
		grid-row: 1 / span 2;
		overflow: hidden;
		border-radius: 14px;
		min-height: 150px;
	}
	.gy-turie .tp-menu-dropdown .gy-mega-photo img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.6s ease;
	}
	.gy-turie .tp-menu-dropdown .gy-mega-photo:hover img {
		transform: scale(1.05);
	}
	/* El tema dibuja una flecha en el ::after de todo enlace del menú: se anula. */
	.gy-turie .tp-menu-dropdown .gy-destinations-mega a::after,
	.gy-turie .tp-menu-dropdown .gy-destinations-mega a::before {
		content: none !important;
		display: none !important;
	}
	.gy-turie .tp-menu-dropdown .gy-mega-photo span {
		position: absolute;
		z-index: 1;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 40px 14px 12px;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55));
		color: #fff;
		font-size: 15px;
		font-weight: 600;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega-footer {
		grid-column: 1;
		grid-row: 2;
		margin: 6px 0 0;
		padding: 10px 10px 4px;
		border-top: 1px solid rgba(17, 17, 17, 0.07);
		text-align: left;
	}
	.gy-turie .tp-menu-dropdown .gy-destinations-mega-footer a {
		font-size: 13px;
		font-weight: 600;
	}
}
/* En el menú móvil la flecha de cada destino sobra. */
.tp-offcanvas-menu .gy-mega-go,
.tp-offcanvas-menu .gy-mega-photo,
.tp-offcanvas-menu .gy-mega-head {
	display: none;
}

/* Nosotros · bloque de iconos (Tours en Paracas, Tours privados…): menos aire. */
.page-template-template-turie-about .tp-chose-area {
	padding-top: 20px !important;
	padding-bottom: 0 !important;
}
.page-template-template-turie-about .tp-chose-area .tp-about-two-service {
	margin-bottom: 0 !important;
}
.page-template-template-turie-about .tp-chose-area .tp-about-two-service-icon {
	margin-bottom: 14px !important;
}
.page-template-template-turie-about .tp-chose-area .tp-about-two-service-title {
	margin-bottom: 6px;
}
.page-template-template-turie-about .tp-team-area {
	padding-top: 50px !important;
}
.page-template-template-turie-about .tp-about-area {
	padding-bottom: 30px !important;
}

/* ---------------------------------------------------------------------
 * Entrada del blog (diseño blog-details-2 de Turie)
 * ------------------------------------------------------------------ */
.single-post .postbox-details-content > *:last-child { margin-bottom: 0; }
.single-post .postbox-details-content p { margin-bottom: 25px; }
.single-post .postbox-details-content h2,
.single-post .postbox-details-content h3,
.single-post .postbox-details-content h4 {
	font-weight: 500;
	font-size: 32px;
	line-height: 138%;
	letter-spacing: -0.02em;
	color: var(--tp-common-black);
	margin: 45px 0 15px;
}
.single-post .postbox-details-content h3 { font-size: 28px; }
.single-post .postbox-details-content h4 { font-size: 24px; font-weight: 600; }
.single-post .postbox-details-content ul,
.single-post .postbox-details-content ol { margin: 0 0 25px 20px; line-height: 163%; }
.single-post .postbox-details-content ul { list-style: disc; }
.single-post .postbox-details-content ol { list-style: decimal; }
.single-post .postbox-details-content a { color: var(--tp-theme-primary, inherit); text-decoration: underline; }
.single-post .postbox-details-content img,
.single-post .postbox-details-content figure img { max-width: 100%; height: auto; border-radius: 24px; }
.single-post .postbox-details-content figure { margin: 0 0 25px; }
.single-post .postbox-details-content blockquote {
	margin: 0 0 25px;
	padding: 24px 30px;
	border-left: 4px solid var(--tp-theme-primary, #fd4621);
	background: var(--tp-grey-1, #f6f6f6);
	border-radius: 0 16px 16px 0;
}
.single-post .postbox-details-content blockquote p:last-child { margin-bottom: 0; }
.single-post .postbox-details-info-wrap .postbox-title { font-weight: 500; line-height: 125%; letter-spacing: -0.02em; }
.single-post .postbox-details-info-wrap .tp-testimonial-user img { width: 50px; height: 50px; object-fit: contain; border-radius: 50%; background: #fff; }
.single-post .postbox-details-author-img img { width: 90px; height: 90px; object-fit: contain; border-radius: 50%; background: #fff; }
.single-post .postbox-social .fa-whatsapp { font-size: 17px; }
.single-post .tp-tour-review-avater-thumb img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.single-post .comment-reply-link { color: inherit; font-weight: 500; }
.single-post .tp-tour-review-form .tp-btn { cursor: pointer; }

/* ---------------------------------------------------------------------
 * Carrito (cart.html de Turie, sin hero)
 * ------------------------------------------------------------------ */
.woocommerce-cart .screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.woocommerce-cart .tp-cart-img img { width: 90px; height: 90px; object-fit: cover; border-radius: 12px; }
.woocommerce-cart .tp-cart-title a { color: inherit; }
.woocommerce-cart .tp-cart-title dl.variation,
.woocommerce-cart .tp-cart-title .wc-item-meta { margin: 6px 0 0; font-size: 13px; color: var(--gy-muted); }
.woocommerce-cart a.tp-cart-action-btn { cursor: pointer; text-decoration: none; }
.woocommerce-cart button.tp-cart-update-btn,
.woocommerce-cart .tp-cart-coupon-input button { cursor: pointer; }
.woocommerce-cart .tp-cart-checkout-btn { display: inline-block; text-align: center; text-decoration: none; }
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info {
	list-style: none; margin: 0 0 24px; padding: 14px 20px; border-radius: 12px;
	background: var(--gy-soft); color: var(--gy-navy); border-left: 4px solid var(--gy-orange);
}
.woocommerce-cart .woocommerce-message .button { float: right; margin-left: 12px; }
.woocommerce-cart .tp-cart-checkout-shipping table { width: 100%; }
.woocommerce-cart .tp-cart-checkout-shipping th,
.woocommerce-cart .tp-cart-checkout-shipping td { padding: 6px 0; text-align: left; font-size: 14px; }
@media (max-width: 767px) {
	.woocommerce-cart .tp-cart-list { margin-right: 0; overflow-x: auto; }
}

/* Carrito vacío */
.gy-cart-empty { max-width: 560px; margin: 0 auto; padding: 40px 0; }
.gy-cart-empty__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 84px; height: 84px; margin-bottom: 24px; border-radius: 50%;
	background: var(--gy-soft); color: var(--gy-orange); font-size: 34px;
}
.gy-cart-empty__title { margin-bottom: 12px; font-size: 32px; font-weight: 500; color: var(--gy-navy); }
.gy-cart-empty p { margin-bottom: 28px; color: var(--gy-muted); }

/* Totales del carrito: anula el float/ancho 48% de woocommerce-layout.css y
 * encaja el panel de Turie en su columna. */
.woocommerce-cart .cart-collaterals,
.woocommerce-page.woocommerce-cart .cart-collaterals {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-page.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	margin: 0;
}
.woocommerce-cart .cart-collaterals .tp-cart-checkout-wrapper {
	box-sizing: border-box;
	margin-left: 0;
	padding: 32px 24px 26px;
	background: #fff;
	border: 1px solid var(--gy-border);
	border-top: 1px solid var(--gy-border);
	border-radius: 14px;
	box-shadow: 0 24px 60px rgba(3, 58, 115, 0.1);
}
@media (min-width: 1200px) {
	.woocommerce-cart .cart-collaterals .tp-cart-checkout-wrapper { margin-left: -12px; }
}
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-top,
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total {
	gap: 12px;
}
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-top span,
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total span {
	line-height: 1.3;
}
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-top > span:last-child,
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total > span:last-child {
	text-align: right;
	white-space: nowrap;
}
.woocommerce-cart .tp-cart-checkout-wrapper .woocommerce-Price-amount,
.woocommerce-cart .tp-cart-checkout-wrapper .woocommerce-Price-amount bdi {
	color: inherit;
	font-weight: inherit;
	white-space: nowrap;
}
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total strong { font-weight: inherit; }
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-proceed { margin-top: 4px; }
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-btn { display: block; width: 100%; }

/* Carrito: jerarquía de totales y botón Eliminar sin los estilos de WooCommerce. */
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-top span { font-size: 17px; }
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-top .tp-cart-checkout-top-price { font-weight: 600; }
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total { align-items: baseline; padding-top: 4px; }
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total span { font-size: 22px; font-weight: 700; color: var(--gy-navy); }
.woocommerce-cart .tp-cart-checkout-wrapper .tp-cart-checkout-total > span:first-child { font-size: 17px; font-weight: 600; }
.woocommerce-cart .tp-cart-list a.remove.tp-cart-action-btn {
	display: inline-block;
	width: auto;
	height: auto;
	border-radius: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #818487 !important;
	text-align: left;
}
.woocommerce-cart .tp-cart-list a.remove.tp-cart-action-btn:hover { background: transparent; color: #d92d20 !important; }
.woocommerce-cart .tp-cart-bottom { margin-right: 30px; }
@media (max-width: 1199px) {
	.woocommerce-cart .tp-cart-bottom { margin-right: 0; }
}
@media (max-width: 991px) {
	.woocommerce-cart .cart-collaterals { margin-top: 28px; }
}

/* ---------------------------------------------------------------------
 * Finalizar compra (solo estilos; la lógica es la nativa de WooCommerce)
 * ------------------------------------------------------------------ */
body.woocommerce-checkout #st-content-wrapper,
body.woocommerce-checkout .search-result-page { background: var(--gy-soft); }

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 .booking-item-payment {
	border-color: var(--gy-border);
	border-top: 1px solid var(--gy-border);
	box-shadow: 0 24px 60px rgba(3, 58, 115, 0.09);
}
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 > .st-woo-heading {
	color: var(--gy-navy) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em;
}
body.woocommerce-checkout .woocommerce-billing-fields label {
	color: var(--gy-ink);
	font-weight: 600;
}
body.woocommerce-checkout .woocommerce-billing-fields .required { color: var(--gy-orange); }
body.woocommerce-checkout :is(.woocommerce-billing-fields, form.checkout_coupon) :is(input.input-text, textarea),
body.woocommerce-checkout .select2-container .select2-selection--single {
	background-color: var(--gy-soft);
	border-color: transparent;
	border-radius: 12px;
}
body.woocommerce-checkout :is(.woocommerce-billing-fields, form.checkout_coupon) :is(input.input-text, textarea):focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
	background-color: #fff;
	border-color: var(--gy-blue);
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	border-left-color: var(--gy-orange) !important;
	background: #fff !important;
}
body.woocommerce-checkout #place_order {
	background: linear-gradient(135deg, var(--gy-orange), #e85d00) !important;
	border-radius: 999px !important;
}
body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 table.shop_table.booking-item-payment .order-total :is(th, td),
body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 table.shop_table.booking-item-payment .order-total .amount {
	color: var(--gy-navy);
}

/* Finalizar compra: ajustes finos. */
body.woocommerce-checkout #st-content-wrapper > .container,
body.woocommerce-checkout .search-result-page > .container { padding-top: 32px; }
body.woocommerce-checkout :is(.woocommerce-billing-fields, form.checkout_coupon) :is(input.input-text, textarea),
body.woocommerce-checkout .select2-container--default .select2-selection--single {
	background-color: var(--gy-soft) !important;
	border-color: transparent !important;
	border-radius: 12px !important;
}
body.woocommerce-checkout :is(.woocommerce-billing-fields, form.checkout_coupon) :is(input.input-text, textarea):focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
	background-color: #fff !important;
	border-color: var(--gy-blue) !important;
	box-shadow: 0 0 0 4px rgba(19, 148, 222, 0.14) !important;
}
body.woocommerce-checkout #payment div.payment_box {
	background: var(--gy-soft) !important;
	color: var(--gy-muted) !important;
	border-radius: 14px;
}
body.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--gy-soft) !important; }
body.woocommerce-checkout #payment ul.payment_methods li label { color: var(--gy-navy); font-weight: 600; }
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { accent-color: var(--gy-orange); }
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--gy-muted); }
body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--gy-blue); }
@media (max-width: 991px) {
	body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 { position: static; }
}
body.woocommerce-checkout #payment ul.payment_methods li label::before {
	background-color: var(--gy-navy) !important;
	border-color: var(--gy-navy) !important;
}

/* Finalizar compra: migas de pan. */
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb {
	padding: 18px 0;
	background: #fff;
	border-bottom: 1px solid var(--gy-border);
}
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0;
	padding: 0;
	background: transparent;
	list-style: none;
}
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li {
	display: inline-flex;
	align-items: center;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--gy-navy);
}
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li:not(:last-child)::after {
	position: static;
	display: inline-block;
	width: 7px;
	height: 7px;
	margin: 0 12px 0 14px;
	background: transparent;
	border-top: 1.5px solid #9db0c7;
	border-right: 1.5px solid #9db0c7;
	transform: rotate(45deg);
}
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--gy-muted);
	text-decoration: none;
	transition: color 0.2s ease;
}
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li:first-child a::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li a:hover,
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li a:focus-visible { color: var(--gy-orange); }
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li span { color: var(--gy-navy); }
body.woocommerce-checkout #st-content-wrapper .st-breadcrumb > .container { max-width: 1200px; }
@media (max-width: 575px) {
	body.woocommerce-checkout #st-content-wrapper .st-breadcrumb { padding: 14px 0; }
	body.woocommerce-checkout #st-content-wrapper .st-breadcrumb ul li { font-size: 13px; }
}

/* Finalizar compra: respiro entre el último panel y el pie de página. */
body.woocommerce-checkout .search-result-page > .container,
body.woocommerce-checkout #st-content-wrapper > .container { padding-bottom: 96px; }
@media (max-width: 767px) {
	body.woocommerce-checkout .search-result-page > .container,
	body.woocommerce-checkout #st-content-wrapper > .container { padding-bottom: 64px; }
}

/* Tarjetas sin filete superior: el acento naranja va en una barrita bajo el título. */
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 > .st-woo-heading {
	position: relative;
}
body.woocommerce-checkout #customer_details h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 44px;
	height: 3px;
	border-radius: 3px;
	background: var(--gy-orange);
}
body.woocommerce-checkout .st-woo-checkout-form > .row > .col-sm-4 > .st-woo-heading::after {
	content: "";
	display: block;
	width: 44px;
	height: 3px;
	margin-top: 8px;
	border-radius: 3px;
	background: var(--gy-orange);
}

/* Confirmar reserva / Aplicar cupón: el hover usa la paleta de marca
 * (el tema padre lo pintaba de azul #4977fa con !important). */
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus-visible {
	background: linear-gradient(135deg, #e85d00, #cf5200) !important;
	color: #fff !important;
	filter: none !important;
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(252, 106, 4, 0.34) !important;
	outline: 3px solid rgba(252, 106, 4, 0.25) !important;
	outline-offset: 3px;
}
body.woocommerce-checkout form.checkout_coupon .button:hover,
body.woocommerce-checkout form.checkout_coupon .button:focus-visible {
	background: #022b57 !important;
	color: #fff !important;
	filter: none !important;
	outline: 3px solid rgba(3, 58, 115, 0.2) !important;
	outline-offset: 3px;
}

/* Header móvil: el botón de WhatsApp pasa a círculo solo con icono. */
@media (max-width: 767.98px) {
	.gy-turie .tp-header-contact.gy-header-contact {
		margin-left: 18px;
	}

	.gy-turie .tp-header-contact a.gy-header-wa {
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		gap: 0;
		border-radius: 50%;
	}

	.gy-turie .tp-header-contact a.gy-header-wa i {
		font-size: 22px;
	}

	.gy-turie .gy-header-wa__text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

/* Nosotros y Contacto: espacio bajo el hero de 80px en todos los anchos. */
.gy-turie .tp-about-area.pt-80,
.gy-turie .tp-contact-area.pt-80 {
	padding-top: 80px;
}

/* Contacto: mapa a color y pegado al footer (sin franja blanca). */
.gy-turie .tp-contact-map {
	padding-bottom: 0;
	margin-bottom: 0;
}

.gy-turie .tp-contact-map-box iframe {
	display: block;
	filter: none;
}

body.gy-turie main:has(> .tp-contact-map:last-child) {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Ficha de tour: «Incluye» y «No incluye» con su propio título, en dos columnas. */
.gy-tour-details-2-page .tp-tour-details-included .tp-tour-details-included-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 48px;
	align-items: start;
}

.gy-tour-details-2-page .tp-tour-details-included .tp-tour-details-included-list > div {
	min-width: 0;
}

.gy-tour-details-2-page .gy-inc-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid currentColor;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.gy-tour-details-2-page .gy-inc-title i {
	font-size: 20px;
}

.gy-tour-details-2-page .gy-inc-title--yes {
	color: #2f8f4e;
}

.gy-tour-details-2-page .gy-inc-title--no {
	color: #d9381e;
}

@media (max-width: 767.98px) {
	.gy-tour-details-2-page .tp-tour-details-included .tp-tour-details-included-list {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

/* Header móvil: con el botón de WhatsApp y el carrito a la derecha, el logo
 * centrado quedaba debajo de ellos; en pantallas pequeñas pasa a la izquierda. */
@media (max-width: 575.98px) {
	.gy-turie .tp-header-two .tp-header-logo {
		left: 22px;
		transform: translateY(-50%);
	}

	.gy-turie .tp-header-two .tp-header-logo img {
		width: 110px;
	}
}

/* Sin pantalla de carga (globo con avión), por si algún diseño la vuelve a incluir. */
.gy-turie #loading {
	display: none !important;
}

/* Héroes de páginas internas en móvil: el título no debe quedar pegado a la barra del header. */
@media (max-width: 767.98px) {
	.gy-turie .tp-breadcrumb-ptb {
		padding-top: 150px;
		padding-bottom: 80px;
	}
}

/* =========================================================================
 * Formulario de reserva del tour (nativo de Traveler) — solo estilo.
 * No se toca ningún atributo, id ni clase de los que usa el JavaScript.
 * Paleta: azul marino #033a73, naranja #fc6a04, fondo suave #f4f8fc.
 * ====================================================================== */
body.gy-turie #reserva .st-form-book-wrapper {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Cabecera: precio y valoración sobre azul marino. */
body.gy-turie #reserva .form-booking-price {
	margin: 0 0 18px !important;
	padding: 20px 22px !important;
	border: 0 !important;
	border-radius: 20px !important;
	background: linear-gradient(135deg, #022a54 0%, #033a73 60%, #0a5aa8 100%) !important;
	color: #fff !important;
}

body.gy-turie #reserva .st-form-head-book {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px;
	margin: 0 !important;
}

body.gy-turie #reserva .st-price-origin {
	display: flex !important;
	align-items: baseline !important;
	gap: 8px;
}

body.gy-turie #reserva .form-booking-price .st-unit {
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 13px !important;
	font-weight: 500;
}

body.gy-turie #reserva .form-booking-price .price .item,
body.gy-turie #reserva .form-booking-price .price {
	color: #fff !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	line-height: 1.1 !important;
}

body.gy-turie #reserva .st-review-score .reviews {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff !important;
	font-size: 12px;
}

body.gy-turie #reserva .st-review-score .reviews .rate,
body.gy-turie #reserva .st-review-score .reviews .summary {
	color: #fff !important;
}

body.gy-turie #reserva .st-review-score .stt-icon-star1 {
	color: #ffb400 !important;
}

/* Campos: bloques suaves con borde que se marca al enfocar. */
body.gy-turie #reserva .st-group-form .form-group {
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 1.5px solid #dbe6f1 !important;
	border-radius: 16px !important;
	background: #f4f8fc !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

body.gy-turie #reserva .st-group-form .form-group:hover {
	border-color: #b9cde4 !important;
}

body.gy-turie #reserva .st-group-form .form-group:focus-within {
	border-color: #fc6a04 !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(252, 106, 4, 0.12) !important;
}

body.gy-turie #reserva .st-group-form .date-wrapper,
body.gy-turie #reserva .st-group-form .guest-wrapper,
body.gy-turie #reserva .st-group-form #starttime_box {
	padding: 14px 18px !important;
	border: 0 !important;
}

body.gy-turie #reserva .st-group-form label {
	display: block;
	margin: 0 0 3px !important;
	color: #5b7592 !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.gy-turie #reserva .st-group-form .render {
	color: #033a73 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

body.gy-turie #reserva .st-group-form .guest-wrapper .render {
	color: #5b7592 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

body.gy-turie #reserva .st-group-form .date-wrapper > i {
	color: #fc6a04 !important;
}

body.gy-turie #reserva .st-group-form #starttime_box .form-control {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: 1.5px solid #dbe6f1 !important;
	border-radius: 12px !important;
	background-color: #fff !important;
	color: #033a73 !important;
	font-size: 14px;
	font-weight: 600;
	box-shadow: none !important;
}

body.gy-turie #reserva .st-group-form #starttime_box .form-control:focus {
	border-color: #fc6a04 !important;
}

/* Contador de personas. */
body.gy-turie #reserva .st-number-wrapper {
	gap: 10px;
}

body.gy-turie #reserva .st-number-wrapper > span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px !important;
	height: 36px !important;
	border: 1.5px solid #b9cde4 !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #033a73 !important;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.gy-turie #reserva .st-number-wrapper > span:hover {
	border-color: #fc6a04 !important;
	background: #fc6a04 !important;
	color: #fff !important;
}

body.gy-turie #reserva .st-number-wrapper .st-input-number {
	width: 36px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #033a73 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	text-align: center;
	box-shadow: none !important;
}

/* Total y botón. */
body.gy-turie #reserva .total-price-book {
	margin: 18px 2px 14px !important;
	padding: 16px 0 0 !important;
	border-top: 1.5px dashed #cfdcec !important;
}

body.gy-turie #reserva .total-price-book h5 {
	margin: 0 !important;
	color: #033a73 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
}

body.gy-turie #reserva #total-value h5,
body.gy-turie #reserva #total-value .price,
body.gy-turie #reserva #total-value .price .item {
	color: #033a73 !important;
	font-size: 26px !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
}

body.gy-turie #reserva .submit-group .btn-book-ajax {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 54px;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #fc6a04, #e85d00) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	box-shadow: 0 12px 26px rgba(252, 106, 4, 0.32) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.gy-turie #reserva .submit-group .btn-book-ajax:hover,
body.gy-turie #reserva .submit-group .btn-book-ajax:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(252, 106, 4, 0.4) !important;
}

/* =========================================================================
 * Calendario (daterangepicker de Traveler): cabecera azul, días en círculo.
 * ====================================================================== */
body.gy-turie .daterangepicker {
	width: 332px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 28px 70px rgba(3, 58, 115, 0.24) !important;
	font-family: inherit !important;
	overflow: visible;
}

body.gy-turie .daterangepicker::before,
body.gy-turie .daterangepicker::after {
	display: none !important;
}

body.gy-turie .daterangepicker .calendar {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.gy-turie .daterangepicker .calendar-table {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.gy-turie .daterangepicker .table-header {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	height: 62px;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 22px 22px 0 0;
	background: linear-gradient(135deg, #022a54, #033a73) !important;
}

body.gy-turie .daterangepicker .table-header .month {
	flex: 1;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	text-align: center;
	text-transform: capitalize;
}

body.gy-turie .daterangepicker .table-header > div:first-child:empty {
	width: 36px;
	height: 36px;
}

body.gy-turie .daterangepicker .table-header .prev,
body.gy-turie .daterangepicker .table-header .next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.16);
	filter: brightness(0) invert(1);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

body.gy-turie .daterangepicker .table-header .prev:hover,
body.gy-turie .daterangepicker .table-header .next:hover {
	background-color: rgba(255, 255, 255, 0.32);
}

body.gy-turie .daterangepicker .table-sub-header {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	padding: 12px 12px 6px !important;
	border: 0 !important;
	background: #fff !important;
}

body.gy-turie .daterangepicker .table-sub-header .day-off-week {
	width: auto !important;
	height: auto !important;
	line-height: 1.2 !important;
	color: #7f95ad !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
}

body.gy-turie .daterangepicker table.table-condensed {
	width: calc(100% - 24px) !important;
	margin: 0 12px 12px !important;
	border-collapse: separate !important;
	border-spacing: 0 4px !important;
}

body.gy-turie .daterangepicker td.td-date {
	width: 14.28% !important;
	height: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
}

body.gy-turie .daterangepicker td.td-date .date {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 40px !important;
	margin: 0 auto !important;
	border: 2px solid transparent !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #033a73 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body.gy-turie .daterangepicker td.td-date.available:hover .date {
	background: #e7f0fb !important;
}

body.gy-turie .daterangepicker td.td-date.today .date {
	border-color: #033a73 !important;
}

body.gy-turie .daterangepicker td.td-date.active .date,
body.gy-turie .daterangepicker td.td-date.active:hover .date,
body.gy-turie .daterangepicker td.td-date.start-date .date,
body.gy-turie .daterangepicker td.td-date.end-date .date {
	border-color: #fc6a04 !important;
	background: #fc6a04 !important;
	color: #fff !important;
	box-shadow: 0 6px 14px rgba(252, 106, 4, 0.35);
}

body.gy-turie .daterangepicker td.td-date.in-range:not(.active) .date {
	background: #fff1e7 !important;
	color: #033a73 !important;
}

body.gy-turie .daterangepicker td.td-date.disabled .date,
body.gy-turie .daterangepicker td.td-date.not_available .date,
body.gy-turie .daterangepicker td.td-date.in-past .date {
	color: #b4c2d3 !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	cursor: not-allowed;
}

body.gy-turie .daterangepicker td.td-date.off.available .date {
	color: #8aa0b8 !important;
	opacity: 0.7;
}

body.gy-turie .daterangepicker .event-tooltip {
	padding: 6px 10px !important;
	border-radius: 8px !important;
	background: #033a73 !important;
	color: #fff !important;
	font-size: 12px !important;
}

/* Alineación del formulario con la cabecera de precio. */
body.gy-turie #reserva .st-form-booking-action {
	padding: 0 !important;
}

body.gy-turie #reserva .form-booking-price {
	min-height: 0 !important;
}

body.gy-turie #reserva .form-booking-price::after {
	display: none !important;
}

body.gy-turie #reserva .st-form-head-book {
	min-height: 0 !important;
}

body.gy-turie #reserva .submit-group {
	padding: 0 !important;
}

body.gy-turie #reserva .total-price-book {
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Calendario: sin la fila vacía de los días del mes anterior. */
body.gy-turie .daterangepicker table.table-condensed tr:not(:has(td:not(.not-show))) {
	display: none;
}

body.gy-turie #reserva .form-booking-price .st-price-origin {
	align-self: center !important;
}

body.gy-turie #reserva .form-booking-price .price {
	margin: 0 !important;
}

body.gy-turie .daterangepicker .table-header .prev,
body.gy-turie .daterangepicker .table-header .next {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	margin: 0 !important;
}

/* Móvil: el calendario no se sale de la pantalla. */
@media (max-width: 575.98px) {
	body.gy-turie .daterangepicker {
		width: min(332px, calc(100vw - 24px)) !important;
		max-width: calc(100vw - 24px);
	}

	body.gy-turie .daterangepicker td.td-date .date {
		width: 36px !important;
		height: 36px !important;
	}
}

body.gy-turie #reserva .form-booking-price .st-form-head-book {
	margin-top: -12px !important;
}

@media (max-width: 575.98px) {
	body.gy-turie #reserva .form-booking-price {
		padding: 18px !important;
	}

	body.gy-turie #reserva .form-booking-price .price,
	body.gy-turie #reserva .form-booking-price .price .item {
		font-size: 26px !important;
	}

	body.gy-turie #reserva .st-review-score .reviews {
		white-space: nowrap;
	}

	body.gy-turie #reserva .st-review-score .reviews .summary {
		display: none;
	}
}

/* =========================================================================
 * Versión sobria del formulario y el calendario: fondo blanco, sin
 * degradados, sin bloques de color. Solo texto azul y un acento naranja.
 * ====================================================================== */
body.gy-turie #reserva .form-booking-price {
	margin: 0 0 16px !important;
	padding: 0 0 16px !important;
	border: 0 !important;
	border-bottom: 1px solid #e6ecf3 !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #033a73 !important;
}

body.gy-turie #reserva .form-booking-price .st-form-head-book {
	margin-top: 0 !important;
}

body.gy-turie #reserva .form-booking-price .st-unit {
	color: #6b7f95 !important;
}

body.gy-turie #reserva .form-booking-price .price,
body.gy-turie #reserva .form-booking-price .price .item {
	color: #033a73 !important;
	font-size: 26px !important;
}

body.gy-turie #reserva .st-review-score .reviews {
	padding: 0;
	background: transparent !important;
	color: #033a73 !important;
}

body.gy-turie #reserva .st-review-score .reviews .rate,
body.gy-turie #reserva .st-review-score .reviews .summary {
	color: #6b7f95 !important;
}

body.gy-turie #reserva .st-group-form .form-group {
	border: 1px solid #dfe6ee !important;
	border-radius: 12px !important;
	background: #fff !important;
}

body.gy-turie #reserva .st-group-form .form-group:hover {
	border-color: #c3d0de !important;
}

body.gy-turie #reserva .st-group-form .form-group:focus-within {
	border-color: #033a73 !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.gy-turie #reserva .st-group-form label {
	color: #6b7f95 !important;
	letter-spacing: 0.04em;
}

body.gy-turie #reserva .st-group-form .date-wrapper > i {
	color: #033a73 !important;
}

body.gy-turie #reserva .st-group-form #starttime_box .form-control {
	border: 1px solid #dfe6ee !important;
	border-radius: 10px !important;
}

body.gy-turie #reserva .st-group-form #starttime_box .form-control:focus {
	border-color: #033a73 !important;
}

body.gy-turie #reserva .st-number-wrapper > span {
	border: 1px solid #c3d0de !important;
}

body.gy-turie #reserva .st-number-wrapper > span:hover {
	border-color: #033a73 !important;
	background: #033a73 !important;
	color: #fff !important;
}

body.gy-turie #reserva .total-price-book {
	border-top: 1px solid #e6ecf3 !important;
}

body.gy-turie #reserva .submit-group .btn-book-ajax {
	border-radius: 12px !important;
	background: #fc6a04 !important;
	box-shadow: none !important;
}

body.gy-turie #reserva .submit-group .btn-book-ajax:hover,
body.gy-turie #reserva .submit-group .btn-book-ajax:focus-visible {
	background: #e85d00 !important;
	box-shadow: none !important;
	transform: none;
}

/* Calendario: blanco, con borde fino y sombra suave. */
body.gy-turie .daterangepicker {
	border: 1px solid #dfe6ee !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 32px rgba(3, 58, 115, 0.12) !important;
}

body.gy-turie .daterangepicker .table-header {
	height: 56px;
	border-bottom: 1px solid #eef2f7 !important;
	border-radius: 16px 16px 0 0;
	background: #fff !important;
}

body.gy-turie .daterangepicker .table-header .month {
	color: #033a73 !important;
}

body.gy-turie .daterangepicker .table-header .prev,
body.gy-turie .daterangepicker .table-header .next {
	border: 1px solid #dfe6ee;
	background-color: #fff !important;
	filter: none;
}

body.gy-turie .daterangepicker .table-header .prev:hover,
body.gy-turie .daterangepicker .table-header .next:hover {
	border-color: #033a73;
	background-color: #fff !important;
}

body.gy-turie .daterangepicker td.td-date.available:hover .date {
	background: #f1f4f8 !important;
}

body.gy-turie .daterangepicker td.td-date.active .date,
body.gy-turie .daterangepicker td.td-date.active:hover .date,
body.gy-turie .daterangepicker td.td-date.start-date .date,
body.gy-turie .daterangepicker td.td-date.end-date .date {
	border-color: #fc6a04 !important;
	background: #fc6a04 !important;
	box-shadow: none;
}

body.gy-turie .daterangepicker td.td-date.in-range:not(.active) .date {
	background: #fff1e7 !important;
}

/* Sin el marco general alrededor de los campos: cada campo lleva su propio borde. */
body.gy-turie #reserva .st-group-form {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Testimonios: procedencia bajo el nombre. */
.gy-turie .tp-testimonial-two-content .tp-testimonial-two-origin {
	display: block;
	margin: -2px 0 12px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
}

/* Contacto: menos espacio entre el formulario y el mapa. */
.gy-turie .tp-contact-area.pb-20 {
	padding-bottom: 20px;
}

/* Pie global en páginas internas (checkout, etc.): estas plantillas conservan
   el Bootstrap del tema padre, cuyo contenedor y gutters difieren de Turie.
   Se replican aquí los valores de Turie para que el pie sea idéntico en todo
   el sitio. */
.gy-turie-inner .tp-footer-area .container {
	--bs-gutter-x: 32px;
	width: 100%;
	padding-right: 16px;
	padding-left: 16px;
	margin-right: auto;
	margin-left: auto;
}
.gy-turie-inner .tp-footer-area .row {
	margin-right: -16px;
	margin-left: -16px;
}
.gy-turie-inner .tp-footer-area .row > * {
	padding-right: 16px;
	padding-left: 16px;
}
@media (min-width: 576px) {
	.gy-turie-inner .tp-footer-area .container { max-width: 540px; }
}
@media (min-width: 768px) {
	.gy-turie-inner .tp-footer-area .container { max-width: 720px; }
}
@media (min-width: 992px) {
	.gy-turie-inner .tp-footer-area .container { max-width: 960px; }
}
@media (min-width: 1200px) {
	.gy-turie-inner .tp-footer-area .container { max-width: 1140px; }
}
@media (min-width: 1400px) {
	.gy-turie-inner .tp-footer-area .container { max-width: 1630px; }
}

/* Títulos del pie en páginas internas con WooCommerce (finalizar-compra):
   los estilos genéricos de h3 de la plantilla antigua (24px, peso 500, color
   cian) pisaban al pie. Se restablecen los valores de Turie. */
.gy-turie .tp-footer-area .tp-footer-widget-title {
	color: var(--tp-heading-primary, #033a73);
	font-size: 18px;
	font-weight: 600;
	line-height: 189%;
	margin: 0 0 15px;
}

/* Login / registro / recuperar contraseña (página y ventana emergente):
   se sustituye el cian por defecto de Traveler por la paleta de marca. */
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .account-tabs li.active,
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .account-tabs li.active a {
	color: var(--gy-navy) !important;
	text-decoration-color: var(--gy-orange) !important;
}
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .st-link,
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .modal-body a.st-link {
	color: var(--gy-navy) !important;
	text-decoration-color: var(--gy-orange);
}
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .st-link:hover,
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .account-tabs li a:hover {
	color: var(--gy-orange) !important;
}
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) input[type='submit'],
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .form-submit {
	background: linear-gradient(135deg, var(--gy-orange), #e85d00) !important;
	border-color: transparent !important;
	color: #fff !important;
}
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) input[type='submit']:hover,
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .form-submit:hover {
	background: linear-gradient(135deg, #e85d00, var(--gy-navy)) !important;
	color: #fff !important;
}
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) input[type='checkbox'] {
	accent-color: var(--gy-orange);
}
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .form-control:focus,
:is(#st-login-form-page, #st-forgot-form-page, #st-login-form) .form-group input:focus {
	border-color: var(--gy-orange) !important;
	box-shadow: 0 0 0 3px rgba(252, 106, 4, 0.15);
}

/* Preguntas frecuentes: tarjeta de contacto simple bajo el acordeón. */
.gy-faq-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px 40px;
	padding: 32px 40px;
	background: var(--gy-soft);
	border: 1px solid var(--gy-border);
	border-radius: 20px;
}
.gy-faq-cta h3 {
	margin: 0 0 6px;
	font-size: 24px;
	font-weight: 600;
	color: var(--gy-navy);
}
.gy-faq-cta p {
	margin: 0;
	color: var(--gy-muted);
}
.gy-faq-cta .tp-btn {
	flex: 0 0 auto;
	white-space: nowrap;
}
@media (max-width: 767px) {
	.gy-faq-cta {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px;
	}
}

/* Carrito en móvil: en lugar de la tabla de 840px con scroll horizontal
   (el título del tour quedaba cortado), cada producto es una tarjeta y el
   título baja a las líneas que necesite. */
@media (max-width: 767px) {
	.woocommerce-cart .tp-cart-list {
		overflow: visible;
		margin-right: 0;
	}
	.woocommerce-cart .tp-cart-list table,
	.woocommerce-cart .tp-cart-list tbody {
		display: block;
		width: 100%;
	}
	.woocommerce-cart .tp-cart-list thead {
		display: none;
	}
	.woocommerce-cart .tp-cart-list tr.cart_item {
		display: grid;
		grid-template-columns: 90px minmax(0, 1fr) auto;
		grid-template-areas:
			'img title action'
			'img price price'
			'img qty qty';
		align-items: start;
		gap: 4px 14px;
		padding: 18px 0;
		border-bottom: 1px solid var(--gy-border);
	}
	.woocommerce-cart .tp-cart-list tbody tr:first-child td {
		padding-top: 0 !important;
	}
	.woocommerce-cart .tp-cart-list tr.cart_item > td {
		display: block;
		min-width: 0;
		padding: 0 !important;
		border: 0;
		width: auto;
	}
	.woocommerce-cart .tp-cart-list .tp-cart-img {
		grid-area: img;
		margin: 0;
		width: 90px;
	}
	.woocommerce-cart .tp-cart-list .tp-cart-title {
		grid-area: title;
	}
	.woocommerce-cart .tp-cart-list .tp-cart-title a {
		display: block;
		margin: 0;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.35;
		color: var(--gy-navy);
		white-space: normal;
		overflow-wrap: anywhere;
	}
	.woocommerce-cart .tp-cart-list .tp-cart-price {
		grid-area: price;
		width: auto;
		font-weight: 600;
		color: var(--gy-ink);
	}
	.woocommerce-cart .tp-cart-list .tp-cart-quantity {
		grid-area: qty;
	}
	.woocommerce-cart .tp-cart-list .tp-cart-quantity .tp-product-quantity {
		margin: 4px 0 0;
	}
	.woocommerce-cart .tp-cart-list .tp-cart-action {
		grid-area: action;
		text-align: right;
	}
}

/* Finalizar compra: el pie queda dentro de #st-content-wrapper, y el tema
   padre le suma 80px de relleno inferior, que se veía como una franja en
   blanco bajo el footer. */
.gy-turie #st-content-wrapper.st-style-elementor.search-result-page {
	padding-bottom: 0;
}
