/*
Theme Name: Blocksy Child
Template: blocksy
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --blue:#0a4798;--orange:#ee7115;--green:#00a651;
  --dark:#0f1923;--white:#fff;--cream:#faf9f7;--rule:#e8e4df;
  --text:#1a1a2e;--muted:#7a7a8c;--ink:#2d2d3a
}

html{scroll-behavior:smooth}
body{background:var(--cream);font-family:'DM Sans',sans-serif;color:var(--text);overflow-x:hidden}

/* PROGRESS */
.progress-rail{position:fixed;left:0;top:0;bottom:0;width:3px;background:rgba(15,25,35,.07);z-index:9999}
.progress-fill{width:100%;background:var(--orange);height:0%;transition:height .15s linear;border-radius:0 0 2px 2px}

/* HERO CINÉMATIQUE */
.cinehero{position:relative;height:100svh;min-height:640px;display:flex;overflow:hidden;background:var(--dark)}

/* Correction LCP : On utilise une balise <img> au lieu de background-image */
.cinehero-bg{position:absolute;inset:0;z-index:0}
.cinehero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.cinehero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,25,35,.97) 0%,rgba(15,25,35,.82) 42%,rgba(15,25,35,.3) 68%,rgba(15,25,35,.12) 100%)}

.cinehero-left{position:relative;z-index:2;width:min(54%,680px);display:flex;flex-direction:column;justify-content:flex-end;padding:0 5% 7vh 6%}
.cinehero-watermark{position:absolute;top:8vh;right:-3vw;font-family:'Syne',sans-serif;font-size:clamp(10rem,18vw,19rem);font-weight:800;letter-spacing:-.05em;color:rgba(255,255,255,.03);line-height:1;pointer-events:none;user-select:none}
.cinehero-kicker{display:flex;align-items:center;gap:1rem;margin-bottom:2.4rem}
.cinehero-kicker-line{width:36px;height:1.5px;background:var(--orange)}
.cinehero-kicker-text{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--orange)}
.cinehero-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2.4rem,4.8vw,4.4rem);line-height:1.02;letter-spacing:-.03em;color:#fff;margin-bottom:2rem;hyphens:auto}
.cinehero-title em{font-style:italic;font-family:'Playfair Display',serif;font-weight:400;color:rgba(255,255,255,.75)}
.cinehero-excerpt{font-family:'Playfair Display',serif;font-size:1.05rem;font-style:italic;color:rgba(255,255,255,.5);line-height:1.75;margin-bottom:3rem;max-width:420px;border-left:2px solid rgba(238,113,21,.5);padding-left:1.2rem}
.cinehero-meta{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.cinehero-meta-avatar{width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(238,113,21,.6);object-fit:cover;flex-shrink:0}
.cinehero-meta-divider{width:1px;height:28px;background:rgba(255,255,255,.12)}
.cinehero-meta-item{font-size:.75rem;color:rgba(255,255,255,.45);font-weight:400;display:flex;flex-direction:column;gap:.15rem}
.cinehero-meta-item strong{color:rgba(255,255,255,.8);font-weight:500;font-size:.82rem}
.cinehero-badge{margin-left:auto;display:flex;align-items:center;gap:.6rem;padding:.55rem 1.1rem;border:1px solid rgba(255,255,255,.12);border-radius:100px;font-size:.72rem;color:rgba(255,255,255,.5);font-weight:500}
.cinehero-badge svg{width:12px;height:12px;fill:var(--orange)}
.cinehero-scroll{position:absolute;bottom:4vh;right:5%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.8rem}
.cinehero-scroll-text{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);writing-mode:vertical-lr}
.cinehero-scroll-line{width:1px;height:64px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent)}

/* CORPS */
.article-wrapper{position:relative;max-width:1340px;margin:0 auto;padding:8vh 5% 10vh}
.article-sidebar{position:sticky;top:6rem;float:right;width:220px;margin-left:5%;margin-bottom:4rem;margin-top:-2rem}
.sidebar-block{margin-bottom:2.4rem}
.sidebar-label{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.9rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}
.sidebar-author-row{display:flex;align-items:center;gap:.8rem}
.sidebar-author-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--orange);flex-shrink:0}
.sidebar-author-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;color:var(--dark);line-height:1.2}
.sidebar-author-role{font-size:.72rem;color:var(--muted);margin-top:.15rem}
.sidebar-progress-track{height:3px;background:var(--rule);border-radius:2px;overflow:hidden;margin-top:.8rem}
.sidebar-progress-fill{height:100%;width:0%;background:linear-gradient(to right,var(--orange),var(--green));transition:width .15s linear;border-radius:2px}
.sidebar-progress-pct{font-size:.7rem;color:var(--muted);margin-top:.4rem}
.sidebar-share{display:flex;flex-direction:column;gap:.5rem}
.sidebar-share a{display:flex;align-items:center;gap:.7rem;font-size:.78rem;color:var(--muted);text-decoration:none;padding:.5rem .7rem;border-radius:8px;border:1px solid var(--rule);transition:all .22s;font-weight:500}
.sidebar-share a svg{width:14px;height:14px;fill:currentColor}
.sidebar-share a:hover{color:var(--orange);border-color:rgba(238,113,21,.3);background:rgba(238,113,21,.04);transform:translateX(3px)}

