/* =========================================================
   LQ Author — main.css (R10)
   Propreté + alignements :
   - Photo plus à gauche (sans casser la grille), centre dégagé pour le livre
   - Hero resserré en bas
   - Cartouche carrée + livre qui dépasse
   - Colonne droite/centre centrées verticalement
   ========================================================= */

:root{
  --bg:#0b0b0c;
  --fg:#ffffff;
  --muted:#b9b9b9;
  --line:#1a1a1a;
  --accent:#ffffff;
  --font-body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-head:"Playfair Display",Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.4}

/* Typo mapping */
h1,h2,h3,.site-brand a,.book-title,.menu{font-family:var(--font-head)}

.container{width:min(1200px,92%);margin-inline:auto}

/* ================= HEADER ================= */
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,#2a4460 0%,#23405a 40%,#1b2f45 100%);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid rgba(255,255,255,.06);transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}
.site-header.is-scrolled{box-shadow:0 8px 22px rgba(0,0,0,.35);border-bottom-color:#223042}
.header-grid{display:flex;align-items:center;justify-content:space-between;height:76px}
.site-brand a{color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:.03em;font-size:1.05rem;text-transform:none}

.menu{list-style:none;display:flex;gap:26px;margin:0;padding:0}
.menu a{display:inline-block;color:var(--fg);text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:.875rem;position:relative;padding-bottom:8px;opacity:.95}
.menu a:hover{opacity:1}
.menu a::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-2px;width:0;height:3px;border-radius:2px;background:linear-gradient(90deg,#8fb7d6,#b8d3ea);box-shadow:0 0 12px rgba(143,183,214,.35);opacity:0;transition:width .25s ease,opacity .2s ease}
.menu a:hover::after{width:48px;opacity:.95}
.menu .current-menu-item> a::after{width:48px;opacity:.95}

/* ================= HERO ================= */
.hero{position:relative;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
/* Voile bleuté */
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(85% 60% at 60% 40%,rgba(28,70,108,.55) 0%,rgba(12,32,50,.65) 100%),
  linear-gradient(to bottom,rgba(14,36,56,.55) 0%,rgba(14,36,56,.25) 28%,rgba(14,36,56,.25) 72%,rgba(14,36,56,.6) 100%)}

/* Conteneur hero : H1 + ligne ancrée en bas (espaces resserrés) */
.hero .container{padding:3rem 0 0;min-height:72svh;display:grid;grid-template-rows:auto 1fr;overflow:visible} 

/* H1 une seule ligne */
.hero-name-large{margin:0 0 1rem;line-height:.9;text-transform:uppercase;text-align:center;letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.35);position:relative;z-index:0}
.hero-name-large .name-inline{display:inline-block;white-space:nowrap;font-size:clamp(2.9rem,7vw,6.1rem);letter-spacing:0}

/* Ligne : plus d'espace au centre, photo un peu moins large visuellement */
.hero-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,1.15fr);gap:28px;align-items:end;align-self:end;padding-bottom:.75rem;margin-top:.5rem} 

/* Colonne gauche : photo haute qui mord le H1 */
.hero-col--left{display:flex;justify-content:center;align-items:flex-end;align-self:end}
/* wrapper pour déporter l'image à gauche au-delà du container */
.author-figure{position:relative;display:inline-block;will-change:transform;transform:translateX(clamp(-220px,-10vw,-100px));margin-bottom:-6px} 
/* léger assombrissement du bas pour fondre dans la bande sombre */
.author-figure::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 72%,rgba(0,0,0,.38) 100%);mix-blend-mode:multiply;pointer-events:none}
/* halo lumineux doux côté droit pour détacher du fond */
.author-figure::after{content:"";position:absolute;right:-8%;top:8%;bottom:18%;width:42%;background:radial-gradient(60% 60% at left center,rgba(130,170,210,.22),rgba(130,170,210,0) 70%);filter:blur(10px);opacity:.55;mix-blend-mode:screen;pointer-events:none}

.hero-col--left .author-photo{position:relative;z-index:2;display:block;width:auto;max-width:none;height:clamp(440px,74svh,900px);filter:saturate(1.04) contrast(1.06) brightness(1.02) drop-shadow(0 12px 22px rgba(0,0,0,.45));margin-top:-77px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 97%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 97%,rgba(0,0,0,0) 100%)}

