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

.tdx {
	--tdx-burgundy: var(--son-deep-burgundy, #8A6632);
	--tdx-rose:     var(--son-rose-red, #AA7E42);
	--tdx-green:    var(--son-secondary-green, #AA7E42);
	--tdx-blue:     var(--son-primary-blue, #232B1E);
	--tdx-bg:       var(--son-background, #F4F1E4);
	--tdx-surface:  var(--son-surface, #FFFFFF);
	--tdx-text:     var(--son-text, #2A3726);
	--tdx-text-2:   var(--son-text-secondary, #6B6B52);
	--tdx-border:   var(--son-border-subtle, #D8D2BC);
	--tdx-grad:     var(--son-grad-burgundy, linear-gradient(0deg,#8A6632,#AA7E42));
	--tdx-radius:   var(--son-radius-card, 2rem);
	--tdx-shadow:   var(--son-shadow-card, 0 1.2rem 3rem rgba(27,33,23,.14));
	--tdx-head:     var(--son-font-heading, 'Cormorant Garamond', serif);
	--tdx-body:     'Inter', sans-serif;
	background: var(--tdx-bg);
	color: var(--tdx-text);
	font-family: var(--tdx-body);
}

/* ── Iconos Lucide (SVG inline, outline) ── */
.cusvib-ic { width: 1.8rem; height: 1.8rem; display: inline-block; vertical-align: middle; flex-shrink: 0; }
/* tamaños por contexto */
.tdx-chip__icon .cusvib-ic     { width: 1.9rem; height: 1.9rem; }
.tdx-statsbar__icon .cusvib-ic { width: 2rem;   height: 2rem; }
.tdx-highlight__icon .cusvib-ic{ width: 2.4rem; height: 2.4rem; }
.tdx-day__metaitem .cusvib-ic  { width: 1.7rem; height: 1.7rem; }
.tdx-day__chev.cusvib-ic       { width: 2.2rem; height: 2.2rem; }
.tdx-faq__icon.cusvib-ic       { width: 2rem;   height: 2rem; }
.tdx-incl-card__title .cusvib-ic { width: 2.4rem; height: 2.4rem; vertical-align: -.4rem; }
.tdx-btn .cusvib-ic            { width: 1.7rem; height: 1.7rem; }
.tdx-pricecard__ribbon .cusvib-ic { width: 1.4rem; height: 1.4rem; }
.tdx-pricecard__avail .cusvib-ic, .tdx-rel-card__dur .cusvib-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, #D1B178); }
.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(27,33,23,.7) 0%, rgba(27,33,23,.35) 40%, rgba(27,33,23,.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;
}
/* Pills de categoría (Pencil) */
.tdx-hero__pills { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.2rem; }
.tdx-pill {
	font-family: 'Inter', sans-serif; font-size: 1.2rem; font-weight: 600; letter-spacing: .12em;
	padding: .8rem 1.8rem; border-radius: 999px; line-height: 1;
}
.tdx-pill--solid { background: var(--cv-gold, #AA7E42); color: #fff; }
.tdx-pill--ghost { background: transparent; color: var(--cv-cream, #F7F4C1); border: 1.5px solid rgba(247,244,193,.5); }
.tdx-hero__title {
	font-family: var(--tdx-head);
	font-size: clamp(4.2rem, 6.5vw, 8rem);
	font-weight: 600; line-height: .98;
	color: var(--cv-cream, #F7F4C1);
	max-width: 18ch; margin-bottom: 2rem;
}
.tdx-hero__sub {
	font-size: 1.9rem; line-height: 1.5;
	max-width: 55ch; color: rgba(247,244,193,.85); margin-bottom: 2.4rem;
}
.tdx-hero__rating { display: flex; align-items: center; gap: 1.2rem; }
.tdx-hero__stars { display: inline-flex; gap: .3rem; color: var(--cv-gold-light, #D1B178); }
.tdx-hero__stars .cusvib-ic { width: 1.7rem; height: 1.7rem; fill: currentColor; }
.tdx-hero__rating-text { font-family: 'Inter', sans-serif; font-size: 1.4rem; color: rgba(247,244,193,.85); }

/* ═══ 2. STATS BAR (barra oscura full-width, Pencil) ═══ */
.tdx-statsbar-wrap { background: var(--cv-forest, #232B1E); }
.tdx-statsbar {
	max-width: 131.2rem; margin-inline: auto;
	display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2rem;
	padding: 2.6rem 4rem;
}
.tdx-statsbar__item { display: flex; align-items: center; gap: 1.4rem; flex: 1; min-width: 18rem; }
.tdx-statsbar__icon { color: var(--cv-gold-light, #D1B178); display: grid; place-items: center; flex-shrink: 0; }
.tdx-statsbar__icon .cusvib-ic { width: 2.2rem; height: 2.2rem; }
.tdx-statsbar__text { display: flex; flex-direction: column; gap: .3rem; }
.tdx-statsbar__label { font-family: 'Inter', sans-serif; font-size: 1.15rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cv-muted-dark, #B8B89C); }
.tdx-statsbar__value { font-family: var(--tdx-head); font-size: 2rem; font-weight: 600; color: var(--cv-cream, #F7F4C1); }

/* ═══ 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); font-weight: 600; line-height: 1.1; margin: 3.2rem 0 1.4rem; }
.tdx-prose h2 { font-size: clamp(2.8rem, 3.4vw, 3.6rem); }
.tdx-prose h3 { font-size: 2.4rem; }
.tdx-prose h2 img, .tdx-prose h3 img { display: none; }
.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 */
/* Price card oscura (Pencil) */
.tdx-pricecard {
	background: var(--cv-forest, #232B1E);
	border-radius: 2.4rem;
	box-shadow: 0 2rem 5rem rgba(27,33,23,.18);
	overflow: hidden;
}
.tdx-pricecard__top { padding: 3.2rem 3.2rem 2.8rem; }
.tdx-pricecard__tier { font-family: 'Inter', sans-serif; font-size: 1.25rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--cv-gold-light, #D1B178); margin: 0 0 1.4rem; }
.tdx-pricecard__price { display: flex; align-items: baseline; gap: 1rem; }
.tdx-pricecard__price strong { font-family: var(--tdx-head); font-size: 6rem; font-weight: 600; line-height: .9; color: var(--cv-cream, #F7F4C1); }
.tdx-pricecard__old { font-family: 'Inter', sans-serif; font-size: 1.9rem; color: var(--cv-muted-dark, #B8B89C); text-decoration: line-through; }
.tdx-pricecard__note { font-family: 'Inter', sans-serif; font-size: 1.4rem; color: var(--cv-muted-dark, #B8B89C); margin: 1.2rem 0 0; }
.tdx-pricecard__rows { padding: 2.4rem 3.2rem; border-top: 1px solid var(--cv-hairline, #4A5240); border-bottom: 1px solid var(--cv-hairline, #4A5240); display: flex; flex-direction: column; gap: 1.4rem; }
.tdx-pricecard__row { display: flex; justify-content: space-between; align-items: center; gap: 1.6rem; font-family: 'Inter', sans-serif; font-size: 1.5rem; }
.tdx-pricecard__row span { color: var(--cv-muted-dark, #B8B89C); }
.tdx-pricecard__row strong { color: var(--cv-cream, #F7F4C1); font-weight: 600; }
.tdx-pricecard__cta { padding: 2.8rem 3.2rem 0; display: flex; flex-direction: column; gap: 1.4rem; }
.tdx-pricecard__btn { display: inline-flex; align-items: center; justify-content: center; padding: 1.6rem 2rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-size: 1.6rem; font-weight: 700; line-height: 1; cursor: pointer; text-decoration: none; transition: transform .2s ease, background .2s ease; border: none; }
.tdx-pricecard__btn--solid { background: var(--cv-gold, #AA7E42); color: var(--cv-forest, #232B1E); }
.tdx-pricecard__btn--solid:hover { background: var(--cv-gold-light, #D1B178); transform: translateY(-2px); }
.tdx-pricecard__btn--ghost { background: transparent; color: var(--cv-gold-light, #D1B178); border: 1.5px solid rgba(209,177,120,.55); }
.tdx-pricecard__btn--ghost:hover { background: rgba(209,177,120,.1); }
.tdx-pricecard__foot { font-family: 'Inter', sans-serif; font-size: 1.3rem; color: var(--cv-muted-dark, #B8B89C); text-align: center; padding: 1.8rem 3.2rem 3.2rem; margin: 0; }


/* ═══ 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); }

/* ═══ RECOMMENDATIONS (reusa la card; antes compartida con Inclusions) ═══ */
.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-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;
}
/* 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,#8A6632,#AA7E42)); 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 .cusvib-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; }

/* ═══ 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(27,33,23,.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; }


/* ═══ 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); }
}
@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-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; }
}


/* =============================================================
   TOUR CATEGORY (taxonomy) — diseño Pencil. Prefijo .tcx
   Reusa los tokens y .tdx-* (chip, eyebrow, h2, btn).
   ============================================================= */
.tcx {
	--tdx-burgundy: var(--son-deep-burgundy, #8A6632);
	--tdx-rose: var(--son-rose-red, #AA7E42);
	--tdx-green: var(--son-secondary-green, #AA7E42);
	--tdx-bg: var(--son-background, #F4F1E4);
	--tdx-surface: var(--son-surface, #FFFFFF);
	--tdx-text: var(--son-text, #2A3726);
	--tdx-text-2: var(--son-text-secondary, #6B6B52);
	--tdx-border: var(--son-border-subtle, #D8D2BC);
	--tdx-grad: var(--son-grad-burgundy, linear-gradient(0deg,#8A6632,#AA7E42));
	--tdx-radius: var(--son-radius-card, 2rem);
	--tdx-shadow: var(--son-shadow-card, 0 1.2rem 3rem rgba(27,33,23,.14));
	--tdx-head: var(--son-font-heading, 'Cormorant Garamond', serif);
	--tdx-body: 'Inter', 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(27,33,23,.7) 0%, rgba(27,33,23,.35) 40%, rgba(27,33,23,.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, #D1B178); 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(27,33,23,.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(27,33,23,.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, #232B1E, #AA7E42); }
.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(27,33,23,.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, #8A6632), var(--son-rose-red, #AA7E42)); 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: #232B1E; }
.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 .cusvib-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,#232B1E,#AA7E42)); 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__filters { flex-direction: column; gap: 1rem; }
	.tcx-filter, .tcx-sort { width: 100%; justify-content: space-between; }
	.tcx-filter select, .tcx-sort select { flex: 1; min-width: 0; }
	.tcx-filterbar__right { justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
	.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, #232B1E);
	--bk-green:   var(--son-secondary-green, #AA7E42);
	--bk-burg:    var(--son-deep-burgundy, #8A6632);
	--bk-rose:    var(--son-rose-red, #AA7E42);
	--bk-bg:      var(--son-background, #F4F1E4);
	--bk-text:    var(--son-text, #2A3726);
	--bk-text-2:  var(--son-text-secondary, #6B6B52);
	--bk-border:  var(--son-border-subtle, #D8D2BC);
	--bk-head:    var(--son-font-heading, 'Cormorant Garamond', serif);
}
.td-modal__overlay { background: rgba(27,33,23,.6); backdrop-filter: blur(6px); }
.td-modal__box {
	border-radius: 2.4rem;
	padding: 4rem;
	width: min(94vw, 600px);
	box-shadow: 0 3rem 8rem rgba(27,33,23,.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; }
}

/* ── Acordeón nativo WP como timeline desglosable (diseño Pencil; contenido WP) ── */
.tdx-prose .wp-block-accordion { display: block; margin: 2.4rem 0; counter-reset: tdx-day; padding-left: 6.4rem; }
.tdx-prose .wp-block-accordion-item {
	position: relative; counter-increment: tdx-day;
	background: transparent; border: none; border-radius: 0;
	padding-bottom: 3.2rem;
}
/* Rail: línea vertical conectora */
.tdx-prose .wp-block-accordion-item::before {
	content: ''; position: absolute; left: -4rem; top: 4.4rem; bottom: -.4rem;
	width: 2px; background: var(--cv-hairline-light, #D8D2BC);
}
.tdx-prose .wp-block-accordion-item:last-child::before { display: none; }
/* Badge: círculo numerado */
.tdx-prose .wp-block-accordion-item::after {
	content: counter(tdx-day); position: absolute; left: -5.6rem; top: .4rem;
	width: 3.6rem; height: 3.6rem; border-radius: 999px;
	background: var(--cv-forest, #232B1E); color: var(--cv-gold-light, #D1B178);
	font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.7rem; font-weight: 600;
	display: grid; place-items: center; z-index: 1;
}
.tdx-prose .wp-block-accordion-heading { margin: 0; }
/* Toggle: muestra "DAY 0X" (counter) + título; cerrado = solo esta fila */
.tdx-prose .wp-block-accordion-heading__toggle {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 1.6rem;
	width: 100%; text-align: left; cursor: pointer;
	padding: 0 0 .4rem; background: transparent; border: none;
}
.tdx-prose .wp-block-accordion-heading__toggle-title {
	flex: 1;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 2.4rem; font-weight: 600; line-height: 1.15;
	color: var(--cv-dark-text, #2A3726);
	transition: color .2s ease;
}
.tdx-prose .wp-block-accordion-heading__toggle-title::before {
	content: 'DAY ' counter(tdx-day, decimal-leading-zero);
	display: block; margin-bottom: .6rem;
	font-family: 'Inter', sans-serif; font-size: 1.2rem; font-weight: 600; letter-spacing: .14em;
	color: var(--cv-gold-dark, #8A6632);
}
.tdx-prose .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-title { color: var(--cv-gold-dark, #8A6632); }
.tdx-prose .wp-block-accordion-heading__toggle-icon {
	position: relative; flex-shrink: 0;
	width: 3.2rem; height: 3.2rem; border-radius: 999px; margin-top: 1.6rem;
	font-size: 0; color: transparent;
	background: transparent; border: 1.5px solid var(--cv-gold, #AA7E42);
	transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
/* Dibujar un "+" nítido con dos barras (rota a "×" al abrir) */
.tdx-prose .wp-block-accordion-heading__toggle-icon::before,
.tdx-prose .wp-block-accordion-heading__toggle-icon::after {
	content: ''; position: absolute; top: 50%; left: 50%;
	width: 1.3rem; height: 2px; border-radius: 2px;
	background: var(--cv-gold-dark, #8A6632);
	transform: translate(-50%, -50%);
	transition: background .25s ease, transform .3s ease;
}
.tdx-prose .wp-block-accordion-heading__toggle-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.tdx-prose .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-icon { background: rgba(170,126,66,.12); }
/* Abierto: círculo dorado lleno, barras blancas formando "×" */
.tdx-prose .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon { background: var(--cv-gold, #AA7E42); border-color: var(--cv-gold, #AA7E42); transform: rotate(45deg); }
.tdx-prose .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon::before,
.tdx-prose .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon::after { background: #fff; }
/* Panel: colapsado por defecto, se expande con la clase is-open (Interactivity API) */
.tdx-prose .wp-block-accordion-panel { overflow: hidden; max-height: 0; opacity: 0; transition: max-height .35s ease, opacity .25s ease, padding .25s ease; }
.tdx-prose .wp-block-accordion-item.is-open .wp-block-accordion-panel { max-height: 240rem; opacity: 1; padding-top: 1.2rem; }
.tdx-prose .wp-block-accordion-panel p, .tdx-prose .wp-block-accordion-panel li { font-family: 'Inter', sans-serif; font-size: 1.5rem; line-height: 1.7; color: var(--cv-muted-light, #6B6B52); }
.tdx-prose .wp-block-accordion-panel p { margin: 0 0 1rem; }
.tdx-prose .wp-block-accordion-panel p:last-child { margin-bottom: 0; }
.tdx-prose .wp-block-accordion-panel strong { color: var(--cv-dark-text, #2A3726); }
@media (max-width: 600px) {
	.tdx-prose .wp-block-accordion { padding-left: 4.8rem; }
	.tdx-prose .wp-block-accordion-item::after { left: -4.8rem; width: 3rem; height: 3rem; font-size: 1.4rem; }
	.tdx-prose .wp-block-accordion-item::before { left: -3.3rem; }
}
