/* Style & destination pages, styles hub, live tour list. */

/* Breadcrumbs ---------------------------------------------------------------- */
.trt-crumbs { padding: 18px 0 10px; font-size: .85rem; }
.trt-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.trt-crumbs li + li::before { content: "/"; margin: 0 8px; color: var(--trt-muted); }
.trt-crumbs a { color: var(--trt-primary-light, var(--trt-primary)); text-decoration: none; }
.trt-crumbs a:hover { text-decoration: underline; }
.trt-crumbs [aria-current] { color: var(--trt-muted); }

/* Term header ---------------------------------------------------------------- */
.trt-term { padding-bottom: 64px; }
.trt-term__title { margin: 0 !important; font-size: clamp(1.8rem, 3.6vw, 2.75rem); line-height: 1.1; letter-spacing: -.02em; }
.trt-term__intro { display: grid; gap: 24px; align-items: center; margin: 8px 0 24px; }
@media (min-width: 900px) { .trt-term__intro:not(.is-text-only) { grid-template-columns: 1.1fr 1fr; gap: 48px; } }
.trt-term__lead { margin-top: 14px; color: var(--trt-text); font-size: 1.05rem; line-height: 1.65; max-width: 68ch; }
.trt-term__lead a { color: var(--trt-primary-light, var(--trt-primary)); }
.trt-term__lead.is-clamped { max-height: 5.2em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.trt-term__stats { margin: 14px 0 0 !important; font-weight: 700; color: var(--trt-muted); }
.trt-term__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--trt-radius) * 1.6); }
.trt-term__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin: 6px 0 20px; }
.trt-term__head > div { min-width: 0; }