/* Colonne centre : livre + CARTOUCHE CARREE plus petite */
.hero-col--center{display:flex;justify-content:center;align-items:flex-end;align-self:center;justify-self:center;transform:none} 
/* Variables de réglage rapide */
.book-display{
position:relative; display:inline-block; overflow:visible;
--book-w:232px; /* largeur de la couverture */
--card-size:1; /* 0.70–0.82 : taille du carré vs cover */
--card-left:46%; /* position horizontale du carré */
--card-top:60%; /* position verticale du carré */
--card-tilt:-1.5deg; /* légère rotation du carré */
}
/* Cover : débord maîtrisé (un peu moins haut) */
.book-display .book-cover{
width:var(--book-w); height:auto; display:block;
filter:drop-shadow(0 18px 36px rgba(0,0,0,.5));
transform:translate(12px,-30px) perspective(1300px) rotateY(-6deg) rotateX(.35deg);
transform-origin:center; transition:transform .25s ease, filter .25s ease;
}
.book-display .book-cover:hover{
transform:translate(16px,-40px) perspective(1300px) rotateY(-3deg) rotateX(.2deg);
filter:drop-shadow(0 26px 52px rgba(0,0,0,.58));
}
/* Carré translucide plus présent, avec highlights doux */
.book-card{
position:absolute; left:var(--card-left); top:var(--card-top);
transform:translate(-50%,-50%) rotate(var(--card-tilt));
width:calc(var(--book-w) * var(--card-size)); aspect-ratio:1/1; border-radius:16px;
background:linear-gradient(180deg, rgba(190,215,238,.20), rgba(150,180,210,.12) 60%, rgba(120,150,180,.08));
border:1px solid rgba(255,255,255,.14);
box-shadow:0 20px 44px rgba(0,0,0,.42), 0 0 0 1px rgba(0,0,0,.10) inset;
backdrop-filter:blur(3px) saturate(1.06);
z-index:-1; pointer-events:none; transition:box-shadow .25s ease, transform .25s ease;
}
.book-card::before{content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(150deg, rgba(255,255,255,.26), rgba(255,255,255,0) 36%); mix-blend-mode:screen; opacity:.34}
.book-card::after{content:""; position:absolute; inset:10px; border-radius:12px; background:radial-gradient(80% 80% at 80% 20%, rgba(255,255,255,.06), transparent 60%)}
.book-display:hover .book-card{ transform:translate(-50%,-51%) rotate(calc(var(--card-tilt) + .5deg)); box-shadow:0 26px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.10) inset }
/* Socle au sol (inchangé, rappel ici si besoin) */
.book-base{position:absolute;left:12%;right:12%;bottom:-18px;height:16px;z-index:-2;background:radial-gradient(50% 120% at 50% 0%,rgba(0,0,0,.45),rgba(0,0,0,0) 70%);filter:blur(2px);border-radius:50%}

