/* Tijdspoor editorial interface: type, space and hierarchy before decoration. */
:root { --accent:#703951; --accent2:#55263b; --line:rgba(75,40,60,.18); --text:#352433; --muted:#746971; --panel:#eee7e0; }
body { font-family:'Avenir Next','Segoe UI',sans-serif; font-weight:400; }
h1,h2,h3,h4,.sectietitel { font-family:Georgia,'Times New Roman',serif !important; font-weight:400 !important; letter-spacing:-.035em; color:var(--text) !important; }
button,input,select,textarea,.btn-primary,.btn-soft,.header-pill,.pill-link,.route-knop,.cta-button,.mobile-action,.trailbtn { font-family:'Avenir Next','Segoe UI',sans-serif !important; letter-spacing:0; }
button,.btn-primary,.btn-soft,.header-pill,.pill-link,.cta-button,.cta-link,.route-knop,.store-choice { font-weight:500; box-shadow:none !important; border-radius:4px; }
.btn-primary,.btn-soft,.header-pill,.cta-button,.cta-link { font-size:14px; min-height:46px; padding:12px 20px; line-height:1.4; }
.btn-primary:hover,.btn-soft:hover,.header-pill:hover,.cta-button:hover { transform:none; filter:none; }
.btn-primary,.header-pill.primary,.cta-button,.cta-link { background:#583049; color:#fffaf5; border-color:#583049; }
.btn-primary:hover,.header-pill.primary:hover,.cta-button:hover { background:#743d58; }
.btn-soft,.header-pill:not(.primary),.pill-link { background:transparent; border-color:var(--line); color:var(--text); }
.btn-soft:hover,.header-pill:not(.primary):hover,.pill-link:hover { background:#ffffff05; border-color:#70395199; }
button:focus-visible,a:focus-visible { outline:2px solid #bd493c !important; outline-offset:5px; }
.section-kicker,.hero-eyebrow { color:#746971; font-size:10px; letter-spacing:.17em; font-weight:500; }
.sticky-header { background:#f7f2eaf5; border-bottom:1px solid var(--line); }
.header-shell { min-height:84px; }
.brand-mark { display:none; }
.brand-name { font-size:34px; letter-spacing:-.055em; }
.brand-subline { font-size:9px; letter-spacing:.16em; opacity:.8; }
.brand-subline .dot { width:2px; height:2px; box-shadow:none; background:var(--muted); }
.header-cluster { gap:16px; }
.header-actions { gap:24px; }
.header-menu { width:44px; min-height:44px; padding:0; border-color:transparent !important; }
.lang-pill,.lang-pill.active { padding:8px; min-height:40px; color:var(--muted); border-radius:0; background:none; border:0; font-weight:500; font-size:11px; }
.lang-pill.active { color:var(--text); box-shadow:inset 0 -1px var(--accent); }
.header-pill:not(.primary):not(.header-menu) { border-color:transparent; padding-inline:4px; }
/* Full-width editorial opening; only the main call to action is filled. */
.ts-home .hero { width:100%; max-width:none; margin:0; border:0; border-radius:0; }
.ts-home .hero-inner { padding-top:84px; padding-bottom:70px; }
.ts-home .hero-copy { max-width:680px; }
.ts-home .hero h1 { font-size:clamp(48px,5.7vw,78px); line-height:1.05; font-weight:400; letter-spacing:-.05em; }
.ts-home .hero-copy > p { font-size:16px; line-height:1.9 !important; max-width:450px; margin-top:24px; }
.ts-home .hero-eyebrow { margin-bottom:28px; color:#746971; }
.ts-home .hero-eyebrow::before { display:none; }
.ts-home .hero-actions { gap:26px; margin-top:30px; }
.ts-home .hero-actions .btn-soft { padding-left:0; padding-right:0; border:0; border-bottom:1px solid #bbaab1; border-radius:0; }
.ts-home .hero-actions .btn-primary svg { display:none; }
.ts-home .hero-proof { gap:22px; margin-top:30px; }
.ts-home .hero-proof-item { font-size:10px; color:#746971; }
.ts-home .hero-proof-item::before { content:'·'; margin-right:7px; }
.ts-home .device-badge { display:none; }
/* Catalog: images and typography replace stacks of nested boxes. */
.ts-home #wandelingen { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:64px 0 28px; margin-top:0; }
.catalog-heading { align-items:flex-end; margin-bottom:32px; }
.catalog-heading h2 { font-size:42px !important; margin-bottom:12px; }
.catalog-heading p { font-size:14px; max-width:520px; }
.catalog-heading > .btn-soft { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:10px 0; gap:18px; }
.distance-filters { gap:28px; border-bottom:1px solid var(--line); margin-bottom:28px; }
.distance-filters button { border:0; border-radius:0; min-height:46px; padding:12px 0; font-size:13px; color:var(--muted); font-weight:400; background:transparent; }
.distance-filters button[aria-pressed=true] { background:none; color:var(--text); box-shadow:inset 0 -2px var(--accent); }
.distance-filters button:hover { color:var(--text); }
#wandelingen label { font-size:11px; font-weight:500; color:var(--muted) !important; }
#wandelingen #zoekveld,#wandelingen #sorteer { background:#ffffff03 !important; border-color:#bfb2b7 !important; border-radius:3px; font-size:14px; }
#resetFilters { border-color:transparent; padding-inline:12px; }
#resultCount { font-size:12px; }
#cardsGrid { gap:44px 28px; }
.ts-home .podcard,.spotlight-card { border:0; border-radius:0; background:transparent; box-shadow:none !important; overflow:visible; }
.ts-home .podcard:hover,.spotlight-card:hover { transform:none; }
.ts-home .podcard > a { display:block; overflow:hidden; }
.ts-home .podcard img,.spotlight-card img { height:238px; border-radius:3px; filter:saturate(.8); }
.ts-home .podcard:hover img { transform:scale(1.025); }
.ts-home .podcard > .p-5 { padding:22px 0 0; }
.ts-home .podcard h2 { font-size:29px; color:var(--text) !important; margin-bottom:12px; }
.ts-home .podcard .truncate2 { color:var(--muted) !important; font-size:13px; line-height:1.8 !important; min-height:47px; margin-bottom:18px; }
.ts-home .podcard .rounded-full { padding:0; background:none !important; border:0 !important; border-radius:0; font-size:12px; color:var(--muted); gap:6px; margin-right:12px; }
.ts-home .podcard .rounded-full svg { width:14px; height:14px; opacity:.7; }
.ts-home .podcard .trailbtn { padding:4px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; font-size:12px; min-height:36px; color:var(--muted); background:none; }
.ts-home .podcard > .p-5 > .btn-primary { background:none; color:var(--text); border:0; border-top:1px solid var(--line); border-radius:0; justify-content:space-between; padding:16px 0; font-weight:500; font-size:13px; }
.ts-home .podcard > .p-5 > .btn-primary::after { content:'↗'; color:var(--accent); font-size:20px; font-weight:400; }
.ts-home .podcard > .p-5 > .btn-primary:hover { color:var(--accent); }
.ts-home main > section.panel:not(#wandelingen) { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:48px 0; }
.ts-home main h2 { color:var(--text) !important; font-weight:400; }
.ts-home .stat-card { padding-left:0; }
.ts-home .stat-card strong { color:var(--text); font-weight:400; font-size:32px; }
.ts-home .stat-card:not(:first-child) { padding-left:30px; }
.ts-home .stats-grid { padding-block:28px; }
.ts-home .hero-side-card { border-radius:3px; padding:42px 32% 42px 36px; }
.ts-home .hero-card-title { font:400 34px/1.15 Georgia,serif; color:#352433; }
.ts-home .hero-mini-step-num { border:0; border-radius:0; width:28px; color:#92516a; font-size:19px; justify-content:flex-start; }
.ts-home .hero-mini-step strong { font-size:13px; font-weight:600; }
.ts-home .hero-mini-step span { font-size:13px; }
.ts-home .hero-side-card::after { width:29%; }
.ts-home .hero-mini-step { gap:10px; }
.spotlight-chip { padding:0; background:none; border:0; border-radius:0; color:var(--muted); font-weight:400; }
.spotlight-body { padding:20px 0 0; }
.meta-pill,.chip,.badge,.device-badge { border:0; border-radius:0; background:none; box-shadow:none; font-weight:400; }
.link-tile,.why-item { border:0; border-bottom:1px solid var(--line); background:none; border-radius:0; padding:16px 0; }
.link-tile:hover { background:none; border-color:var(--accent); transform:none; }
.ts-home blockquote { border:0 !important; border-left:1px solid var(--accent) !important; border-radius:0; background:none !important; padding:8px 24px; font:400 21px/1.6 Georgia,serif; }
.ts-home blockquote footer { font:400 12px/1.5 'Avenir Next','Segoe UI',sans-serif; color:var(--muted) !important; }
/* Route reading: a quiet content column and a separate practical sidebar. */
.ts-route .wrap { margin-top:28px; }
.ts-route .hero { border-radius:3px; box-shadow:none; min-height:430px; }
.ts-route .hero h1 { font-size:58px; font-weight:400; text-shadow:0 2px 20px #0005; }
.ts-route .top-actions .pill-link { background:#352433dc; border:1px solid #ffffff30; border-radius:3px; font-size:13px; }
.ts-route .lang-switch { background:#352433dc; border:0; border-radius:3px; }
.ts-route .chip { border:0; padding:0; margin-right:16px; font-size:13px; background:none; color:#fffaf5; }
.ts-route .hero-content { bottom:34px; }
.route-jumps { border-bottom:1px solid var(--line); padding-top:20px; gap:24px; margin-bottom:26px; }
.route-jumps a { border:0; border-radius:0; padding:12px 0; color:var(--muted); font-size:12px; }
.route-jumps a:hover { color:var(--text); }
.ts-route .grid { gap:48px; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); }
.ts-route .card { border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; padding:28px 0; backdrop-filter:none; }
.ts-route .col-left,.ts-route .col-right { gap:0; }
.ts-route .sectietitel { font-size:29px; margin-bottom:18px; }
.ts-route .omschrijving,.route-excerpt { color:#665a63; font-size:15px; line-height:1.9; }
.ts-route .trailer-btn.card { border:1px solid var(--line); padding:22px; margin-bottom:30px; background:#ffffff03; border-radius:3px; }
.ts-route .trailer-title { font-size:15px; color:var(--text); font-weight:500; }
.ts-route .trailer-sub { font-size:12px; color:var(--muted); }
.ts-route .trailer-right { display:none; }
.ts-route .circle-icon { width:48px; height:48px; background:var(--accent); color:#583049; box-shadow:none; }
.ts-route .circle-icon svg { color:#583049; width:24px; height:24px; }
.ts-route .route-start-card { padding-top:0; border-top:0; }
.ts-route .route-start-art { width:92px; height:112px; border-radius:2px; }
.ts-route .route-knop { border-radius:3px; background:transparent; font-weight:500; }
.route-kit-image { width:100%; margin:0 0 24px; border-radius:2px; height:185px; }
.ts-route .store-choice { border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; padding:14px 0; min-height:0; }
.ts-route .store-choice strong { font-size:14px; font-weight:500; }
.ts-route .store-choice span { font-size:12px; }
.ts-route .mobile-action { border-radius:3px; font-weight:500; background:transparent; border:0; }
/* Shared informational pages and navigation. */
.ts-help .panel,.ts-info .panel,.ts-discover .panel,.ts-legal .panel { border:0; background:transparent; border-radius:0; box-shadow:none; }
.editorial-banner { border:0; border-radius:3px; }
.editorial-banner + .panel { padding:40px 0; }
.ts-help h1,.ts-info h1 { text-align:left; }
.ts-help h1 + p,.ts-info h1 + p { text-align:left; }
.ts-help details.faq,.ts-info details.faq { border:0; border-top:1px solid var(--line); border-radius:0; background:none; margin:0; }
.ts-help details.faq:last-of-type,.ts-info details.faq:last-of-type { border-bottom:1px solid var(--line); }
details.faq summary { padding:22px 0; font-size:15px; font-weight:500; }
details.faq .ans { padding:0 38px 24px 0; font-size:15px; }
.ts-info .tabs { background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:0; gap:24px; }
.ts-info .tab-btn { border-radius:0; padding:14px 0; font-size:13px; font-weight:400; }
.ts-info .tab-btn[aria-selected=true] { background:none; color:var(--text); box-shadow:inset 0 -2px var(--accent); }
.ts-info .kader { border:0; border-radius:0; background:none; padding:24px 0; }
.ts-info .section-title { color:var(--text); }
.ts-info .badge { padding:0; margin-right:18px; font-size:12px; color:var(--muted); }
.ts-info .cta { border-radius:3px; font-size:14px; font-weight:500; }
.ts-legal .legal { padding:0; }
.legal-art { margin:0 0 36px; border-radius:2px; }
.contents-nav a { border:0; border-radius:0; background:none; padding:7px 0; margin-right:16px; color:var(--muted); }
.contents-nav a:hover { background:none; color:var(--text); text-decoration:underline; }
.ts-legal .legal h2 { font-weight:400; font-size:27px; }
.ts-legal .legal p,.ts-legal .legal li { color:#665a63; font-family:inherit; font-size:15px; }
.ts-discover main > section.panel { padding:36px 0; }
.ts-discover article.panel { border-top:1px solid var(--line); padding:24px 0; }
.ts-discover article img { border-radius:2px; }
.ts-discover .ghost-link { border-radius:0; border:0; background:none; text-decoration:underline; text-underline-offset:6px; }
.map-topbar .btn-soft { border:0; font-weight:400; }
.map-route h2 { font-size:23px; }
.map-route > img { border-radius:2px; }
.map-show { border:0; border-radius:0; background:none; color:var(--muted); }
.map-route-link { color:var(--text); border-bottom:1px solid var(--line); }
.ts-map .leaflet-popup-content-wrapper { border:0; border-radius:4px; }
.ts-map .popup-content img { border:0; border-radius:2px; box-shadow:none; }
.ts-map .popup-content a { border-radius:3px; font-weight:500; }
#ts-menu-sheet { padding:32px; }
.ts-menu-title { font-weight:400; font-size:32px; }
.ts-menu-lang { border:0; border-bottom:1px solid var(--line); background:none; padding:0 0 24px; border-radius:0; }
.ts-menu-lang-label { font-family:inherit !important; font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); }
.ts-lang-chip { border:0; border-radius:0; background:none; color:var(--muted); min-height:44px; }
.ts-lang-chip.active { background:none; border-color:transparent; color:var(--text); box-shadow:inset 0 -1px var(--accent); }
.ts-menu-list { gap:0; }
.ts-menu-link { padding:18px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; }
.ts-menu-link:hover { background:none; }
.ts-menu-link-title { font-weight:500; font-size:16px; color:var(--text); }
.ts-menu-link-sub { font-size:12px; }
.ts-menu-close,#ts-menu-fab { background:#583049; border:1px solid var(--line); border-radius:3px; }
.store-dialog { border-radius:4px; }
.store-dialog h2 { color:var(--text); }
.dialog-close { border-radius:3px; }
.state-card { border:0; border-radius:3px; }
.state-copy { padding:48px; }
.state-copy h1 { font-size:46px; }
.footer-brand { font-weight:400; }
.footer-inner nav a { font-size:13px; }
@media(max-width:760px) {
 .header-shell { min-height:72px; }
 .brand-name { font-size:29px; }
 .header-actions { gap:12px; }
 .header-cluster { gap:8px; }
 .ts-home .hero { border-radius:0; }
 .ts-home .hero-inner { padding-top:48px; padding-bottom:44px; }
 .ts-home .hero h1 { font-size:48px; }
 .ts-home .hero-copy > p { font-size:15px; margin-top:22px; }
 .ts-home .hero-actions { gap:18px; }
 .ts-home .hero-proof { gap:10px; margin-top:24px; }
 .ts-home #wandelingen { padding:36px 0 20px; }
 .catalog-heading { gap:18px; }
 .catalog-heading h2 { font-size:32px !important; }
 .catalog-heading p { font-size:13px; }
 .catalog-heading .section-kicker { display:none; }
 .distance-filters { gap:20px; }
 .distance-filters button { font-size:12px; padding:12px 0; }
 #wandelingen #zoekveld,#wandelingen #sorteer { font-size:16px; }
 #cardsGrid { gap:32px; }
 .ts-home .podcard img { height:240px; }
 .ts-home .podcard > .p-5 { padding-top:18px; }
 .ts-home .podcard h2 { font-size:29px; }
 .ts-home main > section.panel:not(#wandelingen) { padding:32px 0; }
 .ts-home .hero-side-card { padding:200px 24px 28px; }
 .ts-home .hero-side-card::after { width:100%; height:170px; }
 .ts-home .hero-card-title { font-size:29px; }
 .ts-home .stat-card strong { font-size:24px; }
 .ts-home .stat-card:not(:first-child) { padding-left:16px; }
 .ts-route .wrap { margin-top:12px; }
 .ts-route .hero { min-height:300px; }
 .ts-route .hero h1 { font-size:38px; }
 .ts-route .hero-content { bottom:24px; }
 .ts-route .chip { font-size:12px; margin-right:8px; padding:0; }
 .ts-route .grid { grid-template-columns:1fr; gap:0; }
 .route-jumps { gap:22px; margin-bottom:20px; }
 .route-jumps a { font-size:11px; padding:12px 0; }
 .ts-route .card { padding:24px 0; }
 .ts-route .trailer-btn.card { padding:18px; margin-bottom:24px; }
 .ts-route .route-start-card { padding-top:0; }
 .ts-route .sectietitel { font-size:27px; }
 .ts-route .route-kit-image { width:100%; margin:0 0 20px; }
 .editorial-banner { height:175px; }
 .editorial-banner + .panel { padding:28px 0; }
 .ts-info .tabs { gap:0 20px; }
 .ts-help h1,.ts-info h1 { font-size:36px; }
 .ts-legal .legal { padding:0; }
 .legal-art { margin:0 0 28px; height:160px; }
 .ts-legal h1 { font-size:36px; }
 .state-copy { padding:28px; }
 .state-copy h1 { font-size:38px; }
 .footer-inner { gap:32px; }
 .footer-inner nav { gap:14px 24px; }
}
/* Explicit states take precedence over the older component styles. */
.header-pill.primary { border-radius:4px; font-weight:500; }
.distance-filters button,.ts-info .tab-btn,.ts-lang-chip { border-bottom:2px solid transparent; }
.distance-filters button[aria-pressed=true],.ts-info .tab-btn[aria-selected=true],.ts-lang-chip.active { border-bottom:2px solid var(--accent); }
.ts-route .route-adres { clear:both; background:none; border:0; border-top:1px solid var(--line); border-radius:0; box-shadow:none; color:var(--text); padding:16px 0 0; font-size:14px; }
.ts-route .hint,.ts-route .app-cta p,.ts-route .app-cta .sub { font-size:13px; line-height:1.8; color:var(--muted); }
.ts-route .route-knop:hover { background:#ffffff08; transform:none; }
.ts-route .trailer-title { font-weight:500; }
.ts-home main .rounded-2xl:not(blockquote) { border-radius:2px; background:transparent !important; border:0 !important; border-top:1px solid var(--line) !important; padding:20px 0; }
.ts-home main .rounded-2xl > .font-bold { color:var(--text) !important; font-size:14px; font-weight:500; }
.ts-home main .rounded-2xl > .text-sm { font-size:13px; }
/* Keep the restrained controls readable at normal viewing distance. */
.ts-home .hero-proof-item { font-size:12px; }
#wandelingen label { font-size:12px; }
.ts-home .podcard .truncate2 { font-size:14px; min-height:50px; }
.route-jumps a { font-size:13px; }
@media(max-width:760px) { .route-jumps { gap:18px; } .route-jumps a { font-size:12px; } }

/* Tijdspoor: paper, aubergine ink and a small vermilion signature. */
:root {
 --bg:#f7f2ea; --panel:#eee7e0; --card:#fdfaf6; --card2:#e9dfe1;
 --text:#352433; --muted:#746971; --accent:#703951; --accent2:#55263b;
 --paper:#f7f2ea; --ink:#352433; --coral:#bd493c;
 --line:rgba(75,40,60,.18); --shadow:0 16px 40px #3524330d;
 color-scheme:light;
}
body { background:var(--paper); color:var(--ink); }
::selection { background:#eac7c4; color:var(--ink); }
body [style*="243,238,229"],body [style*="229,231,235"] { color:var(--muted) !important; }
a { text-underline-offset:5px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--coral) !important; outline-offset:5px; }
.sticky-header { background:#f7f2eaf2; backdrop-filter:blur(18px); }
.header-shell { max-width:1328px; min-height:94px; padding-inline:48px; }
.brand-name { color:var(--ink); font-size:38px; }
.brand-name::after { content:'.'; color:var(--coral); }
.brand-subline { display:none; }
.header-actions { gap:30px; }
.header-pill.primary,.btn-primary,.cta-button,.cta-link,.ts-info .cta { background:#583049; border-color:#583049; color:#fffaf5; }
.header-pill.primary:hover,.btn-primary:hover,.cta-button:hover,.cta-link:hover,.ts-info .cta:hover { background:#743d58; border-color:#743d58; color:#fffaf5; }
.btn-soft:hover,.pill-link:hover,.header-pill:not(.primary):hover,.trailbtn:hover { background:#70395108; color:var(--accent); border-color:var(--accent); }
.ts-home main { max-width:1232px; padding-inline:48px; }
.ts-home .hero { width:calc(100% - 96px); max-width:1232px; margin:30px auto 0; min-height:590px; overflow:visible; background:transparent; }
.ts-home .hero::before { display:none; }
.ts-home .hero-img { left:auto; right:0; top:0; width:48%; height:100%; border-radius:180px 0 0 0; object-position:58% center; }
.ts-home .hero-inner { min-height:590px; padding:70px 0 64px; display:flex; align-items:center; max-width:none; }
.ts-home .hero-grid { width:100%; display:block; }
.ts-home .hero-copy { width:48%; max-width:none; padding-right:24px; }
.ts-home .hero h1 { font-size:clamp(56px,6.5vw,88px); letter-spacing:-.065em; line-height:1.03; color:var(--ink) !important; text-wrap:initial; margin:0; }
.ts-home .hero h1 em { display:block; color:var(--accent); font-weight:400; }
.ts-home .hero-copy > p { color:var(--muted) !important; font-size:16px; line-height:1.8 !important; max-width:360px; margin:30px 0 0; }
.ts-home .hero-actions { margin-top:34px; gap:24px; align-items:center; }
.ts-home .hero-actions .btn-primary { padding:16px 23px; border-radius:3px; }
.ts-home .hero-actions .btn-primary::after { content:'↗'; margin-left:20px; font-size:21px; line-height:1; }
.ts-home .hero-actions .btn-soft { color:var(--ink); border-color:#bbaab1; padding:10px 0; }
.ts-home .hero-actions .btn-soft svg { display:none; }
.ts-home #wandelingen { padding-top:76px; border-bottom:0; padding-bottom:0; }
.catalog-heading { margin-bottom:26px; align-items:center; }
.catalog-heading h2 { font-size:48px !important; letter-spacing:-.045em; margin:0; }
.catalog-heading > .btn-soft { color:var(--accent); }
.distance-filters { gap:30px; margin:0 0 24px; }
.distance-filters button { font-size:14px; min-height:48px; }
.distance-filters button[aria-pressed=true] { color:var(--accent); border-color:var(--accent); }
#wandelingen #zoekveld,#wandelingen #sorteer { color:var(--ink) !important; background:#fffcf8 !important; border:1px solid #cfc1c6 !important; border-radius:3px; min-height:50px; }
#zoekveld::placeholder { color:#847781; }
#wandelingen #zoekveld:focus,#wandelingen #sorteer:focus { border-color:var(--accent) !important; }
#cardsGrid { gap:42px 30px; }
.ts-home .podcard { display:flex; flex-direction:column; min-width:0; }
.ts-home .podcard > a { border-radius:3px; }
.ts-home .podcard img { width:100%; height:260px; object-fit:cover; filter:saturate(.85); transition:transform .45s; }
.ts-home .podcard > .p-5 { display:flex; flex:1; flex-direction:column; padding-top:23px; }
.ts-home .podcard h2 { font-size:32px; letter-spacing:-.04em; line-height:1.1; }
.ts-home .podcard h2 a:hover { color:var(--accent); }
.ts-home .podcard .truncate2 { font-size:14px; line-height:1.75 !important; min-height:49px; }
.ts-home .podcard .rounded-full { color:var(--muted); font-size:13px; }
.ts-home .podcard .rounded-full svg,.ts-home .podcard .trailbtn svg { color:var(--accent) !important; }
.ts-home .podcard > .p-5 > .btn-primary { margin-top:auto; background:none; color:var(--ink); }
.ts-home .podcard > .p-5 > .btn-primary:hover { color:var(--accent); background:none; }
.ts-home .app-showcase { margin-top:80px; }
.ts-home .hero-side-card { background:#eadddf; color:var(--ink); padding:50px 36% 50px 40px; border-radius:3px; }
.ts-home .hero-side-card::after { width:31%; background-position:50% 50%; }
.ts-home .hero-card-title { color:var(--ink) !important; font-size:40px; margin:0; }
.ts-home .hero-mini-steps { grid-template-columns:1fr; gap:24px; margin-top:30px; }
.ts-home .hero-mini-step { gap:18px; }
.ts-home .hero-mini-step-num { color:var(--accent); font-size:24px; width:28px; flex-shrink:0; }
.ts-home .hero-mini-step strong { color:var(--ink); font-size:15px; }
.ts-home .hero-mini-step span { color:#665a63; font-size:14px; margin-top:3px; }
.ts-home main > section.panel:not(#wandelingen) { padding:52px 0; margin-top:48px; }
.ts-home .split-callout { gap:72px; }
.ts-home .link-tile { color:var(--ink); line-height:1.6; font-size:14px; gap:24px; }
.ts-home .link-tile:hover { color:var(--accent); }
.ts-home blockquote { color:var(--ink) !important; }
.ts-home .floating-cta { background:#f7f2eaf5; border-color:var(--line); }
/* Shared surfaces keep the same identity beyond the homepage. */
#ts-menu-sheet { background:var(--paper); box-shadow:-20px 0 80px #35243320; }
.ts-menu-close,#ts-menu-fab { background:var(--paper); color:var(--ink); }
.ts-menu-link:hover { background:transparent; color:var(--accent); }
.ts-lang-chip.active { color:var(--accent); }
.ts-route .hero h1 { color:#fffaf5 !important; }
.ts-route .hero-content .chip { color:#fffaf5; }
.ts-route .top-actions .pill-link,.ts-route .lang-switch { background:#352433dc; color:#fffaf5; }
.ts-route .lang-switch .lang-pill { color:#f7f2ea; }
.ts-route .hero::before { background:linear-gradient(0deg,#241724dd,transparent 85%); }
.ts-route .omschrijving,.route-excerpt { color:#665a63; }
.ts-route .circle-icon,.ts-route .mobile-action.primary { background:var(--accent); color:#fffaf5; }
.ts-route .circle-icon svg { color:#fffaf5; }
.ts-route .route-knop,.ts-route .route-knop:hover { color:var(--accent); border-color:var(--line); background:#70395106; }
.ts-route .mobile-actions { background:#f7f2eaf5; }
.ts-route .store-choice { color:var(--ink); }
.ts-route .trailer-btn.card { background:#eee3e6; }
.ts-route .hint,.ts-route .app-cta p,.ts-route .app-cta .sub { color:var(--muted); }
.ts-info .muted,.ts-legal .legal p,.ts-legal .legal li { color:var(--muted); }
.ts-legal .legal h1,.ts-help h1,.ts-info h1 { font-size:clamp(36px,5vw,60px); }
.store-dialog { background:var(--paper); }
.store-dialog::backdrop { background:#35243399; }
.dialog-close { background:var(--ink); color:#fffaf5; }
.store-dialog .btn-soft { border-color:var(--line); }
.ts-state,.map-topbar { background:var(--paper); }
.state-card,.map-directory { background:#eee7e0; }
.heritage-marker span { background:var(--accent); color:#fffaf5; border-color:#f7f2ea; }
.ts-map .leaflet-popup-content-wrapper,.ts-map .leaflet-popup-tip,.popup-content { background:var(--paper); color:var(--ink); }
.popup-content a { background:var(--accent); color:#fffaf5; }
#map-status { background:var(--paper); }
.visitor-footer { background:#352433; --text:#fffaf5; --muted:#d2c1cd; --accent:#efb2a9; --line:#ffffff25; padding-top:60px; padding-bottom:32px; margin-top:72px; }
.footer-brand { font-size:54px; letter-spacing:-.055em; }
.footer-brand span { color:#efb2a9; }
.footer-inner p { line-height:1.8; }
.footer-bottom { padding-top:26px; margin-top:48px; }
@media(min-width:1100px) {
 #cardsGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:761px) and (max-width:1099px) {
 .ts-home .hero { min-height:540px; }
 .ts-home .hero-inner { min-height:540px; }
 .ts-home .hero-copy { width:51%; padding-right:30px; }
 .ts-home .hero-img { width:47%; border-radius:140px 0 0; }
 .ts-home .hero h1 { font-size:64px; }
 .ts-home .hero-actions { gap:16px; }
 .ts-home .hero-actions .btn-primary { padding-inline:16px; }
 .ts-home .hero-actions .btn-primary::after { margin-left:8px; }
 #cardsGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .header-actions { gap:16px; }
}
@media(max-width:760px) {
 .header-shell { min-height:76px; padding-inline:22px; }
 .brand-name { font-size:32px; }
 .ts-home main { padding-inline:22px; }
 .ts-home .hero { width:auto; margin:0 22px; min-height:0; display:flex; flex-direction:column; }
 .ts-home .hero-inner { min-height:0; padding:42px 0 34px; order:0; }
 .ts-home .hero-copy { width:100%; padding:0; max-width:500px; }
 .ts-home .hero h1 { font-size:clamp(48px,11.8vw,76px); line-height:1.04; }
 .ts-home .hero-copy > p { margin-top:24px; max-width:390px; font-size:15px; }
 .ts-home .hero-actions { margin-top:26px; gap:22px; }
 .ts-home .hero-actions .btn-primary { padding:14px 18px; }
 .ts-home .hero-actions .btn-primary::after { margin-left:12px; }
 .ts-home .hero-img { position:relative; inset:auto; order:1; width:100%; height:300px; border-radius:100px 0 0 0; object-position:50% 50%; }
 .ts-home #wandelingen { padding-top:46px; }
 .catalog-heading h2 { font-size:35px !important; }
 .catalog-heading { gap:20px; margin-bottom:18px; }
 .distance-filters { gap:20px; }
 .distance-filters button { font-size:12px; }
 #cardsGrid { grid-template-columns:1fr; gap:32px; }
 .ts-home .podcard img { height:260px; }
 .ts-home .podcard h2 { font-size:32px; }
 .ts-home .app-showcase { margin-top:48px; }
 .ts-home .hero-side-card { padding:220px 25px 32px; }
 .ts-home .hero-side-card::after { width:100%; height:185px; }
 .ts-home .hero-card-title { font-size:34px; }
 .ts-home .split-callout { gap:36px; }
 .ts-home main > section.panel:not(#wandelingen) { margin-top:28px; padding:32px 0; }
 .visitor-footer { margin-top:40px; padding-top:40px; }
 .footer-brand { font-size:44px; }
 .footer-bottom { margin-top:30px; }
}
@media(prefers-reduced-motion:reduce) { .ts-home .podcard:hover img { transform:none; } }
/* The play glyph sits directly on its aubergine disc. */
.ts-route .circle-icon .icon-container { background:transparent; padding:0; }
.ts-route .top-actions .pill-link:hover { background:#583049; color:#fffaf5; }
.ts-route .lang-switch .lang-pill.active { border-bottom-color:#efb2a9; }
.ts-help details.faq .ans,.ts-info details.faq .ans,.ts-info .terms { color:var(--muted); }
.ts-info .tab-btn:hover { background:#70395108; transform:none; }
body:not(.ts-home) .sticky-header > div { max-width:1232px; min-height:86px; }
body:not(.ts-home) .sticky-header a[aria-label="Terug naar home"] > img,
body:not(.ts-home) .sticky-header a[aria-label="Terug naar home"] .text-xs { display:none; }
body:not(.ts-home) .sticky-header a[aria-label="Terug naar home"] .font-bold { font:400 36px/1 Georgia,serif; letter-spacing:-.055em; color:var(--ink) !important; }
body:not(.ts-home) .sticky-header a[aria-label="Terug naar home"] .font-bold::after { content:'.'; color:var(--coral); }
.ts-info .sticky-header a[aria-label="Terug"] { background:transparent !important; }
@media(max-width:760px) {
 body:not(.ts-home) .sticky-header > div { min-height:76px; }
 body:not(.ts-home) .sticky-header a[aria-label="Terug naar home"] .font-bold { font-size:32px; }
}
.ts-info .legal p,.ts-info .legal li { color:var(--muted); }