.trt-term__search { display: grid; gap: 16px; margin-bottom: 8px; }
@media (min-width: 900px) { .trt-term__search { grid-template-columns: 1fr auto; align-items: stretch; } }
.trt-stylesearch { display: grid; gap: 10px; padding: 14px; background: var(--trt-card, #fff); border: 1px solid var(--trt-border); border-radius: var(--trt-radius); box-shadow: 0 8px 24px -16px rgba(16, 24, 40, .35); }
@media (min-width: 700px) { .trt-stylesearch { grid-template-columns: 1fr 1fr auto; align-items: end; } }
.trt-stylesearch .trt-btn { min-height: 46px; gap: 8px; }
.trt-trustcard { display: grid; place-content: center; gap: 4px; padding: 14px 22px; text-align: center; background: var(--trt-card, #fff); border: 1px solid var(--trt-border); border-radius: var(--trt-radius); }

/* Sticky section tabs ------------------------------------------------------- */
.trt-tabsbar { position: sticky; top: var(--trt-sticky-top-0, calc(var(--wp-admin--admin-bar--height, 0px) + var(--trt-header-h, 64px))); z-index: 30; margin: 24px 0 8px; background: var(--trt-bg, #fff); border-bottom: 1px solid var(--trt-border); }
body:not(.trt-sticky-header) .trt-tabsbar { top: var(--wp-admin--admin-bar--height, 0px); }
.trt-tabsbar ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.trt-tabsbar a { display: block; padding: 14px 14px 12px; color: var(--trt-muted); font-weight: 600; font-size: .92rem; white-space: nowrap; text-decoration: none; border-bottom: 3px solid transparent; }
.trt-tabsbar a:hover { color: var(--trt-text); }
.trt-tabsbar a.is-active { color: var(--trt-primary); border-bottom-color: var(--trt-primary-light, var(--trt-primary)); }

/* Sections ---------------------------------------------------------------- */
.trt-tsec { padding: 40px 0 8px; scroll-margin-top: calc(var(--trt-header-h, 64px) + 64px); }
.trt-tsec--tint { margin-top: 32px; padding: 40px 0 32px; background: var(--trt-primary-soft, #eef4fc); }
.trt-tsec__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 20px; }
.trt-tsec__head.is-center { justify-content: center; text-align: center; }
.trt-tsec__head.is-center .trt-tsec__text { margin-inline: auto; }
.trt-tsec__title { margin: 0 !important; font-size: clamp(1.35rem, 2.4vw, 1.85rem); line-height: 1.2; letter-spacing: -.01em; }
.trt-tsec__text { margin: 8px 0 0 !important; max-width: 70ch; color: var(--trt-muted); }
.trt-tsec__links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 14px !important; color: var(--trt-muted); }
.trt-tsec__links a { color: var(--trt-primary-light, var(--trt-primary)); }

/* Image cards with counts */
.trt-tcards { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.trt-tcards--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.trt-tcard__link { position: relative; display: block; overflow: hidden; border-radius: var(--trt-radius); aspect-ratio: 4 / 3; color: #fff; text-decoration: none; background: #1c2430; }
.trt-tcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.trt-tcard__link:hover img { transform: scale(1.05); }
.trt-tcard__body { position: absolute; inset: auto 0 0 0; display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; padding: 40px 14px 12px; background: linear-gradient(transparent, rgba(0, 0, 0, .72)); }
.trt-tcard__name { font-weight: 800; font-size: 1.1rem; line-height: 1.2; }
.trt-tcard__count { flex: none; padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #1d2433; font-size: .78rem; font-weight: 700; }
.trt-tcard__text { margin: 10px 2px 0 !important; color: var(--trt-muted); font-size: .92rem; }

/* World columns */
.trt-world { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.trt-world__name { display: flex; align-items: center; gap: 8px; margin: 0 0 2px !important; font-weight: 800; }
.trt-world__name .trt-icon { width: 20px; height: 20px; color: var(--trt-primary); }
.trt-world__all { font-size: .85rem; color: var(--trt-primary-light, var(--trt-primary)); }
.trt-world ul { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.trt-world li a { color: var(--trt-text); text-decoration: none; }
.trt-world li a:hover { text-decoration: underline; }

/* Start city pills */
.trt-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.trt-pill-card { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--trt-border); border-radius: 999px; background: var(--trt-card, #fff); color: var(--trt-text); font-weight: 600; text-decoration: none; }
.trt-pill-card .trt-icon { width: 18px; height: 18px; color: var(--trt-primary); }
.trt-pill-card b { padding: 1px 8px; border-radius: 999px; background: var(--trt-primary-soft, #eef4fc); color: var(--trt-primary); font-size: .8rem; }
.trt-pill-card:hover { border-color: var(--trt-primary-light, var(--trt-primary)); }

/* Timeframes + budget */
.trt-frames, .trt-budget { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.trt-frames a, .trt-budget a { display: grid; gap: 4px; padding: 22px; min-height: 130px; border: 1px solid var(--trt-border); border-radius: var(--trt-radius); background: var(--trt-card, #fff); color: var(--trt-text); text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.trt-frames a:hover, .trt-budget a:hover { border-color: var(--trt-primary-light, var(--trt-primary)); transform: translateY(-2px); box-shadow: 0 12px 28px -18px rgba(16, 24, 40, .45); }
.trt-frames strong, .trt-budget strong { font-size: 1.3rem; letter-spacing: -.01em; }
.trt-frames span:last-child, .trt-budget span:last-child { color: var(--trt-muted); }
.trt-frames__icon, .trt-budget__icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 12px; background: var(--trt-primary-soft, #eef4fc); color: var(--trt-primary); }
.trt-budget { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

/* Traveler stories */
.trt-stories__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 88%); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
@media (min-width: 900px) { .trt-stories__track { grid-auto-columns: calc((100% - 32px) / 3); } }
.trt-story { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 360px; margin: 0; padding: 24px; border-radius: calc(var(--trt-radius) * 1.4); color: #fff; overflow: hidden; scroll-snap-align: start; background: #1c2430 var(--bg) center / cover; }
.trt-story::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .78) 60%); }
.trt-story > * { position: relative; }
.trt-story blockquote { margin: 0 0 14px; }
.trt-story blockquote p { margin: 0 !important; font-size: 1.02rem; line-height: 1.55; }
.trt-story figcaption { display: grid; gap: 2px; font-size: .88rem; }
.trt-story figcaption a { color: rgba(255, 255, 255, .85); }

/* Other styles */
.trt-others { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.trt-others a { display: grid; gap: 6px; height: 100%; padding: 0 0 16px; border: 1px solid var(--trt-border); border-radius: var(--trt-radius); background: var(--trt-card, #fff); color: var(--trt-text); text-decoration: none; overflow: hidden; }
.trt-others a > :not(.trt-others__img) { padding-inline: 16px; }
.trt-others__img { display: block; aspect-ratio: 16 / 9; background: #e4e7ec; }
.trt-others__img img { width: 100%; height: 100%; object-fit: cover; }
.trt-others p { margin: 0 !important; color: var(--trt-muted); font-size: .9rem; }

/* Editorial: feature cards, levels, story, experiences, seasons, expert, FAQ */
.trt-feature-cards { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.trt-feature-cards img, .trt-levels img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--trt-radius); margin-bottom: 12px; }
.trt-feature-cards h3, .trt-levels h3 { margin: 0 0 6px !important; font-size: 1.1rem; }
.trt-feature-cards p, .trt-levels p { margin: 0 !important; color: var(--trt-muted); }
.trt-feature-cards a { color: var(--trt-primary-light, var(--trt-primary)); }
.trt-levels { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.trt-levels__item { display: grid; gap: 8px; align-content: start; }
.trt-levels__tag { justify-self: start; padding: 3px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; background: #e7f6ec; color: #0a7a3d; }
.trt-levels__item--medium .trt-levels__tag { background: #fff6e5; color: #b54708; }
.trt-levels__item--high .trt-levels__tag { background: #fdecec; color: #b42318; }
.trt-levels .trt-btn { justify-self: start; margin-top: 6px; }
.trt-story-block { display: grid; gap: 28px; align-items: center; }
@media (min-width: 900px) { .trt-story-block:not(.is-text-only) { grid-template-columns: 1fr 1fr; gap: 48px; } }
.trt-story-block__text .trt-btn { margin-top: 16px; }
.trt-story-block__media img, .trt-video-facade, .trt-video-frame { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 0; border-radius: calc(var(--trt-radius) * 1.4); }
.trt-video-facade { position: relative; padding: 0; overflow: hidden; background: #1c2430; cursor: pointer; }
.trt-video-facade img { width: 100%; height: 100%; object-fit: cover; }
.trt-video-facade__play { position: absolute; inset: 0; display: grid; place-items: center; }
.trt-video-facade__play .trt-icon { width: 72px; height: 72px; padding: 20px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--trt-primary); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); transition: transform .2s; }
.trt-video-facade:hover .trt-video-facade__play .trt-icon { transform: scale(1.08); }
.trt-exp .trt-rail__item { display: block; }
.trt-exp__card { position: relative; margin: 0; overflow: hidden; border-radius: var(--trt-radius); aspect-ratio: 3 / 4; background: #1c2430; color: #fff; }
.trt-exp__card img, .trt-exp__card .trt-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.trt-exp__card figcaption { position: absolute; inset: auto 0 0 0; display: grid; gap: 4px; padding: 40px 16px 16px; background: linear-gradient(transparent, rgba(0, 0, 0, .75)); }
.trt-exp__card figcaption span { font-size: .86rem; opacity: .9; }
.trt-seasons__tabs { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 16px; }
.trt-seasons__tabs button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--trt-border); border-radius: 999px; background: var(--trt-card, #fff); color: var(--trt-text); font: inherit; font-weight: 600; white-space: nowrap; cursor: pointer; }
.trt-seasons__tabs .trt-icon { width: 18px; height: 18px; }
.trt-seasons__tabs [aria-selected="true"] { background: var(--trt-primary); border-color: var(--trt-primary); color: #fff; }
.trt-seasons__panel { max-width: 75ch; }
.trt-expert { display: grid; gap: 20px; padding: clamp(20px, 3vw, 36px); border-radius: calc(var(--trt-radius) * 1.4); background: var(--trt-primary-soft, #eef4fc); }
@media (min-width: 900px) { .trt-expert { grid-template-columns: 1.4fr 1fr; align-items: center; } .trt-expert__actions { grid-column: 1 / -1; } }
.trt-expert__person { display: flex; gap: 20px; align-items: flex-start; }
.trt-expert__photo { flex: none; width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.trt-expert__person .trt-tsec__head { margin-bottom: 8px; }
.trt-expert__name { margin: 0 0 6px !important; }
.trt-expert__facts { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-weight: 600; }
.trt-expert__facts li { display: flex; align-items: center; gap: 10px; }
.trt-expert__facts .trt-icon { width: 20px; height: 20px; color: var(--trt-primary); }
.trt-expert__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.trt-expert__actions .trt-btn { gap: 8px; }
.trt-faq { display: grid; gap: 14px; margin: 0; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); }
.trt-faq__item { padding: 20px 22px; border: 1px solid var(--trt-border); border-radius: var(--trt-radius); background: var(--trt-card, #fff); }
.trt-faq dt { margin-bottom: 8px; font-weight: 800; font-size: 1.02rem; }
.trt-faq dd { margin: 0; color: var(--trt-muted); }
.trt-faq dd p { margin: 0 0 8px !important; }

/* Styles hub ---------------------------------------------------------------- */
.trt-hub { padding-bottom: 64px; }
.trt-hub__hero { position: relative; display: flex; align-items: flex-end; min-height: clamp(280px, 42vw, 460px); padding: clamp(24px, 4vw, 48px); border-radius: calc(var(--trt-radius) * 1.8); overflow: hidden; color: #fff; background: linear-gradient(0deg, rgba(0, 0, 0, .65), rgba(0, 0, 0, .05) 70%), var(--hero, linear-gradient(135deg, var(--trt-primary), var(--trt-primary-light, #0071c2))) center / cover; }
.trt-hub__copy { max-width: 620px; }
.trt-hub__copy h1 { margin: 0 0 10px !important; color: #fff; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; letter-spacing: -.02em; }
.trt-hub__copy p { margin: 0 !important; font-size: 1.08rem; opacity: .92; }
.trt-hub__group { padding-top: 48px; scroll-margin-top: calc(var(--trt-header-h, 64px) + 56px); }
.trt-hubstyle { padding: 28px 0; border-bottom: 1px solid var(--trt-border); }
.trt-hubstyle:last-child { border-bottom: 0; }
.trt-hubstyle__row { display: grid; gap: 20px; align-items: center; }
@media (min-width: 900px) { .trt-hubstyle__row { grid-template-columns: 1fr 1.1fr; gap: 40px; } }
.trt-hubstyle__img { display: block; overflow: hidden; border-radius: calc(var(--trt-radius) * 1.4); aspect-ratio: 16 / 10; background: #e4e7ec; }
.trt-hubstyle__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.trt-hubstyle__img:hover img { transform: scale(1.04); }
.trt-hubstyle__copy h3 { margin: 0 0 8px !important; font-size: clamp(1.3rem, 2.2vw, 1.7rem); }
.trt-hubstyle__copy h3 a { color: inherit; text-decoration: none; }
.trt-hubstyle__copy p { margin: 0 0 10px !important; }
.trt-hubstyle__railhead { margin-top: 24px; }
.trt-hubstyle__railhead h4 { margin: 0 !important; font-size: 1.1rem; }

/* Live list ------------------------------------------------------------------- */
.trt-anchor { scroll-margin-top: calc(var(--trt-header-h, 64px) + 16px); }
.trt-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 8px; }
.trt-list__main { container-type: inline-size; min-width: 0; }
@media (min-width: 1000px) { .trt-list { grid-template-columns: 290px minmax(0, 1fr); gap: 32px; } .trt-list__filters-btn { display: none !important; } }
.trt-list__filters-btn { justify-self: start; gap: 8px; }
.trt-list.is-loading .trt-rows { opacity: .45; transition: opacity .15s; }
.trt-list__side { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--trt-header-h, 64px) + 12px); max-height: calc(100vh - var(--trt-header-h, 64px) - 24px); overflow: auto; padding: 4px 6px 16px 2px; scrollbar-width: thin; }
.trt-list__side-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.trt-list__side-title { display: flex; align-items: center; gap: 8px; margin: 0 !important; font-weight: 800; font-size: 1.05rem; }
.trt-list__close { display: none; }
.trt-list__apply { display: none; }
.trt-facet { border-top: 1px solid var(--trt-border); padding: 12px 0; }
.trt-facet summary { display: flex; align-items: center; gap: 8px; font-weight: 700; cursor: pointer; list-style: none; }
.trt-facet summary::-webkit-details-marker { display: none; }
.trt-facet summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; opacity: .6; }
.trt-facet[open] summary::after { transform: rotate(-135deg); }
.trt-facet__on { padding: 0 7px; border-radius: 999px; background: var(--trt-primary); color: #fff; font-size: .75rem; }
.trt-facet__title { display: flex; justify-content: space-between; margin: 0 0 10px !important; font-weight: 700; }
.trt-facet__list { display: grid; gap: 2px; margin: 10px 0 0; padding: 0; list-style: none; }
.trt-facet__more { margin-top: 6px; font-size: .88rem; }
.trt-facet .trt-field--compact { margin-top: 10px; }
.trt-check { display: flex; align-items: center; gap: 10px; padding: 5px 4px; border-radius: 8px; cursor: pointer; font-size: .94rem; }
.trt-check:hover { background: var(--trt-bg, #f5f7fa); }
.trt-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--trt-primary); flex: none; }
.trt-check__label { flex: 1; min-width: 0; }
.trt-check__n { color: var(--trt-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.trt-check.is-zero { opacity: .45; }
.trt-switch { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid var(--trt-border); font-weight: 700; cursor: pointer; }
.trt-switch input { appearance: none; position: relative; flex: none; width: 40px; height: 24px; margin: 0; border-radius: 999px; background: #c5ccd8; cursor: pointer; transition: background .2s; }
.trt-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; }
.trt-switch input:checked { background: var(--trt-primary); }
.trt-switch input:checked::after { transform: translateX(16px); }
.trt-switch span:first-of-type { flex: 1; }
.trt-stepper { display: flex; align-items: center; gap: 8px; }
.trt-stepper span { flex: 1; }
.trt-stepper button { width: 34px; height: 34px; border: 1px solid var(--trt-border); border-radius: 50%; background: var(--trt-card, #fff); color: var(--trt-primary); font-size: 1.1rem; cursor: pointer; }
.trt-stepper input { width: 44px; padding: 4px; border: 0; background: none; text-align: center; font: inherit; font-weight: 700; -moz-appearance: textfield; }
.trt-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.trt-range { position: relative; height: 28px; --a: 0%; --b: 100%; }
.trt-range::before { content: ""; position: absolute; top: 12px; left: 0; right: 0; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #d0d5dd var(--a), var(--trt-primary) var(--a), var(--trt-primary) var(--b), #d0d5dd var(--b)); }
.trt-range input { position: absolute; inset: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.trt-range input::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 2px solid var(--trt-primary); box-shadow: 0 1px 4px rgba(0, 0, 0, .2); cursor: pointer; }
.trt-range input::-moz-range-thumb { pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--trt-primary); cursor: pointer; }
.trt-range-single { width: 100%; accent-color: var(--trt-primary); }

.trt-list__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 12px; }
.trt-list__heading { margin: 0 !important; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.trt-list__count { margin: 4px 0 0 !important; }
.trt-list__sort { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--trt-muted); }
.trt-list__sort .trt-select { min-width: 220px; }
.trt-qchips { display: flex; gap: 8px; margin: 0 0 16px; padding: 0 0 4px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.trt-qchip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1px solid var(--trt-border); border-radius: 999px; background: var(--trt-card, #fff); color: var(--trt-text); font: inherit; font-size: .88rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.trt-qchip:hover { border-color: var(--trt-primary-light, var(--trt-primary)); color: var(--trt-primary); }
.trt-qchip__n { color: var(--trt-muted); font-weight: 500; }
.trt-list__more { display: flex; justify-content: center; margin-top: 20px; }

/* Horizontal tour card */
.trt-rows { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.trt-row { display: grid; gap: 0; border: 1px solid var(--trt-border); border-radius: var(--trt-radius); background: var(--trt-card, #fff); overflow: hidden; transition: box-shadow .2s; }
.trt-row:hover { box-shadow: 0 16px 36px -24px rgba(16, 24, 40, .45); }
@container (min-width: 700px) { .trt-row { grid-template-columns: 240px minmax(0, 1fr) 200px; } .trt-row__price { border-top: 0 !important; border-left: 1px solid var(--trt-border); text-align: right !important; } .trt-row__save { justify-self: end !important; } .trt-row__amount { flex-direction: column !important; align-items: flex-end !important; gap: 0 !important; } }
@container (min-width: 520px) and (max-width: 699.98px) { .trt-row { grid-template-columns: 200px minmax(0, 1fr); } .trt-row__price { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: center; } .trt-row__price .trt-btn { grid-column: 2; } }
.trt-row__media { position: relative; display: block; min-height: 190px; background: #e4e7ec; }
.trt-row__media img, .trt-row__media .trt-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.trt-row__off { position: absolute; top: 12px; left: 12px; padding: 3px 10px; border-radius: 999px; background: #d92d20; color: #fff; font-weight: 800; font-size: .8rem; }
.trt-row__body { display: grid; align-content: start; gap: 8px; padding: 16px 18px; min-width: 0; }
.trt-row__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.trt-row__badge { padding: 2px 10px; border-radius: 999px; background: var(--trt-primary-soft, #eef4fc); color: var(--trt-primary); font-size: .75rem; font-weight: 700; }
.trt-row__badge--hot { background: #fff6e5; color: #b54708; }
.trt-row__title { margin: 0 !important; font-size: 1.12rem; line-height: 1.3; }
.trt-row__title a { color: var(--trt-text); text-decoration: none; }
.trt-row__title a:hover { color: var(--trt-primary); }
.trt-row__rating { display: flex; align-items: center; gap: 6px; margin: 0 !important; font-size: .9rem; }
.trt-row__quote { margin: 0; padding: 8px 12px; border-left: 3px solid var(--trt-primary-soft, #eef4fc); font-size: .88rem; color: var(--trt-muted); }
.trt-row__quote p { margin: 0 !important; font-style: italic; }
.trt-row__quote cite { display: block; margin-top: 2px; font-style: normal; font-size: .8rem; }
.trt-row__facts { display: grid; gap: 4px 16px; margin: 4px 0 0; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); font-size: .86rem; }
.trt-row__facts dt { color: var(--trt-muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.trt-row__facts dd { margin: 0; font-weight: 600; }
.trt-row__price { display: grid; align-content: center; gap: 6px; padding: 16px 18px; border-top: 1px solid var(--trt-border); text-align: right; }
.trt-row__save { justify-self: end; padding: 2px 10px; border-radius: 999px; background: #fdecec; color: #b42318; font-weight: 800; font-size: .78rem; }
.trt-row__amount { display: flex; flex-direction: column; align-items: flex-end; margin: 0 !important; font-size: 1.45rem; font-weight: 800; line-height: 1.1; }
.trt-row__amount s { font-size: .9rem; font-weight: 500; color: var(--trt-muted); }
.trt-row__amount .is-deal { color: #d92d20; }
.trt-row__pp { margin: 0 0 6px !important; font-size: .8rem; }
.trt-row__price .trt-btn { gap: 6px; }

/* Phones/tablets: filters slide in */
@media (max-width: 999.98px) {
	.trt-list__side { position: fixed; inset: 0 auto 0 0; z-index: 1000; width: min(92vw, 380px); max-height: none; padding: 16px; background: var(--trt-bg, #fff); box-shadow: 20px 0 60px rgba(0, 0, 0, .25); transform: translateX(-105%); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
	.trt-list.is-open .trt-list__side { transform: none; }
	.trt-list.is-open::before { content: ""; position: fixed; inset: 0; z-index: 999; background: rgba(10, 16, 28, .5); }
	.trt-list__close { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--trt-primary-soft, #eef4fc); color: var(--trt-text); cursor: pointer; }
	.trt-list__apply { display: block; position: sticky; bottom: 0; padding-top: 12px; background: var(--trt-bg, #fff); }
	.trt-list__sort { width: 100%; }
	.trt-list__sort .trt-select { flex: 1; min-width: 0; }
	.trt-row__price { text-align: left; }
	.trt-row__save { justify-self: start; }
	.trt-row__amount { flex-direction: row; align-items: baseline; gap: 8px; }
}

/* Gen Z skin */
.trt-skin-genz .trt-row, .trt-skin-genz .trt-frames a, .trt-skin-genz .trt-budget a, .trt-skin-genz .trt-faq__item, .trt-skin-genz .trt-others a, .trt-skin-genz .trt-stylesearch { border: 2px solid var(--trt-ink); box-shadow: 4px 4px 0 var(--trt-ink); }
.trt-skin-genz .trt-hub__hero, .trt-skin-genz .trt-tcard__link, .trt-skin-genz .trt-story { border: 2px solid var(--trt-ink); }
.trt-skin-genz .trt-tabsbar { background: var(--trt-surface, var(--trt-bg)); }
.trt-skin-genz .trt-term__title, .trt-skin-genz .trt-hub__copy h1, .trt-skin-genz .trt-tsec__title { font-family: var(--trt-display); }

/* Answer-first box ------------------------------------------------------------ */
.trt-answer { display: grid; gap: 16px; margin: 4px 0 24px; padding: 20px 22px; border: 1px solid var(--trt-border); border-left: 4px solid var(--trt-primary-light, var(--trt-primary)); border-radius: var(--trt-radius); background: var(--trt-card, #fff); }
@media (min-width: 900px) { .trt-answer:has(.trt-answer__text):has(.trt-answer__facts) { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 32px; } .trt-answer__by { grid-column: 1 / -1; } }
.trt-answer__label { display: flex; align-items: center; gap: 8px; margin: 0 0 8px !important; font-size: .8rem !important; text-transform: uppercase; letter-spacing: .06em; color: var(--trt-primary); }
.trt-answer__label .trt-icon { width: 18px; height: 18px; }
.trt-answer__text p { margin: 0 !important; font-size: 1.05rem; line-height: 1.6; }
.trt-answer__facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px 18px; margin: 0; align-content: start; }
.trt-answer__facts dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: var(--trt-muted); font-weight: 700; }
.trt-answer__facts dd { margin: 2px 0 0; font-weight: 700; }
.trt-answer__by { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 !important; padding-top: 12px; border-top: 1px solid var(--trt-border); font-size: .88rem; }
.trt-answer__avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.trt-skin-genz .trt-answer { border: 2px solid var(--trt-ink); box-shadow: 4px 4px 0 var(--trt-ink); }

/* Journal bento (style & destination pages) ---------------------------------- */
.trt-jbento { display: grid; gap: 14px; }
.trt-jb { position: relative; display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 14px; min-width: 0; padding: 10px; border: 1px solid var(--trt-border); border-radius: calc(var(--trt-radius) * 1.2); background: var(--trt-card, #fff); transition: border-color .2s, transform .2s; }
.trt-jb:hover { border-color: var(--trt-primary); transform: translateY(-2px); }
.trt-jb__img { overflow: hidden; aspect-ratio: 1; border-radius: var(--trt-radius); background: #e4e7ec; }
.trt-jb__img img, .trt-jb__img .trt-ph { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.trt-jb:hover .trt-jb__img img { transform: scale(1.06); }
.trt-jb__body { display: grid; gap: 4px; min-width: 0; }
.trt-jb__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 !important; font-size: .76rem; color: var(--trt-muted); }
.trt-jb__cat { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--trt-primary); }
.trt-jb__title { margin: 0 !important; font-size: 1.02rem; line-height: 1.3; letter-spacing: -.01em; }
.trt-jb__title a { color: var(--trt-text); text-decoration: none; }
.trt-jb__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* whole card is the one link */
.trt-jb__title a:focus-visible { outline: none; }
.trt-jb:has(a:focus-visible) { outline: 3px solid var(--trt-primary); outline-offset: 2px; }
.trt-jb__excerpt { margin: 2px 0 0 !important; color: var(--trt-muted); font-size: .92rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.trt-jb__date { font-size: .76rem; color: var(--trt-muted); }

/* Lead story: photo fills the tile, text on a gradient. */
.trt-jb--lead { display: block; min-height: 340px; padding: 0; overflow: hidden; border: 0; color: #fff; isolation: isolate; }
.trt-jb--lead .trt-jb__img { position: absolute; inset: 0; z-index: -1; aspect-ratio: auto; border-radius: 0; }
.trt-jb--lead .trt-jb__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .86)); }
.trt-jb--lead .trt-jb__body { position: absolute; inset: auto 0 0; gap: 8px; padding: 22px 22px 20px; }
.trt-jb--lead .trt-jb__meta, .trt-jb--lead .trt-jb__date, .trt-jb--lead .trt-jb__excerpt { color: rgba(255, 255, 255, .85); }
.trt-jb--lead .trt-jb__cat { padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #121217; }
.trt-jb--lead .trt-jb__title { font-size: clamp(1.35rem, 2.6vw, 1.9rem); line-height: 1.15; }
.trt-jb--lead .trt-jb__title a { color: #fff; }
.trt-jb--lead .trt-jb__excerpt { -webkit-line-clamp: 2; max-width: 60ch; }

@media (min-width: 900px) {
	.trt-jbento { grid-template-columns: 1.35fr 1fr; grid-auto-rows: minmax(128px, auto); gap: 16px; }
	.trt-jb { grid-template-columns: 112px 1fr; }
	.trt-jbento--1 { grid-template-columns: 1fr; }
	.trt-jbento--1 .trt-jb--lead { min-height: 400px; }
	.trt-jbento--2 { grid-template-columns: 1fr 1fr; }
	.trt-jbento--2 .trt-jb { display: block; min-height: 380px; padding: 0; overflow: hidden; border: 0; color: #fff; isolation: isolate; }
	.trt-jbento--3 .trt-jb--lead { grid-row: span 2; }
	.trt-jbento--4 .trt-jb--lead { grid-row: span 3; min-height: 440px; }
}
/* Two articles: both as photo tiles. */
@media (min-width: 900px) {
	.trt-jbento--2 .trt-jb .trt-jb__img { position: absolute; inset: 0; z-index: -1; aspect-ratio: auto; border-radius: 0; }
	.trt-jbento--2 .trt-jb .trt-jb__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .86)); }
	.trt-jbento--2 .trt-jb .trt-jb__body { position: absolute; inset: auto 0 0; gap: 8px; padding: 22px; }
	.trt-jbento--2 .trt-jb :is(.trt-jb__meta, .trt-jb__date, .trt-jb__excerpt) { color: rgba(255, 255, 255, .85); }
	.trt-jbento--2 .trt-jb .trt-jb__cat { padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #121217; }
	.trt-jbento--2 .trt-jb .trt-jb__title { font-size: 1.45rem; line-height: 1.2; }
	.trt-jbento--2 .trt-jb .trt-jb__title a { color: #fff; }
	.trt-jbento--2 .trt-jb .trt-jb__excerpt { -webkit-line-clamp: 2; }
}
@media (prefers-reduced-motion: reduce) {
	.trt-jb, .trt-jb__img img { transition: none; }
	.trt-jb:hover { transform: none; }
}

/* Gen Z vibes in the filters: tags instead of checkboxes */
.trt-facet[data-trt-facet="vibe"] .trt-facet__list { display: flex; flex-wrap: wrap; gap: 6px; }
.trt-check--vibe { position: relative; gap: 6px; padding: 5px 11px; border: 1.5px solid var(--trt-border); border-radius: 999px; font-size: .85rem; font-weight: 600; }
.trt-check--vibe input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.trt-check--vibe:hover { background: var(--trt-vibe-soft, #efebff); border-color: var(--trt-vibe, #5b3df5); }
.trt-check--vibe:has(input:checked) { background: var(--trt-vibe, #5b3df5); border-color: var(--trt-vibe, #5b3df5); color: #fff; }
.trt-check--vibe:has(input:checked) .trt-check__n { color: rgba(255, 255, 255, .8); }
.trt-check--vibe:has(input:focus-visible) { outline: 2px solid var(--trt-vibe, #5b3df5); outline-offset: 2px; }
.trt-check--vibe .trt-check__label { flex: none; }
.trt-row__badge--vibe { background: var(--trt-vibe-soft, #efebff); color: var(--trt-vibe-ink, #3a22c4); }
