/* Lune Japon « Tōkaidō », vague 1 : gabarit d'article et composants (articles seulement).
   Remplace sur les articles : CSS Kadence, CSS du Customizer, lj.css. Jetons dans tk-chrome.css. */
*,::before,::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--tk-hdr-h) + 20px)}
html.tk-menu-open{overflow:hidden}
body.tk-article-page{margin:0;background:var(--tk-bg);color:var(--tk-ink);font:400 17px/1.65 var(--tk-sans);-webkit-font-smoothing:antialiased}
@media (min-width:1024px){body.tk-article-page{font-size:18px}}
.tk-article-page img,.tk-article-page svg,.tk-article-page video{max-width:100%;height:auto}
.tk-article-page #inner-wrap{display:block}
.tk-article-page :focus-visible{outline:3px solid var(--tk-blue);outline-offset:2px}
.tk-article-page button,.tk-article-page input,.tk-article-page select,.tk-article-page textarea{font:inherit;color:inherit}
.tk-article-page h1,.tk-article-page h2,.tk-article-page h3,.tk-article-page h4{font-family:var(--tk-sans);font-weight:800;line-height:1.08;letter-spacing:-.025em;color:var(--tk-ink);margin:0 0 12px}
.tk-art-head h1{text-wrap:balance}
.tk-article-page p{margin:0 0 16px}
.tk-article-page figure{margin:0}
.tk-article-page a{color:inherit;text-decoration-color:var(--tk-accent-text);text-underline-offset:4px;text-decoration-thickness:2px}
.tk-article-page a:hover{color:var(--tk-accent-text)}
.tk-article-page .tk-btn,.tk-article-page .tk-btn:hover{text-decoration:none}
.tk-article-page a.tk-btn-primary,.tk-article-page a.tk-btn-primary:hover{color:#fff}
.tk-article-page a.tk-btn-line,.tk-article-page a.tk-btn-line:hover{color:var(--tk-ink)}
.tk-mono{flex:none;width:40px;height:40px;border-radius:50%;background:var(--tk-ink);color:#fff;display:inline-grid;place-items:center;font:800 13px/1 var(--tk-sans);letter-spacing:-.02em}

/* En-tête d'article */
.tk-main{padding-bottom:8px}
.tk-art-head{padding:16px 0 24px;border-bottom:2px solid var(--tk-rule);margin-bottom:24px}
.tk-art-head h1{font-size:38px;line-height:1.04;letter-spacing:-.035em;margin:20px 0 16px;hyphens:manual}
@media (min-width:1024px){.tk-art-head{padding:24px 0 32px;margin-bottom:40px}.tk-art-head h1{font-size:58px;max-width:16em;margin:28px 0 20px}}
.tk-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:14px;line-height:1.4;color:var(--tk-muted)}
.tk-who{display:flex;align-items:center;gap:10px}
.tk-who a{color:var(--tk-ink);font-weight:700;text-decoration:none}
.tk-who a:hover{text-decoration:underline}
.tk-meta time{color:var(--tk-ink)}
.tk-disc{font-size:14px;line-height:1.45;color:var(--tk-muted);margin:12px 0 0!important}
.tk-disc a{color:var(--tk-muted)}
/* Panneau de gare (fil d'Ariane) */
.tk-sign{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);border:2px solid var(--tk-rule);border-radius:var(--tk-r);overflow:hidden;background:var(--tk-bg);max-width:560px}
.tk-sign ol{display:contents;list-style:none;margin:0;padding:0}
.tk-sign li{margin:0}
.tk-sign::before{content:"";grid-column:1/-1;grid-row:2;background:var(--c);min-height:44px}
.tk-sign-hub{grid-column:1/-1;grid-row:1;display:flex;justify-content:center}
.tk-sign-hub a{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 16px;color:var(--tk-ink);text-decoration:none}
.tk-sign-hub .tk-jp{font-size:22px;line-height:1}
.tk-sign-hub b{font:800 15px/1 var(--tk-sans);letter-spacing:.14em;text-transform:uppercase}
.tk-sign-hub a:hover b{text-decoration:underline;text-decoration-color:var(--c)}
.tk-sign-home{grid-column:1;grid-row:2;align-self:center;min-width:0}
.tk-sign-here{grid-column:2;grid-row:2;align-self:center;width:18px;height:18px;margin:0 6px;border-radius:50%;background:#fff;border:4px solid #0F1115}
.tk-sign-home a,.tk-sign a.tk-sign-next{display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 12px;color:#fff;font:700 13px/1.2 var(--tk-sans);text-decoration:none}
.tk-sign a.tk-sign-next{grid-column:3;grid-row:2;justify-content:flex-end;text-align:right;min-width:0}
.tk-sign-home a:hover,.tk-sign a.tk-sign-next:hover{color:#fff;text-decoration:underline;text-decoration-color:#fff}
.tk-sign-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* Grille : texte + rail (table des matières) */
.tk-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.tk-prose{min-width:0;max-width:46rem;counter-reset:tkh}
.tk-rail{display:none}
@media (min-width:1100px){
.tk-rail .tk-tocline a{padding:6px 0;font-size:14px}.tk-rail .tk-tocline li::before{top:7px}.tk-rail .tk-tocline::before{top:14px;bottom:14px}
.tk-grid{grid-template-columns:minmax(0,1fr) 300px;gap:72px}
.tk-rail{display:block;position:sticky;top:calc(var(--tk-hdr-h) + 32px);align-self:start;max-height:calc(100vh - var(--tk-hdr-h) - 48px);overflow:auto;padding:2px}
.tk-toc-m{display:none}}
.tk-rail-h{font:700 12px/1 var(--tk-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--tk-muted);margin:0 0 12px!important}
.tk-tocline{list-style:none;margin:0;padding:0;position:relative}
.tk-tocline::before{content:"";position:absolute;left:7px;top:18px;bottom:18px;width:4px;background:var(--c);border-radius:2px}
.tk-tocline li{position:relative;padding-left:30px;margin:0}
.tk-tocline li::before{content:"";position:absolute;left:0;top:11px;width:18px;height:18px;border-radius:50%;background:var(--tk-bg);border:4px solid var(--c)}
.tk-tocline li.done::before{background:var(--c)}
.tk-tocline li.on::before{background:var(--tk-ink);border-color:var(--tk-ink);box-shadow:0 0 0 3px var(--tk-bg),0 0 0 5px var(--tk-ink)}
.tk-tocline a{display:block;padding:9px 0;font-size:15px;line-height:1.3;text-decoration:none;color:var(--tk-muted)}
.tk-tocline a:hover{color:var(--tk-ink);text-decoration:underline;text-decoration-color:var(--c)}
.tk-tocline li.on a{color:var(--tk-ink);font-weight:800}
.tk-toc-m{border:2px solid var(--tk-rule);border-radius:var(--tk-r);margin:24px 0}
.tk-toc-m summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;font:800 16px/1.2 var(--tk-sans);cursor:pointer;list-style:none}
.tk-toc-m summary::-webkit-details-marker{display:none}
.tk-chev{width:10px;height:10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg) translateY(-3px);flex:none}
.tk-toc-m[open] .tk-chev{transform:rotate(225deg)}
.tk-toc-m .tk-tocline{padding:4px 16px 16px}
.tk-toc-m .tk-tocline::before{left:23px;top:22px}
.tk-mini{margin-top:24px;border:2px solid var(--tk-rule);border-radius:var(--tk-r-lg);padding:16px}
.tk-mini-t{font:800 18px/1.2 var(--tk-sans);letter-spacing:-.015em;margin:0 0 4px!important}
.tk-mini-s{font-size:14px;line-height:1.4;color:var(--tk-muted);margin:0 0 12px!important}

/* Texte courant */
.tk-prose>h2.wp-block-heading{counter-increment:tkh;font-size:30px;line-height:1.08;letter-spacing:-.03em;margin:56px 0 16px;scroll-margin-top:calc(var(--tk-hdr-h) + 20px)}
.tk-prose>h2.wp-block-heading::before{content:counter(tkh);display:inline-grid;place-items:center;width:2.1em;height:2.1em;border-radius:50%;border:4px solid var(--c);font-size:.42em;line-height:1;vertical-align:.45em;margin-right:12px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tk-prose h3{font-size:22px;line-height:1.15;letter-spacing:-.015em;margin:32px 0 12px}
.tk-prose h4{font-size:19px;line-height:1.25;letter-spacing:-.01em}
@media (min-width:1024px){.tk-prose>h2.wp-block-heading{font-size:40px;margin-top:72px}.tk-prose h3{font-size:26px}}
.tk-prose ul,.tk-prose ol{padding-left:1.3em;margin:0 0 16px}
.tk-prose li{margin:0 0 6px}
.tk-prose li::marker{color:var(--c)}
.tk-prose strong,.tk-prose b{font-weight:700}
.tk-prose blockquote{margin:24px 0;padding:4px 0 4px 16px;border-left:6px solid var(--tk-yellow)}
.tk-prose hr{border:0;border-top:2px solid var(--tk-rule);margin:40px 0}
.tk-prose a:not([class]){font-weight:500}
.tk-prose a[data-lj-partner]::after{content:" (lien partenaire)";display:inline-block;margin-left:3px;font:500 13px/1 var(--tk-sans);color:var(--tk-muted);white-space:nowrap}
.tk-prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
.tk-prose .wp-block-column{flex:1 1 200px;min-width:0}
.tk-prose .wp-block-group__inner-container>:last-child{margin-bottom:0}
/* Performance : les blocs hors écran ne sont ni stylés ni mis en page avant d'approcher de l'écran.
   Les H2 restent hors confinement (compteur des disques numérotés, ancres, suivi de la table des matières).
   « auto » mémorise la vraie hauteur une fois le bloc affiché. */
.tk-prose>:not(h2):not(.lj-sources){content-visibility:auto;contain-intrinsic-block-size:auto 240px}
/* Le confinement empêche la marge du dernier élément de liste de « traverser » la liste : on la remet à 0 (même rendu, vérifié au pixel). */
.tk-prose>ul>li:last-child,.tk-prose>ol>li:last-child{margin-bottom:0}

/* Réponse courte */
.tk-prose p.lj-answer,.tk-prose p.lj-lede{border-top:6px solid var(--tk-accent);padding-top:16px;margin:0 0 20px;font-size:17px;line-height:1.6;color:var(--tk-muted)}
.tk-prose p.lj-answer::before{content:"Réponse courte";display:flex;align-items:center;gap:10px;font:700 13px/1 var(--tk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tk-accent-text);margin-bottom:14px}
.tk-prose strong.lj-verdict{display:block;font:800 25px/1.14 var(--tk-sans);letter-spacing:-.025em;color:var(--tk-ink);margin:0 0 12px}
@media (min-width:1024px){.tk-prose strong.lj-verdict{font-size:33px}.tk-prose p.lj-answer{font-size:18px}}
.tk-prose .lj-answer-rest{color:var(--tk-muted)}
.tk-prose .lj-verified{font-size:14px!important;line-height:1.45;color:var(--tk-green);font-weight:600;margin:12px 0 20px}
.tk-prose p.lj-verified{display:block;background:var(--tk-ok-bg);border-radius:var(--tk-r);padding:9px 12px}
.tk-prose .lj-verified a{color:var(--tk-green)}
.tk-prose .lj-calc-link{margin:20px 0!important}
.tk-prose .lj-calc-link a{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:52px;background:var(--tk-accent)!important;color:#fff!important;border-radius:var(--tk-r)!important;font:700 16px/1.2 var(--tk-sans)!important;padding:14px 22px!important;text-decoration:none!important}
.tk-prose .lj-calc-link a:hover{background:var(--tk-accent-hover)!important}

/* L'essentiel (disques numérotés) */
.tk-prose .lj-essential{background:var(--tk-paper);border-radius:var(--tk-r-lg);padding:24px;margin:24px 0}
.tk-prose .lj-essential .lj-callout-label{display:block;font:800 20px/1.2 var(--tk-sans);letter-spacing:-.01em;color:var(--tk-ink);margin:0 0 14px;text-transform:none}
.tk-prose .lj-essential ul{list-style:none;margin:0;padding:0;counter-reset:tkk;display:grid;gap:14px}
.tk-prose .lj-essential li{counter-increment:tkk;position:relative;padding-left:40px;margin:0;font-size:16px;line-height:1.55;min-height:28px}
.tk-prose .lj-essential li::before{content:counter(tkk);position:absolute;left:0;top:-1px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tk-ink);color:#fff;font:800 13px/1 var(--tk-sans)}

/* Encadrés */
.tk-prose .lj-callout-label{display:block;font:700 13px/1.3 var(--tk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tk-accent-text);margin:0 0 8px}
.tk-prose .lj-callout{background:var(--tk-paper);border-radius:var(--tk-r-lg);padding:20px 24px;margin:28px 0;border-left:6px solid var(--c)}
.tk-prose .lj-callout p:last-child{margin-bottom:0}
.tk-prose .lj-notice{display:block;border-left:6px solid var(--tk-yellow);padding:8px 0 8px 16px;margin:28px 0;font-size:17px}
.tk-prose .lj-sources{border-top:2px solid var(--tk-rule);padding-top:20px;margin:48px 0 0;font-size:15px}
.tk-prose .lj-sources .lj-callout-label{color:var(--tk-muted)}
.tk-prose .lj-sources li{margin-bottom:4px}
.tk-prose .lj-feature{margin:28px 0}
.tk-prose .lj-feature img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--tk-r-lg)}
.tk-prose .wp-block-image img{border-radius:var(--tk-r-lg);height:auto}

/* Tableaux : sans boîte, filets d'encre */
.tk-prose .lj-table-wrap,.tk-prose figure.wp-block-table,.tk-prose .ljc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0!important;border-top:2px solid var(--tk-rule);border-bottom:2px solid var(--tk-rule)}
.tk-prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums;margin:0;background:none;border-radius:0;box-shadow:none}
.tk-prose table.tk-wide{min-width:600px}
.tk-prose table.lj-table{display:table}
.tk-prose th{font:700 12px/1.3 var(--tk-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tk-muted);text-align:left;padding:12px 12px 10px 0;border-bottom:1px solid var(--tk-line);background:none;vertical-align:bottom}
.tk-prose tbody th{font:700 15px/1.35 var(--tk-sans);letter-spacing:0;text-transform:none;color:var(--tk-ink);vertical-align:top}
.tk-prose td{padding:12px 12px 12px 0;border-bottom:1px solid var(--tk-line);vertical-align:top;background:none}
.tk-prose thead,.tk-prose tfoot{border:0}
.tk-prose .wp-block-table td,.tk-prose .wp-block-table th{border-width:0 0 1px;border-style:solid;border-color:var(--tk-line)}
.tk-prose tbody tr:last-child td,.tk-prose tbody tr:last-child th{border-bottom:0}
.tk-prose tbody td:first-child{font-weight:700}
.tk-prose tr.is-chosen td,.tk-prose tr.is-chosen th{background:var(--tk-ok-bg)}
.tk-prose tr.is-chosen th{box-shadow:inset 4px 0 0 var(--tk-green);padding-left:12px}
.tk-prose figcaption,.tk-prose .wp-element-caption{font-size:13px;color:var(--tk-muted);margin-top:8px}

