/* Ficha del tour (single-tours.php): encabezados, datos clave, texto, itinerario, incluye, equipaje.
   Piezas en inc/tour-single.php y parts/tour-itinerary.php. La tabla de precios va en tour-prices.css. */
.itinerario__content {
    --s-blue: #2e47ab; --s-navy: #0b1f33; --s-ink: #334155; --s-muted: #64748b; --s-line: #e6eaf2;
    --s-soft: #f4f7fc; --s-accent: #f7931e; --s-ok: #16a34a; --s-no: #dc2626;
    text-align: left;                                   /* .itinerary lo justificaba: espacios enormes entre palabras */
}

/* Secciones apiladas (la barra de pestañas hace scroll hasta cada una) */
.itinerario__content .tab-content-item { padding: 34px 0 30px; border-bottom: 0; border-top: 1px solid var(--s-line); }
.itinerario__content .tab-content-item:first-child { padding-top: 10px; border-top: 0; }

/* ------------------------------------------------------------------ Encabezado de sección */
.tqs-head { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; }
.tqs-head__icon { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(135deg, var(--s-blue) 0%, var(--s-navy) 100%); color: #fff; font-size: 18px; box-shadow: 0 8px 18px rgba(46, 71, 171, .22); }
.itinerario .tqs-head__title, .tqs-head__title {
    position: static; margin: 0 !important; padding: 0 !important; border: 0;
    font-family: 'Poppins', sans-serif; font-size: clamp(20px, 1.8vw, 26px); font-weight: 700; line-height: 1.2;
    letter-spacing: -.3px; text-transform: none; text-align: left; color: var(--s-navy);
}
.tqs-head__title::before, .tqs-head__title::after { content: none !important; }
.tqs-head__label { display: block; margin-bottom: 4px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--s-accent); }
.tqs-head__name { display: block; color: var(--s-navy); }

/* ------------------------------------------------------------------ Datos clave */
.tqs-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 28px !important; padding: 0 !important; list-style: none; }
.tqs-fact { display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid var(--s-line); border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(11, 31, 51, .04); list-style: none; transition: border-color .2s ease, box-shadow .2s ease; }
.tqs-fact::before, .tqs-fact::marker { content: none; }
.tqs-fact:hover { border-color: rgba(46, 71, 171, .25); box-shadow: 0 8px 20px rgba(11, 31, 51, .07); }
.tqs-fact__icon { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #fff4e6; color: var(--s-accent); font-size: 17px; }
.tqs-fact__txt { display: flex; flex-direction: column; min-width: 0; }
.tqs-fact__label { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--s-muted); }
.tqs-fact__val { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--s-navy); }
.tqs-meter { display: inline-flex; gap: 3px; margin-top: 6px; }
.tqs-meter i { width: 16px; height: 4px; border-radius: 2px; background: #e2e8f0; }
.tqs-meter[data-level="1"] i:nth-child(-n+1) { background: var(--s-ok); }
.tqs-meter[data-level="2"] i:nth-child(-n+2) { background: #eab308; }
.tqs-meter[data-level="3"] i:nth-child(-n+3) { background: var(--s-accent); }
.tqs-meter[data-level="4"] i { background: var(--s-no); }

/* ------------------------------------------------------------------ Texto del tour (resumen, precios) */
.tqs-prose { font-size: 15.5px; line-height: 1.75; color: var(--s-ink); text-align: left; }
.tqs-prose p { margin: 0 0 14px; line-height: 1.75; }
.itinerario .tqs-prose :is(h2, h3, h4, h5):not([class]) {
    position: static; margin: 30px 0 12px; padding: 0 !important; border: 0;
    font-family: 'Poppins', sans-serif; font-weight: 700; line-height: 1.3; letter-spacing: -.2px;
    text-transform: none; text-align: left; color: var(--s-navy);
}
.itinerario .tqs-prose h2:not([class]) { font-size: 22px; }
.itinerario .tqs-prose h3:not([class]) { font-size: 19px; }
.itinerario .tqs-prose :is(h4, h5):not([class]) { font-size: 17px; color: var(--s-blue); }
.itinerario .tqs-prose :is(h2, h3, h4, h5):not([class]) strong { font-weight: inherit; }
.tqs-prose > :first-child { margin-top: 0 !important; }
.tqs-prose ul:not([class]) { margin: 0 0 16px; padding: 0; list-style: none; }
.tqs-prose ul:not([class]) > li { position: relative; margin: 0 0 8px; padding-left: 22px; list-style: none; }
.tqs-prose ul:not([class]) > li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--s-accent); }
.tqs-prose ol:not([class]) { margin: 0 0 16px; padding-left: 22px; }
.tqs-prose a:not([class]) { color: var(--s-blue); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(46, 71, 171, .3); text-underline-offset: 3px; }
.tqs-prose a:not([class]):hover { text-decoration-color: currentColor; }
.tqs-prose strong { color: var(--s-navy); font-weight: 700; }
.tqs-prose img { max-width: 100%; height: auto; border-radius: 12px; box-shadow: none; }
.tqs-prose img.alignleft[width="20"] { border-radius: 0; margin: 3px 8px 0 0; }          /* iconos de check del contenido antiguo */
.tqs-prose iframe { max-width: 100%; border-radius: 14px; }
.tqs-prose table:not([class]) { width: 100%; margin: 0 0 18px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--s-line); border-radius: 12px; overflow: hidden; font-size: 14px; }
.tqs-prose table:not([class]) th { background: var(--s-soft); color: var(--s-navy); font-weight: 700; }
.tqs-prose table:not([class]) :is(th, td) { padding: 10px 12px; border-bottom: 1px solid var(--s-line); text-align: left; }
.tqs-prose table:not([class]) tr:last-child td { border-bottom: 0; }

