/*
Theme Name: StoryPress Editorial
Template: twentytwentyone
Description: Magazine imprimé : ivoire, encre, Fraunces, un seul accent.
Version: 2.0
*/

:root{
  --papier:#faf8f3;
  --encre:#14110d;
  --doux:#55504a;
  --filet:#d9d1c1;
  --accent:#8b1e2d;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --large:1120px;
  --lecture:680px;
}

*{box-sizing:border-box}
html{background:var(--papier)}
body{background:var(--papier)!important;color:var(--encre);font-family:var(--sans);font-size:18px;line-height:1.66;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}

/* ---- Masthead ---- */
.site-header{border:0;padding:26px 22px 18px;background:var(--papier)}
.sp-masthead{width:100%;max-width:var(--large);margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:1px solid var(--filet);padding-bottom:14px}
.site-title{font-family:var(--serif)!important;font-weight:600;font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;margin:0}
.site-title a{color:var(--encre)!important;text-decoration:none!important}
.site-description{font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--doux);margin:4px 0 0}
.sp-nav{display:flex;gap:22px}
.sp-nav a{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--doux);text-decoration:none}
.sp-nav a:hover{color:var(--accent)}

/* ---- Hero ---- */
.sp-hero{position:relative;height:min(64vh,560px);overflow:hidden;background:#211d18}
.sp-hero img{width:100%;height:100%;object-fit:cover;display:block}
.sp-hero .sp-voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.08) 20%,rgba(20,17,13,.66) 100%)}
.sp-hero .sp-dit{position:absolute;left:0;right:0;bottom:0;max-width:var(--large);margin:0 auto;padding:0 22px 40px}
.sp-kick{font-family:var(--sans);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85);margin:0 0 12px}
.sp-hero h1{font-family:var(--serif)!important;font-weight:500;color:#fff;font-size:clamp(32px,5.2vw,58px);line-height:1.04;letter-spacing:-.02em;margin:0;max-width:16em}

/* ---- Grille ---- */
.sp-wrap{max-width:var(--large);margin:0 auto;padding:44px 22px 80px}
.sp-intro{font-family:var(--serif);font-size:clamp(19px,2vw,23px);line-height:1.5;color:var(--doux);max-width:30em;margin:0 0 44px}
.sp-cartes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 40px}
.sp-carte img{width:100%;height:250px;object-fit:cover;display:block;filter:saturate(.94)}
.sp-meta{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--doux);margin:16px 0 8px}
.sp-carte h2{font-family:var(--serif)!important;font-weight:600;font-size:clamp(22px,2.3vw,29px);line-height:1.16;margin:0 0 8px}
.sp-carte h2 a{color:var(--encre);text-decoration:none}
.sp-carte h2 a:hover{color:var(--accent)}
.sp-ex{font-size:15.5px;line-height:1.55;color:var(--doux);margin:0}

/* ---- Article ---- */
.single .entry-header,.single .entry-content,.single .entry-footer{max-width:var(--lecture);margin-left:auto;margin-right:auto}
.single .entry-title{font-family:var(--serif)!important;font-weight:600;font-size:clamp(32px,4.6vw,50px);line-height:1.08;letter-spacing:-.02em;margin:10px 0 18px}
.single .entry-title a{color:var(--encre);text-decoration:none}
.single .posted-on,.single .cat-links{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--doux)}
.single .entry-content p{font-size:18px;line-height:1.7;margin-bottom:1.35em}
.single .entry-content h2{font-family:var(--serif)!important;font-weight:600;font-size:clamp(22px,2.6vw,28px);line-height:1.2;margin:2.4em 0 .5em}
.single .entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.single .entry-content p:first-of-type::first-letter{
  font-family:var(--serif);font-size:4.1em;line-height:.82;float:left;padding:.06em .12em 0 0;color:var(--accent)
}
.single .entry-content blockquote{border-left:2px solid var(--accent);margin:2em 0;padding-left:22px;font-family:var(--serif);font-size:1.22em;line-height:1.45;color:var(--encre)}
.single .wp-block-post-featured-image{margin:0 0 32px}

/* ---- Pied ---- */
.site-footer{border-top:1px solid var(--filet);padding:26px 22px;background:var(--papier)}
.sp-pied{max-width:var(--large);margin:0 auto;display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--doux)}
.sp-pied a{color:var(--doux);text-decoration:none}

/* ---- Mobile ---- */
@media (max-width:720px){
  .sp-cartes{grid-template-columns:1fr}
  body{font-size:17px}
  .sp-masthead{flex-direction:column;align-items:flex-start;gap:8px}
  .sp-cartes{grid-template-columns:1fr;gap:30px}
  .sp-carte img{height:200px}
  .sp-hero{height:48vh}
  .single .entry-content p{font-size:17px}
}
