
/* TravexHub Blog, scoped editorial layout (October 2026). */
.txb { --txb-navy: var(--navy-deep, #132145); --txb-gold: var(--gold, #d5b46c); --txb-muted: var(--muted-foreground, #656e7b); color: var(--txb-navy); }
.txb-shell { width: min(100% - 2.5rem, 1230px); margin-inline: auto; }
.txb a:focus-visible { outline: 3px solid var(--txb-gold); outline-offset: 4px; }
.txb-kicker { display: inline-flex; align-items: center; gap: .7rem; color: #A27F34; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: .73rem; }
.txb-kicker:before { content: ""; width: 27px; height: 1px; background: currentColor; }
.txb-journal-hero { background: #132145; color: #fff; padding: clamp(145px, 13vw, 192px) 0 clamp(60px, 7vw, 104px); position: relative; overflow: hidden; }
.txb-journal-hero:after { content: ""; position: absolute; width: 47vw; height: 47vw; max-width: 720px; max-height: 720px; border: 1px solid rgba(213,180,108,.12); border-radius: 50%; right: -18vw; top: -30%; pointer-events: none; }
.txb-journal-hero .txb-kicker { color: #E8C983; }
.txb-journal-title { font-family: var(--font-display,Georgia,serif); font-size: clamp(3.1rem, 7.4vw, 6.5rem); letter-spacing: -.025em; line-height: 1.01; font-weight: 400; margin: 1.05rem 0 1.1rem; }
.txb-journal-title em { color: #E8C983; font-style: italic; }
.txb-journal-hero p { max-width: 580px; font-size: clamp(1rem,1.4vw,1.125rem); line-height: 1.8; color: rgba(255,255,255,.78); }
.txb-crumbs { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; font-size:.82rem; color:var(--txb-muted); }
.txb-crumbs a { text-decoration:underline; text-underline-offset: 4px; }
.txb-journal-hero .txb-crumbs { color: rgba(255,255,255,.72); margin-bottom:1.25rem; }
.txb-journal-main { padding:clamp(46px,7vw,96px) 0; background:#fff; }
.txb-sectionhead { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.7rem; }
.txb-sectionhead h2 { font-family:var(--font-display,Georgia,serif); font-size:clamp(2rem,3.3vw,3.25rem); line-height:1.1; margin-top:.75rem; }
.txb-feature { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); background:#F7F6F2; min-height:360px; border:1px solid rgba(19,33,69,.08); }
.txb-media { display:block; overflow:hidden; background:linear-gradient(140deg,#132145,#435a7c); position:relative; }
.txb-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.txb-media:hover img, .txb-story:hover .txb-media img { transform:scale(1.04); }
.txb-media-placeholder { display:grid; place-items:center; min-height:240px; color:rgba(255,255,255,.85); font-family:var(--font-display,Georgia,serif); font-size:2.5rem; padding:2rem; text-align:center; }
.txb-feature > .txb-media { min-height:360px; }
.txb-feature-copy { padding:clamp(28px,4vw,68px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.txb-meta { display:flex; flex-wrap:wrap; gap:.5rem .9rem; color:#697282; text-transform:uppercase; font-size:.73rem; line-height:1.6; letter-spacing:.085em; font-weight:600; }
.txb-meta a { color:#937332; }
.txb-feature-title { font-family:var(--font-display,Georgia,serif); font-size:clamp(2rem,3.3vw,3.15rem); font-weight:400; line-height:1.12; margin:1.2rem 0; }
.txb-feature-title a:hover, .txb-story-title a:hover { color:#9B7936; }
.txb-excerpt { font-size:.98rem; line-height:1.8; color:#566071; max-width:62ch; }
.txb-article-link { display:inline-flex; gap:.55rem; align-items:center; margin-top:1.55rem; padding-bottom:.35rem; color:#132145; border-bottom:1px solid #B58E47; font-weight:700; font-size:.87rem; }
.txb-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,36px); padding-top:3.3rem; }
.txb-story { min-width:0; border-bottom:1px solid #E3E5E8; padding-bottom:1.5rem; }
.txb-story .txb-media { aspect-ratio:1.5; margin-bottom:1.35rem; }
.txb-story .txb-meta { margin-bottom:.6rem; }
.txb-story-title { font-family:var(--font-display,Georgia,serif); font-size:clamp(1.55rem,2.2vw,2.08rem); line-height:1.18; font-weight:400; margin:.4rem 0 .75rem; }
.txb-story .txb-excerpt { font-size:.92rem; }
.txb-category-nav { display:flex; gap:.6rem; flex-wrap:wrap; margin:1.5rem 0 0; }
.txb-category-nav a { display:inline-flex; min-height:39px; align-items:center; border:1px solid #D7DBE1; padding:.42rem .85rem; color:#132145; font-size:.8rem; }
.txb-category-nav a:hover, .txb-category-nav a:focus-visible { background:#132145; color:white; }
.txb-pagination { margin:3rem 0 .5rem; }
.txb-pagination .nav-links { display:flex; flex-wrap:wrap; gap:.6rem; }
.txb-pagination a, .txb-pagination span { min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:.4rem .8rem; border:1px solid #D7DBE1; }
.txb-pagination .current { background:#132145; color:#fff; border-color:#132145; }
.txb-empty { background:#F7F6F2; padding:3rem; color:#566071; }
.txb-post-head { background:#F7F6F2; padding:clamp(138px,12vw,172px) 0 45px; }
.txb-post-head .txb-shell { max-width:1060px; }
.txb-post-h1 { font-family:var(--font-display,Georgia,serif); font-size:clamp(2.7rem,5.8vw,5.2rem); line-height:1.04; font-weight:400; letter-spacing:-.025em; max-width:18ch; margin:1.2rem 0 1.4rem; }
.txb-post-dek { font-size:clamp(1.05rem,1.6vw,1.23rem); line-height:1.7; color:#4E5A70; max-width:65ch; margin-bottom:1.5rem; }
.txb-post-featured { width:min(100% - 2.5rem,1230px); margin:0 auto; }
.txb-post-featured img { display:block; width:100%; height:auto; max-height:570px; object-fit:cover; }
.txb-post-featured .txb-media-placeholder { min-height:380px; }
.txb-post-layout { display:grid; grid-template-columns:minmax(0,740px) minmax(220px,295px); justify-content:space-between; gap:clamp(28px,6vw,92px); padding:clamp(42px,6vw,84px) 0; }
.txb-prose { font-size:1.0625rem; line-height:1.85; color:#384459; overflow-wrap:anywhere; }
.txb-prose p { margin:0 0 1.45rem; }
.txb-prose h2,.txb-prose h3,.txb-prose h4 { color:#132145; font-family:var(--font-display,Georgia,serif); line-height:1.18; margin:2.4rem 0 1rem; }
.txb-prose h2 { font-size:clamp(2rem,3vw,2.6rem); }
.txb-prose h3 { font-size:clamp(1.55rem,2.5vw,1.95rem); }
.txb-prose ul, .txb-prose ol { margin:0 0 1.6rem; padding-left:1.5rem; list-style:revert; }
.txb-prose li { margin-bottom:.45rem; }
.txb-prose a { color:#8F6F2F; text-decoration:underline; text-underline-offset:3px; }
.txb-prose blockquote { margin:2rem 0; padding:1.1rem 1.5rem; border-left:3px solid #B58E47; background:#F7F6F2; color:#26314F; }
.txb-prose img { max-width:100%; height:auto; }
.txb-prose figure { margin:1.8rem 0; }
.txb-prose figcaption { color:#697282; font-size:.85rem; }
.txb-prose .wp-block-image img { border-radius:0; }
.txb-prose table { display:block; overflow-x:auto; width:100%; }
.txb-prose th,.txb-prose td { padding:.65rem; border:1px solid #D7DBE1; }
.txb-sidebar { align-self:start; position:sticky; top:112px; }
.txb-sidebar-panel { background:#132145; color:white; padding:clamp(22px,2.8vw,36px); }
.txb-sidebar-panel h2 { font-family:var(--font-display,Georgia,serif); font-size:2rem; line-height:1.12; margin:.7rem 0 1rem; }
.txb-sidebar-panel p { color:rgba(255,255,255,.78); font-size:.9rem; line-height:1.7; }
.txb-sidebar-panel .txb-article-link { color:#E8C983; }
.txb-sidebar-more { padding:1.6rem 0; border-bottom:1px solid #E3E5E8; }
.txb-sidebar-more h2 { font-family:var(--font-display,Georgia,serif); font-size:1.6rem; margin-bottom:1rem; }
.txb-sidebar-more a { display:block; padding:.75rem 0; border-bottom:1px solid #E3E5E8; font-size:.9rem; line-height:1.5; }
.txb-post-bottom { padding:2.5rem 0 5rem; border-top:1px solid #E3E5E8; }
.txb-home { background:#F7F6F2; padding:clamp(60px,8vw,110px) 0; }
.txb-home-intro { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:2rem; }
.txb-home-intro h2 { font-family:var(--font-display,Georgia,serif); font-size:clamp(2.3rem,4.2vw,4rem); line-height:1.08; margin-top:.7rem; }
.txb-home-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:1.75rem; }
.txb-home-grid .txb-story { background:#fff; border:1px solid #E3E5E8; padding-bottom:0; }
.txb-home-grid .txb-story:first-child { grid-row:span 2; }
.txb-home-grid .txb-story:first-child .txb-media { aspect-ratio:1.45; }
.txb-home-grid .txb-story:not(:first-child) { display:grid; grid-template-columns:40% 1fr; align-items:stretch; }
.txb-home-grid .txb-story:not(:first-child) .txb-media { aspect-ratio:auto; height:100%; margin:0; }
.txb-home-grid .txb-story:not(:first-child) .txb-story-title { font-size:1.5rem; }
.txb-home-grid .txb-story-copy { padding:1.4rem; }
.txb-home-grid .txb-story .txb-media { margin:0; }
.txb-home-grid .txb-story:first-child .txb-story-copy { padding:1.75rem 2rem 2rem; }
.txb-home-grid:has(>.txb-story:only-child) { grid-template-columns:minmax(0,760px); }
@media (max-width:900px) {
  .txb-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .txb-post-layout { grid-template-columns:minmax(0,1fr); }
  .txb-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
  .txb-sidebar-more { padding:0; border:0; }
  .txb-home-grid .txb-story:not(:first-child) { display:block; }
  .txb-home-grid .txb-story:not(:first-child) .txb-media { aspect-ratio:1.5; height:auto; }
}
@media (max-width:640px) {
  .txb-shell { width:calc(100% - 2.25rem); }
  .txb-journal-hero { padding-top:125px; padding-bottom:55px; }
  .txb-journal-title { font-size:clamp(3.15rem,11vw,4.3rem); }
  .txb-feature { grid-template-columns:1fr; }
  .txb-feature > .txb-media { min-height:240px; aspect-ratio:1.5; }
  .txb-feature-copy { padding:1.6rem; }
  .txb-story-grid, .txb-home-grid { grid-template-columns:1fr; gap:1.5rem; }
  .txb-story-grid { padding-top:2rem; }
  .txb-post-head { padding-top:130px; }
  .txb-post-h1 { font-size:clamp(2.65rem,9vw,3.8rem); }
  .txb-post-featured { width:100%; }
  .txb-post-featured img { max-height:400px; }
  .txb-sidebar { grid-template-columns:1fr; }
  .txb-home-intro { display:block; }
  .txb-home-intro .txb-article-link { margin-top:1.2rem; }
  .txb-home-grid .txb-story:first-child { grid-row:auto; }
  .txb-home-grid .txb-story:not(:first-child) { display:block; }
  .txb-home-grid .txb-story:not(:first-child) .txb-media { aspect-ratio:1.5; }
}
@media (prefers-reduced-motion:reduce) { .txb-media img { transition:none; transform:none!important; } }

/* TravexHub post and archive refinement: wider composition and readable rhythm. */
.txb { overflow-wrap: break-word; }
.txb .txb-shell {
  width: calc(100% - clamp(36px, 6.2vw, 104px));
  max-width: 1240px;
}
.txb-post-head { padding-top: clamp(135px, 11vw, 158px); padding-bottom: clamp(40px, 5.3vw, 65px); }
.txb-post-head .txb-shell { max-width: 1240px; }
.txb-post-head .txb-crumbs { font-size: .91rem; gap: .6rem; line-height: 1.6; max-width: 100%; }
.txb-post-head .txb-crumbs [aria-current="page"] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: min(48ch, 48vw); }
.txb-post-head .txb-meta { font-size: .82rem; letter-spacing: .075em; margin-bottom: .35rem; }
.txb-post-h1 {
  max-width: 22ch;
  margin: 1.15rem 0 1.3rem;
  font-size: clamp(3.1rem, 5.1vw, 5rem);
  line-height: 1.075;
  letter-spacing: -.025em;
}
.txb-post-dek { max-width: 73ch; font-size: clamp(1.13rem, 1.65vw, 1.33rem); line-height: 1.75; color: #46556F; }
.txb-post-featured {
  width: calc(100% - clamp(36px, 6.2vw, 104px));
  max-width: 1240px;
  margin-top: 0;
  margin-bottom: 0;
  background: #f7f6f2;
}
.txb-post-featured img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.txb-post-layout {
  grid-template-columns: minmax(0, 780px) minmax(255px, 318px);
  gap: clamp(36px, 4.6vw, 74px);
  padding-top: clamp(48px, 6vw, 78px);
  padding-bottom: clamp(64px, 8vw, 106px);
  align-items: start;
}
.txb-prose { font-size: 1.125rem; line-height: 1.84; color: #334158; }
.txb-prose p { margin-bottom: 1.55rem; }
.txb-prose :is(h2, h3, h4) { color: #132145; font-weight: 400; }
.txb-prose h2 { font-size: clamp(2.15rem, 2.75vw, 2.65rem); line-height: 1.16; margin: 2.65rem 0 1.04rem; }
.txb-prose h3 { font-size: clamp(1.76rem, 2.2vw, 2.12rem); line-height: 1.2; margin: 2.15rem 0 .8rem; }
.txb-prose h4 { font-size: 1.52rem; line-height: 1.28; }
.txb-prose ul, .txb-prose ol { margin: .35rem 0 1.75rem; padding-left: 1.55rem; }
.txb-prose li { padding-left: .15rem; margin-bottom: .55rem; }
.txb-prose li::marker { color: #8f6f2f; }
.txb-prose a { text-decoration-thickness: 1px; text-underline-offset: .23em; }
.txb-sidebar { top: 115px; }
.txb-sidebar-panel { padding: clamp(27px, 2.8vw, 37px); }
.txb-sidebar-panel h2 { font-size: clamp(2.05rem, 2.7vw, 2.6rem); line-height: 1.17; margin: .8rem 0 1.1rem; }
.txb-sidebar-panel p { font-size: .99rem; line-height: 1.78; }
.txb-sidebar-panel .txb-kicker { font-size: .76rem; }
.txb-sidebar-more { padding-top: 1.9rem; }
.txb-sidebar-more h2 { font-size: 1.8rem; margin-bottom: 1rem; }
.txb-sidebar-more a { font-size: .975rem; padding: .85rem 0; }
.txb-post-bottom { padding-block: 3.1rem 5.3rem; }
.txb-post-bottom .txb-story-grid { padding-top: .2rem; }
.txb-journal-title { max-width: 900px; }
.txb-journal-hero p { max-width: 680px; font-size: 1.1rem; }
.txb-story .txb-excerpt { font-size: 1rem; }
.txb-journal-main { min-height: 300px; }
body.single-post footer .container-editorial,
body.blog footer .container-editorial {
  max-width: 1500px;
  padding-inline: clamp(20px, 3.2vw, 48px);
}
body.single-post footer .text-sm,
body.blog footer .text-sm { font-size: .94rem; line-height: 1.68; }
body.single-post footer .eyebrow,
body.blog footer .eyebrow { font-size: .77rem; }
@media (min-width: 1200px) {
  .txb-post-layout { grid-template-columns: minmax(0, 1fr) minmax(270px, 318px); }
  .txb-post-layout .txb-prose { max-width: 75ch; }
}
@media (min-width: 641px) and (max-width: 1050px) {
  .txb-post-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .txb-post-layout .txb-prose { max-width: 74ch; }
  .txb-sidebar { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
  .txb-sidebar-more { padding: .8rem 0; border: 0; }
  .txb-post-h1 { font-size: clamp(2.95rem, 6vw, 4.3rem); }
}
@media (max-width: 640px) {
  .txb .txb-shell { width: calc(100% - 36px); }
  .txb-post-head { padding-top: 118px; padding-bottom: 38px; }
  .txb-post-head .txb-crumbs { font-size: .8rem; }
  .txb-post-head .txb-crumbs [aria-current="page"] { max-width: 31vw; }
  .txb-post-h1 { font-size: clamp(2.65rem, 9vw, 3.45rem); line-height: 1.1; max-width: 100%; margin: 1rem 0; }
  .txb-post-dek { font-size: 1.05rem; line-height: 1.7; }
  .txb-post-head .txb-meta { font-size: .72rem; letter-spacing: .055em; }
  .txb-post-featured { width: 100%; }
  .txb-post-featured img { width: 100%; height: auto; max-height: none; object-fit: contain; }
  .txb-post-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.6rem; padding-top: 2.2rem; padding-bottom: 3.6rem; }
  .txb-prose { font-size: 1.05rem; line-height: 1.8; }
  .txb-prose h2 { font-size: clamp(1.95rem, 7.5vw, 2.25rem); margin: 2.15rem 0 .8rem; }
  .txb-prose h3 { font-size: clamp(1.55rem, 6vw, 1.8rem); margin: 1.8rem 0 .7rem; }
  .txb-sidebar { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .txb-sidebar-panel { padding: 1.6rem; }
  .txb-sidebar-panel h2 { font-size: 2.15rem; }
  .txb-journal-title { font-size: clamp(3.1rem, 11vw, 4.15rem); }
  .txb-home-grid .txb-story:first-child .txb-story-copy { padding: 1.45rem; }
  body.single-post footer .container-editorial,
  body.blog footer .container-editorial { padding-inline: 22px; }
}
@media (max-width: 359px) {
  .txb .txb-shell { width: calc(100% - 28px); }
  .txb-post-head { padding-top: 110px; }
  .txb-post-h1 { font-size: 2.42rem; }
  .txb-prose { font-size: 1.02rem; }
}

/* Featured-image + metadata masthead: shared by all single blog posts. */
.txb-post-eyebrow {
  margin-top: 2rem;
  color: #9A772F;
  font: 700 .8rem/1.4 var(--font-sans, Arial, sans-serif);
  text-transform: uppercase;
  letter-spacing: .13em;
}
.txb-post-eyebrow a { color: inherit; text-decoration: none; }
.txb-post-eyebrow a:hover { text-decoration: underline; text-underline-offset: 4px; }
.txb-post-head { padding-bottom: clamp(34px, 4vw, 56px); }
.txb-post-h1 {
  max-width: 25ch;
  font-size: clamp(3rem, 4.3vw, 4.75rem);
  line-height: 1.09;
  margin: 1.15rem 0 1.3rem;
}
.txb-feature-unit {
  width: calc(100% - clamp(36px, 6.2vw, 104px));
  max-width: 1240px;
  margin-inline: auto;
}
.txb-feature-info {
  background: #132145;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.15rem 2rem;
  padding: clamp(18px, 2.4vw, 28px) clamp(22px, 3vw, 42px);
}
.txb-feature-info-label {
  color: #E9CB89;
  font-size: .82rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.txb-feature-info-glyph { display: inline-block; margin-right: .45rem; font-size: 1.15rem; vertical-align: -.03em; }
.txb-feature-info-items { display:flex; flex-wrap:wrap; gap: 1.2rem clamp(16px, 2.7vw, 40px); }
.txb-feature-detail { display:flex; flex-direction:column; gap:.3rem; min-width: 0; }
.txb-feature-detail-caption {
  color: #D8C59C;
  font-size: .7rem;
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.txb-feature-detail strong, .txb-feature-detail time {
  color: #fff;
  font-size: .925rem;
  line-height: 1.5;
  font-weight: 500;
}
.txb-feature-unit .txb-post-featured { width: 100%; max-width: none; margin: 0; }
.txb-feature-unit .txb-featured-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: #f7f6f2;
}
.txb-featured-caption {
  padding: 12px 16px;
  color: #566071;
  background: #F7F6F2;
  font-size: .83rem;
  line-height: 1.65;
}
.txb-featured-empty {
  display: grid;
  place-items: center;
  aspect-ratio: 16/7;
  background: linear-gradient(125deg,#132145,#2d415d);
  color: #fff;
  text-align: center;
  padding: 2rem;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(1.75rem, 3.3vw, 3.2rem);
}
@media (max-width: 900px) {
  .txb-feature-info { align-items: flex-start; }
  .txb-feature-info-label { width: 100%; }
  .txb-feature-info-items { width: 100%; gap: 1rem 2rem; }
}
@media (max-width: 640px) {
  .txb-post-eyebrow { margin-top: 1.5rem; font-size: .73rem; }
  .txb-post-head { padding-bottom: 30px; }
  .txb-post-h1 { font-size: clamp(2.45rem, 8.5vw, 3.35rem); line-height: 1.11; margin: .9rem 0 1rem; }
  .txb-feature-unit { width: 100%; }
  .txb-feature-info { padding: 20px; gap: 1rem; }
  .txb-feature-info-label { font-size: .75rem; }
  .txb-feature-info-items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.1rem 1.35rem; }
  .txb-feature-detail-caption { font-size: .64rem; }
  .txb-feature-detail strong, .txb-feature-detail time { font-size: .82rem; }
  .txb-featured-empty { aspect-ratio: 5/3; }
}
