/* ==========================================================================
   TT Core — content blocks (Claude, v0.5.0)
   Designed layout for the old-site text on tour pages (inc/content-blocks.php).
   Uses the T2 tokens defined on .tttd (tt-t2.css). Big-photo "Option B" style.
   ========================================================================== */

.ttcb{background:#fff}
.ttcb p+p{margin-top:14px}
.ttcb ul,.ttcb ol:not(.ttcb-glance){margin:14px 0 0;padding-left:22px}
.ttcb ul li{list-style:disc;margin-bottom:6px}
.ttcb ol:not(.ttcb-glance) li{list-style:decimal;margin-bottom:6px}
.ttcb table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.ttcb th,.ttcb td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.ttcb th{background:var(--chip)}
.ttcb figure:not([class]) img,.ttcb p img{border-radius:12px;height:auto}
.ttcb a:not(.tttd-btn):not(.ttcb-card):not(.tt-b){text-decoration:underline;text-underline-offset:3px}
/* old-site buttons inside the text (WorkBuddy 0.4.3 fix, carried over) */
.ttcb a.tt-b,.ttcb a.tt-b--solid{color:#fff!important;text-decoration:none}
.ttcb a.tt-b--line{color:var(--acc)!important}
.ttcb p:has(> a.tt-b){margin-top:16px}
/* a species card: common name, Latin name, note */
.ttcb .ttcb-card__sub{font:italic 400 15px 'Fraunces',Georgia,serif;color:var(--soft)}
.ttcb .ttcb-card__note{font:600 14px 'Public Sans',sans-serif;color:var(--acc);line-height:1.4}

.ttcb-band{padding:64px 0}
.ttcb-band--sand{background:var(--sand)}
.ttcb-band--tight{padding:40px 0 0}
.ttcb-band--tight+.ttcb-band{padding-top:28px}

/* group heading */
.ttcb-gh{max-width:760px;margin-bottom:28px}
.ttcb .ttcb-gh__h{font-size:clamp(26px,3vw,34px);line-height:1.15}
.ttcb-gh__txt{margin-top:10px;color:var(--mute)}

/* ---------- lead: H2 + intro beside a big photo ---------- */
.ttcb-lead{padding:72px 0 8px}
.ttcb-lead__in{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center}
.ttcb-lead.has-img .ttcb-lead__in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.ttcb-lead__txt{max-width:720px}
.ttcb-lead__txt>p:first-of-type{font-size:19px;color:var(--ink)}
.ttcb-lead__img{border-radius:18px;overflow:hidden;aspect-ratio:4/3}
.ttcb-lead__img img{width:100%;height:100%;object-fit:cover}
.ttcb-lead+.ttcb-band{padding-top:56px}

/* ---------- cards ---------- */
.ttcb-cards{display:grid;gap:18px}
.ttcb-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ttcb-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ttcb-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ttcb-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--ink)!important;transition:box-shadow .2s,transform .2s}
.ttcb-band--sand .ttcb-card{border-color:transparent}
a.ttcb-card:hover{box-shadow:0 14px 32px rgba(28,39,51,.14);transform:translateY(-2px)}
.ttcb-card__b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ttcb .ttcb-card__label{font:700 13px 'Public Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.ttcb .ttcb-card__h{font-size:20px;line-height:1.25}
.ttcb-card p{font-size:15px;color:var(--mute);margin:0!important}
.ttcb-card__go{margin-top:auto;padding-top:8px;font:600 15px 'Public Sans',sans-serif;color:var(--acc)}
/* text cards: a rust rule on top */
.ttcb-cards--text .ttcb-card{border-top:3px solid var(--acc)}
/* photo tiles: photo with the text laid over it */
.ttcb-cards--photo .ttcb-card{position:relative;min-height:340px;border:0;justify-content:flex-end;color:#fff!important}
.ttcb-cards--photo .ttcb-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 88%;transition:transform .5s}
.ttcb-cards--photo .ttcb-card:hover .ttcb-card__img{transform:scale(1.04)}
.ttcb-cards--photo .ttcb-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,22,30,0) 25%,rgba(15,22,30,.55) 55%,rgba(15,22,30,.92) 100%)}
.ttcb-cards--photo .ttcb-card__b{position:relative;z-index:1;flex:0 0 auto}
.ttcb-cards--photo .ttcb-card__h,.ttcb-cards--photo .ttcb-card p{color:#fff}
.ttcb-cards--photo .ttcb-card p{opacity:.92}
.ttcb-cards--photo .ttcb-card__label{color:#F2C38B}
.ttcb-cards--photo .ttcb-card__go{color:#F2C38B}
.ttcb-cards--photo.ttcb-cols-4 .ttcb-card{aspect-ratio:3/4;min-height:0}
/* linked cards with a photo (e.g. "5 Days"): photo on top, text below */
.ttcb-cards--photo a.ttcb-card{min-height:0;justify-content:flex-start;color:var(--ink)!important;background:#fff}
.ttcb-cards--photo a.ttcb-card::after{display:none}
.ttcb-cards--photo a.ttcb-card .ttcb-card__img{position:static;aspect-ratio:16/10;height:auto}
.ttcb-cards--photo a.ttcb-card .ttcb-card__b{flex:1}
.ttcb-cards--photo a.ttcb-card .ttcb-card__h{color:var(--ink)}
.ttcb-cards--photo a.ttcb-card p{color:var(--mute);opacity:1}
.ttcb-cards--photo a.ttcb-card .ttcb-card__label,.ttcb-cards--photo a.ttcb-card .ttcb-card__go{color:var(--acc)}
.ttcb-cards--photo.ttcb-cols-4 a.ttcb-card{aspect-ratio:auto}

/* ---------- call to action band ---------- */
.ttcb-cta{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.ttcb-cta__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ttcb-cta.has-img::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(15,22,30,.72)}
.ttcb-cta__in{position:relative;z-index:2;padding-top:72px;padding-bottom:72px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.ttcb .ttcb-cta__h{color:#fff;font-size:clamp(28px,3.6vw,40px)}
.ttcb-cta__txt{font-size:18px;max-width:56ch;opacity:.93}
.ttcb-cta__txt p{color:#fff}
.ttcb-cta__btn{margin-top:8px}

/* ---------- feature panel (e.g. Tibet Stories) ---------- */
.ttcb-feature{display:grid;grid-template-columns:minmax(0,1fr);background:var(--ink);color:#fff;border-radius:20px;overflow:hidden}
.ttcb-feature.has-img{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ttcb-feature__img{min-height:340px}
.ttcb-feature__img img{width:100%;height:100%;object-fit:cover}
.ttcb-feature__b{padding:48px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.ttcb .ttcb-feature__eb{font:700 13px 'Public Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#F2C38B}
.ttcb .ttcb-feature__h{color:#fff;font-size:clamp(26px,3vw,34px)}
.ttcb-feature__b p{color:#fff;opacity:.9}
.ttcb-feature__btn{align-self:flex-start;margin-top:6px}

/* ---------- permits ---------- */
.ttcb-permits{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}
.ttcb-permit{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.ttcb-band--sand .ttcb-permit{border-color:transparent}
.ttcb .ttcb-permit__h{font-size:21px;line-height:1.3}
.ttcb-permit p{color:var(--mute)}
.ttcb-ok{margin-top:18px;display:flex;gap:10px;align-items:center;font-weight:600;color:var(--ok)}
.ttcb-ok::before{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.ttcb-ok p{color:var(--ok)}
.ttcb-permit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-bottom:18px}
.ttcb-permit-list p{margin:0!important;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;font-size:15px}
.ttcb-band--sand .ttcb-permit-list p{border-color:transparent}

/* ---------- route at a glance ---------- */
.ttcb-glance{display:grid;gap:0;padding:0;margin:0;counter-reset:g}
.ttcb-glance__i{position:relative;padding:0 0 22px 34px;border-left:2px solid var(--line);margin-left:9px}
.ttcb-glance__i:last-child{border-left-color:transparent;padding-bottom:0}
.ttcb-glance__i::before{content:"";position:absolute;left:-10px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--acc)}
.ttcb .ttcb-glance__h{font-size:19px;margin-bottom:6px}
.ttcb-glance__i p{font-size:15px;color:var(--mute);margin:0!important}
.ttcb-glance__i p+p{margin-top:2px!important}
.ttcb-glance{columns:auto}

/* ---------- prose with a photo ---------- */
.ttcb-prose{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}
.ttcb-prose:not(.has-img) .ttcb-prose__b{max-width:760px}
.ttcb-prose.has-img{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.ttcb-prose.has-img.is-flip .ttcb-prose__img{order:-1}
.ttcb-prose.has-img.is-flip{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.ttcb .ttcb-prose__h{font-size:clamp(24px,2.6vw,30px);margin-bottom:16px}
.ttcb-prose__img{border-radius:18px;overflow:hidden;position:sticky;top:96px;aspect-ratio:4/3;max-height:440px}
.ttcb-prose__img img{width:100%;height:100%;object-fit:cover}

/* ---------- short intro above the inquiry form ---------- */
.ttcb--formintro{padding:56px 0 0;text-align:center}
.ttcb--formintro .tttd-h2{margin-bottom:10px}
.ttcb-formintro{color:var(--mute);max-width:620px;margin:0 auto}

/* ---------- smaller screens ---------- */
@media (max-width:1000px){
  .ttcb-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ttcb-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .ttcb-lead.has-img .ttcb-lead__in,.ttcb-feature.has-img,.ttcb-prose.has-img,.ttcb-prose.has-img.is-flip{grid-template-columns:minmax(0,1fr)}
  .ttcb-prose.has-img.is-flip .ttcb-prose__img{order:0}
  .ttcb-prose__img{position:static;aspect-ratio:16/10}
  .ttcb-lead__in{gap:28px}
  .ttcb-feature__img{min-height:240px}
  .ttcb-feature__b{padding:30px 24px}
  .ttcb-band{padding:48px 0}
  .ttcb-lead{padding-top:52px}
}
@media (max-width:560px){
  .ttcb-cols-2,.ttcb-cols-3,.ttcb-cols-4{grid-template-columns:minmax(0,1fr)}
  .ttcb-cards--photo .ttcb-card,.ttcb-cards--photo.ttcb-cols-4 .ttcb-card{aspect-ratio:1/1;min-height:0}
  .ttcb-cards--photo a.ttcb-card{aspect-ratio:auto}
  .ttcb-cta__in{padding-top:56px;padding-bottom:56px}
}
@media (prefers-reduced-motion:reduce){
  .ttcb-card,.ttcb-cards--photo .ttcb-card__img{transition:none}
  a.ttcb-card:hover{transform:none}
}

/* ==========================================================================
   v0.5.0 — the rest of the tour page (extends tt-t2.css)
   ========================================================================== */

/* "The trip at a glance": each highlight with a small photo of the place */
.tttd-hl li.has-img{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;align-items:center;padding:10px 14px 10px 10px}
.tttd-hl li.has-img img{grid-row:1 / span 2;width:64px;height:64px;object-fit:cover;border-radius:8px}
.tttd-hl li.has-img b{align-self:center}

/* route: a horizontal line of stops for short trips (computer width) */
@media (min-width:821px){
  .tttd-stops--line{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;padding-top:4px}
  .tttd-stops--line::before{left:12px;right:12px;top:16px;bottom:auto;width:auto;height:2px}
  .tttd-stops--line li{flex-direction:column;align-items:flex-start;gap:10px;padding:0}
  .tttd-stops--line b{font-size:16px;line-height:1.3}
}

/* a day without a photo: no empty grey box, the text runs full width */
.tttd-row--noimg .tttd-row__img{flex:0 0 100%;min-height:0;background:none;padding:22px 36px 0}
.tttd-row--noimg .tttd-badge{position:static;display:inline-block}
.tttd-row--noimg .tttd-row__txt{flex:1 1 100%;padding-top:14px}
.tttd-row--noimg .tttd-row__body{max-width:760px}
@media (max-width:820px){
  .tttd-row--noimg .tttd-row__img{padding:20px 22px 0}
}
.tttd-hl li{display:flex;align-items:center;min-height:64px}
.tttd-hl li.has-img{display:grid}
@media (min-width:821px){ .tttd-stops--line i{flex:none;width:24px;height:24px} }

/* v0.5.0: day text written as lists (real tours) */
.tttd-row__body ul,.tttd-3__body ul{margin:0 0 .6em;padding-left:1.15em;list-style:disc}
.tttd .tttd-row__body li,.tttd .tttd-3__body li{margin:0 0 .35em;list-style:disc}
.tttd-row__body li::marker,.tttd-3__body li::marker{color:#8B3A3A}
