/* Eve Ravany · New Romance cover site */
:root{
  --pink:#FCE0D5;
  --pink-soft:#FBE7DE;
  --dark:#850505;
  --grey:#eaeaef;
  --text:#141414;
  --slate:#3f4a57;
  --muted:#8a8a93;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Wix Madefor Display",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}

/* ---- Script font helper ---- */
.script{font-family:"Great Vibes",cursive;font-weight:400;line-height:1;}

/* ---- Header ---- */
.site-header{
  background:var(--pink);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 5vw;
}
.site-header .logo img{height:40px;width:auto;}
.nav{display:flex;align-items:center;gap:34px;}
.nav a{
  text-decoration:none;color:#1a1a1a;font-size:15px;letter-spacing:.06em;
  font-weight:500;padding:4px 0;transition:color .2s;
}
.nav a:hover{color:var(--dark);}
.nav a.active{border-bottom:2px solid #1a1a1a;}
.nav .ig{display:inline-flex;}
.nav .ig svg{width:26px;height:26px;fill:#1a1a1a;transition:fill .2s;}
.nav .ig:hover svg{fill:var(--dark);}

/* ---- Footer ---- */
.site-footer{
  background:var(--pink);
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:38px 5vw 46px;
}
.site-footer .f-left .flogo{height:34px;width:auto;margin-bottom:22px;}
.site-footer .copy{font-size:14px;color:#4a4a4a;}
.site-footer .fnav{display:flex;flex-direction:column;gap:16px;text-align:right;}
.site-footer .fnav a{text-decoration:none;color:#2a2a2a;font-size:14px;letter-spacing:.05em;}
.site-footer .fnav a:hover{color:var(--dark);}

/* ---- Buttons ---- */
.btn-dark{
  display:inline-block;background:var(--dark);color:#fff;text-decoration:none;
  padding:14px 30px;border-radius:40px;font-size:16px;font-weight:500;
  transition:opacity .2s,transform .15s;
}
.btn-dark:hover{opacity:.9;transform:translateY(-1px);}
.btn-soft{
  display:inline-block;background:var(--pink);color:#1a1a1a;text-decoration:none;
  padding:12px 26px;border-radius:40px;font-size:15px;transition:background .2s,color .2s;
}
.btn-soft:hover{background:var(--dark);color:#fff;}

/* ---- Generic wrap ---- */
.wrap{max-width:1180px;margin:0 auto;padding:0 5vw;}

/* ---- Home ---- */
.home-grid{
  display:grid;grid-template-columns:2.8fr 1fr;gap:72px;
  padding:52px 0 30px;
}
.home-title{font-size:0;margin:0;}
.home-title img{height:auto;max-height:52px;width:auto;}
.home-head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;margin-bottom:26px;}
.home-head-row .btn-dark{flex:none;white-space:nowrap;}
.book-cover{margin:10px 0 40px;max-width:100%;border-radius:10px;
  box-shadow:0 24px 60px rgba(0,0,0,.16);}
.book-cover img{width:100%;height:auto;display:block;border-radius:10px;}
.sec-title{font-family:"Great Vibes",cursive;font-size:40px;font-weight:400;
  margin:34px 0 14px;color:#1a1a1a;}
.home-main p{margin:0 0 18px;color:#242424;}
.home-main ul{list-style:disc;padding-left:22px;margin:0 0 20px;}
.home-main ul li{margin:0 0 14px;color:#242424;}

/* aside */
.aside .author-photo{border-radius:8px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.14);
  margin-bottom:22px;}
.aside .hey img{height:auto;max-height:52px;width:auto;margin:0 auto 16px;}
.aside .bio{font-size:14.5px;color:#333;text-align:center;margin:0 0 22px;}
.aside .center{text-align:center;margin-bottom:30px;}

/* comments widget */
.comments{border-top:1px solid #e3e3e3;padding-top:16px;}
.comments .cc-count{font-size:13px;color:var(--muted);margin:0 0 14px;}
.comment{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #ededed;}
.comment .av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;}
.comment .cbody{font-size:14px;}
.comment .cname{font-weight:700;color:#1a1a1a;}
.comment .cname span{font-weight:400;color:#555;}
.comment .ctext{margin:4px 0 0;color:#333;}
.comments .cc-disabled{font-size:12.5px;color:var(--muted);text-align:center;padding:16px 0 0;}

/* concours band on home/portrait */
.concours-band{background:var(--grey);text-align:center;padding:56px 5vw;}
.concours-band h2{font-size:30px;font-weight:800;letter-spacing:.01em;margin:0 auto 26px;
  max-width:760px;color:#101010;text-transform:uppercase;}
.concours-band p{max-width:640px;margin:0 auto;color:var(--muted);font-size:15px;}

/* ---- Portrait ---- */
.portrait-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;
  align-items:start;padding:70px 0;}
.portrait-grid .p-photo{border-radius:10px;overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.16);}
.portrait-grid .hey img{height:auto;max-height:66px;width:auto;margin:0 0 18px;}
.portrait-grid .p-text p{color:var(--slate);margin:0 0 18px;}
.perec{font-family:"Great Vibes",cursive;color:#2f4c86;font-size:24px;line-height:1.5;
  margin-top:28px;}
.perec .lead{display:block;margin-bottom:4px;}

/* ---- Split pages (concoursaccess / victory) ---- */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:640px;}
.split .panel{background:var(--grey);display:flex;flex-direction:column;justify-content:center;
  padding:60px 6vw;}
.split .panel h1{font-size:34px;font-weight:800;text-transform:uppercase;line-height:1.15;
  margin:0 0 20px;color:#101010;}
.split .panel .script{font-size:64px;color:#1a1a1a;margin:0 0 18px;}
.split .panel p{color:var(--slate);margin:0 0 14px;}
.split .side-img{background-size:cover;background-position:center;min-height:360px;}
.split .fineprint{color:var(--muted);font-size:14px;margin-top:20px;}

/* email gate / code forms */
.gate{display:flex;align-items:stretch;max-width:520px;margin:22px 0 0;}
.gate.gate-center{margin-left:auto;margin-right:auto;}
.gate input{flex:1;border:none;outline:none;padding:15px 18px;font-size:16px;
  font-family:inherit;background:#fff;}
.gate button{border:none;background:var(--pink);color:#1a1a1a;padding:15px 26px;
  font-size:16px;font-family:inherit;cursor:pointer;transition:background .2s,color .2s;}
.gate button:hover{background:var(--dark);color:#fff;}
.gate-msg{font-size:14px;margin-top:14px;min-height:20px;color:#1a1a1a;}

/* ---- Etape pages ---- */
.etape{background:var(--grey);min-height:70vh;padding:70px 5vw 120px;text-align:center;}
.etape .script{font-size:64px;color:#1a1a1a;margin:0 0 26px;}
.etape .intro{max-width:640px;margin:0 auto 34px;font-weight:700;color:#1a1a1a;font-size:17px;}
.etape .step{font-weight:800;font-size:18px;margin:0 0 14px;color:#101010;}
.etape .clue{max-width:560px;margin:0 auto 26px;color:var(--slate);font-size:16px;}
.etape .clue a{color:#2f4c86;text-decoration:underline;font-weight:600;}
.etape-form{max-width:560px;margin:0 auto;}
.etape-form input{width:100%;border:none;padding:16px 18px;font-size:16px;
  font-family:inherit;background:#fff;text-align:center;outline:none;}
.etape-form button{margin-top:16px;background:var(--pink);border:none;border-radius:40px;
  padding:14px 40px;font-size:16px;font-family:inherit;color:#1a1a1a;cursor:pointer;
  transition:background .2s,color .2s;}
.etape-form button:hover{background:var(--dark);color:#fff;}
.etape .gate-msg{margin-top:18px;text-align:center;}

/* ---- Interview ---- */
.interview{padding-top:56px;padding-bottom:40px;}
.interview .ivtitle{display:flex;align-items:center;gap:16px;margin-bottom:6px;}
.interview .ivtitle .script{font-size:56px;color:#1a1a1a;}
.interview .ivtitle .bubble{font-size:40px;}
.interview .rule{border:none;border-top:1px solid #cfcfd6;margin:0 0 30px;max-width:560px;}
.interview .q{font-weight:700;color:#141414;margin:26px 0 12px;}
.interview .a{color:var(--slate);margin:0 0 12px;}
.interview .a b{color:#1a1a1a;}
.iv-comments{margin-top:44px;border-top:1px solid #e0e0e6;padding-top:20px;}
.iv-comments .cc-count{font-size:13px;color:var(--muted);margin:0 0 14px;}
.iv-comments .email{color:var(--dark);font-weight:600;text-decoration:underline;}

/* ---- Responsive ---- */
@media (max-width:900px){
  .home-grid{grid-template-columns:1fr;gap:34px;padding:28px 0 10px;}
  .portrait-grid{grid-template-columns:1fr;gap:34px;padding:40px 0;}
  .split{grid-template-columns:1fr;}
  .split .side-img{min-height:300px;order:-1;}
  .split .panel{padding:44px 7vw;}
  .split .panel .script,.etape .script{font-size:50px;}
  .concours-band h2{font-size:23px;}
  /* titre centré au-dessus, bouton plus petit en dessous, livre pleine largeur */
  .home-head-row{flex-direction:column;align-items:center;gap:18px;margin-bottom:22px;text-align:center;}
  .home-title img{max-height:48px;}
  .home-head-row .btn-dark{padding:12px 26px;font-size:15px;}
  .book-cover{max-width:100%;margin:4px 0 32px;}
}
@media (max-width:600px){
  /* header : logo au-dessus, nav centrée en dessous */
  .site-header{flex-direction:column;gap:12px;padding:14px 5vw;}
  .site-header .logo img{height:36px;}
  .nav{gap:24px;justify-content:center;}
  .nav a{font-size:14px;padding:2px 0;}
  /* titre plus grand (pleine largeur), bouton compact */
  .home-title img{width:100%;max-width:300px;max-height:none;height:auto;}
  .home-head-row .btn-dark{padding:11px 22px;font-size:14px;}
}
@media (max-width:520px){
  .gate{flex-direction:column;}
  .gate button{border-radius:0 0 6px 6px;}
}