/* Colonne droite : centrée verticalement */
.hero-col--right{display:flex;flex-direction:column;justify-content:flex-end;align-self:center}
.hero-col--right .book-meta{position:relative;padding-left:22px}
.hero-col--right .book-meta::before{content:"";position:absolute;left:0;top:.25rem;bottom:.25rem;width:1px;background:linear-gradient(to bottom,rgba(255,255,255,.22),rgba(255,255,255,.08))}
.hero-col--right .book-title{margin:0 0 .45rem;font-size:clamp(2rem,3.2vw,2.9rem);font-weight:800;letter-spacing:0;text-transform:none;line-height:1.06}
.hero-col--right .book-sub{margin:.25rem 0 1rem;color:var(--muted)}
.hero-cta{display:flex;gap:14px;margin:1rem 0 1.25rem}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);padding:.72rem 1.1rem;text-decoration:none;color:var(--fg);font-weight:600;letter-spacing:.02em;background:transparent}
.btn-primary{box-shadow:0 0 0 0 rgba(255,255,255,0) inset}
.btn:hover{border-color:rgba(255,255,255,.42)}
.btn-ghost{border-color:#666;color:#ddd}
.quick-facts{list-style:disc;margin:1rem 0 0 1.2rem;color:#d0d0d0}

/* ============== MENU MOBILE OVERLAY ============== */
.nav-toggle{display:none;position:relative;width:40px;height:34px;border:1px solid var(--line);background:transparent;cursor:pointer}
.nav-toggle-bar{position:absolute;left:6px;right:6px;height:2px;background:#eaeaea;transition:transform .25s ease,top .25s ease,opacity .2s}
.nav-toggle-bar:nth-child(1){top:9px}
.nav-toggle-bar:nth-child(2){top:16px}
.nav-toggle-bar:nth-child(3){top:23px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){top:16px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){top:16px;transform:rotate(-45deg)}
.site-nav{display:block}
@media (max-width:980px){.nav-toggle{display:block}.site-nav{position:fixed;inset:0;z-index:60;background:rgba(11,11,12,.96);backdrop-filter:saturate(1.2) blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.site-nav.is-open{opacity:1;transform:none;pointer-events:auto}.site-header .menu{flex-direction:column;gap:18px;align-items:center}.site-header .menu a{font-size:1.05rem;opacity:1;padding-bottom:8px}body.nav-open{overflow:hidden}}

/* ========== Fade-in au scroll ========== */
.scroll-animate{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}
.scroll-animate.inview{opacity:1;transform:none}

/* ========== FOOTER ========== */
.site-footer{border-top:1px solid var(--line);background:#0d0d10}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0}
.footer-copy{margin:0;color:#cfcfcf;font-size:.95rem}
.footer-social{display:flex;gap:12px}
.footer-social a{color:#dcdcdc;text-decoration:none;border:1px solid var(--line);padding:6px 10px;font-size:.9rem}
.footer-social a:hover{color:#fff;border-color:#444}
@media (max-width:720px){.footer-inner{flex-direction:column;align-items:flex-start}}

/* ========== RESPONSIVE HERO ========== */
@media (max-width:1180px){.hero .container{padding:2rem 0 0;min-height:70svh}.hero-row{gap:24px}}
@media (max-width:1024px){.hero-row{grid-template-columns:1fr 1fr;gap:24px}.hero-col--right{grid-column:span 2}.hero-col--right .book-meta{padding-left:0;border-top:1px solid var(--line);padding-top:18px}.author-figure{transform:none}}

@media (max-width:720px){.hero .container{padding:4.6rem 0 0;min-height:66svh}.hero-row{grid-template-columns:1fr;gap:18px;padding-bottom:1.2rem}.hero-col--left .author-photo{height:auto;max-width:260px;margin-top:-10px}.book-display{--book-w:min(64vw,320px)}.book-display .book-cover{transform:none}.book-card{width:calc(var(--book-w)*.86)}}

/* Paliers larges pour ratios précis */
@media (min-width:1024px) and (max-width:1199.98px){.hero-row{grid-template-columns:minmax(0,1.08fr) minmax(0,.86fr) minmax(0,1.18fr)}.book-display{--book-w:210px}.author-figure{transform:translateX(clamp(-160px,-8vw,-80px))}} 
@media (min-width:1200px){.hero-row{grid-template-columns:minmax(0,1fr) minmax(0,.92fr) minmax(0,1.2fr)}.book-display{--book-w:220px}.author-figure{transform:translateX(clamp(-240px,-12vw,-110px))}} 

/* Paliers : peaufiner l’échelle pour coller à la ref */
@media (min-width:1200px){
.book-display{ --book-w:232px; --card-size:1; --card-left:66%; --card-top:53% }
}
@media (min-width:1024px) and (max-width:1199.98px){
.book-display{ --book-w:232px; --card-size:1; --card-left:66%; --card-top:53% }
}
@media (max-width:720px){
.book-display{ --book-w:min(60vw, 300px); --card-size:1; --card-left:66%; --card-top:53% }
.book-display .book-cover{ transform:none }
}

/* ===================== R14 — Centrer la couverture dans le carré (déplacement horizontal seulement) =====================
   But : conserver EXACTEMENT la position du carré (.book-card) et décaler SEULEMENT la cover à droite.
   Place ce patch à la FIN de ta main.css (il surchargera les règles précédentes).
*/

/* 1) Variables de décalage de la cover (par défaut desktop) */
.book-display{ --cover-x: 28px; --cover-y: -30px; }

/* 2) La cover utilise les variables plutôt que des valeurs fixes */
.book-display .book-cover{
  width:var(--book-w); height:auto; display:block;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.5));
  transform:translate(var(--cover-x), var(--cover-y)) perspective(1300px) rotateY(-6deg) rotateX(.35deg);
  transform-origin:center; transition:transform .25s ease, filter .25s ease;
}
.book-display .book-cover:hover{
  transform:translate(calc(var(--cover-x) + 6px), calc(var(--cover-y) - 10px)) perspective(1300px) rotateY(-3deg) rotateX(.2deg);
  filter:drop-shadow(0 26px 52px rgba(0,0,0,.58));
}

/* 3) Affinages par palier : tu peux augmenter/diminuer --cover-x pour parfaire l'alignement */
@media (min-width:1200px){ .book-display{ --cover-x: 30px } }
@media (min-width:1024px) and (max-width:1199.98px){ .book-display{ --cover-x: 26px } }
/* Mobile : tu as déjà un transform:none, on ne touche pas */

/* ========== BADGE DATE DE SORTIE ========== */
.release-badge{
display:inline-flex; align-items:center; gap:10px;
margin:0 0 16px; padding:8px 12px;
border:1px solid rgba(255,255,255,.24);
background:linear-gradient(180deg, rgba(22,44,66,.55), rgba(22,44,66,.35));
color:#e9f2fb; text-transform:uppercase; letter-spacing:.12em; font-weight:800;
font-size:.72rem; line-height:1; border-radius:999px; position:relative;
backdrop-filter:blur(2px) saturate(1.06);
box-shadow:0 8px 18px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.06);
}
.release-badge strong{letter-spacing:.06em}
/* liseré clair en haut → effet verre dépoli */
.release-badge::after{
content:""; position:absolute; left:10px; right:10px; top:2px; height:1px;
background:linear-gradient(90deg, rgba(255,255,255,.45), rgba(255,255,255,0));
opacity:.6; pointer-events:none;
}
/* petit point lumineux */
.badge-dot{width:6px; height:6px; border-radius:50%; display:inline-block;
background:radial-gradient(circle at 40% 40%, #cfe7ff, #6aa2d4 60%, rgba(0,0,0,0) 65%);
box-shadow:0 0 12px rgba(142,186,216,.8), 0 0 0 2px rgba(142,186,216,.25);
}


/* placement dans la colonne droite (sécurité si titre absent/present) */
.hero-col--right .book-meta .release-badge{margin-bottom:18px}


/* responsive */
@media (max-width:720px){
.release-badge{font-size:.68rem; padding:7px 10px; letter-spacing:.10em}
}

/* ========== HOME INFO (actus + dédicaces + newsletter) ========== */
.home-info{padding:56px 0 64px;background:linear-gradient(180deg, rgba(10,20,30,0) 0%, rgba(10,20,30,.35) 100%)}
.info-grid{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:24px}


.card{position:relative;background:rgba(20,34,48,.55);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px 20px;box-shadow:0 10px 24px rgba(0,0,0,.28);backdrop-filter:blur(3px) saturate(1.05)}
.card-title{margin:0 0 12px;font-size:1.25rem;letter-spacing:.02em}
.card-link{display:inline-block;margin-top:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.22);padding:8px 10px;text-decoration:none;color:#fff}
.card-link:hover{border-color:rgba(255,255,255,.4)}


/* Actus */
.news-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.news-list li{display:flex;align-items:baseline;gap:10px}
.news-title{text-decoration:none;color:#fff}
.news-title:hover{text-decoration:underline}
.news-date{color:#bfcfe0;font-size:.9rem}


/* Dédicaces */
.events-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.events-list li{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.event-date{display:inline-block;min-width:88px;padding:4px 6px;border:1px solid rgba(255,255,255,.18);border-radius:6px;text-align:center;font-variant-numeric:tabular-nums;color:#d9e6f3}
.event-place{color:#e8eef6}
.event-cta{margin-left:auto;text-decoration:none;border:1px solid rgba(255,255,255,.25);padding:6px 8px}
.event-cta:hover{border-color:rgba(255,255,255,.45)}


/* Newsletter */
.card-newsletter .card-sub{margin:0 0 12px;color:#d2deea}
.nl-form{display:flex;gap:8px;align-items:center}
.nl-form input[type=email]{flex:1;min-width:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:10px;color:#fff}
.nl-form .btn{padding:.68rem .96rem}
.nl-legal{margin:.5rem 0 0;color:#b9c9da;font-size:.85rem}
.nl-perks{margin-top:10px;display:flex;gap:12px;flex-wrap:wrap;color:#d6e3f1}


/* Responsive */
@media (max-width:1024px){.info-grid{grid-template-columns:1fr;gap:18px}.card{padding:18px}}
.news-excerpt{ margin:.2rem 0 0; color:#cfe0f0; font-size:.95rem; }

/* R14 – centrage fin de la cover */
.book-display{ --cover-x: 34px; --cover-y: -30px; } /* ← +4px à droite vs valeur actuelle */

/* Glow discret au survol */
.release-badge{ transition: box-shadow .25s ease, border-color .25s ease }
.release-badge:hover{
  border-color: rgba(255,255,255,.38);
  box-shadow: 0 12px 24px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.10);
}
.books-archive{padding:56px 0}
.books-archive .page-title{margin:0 0 18px}
.books-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;
}
.book-card-archive{
  background:rgba(20,34,48,.55); border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:16px; backdrop-filter:blur(3px) saturate(1.05);
}
.book-card-archive .book-thumb img{width:100%; height:auto; display:block; filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.book-ttl{font-size:1.1rem; margin:10px 0 6px}
.book-exc{color:#cfe0f0}
@media(max-width:1024px){ .books-grid{grid-template-columns:1fr 1fr} }
@media(max-width:640px){ .books-grid{grid-template-columns:1fr} }
.news-date, .event-date{font-variant-numeric: tabular-nums}
