/* Travel journal: home/search, cards, article. */

/* Journal home ------------------------------------------------------------- */
.trt-journal { padding-bottom: 64px; }
.trt-jhero { position: relative; padding: 8px 0 36px; margin-bottom: 32px; background: linear-gradient(180deg, var(--trt-primary-soft, #eef4fc), transparent); }
.trt-jhero[style*="--hero"] { color: #fff; background: linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .25)), var(--hero) center / cover; }
.trt-jhero[style*="--hero"] .trt-crumbs a, .trt-jhero[style*="--hero"] .trt-crumbs [aria-current] { color: rgba(255, 255, 255, .85); }
.trt-jhero__title { margin: 6px 0 8px !important; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.05; letter-spacing: -.02em; }
.trt-jhero__intro { margin: 0 0 22px !important; max-width: 62ch; font-size: 1.08rem; opacity: .9; }
.trt-jsearch { display: flex; align-items: center; gap: 10px; max-width: 760px; padding: 8px 8px 8px 18px; border-radius: 999px; background: #fff; box-shadow: 0 14px 40px -18px rgba(16, 24, 40, .5); border: 1px solid var(--trt-border); }
.trt-jsearch > .trt-icon { flex: none; width: 20px; height: 20px; color: var(--trt-muted); }
.trt-jsearch input { flex: 1; min-width: 0; padding: 10px 4px; border: 0; background: none; font: inherit; font-size: 1rem; color: #1d2433; outline: none; }
.trt-jsearch .trt-btn { border-radius: 999px; }
.trt-jfilters { display: grid; gap: 10px; margin-top: 18px; }
.trt-jchips { display: flex; gap: 8px; margin: 0; padding: 0 0 2px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.trt-jchip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--trt-border); background: var(--trt-card, #fff); color: var(--trt-text); font-size: .88rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.trt-jchip .trt-icon { width: 15px; height: 15px; color: var(--trt-primary); }
.trt-jchip:hover { border-color: var(--trt-primary-light, var(--trt-primary)); }
.trt-jchip.is-on { background: var(--trt-primary); border-color: var(--trt-primary); color: #fff; }
.trt-jchip.is-on .trt-icon { color: #fff; }
.trt-jcount { margin: -12px 0 20px !important; color: var(--trt-muted); }

/* Cards */
.trt-jgrid { display: grid; gap: 28px 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.trt-jgrid--after { margin-top: 32px; }
.trt-jcard { display: flex; flex-direction: column; min-width: 0; }
.trt-jcard__img { display: block; overflow: hidden; border-radius: calc(var(--trt-radius) * 1.2); aspect-ratio: 16 / 10; background: #e4e7ec; }
.trt-jcard__img img, .trt-jcard__img .trt-ph { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.trt-jcard:hover .trt-jcard__img img { transform: scale(1.05); }
.trt-jcard__body { display: grid; gap: 6px; padding-top: 14px; }
.trt-jcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 !important; font-size: .8rem; color: var(--trt-muted); }
.trt-jcard__cat { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--trt-primary-soft, #eef4fc); color: var(--trt-primary); font-size: .76rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
.trt-jcard__title { margin: 0 !important; font-size: 1.2rem; line-height: 1.3; letter-spacing: -.01em; }
.trt-jcard__title a { color: var(--trt-text); text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1.5px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s; }
.trt-jcard:hover .trt-jcard__title a { background-size: 100% 1.5px; }
.trt-jcard__excerpt { margin: 0 !important; color: var(--trt-muted); font-size: .94rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.trt-jcard__date { margin: 0 !important; font-size: .8rem; }
.trt-jfeatured { margin-bottom: 40px; }
@media (min-width: 900px) {
	.trt-jcard--featured { display: grid; grid-template-columns: 1.35fr 1fr; gap: 40px; align-items: center; }
	.trt-jcard--featured .trt-jcard__img { aspect-ratio: 16 / 10; }
	.trt-jcard--featured .trt-jcard__body { padding: 0; }
}
.trt-jcard--featured .trt-jcard__title { font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.15; }
.trt-jcard--featured .trt-jcard__excerpt { font-size: 1.05rem; -webkit-line-clamp: 4; }
.trt-jsell { margin: 48px 0 8px; }
.trt-jpager { display: flex; justify-content: center; gap: 6px; margin: 36px 0 0; }
.trt-jpager a { display: grid; place-items: center; min-width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--trt-border); color: var(--trt-text); text-decoration: none; font-weight: 700; }
.trt-jpager a.is-on { background: var(--trt-primary); border-color: var(--trt-primary); color: #fff; }
.trt-jexplore { margin-top: 48px; }
.trt-jexplore .trt-tsec__title { margin-bottom: 14px !important; }
.trt-jrow .trt-jgrid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }

/* Article ------------------------------------------------------------------ */
.trt-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 70; height: 3px; pointer-events: none; }
.trt-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--trt-primary), var(--trt-primary-light, #0071c2)); transform: scaleX(0); transform-origin: 0 50%; }
.trt-article { padding-bottom: 48px; }
.trt-article__head { max-width: 900px; margin-bottom: 24px; }
.trt-article__title { margin: 12px 0 12px !important; font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.08; letter-spacing: -.025em; }
.trt-article__dek { margin: 0 0 20px !important; font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.5; color: var(--trt-muted); }
.trt-article__byline { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--trt-border); }
.trt-article__byline > div { flex: 1; min-width: 0; }
.trt-article__byline p { margin: 0 !important; font-size: .9rem; }
.trt-article__avatar { width: 40px; height: 40px; border-radius: 50%; }
.trt-article__hero { margin-bottom: 36px; }
.trt-article__hero img { display: block; width: 100%; max-height: 640px; aspect-ratio: 16 / 8; object-fit: cover; border-radius: calc(var(--trt-radius) * 1.6); }
.trt-article__hero figcaption { margin-top: 8px; font-size: .82rem; color: var(--trt-muted); }

.trt-article__layout { display: grid; gap: 32px; align-items: start; }
@media (min-width: 1100px) { .trt-article__layout { grid-template-columns: 220px minmax(0, 720px) 280px; justify-content: space-between; } }
@media (min-width: 760px) and (max-width: 1099.98px) { .trt-article__layout { grid-template-columns: minmax(0, 1fr) 260px; } .trt-article__toc { grid-column: 1 / -1; } }
.trt-article__toc, .trt-article__side { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--trt-header-h, 64px) + 24px); }
@media (max-width: 1099.98px) { .trt-article__toc { position: static; } }
@media (max-width: 759.98px) { .trt-article__side { position: static; order: 3; } }
.trt-article__toc details { padding: 14px 16px; border: 1px solid var(--trt-border); border-radius: var(--trt-radius); background: var(--trt-card, #fff); }
.trt-article__toc summary { cursor: pointer; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--trt-muted); }
.trt-article__toc ol { display: grid; gap: 8px; margin: 12px 0 0; padding: 0 0 0 18px; font-size: .9rem; }
.trt-article__toc a { color: var(--trt-text); text-decoration: none; }
.trt-article__toc a:hover, .trt-article__toc a.is-active { color: var(--trt-primary); font-weight: 700; }

.trt-article__body { min-width: 0; }
.trt-takeaways { margin: 0 0 32px; padding: 20px 24px; border-radius: var(--trt-radius); background: var(--trt-primary-soft, #eef4fc); }
.trt-takeaways__title { display: flex; align-items: center; gap: 8px; margin: 0 0 10px !important; font-size: .85rem !important; text-transform: uppercase; letter-spacing: .06em; color: var(--trt-primary); }
.trt-takeaways__title .trt-icon { width: 20px; height: 20px; }
.trt-takeaways ul { display: grid; gap: 8px; margin: 0; padding-left: 20px; }
.trt-takeaways li { line-height: 1.5; font-weight: 500; }

.trt-article__content { font-size: 1.1rem; line-height: 1.8; color: var(--trt-text); }
.trt-article__content > * + * { margin-top: 1.1em !important; }
.trt-article__content h2 { margin-top: 2em !important; font-size: clamp(1.45rem, 2.6vw, 1.85rem); line-height: 1.25; letter-spacing: -.015em; scroll-margin-top: calc(var(--trt-header-h, 64px) + 24px); }
.trt-article__content h3 { margin-top: 1.6em !important; font-size: 1.25rem; }
.trt-article__content a { color: var(--trt-primary-light, var(--trt-primary)); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.trt-article__content a.trt-autolink { text-decoration-style: dotted; }
.trt-article__content img { max-width: 100%; height: auto; border-radius: var(--trt-radius); }
.trt-article__content blockquote { margin-inline: 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--trt-primary-light, var(--trt-primary)); font-size: 1.2rem; font-style: italic; }
.trt-article__content ul, .trt-article__content ol { padding-left: 24px; }

.trt-intour { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: center; margin: 2em 0 !important; padding: 14px; border: 1px solid var(--trt-border); border-radius: calc(var(--trt-radius) * 1.2); background: var(--trt-card, #fff); box-shadow: 0 18px 40px -28px rgba(16, 24, 40, .5); font-size: 1rem; line-height: 1.4; }
@media (min-width: 600px) { .trt-intour { grid-template-columns: 150px minmax(0, 1fr) auto; } }
.trt-intour__img { display: block; overflow: hidden; border-radius: var(--trt-radius); aspect-ratio: 4 / 3; background: #e4e7ec; }
.trt-intour__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.trt-intour__body > p { margin: 0 !important; }
.trt-intour__eyebrow { font-size: .74rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--trt-primary); }
.trt-intour__title { font-weight: 800; font-size: 1.08rem; }
.trt-intour__title a { color: var(--trt-text) !important; text-decoration: none !important; }
.trt-intour__meta { color: var(--trt-muted); font-size: .88rem; }
.trt-intour .trt-btn { text-decoration: none !important; color: #fff !important; }
@media (max-width: 599.98px) { .trt-intour .trt-btn { grid-column: 1 / -1; } }

.trt-article__faq { margin-top: 48px; }
.trt-article__faq h2 { margin-bottom: 16px !important; font-size: 1.6rem; scroll-margin-top: calc(var(--trt-header-h, 64px) + 24px); }
.trt-qa { border-top: 1px solid var(--trt-border); }
.trt-qa:last-child { border-bottom: 1px solid var(--trt-border); }
.trt-qa summary { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font-weight: 700; font-size: 1.05rem; cursor: pointer; list-style: none; }
.trt-qa summary::-webkit-details-marker { display: none; }
.trt-qa summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--trt-primary-soft, #eef4fc); color: var(--trt-primary); font-weight: 800; transition: transform .2s; }
.trt-qa[open] summary::after { transform: rotate(45deg); }
.trt-qa p { margin: 0 0 18px !important; color: var(--trt-muted); line-height: 1.65; }

.trt-expertbox { display: flex; gap: 18px; margin-top: 40px; padding: 22px; border-radius: calc(var(--trt-radius) * 1.2); background: var(--trt-card, #fff); border: 1px solid var(--trt-border); }
.trt-expertbox__img { flex: none; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.trt-expertbox p { margin: 0 0 4px !important; }
.trt-expertbox__label { font-size: .76rem !important; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; color: var(--trt-primary); }
.trt-article__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 0; list-style: none; }

.trt-sidetours { padding: 16px; border: 1px solid var(--trt-border); border-radius: var(--trt-radius); background: var(--trt-card, #fff); }
.trt-sidetours__title { margin: 0 0 12px !important; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--trt-muted); }
.trt-sidetours ul { display: grid; gap: 12px; margin: 0 0 14px; padding: 0; list-style: none; }
.trt-sidetours a { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; align-items: center; color: var(--trt-text); text-decoration: none; }
.trt-sidetours__img { display: block; overflow: hidden; border-radius: 10px; aspect-ratio: 1; background: #e4e7ec; }
.trt-sidetours__img img { width: 100%; height: 100%; object-fit: cover; }
.trt-sidetours__body { display: grid; gap: 2px; font-size: .88rem; line-height: 1.3; }
.trt-sidetours a:hover strong { color: var(--trt-primary); }

/* Gen Z */
.trt-skin-genz .trt-jsearch, .trt-skin-genz .trt-intour, .trt-skin-genz .trt-sidetours, .trt-skin-genz .trt-expertbox, .trt-skin-genz .trt-article__toc details { border: 2px solid var(--trt-ink); box-shadow: 4px 4px 0 var(--trt-ink); }
.trt-skin-genz .trt-jhero__title, .trt-skin-genz .trt-article__title, .trt-skin-genz .trt-jcard__title { font-family: var(--trt-display); }
.trt-skin-genz .trt-jcard__img, .trt-skin-genz .trt-article__hero img { border: 2px solid var(--trt-ink); }
