/* =============================================================
   TOUR DETAIL — diseño Pencil (ui - soncco adventures.pen)
   Secciones apiladas. Acento burgundy/rose. Cormorant + Inter.
   Prefijo: .tdx
   ============================================================= */

.tdx {
	--tdx-burgundy: var(--son-deep-burgundy, #752632);
	--tdx-rose:     var(--son-rose-red, #AF4462);
	--tdx-green:    var(--son-secondary-green, #3E775E);
	--tdx-blue:     var(--son-primary-blue, #1F4768);
	--tdx-bg:       var(--son-background, #F8F8F5);
	--tdx-surface:  var(--son-surface, #FFFFFF);
	--tdx-text:     var(--son-text, #10202D);
	--tdx-text-2:   var(--son-text-secondary, #4A5A66);
	--tdx-border:   var(--son-border-subtle, #E4E4DD);
	--tdx-grad:     var(--son-grad-burgundy, linear-gradient(0deg,#752632,#AF4462));
	--tdx-radius:   var(--son-radius-card, 2rem);
	--tdx-shadow:   var(--son-shadow-card, 0 1.2rem 3rem rgba(16,32,45,.14));
	--tdx-head:     var(--son-font-heading, 'Cormorant Garamond', serif);
	--tdx-body:     'Inter', 'Noto Sans', sans-serif;
	background: var(--tdx-bg);
	color: var(--tdx-text);
	font-family: var(--tdx-body);
}

/* ── Iconos Lucide (SVG inline, outline) ── */
.sonadv-ic { width: 1.8rem; height: 1.8rem; display: inline-block; vertical-align: middle; flex-shrink: 0; }
/* tamaños por contexto */
.tdx-chip__icon .sonadv-ic     { width: 1.9rem; height: 1.9rem; }
.tdx-statsbar__icon .sonadv-ic { width: 2rem;   height: 2rem; }
.tdx-highlight__icon .sonadv-ic{ width: 2.4rem; height: 2.4rem; }
.tdx-glance__list .sonadv-ic   { width: 1.8rem; height: 1.8rem; }
.tdx-day__metaitem .sonadv-ic  { width: 1.7rem; height: 1.7rem; }
.tdx-day__chev.sonadv-ic       { width: 2.2rem; height: 2.2rem; }
.tdx-faq__icon.sonadv-ic       { width: 2rem;   height: 2rem; }
.tdx-incl-card__title .sonadv-ic { width: 2.4rem; height: 2.4rem; vertical-align: -.4rem; }
.tdx-btn .sonadv-ic            { width: 1.7rem; height: 1.7rem; }
.tdx-pricecard__ribbon .sonadv-ic { width: 1.4rem; height: 1.4rem; }
.tdx-pricecard__avail .sonadv-ic, .tdx-rel-card__dur .sonadv-ic, .tdx-inquiry__contact .sonadv-ic { width: 1.5rem; height: 1.5rem; }

/* ── Layout helpers ── */
.tdx-container { max-width: 120rem; margin-inline: auto; padding-inline: 4rem; }
.tdx-container--narrow { max-width: 90rem; }
.tdx-section { padding: 10rem 0; }
.tdx-section--surface { background: var(--tdx-surface); }
.tdx-head { text-align: center; margin-bottom: 5.6rem; }
.tdx-eyebrow {
	font-family: var(--tdx-body);
	font-size: 1.3rem; font-weight: 600;
	letter-spacing: .2em; text-transform: uppercase;
	color: var(--tdx-green);
	margin-bottom: 1.2rem;
}
.tdx-eyebrow--light { color: var(--son-accent-green, #B4D882); }
.tdx-h2 {
	font-family: var(--tdx-head);
	font-size: clamp(3.2rem, 4vw, 4.4rem);
	font-weight: 600; line-height: 1.05;
	color: var(--tdx-text);
}

/* ── Buttons ── */
.tdx-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .8rem;
	font-family: var(--tdx-body); font-size: 1.5rem; font-weight: 600;
	padding: 1.5rem 3rem; border-radius: var(--son-radius-pill, 999px);
	border: none; cursor: pointer; text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.tdx-btn:hover { transform: translateY(-2px); }
.tdx-btn--primary { background: var(--tdx-grad); color: #fff; box-shadow: 0 .6rem 1.6rem rgba(117,38,50,.32); }
.tdx-btn--outline { background: transparent; color: var(--tdx-burgundy); border: 1.5px solid var(--tdx-burgundy); }
.tdx-btn--outline:hover { background: var(--tdx-burgundy); color: #fff; }
.tdx-btn--glass { background: rgba(255,255,255,.14); color: #fff; border: 1.5px solid rgba(255,255,255,.5); backdrop-filter: blur(8px); }
.tdx-btn--glass:hover { background: rgba(255,255,255,.24); }
.tdx-btn--wa { background: var(--color-whatsapp, #25d366); color: #fff; }
.tdx-btn--full { width: 100%; }

/* ═══ 1. HERO (slider) ═══ */
.tdx-hero {
	position: relative;
	min-height: 78vh;
	display: flex; align-items: flex-end;
	color: #fff;
	overflow: hidden;
}
.tdx-hero__slides { position: absolute; inset: 0; }
.tdx-hero__slide {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	opacity: 0; transform: scale(1.06);
	transition: opacity 1.1s ease, transform 7s ease;
}
.tdx-hero__slide.is-active { opacity: 1; transform: scale(1); }
.tdx-hero__scrim {
	position: absolute; inset: 0; z-index: 1;
	background: var(--son-scrim-hero, linear-gradient(180deg, rgba(16,32,45,.7) 0%, rgba(16,32,45,.35) 40%, rgba(16,32,45,.95) 100%));
}
.tdx-hero__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	width: 5rem; height: 5rem; border-radius: 999px;
	background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35);
	color: #fff; font-size: 1.6rem; cursor: pointer;
	backdrop-filter: blur(8px);
	display: grid; place-items: center;
	transition: background .2s ease;
}
.tdx-hero__nav:hover { background: rgba(255,255,255,.28); }
.tdx-hero__nav--prev { left: 3rem; }
.tdx-hero__nav--next { right: 3rem; }
.tdx-hero__dots {
	position: absolute; bottom: 2.4rem; left: 50%; transform: translateX(-50%); z-index: 3;
	display: flex; gap: 1rem;
}
.tdx-hero__dot {
	width: 1rem; height: 1rem; border-radius: 999px; padding: 0; cursor: pointer;
	background: rgba(255,255,255,.4); border: none;
	transition: background .2s ease, width .2s ease;
}
.tdx-hero__dot.is-active { background: #fff; width: 2.6rem; }
.tdx-hero__inner {
	position: relative; z-index: 1;
	max-width: 120rem; width: 100%; margin-inline: auto;
	padding: 0 4rem 6rem;
}
.tdx-breadcrumb { font-size: 1.4rem; margin-bottom: 2.4rem; display: flex; gap: .8rem; align-items: center; }
.tdx-breadcrumb a { color: rgba(255,255,255,.85); text-decoration: none; }
.tdx-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.tdx-breadcrumb span { color: rgba(255,255,255,.5); }
.tdx-hero__eyebrow {
	font-size: 1.4rem; font-weight: 600; letter-spacing: .22em;
	color: var(--son-accent-green, #B4D882); margin-bottom: 1.6rem;
}
.tdx-hero__title {
	font-family: var(--tdx-head);
	font-size: clamp(4.2rem, 6.5vw, 8rem);
	font-weight: 600; line-height: .98;
	max-width: 18ch; margin-bottom: 2rem;
}
.tdx-hero__sub {
	font-size: 1.9rem; line-height: 1.5;
	max-width: 55ch; color: rgba(255,255,255,.88); margin-bottom: 3.2rem;
}
.tdx-hero__chips { display: flex; flex-wrap: wrap; gap: 3.2rem; margin-bottom: 3.6rem; }
.tdx-chip { display: flex; align-items: center; gap: 1.2rem; }
.tdx-chip__icon {
	width: 4.4rem; height: 4.4rem; border-radius: 999px;
	background: rgba(255,255,255,.16);
	display: grid; place-items: center; font-size: 1.6rem;
	border: 1px solid rgba(255,255,255,.2);
}
.tdx-chip__text { display: flex; flex-direction: column; gap: .2rem; }
.tdx-chip__label { font-size: 1.2rem; color: rgba(255,255,255,.7); }
.tdx-chip__value { font-size: 1.6rem; font-weight: 600; }
.tdx-hero__cta { display: flex; flex-wrap: wrap; gap: 1.6rem; }

/* ═══ 2. STATS BAR (flotante) ═══ */
.tdx-statsbar-wrap { position: relative; margin-top: -4rem; z-index: 5; padding: 0 4rem; }
.tdx-statsbar {
	max-width: 110rem; margin-inline: auto;
	background: var(--tdx-surface); border: 1px solid var(--tdx-border);
	border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow);
	display: flex; justify-content: space-between; flex-wrap: wrap;
	padding: 2.8rem 2rem;
}
.tdx-statsbar__item { display: flex; align-items: center; gap: 1.4rem; padding: 0 1.6rem; flex: 1; min-width: 18rem; }
.tdx-statsbar__icon {
	width: 4.6rem; height: 4.6rem; border-radius: 999px;
	background: rgba(62,119,94,.12); color: var(--tdx-green);
	display: grid; place-items: center; font-size: 1.7rem; flex-shrink: 0;
}
.tdx-statsbar__text { display: flex; flex-direction: column; gap: .2rem; }
.tdx-statsbar__label { font-size: 1.2rem; color: var(--tdx-text-2); }
.tdx-statsbar__value { font-size: 1.55rem; font-weight: 600; color: var(--tdx-text); }

/* ═══ 3. OVERVIEW + GLANCE (2 columnas: main + sidebar) ═══ */
.tdx-overview { display: grid; grid-template-columns: minmax(0, 1fr) 36rem; gap: 7.2rem; align-items: start; }
.tdx-overview__main { min-width: 0; }
.tdx-prose { font-size: 1.6rem; line-height: 1.85; color: var(--tdx-text-2); }
.tdx-prose p { margin-bottom: 1.4rem; }
.tdx-prose h2, .tdx-prose h3 { font-family: var(--tdx-head); color: var(--tdx-text); margin: 2.4rem 0 1rem; }
.tdx-prose ul, .tdx-prose ol { margin: 0 0 1.4rem 1.8rem; }

/* Sidebar (price card + glance) */
.tdx-side { align-self: start; position: sticky; top: 9rem; display: flex; flex-direction: column; gap: 2.4rem; }

/* Price card (PRECIO) — diseño Pencil */
.tdx-pricecard {
	position: relative;
	background: var(--tdx-surface); border: 1px solid var(--tdx-border);
	border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow);
	padding: 3.2rem; display: flex; flex-direction: column; gap: 1.8rem;
}
.tdx-pricecard--popular { border: 2px solid var(--tdx-burgundy); }
.tdx-pricecard__ribbon {
	position: absolute; top: -1.4rem; left: 50%; transform: translateX(-50%);
	background: var(--tdx-grad); color: #fff;
	font-size: 1.1rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	padding: .7rem 1.8rem; border-radius: 999px; white-space: nowrap;
	display: inline-flex; align-items: center; gap: .6rem;
	box-shadow: 0 .4rem 1.2rem rgba(117,38,50,.3);
}
.tdx-pricecard__tier { font-size: 1.3rem; font-weight: 600; letter-spacing: .15em; color: var(--tdx-green); margin-top: .8rem; text-align: center;}
.tdx-pricecard__price { display: flex; align-items: baseline; gap: .8rem; justify-content: center;}
.tdx-pricecard__price strong { font-family: var(--tdx-head); font-size: 5.6rem; font-weight: 600; line-height: 1; color: var(--tdx-text); }
.tdx-pricecard__price span { font-size: 1.5rem; color: var(--tdx-text-2); }
.tdx-pricecard .tdx-btn { margin-top: .4rem; }
.tdx-pricecard__avail { font-size: 1.25rem; color: var(--tdx-text-2); margin-top: .8rem; text-align: center; display: flex; align-items: flex-start; gap: .6rem; justify-content: center; }
.tdx-pricecard__avail i { color: var(--tdx-blue); margin-top: .2rem; }

.tdx-glance {
	background: var(--tdx-surface); border: 1px solid var(--tdx-border);
	border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow);
	padding: 3.2rem;
}
.tdx-glance__title { font-family: var(--tdx-head); font-size: 2.6rem; font-weight: 600; padding-bottom: 1.6rem; margin-bottom: 1.6rem; border-bottom: 1px solid var(--tdx-border); }
.tdx-glance__list { list-style: none; margin: 0 0 2.4rem; padding: 0; display: flex; flex-direction: column; gap: 1.6rem; }
.tdx-glance__list li { display: grid; grid-template-columns: 2.4rem 1fr auto; align-items: center; gap: 1rem; font-size: 1.4rem; }
.tdx-glance__list i, .tdx-glance__list .sonadv-ic { color: var(--tdx-green); }
.tdx-glance__label { color: var(--tdx-text-2); }
.tdx-glance__value { font-weight: 600; text-align: right; }
.tdx-glance .tdx-btn { margin-bottom: 1rem; }
.tdx-glance__avail { font-size: 1.25rem; color: var(--tdx-text-2); margin-top: 1rem; text-align: center; }

/* ═══ 4. HIGHLIGHTS ═══ */
.tdx-highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4rem 4.8rem; }
.tdx-highlight__icon { width: 5.2rem; height: 5.2rem; border-radius: 999px; background: rgba(62,119,94,.12); color: var(--tdx-green); display: grid; place-items: center; font-size: 2rem; margin-bottom: 1.6rem; }
.tdx-highlight__title { font-family: var(--tdx-head); font-size: 2.2rem; font-weight: 600; margin-bottom: .6rem; }
.tdx-highlight__text { font-size: 1.45rem; line-height: 1.6; color: var(--tdx-text-2); }

/* ═══ 5. INCLUSIONS ═══ */
.tdx-inclusions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3.2rem; }
.tdx-incl-card { background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow); padding: 3.4rem 3.6rem; }
.tdx-incl-card__title { font-family: var(--tdx-head); font-size: 2.6rem; font-weight: 600; margin-bottom: 2rem; display: flex; align-items: center; gap: 1rem; }
.tdx-incl-card__icon--yes { color: var(--tdx-green); }
.tdx-incl-card__icon--no { color: var(--tdx-rose); }
.tdx-incl-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.2rem; }
.tdx-incl-list li { font-size: 1.5rem; padding-left: 2.8rem; position: relative; color: var(--tdx-text); }
/* Bullets: Lucide SVG vía mask-image (sin dependencia de Font Awesome) */
.tdx-incl-list li::before {
	content: ''; position: absolute; left: 0; top: 0.2em;
	width: 1.5rem; height: 1.5rem; flex: none;
	background-color: currentColor;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-size: contain; mask-size: contain;
}
/* check (Lucide circle-check) */
.tdx-incl-list--yes li::before { color: var(--tdx-green); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
/* x (Lucide circle-x) */
.tdx-incl-list--no li::before { color: var(--tdx-rose); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E"); }
/* Recommendations (icono neutral) */
.tdx-incl-card--recs { max-width: 76rem; margin-inline: auto; }
.tdx-incl-card__icon--rec { color: var(--tdx-blue); }
/* chevron-right (Lucide) */
.tdx-incl-list--rec li::before { color: var(--tdx-blue); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E"); }
.tdx-incl-list--rec li { color: var(--tdx-text-2); }

/* ═══ 6. ITINERARY (dentro de la columna principal del overview) ═══ */
.tdx-itinerary { margin-top: 6rem; padding-top: 5rem; border-top: 1px solid var(--tdx-border); }
.tdx-itinerary__head { margin-bottom: 3.6rem; }
.tdx-itinerary__head .tdx-h2 { font-size: clamp(2.8rem, 3.4vw, 3.6rem); }
.tdx-timeline { max-width: none; margin-inline: 0; }
.tdx-day { display: grid; grid-template-columns: 5.6rem 1fr; gap: 2.4rem; }
.tdx-day__rail { display: flex; flex-direction: column; align-items: center; }
.tdx-day__badge { width: 4.8rem; height: 4.8rem; border-radius: 999px; background: var(--son-grad-burgundy-135, linear-gradient(135deg,#752632,#AF4462)); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 1.7rem; flex-shrink: 0; }
.tdx-day__line { width: 2px; flex: 1; background: var(--tdx-border); margin: .8rem 0; }
.tdx-day__card { background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow); margin-bottom: 2.4rem; overflow: hidden; }
.tdx-day__head { width: 100%; background: none; border: none; cursor: pointer; padding: 2.4rem 2.8rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; text-align: left; }
.tdx-day__num { display: block; font-size: 1.2rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--tdx-green); margin-bottom: .3rem; }
.tdx-day__title { font-family: var(--tdx-head); font-size: 2.2rem; font-weight: 600; color: var(--tdx-text); }
.tdx-day__chev { color: var(--tdx-text-2); transition: transform .3s ease; flex-shrink: 0; }
.tdx-day--open .tdx-day__chev { transform: rotate(180deg); }
.tdx-day__body { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.tdx-day--open .tdx-day__body { max-height: 300rem; }
.tdx-day__body > * { padding-inline: 2.8rem; }
.tdx-day__desc { font-size: 1.5rem; line-height: 1.7; color: var(--tdx-text-2); padding-bottom: 1.8rem; }
.tdx-day__meta { display: flex; flex-wrap: wrap; gap: 2.8rem; padding-bottom: 2rem; }
.tdx-day__metaitem { font-size: 1.35rem; font-weight: 600; color: var(--tdx-text); display: inline-flex; align-items: center; gap: .8rem; }
.tdx-day__metaitem i, .tdx-day__metaitem .sonadv-ic { color: var(--tdx-green); }
.tdx-day__photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; padding-bottom: 2.8rem !important; }
.tdx-day__photos img { width: 100%; height: 16rem; object-fit: cover; border-radius: 1.4rem; }
.tdx-day__photo { padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 1.4rem; overflow: hidden; display: block; }
.tdx-day__photo img { display: block; transition: transform .3s ease; }
.tdx-day__photo:hover img, .tdx-day__photo:focus-visible img { transform: scale(1.05); }
.gallery-lightbox__prev svg, .gallery-lightbox__next svg { width: 2.4rem; height: 2.4rem; }

/* ═══ 7. MAP ═══ */
.tdx-map { border-radius: var(--tdx-radius); overflow: hidden; box-shadow: var(--tdx-shadow); border: 1px solid var(--tdx-border); }
.tdx-map img { width: 100%; height: auto; display: block; }

/* ═══ 8. PRICING ═══ */
.tdx-pricing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.8rem; align-items: start; }
.tdx-pricing--single { grid-template-columns: minmax(0, 42rem); justify-content: center; }
.tdx-price-card { position: relative; background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow); padding: 3.6rem; display: flex; flex-direction: column; gap: 2rem; }
.tdx-price-card--featured { border: 2px solid var(--tdx-burgundy); transform: scale(1.04); }
.tdx-price-card__ribbon { position: absolute; top: -1.4rem; left: 50%; transform: translateX(-50%); background: var(--tdx-grad); color: #fff; font-size: 1.1rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: .7rem 1.6rem; border-radius: 999px; display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
.tdx-price-card__tier { font-size: 1.3rem; font-weight: 600; letter-spacing: .15em; color: var(--tdx-green); }
.tdx-price-card__price { display: flex; align-items: baseline; gap: .8rem; }
.tdx-price-card__price strong { font-family: var(--tdx-head); font-size: 5.4rem; font-weight: 600; line-height: 1; color: var(--tdx-text); }
.tdx-price-card__price span { font-size: 1.4rem; color: var(--tdx-text-2); }
.tdx-price-card__feats { list-style: none; margin: 0; padding: 1.6rem 0; border-top: 1px solid var(--tdx-border); display: flex; flex-direction: column; gap: 1.2rem; flex: 1; }
.tdx-price-card__feats li { font-size: 1.4rem; display: flex; align-items: flex-start; gap: 1rem; color: var(--tdx-text); }
.tdx-price-card__feats i { color: var(--tdx-green); margin-top: .3rem; }

/* ═══ 9. FAQ ═══ */
.tdx-faq { display: flex; flex-direction: column; gap: 1.6rem; }
.tdx-faq__item { background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: 1.4rem; overflow: hidden; }
.tdx-faq__q { width: 100%; background: none; border: none; cursor: pointer; padding: 2.2rem 2.6rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; text-align: left; font-size: 1.7rem; font-weight: 600; color: var(--tdx-text); }
.tdx-faq__icon { color: var(--tdx-burgundy); transition: transform .3s ease; flex-shrink: 0; }
.tdx-faq__item--open .tdx-faq__icon { transform: rotate(45deg); }
.tdx-faq__a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.tdx-faq__item--open .tdx-faq__a { max-height: 100rem; }
.tdx-faq__a p { padding: 0 2.6rem 2.4rem; font-size: 1.5rem; line-height: 1.7; color: var(--tdx-text-2); }

/* ═══ 10. RELATED ═══ */
.tdx-related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.8rem; }
.tdx-rel-card { background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.tdx-rel-card:hover { transform: translateY(-4px); box-shadow: 0 1.8rem 4rem rgba(16,32,45,.2); }
.tdx-rel-card__img { display: block; height: 22rem; overflow: hidden; }
.tdx-rel-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tdx-rel-card:hover .tdx-rel-card__img img { transform: scale(1.06); }
.tdx-rel-card__body { padding: 2.4rem; }
.tdx-rel-card__dur { font-size: 1.25rem; color: var(--tdx-text-2); display: inline-flex; align-items: center; gap: .5rem; margin-bottom: .8rem; }
.tdx-rel-card__title { font-family: var(--tdx-head); font-size: 2.2rem; font-weight: 600; margin-bottom: 1.4rem; }
.tdx-rel-card__title a { color: var(--tdx-text); text-decoration: none; }
.tdx-rel-card__title a:hover { color: var(--tdx-burgundy); }
.tdx-rel-card__footer { display: flex; align-items: center; justify-content: space-between; }
.tdx-rel-card__price { font-weight: 700; color: var(--tdx-text); }
.tdx-rel-card__link { font-size: 1.35rem; font-weight: 600; color: var(--tdx-burgundy); text-decoration: none; }

/* ═══ 11. INQUIRY ═══ */
.tdx-inquiry { background: var(--son-grad-inquiry, linear-gradient(115deg,#1F4768,#3E775E)); color: #fff; padding: 9rem 0; }
.tdx-inquiry__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.tdx-inquiry__title { font-family: var(--tdx-head); font-size: clamp(3.4rem, 4.5vw, 5.2rem); font-weight: 600; line-height: 1.05; margin-bottom: 1.8rem; }
.tdx-inquiry__lead { font-size: 1.7rem; line-height: 1.6; color: rgba(255,255,255,.9); margin-bottom: 2.8rem; max-width: 48ch; }
.tdx-inquiry__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.4rem; }
.tdx-inquiry__contact li { display: flex; align-items: center; gap: 1.2rem; font-size: 1.5rem; }
.tdx-inquiry__contact i { color: var(--son-accent-green, #B4D882); width: 2rem; }
.tdx-inquiry__contact a { color: #fff; text-decoration: none; }
.tdx-inquiry__contact a:hover { text-decoration: underline; }
.tdx-inquiry__form { background: var(--tdx-surface); border-radius: var(--tdx-radius); box-shadow: 0 2rem 5rem rgba(16,32,45,.3); padding: 4rem; color: var(--tdx-text); }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
	.tdx-section { padding: 7rem 0; }
	.tdx-overview { grid-template-columns: 1fr; }
	.tdx-side { position: static; max-width: 50rem; }
	.tdx-highlights { grid-template-columns: repeat(2, 1fr); }
	.tdx-pricing { grid-template-columns: 1fr; max-width: 46rem; margin-inline: auto; }
	.tdx-price-card--featured { transform: none; }
	.tdx-related { grid-template-columns: repeat(2, 1fr); }
	.tdx-inquiry__inner { grid-template-columns: 1fr; gap: 4rem; }
}
@media (max-width: 680px) {
	.tdx-container, .tdx-hero__inner, .tdx-statsbar-wrap { padding-inline: 2rem; }
	.tdx-hero { min-height: 70vh; }
	.tdx-hero__chips { gap: 2rem; }
	.tdx-statsbar { flex-direction: column; gap: 1.8rem; padding: 2.4rem; }
	.tdx-statsbar__item { min-width: 0; }
	.tdx-hero__nav { display: none; }
	.tdx-inclusions, .tdx-highlights, .tdx-related { grid-template-columns: 1fr; }
	.tdx-day { grid-template-columns: 4rem 1fr; gap: 1.4rem; }
	.tdx-day__badge { width: 4rem; height: 4rem; font-size: 1.5rem; }
	.tdx-inquiry__form { padding: 2.6rem; }
}


/* =============================================================
   TOUR CATEGORY (taxonomy) — diseño Pencil. Prefijo .tcx
   Reusa los tokens y .tdx-* (chip, eyebrow, h2, btn).
   ============================================================= */
.tcx {
	--tdx-burgundy: var(--son-deep-burgundy, #752632);
	--tdx-rose: var(--son-rose-red, #AF4462);
	--tdx-green: var(--son-secondary-green, #3E775E);
	--tdx-bg: var(--son-background, #F8F8F5);
	--tdx-surface: var(--son-surface, #FFFFFF);
	--tdx-text: var(--son-text, #10202D);
	--tdx-text-2: var(--son-text-secondary, #4A5A66);
	--tdx-border: var(--son-border-subtle, #E4E4DD);
	--tdx-grad: var(--son-grad-burgundy, linear-gradient(0deg,#752632,#AF4462));
	--tdx-radius: var(--son-radius-card, 2rem);
	--tdx-shadow: var(--son-shadow-card, 0 1.2rem 3rem rgba(16,32,45,.14));
	--tdx-head: var(--son-font-heading, 'Cormorant Garamond', serif);
	--tdx-body: 'Inter', 'Noto Sans', sans-serif;
	background: var(--tdx-bg); color: var(--tdx-text); font-family: var(--tdx-body);
}
.tcx-container { max-width: 120rem; margin-inline: auto; padding-inline: 4rem; }

/* Hero */
.tcx-hero { position: relative; min-height: 58vh; background-size: cover; background-position: center; display: flex; align-items: flex-end; color: #fff; }
.tcx-hero__scrim { position: absolute; inset: 0; background: var(--son-scrim-hero, linear-gradient(180deg, rgba(16,32,45,.7) 0%, rgba(16,32,45,.35) 40%, rgba(16,32,45,.92) 100%)); }
.tcx-hero__inner { position: relative; z-index: 1; max-width: 120rem; width: 100%; margin-inline: auto; padding: 0 4rem 5rem; }
.tcx-hero__eyebrow { font-size: 1.3rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--son-accent-green, #B4D882); margin-bottom: 1.4rem; }
.tcx-hero__title { font-family: var(--tdx-head); font-size: clamp(4.2rem, 6vw, 7rem); font-weight: 600; line-height: 1; margin-bottom: 1.6rem; }
.tcx-hero__lead { font-size: 1.8rem; line-height: 1.55; color: rgba(255,255,255,.88); max-width: 56ch; margin-bottom: 2.6rem; }
.tcx-hero__chips { display: flex; flex-wrap: wrap; gap: 3.2rem; }

/* Intro */
.tcx-intro { padding: 9rem 4rem; background: var(--tdx-bg); }
.tcx-intro__inner { max-width: 86rem; margin-inline: auto; text-align: center; }
.tcx-intro__lead { font-family: var(--tdx-head); font-size: clamp(2.4rem, 3vw, 3.4rem); font-weight: 500; line-height: 1.3; color: var(--tdx-text); margin-bottom: 2rem; }
.tcx-intro__body { font-size: 1.6rem; line-height: 1.7; color: var(--tdx-text-2); max-width: 70ch; margin: 0 auto; }

/* Filter bar */
.tcx-grid-section { padding: 4rem 0 10rem; }
.tcx-filterbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.6rem; background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: 1.6rem; box-shadow: 0 .8rem 2.4rem rgba(16,32,45,.08); padding: 1.6rem 2rem; margin-bottom: 4rem; }
.tcx-filterbar__filters { display: flex; gap: 1.2rem; }
.tcx-filter, .tcx-sort { display: inline-flex; align-items: center; gap: .8rem; border: 1px solid var(--tdx-border); border-radius: 999px; padding: .4rem 1.4rem; font-size: 1.4rem; }
.tcx-filter > span { color: var(--tdx-text-2); }
.tcx-filter select, .tcx-sort select { border: none; background: none; font-family: inherit; font-size: 1.4rem; font-weight: 600; color: var(--tdx-text); cursor: pointer; outline: none; padding: .4rem 0; }
.tcx-filterbar__right { display: flex; align-items: center; gap: 2.2rem; }
.tcx-filterbar__count { font-size: 1.4rem; color: var(--tdx-text-2); }
.tcx-sort i { color: var(--tdx-text-2); }

/* Tour grid + card (TourGridCard) */
.tcx-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.2rem; }
.tcx-card { background: var(--tdx-surface); border: 1px solid var(--tdx-border); border-radius: var(--tdx-radius); box-shadow: var(--tdx-shadow); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.tcx-card:hover { transform: translateY(-5px); box-shadow: 0 2rem 4.4rem rgba(16,32,45,.2); }
.tcx-card__img { display: block; position: relative; height: 23rem; overflow: hidden; }
.tcx-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.tcx-card:hover .tcx-card__img img { transform: scale(1.06); }
.tcx-card__img-ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #1F4768, #3E775E); }
.tcx-card__top { position: absolute; inset: 1.4rem 1.4rem auto 1.4rem; display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.tcx-card__dur { background: rgba(16,32,45,.8); color: #fff; font-size: 1.15rem; font-weight: 600; padding: .6rem 1.1rem; border-radius: 999px; backdrop-filter: blur(8px); display: inline-flex; align-items: center; gap: .5rem; }
.tcx-card__diff { background: rgba(180,216,130,.92); color: #2a3d18; font-size: 1.15rem; font-weight: 700; padding: .6rem 1.1rem; border-radius: 999px; }
/* Colores por nivel de dificultad (Pencil): fácil/moderado = verde, exigente = terracota */
.tcx-card__diff--easy     { background: rgba(180,216,130,.92); color: #2a3d18; }
.tcx-card__diff--moderate { background: rgba(180,216,130,.92); color: #2a3d18; }
.tcx-card__diff--hard     { background: rgba(216,150,116,.95); color: #4a2418; }
/* Badge (Best Seller, Premium…) — chip flotante abajo-izquierda de la imagen */
.tcx-card__badge { position: absolute; left: 1.4rem; bottom: 1.4rem; z-index: 2; background: linear-gradient(90deg, var(--son-deep-burgundy, #752632), var(--son-rose-red, #AF4462)); color: #fff; font-size: 1.1rem; font-weight: 700; letter-spacing: .04em; padding: .6rem 1.3rem; border-radius: 999px; box-shadow: 0 .4rem 1.2rem rgba(117,38,50,.35); }
.tcx-card__body { padding: 2.2rem 2.4rem 2.4rem; display: flex; flex-direction: column; gap: 1rem; flex: 1; }
.tcx-card__title { font-family: var(--tdx-head); font-size: 2.4rem; font-weight: 600; line-height: 1.1; }
.tcx-card__title a { color: var(--tdx-text); text-decoration: none; }
.tcx-card__title a:hover { color: var(--tdx-burgundy); }
.tcx-card__desc { font-size: 1.4rem; line-height: 1.5; color: var(--tdx-text-2); flex: 1; }
.tcx-card__meta { display: flex; align-items: center; justify-content: space-between; padding-top: 1.4rem; border-top: 1px solid var(--tdx-border); margin-top: .4rem; }
.tcx-card__price { font-size: 1.4rem; color: var(--tdx-text-2); }
.tcx-card__price span { font-size: 1.2rem; }
.tcx-card__price strong { font-family: var(--tdx-head); font-size: 2.2rem; color: var(--tdx-text); }
.tcx-card__link { font-size: 1.35rem; font-weight: 600; color: var(--tdx-burgundy); text-decoration: none; white-space: nowrap; }
.tcx-empty { text-align: center; font-size: 1.6rem; color: var(--tdx-text-2); padding: 4rem 0; }
.tcx-pagination { display: flex; justify-content: center; gap: 1rem; margin-top: 5rem; }
.tcx-pagination a, .tcx-pagination span { padding: .8rem 1.4rem; border: 1px solid var(--tdx-border); border-radius: .8rem; text-decoration: none; color: var(--tdx-text); font-size: 1.4rem; }
.tcx-pagination .current { background: var(--tdx-burgundy); color: #fff; border-color: var(--tdx-burgundy); }

/* Why Choose */
.tcx-why { padding: 10rem 0; background: var(--tdx-surface); }
.tcx-why__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.tcx-why__img { border-radius: 2.4rem; min-height: 48rem; background-size: cover; background-position: center; box-shadow: var(--tdx-shadow); background-color: #1F4768; }
.tcx-why__lead { font-size: 1.7rem; line-height: 1.6; color: var(--tdx-text-2); margin: 1.6rem 0 2.8rem; }
.tcx-why__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2rem; }
.tcx-why__list li { display: grid; grid-template-columns: 4.6rem 1fr; gap: 1.6rem; align-items: start; }
/* Badge circular verde claro alrededor del icono (Pencil) */
.tcx-why__ic { width: 4.6rem; height: 4.6rem; border-radius: 999px; background: rgba(62,119,94,.12); display: grid; place-items: center; flex-shrink: 0; }
.tcx-why__ic .sonadv-ic { width: 2.1rem; height: 2.1rem; color: var(--tdx-green); }
.tcx-why__list i { width: 4.6rem; height: 4.6rem; border-radius: 999px; background: rgba(62,119,94,.12); color: var(--tdx-green); display: grid; place-items: center; font-size: 1.7rem; flex-shrink: 0; }
.tcx-why__list strong { display: block; font-size: 1.7rem; margin-bottom: .3rem; }
.tcx-why__list span { font-size: 1.4rem; line-height: 1.55; color: var(--tdx-text-2); }

/* Closing CTA */
.tcx-cta { padding: 9rem 0; background: var(--son-grad-inquiry, linear-gradient(115deg,#1F4768,#3E775E)); color: #fff; }
.tcx-cta__inner { text-align: center; max-width: 70rem; margin-inline: auto; }
.tcx-cta__title { font-family: var(--tdx-head); font-size: clamp(3.6rem, 5vw, 5.6rem); font-weight: 500; line-height: 1.05; margin: 1rem 0 1.6rem; }
.tcx-cta__sub { font-size: 1.7rem; line-height: 1.6; color: rgba(255,255,255,.85); margin-bottom: 3rem; }
.tcx-cta__buttons { display: flex; gap: 1.6rem; justify-content: center; flex-wrap: wrap; }

@media (max-width: 1024px) {
	.tcx-grid { grid-template-columns: repeat(2, 1fr); }
	.tcx-why__inner { grid-template-columns: 1fr; gap: 3.6rem; }
	.tcx-why__img { min-height: 32rem; }
}
@media (max-width: 680px) {
	.tcx-container, .tcx-hero__inner { padding-inline: 2rem; }
	.tcx-intro { padding: 6rem 2rem; }
	.tcx-grid { grid-template-columns: 1fr; }
	.tcx-filterbar { flex-direction: column; align-items: stretch; }
	.tcx-filterbar__right { justify-content: space-between; }
	.tcx-hero__chips { gap: 1.8rem; }
}

/* =============================================================
   BOOKING MODAL — retoque Pencil (.td-modal). Scoped, no toca components.css
   ============================================================= */
.td-modal {
	--bk-blue:    var(--son-primary-blue, #1F4768);
	--bk-green:   var(--son-secondary-green, #3E775E);
	--bk-burg:    var(--son-deep-burgundy, #752632);
	--bk-rose:    var(--son-rose-red, #AF4462);
	--bk-bg:      var(--son-background, #F8F8F5);
	--bk-text:    var(--son-text, #10202D);
	--bk-text-2:  var(--son-text-secondary, #4A5A66);
	--bk-border:  var(--son-border-subtle, #E4E4DD);
	--bk-head:    var(--son-font-heading, 'Cormorant Garamond', serif);
}
.td-modal__overlay { background: rgba(16,32,45,.6); backdrop-filter: blur(6px); }
.td-modal__box {
	border-radius: 2.4rem;
	padding: 4rem;
	width: min(94vw, 600px);
	box-shadow: 0 3rem 8rem rgba(16,32,45,.3);
	border: 1px solid var(--bk-border);
}
.td-modal__close {
	top: 1.8rem; right: 1.8rem;
	width: 3.6rem; height: 3.6rem;
	display: grid; place-items: center;
	border-radius: 999px;
	background: var(--bk-bg);
	font-size: 1.8rem;
	color: var(--bk-text-2);
	transition: background .2s ease, color .2s ease;
}
.td-modal__close:hover { background: var(--bk-burg); color: #fff; }
.td-modal h3 {
	font-family: var(--bk-head);
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1.1;
	margin-bottom: .4rem;
	color: var(--bk-text);
	padding-right: 4rem;
}
.td-modal__sub {
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--bk-green);
	letter-spacing: .04em;
	margin-bottom: 2.4rem;
}

/* Form dentro del modal — overrides Pencil */
.td-modal .form { gap: 2rem; }
.td-modal .form__row { gap: 2rem; }
.td-modal .form__label {
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--bk-text);
	margin-bottom: .2rem;
}
.td-modal .form__input,
.td-modal .form__textarea,
.td-modal .form__select {
	font-family: 'Inter', sans-serif;
	font-size: 1.5rem;
	padding: 1.4rem 1.6rem;
	border: 1px solid var(--bk-border);
	border-radius: 1.2rem;
	background: var(--bk-bg);
	color: var(--bk-text);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.td-modal .form__input::placeholder,
.td-modal .form__textarea::placeholder { color: var(--bk-text-2); opacity: .7; }
.td-modal .form__input:focus,
.td-modal .form__textarea:focus,
.td-modal .form__select:focus {
	outline: none;
	border-color: var(--bk-green);
	box-shadow: 0 0 0 3px rgba(62,119,94,.12);
}
.td-modal .form__textarea { min-height: 11rem; resize: vertical; }
.td-modal .btn--primary {
	background: var(--bk-blue);
	border-radius: 100px;
	padding: 1.8rem 2rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .06em;
	box-shadow: 0 1rem 2.4rem rgba(31,71,104,.25);
	transition: transform .2s ease, box-shadow .2s ease;
	margin-top: .6rem;
}
.td-modal .btn--primary:hover { transform: translateY(-2px); box-shadow: 0 1.4rem 3rem rgba(31,71,104,.35); }
.td-modal .form__response {
	padding: 1.4rem 1.8rem;
	border-radius: 1.2rem;
	font-size: 1.45rem;
	font-weight: 500;
	margin-bottom: 1.6rem;
}
.td-modal .form__response--ok { background: rgba(62,119,94,.12); color: var(--bk-green); }
.td-modal .form__response--error { background: rgba(117,38,50,.1); color: var(--bk-burg); }

@media (max-width: 560px) {
	.td-modal__box { padding: 2.8rem 2rem; border-radius: 2rem; }
	.td-modal h3 { font-size: 2.6rem; }
	.td-modal .form__row { grid-template-columns: 1fr; }
}
