/*
Theme Name: Gaël Charbau — Editorial
Theme URI: https://gaelcharbau.com/
Author: Gaël Charbau
Description: Première base éditoriale pour le site personnel de Gaël Charbau.
Version: 2.15.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: gaelcharbau-editorial
*/

:root{--ink:#161616;--muted:#686868;--line:#d8d7d2;--paper:#f8f7f4;--white:#fff;--accent:#bb4d30;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem;z-index:99}.site-header{border-bottom:1px solid var(--line)}.header-inner,.site-main,.footer-inner{width:min(var(--max),calc(100% - 64px));margin:0 auto}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.site-name{font-size:24px;font-weight:700;letter-spacing:-.04em}.site-description{margin:3px 0 0;color:var(--muted);font-size:12px;letter-spacing:.06em}.custom-logo{max-height:58px;width:auto}.custom-logo-link{display:block}.menu{list-style:none;display:flex;gap:28px;margin:0;padding:0}.menu a{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.home-banner{width:100%;height:clamp(205px,27vw,420px);overflow:hidden;background:#e8e6e0}.home-banner img{display:block;width:100%;height:100%;object-fit:cover}.site-main{min-height:62vh;padding:42px 0 100px}.intro-row{max-width:760px;margin-bottom:30px}.grid-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:26px}.grid-heading h1{font-family:Georgia,serif;font-weight:400;font-size:31px;letter-spacing:-.03em;margin:0}.grid-heading .eyebrow{margin:0}.eyebrow{margin:0 0 13px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.intro-row h1,.article-header h1,.page-header h1,.site-main>h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,78px);font-weight:400;line-height:.99;letter-spacing:-.055em;margin:0 0 22px}.intro-copy{max-width:620px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.45}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.post-card{min-width:0}.card-image{display:block;background:#e8e6e0;aspect-ratio:1.47;overflow:hidden}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.card-image:hover img{transform:scale(1.025)}.image-placeholder{height:100%;min-height:180px;display:grid;place-items:center;background:#e8e6e0;color:#a5a29a;font-family:Georgia,serif;font-size:48px}.card-body{padding-top:16px}.post-meta{margin:0 0 12px;color:var(--muted);font-size:11px;letter-spacing:.07em;text-transform:uppercase}.post-card h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:23px;font-weight:500;line-height:1.24;letter-spacing:-.018em;margin:0 0 10px}.card-excerpt{color:#525252;font-size:14px}.card-excerpt p{margin:.5em 0}.text-link{display:inline-block;margin-top:13px;border-bottom:1px solid var(--ink);padding-bottom:2px;font-size:12px;letter-spacing:.04em}.text-link:hover{border-color:var(--accent)}.empty-state{grid-column:1/-1;color:var(--muted);font-family:Georgia,serif;font-size:24px;padding:48px 0;border-top:1px solid var(--line)}.pagination{margin-top:54px}.pagination .nav-links{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:13px}.article-main,.page-main{max-width:var(--max)}.article,.page-article{max-width:850px;margin:0 auto}.back-link{display:inline-block;margin-bottom:38px;color:var(--muted);font-size:12px}.article-header{margin-bottom:32px}.article-header h1,.page-header h1{font-size:clamp(40px,6vw,70px);line-height:1.02}.article-image{margin:0 0 44px}.article-image img{display:block;width:100%;height:auto}.article-content{max-width:700px;font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.72}.article-content p{margin:0 0 1.25em}.article-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article-content img{max-width:100%;height:auto}.article-content blockquote{border-left:2px solid var(--accent);margin:1.6em 0;padding:.1em 0 .1em 1.2em;color:#444}.post-navigation{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:60px;padding-top:20px}.nav-label{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.nav-title{display:block;max-width:280px;margin-top:5px;font-family:Georgia,serif;font-size:17px}.page-header{margin-bottom:42px}.site-footer{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:11px;letter-spacing:.04em}.footer-inner{display:flex;justify-content:space-between;gap:20px}.search-form{display:flex;gap:10px;max-width:500px}.search-form input{min-width:0;padding:12px;border:1px solid var(--line);background:white;font:inherit}.search-form input[type=submit]{cursor:pointer}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
@media(max-width:850px){.home-banner{height:clamp(195px,35vw,330px)}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{align-items:flex-start;flex-direction:column;padding:22px 0}.menu{flex-wrap:wrap;gap:12px 20px}.site-main{padding-top:52px}}@media(max-width:560px){.home-banner{height:205px}.header-inner,.site-main,.footer-inner{width:calc(100% - 36px)}.post-grid{grid-template-columns:1fr;gap:32px}.intro-row{margin-bottom:38px}.intro-copy{font-size:18px}.post-card h2{font-size:25px}.footer-inner{flex-direction:column}.site-main{padding-bottom:64px}}

.tumblr-image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:38px 0}.tumblr-image-gallery figure{margin:0}.tumblr-image-gallery img{display:block;width:100%;height:auto}
@media(max-width:560px){.tumblr-image-gallery{grid-template-columns:1fr}}

