/* Traverse Guides Hub Fix. Fully scoped: no global page or theme selectors. */
.tcg-guide-directory,.tcg-guide-directory *, .tcg-author-card,.tcg-author-card * { box-sizing:border-box; }
.tcg-guide-directory { width:100%; background:#f9f9f6; color:#173331; padding:clamp(54px,7vw,104px) 22px 76px; isolation:isolate; font-family:inherit; }
.tcg-guide-directory [hidden], .tcg-author-card [hidden] { display:none!important; }
.tcg-directory-inner { max-width:1200px; margin:0 auto; }
.tcg-section-heading { display:flex; gap:24px; align-items:end; justify-content:space-between; margin:0 0 30px; }
.tcg-section-heading > div { min-width:0; max-width:735px; }
.tcg-eyebrow { color:#658175; font-size:11px; font-weight:800; letter-spacing:.19em; display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; margin-bottom:14px; }
.tcg-eyebrow-mark { width:23px; height:1px; display:inline-block; background:#819b84; }
.tcg-section-heading h2 { font-size:clamp(32px,4.3vw,58px)!important; line-height:1.08!important; font-weight:600!important; letter-spacing:-.047em!important; margin:0 0 14px!important; color:#143531!important; }
.tcg-section-heading p { margin:0!important; color:#5b6b67; font-size:15px; line-height:1.75; max-width:615px; }
.tcg-updated { white-space:nowrap; color:#698078; font-size:12px; font-weight:600; padding-bottom:12px; }
.tcg-updated-dot { display:inline-block; width:7px;height:7px;background:#78a58d;border-radius:50%;margin-right:7px; }
.tcg-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:18px 0 18px; border-top:1px solid #dfe5dd; border-bottom:1px solid #dfe5dd; }
.tcg-search-wrap { flex:1 1 285px; max-width:410px; position:relative; display:block; }
.tcg-search-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:23px; color:#56776b; line-height:1; pointer-events:none; }
.tcg-search { width:100%; height:48px; background:#fff; color:#183b35; border:1px solid #e0e7df; border-radius:11px; font-size:13px; padding:10px 16px 10px 43px; outline:none; box-shadow:none; }
.tcg-search:focus { border-color:#35786b; box-shadow:0 0 0 3px rgba(55,115,103,.12); }
.tcg-search::placeholder { color:#8b9791; }
.tcg-tabs { display:flex; flex-wrap:wrap; gap:7px; }
.tcg-tab { display:inline-flex; align-items:center; justify-content:center; min-height:35px; padding:7px 13px; background:transparent; color:#526761; border:1px solid transparent; border-radius:999px; cursor:pointer; font-weight:600; font-size:12px; line-height:1.3; transition:background .18s ease,color .18s ease,border-color .18s ease; white-space:nowrap; }
.tcg-tab:hover,.tcg-tab:focus-visible { background:#e8efea; color:#17453b; }
.tcg-tab.is-active,.tcg-tab[aria-pressed="true"] { background:#1a4e43; color:#fff; border-color:#1a4e43; }
.tcg-count { color:#74817b; font-size:12px; margin:19px 0 19px; min-height:18px; }
.tcg-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.tcg-card { min-width:0; background:white; border:1px solid #e7ebe6; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; min-height:100%; box-shadow:0 8px 25px rgba(25,61,54,.035); transition:transform .23s ease,box-shadow .23s ease; }
.tcg-card:hover { transform:translateY(-4px); box-shadow:0 22px 45px rgba(25,61,54,.09); }
.tcg-card-image { display:block; aspect-ratio:1.45; position:relative; overflow:hidden; background:#d4dfd7; }
.tcg-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.tcg-card:hover .tcg-card-image img { transform:scale(1.05); }
.tcg-card-badge { position:absolute; z-index:1; left:16px; top:16px; font-size:10px; font-weight:800; letter-spacing:.11em; padding:7px 10px; color:#1c493f; background:#f8fcf9; border-radius:5px; }
.tcg-card-placeholder { height:100%; width:100%; display:flex; justify-content:center; align-items:center; color:#fff; background:linear-gradient(145deg,#a7b9a3,#557c6e 54%,#183f38); }
.tcg-card-placeholder span { font-size:clamp(17px,2.1vw,26px); line-height:1.14; font-weight:700; letter-spacing:.06em; text-align:center; }
.tcg-card-content { display:flex; flex-direction:column; flex:1; padding:25px 25px 23px; }
.tcg-card-meta { display:flex; gap:12px; align-items:center; text-transform:uppercase; letter-spacing:.06em; font-size:10px; font-weight:700; line-height:1.5; color:#84918b; min-height:16px; }
.tcg-meta-separator { width:3px;height:3px; flex:0 0 3px; border-radius:50%; background:#bec8c1; }
.tcg-card-content h3 { margin:13px 0 12px!important; font-size:clamp(19px,1.7vw,23px)!important; line-height:1.28!important; font-weight:650!important; letter-spacing:-.025em!important; color:#193832!important; }
.tcg-card-content h3 a { color:inherit; text-decoration:none; }
.tcg-card-content h3 a:hover { color:#166755; }
.tcg-card-content p { font-size:13px; color:#697a74; line-height:1.75; margin:0 0 24px!important; }
.tcg-read-more { margin-top:auto; display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:800; color:#215c50; text-decoration:none!important; border-top:1px solid #e6ebe5; padding-top:18px; }
.tcg-read-more span { font-size:18px; transition:transform .2s ease; }
.tcg-card:hover .tcg-read-more span { transform:translate(3px,-3px); }
.tcg-no-results { padding:45px 20px; background:white; border-radius:12px; text-align:center; color:#526c61; }
.tcg-more-wrap { display:flex; justify-content:center; padding-top:37px; }
.tcg-more { border:1px solid #b8cdc0; border-radius:999px; background:transparent; color:#1f4d41; padding:13px 24px; font-size:13px; font-weight:700; cursor:pointer; }
.tcg-more:hover,.tcg-more:focus-visible { background:#1f4d41; color:white; }
.tcg-more span { margin-left:16px; }
/* A small editorial card, floating within existing post content: no wrapping of custom headers/footers. */
.tcg-author-card { position:sticky; top:112px; float:right; clear:right; width:min(280px,34%); margin:6px 0 30px 36px; padding:25px; border-radius:16px; border:1px solid #dde8df; background:#f6f9f6; color:#233c35; box-shadow:0 12px 35px rgba(25,61,54,.065); font-family:inherit; text-align:left; z-index:2; }
.tcg-author-label { display:block; font-size:10px; letter-spacing:.17em; font-weight:800; color:#688879; margin-bottom:22px; }
.tcg-author-header { display:flex; gap:12px; align-items:center; margin-bottom:18px; }
.tcg-author-avatar { flex:0 0 55px; display:block; width:55px; height:55px; border-radius:50%; object-fit:cover; background:#164f42; }
.tcg-author-initials { display:flex; align-items:center; justify-content:center; font-size:17px; letter-spacing:.06em; font-weight:700; color:#fff; }
.tcg-author-header > div { min-width:0; }
.tcg-author-header strong { display:block; font-size:16px; line-height:1.3; font-weight:750; color:#173c33; }
.tcg-author-header span:not(.tcg-author-avatar) { display:block; font-size:11px; line-height:1.5; margin-top:3px; color:#698278; }
.tcg-author-card p { font-size:13px!important; color:#536960; line-height:1.77!important; margin:0 0 16px!important; }
.tcg-author-location { padding:12px 0; border-top:1px solid #dce7df; border-bottom:1px solid #dce7df; font-size:11px; color:#658177; }
.tcg-author-location span { margin-right:6px; color:#54826b; }
.tcg-author-profile-link { font-size:12px; display:inline-block; color:#1a5b48; margin:15px 0 0; font-weight:700; }
.tcg-author-cta { display:flex; justify-content:space-between; align-items:center; padding:13px 15px; border-radius:9px; margin-top:18px; background:#174e41; color:white!important; font-size:12px; text-decoration:none!important; font-weight:750; }
.tcg-author-cta:hover { background:#236755; color:white; }
@media(max-width:1100px) { .tcg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tcg-controls { display:block; }.tcg-search-wrap{ max-width:none; margin-bottom:13px; } .tcg-updated { display:none; } }
@media(max-width:780px) { .tcg-guide-directory{padding:54px 17px;} .tcg-grid{grid-template-columns:1fr;gap:15px;} .tcg-section-heading{margin-bottom:20px;} .tcg-section-heading h2{font-size:36px!important;} .tcg-card-content{padding:22px;} .tcg-card-image{aspect-ratio:1.64;} .tcg-tabs{gap:5px;} .tcg-tab{font-size:11px;padding:8px 11px;}.tcg-author-card{position:relative;top:auto;float:none;clear:both;width:100%;max-width:none;margin:20px 0 28px;padding:22px;} }
@media(prefers-reduced-motion:reduce){ .tcg-guide-directory * { transition:none!important; } }
