/* Best Train Rides — section styles, tr- prefix. Loaded after style.css.
   Palette values re-skinned 2026-11-04 to the board identity (navy/gold/red).
   Accent shift 2026-11-05: brand accent is now the logo red --accent
   (#a20315, hover #c8102e); see style.css :root note. */
/* record cards */
.tr-list{display:flex;flex-direction:column;gap:.65rem;margin:.6rem 0 1.4rem}
@media (min-width:820px){.tr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}}
.tr-card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column}
.tr-card .tr-foot{margin-top:auto;padding-top:.3rem}
@media (min-width:820px){.tr-list .tr-card{height:100%}}
/* save-a-shortlist toggle (Phase 3): rendered hidden, JS paints it */
.tr-fav{font:inherit;font-size:.8rem;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--brand-d);border-radius:999px;padding:.34rem .75rem;cursor:pointer;flex:none;line-height:1.25}
.tr-fav:hover{border-color:var(--brand)}
.tr-fav[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.tr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.tr-head h3,.tr-head h4{margin:0;font-size:1.14rem;line-height:1.3}
.tr-head h3 a{color:inherit;text-decoration:none}
.tr-head h3 a:hover,.tr-head h3 a:focus-visible{text-decoration:underline}
.tr-sub{font-size:.88rem;color:var(--mut);margin:2px 0 6px}
.tr-when{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-d);margin-right:.4rem}
.tr-season{font-size:.95rem;margin:0 0 5px}
.tr-sum{font-size:.97rem;line-height:1.5;margin:0 0 7px}
.tr-foot{margin:0;font-size:.86rem;color:var(--mut);display:flex;flex-wrap:wrap;gap:.2rem .8rem;align-items:baseline}
.tr-off{font-weight:700}
.tr-pill{display:inline-block;background:#e8eff7;border:1px solid #a9c3dd;color:var(--brand-d);font-size:.78rem;font-weight:700;border-radius:999px;padding:.14rem .6rem;white-space:nowrap;flex:none}
.tr-pill.adj{background:#f7ecd4;border-color:#dfc491;color:#7a5c14}
.tr-pill.mus{background:#eef1f7;border-color:#aebad2;color:#3d4f75}
/* public operating-status chips (Phase 1, 2026-11-04) */
.tr-tags{display:inline-flex;gap:.35rem;align-items:flex-start;flex:none;flex-wrap:wrap;justify-content:flex-end}
.tr-status{display:inline-block;font-size:.78rem;font-weight:700;border-radius:999px;padding:.14rem .6rem;white-space:nowrap;border:1px solid}
.tr-status.operating{background:#e6f4ea;border-color:#9dc7a8;color:#1e6b34}
.tr-status.seasonal{background:#fdf3e0;border-color:#e5c877;color:#7a5c14}
.tr-status.paused{background:#fbeae8;border-color:#e3a49d;color:#8f2318}
.tr-card[data-status="paused"]{opacity:.85;border-left-color:#b0564a}
/* grids of link cards (rides / journeys) */
.tr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.85rem;margin:.8rem 0 1.4rem}
.tr-gcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;text-decoration:none;color:inherit;display:block}
.tr-gcard:hover{border-color:var(--brand)}
.tr-gcard h3,.tr-gcard h4{margin:0 0 .3rem;font-size:1.18rem}
.tr-gcard p{margin:0 0 .5rem;font-size:.96rem}
.tr-gcard .go{font-weight:700;color:var(--ink2)}
.tr-art{border-radius:10px;overflow:hidden;line-height:0;margin:-1rem -1.1rem .8rem;border-bottom:1px solid var(--line)}
.tr-art svg{width:100%;height:auto;display:block}
/* province tiles */
.tr-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.55rem;margin:.7rem 0 1.3rem}
.tr-tile{display:block;text-align:center;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:10px;padding:.7rem .4rem .6rem;background:#fff;text-decoration:none;color:inherit}
.tr-tile:hover{border-color:var(--brand);background:#eef3fa}
.tr-tile .n{display:block;font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--ink)}
.tr-tile .c{display:block;font-weight:700;color:var(--brand);font-size:1.3rem;margin:.1rem 0}
.tr-tile .t{display:block;font-size:.8rem;color:var(--mut)}
/* year at a glance */
.tr-months{list-style:none;padding:0;margin:.7rem 0 1.2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.5rem}
.tr-months li{border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;background:#fff}
.tr-mn{font-weight:700;color:var(--ink)}
.tr-cnt{float:right;font-weight:700;color:var(--brand)}
.tr-bar{clear:both;height:9px;border-radius:3px;background:#e3e9f2;position:relative;overflow:hidden;margin-top:.35rem}
/* year-at-a-glance heat scale (Phase 3): cell tint by share of busiest month */
.tr-months li.tr-heat1{background:#eef3fa}
.tr-months li.tr-heat2{background:#d8e6f5}
.tr-months li.tr-heat3{background:#bcd6f0}
.tr-months li.tr-heat3 .tr-cnt{color:var(--brand-d)}
.tr-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--brand)}
.tr-hl{display:block;font-size:.8rem;color:var(--mut);line-height:1.3;margin-top:.3rem}
.tr-empty{background:#f7f9fb!important}
.tr-empty .tr-mn,.tr-empty .tr-cnt{color:#8a97a3}
/* book-early picks */
.tr-picks{list-style:none;padding:0;margin:.6rem 0 1.2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem}
.tr-picks li{border:1px solid var(--amber-line);background:#fdf3e0;border-radius:10px;padding:.65rem .9rem}
.tr-picks strong{display:block;color:var(--ink)}
.tr-picks span{font-size:.87rem;color:var(--mut)}
.tr-picks a{color:inherit;text-decoration:none}
/* season strip */
.tr-soon{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.55rem;margin:.6rem 0 1.2rem}
.tr-soon a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem .85rem;text-decoration:none;color:inherit}
.tr-soon a:hover{border-color:var(--brand)}
.tr-soon strong{display:block;color:var(--ink)}
.tr-soon span{font-size:.84rem;color:var(--mut)}
/* notes, callouts */
.tr-note{background:#e9f0f8;border-left:4px solid var(--brand);padding:.8rem 1rem;margin:.7rem 0 1.2rem}
.tr-note p{margin:0}
.tr-warn{background:var(--amber-bg);border-left:4px solid var(--amber-line);padding:.8rem 1rem;margin:.7rem 0 1.2rem}
.tr-warn p{margin:0}
.tr-meta{font-size:.88rem;color:var(--mut)}
.tr-verified{white-space:nowrap;font-weight:600}
/* guide pages */
.tr-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem;margin:.8rem 0 1.2rem}
.tr-fact{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem .85rem}
.tr-fact .k{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.tr-fact .v{display:block;font-weight:700;color:var(--ink);margin-top:.15rem}
.tr-body{max-width:48rem}
.tr-body h2{margin-top:1.8rem}
.tr-check{list-style:none;padding:0;margin:.5rem 0 1.2rem}
.tr-check li{padding:.3rem 0 .3rem 1.5rem;position:relative;border-bottom:1px dashed var(--line)}
.tr-check li:before{content:"▸";position:absolute;left:.2rem;color:var(--brand);font-weight:700}
.tr-quote{font-family:var(--serif);font-size:1.2rem;color:var(--ink);border-left:4px solid var(--amber-line);padding:.3rem 0 .3rem 1rem;margin:1rem 0 1.2rem;max-width:44rem}
@media print{.tr-list{display:block}.tr-card{break-inside:avoid;margin-bottom:10px}}
/* miniature pill, experiences, card details, cautions (merge pass 2026-11-04) */
.tr-pill.min{background:#fbeae8;border-color:#e3a49d;color:#8f2318}
.tr-exp{list-style:none;padding:0;margin:0 0 7px}
.tr-exp li{font-size:.92rem;padding:.22rem 0 .22rem 1.1rem;position:relative;border-bottom:1px dashed var(--line)}
.tr-exp li:before{content:"▸";position:absolute;left:.1rem;color:var(--brand);font-weight:700}
.tr-det{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:.9rem;margin:0 0 7px}
.tr-det .k{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-d);margin-right:.35rem}
.tr-caution{background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:8px;font-size:.9rem;padding:.45rem .7rem;margin:0 0 7px}
/* scenic finder */
.fd-controls{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin:.8rem 0}
.fd-controls label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.fd-controls select,.fd-controls input[type="search"]{font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--ink);padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:11rem}
.fd-controls .fd-check{flex-direction:row;align-items:center;gap:.45rem;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink);padding-bottom:.5rem}
.fd-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.55rem;margin:.6rem 0 1.4rem}
.fd-hitwrap{display:flex;flex-direction:column}
.fd-hitwrap .tr-fav{align-self:flex-end;margin-top:.35rem}
.fd-tools{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;margin:.2rem 0 .4rem}
.fd-copybtn{font:inherit;font-size:.85rem;font-weight:700;border:1px solid var(--brand);background:#fff;color:var(--brand-d);border-radius:8px;padding:.42rem .8rem;cursor:pointer}
.fd-copybtn:hover{background:#eef3fa}
.fd-hit{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:.65rem .85rem;text-decoration:none;color:inherit;flex:1}
.fd-hit:hover{border-color:var(--brand)}
.fd-hit strong{display:block;color:var(--ink);font-size:1.02rem}
.fd-meta{display:block;font-size:.84rem;color:var(--mut)}
.fd-season{display:block;font-size:.88rem;margin-top:.2rem}
.fd-months{display:block;font-size:.78rem;color:var(--brand-d);margin-top:.25rem}
/* category illustration cards (board re-skin 2026-11-04) */
.tr-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(198px,1fr));gap:.7rem;margin:.7rem 0 1.4rem}
.tr-cat{display:block;border-radius:12px;overflow:hidden;position:relative;text-decoration:none;line-height:0;border:1px solid var(--line);background:var(--navy-d)}
.tr-cat img{width:100%;height:158px;object-fit:cover;display:block}
.tr-cat .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(6,32,54,.88) 46%);color:#fff;font-weight:700;font-size:1.03rem;padding:1.7rem .8rem .55rem;line-height:1.25;display:block}
.tr-cat .cap small{display:block;font-weight:600;font-size:.79rem;color:#e79aa1;margin-top:.15rem}
.tr-cat:hover{border-color:var(--accent)}
/* heritage badge module (directory) */
.heritage-badge{display:flex;gap:1.1rem;align-items:center;background:#fdf6ec;border:1px solid #e7d9bd;border-left:4px solid #7c2d26;border-radius:10px;padding:.9rem 1.1rem;margin:.7rem 0 1.2rem}
.heritage-badge img{width:158px;height:auto;flex:none}
.heritage-badge h2{margin:.1rem 0 .35rem;color:#5d1f1a;font-size:1.25rem}
.heritage-badge p{margin:0;font-size:.96rem}
@media (max-width:640px){.heritage-badge{flex-direction:column;text-align:center}}
/* miniature section art (directory) */
.mini-art{width:100%;height:190px;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block;margin:.6rem 0 1rem}
/* hero Finder bar (Phase 3) */
.hf{margin:.2rem 0 1.3rem}
.hf h2{margin:.2rem 0 .25rem}
.hf p{margin:0 0 .55rem;color:var(--soft)}
.hf-bar{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:end;background:linear-gradient(180deg,var(--navy-hi),var(--navy-lo));border-radius:12px;padding:.85rem 1rem}
.hf-bar label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--nav-fg)}
.hf-bar select{font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--ink);padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:11rem}
.hf-bar button{font:inherit;font-weight:700;font-size:.98rem;background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:.55rem 1.2rem;cursor:pointer;min-height:2.75rem}
.hf-bar button:hover{background:#c8102e}
/* flagship -> combo page link (Phase 3) */
.xm-combo{font-weight:600;margin:.1rem 0 1.2rem}
/* presentation pass (Phase 3): touch targets + breathing room on phones */
@media (max-width:640px){
 .tr-card{padding:1rem 1.05rem}
 .tr-off{display:inline-block;padding:.3rem 0}
 .tr-fav{padding:.5rem .9rem}
 .tr-tile{padding:.95rem .5rem .85rem}
 .tr-soon a{padding:.85rem .95rem}
 .fd-hit{padding:.85rem .95rem}
 .fd-controls select,.fd-controls input[type="search"]{min-height:2.75rem}
 .hf-bar select{min-height:2.75rem}
 .site-nav a{padding:.55rem .7rem}
 .tr-picks li{padding:.8rem .95rem}
}
/* forms (Phase 5): contact / submit-a-listing / suggest-a-correction /
   newsletter. Every submission goes to a human review queue — the forms
   say so, in as many words, next to the button. */
.fm{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin:.8rem 0 1.2rem;max-width:44rem}
.fm .fm-row{margin:0 0 .85rem}
.fm label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-bottom:.3rem}
.fm label .req{color:#b3261e}
.fm input[type="text"],.fm input[type="email"],.fm input[type="url"],.fm select,.fm textarea{font:inherit;font-size:.97rem;color:var(--ink);width:100%;box-sizing:border-box;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.fm textarea{min-height:7rem;resize:vertical}
.fm .fm-check{max-width:10rem}
.fm .fm-note{font-size:.88rem;color:var(--mut);margin:.2rem 0 .8rem}
.fm button{font:inherit;font-weight:700;font-size:.98rem;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:.55rem 1.3rem;cursor:pointer;min-height:2.75rem}
.fm button:hover{background:var(--brand-d)}
.fm .fm-err{background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:8px;padding:.5rem .75rem;font-size:.93rem;margin:0 0 .9rem}
.fm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* footer newsletter box (Phase 5) */
.foot-news{margin-top:.9rem}
.foot-news label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--nav-fg);margin-bottom:.35rem}
.foot-news .fn-row{display:flex;gap:.45rem;flex-wrap:wrap}
.foot-news input[type="email"]{font:inherit;font-size:.93rem;color:var(--ink);padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;flex:1;min-width:11rem}
.foot-news input[type="text"]{font:inherit;font-size:.93rem;color:var(--ink);padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;width:4.5rem}
.foot-news button{font:inherit;font-weight:700;font-size:.92rem;background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:.48rem 1rem;cursor:pointer;min-height:2.6rem}
.foot-news button:hover{background:#c8102e}
.foot-news .fn-note{font-size:.8rem;color:var(--foot-mut);margin:.35rem 0 0}
/* best-of guide picks (Phase 5) */
.tr-pick{display:flex;flex-direction:column}
.tr-pick-why{margin:.1rem 0 .5rem;font-size:.97rem;color:var(--soft)}
.tr-pick .tr-card{flex:1}

/* US fork additions (2026-11-05): dinner-train pill (a flag, not a class)
   in a deep gold-brown; the footer's sister-site strip. Palette note: the
   fork keeps the Canadian navy/gold system unchanged; the maple red of
   the shared logo artwork is NOT used as a UI accent on the US site —
   the one red-tinted pill in the inherited CSS (.tr-pill.min) styles a
   category that has no published records at US launch.
   AMENDED later the same day (logo adoption): the US brand accent DID
   shift to the adopted lockup's red (--accent, see style.css). Deliberate
   remnants, kept as semantic colours rather than brand accent: the
   dinner pill's gold-brown family, the operating/seasonal/paused status
   chips, and the amber book-early/warning callouts (--amber-*). */
.tr-pill.dinner{background:#fdf3e0;border-color:#e0b96a;color:#7a5410}
.sister{border:1px solid rgba(200,16,46,.65);border-radius:10px;padding:.8rem 1rem;margin-bottom:1.4rem;background:rgba(255,255,255,.05)}
.sister p{margin:0}
.hf .fd-check{flex-direction:row;align-items:center;gap:.45rem}