.article-source{margin:0 0 11px;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;letter-spacing:.035em;text-align:left}

.card-source{margin:0 0 8px;color:var(--muted);font-size:16px;font-weight:600;letter-spacing:0;text-align:left}.excerpt-link{color:inherit}.excerpt-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.excerpt-link span{color:var(--accent);white-space:nowrap}.infinite-scroll-status{grid-column:1/-1;margin:10px 0;color:var(--muted);font-size:13px}.infinite-scroll-active .pagination{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.home .header-inner,.front-page .header-inner{min-height:72px;justify-content:flex-end}.home-identity{width:min(var(--max),calc(100% - 64px));margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0 20px}.home-identity-inner h1{margin:0;font-size:35px;font-weight:700;line-height:1.1;letter-spacing:-.04em}.home-identity-inner p{margin:5px 0 0;color:var(--muted);font-size:15px;letter-spacing:.02em}
@media(max-width:560px){.home-identity{width:calc(100% - 36px);padding:15px 0 17px}.home-identity-inner h1{font-size:30px}.home-identity-inner p{font-size:14px}}

.home-identity-inner{text-align:center}
.post-card h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.02em}
.post-card h2 a:hover,.text-link:hover{color:var(--accent)}
.card-image:hover img{transform:none}
.article-header h1,.page-header h1,.intro-row h1,.site-main>h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.08}
.text-link:hover{border-color:var(--accent)}

.post-card{display:flex;flex-direction:column;height:100%}.card-body{display:flex;flex:1;flex-direction:column}.card-body .text-link{align-self:flex-start;margin-top:auto;padding-top:13px}

/* Fine bordure au ras des images de l’accueil. */
.home .post-grid > .post-card > .card-image{outline:1px solid #000;outline-offset:-1px}

/* Vidéos : mêmes colonnes et typographie que les articles, lecteur 16/9. */
.video-player{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#111;border:1px solid #000}
.video-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-meta{margin:0 0 10px;color:var(--muted);font-size:12px}
.video-description{margin-top:24px}
.video-card .card-source{min-height:1.55em}
.primary-nav a[aria-current="page"]{font-weight:700}

/* 2.13 : identité et navigation communes, années dans les deux grilles. */
.editorial-header .home-identity{border-top:0;border-bottom:0;padding:24px 0 23px}
.editorial-header .site-name{display:inline-block;font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.04em}
.editorial-header .primary-nav{margin-top:23px}
.editorial-header .menu{justify-content:center;gap:32px;flex-wrap:wrap}
.editorial-header .menu a{font-size:18px;font-weight:700;letter-spacing:.025em;text-transform:none}
.editorial-header .menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.year-heading{grid-column:1/-1;margin:12px 0 -15px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:26px;font-weight:700;line-height:1.2}
.year-heading:first-child{margin-top:0}
@media(max-width:560px){.editorial-header .menu{gap:28px}.editorial-header .menu a{font-size:18px}.year-heading{margin-bottom:-10px}}

/* Contact */
.contact-article{max-width:760px}.contact-intro{max-width:650px;font-size:18px;line-height:1.6;margin:0 0 32px}.contact-form{max-width:700px}.contact-form p{margin:0 0 22px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);padding:13px;font:inherit}.contact-form textarea{resize:vertical;min-height:180px}.contact-form input:focus,.contact-form textarea:focus,.contact-form button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-form button{background:var(--ink);color:white;border:1px solid var(--ink);padding:14px 24px;font:inherit;font-weight:700;cursor:pointer}.contact-form button:hover{background:var(--accent);border-color:var(--accent)}.contact-required,.contact-privacy{font-size:13px;color:var(--muted)}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-notice{padding:18px;border:1px solid var(--ink);margin-bottom:28px}.contact-error{border-color:var(--accent)}@media(max-width:560px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-form button{width:100%}}