.article-column{max-width:680px}
.article-body>p:first-child::first-letter{float:left;font-family:'Playfair Display',serif;font-size:4.4em;font-weight:700;line-height:.82;margin-right:.12em;margin-top:.06em;color:var(--orange)}
.article-body{font-size:1.075rem;line-height:1.95;color:var(--text);font-weight:350}
.article-body p{margin-bottom:1.5rem}
.article-body h2{position:relative;font-family:'Syne',sans-serif;font-weight:800;font-size:1.7rem;color:var(--dark);line-height:1.1;margin:3.5rem 0 1.2rem;padding-top:3rem;counter-increment:h2counter}
.article-body h2::before{content:counter(h2counter,decimal-leading-zero);position:absolute;top:0;left:-3.5rem;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;font-family:'Syne',sans-serif;line-height:1}
.article-body h2::after{content:'';display:block;width:40px;height:2px;background:var(--orange);margin-top:.7rem;border-radius:1px}
.article-body{counter-reset:h2counter}
.article-body h3{font-family:'Syne',sans-serif;font-weight:700;font-size:1.15rem;color:var(--dark);margin:2.2rem 0 .8rem}
.article-body a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;font-weight:500}
.article-body img{display:block;width:calc(100% + 3rem);margin-left:-1.5rem;margin-right:-1.5rem;max-width:none;height:auto;border-radius:4px;margin-top:2.5rem;margin-bottom:2.5rem}
.article-body blockquote{position:relative;margin:3rem 0;padding:2rem 2rem 2rem 2.5rem;border:none}
.article-body blockquote::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--orange),transparent)}
.article-body blockquote p{font-family:'Playfair Display',serif;font-style:italic;font-size:1.2rem;line-height:1.7;color:var(--ink);margin:0}
.article-body blockquote cite{display:block;font-size:.72rem;font-style:normal;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-top:.8rem}
.article-body ul,.article-body ol{padding-left:1.6rem;margin-bottom:1.5rem}
.article-body li{margin-bottom:.6rem;line-height:1.85}
.article-body ul li::marker{color:var(--orange)}

.article-end{max-width:680px;margin-top:5rem;padding-top:2.5rem;border-top:1px solid var(--rule)}
.article-end-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.article-end-author{display:flex;align-items:center;gap:1rem}
.article-end-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--orange)}
.article-end-info{}
.article-end-name{font-family:'Syne',sans-serif;font-weight:700;font-size:1rem;color:var(--dark)}
.article-end-pub{font-size:.72rem;color:var(--muted);margin-top:.1rem}
.article-back{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--dark);text-decoration:none;padding:.65rem 1.4rem;border:1.5px solid var(--rule);border-radius:100px;transition:all .25s}
.article-back svg{width:12px;height:12px;fill:currentColor}
.article-back:hover{border-color:var(--orange);color:var(--orange);background:rgba(238,113,21,.04);transform:translateX(-3px)}

/* RELATED */
.related-wrap{background:var(--white);padding:6vh 0;margin-top:0;border-top:1px solid var(--rule)}
.related-inner{max-width:1340px;margin:0 auto;padding:0 5%}
.related-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:3rem}
.related-heading{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(1.4rem,2.5vw,2.2rem);color:var(--dark);letter-spacing:-.02em}
.related-heading span{color:var(--orange)}
.related-count{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}
.related-card{background:var(--white);text-decoration:none;padding:2rem;transition:background .25s;display:flex;flex-direction:column;gap:1.2rem;position:relative;overflow:hidden}
.related-card:hover{background:rgba(238,113,21,.03)}
.related-card-n{font-family:'Syne',sans-serif;font-weight:800;font-size:3.5rem;color:rgba(15,25,35,.04);line-height:1;letter-spacing:-.04em;position:absolute;top:1rem;right:1.5rem}
.related-card-img{height:160px;border-radius:4px;overflow:hidden;background:var(--cream)}
.related-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.related-card:hover .related-card-img img{transform:scale(1.04)}
.related-card-cat{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:600}
.related-card-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.95rem;color:var(--dark);line-height:1.35}
.related-card-date{font-size:.7rem;color:var(--muted);margin-top:auto}

/* RESPONSIVE */
@media(max-width:1100px){.article-sidebar{display:none}.article-body h2::before{display:none}.article-body h2{padding-top:1rem}}
@media(max-width:768px){
  .cinehero-left{width:90%;padding-bottom:8vh}
  .cinehero-badge{display:none}
  .cinehero-meta-divider{display:none}
  .article-wrapper{padding:5vh 5%}
  .related-grid{grid-template-columns:1fr}
  .related-grid .related-card+.related-card{border-top:1px solid var(--rule)}
}
@media(max-width:520px){.article-body img{width:100%;margin-left:0;margin-right:0}.cinehero-title{font-size:2rem}}