/* Visuels de contenu (barres, frise, étapes, matrices, saisons, échelle, entonnoir) */
.tk-prose .lj-viz{margin:32px 0}
.tk-prose .lj-viz-title{display:flex;align-items:center;gap:10px;font:700 13px/1.3 var(--tk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tk-ink);margin:0 0 16px}
.tk-prose .lj-viz-title::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px var(--tk-bg),0 0 0 5px var(--c)}
.tk-prose .lj-viz-cap{font-size:13px;line-height:1.45;color:var(--tk-muted);margin:10px 0 0}
.tk-prose .lj-bars{display:grid;gap:10px}
.tk-prose .lj-bar-row{display:grid;grid-template-columns:7rem 1fr;align-items:center;gap:10px}
.tk-prose .lj-bar-label{font-size:14px;line-height:1.25;font-weight:600}
.tk-prose .lj-bar-track{background:var(--tk-paper);border-radius:4px;height:28px;overflow:hidden}
.tk-prose .lj-bar-fill{height:100%;background:var(--tk-accent);color:#fff;font:600 13px/28px var(--tk-sans);padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tk-prose .lj-bar-fill.ai{background:var(--tk-ink)}
@media (min-width:600px){.tk-prose .lj-bar-row{grid-template-columns:10rem 1fr}}
.tk-prose .lj-timeline{list-style:none;margin:0;padding:0;position:relative}
.tk-prose .lj-timeline::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:6px;border-radius:3px;background:var(--c)}
.tk-prose .lj-timeline li{position:relative;padding:0 0 18px 40px;margin:0}
.tk-prose .lj-timeline li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--tk-bg);border:5px solid var(--tk-ink)}
.tk-prose .lj-t-day{font-weight:800;letter-spacing:-.01em}
.tk-prose .lj-t-nights{display:inline-block;margin-left:8px;font:700 12px/1 var(--tk-sans);padding:5px 8px;border-radius:999px;background:var(--tk-paper);vertical-align:2px}
.tk-prose .lj-flow{display:grid;gap:0;border-top:2px solid var(--tk-rule)}
.tk-prose .lj-step{display:block;padding:12px 0 12px 40px;border-bottom:1px solid var(--tk-line);position:relative;font-size:16px;line-height:1.5}
.tk-prose .lj-num{position:absolute;left:0;top:11px;width:28px;height:28px;border-radius:50%;background:var(--tk-ink);color:#fff;display:grid;place-items:center;font:800 13px/1 var(--tk-sans)}
.tk-prose .lj-matrix{display:grid;gap:12px}
.tk-prose .lj-grid-2,.tk-prose .lj-grid-3{grid-template-columns:1fr}
@media (min-width:600px){.tk-prose .lj-grid-2,.tk-prose .lj-grid-3{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.tk-prose .lj-grid-3{grid-template-columns:repeat(3,1fr)}}
.tk-prose .lj-cell{border:1px solid var(--tk-line);border-top:4px solid var(--c);border-radius:var(--tk-r);padding:14px 16px;background:var(--tk-bg)}
.tk-prose .lj-cell h4{font-size:17px;margin:0 0 6px}
.tk-prose .lj-cell p{margin:0;font-size:15px;line-height:1.5;color:var(--tk-muted)}
.tk-prose .lj-seasons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (min-width:900px){.tk-prose .lj-seasons{grid-template-columns:repeat(4,1fr)}}
.tk-prose .lj-season{border:1px solid var(--tk-line);border-radius:var(--tk-r);padding:14px}
.tk-prose .lj-season h4{font-size:18px;margin:0 0 6px}
.tk-prose .lj-season p{font-size:14px;line-height:1.45;color:var(--tk-muted);margin:0 0 10px}
.tk-prose .lj-tag{display:inline-block;font:700 12px/1.2 var(--tk-sans);padding:6px 9px;border-radius:999px;background:var(--tk-paper);color:var(--tk-ink)}
.tk-prose .lj-tag.aff-h{background:#FCE9EC;color:#8E0022}
.tk-prose .lj-tag.aff-l{background:var(--tk-ok-bg);color:#17603C}
.tk-prose .lj-scale{display:grid;gap:8px}
.tk-prose .lj-level{display:grid;grid-template-columns:6px 1fr;gap:12px}
.tk-prose .lj-band{background:var(--c);border-radius:3px}
.tk-prose .lj-desc{background:var(--tk-paper);border-radius:var(--tk-r);padding:10px 14px;font-size:15px;line-height:1.5}
.tk-prose .lj-funnel{display:flex;flex-direction:column;align-items:center;gap:6px}
.tk-prose .lj-fstep{width:100%;max-width:var(--w,100%);background:var(--tk-ink);color:#fff;text-align:center;padding:10px 12px;border-radius:var(--tk-r);font-size:14px;line-height:1.35;font-weight:600}
@media (max-width:599px){.tk-prose .lj-fstep{max-width:none}}
.tk-prose .lj-next{display:grid;gap:0;border-top:2px solid var(--tk-rule)}
.tk-prose .lj-next-card{padding:14px 0;border-bottom:1px solid var(--tk-line)}
.tk-prose .lj-next-card p{margin:0;font-size:15px;color:var(--tk-muted)}
.tk-prose .lj-next-card p:first-child{font-size:18px;color:var(--tk-ink);margin-bottom:4px}
.tk-prose .lj-next-card a{text-decoration:none;font-weight:800}
.tk-prose .lj-next-card a::after{content:" →"}
@media (min-width:900px){.tk-prose .lj-next{grid-template-columns:repeat(3,1fr);gap:0 24px}}

/* Boutons du contenu */
.tk-prose .lj-btn,.tk-prose .lj-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 22px;border-radius:var(--tk-r);font:700 16px/1.2 var(--tk-sans);text-decoration:none;text-align:center;border:0;cursor:pointer}
.tk-prose .lj-btn-primary,.tk-prose .lj-cta-btn{background:var(--tk-accent);color:#fff}
.tk-prose .lj-btn-primary:hover,.tk-prose .lj-cta-btn:hover{background:var(--tk-accent-hover);color:#fff}
.tk-prose .lj-btn-secondary,.tk-prose .lj-cta-btn~.lj-cta-btn{background:transparent;color:var(--tk-ink);box-shadow:inset 0 0 0 2px var(--tk-ink)}
.tk-prose .lj-btn-secondary:hover,.tk-prose .lj-cta-btn~.lj-cta-btn:hover{background:var(--tk-paper);color:var(--tk-ink)}

/* Boîtes d'achat (affiliation) : cadre d'encre 2 px, un bouton principal */
.tk-prose .lj-cta,.tk-prose .lj-aff-cta{border:2px solid var(--tk-rule)!important;border-radius:var(--tk-r-lg)!important;background:var(--tk-bg)!important;padding:24px!important;margin:32px 0!important;font-family:var(--tk-sans)!important;color:var(--tk-ink)}
.tk-prose .lj-cta .lj-callout-label,.tk-prose .lj-aff-cta>div:first-child{display:flex!important;align-items:center;gap:10px;font:700 13px/1.3 var(--tk-sans)!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--tk-accent-text)!important;margin:0 0 10px!important}
.tk-prose .lj-cta .lj-callout-label::before,.tk-prose .lj-aff-cta>div:first-child::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px var(--tk-bg),0 0 0 5px currentColor}
.tk-prose .lj-cta h3{font-size:24px;margin:0 0 10px}
.tk-prose .lj-cta p,.tk-prose .lj-aff-cta p{color:var(--tk-muted)!important;font-size:16px!important;line-height:1.55!important;margin:0 0 16px!important;font-family:var(--tk-sans)!important}
.tk-prose .lj-cta p.tk-cta-row{display:grid;gap:10px}
@media (min-width:600px){.tk-prose .lj-cta p.tk-cta-row{display:flex;flex-wrap:wrap}}
.tk-prose .lj-cta .lj-disclose,.tk-prose .lj-aff-cta>div:last-child{font-size:13px!important;line-height:1.45!important;color:var(--tk-muted)!important;margin:4px 0 0!important}
.tk-prose .lj-aff-cta>div:last-child a,.tk-prose .lj-cta .lj-disclose a{color:var(--tk-muted)!important}
.tk-prose .lj-aff-cta>a,.tk-prose a[href*="/reserver/"][style]{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;padding:14px 22px!important;border-radius:var(--tk-r)!important;background:var(--tk-accent)!important;color:#fff!important;font:700 16px/1.2 var(--tk-sans)!important;text-decoration:none!important;box-shadow:none!important;border:0!important}
.tk-prose .lj-aff-cta>a:hover,.tk-prose a[href*="/reserver/"][style]:hover{background:var(--tk-accent-hover)!important}
@media (max-width:599px){.tk-prose .lj-aff-cta>a,.tk-prose .lj-cta .lj-cta-btn{display:flex!important;width:100%}}

/* Comparatif [lj_compare] : cartes < 900 px, tableau au-delà */
.tk-prose .lj-compare{margin:24px 0}
.tk-prose .lj-cmp-cards{display:grid;gap:12px}
.tk-prose .lj-cmp-card{border:1px solid var(--tk-line);border-radius:var(--tk-r-lg);padding:16px;background:var(--tk-bg)}
.tk-prose .lj-cmp-card.is-pick{border:2px solid var(--tk-green)}
.tk-prose .lj-cmp-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.tk-prose .lj-cmp-name{font-size:21px;line-height:1.15;margin:0}
.tk-prose .lj-pick{display:inline-block;flex:none;font:700 12px/1 var(--tk-sans);padding:7px 10px;border-radius:999px;background:var(--tk-ok-bg);color:#17603C;white-space:nowrap}
.tk-prose .lj-cmp-ideal{font-size:15px;line-height:1.45;color:var(--tk-muted);margin:0 0 10px}
.tk-prose .lj-cmp-ideal b{color:var(--tk-ink)}
.tk-prose .lj-cmp-kv{display:grid;margin:0 0 14px;font-size:15px;font-variant-numeric:tabular-nums}
.tk-prose .lj-cmp-kv div{display:grid;grid-template-columns:42% 1fr;gap:10px;padding:8px 0;border-top:1px dashed var(--tk-line)}
.tk-prose .lj-cmp-kv dt{color:var(--tk-muted)}
.tk-prose .lj-cmp-kv dd{margin:0;font-weight:700}
.tk-prose .lj-cmp-act .lj-btn{display:flex;width:100%}
.tk-prose .lj-cmp-partner{display:block;font-size:13px;color:var(--tk-muted);margin-top:6px;text-align:center}
.tk-prose .lj-cmp-table,.tk-prose .lj-cmp-hint{display:none}
.tk-prose .lj-cmp-more{margin:12px 0 0}
.tk-prose .lj-cmp-more summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:800;padding:8px 0}
.tk-prose .lj-cmp-more summary span{font-weight:400;color:var(--tk-muted);font-size:15px}
.tk-prose .lj-cmp-meta{font-size:13px;color:var(--tk-muted);margin:10px 0 0}
@media (min-width:900px){
.tk-prose .lj-cmp-cards{display:none}
.tk-prose .lj-cmp-hint{display:block;font-size:13px;color:var(--tk-muted);margin:0 0 6px}
.tk-prose .lj-cmp-table{display:block;overflow-x:auto;border-top:2px solid var(--tk-rule);border-bottom:2px solid var(--tk-rule)}
.tk-prose .lj-cmp-table table{min-width:1000px}
.tk-prose .lj-cmp-table th,.tk-prose .lj-cmp-table td{padding:12px 14px 12px 0;vertical-align:middle;background:var(--tk-bg)}
.tk-prose .lj-cmp-table thead th:first-child,.tk-prose .lj-cmp-table tbody th{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--tk-line);padding-left:12px;min-width:190px}
.tk-prose .lj-cmp-table tbody th .lj-pick{margin-top:6px}
.tk-prose .lj-cmp-table tr.is-pick td,.tk-prose .lj-cmp-table tr.is-pick th{background:#F2F8F4}
.tk-prose .lj-cmp-table tr.is-pick th{box-shadow:inset 4px 0 0 var(--tk-green),1px 0 0 var(--tk-line)}
.tk-prose .lj-cmp-th-btn{display:block;margin-top:8px}
.tk-prose .lj-cmp-table tbody th .lj-btn{min-height:44px;padding:8px 14px;font-size:15px;white-space:nowrap}
.tk-prose .lj-cmp-table tbody th .lj-cmp-partner{text-align:left;font-size:12px;font-weight:400}
.tk-prose .lj-cmp-table td{min-width:130px}}

/* Inscription : jaune quai */
.tk-prose .lj-nl-a,.tk-prose .lj-nl-alert{background:var(--tk-yellow);color:#0F1115;border-radius:var(--tk-r-lg);padding:24px;margin:48px 0 32px;display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}
.tk-prose .lj-nl-alert{display:block}
.tk-prose .lj-nl-cover{width:64px;height:auto;aspect-ratio:106/150;border:2px solid #0F1115;border-radius:4px;background:#fff}
.tk-prose .lj-nl-body{min-width:0}
.tk-prose .lj-nl-eyebrow{display:flex;align-items:center;gap:10px;font:700 13px/1.3 var(--tk-sans)!important;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px!important;color:#0F1115}
.tk-prose .lj-nl-title{font:800 26px/1.1 var(--tk-sans)!important;letter-spacing:-.025em;color:#0F1115!important;margin:0 0 8px!important}
.tk-prose .lj-nl-sub{font-size:16px;line-height:1.5;margin:0 0 12px;color:#0F1115}
.tk-prose .lj-nl-ticks{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:4px;font-size:15px;font-weight:500}
.tk-prose .lj-nl-ticks li{margin:0}
.tk-prose .lj-nl-ticks li::before{content:"✓  ";font-weight:800}
.tk-prose .lj-nl-label{display:block;font:700 14px/1.2 var(--tk-sans);margin:0 0 8px}
.tk-prose .lj-nl-form{margin:0}
.tk-prose .lj-nl-field,.tk-prose .lj-nl-alert .lj-nl-form{display:grid;gap:10px}
.tk-prose .lj-nl input[type=email]{width:100%;min-height:52px;border:2px solid #0F1115;border-radius:var(--tk-r);padding:0 14px;font:16px var(--tk-sans);background:#fff;color:#0F1115;margin:0}
.tk-prose .lj-nl button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border:0;border-radius:var(--tk-r);background:#0F1115;color:#fff;font:700 16px/1.2 var(--tk-sans);cursor:pointer;white-space:nowrap}
.tk-prose .lj-nl button:hover{background:#2A2F38}
.tk-prose .lj-nl button[disabled]{opacity:.7;cursor:wait}
.tk-prose .lj-nl input:focus-visible,.tk-prose .lj-nl button:focus-visible{outline:3px solid #0B5CAD;outline-offset:2px}
.tk-prose .lj-nl-consent{font-size:13px;line-height:1.45;color:#2E2A1A;margin:10px 0 0}
.tk-prose .lj-nl-consent a{color:#0F1115;text-decoration-color:#0F1115}
.tk-prose .lj-nl-msg{font-size:15px;font-weight:700;margin:8px 0 0;min-height:0}
.tk-prose .lj-nl-msg:empty{display:none}
.tk-prose .lj-nl-msg.is-ok{background:#fff;color:#17603C;padding:10px 12px;border-radius:var(--tk-r)}
.tk-prose .lj-nl-msg.is-err{background:#fff;color:#8E0022;padding:10px 12px;border-radius:var(--tk-r)}
@media (min-width:520px){.tk-prose .lj-nl-field,.tk-prose .lj-nl-alert .lj-nl-form{grid-template-columns:1fr auto}.tk-prose .lj-nl-alert .lj-nl-form .screen-reader-text+input{grid-column:1}}
@media (min-width:700px){.tk-prose .lj-nl-a{grid-template-columns:120px 1fr;gap:32px;padding:40px}.tk-prose .lj-nl-cover{width:120px}.tk-prose .lj-nl-alert{padding:32px}}
.tk-prose .lj-nl-slim{display:grid;gap:10px;background:var(--tk-paper);border-left:6px solid var(--tk-yellow);border-radius:0 var(--tk-r) var(--tk-r) 0;padding:16px;margin:20px 0 28px}
.tk-prose .lj-nl-slim .lj-nl-line{margin:0;font-size:16px;line-height:1.45}
.tk-prose .lj-nl-slim input[type=email]{border-width:2px;min-height:48px}
.tk-prose .lj-nl-slim button{min-height:48px;padding:10px 18px}

/* Encadré auteur (entre deux filets) */
.tk-prose .lj-author-box{position:relative;border-top:2px solid var(--tk-rule);border-bottom:2px solid var(--tk-rule);padding:24px 0 24px 72px;margin:56px 0 24px;font-size:15px;line-height:1.55;color:var(--tk-muted);background:none}
.tk-prose .lj-sources .lj-author-box{margin-top:32px}
.tk-prose .lj-author-box .tk-ab-mono{position:absolute;left:0;top:24px;width:56px;height:56px;font-size:17px}
.tk-prose .lj-author-box strong{color:var(--tk-ink);font-weight:800}
.tk-prose .lj-author-box p{margin:0 0 10px}
.tk-prose .lj-author-box p:last-child{margin:0}
.tk-prose .lj-author-box .lj-verified{background:none;padding:0;margin-top:10px}
.tk-facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px!important;padding:0!important}
.tk-facts li{font:700 12px/1 var(--tk-sans);padding:7px 10px;border-radius:999px;background:var(--tk-paper);color:var(--tk-ink);margin:0!important}

/* Publications similaires (« prochains arrêts ») et navigation */
.tk-related{margin:56px 0 0;max-width:46rem}
.tk-related h2{font-size:28px;margin:0 0 16px}
.tk-rel-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--tk-rule)}
.tk-rel{position:relative;display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0;border-bottom:1px solid var(--tk-line);margin:0}
.tk-rel-hub{display:flex;align-items:center;gap:8px;font:700 12px/1 var(--tk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tk-muted)}
.tk-rel-hub i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.tk-rel h3{grid-column:1;font-size:19px;line-height:1.25;letter-spacing:-.015em;margin:0}
.tk-rel h3 a{text-decoration:none}
.tk-rel h3 a::after{content:"";position:absolute;inset:0}
.tk-rel:hover h3 a{text-decoration:underline;text-decoration-color:var(--c)}
.tk-arr{grid-column:2;grid-row:1/3;align-self:center;font-weight:800;font-size:20px}
.tk-article-page .post-navigation{max-width:46rem;margin:40px 0 0}
.tk-article-page .post-navigation .nav-links{display:grid;gap:0;border-top:2px solid var(--tk-rule)}
.tk-article-page .post-navigation a{display:block;padding:14px 0;border-bottom:1px solid var(--tk-line);text-decoration:none}
.tk-pn-k{display:block;font:700 12px/1 var(--tk-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tk-muted);margin-bottom:6px}
.tk-pn-t{font-weight:800;font-size:17px;line-height:1.3}
.tk-article-page .post-navigation a:hover .tk-pn-t{text-decoration:underline;text-decoration-color:var(--tk-accent-text)}
@media (min-width:900px){.tk-article-page .post-navigation .nav-links{grid-template-columns:1fr 1fr;gap:0 24px}.tk-article-page .nav-next{text-align:right}}

/* Barre collante : pleine largeur, filet d'encre ; même logique d'affichage (lj.js) ; remplacée par la carte du rail >= 1100 px */
.lj-sticky{position:fixed;z-index:40;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;background:var(--tk-bg);border-top:2px solid var(--tk-rule);padding:8px 4px 8px 16px;padding-bottom:max(8px,env(safe-area-inset-bottom));min-height:60px;font-family:var(--tk-sans);transition:transform .25s ease,opacity .25s ease,visibility .25s}
.lj-sticky-txt{flex:1 1 auto;min-width:0}
.lj-sticky-title{display:block;font:800 15px/1.2 var(--tk-sans);color:var(--tk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lj-sticky-sub,.lj-sticky-disc{display:block;font:500 12px/1.3 var(--tk-sans);color:var(--tk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lj-sticky-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:var(--tk-r);background:var(--tk-accent);color:#fff!important;font:700 15px/1.2 var(--tk-sans);text-decoration:none;flex:none}
.lj-sticky-btn:hover{background:var(--tk-accent-hover)}
.lj-sticky:not(.lj-sticky-2l){flex-wrap:wrap;row-gap:2px}
.lj-sticky:not(.lj-sticky-2l) .lj-sticky-btn{flex:1 1 auto}
.lj-sticky:not(.lj-sticky-2l) .lj-sticky-disc{order:3;width:100%}
.lj-sticky-close{flex:none;width:44px;height:44px;border:0;background:none;color:var(--tk-muted);font-size:24px;line-height:1;cursor:pointer;border-radius:var(--tk-r);padding:0}
.lj-sticky-close:hover{background:var(--tk-paper);color:var(--tk-ink)}
.lj-sticky.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none;visibility:hidden}
.lj-sticky.is-closed{display:none}
body.lj-has-sticky{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
@media (min-width:1100px){.lj-sticky{display:none!important}body.lj-has-sticky{padding-bottom:0}}

/* Calculateur JR Pass : outil sobre, résultat imprimé comme un billet JR */
.tk-prose .ljc{background:var(--tk-paper);border:0;border-radius:var(--tk-r-lg);box-shadow:none;padding:20px 16px;margin:24px 0;font-family:var(--tk-sans);color:var(--tk-ink)}
@media (min-width:700px){.tk-prose .ljc{padding:28px}}
.tk-prose .ljc .ljc-title{font-size:26px;margin:0 0 12px}
.tk-prose .ljc h3{font-size:20px;margin:28px 0 10px}
.tk-prose .ljc-chip{border:2px solid var(--tk-ink);background:var(--tk-bg);color:var(--tk-ink);font-weight:600;border-radius:999px}
.tk-prose .ljc-chip:hover{background:var(--tk-ink);color:#fff}
.tk-prose .ljc-trip{border:1px solid var(--tk-line)!important;border-radius:var(--tk-r-lg)}
.tk-prose .ljc select{border:2px solid var(--tk-ink);border-radius:var(--tk-r);background-color:var(--tk-bg);min-height:48px}
.tk-prose .ljc-add,.tk-prose .ljc-remove{border-color:var(--tk-ink);color:var(--tk-ink)}
.tk-prose .ljc-result{border-top:2px solid var(--tk-rule);margin-top:20px;padding-top:20px}
.tk-prose .ljc-verdict,.tk-prose .ljc-kpis,.tk-prose .ljc-result>.ljc-cta{margin:0!important;background:var(--tk-bg);border:14px solid var(--tk-ticket);border-image:repeating-linear-gradient(135deg,var(--tk-ticket) 0 8px,var(--tk-ticket-line) 8px 10px) 14}
.tk-prose .ljc-verdict{position:relative;border-bottom:0;border-radius:0;padding:16px 92px 14px 16px;font:800 19px/1.3 var(--tk-sans);letter-spacing:-.01em;min-height:6.2em}
@media (min-width:700px){.tk-prose .ljc-verdict{min-height:4.6em;font-size:21px}}
.tk-prose .ljc-verdict::after{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:3px solid currentColor;font:800 10.5px/1.05 var(--tk-sans);text-transform:uppercase;text-align:center;letter-spacing:.02em;transform:rotate(-8deg);padding:4px}
.tk-prose .ljc-verdict.ljc-best-single::after{content:"Pass pas rentable";color:var(--tk-accent-text)}
.tk-prose .ljc-verdict.ljc-best-pass::after{content:"Pass rentable";color:var(--tk-green)}
.tk-prose .ljc-verdict.ljc-best-regional::after{content:"Pass régional";color:var(--tk-blue)}
.tk-prose .ljc-kpis{border-top:0;border-bottom:0;display:grid;grid-template-columns:1fr;gap:0;padding:0 16px}
.tk-prose .ljc-kpi{background:none;border:0;border-top:1px dashed #C9C6BF;border-radius:0;padding:12px 0;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px}
.tk-prose .ljc-kpi dt{font-size:15px;font-weight:600;color:var(--tk-muted)}
.tk-prose .ljc-kpi .ljc-big{font:800 26px/1.1 var(--tk-sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-align:right;margin:0}
.tk-prose .ljc-kpi .ljc-sub{grid-column:1/-1;text-align:right;font-size:13px;color:var(--tk-muted);margin:0}
.tk-prose .ljc-kpi:last-child{border-bottom:2px solid var(--tk-rule)}
.tk-prose .ljc-result>.ljc-cta{border-top:0;padding:16px;border-radius:0;box-shadow:none}
.tk-prose .ljc-cta-h{font:800 18px/1.3 var(--tk-sans);margin:0 0 12px}
.tk-prose .ljc-cta-act{display:grid;gap:10px}
.tk-prose .ljc-cta-act .lj-btn{width:100%}
.tk-prose .ljc-cta-link{font-weight:600}
.tk-prose .ljc-cta-small,.tk-prose .ljc-small,.tk-prose .ljc-hint{font-size:13px;line-height:1.45;color:var(--tk-muted)}
.tk-prose .ljc-nozomi{font-size:15px;border-left:6px solid var(--tk-yellow);padding:4px 0 4px 14px;margin:20px 0}
.tk-prose .ljc .lj-nl-slim{margin:20px 0}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lj-sticky{transition:none}.tk-article-page *{transition:none!important;animation:none!important}}
@media print{.lj-sticky,.tk-rail,.tk-toc-m,.lj-nl,.tk-related,.post-navigation{display:none!important}}