/* ------------------------------------------------------------------ Itinerario (parts/tour-itinerary.php) */
.tqi { --tqi-num: 52px; text-align: left; }
.tqi__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.tqi__count { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--s-muted); }
.tqi__count i { color: var(--s-accent); }
.tqi .tqi__all { padding: 7px 14px; border: 1px solid var(--s-line); border-radius: 999px; background: #fff; color: var(--s-blue); font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.tqi .tqi__all:hover { background: var(--s-soft); border-color: rgba(46, 71, 171, .3); }
.tqi__list { position: relative; margin: 0 !important; padding: 0 !important; list-style: none; }
.tqi__day { position: relative; margin: 0 0 12px; padding: 0 0 0 calc(var(--tqi-num) + 14px); list-style: none; }
.tqi__day::marker { content: none; }
.tqi__day::before { content: ""; position: absolute; left: calc(var(--tqi-num) / 2 - 1px); top: 8px; bottom: -20px; width: 2px; background: repeating-linear-gradient(to bottom, #c9d3ee 0 6px, transparent 6px 11px); }
.tqi__day:last-child::before { display: none; }
.itinerario .tqi__h, .tqi__h { position: static; margin: 0 !important; padding: 0 !important; font-size: inherit !important; text-transform: none !important; }
.tqi__h::before, .tqi__h::after { content: none !important; }
.tqi .tqi__head {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: var(--tqi-num); margin: 0; padding: 13px 16px;
    border: 1px solid var(--s-line); border-radius: 14px; background: #fff; text-align: left; cursor: pointer;
    box-shadow: 0 4px 14px rgba(11, 31, 51, .04); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.tqi .tqi__head:hover { border-color: rgba(46, 71, 171, .3); box-shadow: 0 8px 20px rgba(11, 31, 51, .07); }
.tqi .tqi__head:focus-visible { outline: 3px solid rgba(46, 71, 171, .35); outline-offset: 2px; }
.tqi .tqi__head:not(.collapsed) { border-color: rgba(46, 71, 171, .3); border-radius: 14px 14px 0 0; background: var(--s-soft); box-shadow: none; }
.tqi__num {
    position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    width: var(--tqi-num); height: var(--tqi-num); border: 2px solid var(--s-blue); border-radius: 50%; background: #fff;
    color: var(--s-blue); line-height: 1; transition: background .2s ease, color .2s ease; z-index: 1;
}
.tqi__num small { font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tqi__num strong { font-family: 'Poppins', sans-serif; font-size: 19px; font-weight: 800; color: inherit; }
.tqi__head:not(.collapsed) .tqi__num { background: var(--s-blue); color: #fff; box-shadow: 0 6px 14px rgba(46, 71, 171, .3); }
.tqi__title { flex: 1; min-width: 0; font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--s-navy); }
.tqi__pics { flex: none; display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: #fff4e6; color: #b45309; font-size: 12px; font-weight: 700; }
.tqi__chev { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #eef2fb; color: var(--s-blue); font-size: 12px; transition: transform .25s ease, background .2s ease; }
.tqi__head:not(.collapsed) .tqi__chev { transform: rotate(180deg); background: var(--s-blue); color: #fff; }
.tqi__body { padding: 18px 20px 20px; border: 1px solid rgba(46, 71, 171, .3); border-top: 0; border-radius: 0 0 14px 14px; background: #fff; }
.tqi__text { font-size: 15px; line-height: 1.75; color: var(--s-ink); text-align: left; }
.tqi__text p { margin: 0 0 12px; line-height: 1.75; }
.tqi__text > :last-child { margin-bottom: 0; }
.tqi__text strong { color: var(--s-navy); }
.tqi__text ul { margin: 0 0 12px; padding-left: 20px; }
.tqi__gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: 16px; }
.tqi__photo { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 10px; background: var(--s-soft); }
.tqi__photo img { display: block; width: 100%; height: 100%; object-fit: cover; box-shadow: none !important; transition: transform .4s ease; }
.tqi__zoom { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(11, 31, 51, .35); color: #fff; font-size: 20px; opacity: 0; transition: opacity .2s ease; }
.tqi__photo:hover img { transform: scale(1.06); }
.tqi__photo:hover .tqi__zoom, .tqi__photo:focus-visible .tqi__zoom { opacity: 1; }

/* ------------------------------------------------------------------ Incluye / No incluye */
.tqs-inc { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.tqs-inc__col { padding: 20px 22px; border: 1px solid var(--s-line); border-radius: 16px; background: #fff; }
.tqs-inc__col.is-yes { border-color: #d3eedd; background: linear-gradient(180deg, #f2fbf5 0, #fff 110px); }
.tqs-inc__col.is-no { border-color: #f5dada; background: linear-gradient(180deg, #fdf4f4 0, #fff 110px); }
.itinerario .tqs-inc__title, .tqs-inc__title {
    position: static; display: flex; align-items: center; gap: 10px; margin: 0 0 12px !important; padding: 0 !important;
    font-family: 'Poppins', sans-serif; font-size: 17px !important; font-weight: 700; text-transform: none !important; color: var(--s-navy) !important;
}
.tqs-inc__title::before, .tqs-inc__title::after { content: none !important; }
.tqs-inc__title span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--s-ok); color: #fff; font-size: 14px; }
.is-no .tqs-inc__title span { background: var(--s-no); }
.tqs-inc__list { font-size: 14.5px; line-height: 1.55; color: var(--s-ink); text-align: left; }
.tqs-inc__list :is(ul, ol) { margin: 0 !important; padding: 0 !important; list-style: none; }
.tqs-inc__list li { position: relative; margin: 0; padding: 9px 0 9px 32px; border-bottom: 1px dashed #e3e8f0; list-style: none; text-align: left; }
.tqs-inc__list li:last-child { border-bottom: 0; }
.tqs-inc__list li::marker { content: none; }
.tqs-inc__list li::before {
    content: "\f00c"; position: absolute; left: 0; top: 10px; display: grid; place-items: center; width: 21px; height: 21px;
    border-radius: 50%; background: #dcfce7; color: var(--s-ok); font: 900 10px/1 "Font Awesome 6 Free";
}
.is-no .tqs-inc__list li::before { content: "\f00d"; background: #fee2e2; color: var(--s-no); }
.tqs-inc__list p { margin: 0 0 8px; line-height: 1.55; }
.tqs-inc__list strong { color: var(--s-navy); }

/* ------------------------------------------------------------------ Lista de equipaje */
.tqs-card { padding: 20px 22px; border: 1px solid var(--s-line); border-radius: 16px; background: #fff; font-size: 15px; line-height: 1.65; color: var(--s-ink); text-align: left; }
.tqs-card > :last-child { margin-bottom: 0; }
.tqs-pack :is(ul, ol) { display: grid; gap: 10px; margin: 0 0 12px !important; padding: 0 !important; list-style: none; }
.tqs-pack li { position: relative; margin: 0; padding: 12px 14px 12px 46px; border-radius: 12px; background: var(--s-soft); list-style: none; }
.tqs-pack li::marker { content: none; }
.tqs-pack li::before { content: "\f0b1"; position: absolute; left: 14px; top: 13px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: #fff; color: var(--s-blue); font: 900 11px/1 "Font Awesome 6 Free"; box-shadow: 0 2px 6px rgba(11, 31, 51, .08); }
.tqs-pack strong { color: var(--s-navy); }
.tqs-pack p { margin: 0 0 10px; }

/* ------------------------------------------------------------------ Móvil: acordeón de secciones */
.tqs-acc { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; --bs-accordion-border-width: 0; }
.tqs-acc .accordion-item { overflow: hidden; border: 1px solid var(--s-line) !important; border-radius: 14px !important; background: #fff; box-shadow: 0 4px 14px rgba(11, 31, 51, .04); }
.tqs-acc .accordion-header { margin: 0; padding: 0; }
.tqs-acc .accordion-button {
    gap: 12px; padding: 14px 16px; border-radius: 0 !important; background: #fff !important; box-shadow: none !important;
    color: var(--s-navy) !important; font-size: 16px !important; font-weight: 700 !important;
}
.tqs-acc .accordion-button:not(.collapsed) { background: var(--s-soft) !important; color: var(--s-blue) !important; }
.tqs-acc .accordion-button > i { display: grid !important; place-items: center; flex: none; width: 36px; height: 36px; padding: 0 !important; border-radius: 10px; background: #eef2fb; color: var(--s-blue); font-size: 18px; }
.tqs-acc .accordion-button:not(.collapsed) > i { background: var(--s-blue); color: #fff; }
.tqs-acc .accordion-button::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232e47ab'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important; filter: none !important; }
.tqs-acc .accordion-body { padding: 16px 14px 18px; text-align: left; }

/* ------------------------------------------------------------------ Responsive */
@media (max-width: 1199.98px) {
    .tqs-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .tqs-inc { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .tqs-head { gap: 12px; margin-bottom: 16px; }
    .tqs-head__icon { width: 40px; height: 40px; border-radius: 12px; font-size: 16px; }
    .tqs-facts { gap: 8px; margin-bottom: 22px !important; }
    .tqs-fact { gap: 9px; padding: 11px 10px; border-radius: 12px; }
    .tqs-fact__icon { width: 32px; height: 32px; border-radius: 9px; font-size: 14px; }
    .tqs-fact__label { font-size: 10px; letter-spacing: .04em; }
    .tqs-fact__val { font-size: 13.5px; }
    .tqs-prose { font-size: 15px; }
    .tqi { --tqi-num: 40px; }
    .tqi__day { padding-left: calc(var(--tqi-num) + 10px); }
    .tqi__num small { font-size: 8px; }
    .tqi__num strong { font-size: 16px; }
    .tqi .tqi__head { padding: 11px 12px; gap: 8px; }
    .tqi__title { font-size: 14.5px; }
    .tqi__pics { display: none; }
    .tqi__body { padding: 14px; }
    .tqi__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tqs-inc__col, .tqs-card { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .tqi__chev, .tqi__photo img, .tqs-fact { transition: none; }
}
