/*
Theme Name: Tierney
Description: Thème d'auteur bilingue (EN par défaut / FR) Réglages dans le menu « Tierney », modèles (patterns) dans l'éditeur.
Author: KarukerApp Lab
Version: 2.1.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: tierney
*/

:root {
	--cream: #f6f2ea; --ink: #1c1a18; --red: #c4113f; --pink: #f6d3da; --blue: #d6e6ec;
	--yellow: #e7be55; --paper: #efe9dd; --teal: #0b4a5a; --night: #151413;
	--serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--script: "Caveat", "Segoe Script", cursive;
	--wrap: 1200px; --narrow: 52rem;
	--gap: clamp(1rem, 3vw, 2rem);
	--torn: polygon(0 3%, 4% 0, 12% 2%, 25% 0, 40% 2%, 55% 0, 70% 2%, 85% 0, 100% 2%, 100% 97%, 92% 100%, 78% 98%, 60% 100%, 45% 98%, 30% 100%, 15% 98%, 5% 100%, 0 97%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 400 1.0625rem/1.6 var(--serif); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-weight: 400; line-height: 1.15; margin: 0 0 .5em; }
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.8rem, 3vw, 2.3rem); }
h3 { font-size: 1.5rem; }
p { margin: 0 0 1em; }
ul { list-style: none; margin: 0; padding: 0; }
main { display: block; margin: 0; padding: 0; }
.c-red { color: var(--red); } .c-teal { color: var(--teal); } .c-yellow { color: #d49a00; } .c-pink { color: #e0708f; } .c-blue { color: #4f93ad; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; top: .5rem; left: .5rem; background: #fff; padding: .5rem 1rem; z-index: 100; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }

/* ---------- Boutons (thème + bloc Bouton) ---------- */
.btn, .wp-block-button__link { display: inline-flex; align-items: center; font: inherit; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; padding: .8rem 1.4rem; border-radius: 0; border: 1px solid currentColor; transition: background .2s, color .2s; }
.btn span { margin-left: .6rem; }
.wp-block-button__link::after { content: "→"; margin-left: .6rem; }
.btn--solid, .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--red); border-color: var(--red); color: #fff; }
.btn--solid:hover, .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover { background: #a00e34; border-color: #a00e34; }
.btn--outline { background: transparent; }
.btn--outline:hover { background: var(--ink); color: #fff; }
.btn--link { border-color: transparent; padding-left: 0; color: var(--red); }
.btn--link:hover { text-decoration: underline; }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 1px solid currentColor; background: transparent; }
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--btn-c, var(--ink)); }
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover { background: var(--btn-c, var(--ink)); color: var(--btn-hover, #fff); }

/* ---------- En-tête ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--cream); }
.admin-bar .site-header { top: 32px; }
.site-header__inner { max-width: 1400px; margin: 0 auto; padding: .6rem var(--gap); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { text-decoration: none; display: inline-block; }
.brand__text { font-family: var(--script); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; color: var(--ink); }
.brand__logo { display: block; height: clamp(34px, 4.4vw, 50px); width: auto; }
.brand--footer .brand__logo { height: clamp(44px, 5vw, 62px); }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2rem); }
.menu { display: flex; flex-wrap: wrap; gap: clamp(1rem, 2.5vw, 2.2rem); }
.site-nav .menu a { text-decoration: none; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; padding: .3rem 0; border-bottom: 2px solid transparent; }
.site-nav .menu .current-menu-item > a, .site-nav .menu .current_page_item > a, .site-nav .menu a:hover { color: var(--red); border-color: var(--red); }
.lang-switch { display: flex; gap: .6rem; font-size: .8rem; letter-spacing: .1em; }
.lang-switch li + li::before { content: "|"; margin-right: .6rem; opacity: .4; }
.lang-switch a { font-weight: 700; text-decoration: none; opacity: .6; }
.lang-switch .current-lang a, .lang-switch a:hover { opacity: 1; color: var(--red); }
.nav-toggle { display: none; background: none; border: 0; padding: .6rem; cursor: pointer; }
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { display: block; width: 24px; height: 2px; background: var(--ink); position: relative; content: ""; transition: transform .2s; }
.nav-toggle__bars::before { position: absolute; top: -7px; }
.nav-toggle__bars::after { position: absolute; top: 7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Réseaux sociaux (menu « socials ») ---------- */
.socials__list { display: flex; gap: .5rem; }
.social-link { display: grid; place-items: center; width: 2rem; height: 2rem; text-decoration: none; }
.social-link::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.social-link:hover { color: var(--red); }
.social-link { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E"); }
.social-instagram { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.3' cy='6.7' r='.9' fill='black'/%3E%3C/svg%3E"); }
.social-facebook { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3a4 4 0 0 0-4 4v3H7v4h3v7h4v-7h3l1-4h-4V8z'/%3E%3C/svg%3E"); }
.social-mail { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3.5 6.5 8.5 7 8.5-7'/%3E%3C/svg%3E"); }
.social-youtube { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='4'/%3E%3Cpath d='m10 9.5 5 2.5-5 2.5z' fill='black'/%3E%3C/svg%3E"); }
.social-tiktok { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M14 4v10.5a3.5 3.5 0 1 1-3.5-3.5M14 4c.5 2.5 2 4 4.5 4.2'/%3E%3C/svg%3E"); }
.social-linkedin { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M6 9v9M6 5.5v.01M10.5 18V9m0 4a3 3 0 0 1 6 0v5'/%3E%3C/svg%3E"); }
.social-x { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m4 4 16 16M20 4 4 20'/%3E%3C/svg%3E"); }

/* ---------- Contenu : pages, articles, accueil ---------- */
.entry__head { max-width: var(--narrow); margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) var(--gap) 0; }
.entry__head time { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.entry__content > * { max-width: var(--narrow); margin: 1.1em auto; padding-inline: var(--gap); }
.entry__content > .alignwide { max-width: var(--wrap); }
.entry__content > .alignfull { max-width: none; margin: 0; padding-inline: 0; }
.entry__content > :not(.alignfull):last-child { margin-bottom: clamp(2rem, 5vw, 4rem); }
.entry__content a { color: var(--red); }
.entry__content :where(h2, h3) { margin-top: 1.4em; }
.archive .news__grid--list { grid-template-columns: 1fr; max-width: var(--narrow); margin: 2rem auto 0; padding: 0 var(--gap) 3rem; }

/* ---------- Hero ---------- */
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(22rem, 38vw, 30rem); position: relative; overflow: hidden; }
.hero--1-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.hero--1-1 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hero--2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.home--contained { max-width: var(--wrap); margin: 0 auto; }
.hero__text { container-type: inline-size; padding: clamp(1.5rem, 4vw, 3rem) var(--gap) clamp(1.5rem, 4vw, 3rem) clamp(1rem, 5vw, 4.5rem); align-self: center; }
.hero__title { font-size: clamp(2rem, 4.2vw, 3.4rem); margin-bottom: 1.2rem; }
@supports (font-size: 1cqi) { .hero__title { font-size: clamp(1.8rem, 9cqi, 3.4rem); } }
.hero__lead { max-width: 30rem; margin-bottom: 1.4rem; }
.hero__media { position: relative; overflow: hidden; }
.hero__media--empty { background: linear-gradient(135deg, #bcd9e6, #e9d9bf); }
.hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.hero__media--cut { clip-path: polygon(3% 0, 100% 0, 100% 100%, 0 100%, 2% 70%, 0 40%); }
.hero__media--hover:hover img { transform: scale(1.06); }

/* Alignement de l'image du hero (grille 3 × 3) */
.hero__media--pos-1 img { object-position: left top; }
.hero__media--pos-2 img { object-position: center top; }
.hero__media--pos-3 img { object-position: right top; }
.hero__media--pos-4 img { object-position: left center; }
.hero__media--pos-5 img { object-position: center center; }
.hero__media--pos-6 img { object-position: right center; }
.hero__media--pos-7 img { object-position: left bottom; }
.hero__media--pos-8 img { object-position: center bottom; }
.hero__media--pos-9 img { object-position: right bottom; }

/* Mode « image en fond » : l'image couvre tout le hero, le texte passe par-dessus */
.hero--bg { display: block; min-height: clamp(26rem, 46vw, 38rem); display: flex; align-items: center; }
.hero--bg .hero__media { position: absolute; inset: 0; z-index: 0; clip-path: none; }
.hero--bg .hero__text { position: relative; z-index: 2; width: 50%; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.hero--bg.hero--1-2 .hero__text { width: 34%; }
.hero--bg.hero--2-1 .hero__text { width: 67%; }
.hero--bg::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.hero--veil-light::after { background: linear-gradient(90deg, rgba(246,242,234,.92) 0%, rgba(246,242,234,.6) 45%, rgba(246,242,234,0) 80%); }
.hero--veil-dark::after { background: linear-gradient(90deg, rgba(10,10,10,.72) 0%, rgba(10,10,10,.4) 45%, rgba(10,10,10,0) 80%); }
.hero--veil-dark .hero__text { color: #fff; }
.hero--veil-dark .hero__text .c-red { color: #ff6b8b; }
.hero--veil-dark .btn--outline { color: #fff; } .hero--veil-dark .btn--outline:hover { background: #fff; color: var(--ink); }
.hero--veil-dark .btn--link { color: #fff; }
.t-sc { font-variant: small-caps; letter-spacing: .04em; }

/* ---------- Sections (modèles « My Books », actualités) ---------- */
.tn-section { padding: clamp(1.5rem, 3vw, 2.5rem) 0; }
.tn-front .tn-section > * { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gap); }
.tn-section-head { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin-bottom: 1.2rem; }
.tn-front .tn-section > .tn-section-head { margin-bottom: 1.2rem; }
.tn-section-head > :is(h2, h3) { display: flex; align-items: center; gap: 1.2rem; margin: 0; white-space: nowrap; }
.tn-section-head > :is(h2, h3)::after { content: ""; width: clamp(3rem, 20vw, 20rem); height: 1px; background: currentColor; }
.tn-tagline, .link-all { margin: 0 0 0 auto; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; text-align: right; }
.link-all { color: var(--red); text-decoration: none; }

/* Cartes colorées : style de bloc du Groupe */
.wp-block-group[class*="is-style-tn-"] { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 1.6rem 1.2rem 1.3rem; color: var(--card-ink, var(--ink)); --btn-c: var(--card-c, var(--ink)); }
.wp-block-group[class*="is-style-tn-"]::before { content: ""; position: absolute; inset: 0; background: var(--card-bg, var(--paper)); clip-path: var(--torn); z-index: -1; }
.wp-block-group[class*="is-style-tn-"] > * { max-width: 100%; margin: 0; }
.wp-block-group[class*="is-style-tn-"] h3 { color: var(--card-h, inherit); min-height: 3.4rem; display: grid; align-items: end; margin-bottom: .6rem; }
.wp-block-group[class*="is-style-tn-"] :is(h3, p) { text-align: center; margin-inline: auto; text-wrap: balance; }
.wp-block-group[class*="is-style-tn-"] p { font-size: .95rem; max-width: 16rem; margin-bottom: 1rem; }
.wp-block-group[class*="is-style-tn-"] .wp-block-image { margin-top: auto; padding: .8rem 0 1.2rem; }
.wp-block-group[class*="is-style-tn-"] .wp-block-image img { max-height: 11rem; width: auto; margin: 0 auto; }
.wp-block-group[class*="is-style-tn-"] .wp-block-buttons { display: flex; justify-content: center; }
.is-style-tn-pink   { --card-bg: var(--pink);   --card-h: var(--red); --card-c: var(--red); }
.is-style-tn-blue   { --card-bg: var(--blue);   --card-c: var(--teal); }
.is-style-tn-yellow { --card-bg: var(--yellow); --card-c: #7a5200; }
.is-style-tn-paper  { --card-bg: var(--paper);  --card-c: var(--ink); }
.is-style-tn-teal   { --card-bg: var(--teal);   --card-ink: #fff; --card-h: #fff; --card-c: #fff; --btn-hover: var(--teal); }

.tn-front .tn-cards.wp-block-columns { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: var(--gap); margin-bottom: 0; }
.tn-front .tn-cards > .wp-block-column { display: flex; flex-direction: column; flex: none; min-width: 0; }
.tn-front .tn-cards > .wp-block-column > * { flex: 1; }
.tn-cols-2 { --cols: 2; } .tn-cols-3 { --cols: 3; } .tn-cols-4 { --cols: 4; }

/* ---------- Bandeau pleine largeur (bloc Image de couverture) ---------- */
.wp-block-cover.tn-band { min-height: 0; padding: 0; color: #fff; --btn-c: #fff; --btn-hover: var(--teal); }
.tn-band .wp-block-cover__inner-container { max-width: var(--wrap); margin: 0 auto; padding: clamp(2rem, 4vw, 3rem) var(--gap); width: 100%; }
.tn-band :where(h2, p) { color: #fff; }
.tn-band h2 { display: inline-block; border-bottom: 1px solid currentColor; padding-bottom: .5rem; margin-bottom: 1.2rem; }
.tn-band-cols.wp-block-columns { align-items: center !important; margin: 0; gap: clamp(1.5rem, 4vw, 3rem); }
@media (min-width: 782px) {
	.tn-band-cols > .wp-block-column:nth-child(1) { flex-grow: 4; }
	.tn-band-cols > .wp-block-column:nth-child(2) { flex-grow: 5; }
	.tn-band-cols > .wp-block-column:nth-child(3) { flex-grow: 3; }
}
.wp-block-image.is-style-tn-polaroid { background: #fff; padding: .6rem .6rem 1.4rem; transform: rotate(-3deg); box-shadow: 0 10px 25px rgba(0, 0, 0, .35); max-width: 22rem; margin-inline: auto; }
.wp-block-image.is-style-tn-polaroid img { width: 100%; }

/* ---------- Citation ---------- */
.tn-quote { display: flex; align-items: center; gap: 1.5rem; padding: 2rem max(var(--gap), calc((100% - var(--wrap)) / 2 + var(--gap))); color: var(--teal); }
.is-style-tn-quote { display: flex; align-items: center; gap: 1.5rem; flex: 1; margin: 0; font-style: italic; font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.25; color: var(--red); }
.is-style-tn-quote::after { content: ""; flex: none; width: min(20rem, 25%); height: 1px; background: var(--teal); }
.tn-stamp { margin: 0 0 0 auto; }
.tn-stamp img { max-height: 6rem; width: auto; }

/* ---------- Actualités ---------- */
.news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.tn-front .news.tn-section > .news__grid { max-width: var(--wrap); }
.news-item { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; }
.news-item__thumb { background: var(--paper); aspect-ratio: 1 / 1.1; display: block; overflow: hidden; }
.news-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-item time { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.news-item h2, .news-item h3 { font-size: 1.15rem; margin: .2rem 0 .4rem; }
.news-item h2 a, .news-item h3 a { text-decoration: none; }
.news-item p { font-size: .9rem; margin-bottom: .6rem; }
.link-more { color: var(--red); text-decoration: none; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- Pied de page (collé au contenu : marge 0) ---------- */
.site-footer { margin: 0; background: var(--night); color: #e9e5dc; }
.site-footer__inner { max-width: var(--wrap); margin: 0 auto; padding: 2rem var(--gap) 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.site-footer .brand__text { color: #fff; }
.site-footer .menu a { text-decoration: none; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.site-footer .menu a:hover { color: var(--red); }
.site-footer__bottom { max-width: var(--wrap); margin: 0 auto; padding: 1.2rem var(--gap) 2rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .85rem; color: #a9a49a; }
.site-footer__bottom p { margin: 0; }
.pagination { max-width: var(--narrow); margin: 0 auto; padding: 0 var(--gap) 3rem; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.tn-cols-4 { --cols: 2; }
	.news__grid { grid-template-columns: 1fr; }
	.news-item { grid-template-columns: 10rem minmax(0, 1fr); }
}
@media (max-width: 860px) {
	.nav-toggle { display: block; }
	.site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--cream); flex-direction: column; align-items: flex-start; padding: 1rem var(--gap) 1.5rem; border-top: 1px solid rgba(0, 0, 0, .1); box-shadow: 0 12px 20px rgba(0, 0, 0, .08); }
	.site-nav.is-open { display: flex; }
	.site-nav .menu { flex-direction: column; gap: .6rem; }
	.hero, .hero--1-2, .hero--1-1, .hero--2-1 { grid-template-columns: 1fr; }
	.hero--bg, .hero--bg.hero--1-2, .hero--bg.hero--2-1 { display: flex; }
	.hero--bg .hero__text, .hero--bg.hero--1-2 .hero__text, .hero--bg.hero--2-1 .hero__text { width: 100%; }
	.hero--bg::after { background: linear-gradient(0deg, var(--veil-m, rgba(10,10,10,.55)), var(--veil-m, rgba(10,10,10,.35))); }
	.hero--veil-light::after { --veil-m: rgba(246,242,234,.78); }
	.hero--veil-none::after { display: none; }
	.hero__text { padding: 2rem var(--gap); }
	.hero:not(.hero--bg) .hero__media, .hero__media--cut { clip-path: none; aspect-ratio: 16 / 10; }
	.tn-cols-3 { --cols: 1; }
	.tn-section-head > :is(h2, h3) { white-space: normal; }
	.tn-tagline, .link-all { margin-left: 0; width: 100%; text-align: left; order: 3; }
	.tn-quote { flex-wrap: wrap; }
	.is-style-tn-quote::after { display: none; }
	.tn-stamp { margin-left: 0; }
}
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 560px) {
	.tn-front .tn-cards.wp-block-columns { --cols: 1; }
	.news-item { grid-template-columns: 7rem minmax(0, 1fr); }
	.site-footer__inner, .site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ======================================================================
   Animations (réglages : Tierney › Animations)
   ==================================================================== */
:root { --dur: .7s; --ease: cubic-bezier(.2, .7, .2, 1); }
.tn-speed-fast { --dur: .4s; } .tn-speed-slow { --dur: 1.1s; }

/* Apparition : masqué uniquement quand le JS est prêt (classe tn-armed) */
.tn-armed .tn-fx { opacity: 0; transition: opacity var(--dur) ease var(--delay, 0s), transform var(--dur) var(--ease) var(--delay, 0s); will-change: opacity, transform; }
.tn-armed .tn-fx[data-fx="up"] { transform: translateY(36px); }
.tn-armed .tn-fx[data-fx="left"] { transform: translateX(-48px); }
.tn-armed .tn-fx[data-fx="right"] { transform: translateX(48px); }
.tn-armed .tn-fx[data-fx="zoom"] { transform: scale(.92); }
.tn-armed .tn-fx.is-in { opacity: 1; transform: none; }

/* Parallax : l'image est agrandie, JS la décale (variable --py) */
.tn-px { overflow: hidden; }
.tn-px > img, .tn-px img.wp-block-cover__image-background { height: 122% !important; top: -11% !important; bottom: auto !important; transform: translate3d(0, var(--py, 0px), 0); transition: none; }
.hero__media.tn-px--hover:hover img { transform: translate3d(0, var(--py, 0px), 0) scale(1.05); }
.hero__text-in { transform: translate3d(0, var(--drift, 0px), 0); }

/* Survol */
.tn-hcard-lift .wp-block-group[class*="is-style-tn-"] { transition: transform .35s var(--ease), filter .35s var(--ease); }
.tn-hcard-lift .wp-block-group[class*="is-style-tn-"]:hover { transform: translateY(-8px); filter: drop-shadow(0 14px 14px rgba(0, 0, 0, .2)); }
.tn-hcard-zoom .wp-block-group[class*="is-style-tn-"] { transition: transform .35s var(--ease); }
.tn-hcard-zoom .wp-block-group[class*="is-style-tn-"]:hover { transform: scale(1.03); }

.tn-himg-zoom .wp-block-group[class*="is-style-tn-"] .wp-block-image img { transition: transform .6s var(--ease); }
.tn-himg-zoom .wp-block-group[class*="is-style-tn-"]:hover .wp-block-image img { transform: scale(1.08) rotate(-1deg); }
.tn-himg-zoom .news-item__thumb img { transition: transform .6s var(--ease); }
.tn-himg-zoom .news-item:hover .news-item__thumb img { transform: scale(1.08); }
.tn-himg-zoom .wp-block-image.is-style-tn-polaroid { transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.tn-himg-zoom .wp-block-image.is-style-tn-polaroid:hover { transform: rotate(-1deg) scale(1.04); box-shadow: 0 16px 32px rgba(0, 0, 0, .4); }
.tn-himg-zoom .tn-stamp img { transition: transform .5s var(--ease); }
.tn-himg-zoom .tn-stamp:hover img { transform: rotate(-6deg) scale(1.08); }

.tn-hbtn-lift .btn, .tn-hbtn-lift .wp-block-button__link { transition: background .2s, color .2s, transform .25s var(--ease), box-shadow .25s var(--ease); }
.tn-hbtn-lift .btn:hover, .tn-hbtn-lift .wp-block-button__link:hover { transform: translateY(-3px); box-shadow: 0 8px 16px rgba(0, 0, 0, .18); }
.btn span, .wp-block-button__link::after { transition: transform .25s var(--ease); display: inline-block; }
.btn:hover span, .wp-block-button__link:hover::after, .link-more:hover span, .link-all:hover span { transform: translateX(5px); }
.link-more span, .link-all span { display: inline-block; transition: transform .25s var(--ease); }
.news-item h3 a, .news-item h2 a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s var(--ease); }
.news-item:hover h3 a, .news-item:hover h2 a { background-size: 100% 1px; }
.socials .social-link { transition: transform .25s var(--ease), color .2s; }
.socials .social-link:hover { transform: translateY(-3px) scale(1.1); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
	.tn-px > img { transform: none !important; height: 100% !important; top: 0 !important; }
}
.tn-noanim *, .tn-noanim *::before { transition: none !important; }

/* ======================================================================
   Modèle « Playscripts » (page-playscripts.php)
   ==================================================================== */
.plays-hero { position: relative; overflow: hidden; background: var(--night); color: #fff; text-align: center; isolation: isolate; max-width: var(--wrap); width: calc(100% - 2 * var(--gap)); margin: clamp(1rem, 3vw, 2rem) auto 0; clip-path: var(--torn); }
.plays-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background:
	radial-gradient(ellipse 60% 110% at 50% -20%, rgba(231, 190, 85, .4), transparent 70%),
	repeating-linear-gradient(90deg, rgba(196, 17, 63, .9) 0 12px, rgba(150, 10, 46, .9) 12px 24px) left / clamp(1.5rem, 5vw, 4rem) 100% no-repeat,
	repeating-linear-gradient(90deg, rgba(196, 17, 63, .9) 0 12px, rgba(150, 10, 46, .9) 12px 24px) right / clamp(1.5rem, 5vw, 4rem) 100% no-repeat; }
.plays-hero__inner { max-width: 40rem; margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) calc(var(--gap) + clamp(1.5rem, 5vw, 4rem)); }
.plays-hero h1 { font-size: clamp(2rem, 4.6vw, 3.2rem); margin-bottom: .3em; text-shadow: 0 2px 20px rgba(0, 0, 0, .5); }
.plays-hero__intro { font-size: 1.05rem; opacity: .9; }
.plays-hero__intro p:last-child { margin-bottom: 0; }

.plays { counter-reset: tnplay; max-width: var(--wrap); margin: 0 auto; padding: clamp(2rem, 5vw, 4rem) var(--gap) clamp(2rem, 6vw, 5rem); display: grid; gap: clamp(3rem, 8vw, 6.5rem); }
.plays__empty { text-align: center; opacity: .7; }

.play:not([hidden]) { counter-increment: tnplay; }
.play[hidden], .plays-nav__item[hidden] { display: none !important; }
.play { scroll-margin-top: 5.5rem; --bg: var(--paper); --ink-accent: var(--ink); position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.play--pink { --bg: var(--pink); --ink-accent: var(--red); }
.play--blue { --bg: var(--blue); --ink-accent: var(--teal); }
.play--yellow { --bg: var(--yellow); --ink-accent: #8a5d00; }
.play--paper { --bg: var(--paper); --ink-accent: var(--ink); }
.play--teal { --bg: var(--teal); --ink-accent: var(--teal); }
.play--flip .play__cover { order: 2; }
.play--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }

/* Grand numéro en filigrane */
.play__num { position: absolute; top: -.35em; z-index: 0; font-size: clamp(7rem, 20vw, 15rem); line-height: 1; font-style: italic; color: transparent; -webkit-text-stroke: 1.5px var(--bg); opacity: .9; pointer-events: none; user-select: none; left: 0; }
.play--flip .play__num { left: auto; right: 0; }

/* Couverture : papier coloré déchiré derrière, légère inclinaison qui se redresse au survol */
.play__cover { position: relative; z-index: 1; max-width: 13rem; width: 100%; justify-self: center; }
.play__cover::before { content: ""; position: absolute; inset: -6% -8% -5%; background: var(--bg); clip-path: var(--torn); transform: rotate(calc(var(--rot, -2deg) * -1.6)); transition: transform .6s var(--ease, ease); z-index: -1; }
.play__cover-in { transform: translate3d(0, var(--drift, 0px), 0) rotate(var(--rot, -2deg)); transition: transform .6s var(--ease, ease); box-shadow: 0 18px 38px rgba(0, 0, 0, .28), 0 3px 8px rgba(0, 0, 0, .18); background: #fff; padding: .45rem; }
.play__cover-in img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.play:hover .play__cover-in { transform: translate3d(0, var(--drift, 0px), 0) rotate(0deg) scale(1.025); }
.play:hover .play__cover::before { transform: rotate(0deg); }
.play__cover-empty { aspect-ratio: 2 / 3; display: grid; place-items: center; padding: 1.5rem; text-align: center; background: var(--bg); color: var(--ink-accent); font-size: 1.8rem; line-height: 1.15; }
.play--teal .play__cover-empty { color: #fff; }

/* Texte */
.play__body { position: relative; z-index: 1; }
.play__genre { display: inline-block; margin: 0 0 .8rem; padding: .25rem .8rem; background: var(--bg); color: var(--ink-accent); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; clip-path: var(--torn); }
.play--teal .play__genre { color: #fff; }
.play__title { font-size: clamp(2rem, 4.4vw, 3.2rem); margin-bottom: .7rem; }
.play__title::after { content: ""; display: block; width: 4.5rem; height: 3px; margin-top: .7rem; background: var(--ink-accent); transition: width .5s var(--ease, ease); }
.play:hover .play__title::after { width: 9rem; }
.play--paper .play__title::after, .play--teal .play__title::after { background: var(--red); }

.play__meta { display: flex; flex-wrap: wrap; gap: .7rem 2rem; margin: 0 0 1.4rem; padding: .9rem 0; border-block: 1px solid rgba(28, 26, 24, .15); font-size: .95rem; }
.play__meta li { display: inline-flex; align-items: center; gap: .55rem; }
.play__meta svg { flex: none; color: var(--red); }
.play__chip { display: inline-block; padding: .05rem .6rem; margin: 0 .15rem; border: 1px solid currentColor; border-radius: 99px; font-size: .85rem; letter-spacing: .04em; white-space: nowrap; }
.play__na { display: block; font-style: normal; font-size: .85rem; opacity: .7; }
.play__or { font-size: .8rem; opacity: .65; margin: 0 .2rem; }

.play__pitch { max-width: 38rem; font-size: 1.08rem; line-height: 1.7; margin-bottom: 1.6rem; padding-left: 1.1rem; border-left: 3px solid var(--bg); }
.play__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }

@media (max-width: 860px) {
	.play, .play--flip { grid-template-columns: 1fr; }
	.play--flip .play__cover { order: 0; }
	.play__cover { max-width: 12rem; }
	.play__num { top: -.2em; }
	.play--flip .play__num { left: 0; right: auto; }
	
}
@media (prefers-reduced-motion: reduce) { .play__cover-in, .play__cover::before, .play__title::after { transition: none; } }

/* Fiche sans couleur */
.play--none .play__cover::before, .play--none .play__num { display: none; }
.play--none .play__genre { background: none; clip-path: none; padding-inline: 0; color: var(--red); }
.play--none .play__title::after { background: var(--red); }
.play--none .play__pitch { border-left-color: rgba(28, 26, 24, .2); }
.play--none .play__cover-empty { background: var(--paper); color: var(--ink); }

/* Numéro via compteur CSS (reste correct quand des fiches sont masquées par le filtre) */
.play__num::before { content: counter(tnplay, decimal-leading-zero); }

/* Navigation par vignettes + filtre de langue */
.plays-nav { max-width: var(--wrap); margin: 0 auto; padding: clamp(1.5rem, 4vw, 2.5rem) var(--gap) 0; scroll-margin-top: 5rem; text-align: center; }
.plays-nav__filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem .6rem; margin-bottom: 1.4rem; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.plays-nav__filter > span { opacity: .7; margin-right: .3rem; }
.plays-nav__btn { text-decoration: none; padding: .35rem .9rem; border: 1px solid currentColor; border-radius: 99px; letter-spacing: .08em; transition: background .2s, color .2s, transform .2s; }
.plays-nav__btn:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.plays-nav__btn.is-active { background: var(--red); border-color: var(--red); color: #fff; }
.plays-nav__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem clamp(.8rem, 2vw, 1.4rem); }
.plays-nav__item a { display: block; width: clamp(4.5rem, 11vw, 6.2rem); text-decoration: none; transition: transform .3s var(--ease, ease); }
.plays-nav__img { display: block; aspect-ratio: 2 / 3; overflow: hidden; background: var(--paper); box-shadow: 0 6px 14px rgba(0, 0, 0, .2); transition: box-shadow .3s; }
.plays-nav__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease, ease); }
.plays-nav__img b { display: grid; place-items: center; height: 100%; font-size: 2rem; font-weight: 400; color: var(--red); }
.plays-nav__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: .5rem; font-size: .78rem; line-height: 1.25; }
.plays-nav__item a:hover { transform: translateY(-6px); }
.plays-nav__item a:hover .plays-nav__img { box-shadow: 0 12px 22px rgba(0, 0, 0, .3); }
.plays-nav__item a:hover img { transform: scale(1.08); }
.plays-nav + .plays { padding-top: clamp(2rem, 5vw, 3.5rem); }

.play__top { display: inline-block; margin-top: 1.4rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; opacity: .6; transition: opacity .2s; }
.play__top:hover { opacity: 1; color: var(--red); }
.play:target .play__cover-in { transform: translate3d(0, var(--drift, 0px), 0) rotate(0deg) scale(1.03); }
.play:target .play__title::after { width: 9rem; }

/* Formulaire « Demande de texte » */
.req { max-width: 44rem; margin: 0 auto; padding: 1.5rem var(--gap) clamp(2.5rem, 6vw, 4.5rem); scroll-margin-top: 5rem; }
.req__form { position: relative; padding: clamp(1.2rem, 4vw, 2.2rem); background: #fff; border: 1px solid rgba(28, 26, 24, .15); box-shadow: 0 14px 34px rgba(0, 0, 0, .08); }
.req__form::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: repeating-linear-gradient(90deg, var(--red) 0 14px, #960a2e 14px 28px); }
.req__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.2rem; }
.req__field { margin: 0 0 1.1rem; }
.req__field--wide { grid-column: 1 / -1; }
.req__field[hidden] { display: none; }
.req label { display: block; margin-bottom: .3rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.req label b { color: var(--red); }
.req input[type="text"], .req input[type="email"], .req select, .req textarea { width: 100%; padding: .7rem .85rem; font: inherit; color: var(--ink); background: var(--cream); border: 1px solid rgba(28, 26, 24, .35); border-radius: 0; transition: border-color .2s, box-shadow .2s; }
.req input:focus, .req select:focus, .req textarea:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(196, 17, 63, .18); }
.req__consent { margin: .4rem 0 1.4rem; font-size: .9rem; }
.req__consent label { display: flex; gap: .6rem; align-items: flex-start; text-transform: none; letter-spacing: 0; font-size: .9rem; }
.req__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.req__error { margin: 0 0 1rem; padding: .8rem 1rem; background: #fdf2f5; border-left: 4px solid var(--red); }
.req__done { text-align: center; padding: clamp(2rem, 6vw, 3.5rem) 1.5rem; background: var(--pink); clip-path: var(--torn); }
.req__done h2 { color: var(--red); }
@media (max-width: 600px) { .req__grid { grid-template-columns: 1fr; } .req__field { grid-column: 1 / -1; } }

/* Bannière d'en-tête (modèle Playscripts) : image de fond, texte à gauche */
.phdr { position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: center; background: var(--night); color: var(--ph-c, #fff); width: 100%; margin: 0; min-height: clamp(14rem, 26vw, 21rem); }
.phdr__in { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gap); }
.phdr--h-slim { min-height: clamp(10rem, 18vw, 14rem); }
.phdr--h-tall { min-height: clamp(18rem, 36vw, 30rem); }
.phdr__media { position: absolute; inset: 0; z-index: -2; }
.phdr__media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.phdr__media--pos-1 img { object-position: left top; } .phdr__media--pos-2 img { object-position: center top; } .phdr__media--pos-3 img { object-position: right top; }
.phdr__media--pos-4 img { object-position: left center; } .phdr__media--pos-5 img { object-position: center center; } .phdr__media--pos-6 img { object-position: right center; }
.phdr__media--pos-7 img { object-position: left bottom; } .phdr__media--pos-8 img { object-position: center bottom; } .phdr__media--pos-9 img { object-position: right bottom; }
.phdr::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0, 0, 0, var(--ph-veil, .45)), rgba(0, 0, 0, calc(var(--ph-veil, .45) * .4)) 55%, transparent 80%); }
.phdr__txt { width: 50%; padding: clamp(1.5rem, 4vw, 3rem) 0; text-align: left; }
.phdr--w-wide .phdr__txt { width: 66%; } .phdr--w-full .phdr__txt { width: 100%; }
.phdr__title { font-size: clamp(2rem, 4.6vw, 3.4rem); margin: 0; color: var(--ph-c, #fff); text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.phdr__sub { margin: .7rem 0 0; font-size: clamp(1rem, 1.6vw, 1.25rem); color: var(--ph-sc, var(--cream)); }
.plays-intro { max-width: 46rem; margin: clamp(1.5rem, 4vw, 2.5rem) auto 0; padding: 0 var(--gap); text-align: center; }
@media (max-width: 700px) { .phdr__txt, .phdr--w-wide .phdr__txt { width: 100%; } .phdr::before { background: rgba(0, 0, 0, var(--ph-veil, .45)); } }

/* Bandeaux avant le pied de page (modèle Playscripts) */
.pband { width: 100%; background-repeat: no-repeat; }
.pband__in { max-width: var(--wrap); margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) var(--gap); }
.pband--quote { background-color: var(--cream); color: var(--teal); }
.pband--paper { background-color: var(--paper); } .pband--pink { background-color: var(--pink); } .pband--blue { background-color: var(--blue); }
.pband--white { background-color: #fff; } .pband--night { background-color: var(--night); color: #fff; }
.pband--quote .pband__in { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 4vw, 3rem); min-height: clamp(9rem, 16vw, 13rem); }
.pband--left .pband__in { justify-content: flex-start; } .pband--right .pband__in { justify-content: flex-end; }
.pband--img-left .pband__img { order: -1; }
.pband__img { flex: none; max-width: min(18rem, 35%); } .pband__img img { display: block; width: 100%; height: auto; }
.pband__quote { margin: 0; font-size: clamp(1.4rem, 3vw, 2.2rem); font-style: italic; line-height: 1.3; color: var(--ink); max-width: 40rem; position: relative; padding-bottom: 1rem; }
.pband--night .pband__quote { color: #fff; }
.pband__quote::after { content: ""; display: block; width: min(14rem, 60%); height: 3px; margin-top: .9rem; background: currentColor; opacity: .75; border-radius: 3px; transform: rotate(-.6deg); }
.pband--center .pband__quote::after { margin-inline: auto; } .pband--right .pband__quote::after { margin-left: auto; }
.pband--center .pband__quote { text-align: center; } .pband--right .pband__quote { text-align: right; }
.pband--cta { background: #861030; color: #fff; }
.pband--cta .pband__in { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1.5rem clamp(2rem, 6vw, 5rem); }
.pband__cta-title { margin: 0; font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 400; color: #fff; }
.pband__cta-sub { margin: .3rem 0 0; opacity: .9; }
.pband--cta .c-red, .pband--cta .c-teal, .pband--cta .c-pink, .pband--cta .c-blue { color: #ffd0da; } .pband--cta .c-yellow { color: var(--yellow); }
.btn--outline-light { display: inline-block; padding: .85rem 1.6rem; border: 1px solid rgba(255, 255, 255, .85); color: #fff; text-decoration: none; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; transition: background .3s, color .3s, transform .3s; }
.btn--outline-light:hover { background: #fff; color: #861030; transform: translateY(-2px); }
@media (max-width: 700px) { .pband--quote .pband__in { flex-direction: column; text-align: center; } .pband--cta .pband__in { flex-direction: column; text-align: center; } .pband__img { max-width: 70%; } }

/* ======================================================================
   Modèle « Romans » (page-novels.php) : deux ambiances, romcom et fantasy
   ==================================================================== */
.nvhero { text-align: center; }
.nvhero__in { max-width: 46rem; margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) var(--gap) 1rem; }
.nvhero h1 { font-size: clamp(2rem, 4.6vw, 3.2rem); margin: 0 0 .4em; }
.nvhero--romcom h1 { color: var(--red); } .nvhero--fantasy h1 { color: var(--teal); }
.nvhero__intro { opacity: .9; }
.nv-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; padding: 2rem var(--gap) .9rem; }
.nv-nav__btn { padding: .45rem 1.1rem; border: 1px solid currentColor; border-radius: 99px; text-decoration: none; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; transition: background .3s, color .3s; }
.nv-nav__btn--romcom { color: var(--red); } .nv-nav__btn--fantasy { color: var(--teal); }
.nv-nav__btn:hover { background: currentColor; } .nv-nav__btn:hover { color: #fff; }
.nv-nav__btn--romcom:hover { background: var(--red); } .nv-nav__btn--fantasy:hover { background: var(--teal); }

.nsec { position: relative; width: 100%; scroll-margin-top: 1rem; }
.nsec__in { max-width: var(--wrap); margin: 0 auto; padding: clamp(2.5rem, 6vw, 4.5rem) var(--gap); }
.nsec__head { text-align: center; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.nsec__title { margin: 0; font-size: clamp(1.8rem, 3.8vw, 2.8rem); }
.nsec__intro { max-width: 40rem; margin: .8rem auto 0; opacity: .9; }

/* Romcom : rose, rouge, léger et joueur */
.nsec--romcom { background: var(--pink) radial-gradient(circle at 12% 18%, rgba(255, 255, 255, .55) 0 .35rem, transparent .4rem) 0 0 / 7rem 7rem; color: var(--ink); --nb-accent: var(--red); --nb-card: #fff; }
.nsec--romcom .nsec__title { color: var(--red); font-style: italic; }
.nsec--romcom .nsec__title::after { content: ""; display: block; width: 5rem; height: 4px; margin: .6rem auto 0; background: var(--red); border-radius: 4px; transform: rotate(-1.5deg); }
.nsec--romcom .nbook { background: var(--nb-card); clip-path: var(--torn); box-shadow: none; }
.nsec--romcom .nbook__cover img { border-radius: 4px; box-shadow: 0 10px 24px rgba(196, 17, 63, .22); transform: rotate(-1.8deg); transition: transform .5s var(--ease, ease); }
.nsec--romcom .nbook:hover .nbook__cover img { transform: rotate(0) translateY(-4px); }

/* Fantasy : nuit profonde, étoiles et or */
.nsec--fantasy { background:
	radial-gradient(circle at 20% 15%, rgba(231, 190, 85, .9) 0 1px, transparent 2px) 0 0 / 9rem 9rem,
	radial-gradient(circle at 70% 60%, rgba(255, 255, 255, .7) 0 1px, transparent 2px) 0 0 / 6rem 6rem,
	radial-gradient(ellipse 80% 60% at 50% 0, #17414f, transparent 70%), #0c1d24;
	color: #e9e5dc; --nb-accent: var(--yellow); --nb-card: rgba(255, 255, 255, .04); }
.nsec--fantasy .nsec__title { color: var(--yellow); text-transform: uppercase; letter-spacing: .16em; font-weight: 400; }
.nsec--fantasy .nsec__title::before, .nsec--fantasy .nsec__title::after { content: "✦"; font-size: .5em; margin: 0 .8em; vertical-align: middle; }
.nsec--fantasy .nbook { background: var(--nb-card); border: 1px solid rgba(231, 190, 85, .35); }
.nsec--fantasy .nbook__cover img { box-shadow: 0 14px 34px rgba(0, 0, 0, .55); }
.nsec--fantasy .nbook__title, .nsec--fantasy .nseries__title { color: #fff; }
.nsec--fantasy .btn--outline { color: #fff; border-color: rgba(255, 255, 255, .7); } .nsec--fantasy .btn--outline:hover { background: #fff; color: var(--night); }
.nsec--fantasy .btn--solid { background: var(--yellow); border-color: var(--yellow); color: var(--night); }
.nsec--fantasy .nchip { border-color: rgba(231, 190, 85, .6); color: var(--yellow); }

/* Séries et standalones */
.nseries { margin: 0 0 clamp(2.5rem, 6vw, 4rem); }
.nseries:last-child { margin-bottom: 0; }
.nseries__head { margin-bottom: 1.4rem; }
.nseries__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0 0 .4rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.nseries__title { margin: 0; font-size: clamp(1.5rem, 2.8vw, 2.1rem); color: var(--nb-accent); }
.nseries__ind { margin: .4rem 0 0; font-style: italic; }
.nseries__desc { margin: .6rem 0 0; max-width: 42rem; }
.nseries__books { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); gap: clamp(1rem, 3vw, 2rem); }

.nchip { display: inline-block; padding: .12rem .7rem; border: 1px solid currentColor; border-radius: 99px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--nb-accent); }
.nchip--soon { background: var(--yellow); border-color: var(--yellow); color: var(--night); }

.nbook { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr; gap: clamp(1rem, 3vw, 1.8rem); padding: clamp(1.1rem, 3vw, 1.8rem); align-items: start; }
.nbook__cover img { display: block; width: 100%; height: auto; }
.nbook__cover-empty { display: grid; place-items: center; aspect-ratio: 2 / 3; padding: .8rem; text-align: center; background: var(--nb-accent); color: #fff; font-style: italic; }
.nbook__chips { margin: 0 0 .6rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.nbook__title { margin: 0 0 .25rem; font-size: clamp(1.3rem, 2.3vw, 1.7rem); line-height: 1.2; }
.nbook__tag { margin: 0 0 .8rem; font-style: italic; color: var(--nb-accent); }
.nbook__blurb { margin: 0 0 1rem; font-size: 1rem; line-height: 1.65; }
.nbook__lang { display: flex; gap: .5rem; align-items: flex-start; margin: 0 0 1rem; font-size: .88rem; opacity: .85; }
.nbook__lang svg { flex: none; margin-top: .2rem; color: var(--nb-accent); }
.nbook__lang em { display: block; font-style: normal; opacity: .8; }
.nbook__buy { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 .6rem; }
.nbook__buy--alt { align-items: center; } .nbook__buy--alt .btn { padding: .45rem 1rem; font-size: .72rem; }
.nbook__buy-t { font-size: .8rem; opacity: .8; }
.nbook--soon .nbook__cover img { filter: saturate(.7); }
@media (max-width: 560px) { .nbook { grid-template-columns: 1fr; } .nbook__cover { max-width: 12rem; } }

/* Ambiances supplémentaires : papier et teal */
.nvhero--paper h1 { color: var(--ink); } .nvhero--teal h1 { color: var(--teal); }
.nv-nav__btn--paper { color: var(--ink); } .nv-nav__btn--paper:hover { background: var(--ink); }
.nv-nav__btn--teal { color: var(--teal); } .nv-nav__btn--teal:hover { background: var(--teal); }
.nsec--paper { background: var(--paper); color: var(--ink); --nb-accent: var(--red); --nb-card: var(--cream); }
.nsec--paper .nsec__title { color: var(--ink); }
.nsec--paper .nsec__title::after { content: ""; display: block; width: 4rem; height: 2px; margin: .7rem auto 0; background: var(--red); }
.nsec--paper .nbook { background: var(--nb-card); border: 1px solid rgba(28, 26, 24, .12); }
.nsec--paper .nbook__cover img { box-shadow: 0 10px 24px rgba(28, 26, 24, .2); }
.nsec--teal { background: var(--teal); color: #f3efe6; --nb-accent: var(--yellow); --nb-card: rgba(255, 255, 255, .07); }
.nsec--teal .nsec__title { color: #fff; }
.nsec--teal .nsec__title::after { content: ""; display: block; width: 4rem; height: 2px; margin: .7rem auto 0; background: var(--yellow); }
.nsec--teal .nbook { background: var(--nb-card); border: 1px solid rgba(255, 255, 255, .2); }
.nsec--teal .nbook__cover img { box-shadow: 0 14px 30px rgba(0, 0, 0, .35); }
.nsec--teal .nbook__title, .nsec--teal .nseries__title { color: #fff; }
.nsec--teal .btn--outline { color: #fff; border-color: rgba(255, 255, 255, .7); } .nsec--teal .btn--outline:hover { background: #fff; color: var(--teal); }
.nsec--teal .btn--solid { background: var(--yellow); border-color: var(--yellow); color: var(--night); }
.nsec--teal .nchip { border-color: rgba(231, 190, 85, .6); }

/* Fiches romans : prix, éditeur, liens avec logos, avis, bande-annonce */
.nbook__awards { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.naward > a, .naward > span { display: flex; align-items: center; gap: .7rem; color: inherit; text-decoration: none; }
.naward > a:hover .naward__txt b { text-decoration: underline; }
.naward__logo { flex: none; display: grid; place-items: center; width: 3rem; height: 3rem; background: #fff; border-radius: 50%; padding: .3rem; }
.naward__logo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.naward__star { flex: none; display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid var(--nb-accent); border-radius: 50%; color: var(--nb-accent); }
.naward__txt { display: grid; line-height: 1.3; font-size: .92rem; }
.naward__txt em { font-style: normal; opacity: .8; font-size: .85rem; }
.nbook__pub { margin: 0 0 .8rem; font-size: .9rem; opacity: .9; } .nbook__pub a { color: inherit; }
.btn--logo { background: #fff; border-color: rgba(28, 26, 24, .18); padding: .45rem .9rem; display: inline-flex; align-items: center; }
.btn--logo img { display: block; height: 1.5rem; width: auto; max-width: 7rem; object-fit: contain; }
.btn--logo:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0, 0, 0, .18); }
.btn--logo-main { border-color: var(--nb-accent); box-shadow: 0 0 0 2px var(--nb-accent); }
.nbook__more { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: .9rem 0 0; font-size: .88rem; }
.nbook__res { color: var(--nb-accent); text-decoration: none; border-bottom: 1px solid currentColor; } .nbook__res:hover { opacity: .75; }
.nbook__video { margin-top: 1rem; aspect-ratio: 16 / 9; background: #000; }
.nbook__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.nbook__video[hidden] { display: none; }

/* Prix sous la couverture ; bloc langue au niveau des étiquettes */
.nbook__side { min-width: 0; }
.nbook__side .nbook__awards { margin: 1.1rem 0 0; gap: .9rem; }
.nbook__side .naward > a, .nbook__side .naward > span { flex-direction: column; text-align: center; gap: .4rem; }
.nbook__side .naward__txt { font-size: .8rem; }
.nbook .nbook__chips + .nbook__lang { margin: -.1rem 0 .7rem; font-size: .82rem; }

.nchip--plain { border-color: transparent; padding-left: .2rem; opacity: .85; }

/* Lisibilité : pastilles « prochainement » et couvertures vides sur fonds jaunes */
.nsec .nchip.nchip--soon { background: var(--yellow); border-color: var(--yellow); color: var(--night); }
.nsec--fantasy .nbook__cover-empty, .nsec--teal .nbook__cover-empty { color: var(--night); font-weight: 600; font-style: normal; }

/* Résumé : un paragraphe, puis « Lire plus » (sans JavaScript, via <details>) */
.nbook__blurb p { margin: 0 0 .8em; }
.nbook__blurb > p:last-child { margin-bottom: 0; }
.nbook__more-d { display: flex; flex-direction: column-reverse; }
.nbook__more-d summary { list-style: none; cursor: pointer; align-self: flex-start; margin-top: .5rem; color: var(--nb-accent); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.nbook__more-d summary::-webkit-details-marker { display: none; }
.nbook__more-d summary::after { content: " ↓"; } .nbook__more-d[open] summary::after { content: " ↑"; }
.nbook__more-d summary:hover { opacity: .75; }
.nbook__more-d:not([open]) .less, .nbook__more-d[open] .more { display: none; }
.nbook__rest { margin-top: .8em; animation: nbReveal .5s ease both; }
.nbook__rest p:last-child { margin-bottom: 0; }
@keyframes nbReveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .nbook__rest { animation: none; } }

.nbook__pen { margin: -.1rem 0 .6rem; font-size: .85rem; font-style: italic; opacity: .85; }

/* Filtre par statut (page Romans) */
.nv-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; padding: 2rem var(--gap) 2rem; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.nv-filter[hidden] { display: none; }
.nv-filter > span { opacity: .7; margin-right: .3rem; }
.nv-filter__btn { padding: .35rem .95rem; border: 1px solid var(--ink); border-radius: 99px; background: transparent; color: var(--ink); font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; transition: background .3s, color .3s; }
.nv-filter__btn:hover { background: rgba(28, 26, 24, .08); }
.nv-filter__btn.is-active { background: var(--ink); color: #fff; }
.nbook[hidden], .nseries[hidden], .nsec[hidden], .nv-nav__btn[hidden] { display: none !important; }

/* Retour en haut */
.to-top { position: fixed; right: clamp(.8rem, 2vw, 1.6rem); bottom: clamp(.8rem, 2vw, 1.6rem); z-index: 90; width: 2.9rem; height: 2.9rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--red); color: #fff; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, .28); opacity: 0; transform: translateY(10px); transition: opacity .3s, transform .3s, background .3s; }
.to-top[hidden] { display: none; }
.to-top.is-on { opacity: .92; transform: none; }
.to-top:hover, .to-top:focus-visible { opacity: 1; background: var(--ink); }

/* Romans : grille « toutes les couvertures » */
.ncovers { box-sizing: border-box; width: 100%; padding: .5rem var(--gap) 4rem; }
.ncovers[hidden], .nv-nav[hidden] { display: none; }
.ncovers__grid { max-width: var(--wrap); width: 100%; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.ncover { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: 1.4rem 1.2rem 1.5rem; text-align: center; text-decoration: none; color: var(--ink); background: var(--cream); border: 0; position: relative; overflow: hidden; transition: transform .45s var(--ease, ease), box-shadow .45s; }
.ncover:hover, .ncover:focus-visible { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(28, 26, 24, .18); }
.ncover[hidden] { display: none; }
.ncover--romcom { background: var(--pink); }
.ncover--fantasy { background: var(--night); color: #fff; }
.ncover--teal { background: var(--teal); color: #fff; }
.ncover--paper { background: var(--paper); }
.ncover__img { display: block; width: 100%; max-width: 15rem; margin-bottom: .6rem; }
.ncover__img img { display: block; width: 100%; height: auto; box-shadow: 0 10px 24px rgba(0, 0, 0, .28); }
.ncover__empty { display: grid; place-items: center; aspect-ratio: 2 / 3; padding: 1rem; background: var(--yellow); color: var(--night); font-weight: 600; }
.ncover__genre { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.ncover--fantasy .ncover__genre, .ncover--teal .ncover__genre { color: var(--yellow); }
.ncover__title { font-size: 1.3rem; font-weight: 600; line-height: 1.2; }
.ncover { min-width: 0; overflow-wrap: anywhere; }
.ncover__alt { font-size: .95rem; font-style: italic; opacity: .85; }
.ncover__meta { font-size: .9rem; opacity: .8; }
@media (max-width: 760px) { .ncovers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .ncovers__grid { grid-template-columns: minmax(0, 1fr); } }

.nv-nav:not([hidden]) + .nv-filter { padding-top: .3rem; }
.nbook__lang--chip { display: inline-flex; align-items: center; gap: .4rem; margin: 0 .2rem; font-size: .85rem; opacity: .9; }
.nbook__lang--chip svg { margin: 0; }
.ncover__series { font-size: .95rem; font-weight: 600; opacity: .9; }
.ncover__pen { font-size: .85rem; font-style: italic; opacity: .85; }
.ncover__pen b { font-weight: 600; }

/* Romans : apparition des couvertures à chaque affichage de la grille */
@keyframes ncIn { from { opacity: 0; transform: translateY(26px) scale(.96); } to { opacity: 1; transform: none; } }
.tn-armed .ncovers:not([hidden]) .ncover { animation: ncIn .6s var(--ease, ease) both; animation-delay: calc(var(--i, 0) * 70ms); }
@media (prefers-reduced-motion: reduce) { .tn-armed .ncovers:not([hidden]) .ncover { animation: none; } }

/* « All covers » : survol vivant */
.ncover:hover, .ncover:focus-visible { transform: translateY(-8px) scale(1.025); box-shadow: 0 22px 44px rgba(28, 26, 24, .28); }
.ncover__img { position: relative; transition: transform .55s var(--ease, ease); }
.ncover__img img { transition: transform .55s var(--ease, ease), box-shadow .55s; }
.ncover:hover .ncover__img img, .ncover:focus-visible .ncover__img img { transform: scale(1.07) rotate(-2deg); box-shadow: 0 20px 40px rgba(0, 0, 0, .4); }
.ncover__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, .45) 50%, transparent 60%) 130% 0 / 300% 100% no-repeat; opacity: 0; pointer-events: none; }
.ncover:hover .ncover__img::after, .ncover:focus-visible .ncover__img::after { opacity: 1; background-position: -30% 0; transition: background-position .9s var(--ease, ease), opacity .15s; }
.ncover__title { transition: color .3s, letter-spacing .4s; }
.ncover:hover .ncover__title { color: var(--red); letter-spacing: .01em; }
.ncover--fantasy:hover .ncover__title, .ncover--teal:hover .ncover__title { color: var(--yellow); }
.ncover::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease, ease); }
.ncover:hover::before, .ncover:focus-visible::before { transform: scaleX(1); }
.ncover--fantasy::before, .ncover--teal::before { background: var(--yellow); }
@media (hover: none) { .ncover:hover { transform: none; } }

/* Tags et trigger warnings */
.nbook__tags { list-style: none; margin: .4rem 0 .8rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.nbook__tags li { padding: .15rem .7rem; border-radius: 99px; font-size: .78rem; letter-spacing: .04em; background: rgba(28, 26, 24, .08); }
.nsec--fantasy .nbook__tags li, .nsec--teal .nbook__tags li { background: rgba(255, 255, 255, .12); }
.nbook__tw { margin: 0 0 .9rem; font-size: .85rem; }
.nbook__tw summary { cursor: pointer; list-style: none; text-transform: uppercase; letter-spacing: .1em; font-size: .74rem; opacity: .8; }
.nbook__tw summary::-webkit-details-marker { display: none; }
.nbook__tw summary::before { content: "⚠ "; }
.nbook__tw summary::after { content: " ↓"; }
.nbook__tw[open] summary::after { content: " ↑"; }
.nbook__tw p { margin: .4rem 0 0; opacity: .9; }

/* Spice level */
.nbook__spice { margin: .2rem 0 .7rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .85rem; }
.nbook__spice-t { text-transform: uppercase; letter-spacing: .1em; font-size: .74rem; opacity: .8; }
.nbook__spice-p { display: inline-flex; gap: .1rem; }
.nbook__spice-p i { font-style: normal; filter: grayscale(1); opacity: .3; }
.nbook__spice-p i.on { filter: none; opacity: 1; }
.nbook__spice-l { opacity: .85; }

/* Légende des piments (une seule fois, sur la page) */
.nv-legend { max-width: var(--wrap); margin: -.6rem auto 1.6rem; padding: 0 var(--gap); text-align: center; font-size: .85rem; }
.nv-legend[hidden] { display: none; }
.nv-legend summary { display: inline-block; cursor: pointer; list-style: none; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; opacity: .75; border-bottom: 1px dotted currentColor; }
.nv-legend summary::-webkit-details-marker { display: none; }
.nv-legend summary::before { content: "🌶 "; }
.nv-legend ul { list-style: none; display: inline-block; text-align: left; margin: .8rem 0 0; padding: .8rem 1.2rem; background: rgba(28, 26, 24, .06); border-radius: .4rem; }
.nv-legend li { margin: .2rem 0; }
.nv-legend__p i { font-style: normal; filter: grayscale(1); opacity: .3; }
.nv-legend__p i.on { filter: none; opacity: 1; }

/* Page Traductions */
.tr-intro { max-width: var(--wrap); margin: 0 auto; padding: 1.6rem var(--gap) .5rem; text-align: center; }
.tr-intro--end { padding: 1rem var(--gap) 3.5rem; }
.tr-by { margin: .6rem 0; font-style: italic; opacity: .85; }
.tr-cta { margin: 1.2rem 0; }
.tseries { margin-bottom: 3.5rem; }
.tseries__orig, .tseries__by, .tseries__range { margin: .2rem 0; text-align: left; }
.tseries__orig { font-style: italic; opacity: .8; }
.tseries__range { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--red); }
.tseries__books { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: clamp(1rem, 3vw, 2rem); margin-top: 1.6rem; }
.tcard { display: flex; flex-direction: column; background: var(--cream); padding: 1.2rem; transition: transform .45s var(--ease, ease), box-shadow .45s; }
.tcard:hover { transform: translateY(-6px); box-shadow: 0 18px 38px rgba(28, 26, 24, .2); }
.tcard__cover { display: block; margin: 0 auto 1rem; max-width: 12rem; width: 100%; text-decoration: none; }
.tcard__cover img { display: block; width: 100%; height: auto; box-shadow: 0 10px 24px rgba(28, 26, 24, .25); transition: transform .5s var(--ease, ease); }
.tcard:hover .tcard__cover img { transform: scale(1.04) rotate(-1.5deg); }
.tcard__empty { display: grid; place-items: center; aspect-ratio: 2 / 3; padding: 1rem; background: var(--yellow); color: var(--night); font-weight: 600; text-align: center; }
.tcard__body p { margin: .2rem 0; }
.tcard__num { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); font-weight: 700; }
.tcard__title { margin: .1rem 0 .3rem; font-size: 1.2rem; line-height: 1.25; }
.tcard__orig { font-style: italic; opacity: .8; font-size: .9rem; }
.tcard__by { font-size: .9rem; }
.tcard__meta { font-size: .82rem; opacity: .8; }
.tcard__note { font-size: .85rem; }
.tcard__go { margin-top: .6rem !important; font-size: .85rem; }
.tcard__go a { color: var(--red); }

/* Traductions : 5 par ligne */
#tr-covers .ncovers__grid, .tseries__books { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.7rem, 1.6vw, 1.2rem); }
#tr-covers .ncover { padding: 1rem .8rem 1.1rem; }
#tr-covers .ncover__title { font-size: 1.05rem; }
#tr-covers .ncover__genre { font-size: .68rem; letter-spacing: .1em; }
#tr-covers .ncover__meta, #tr-covers .ncover__series { font-size: .8rem; }
.tcard { padding: .9rem; }
.tcard__title { font-size: 1.02rem; }
.tcard__meta, .tcard__by, .tcard__orig, .tcard__note, .tcard__go { font-size: .78rem; }
@media (max-width: 1000px) { #tr-covers .ncovers__grid, .tseries__books { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { #tr-covers .ncovers__grid, .tseries__books { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

#tr-covers .ncover { cursor: default; }


/* ---------- Accueil : titres de section plus marqués, trait, sous-titre à droite ---------- */
.tn-front :is(.tn-section-head, .tn-section-head > .wp-block-group__inner-container, .tn-books > .wp-block-group:first-child, .tn-books > .wp-block-group:first-child > .wp-block-group__inner-container) { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; width: 100%; margin-bottom: 1.6rem; }
.tn-front :is(.tn-section-head, .tn-books > .wp-block-group:first-child) :is(h2, h3) { display: flex; align-items: center; gap: 1.4rem; margin: 0; font-size: clamp(2.1rem, 4vw, 3rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.05; white-space: nowrap; }
.tn-front :is(.tn-section-head, .tn-books > .wp-block-group:first-child) :is(h2, h3)::after { content: ""; flex: none; width: clamp(3rem, 22vw, 18rem); height: 2px; background: currentColor; }
.tn-front :is(.tn-section-head, .tn-books > .wp-block-group:first-child) p { margin: 0 0 0 auto; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; text-align: right; }
@media (max-width: 700px) {
	.tn-front :is(.tn-section-head, .tn-books > .wp-block-group:first-child) :is(h2, h3) { white-space: normal; }
	.tn-front :is(.tn-section-head, .tn-books > .wp-block-group:first-child) p { margin-left: 0; width: 100%; text-align: left; }
}

/* Cartes : contour irrégulier façon aquarelle (filtre SVG injecté dans le <body>) */
.wp-block-group[class*="is-style-tn-"]::before { clip-path: none; filter: url(#tn-rough); inset: -2% -1.5%; }

/* Plays : même bord « aquarelle » derrière les couvertures */
.play__cover::before { clip-path: none; filter: url(#tn-rough); inset: -8% -10% -7%; }

/* Hero : bord gauche ciselé « aquarelle » (le filtre ne touche que l'alpha : l'image n'est pas déformée) */
.hero__media--cut { clip-path: none; filter: url(#tn-rough-edge); }
@media (max-width: 800px) { .hero__media--cut { filter: none; } }

/* Survols plus doux : accueil (cartes My Books) et Plays */
.wp-block-group[class*="is-style-tn-"]::before { transition: transform .9s var(--ease, cubic-bezier(.2,.7,.2,1)); }
.wp-block-group[class*="is-style-tn-"]:hover::before { transform: rotate(-.7deg) scale(1.012); }
.tn-hcard-lift .wp-block-group[class*="is-style-tn-"] { transition: transform .8s var(--ease, cubic-bezier(.2,.7,.2,1)), filter .8s var(--ease, cubic-bezier(.2,.7,.2,1)); }
.tn-hcard-lift .wp-block-group[class*="is-style-tn-"]:hover { transform: translateY(-5px); filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .13)); }
.tn-hcard-zoom .wp-block-group[class*="is-style-tn-"] { transition: transform .8s var(--ease, cubic-bezier(.2,.7,.2,1)); }
.tn-hcard-zoom .wp-block-group[class*="is-style-tn-"]:hover { transform: scale(1.015); }
.tn-himg-zoom .wp-block-group[class*="is-style-tn-"] .wp-block-image img { transition: transform 1.1s var(--ease, cubic-bezier(.2,.7,.2,1)); }
.tn-himg-zoom .wp-block-group[class*="is-style-tn-"]:hover .wp-block-image img { transform: scale(1.04) rotate(-.6deg); }
.play__cover::before, .play__cover-in { transition-duration: 1s; transition-timing-function: cubic-bezier(.2, .7, .2, 1); }
.play:hover .play__cover-in { transform: translate3d(0, var(--drift, 0px), 0) rotate(calc(var(--rot, -2deg) * .35)) scale(1.012); }
.play:hover .play__cover::before { transform: rotate(calc(var(--rot, -2deg) * -.6)); }
.plays-nav__btn, .plays-nav__item a, .plays-nav__img, .plays-nav__img img { transition-duration: .7s; transition-timing-function: cubic-bezier(.2, .7, .2, 1); }
.plays-nav__btn:hover { transform: translateY(-1px); }
.plays-nav__item a:hover { transform: translateY(-3px); }
.plays-nav__item a:hover img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .wp-block-group[class*="is-style-tn-"], .wp-block-group[class*="is-style-tn-"]::before, .play__cover::before, .play__cover-in { transition: none !important; } }

/* Menu : langue d'une page non traduite */
.menu-lang { margin-left: .3em; font-size: .72em; letter-spacing: .06em; opacity: .65; white-space: nowrap; }

/* Cartes de l'accueil : survol fluide. Le filtre « aquarelle » reste statique (rasterisé une fois) ; seul le parent bouge, sans ombre portée ni rotation du fond. */
.wp-block-group[class*="is-style-tn-"] { will-change: transform; backface-visibility: hidden; }
.wp-block-group[class*="is-style-tn-"]::before { transition: none; }
.wp-block-group[class*="is-style-tn-"]:hover::before { transform: none; }
.tn-hcard-lift .wp-block-group[class*="is-style-tn-"] { transition: transform .7s var(--ease, cubic-bezier(.2,.7,.2,1)); }
.tn-hcard-lift .wp-block-group[class*="is-style-tn-"]:hover { transform: translate3d(0, -6px, 0); filter: none; }
.tn-hcard-zoom .wp-block-group[class*="is-style-tn-"]:hover { transform: scale(1.015); filter: none; }

/* Romcom : fiches aux bords « aquarelle » (même filtre que les cartes de l'accueil) */
.nsec--romcom .nbook { position: relative; isolation: isolate; background: none; clip-path: none; box-shadow: none; }
.nsec--romcom .nbook::before { content: ""; position: absolute; inset: -1.2% -1%; background: var(--nb-card); filter: url(#tn-rough); z-index: -1; pointer-events: none; }

/* ---------- Modèle « Qui suis-je ? » ---------- */
.about { max-width: var(--wrap); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) var(--gap) clamp(2rem, 5vw, 4rem); }
.about__head h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 700; margin-bottom: 1.2rem; }
.about__main { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.about__main--solo { grid-template-columns: minmax(0, 46rem); justify-content: center; }
.about__photo { position: relative; margin: 0; max-width: 26rem; width: 100%; justify-self: center; z-index: 0; }
.about__photo::before { content: ""; position: absolute; inset: -7% -9% -6%; background: var(--pink); filter: url(#tn-rough); transform: rotate(3deg); z-index: -1; }
.about__img { display: block; padding: .5rem; background: #fff; box-shadow: 0 18px 38px rgba(0, 0, 0, .25), 0 3px 8px rgba(0, 0, 0, .15); transform: rotate(-2deg); }
.about__img img { display: block; width: 100%; height: auto; }
.about__text { font-size: 1.1rem; line-height: 1.75; }
.about__text > p:first-child { font-size: 1.3rem; line-height: 1.6; }
.about__facts { margin: clamp(2.5rem, 6vw, 4rem) 0 0; }
.about__facts ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem 1rem; margin: 0; padding: 0; list-style: none; }
.about__fact { display: flex; flex-direction: column; gap: .15rem; min-width: 10rem; padding: .9rem 1.3rem; text-align: center; border-radius: 3px; }
.about__fact span { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; opacity: .75; }
.about__fact b { font-weight: 600; font-size: 1.05rem; }
.about__fact--0 { background: var(--pink); } .about__fact--1 { background: var(--blue); } .about__fact--2 { background: var(--yellow); } .about__fact--3 { background: var(--paper); }
.about__paths { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--gap); margin-top: clamp(2.5rem, 6vw, 4rem); }
.about__path { position: relative; isolation: isolate; display: flex; flex-direction: column; gap: .4rem; padding: 1.8rem 1.5rem 1.5rem; text-align: center; text-decoration: none; color: var(--ink); transition: transform .7s var(--ease, ease); will-change: transform; }
.about__path::before { content: ""; position: absolute; inset: -2% -1.5%; background: var(--pink); filter: url(#tn-rough); z-index: -1; }
.about__path--yellow::before { background: var(--yellow); } .about__path--blue::before { background: var(--blue); }
.about__path h2 { font-size: 1.5rem; font-weight: 700; margin: 0; }
.about__path p { margin: 0; font-size: .95rem; }
.about__path span { margin-top: auto; font-size: 1.4rem; color: var(--red); }
.about__path:hover { transform: translate3d(0, -6px, 0); }
@media (max-width: 800px) { .about__main { grid-template-columns: 1fr; } .about__photo { max-width: 17rem; } }

/* ---------- Modèle « Actualités » ---------- */
.news-page { max-width: var(--wrap); margin: 0 auto; padding: clamp(1rem, 3vw, 2rem) var(--gap) clamp(2.5rem, 6vw, 4.5rem); }
.news__grid--page { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.4rem, 3vw, 2.4rem); }
.news-page .news-item { grid-template-columns: 1fr; gap: .9rem; align-content: start; }
.news-page .news-item__thumb { aspect-ratio: 3 / 2; background: var(--paper); }
.news-page .news-item__thumb img { transition: transform .9s var(--ease, ease); }
.news-page .news-item:hover .news-item__thumb img { transform: scale(1.04); }
.news-page .news-item h2 { font-size: 1.35rem; font-weight: 700; }
.news-item--lead { grid-column: 1 / -1; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; align-items: center; gap: clamp(1.2rem, 4vw, 3rem) !important; }
.news-item--lead .news-item__thumb { aspect-ratio: 16 / 10; }
.news-item--lead h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem) !important; }
.news-page__pager ul { display: flex; justify-content: center; gap: .5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.news-page__pager a, .news-page__pager span { display: block; min-width: 2.4rem; padding: .45rem .7rem; text-align: center; text-decoration: none; border: 1px solid rgba(28, 26, 24, .25); }
.news-page__pager .current, .news-page__pager a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 900px) { .news__grid--page { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .news__grid--page { grid-template-columns: 1fr; } .news-item--lead { grid-template-columns: 1fr !important; } }

/* Formulaire de contact (shortcode) */
.req--contact .req__title { font-size: 1.8rem; font-weight: 700; margin-bottom: .6rem; }
.req__intro { margin-bottom: 1.2rem; }

/* Hero : bord gauche ciselé par masque (même rendu sur tous les navigateurs, sans filtre SVG) */
.hero__media--cut { clip-path: none; filter: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='100,0 100,100 0.27,100.0 1.39,99.55 2.28,99.09 2.51,98.64 3.31,98.18 3.96,97.73 4.82,97.27 5.18,96.82 4.79,96.36 4.97,95.91 5.87,95.45 6.33,95.0 6.67,94.55 7.85,94.09 7.88,93.64 8.38,93.18 8.44,92.73 7.88,92.27 7.14,91.82 5.99,91.36 4.66,90.91 4.74,90.45 4.33,90.0 4.13,89.55 4.49,89.09 4.53,88.64 4.08,88.18 3.28,87.73 2.69,87.27 2.12,86.82 1.67,86.36 1.66,85.91 2.4,85.45 2.95,85.0 3.59,84.55 3.82,84.09 4.74,83.64 4.62,83.18 3.98,82.73 3.46,82.27 2.57,81.82 1.95,81.36 1.81,80.91 1.74,80.45 1.45,80.0 1.94,79.55 1.95,79.09 1.65,78.64 1.14,78.18 0.74,77.73 0.58,77.27 0.05,76.82 0.15,76.36 0.55,75.91 0.33,75.45 0.54,75.0 0.0,74.55 0.86,74.09 1.42,73.64 2.22,73.18 2.57,72.73 2.79,72.27 2.56,71.82 2.48,71.36 3.54,70.91 3.97,70.45 5.14,70.0 6.21,69.55 5.77,69.09 5.89,68.64 6.12,68.18 4.97,67.73 4.32,67.27 3.51,66.82 3.17,66.36 3.52,65.91 3.76,65.45 4.63,65.0 4.87,64.55 4.43,64.09 4.63,63.64 4.41,63.18 4.06,62.73 3.8,62.27 4.29,61.82 4.91,61.36 4.82,60.91 5.94,60.45 6.49,60.0 7.09,59.55 7.13,59.09 6.95,58.64 6.64,58.18 5.73,57.73 5.0,57.27 4.25,56.82 3.83,56.36 4.13,55.91 3.51,55.45 3.57,55.0 3.15,54.55 2.84,54.09 2.0,53.64 0.92,53.18 0.66,52.73 0.0,52.27 0.46,51.82 0.41,51.36 0.31,50.91 0.47,50.45 1.33,50.0 1.44,49.55 1.46,49.09 1.46,48.64 0.92,48.18 1.01,47.73 1.34,47.27 1.51,46.82 1.75,46.36 2.3,45.91 2.72,45.45 2.93,45.0 3.53,44.55 3.01,44.09 1.83,43.64 1.12,43.18 0.38,42.73 0.63,42.27 0.59,41.82 1.03,41.36 1.31,40.91 1.83,40.45 2.0,40.0 3.01,39.55 2.69,39.09 2.59,38.64 2.59,38.18 3.48,37.73 3.46,37.27 4.4,36.82 5.5,36.36 6.8,35.91 7.22,35.45 8.24,35.0 8.0,34.55 7.56,34.09 7.47,33.64 7.0,33.18 6.19,32.73 5.96,32.27 5.3,31.82 5.87,31.36 5.68,30.91 5.91,30.45 5.36,30.0 4.31,29.55 3.59,29.09 2.82,28.64 2.35,28.18 1.8,27.73 2.49,27.27 2.72,26.82 3.54,26.36 4.05,25.91 3.87,25.45 4.36,25.0 3.84,24.55 3.98,24.09 3.23,23.64 2.64,23.18 3.29,22.73 2.75,22.27 3.32,21.82 3.58,21.36 3.18,20.91 2.81,20.45 1.78,20.0 1.21,19.55 0.56,19.09 0.12,18.64 0.26,18.18 0.38,17.73 0.13,17.27 0.23,16.82 0.46,16.36 0.04,15.91 0.0,15.45 0.0,15.0 0.4,14.55 0.3,14.09 0.79,13.64 1.28,13.18 1.76,12.73 3.35,12.27 3.94,11.82 4.63,11.36 5.18,10.91 5.43,10.45 5.7,10.0 4.5,9.55 4.82,9.09 3.92,8.64 3.95,8.18 4.39,7.73 4.38,7.27 4.31,6.82 4.38,6.36 4.95,5.91 4.29,5.45 3.55,5.0 3.1,4.55 3.2,4.09 2.94,3.64 3.82,3.18 4.18,2.73 5.37,2.27 6.38,1.82 6.58,1.36 7.38,0.91 6.86,0.45 6.68,0.0'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='100,0 100,100 0.27,100.0 1.39,99.55 2.28,99.09 2.51,98.64 3.31,98.18 3.96,97.73 4.82,97.27 5.18,96.82 4.79,96.36 4.97,95.91 5.87,95.45 6.33,95.0 6.67,94.55 7.85,94.09 7.88,93.64 8.38,93.18 8.44,92.73 7.88,92.27 7.14,91.82 5.99,91.36 4.66,90.91 4.74,90.45 4.33,90.0 4.13,89.55 4.49,89.09 4.53,88.64 4.08,88.18 3.28,87.73 2.69,87.27 2.12,86.82 1.67,86.36 1.66,85.91 2.4,85.45 2.95,85.0 3.59,84.55 3.82,84.09 4.74,83.64 4.62,83.18 3.98,82.73 3.46,82.27 2.57,81.82 1.95,81.36 1.81,80.91 1.74,80.45 1.45,80.0 1.94,79.55 1.95,79.09 1.65,78.64 1.14,78.18 0.74,77.73 0.58,77.27 0.05,76.82 0.15,76.36 0.55,75.91 0.33,75.45 0.54,75.0 0.0,74.55 0.86,74.09 1.42,73.64 2.22,73.18 2.57,72.73 2.79,72.27 2.56,71.82 2.48,71.36 3.54,70.91 3.97,70.45 5.14,70.0 6.21,69.55 5.77,69.09 5.89,68.64 6.12,68.18 4.97,67.73 4.32,67.27 3.51,66.82 3.17,66.36 3.52,65.91 3.76,65.45 4.63,65.0 4.87,64.55 4.43,64.09 4.63,63.64 4.41,63.18 4.06,62.73 3.8,62.27 4.29,61.82 4.91,61.36 4.82,60.91 5.94,60.45 6.49,60.0 7.09,59.55 7.13,59.09 6.95,58.64 6.64,58.18 5.73,57.73 5.0,57.27 4.25,56.82 3.83,56.36 4.13,55.91 3.51,55.45 3.57,55.0 3.15,54.55 2.84,54.09 2.0,53.64 0.92,53.18 0.66,52.73 0.0,52.27 0.46,51.82 0.41,51.36 0.31,50.91 0.47,50.45 1.33,50.0 1.44,49.55 1.46,49.09 1.46,48.64 0.92,48.18 1.01,47.73 1.34,47.27 1.51,46.82 1.75,46.36 2.3,45.91 2.72,45.45 2.93,45.0 3.53,44.55 3.01,44.09 1.83,43.64 1.12,43.18 0.38,42.73 0.63,42.27 0.59,41.82 1.03,41.36 1.31,40.91 1.83,40.45 2.0,40.0 3.01,39.55 2.69,39.09 2.59,38.64 2.59,38.18 3.48,37.73 3.46,37.27 4.4,36.82 5.5,36.36 6.8,35.91 7.22,35.45 8.24,35.0 8.0,34.55 7.56,34.09 7.47,33.64 7.0,33.18 6.19,32.73 5.96,32.27 5.3,31.82 5.87,31.36 5.68,30.91 5.91,30.45 5.36,30.0 4.31,29.55 3.59,29.09 2.82,28.64 2.35,28.18 1.8,27.73 2.49,27.27 2.72,26.82 3.54,26.36 4.05,25.91 3.87,25.45 4.36,25.0 3.84,24.55 3.98,24.09 3.23,23.64 2.64,23.18 3.29,22.73 2.75,22.27 3.32,21.82 3.58,21.36 3.18,20.91 2.81,20.45 1.78,20.0 1.21,19.55 0.56,19.09 0.12,18.64 0.26,18.18 0.38,17.73 0.13,17.27 0.23,16.82 0.46,16.36 0.04,15.91 0.0,15.45 0.0,15.0 0.4,14.55 0.3,14.09 0.79,13.64 1.28,13.18 1.76,12.73 3.35,12.27 3.94,11.82 4.63,11.36 5.18,10.91 5.43,10.45 5.7,10.0 4.5,9.55 4.82,9.09 3.92,8.64 3.95,8.18 4.39,7.73 4.38,7.27 4.31,6.82 4.38,6.36 4.95,5.91 4.29,5.45 3.55,5.0 3.1,4.55 3.2,4.09 2.94,3.64 3.82,3.18 4.18,2.73 5.37,2.27 6.38,1.82 6.58,1.36 7.38,0.91 6.86,0.45 6.68,0.0'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
@media (max-width: 800px) { .hero__media--cut { -webkit-mask: none; mask: none; } }

/* ---------- Qui suis-je : page libre + modèles (2.68) ---------- */
.about { max-width: none; padding: 0 0 clamp(2rem, 5vw, 4rem); }
.about__head { max-width: var(--wrap); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) var(--gap) 0; }
.about__head h1 { margin-bottom: 0; }
.about__content { padding-top: clamp(1rem, 3vw, 2rem); }
.about__content > :is(.tn-duo, .tn-snaps, .tn-cards, .tn-qa-cols, .tn-section-head) { margin-block: clamp(1.8rem, 4.5vw, 3.2rem); }
.about__content > .tn-photo-band { margin-block: clamp(1.8rem, 4.5vw, 3.2rem); }
.about__facts { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gap); }

/* Titres de section (même style que l'accueil) */
.entry__content .tn-section-head { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; }
.entry__content .tn-section-head > h2 { display: flex; align-items: center; gap: 1.4rem; margin: 0; font-size: clamp(2.1rem, 4vw, 3rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.05; white-space: nowrap; }
.entry__content .tn-section-head > h2::after { content: ""; flex: none; width: clamp(3rem, 22vw, 18rem); height: 2px; background: currentColor; }
.entry__content .tn-section-head > p { margin: 0 0 0 auto; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; text-align: right; }
@media (max-width: 700px) {
	.entry__content .tn-section-head > h2 { white-space: normal; }
	.entry__content .tn-section-head > p { margin-left: 0; width: 100%; text-align: left; }
}

/* Photo + texte */
.tn-duo.wp-block-columns { gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.tn-duo h2 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 700; margin-top: 0; }
.tn-lead { font-size: 1.3rem; line-height: 1.6; }
.tn-photo { position: relative; z-index: 0; max-width: 26rem; margin: 0 auto; --photo-bg: var(--pink); }
.tn-photo::before { content: ""; position: absolute; inset: -7% -9% -6%; background: var(--photo-bg); filter: url(#tn-rough); transform: rotate(3deg); z-index: -1; }
.tn-photo img { display: block; width: 100%; height: auto; padding: .5rem; background: #fff; box-shadow: 0 18px 38px rgba(0, 0, 0, .25), 0 3px 8px rgba(0, 0, 0, .15); transform: rotate(-2deg); }
.tn-duo--flip .tn-photo::before { transform: rotate(-3deg); }
.tn-duo--flip .tn-photo img { transform: rotate(2deg); }
.tn-photo--blue { --photo-bg: var(--blue); } .tn-photo--yellow { --photo-bg: var(--yellow); }

/* Grande photo avec carte de texte */
.wp-block-cover.tn-photo-band { min-height: clamp(340px, 44vw, 480px); padding: 0; }
.tn-photo-band .wp-block-cover__inner-container { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) var(--gap); text-align: left; }
.tn-photo-band__card { max-width: 30rem; padding: clamp(1.5rem, 3vw, 2.2rem) clamp(1.5rem, 3vw, 2.4rem); background: rgba(11, 74, 90, .9); color: #fff; box-shadow: 0 16px 34px rgba(0, 0, 0, .25); }
.entry__content .tn-photo-band__card :is(h2, h3, p, li, a) { color: #fff; text-align: left; }
.tn-photo-band__card h2 { display: inline-block; border-bottom: 1px solid currentColor; padding-bottom: .5rem; margin: 0 0 1rem; font-size: clamp(1.8rem, 3.4vw, 2.5rem); font-weight: 700; }
.tn-photo-band__card p { margin: 0 0 .8rem; font-size: 1.05rem; line-height: 1.65; }
.tn-photo-band__card p:last-child { margin-bottom: 0; }

/* Bandeau de couleur + photo qui dépasse */
.tn-bandduo { --bd-bg: var(--teal); --bd-ink: #fff; --bd-link: var(--yellow); background: var(--bd-bg); color: var(--bd-ink); padding-block: clamp(2.2rem, 5vw, 3.6rem); }
.tn-bandduo--pink   { --bd-bg: var(--pink);   --bd-ink: var(--ink); --bd-link: var(--red); }
.tn-bandduo--yellow { --bd-bg: var(--yellow); --bd-ink: var(--ink); --bd-link: #7a5200; }
.tn-bandduo--blue   { --bd-bg: var(--blue);   --bd-ink: var(--ink); --bd-link: var(--teal); }
.tn-bandduo--red    { --bd-bg: var(--red);    --bd-ink: #fff;       --bd-link: var(--yellow); }
.about__content > .tn-bandduo { margin-block: clamp(5rem, 10vw, 7.5rem); }
.tn-bandduo__cols.wp-block-columns { max-width: var(--wrap); margin: 0 auto; padding-inline: var(--gap); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.entry__content .tn-bandduo :is(h2, h3, p, li) { color: var(--bd-ink); }
.tn-bandduo--text-light { --bd-ink: #fff; }
.tn-bandduo--text-dark { --bd-ink: var(--ink); }
.tn-bandduo h2 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 700; margin-top: 0; }
.entry__content .tn-bandduo :is(a, em) { color: var(--bd-link); }
.tn-bandduo__photo { margin: calc(-1 * clamp(3rem, 8vw, 5.5rem)) 0; position: relative; z-index: 1; }
.tn-bandduo__photo img { display: block; width: 100%; height: auto; padding: .6rem; background: #fff; box-shadow: 0 18px 38px rgba(0, 0, 0, .3); transform: rotate(2deg); }
.tn-bandduo__cols--flip .tn-bandduo__photo img { transform: rotate(-2deg); }
@media (max-width: 781px) { .tn-bandduo__photo { margin: 1rem 0 calc(-1 * clamp(3rem, 8vw, 5rem)); } }

/* Instantanés */
.tn-snaps.wp-block-columns { gap: clamp(1.5rem, 4vw, 3rem); align-items: flex-start; }
.tn-snaps .wp-block-image.is-style-tn-polaroid { max-width: 20rem; margin-bottom: 0; }
.tn-snaps .wp-block-image figcaption { margin: .8rem 0 0; font-style: italic; font-size: .98rem; color: var(--ink); text-align: center; }
.tn-snaps > .wp-block-column .wp-block-image.is-style-tn-polaroid { --rot: -3deg; transform: rotate(var(--rot)); transition: transform .6s var(--ease, cubic-bezier(.2, .7, .2, 1)), box-shadow .6s var(--ease, cubic-bezier(.2, .7, .2, 1)); will-change: transform; }
.tn-snaps > .wp-block-column:nth-child(2) .wp-block-image.is-style-tn-polaroid { --rot: 2.5deg; margin-top: 1.2rem; }
.tn-snaps > .wp-block-column:nth-child(3) .wp-block-image.is-style-tn-polaroid { --rot: -1.5deg; }
.tn-snaps > .wp-block-column .wp-block-image.is-style-tn-polaroid:hover { transform: rotate(calc(var(--rot) * .3)) scale(1.04); box-shadow: 0 16px 32px rgba(0, 0, 0, .4); }
@media (prefers-reduced-motion: reduce) { .tn-snaps > .wp-block-column .wp-block-image.is-style-tn-polaroid { transition: none; } }

/* Cartes d'infos */
.about .tn-cards.wp-block-columns { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: var(--gap); }
.about .tn-cards > .wp-block-column { display: flex; flex-direction: column; flex: none; min-width: 0; }
.about .tn-cards > .wp-block-column > * { flex: 1; }
.about .tn-cards .wp-block-group[class*="is-style-tn-"] { justify-content: center; padding-block: 2rem 1.8rem; }
@media (max-width: 700px) { .about .tn-cards.wp-block-columns { --cols: 1; } }

/* Questions rapides */
.tn-qa-cols.wp-block-columns { gap: 0 clamp(2rem, 6vw, 5rem); }
.tn-qa { margin: 0 0 1.4rem; padding-bottom: 1.1rem; border-bottom: 1px dashed rgba(0, 0, 0, .25); font-size: 1.05rem; line-height: 1.55; }
.tn-qa strong { color: var(--red); font-weight: 700; }

/* Photo + carte superposée (2.69) */
.about__content > .tn-stackcols { margin-block: clamp(2rem, 5vw, 3.5rem); }
.tn-stack { position: relative; max-width: 34rem; margin-inline: auto; padding-bottom: 1.5rem; }
.tn-stack > .wp-block-image { position: relative; z-index: 0; width: 80%; margin: 0; }
.tn-stack > .wp-block-image img { display: block; width: 100%; height: auto; box-shadow: 0 14px 30px rgba(0, 0, 0, .22); }
.tn-stack__card { --sc-bg: var(--teal); --sc-ink: #fff; --sc-q: var(--yellow); position: relative; isolation: isolate; z-index: 1; width: 82%; margin: -22% 0 0 auto; padding: clamp(1.4rem, 3vw, 2.1rem) clamp(1.4rem, 3vw, 2.2rem) clamp(1.2rem, 2.5vw, 1.7rem); color: var(--sc-ink); }
.tn-stack__card::before { content: ""; position: absolute; inset: -3% -2%; background: var(--sc-bg); filter: url(#tn-rough); z-index: -1; }
.tn-stack__card--pink   { --sc-bg: var(--pink);   --sc-ink: var(--ink); --sc-q: var(--red); }
.tn-stack__card--yellow { --sc-bg: var(--yellow); --sc-ink: var(--ink); --sc-q: #7a5200; }
.tn-stack__card--paper  { --sc-bg: var(--paper);  --sc-ink: var(--ink); --sc-q: var(--red); }
.tn-stack__card--text-light { --sc-ink: #fff; }
.tn-stack__card--text-dark { --sc-ink: var(--ink); }
.entry__content .tn-stack__card .tn-stack__quote { margin: 0 0 1rem; font-style: italic; font-size: clamp(1.2rem, 2.2vw, 1.5rem); line-height: 1.35; color: var(--sc-q); }
.entry__content .tn-stack__card .tn-stack__by { margin: 0; text-align: right; font-size: .95rem; line-height: 1.4; color: var(--sc-ink); }
.tn-duo--flip .tn-stack > .wp-block-image { margin-left: auto; }
.tn-duo--flip .tn-stack__card { margin-left: 0; margin-right: auto; }
.tn-stackcols .tn-lead strong { font-weight: 700; }

/* Parcours « officiel » (2.72) */
.about__content > .tn-creds { margin-block: clamp(1.8rem, 4.5vw, 3rem); }
.tn-creds.wp-block-columns { gap: clamp(1.8rem, 5vw, 4rem); align-items: center; }
.tn-creds__card { position: relative; isolation: isolate; padding: clamp(1.6rem, 3.5vw, 2.3rem) clamp(1.5rem, 3.5vw, 2.4rem) .6rem; }
.tn-creds__card::before { content: ""; position: absolute; inset: -2% -2.5%; background: var(--paper); filter: url(#tn-rough); z-index: -1; box-shadow: 0 14px 30px rgba(0, 0, 0, .12); }
.entry__content .tn-creds__row { margin: 0 0 1.1rem; padding-bottom: 1rem; border-bottom: 1px dashed rgba(0, 0, 0, .25); font-size: 1rem; line-height: 1.5; color: var(--ink); }
.entry__content .tn-creds__row:last-child { border-bottom: 0; }
.entry__content .tn-creds__row strong { color: var(--red); font-weight: 700; }
.tn-aside { position: relative; max-width: 30rem; margin: 1.8rem 0 0 clamp(0rem, 3vw, 1.6rem); padding: 1.1rem 1.4rem 1.2rem; background: var(--yellow); transform: rotate(-1.6deg); box-shadow: 0 10px 22px rgba(0, 0, 0, .18); }
.entry__content .tn-aside p { margin: 0; font-style: italic; font-size: .98rem; line-height: 1.55; color: var(--ink); }
.entry__content .tn-aside .tn-aside__tag { margin-bottom: .35rem; font-style: normal; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #7a5200; }

/* Qui suis-je : jamais de défilement horizontal sur mobile (2.75) */
.about { overflow-x: hidden; }
@supports (overflow: clip) { .about { overflow-x: clip; overflow-y: visible; } }
@media (max-width: 781px) {
	.tn-photo { max-width: 22rem; width: 86%; }
	.tn-photo::before { inset: -5% -6% -4%; }
	.tn-creds__card::before { inset: -1.5% -1.5%; }
	.tn-stack__card::before { inset: -2% -1%; }
	.tn-aside { margin-left: .4rem; margin-right: .4rem; }
	.tn-snaps .wp-block-image.is-style-tn-polaroid { max-width: min(20rem, 90%); }
}

/* Bandeau : l'image de fond s'adapte à la hauteur du texte, jamais l'inverse (2.76) */
.wp-block-cover.tn-band.tn-band { min-height: 0; }
.tn-band .wp-block-cover__inner-container { position: static; z-index: auto; }
.tn-band-cols > .wp-block-column { position: relative; z-index: 2; }
.tn-band .tn-band__bg { position: absolute; inset: 0; z-index: 0; margin: 0; padding: 0; width: auto; max-width: none; transform: none; box-shadow: none; background: none; }
.tn-band .tn-band__bg img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: right center; }
.tn-band .tn-band__bg--center img { object-position: center center; }
.tn-band .tn-band__bg--left img { object-position: left center; }
.tn-band .tn-band__bg--fill img { object-fit: cover; object-position: center; }
.tn-band-cols > .wp-block-column:has(> .tn-band__bg) { display: contents; }

/* Pages : listes (numérotées ou à puces) et paragraphes plus aérés (2.80) */
.entry__content > p { margin-block: 1.35em; line-height: 1.7; }
.entry__content > :is(ul, ol) { list-style: revert; margin-block: 1.5em; padding-left: calc(var(--gap) + 1.7rem); padding-right: var(--gap); }
.entry__content :is(ul, ol) > li { margin: 0 0 1.1em; padding-left: .25em; line-height: 1.7; }
.entry__content :is(ul, ol) > li:last-child { margin-bottom: 0; }
.entry__content :is(ul, ol) > li::marker { color: var(--red); font-weight: 700; }
.entry__content > :is(h2, h3) + p { margin-top: .8em; }
