:root {
  /* Fonds & Bases sombres */
  --nuit: #0C1826;
  --profond: #14303A;
  --petrole: #1D4250;
  /* Accents */
  --turquoise: #4AAFBE;
  --or: #C9A84C;
  --or-s: #B89940;
  --or-p: #DCBF6A;
  --or-clair: #DCE8A6;
  --lavande: #A89CD0;
  /* Textes */
  --creme: #F0EBE0;
  --blanc: #FFFFFF;
  --tx-m: #D0C8B8;
  --tx-l: #A09A8F;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:80px;}
body{
  color:var(--creme);font-family:'Calibri','Segoe UI',sans-serif;font-weight:300;font-size:17px;line-height:1.75;overflow-x:hidden;
  background-color:var(--nuit);
  background-image:none;
}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;height:60px;padding:0 40px;display:flex;justify-content:space-between;align-items:center;z-index:100;background:rgba(20,48,58,0.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--or);box-shadow:0 2px 15px rgba(201,168,76,0.1);}
.logo{font-family:'Cinzel',serif;font-size:14px;font-weight:600;letter-spacing:5px;color:var(--or);text-transform:uppercase;text-decoration:none;}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{color:var(--creme);text-decoration:none;font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;transition:color 0.3s;font-weight:500;}
.nav-links a:hover{color:var(--or);}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:flex-start;padding:56px 0 0 6%;margin-bottom:0;overflow:hidden;background:var(--nuit);}
.hero-character{
  position:absolute;top:60px;left:0;right:0;bottom:0;width:100%;height:calc(100% - 60px);
  object-fit:cover;object-position:center bottom;
  pointer-events:none;z-index:1;
  opacity:1.0;
  filter:drop-shadow(2px 2px 12px rgba(0,0,0,0.2));
  transform:scaleX(-1);
}
.hero-card{
  max-width:480px;padding:44px 38px;position:relative;z-index:2;
  background:rgba(20,48,58,0.9);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(201,168,76,0.3);
  box-shadow:0 8px 40px rgba(0,0,0,0.2);
}
/* Coins dores */
.hero-card::before,.hero-card::after{
  content:'';position:absolute;width:24px;height:24px;
  border-color:var(--or-p);border-style:solid;
}
.hero-card::before{top:10px;left:10px;border-width:2px 0 0 2px;}
.hero-card::after{top:10px;right:10px;border-width:2px 2px 0 0;}
.hero-corners-bottom{position:absolute;bottom:10px;left:10px;right:10px;pointer-events:none;}
.hero-corners-bottom::before,.hero-corners-bottom::after{
  content:'';position:absolute;width:24px;height:24px;
  border-color:var(--or-p);border-style:solid;
}
.hero-corners-bottom::before{bottom:0;left:0;border-width:0 0 2px 2px;}
.hero-corners-bottom::after{bottom:0;right:0;border-width:0 2px 2px 0;}

.hero-pre{font-family:'Cinzel',serif;font-size:9px;letter-spacing:5px;text-transform:uppercase;color:var(--turquoise);margin-bottom:16px;}
.hero-card h1{font-family:'Cinzel',serif;font-size:clamp(28px,5vw,48px);font-weight:400;line-height:1.3;color:var(--or-clair);margin-bottom:14px;}
.hero-card h1 .gold{color:var(--or);}
.hero-sub{font-size:18px;font-style:italic;font-weight:300;color:var(--tx-m);line-height:1.7;margin-bottom:30px;}
.hero-sep{width:60px;height:1px;background:var(--or-p);margin:0 auto;}

/* SECTIONS CLAIRES BORDURE COUTURE */
.section-light{
  padding:50px 40px;max-width:920px;margin:40px auto;position:relative;z-index:1;
  background-color:var(--profond);
  color:var(--creme);
  border:2px dashed rgba(201,168,76,0.25);
  outline:1px solid rgba(29,66,80,0.5);outline-offset:6px;
  box-shadow:0 4px 30px rgba(0,0,0,0.15);
}
.section-light::before{
  content:'';position:absolute;top:8px;left:8px;right:8px;bottom:8px;
  border:1.5px dashed rgba(184,153,64,0.18);pointer-events:none;
}
.sec-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:5px;text-transform:uppercase;color:var(--turquoise);text-align:center;margin-bottom:6px;}
.sec-title{font-family:'Cinzel',serif;font-size:clamp(20px,3vw,28px);font-weight:400;text-align:center;color:var(--or-clair);margin-bottom:24px;}
#faq .sec-label,#faq .sec-title{text-align:center;margin-left:auto;max-width:55%;}
#faq .faq-list{margin-left:auto;max-width:55%;}
.page-content #faq .faq-list{margin:0 auto;max-width:85%;}

/* BOOK */
.book-grid{display:flex;gap:36px;align-items:flex-start;justify-content:center;flex-wrap:wrap;}
.book-cover{width:220px;flex-shrink:0;}
.book-cover img{width:100%;height:auto;box-shadow:0 0 35px rgba(201,168,76,0.45),0 0 80px rgba(212,160,48,0.2),4px 4px 20px rgba(58,42,30,0.15);}
.book-info{max-width:380px;}
.book-info h3{font-family:'Cinzel',serif;font-size:20px;font-weight:500;color:var(--or-s);margin-bottom:8px;}

.book-info .edition{font-size:13px;color:var(--turquoise);font-style:italic;margin-top:0;margin-bottom:14px;}
.book-tags{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.book-tags span{padding:3px 10px;font-family:'Cinzel',serif;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;}
.tag-f{background:rgba(74,175,190,0.1);color:var(--turquoise);border:1px solid rgba(74,175,190,0.25);}
.tag-r{background:rgba(168,156,208,0.08);color:var(--lavande);border:1px solid rgba(168,156,208,0.15);}
.book-info .book-desc{font-size:15px;line-height:1.8;color:var(--tx-m);margin-bottom:14px;}
.book-hashtags{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;color:var(--or);text-transform:uppercase;}
.book-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.book-links a{display:inline-block;padding:7px 16px;font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--or);border:1px solid rgba(201,168,76,0.3);transition:all 0.3s;background:rgba(29,66,80,0.6);}
.book-links a:hover{background:var(--or);color:var(--blanc);border-color:var(--or);}

/* AUTRICE */
.autrice-band{background:var(--profond);padding:50px 0;margin-top:0;}
.autrice-wrap{
  max-width:920px;margin:0 auto;position:relative;z-index:3;
  background-color:var(--petrole);
  color:var(--creme);
  border:2px dashed rgba(201,168,76,0.25);
  outline:1px solid rgba(29,66,80,0.5);outline-offset:6px;
  box-shadow:0 4px 30px rgba(0,0,0,0.15);
  padding:50px 40px;
}
.autrice-wrap::before{
  content:'';position:absolute;top:8px;left:8px;right:8px;bottom:8px;
  border:1.5px dashed rgba(184,153,64,0.18);pointer-events:none;z-index:2;
}
.aut-top{display:flex;align-items:center;gap:20px;margin-bottom:20px;}
.aut-photo{width:90px;height:90px;border-radius:50%;overflow:hidden;border:2px solid rgba(201,168,76,0.25);flex-shrink:0;}
.aut-photo img{width:100%;height:100%;object-fit:cover;}
.aut-name{font-family:'Cinzel',serif;font-size:clamp(24px, 4vw, 32px);font-weight:400;color:var(--or-clair);margin-bottom:4px;}
.aut-bio-s{font-size:13px;color:var(--tx-l);font-style:italic;}
.aut-body{font-size:15px;line-height:1.8;color:var(--tx-m);margin-bottom:16px;}
.aut-tags{display:flex;flex-wrap:wrap;gap:6px;}
.aut-tags span{font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border:1px solid rgba(201,168,76,0.15);color:var(--or-s);}



/* NEWSLETTER */
.nl{text-align:center;padding:0 30px;max-width:650px;margin:0 auto;position:relative;z-index:1;}
.nl-card{
  background:rgba(20,48,58,0.9);padding:44px 36px;position:relative;
  border:1px solid rgba(201,168,76,0.3);
  box-shadow:0 6px 30px rgba(0,0,0,0.15);
}
/* Coins dores newsletter */
.nl-card::before,.nl-card::after{
  content:'';position:absolute;width:20px;height:20px;
  border-color:var(--or-p);border-style:solid;
}
.nl-card::before{top:8px;left:8px;border-width:2px 0 0 2px;}
.nl-card::after{top:8px;right:8px;border-width:2px 2px 0 0;}
.nl-corners-bottom{position:absolute;bottom:8px;left:8px;right:8px;pointer-events:none;}
.nl-corners-bottom::before,.nl-corners-bottom::after{
  content:'';position:absolute;width:20px;height:20px;
  border-color:var(--or-p);border-style:solid;
}
.nl-corners-bottom::before{bottom:0;left:0;border-width:0 0 2px 2px;}
.nl-corners-bottom::after{bottom:0;right:0;border-width:0 2px 2px 0;}
.nl .pre{font-family:'Cinzel',serif;font-size:9px;letter-spacing:5px;text-transform:uppercase;color:var(--turquoise);margin-bottom:10px;}
.nl h3{font-family:'Cinzel',serif;font-size:22px;font-weight:400;color:var(--or-clair);margin-bottom:10px;}
.nl p{font-size:15px;color:var(--tx-m);margin-bottom:24px;}
.btn-or{display:inline-block;padding:12px 32px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;color:var(--blanc);background:var(--or);transition:all 0.3s;}
.btn-or:hover{background:var(--or-s);}
.nl-intro{font-size:16px;color:var(--creme);margin-bottom:0;text-align:left;}
.nl-list{text-align:left;margin:0 0 24px 0;margin-top:0;color:var(--tx-m);font-size:14px;padding-left:20px;line-height:1.6;}
.nl-list li{margin-bottom:10px;}
.nl-disclaimer{font-size:12px;font-style:italic;color:var(--tx-l);margin-bottom:30px;text-align:left;border-top:1px solid rgba(201,168,76,0.2);padding-top:16px;}

/* FORM INPUTS (Dark Mode) */
.nl-form { width: 100%; }
.nl-input-group { display: flex; gap: 10px; justify-content: center; align-items: stretch; }
.nl-input-group input {
  background:var(--petrole);color:var(--creme);border:1px solid var(--or);
  padding:10px 14px;font-family:'Calibri','Segoe UI',sans-serif;font-size:15px;
  outline:none;transition:border-color 0.3s;flex:1;min-width:0;
}
.nl-input-group input:focus {
  border-color:var(--or-p);
}
.nl-input-group button.btn-or { border:none;cursor:pointer;white-space:nowrap; }

/* LIVRE D'OR */
.slider-wrapper{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 0;}
.slider-arrow{background:none;border:1px solid rgba(201,168,76,0.3);color:var(--or);font-size:22px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;flex-shrink:0;}
.slider-arrow:hover{background:rgba(201,168,76,0.08);border-color:var(--or);}
.slider-viewport{overflow:hidden;flex:1;max-width:560px;}
.slider-track{position:relative;min-height:80px;}
.slider-slide{position:absolute;top:0;left:0;right:0;opacity:0;transition:opacity 0.6s ease;padding:10px 28px;text-align:center;}
.slider-slide.active{opacity:1;position:relative;}
.slider-quote{font-size:16px;font-style:italic;color:var(--creme);line-height:1.7;margin-bottom:12px;}
.slider-author{font-family:'Cinzel',serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--or);}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(201,168,76,0.2);border:none;cursor:pointer;transition:background 0.3s;padding:0;}
.slider-dot.active{background:var(--or);}

/* FAQ */
.faq-character{position:absolute;left:20px;bottom:10px;max-height:calc(100% - 20px);width:auto;max-width:380px;opacity:0.7;pointer-events:none;z-index:0;}
.faq-list{display:flex;flex-direction:column;gap:1px;position:relative;z-index:1;}
.faq-item{padding:16px 0;border-bottom:1px solid rgba(201,168,76,0.08);cursor:pointer;}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-family:'Cinzel',serif;font-size:13px;letter-spacing:1px;color:var(--creme);position:relative;padding-right:24px;}
.faq-q::after{content:'+';position:absolute;right:0;top:0;font-size:18px;color:var(--or);transition:transform 0.3s;}
.faq-item.open .faq-q::after{content:'-';}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s;font-size:14px;line-height:1.7;color:var(--tx-m);}
.faq-a p{margin-bottom:12px;}
.faq-a p:last-child{margin-bottom:0;}
.faq-item.open .faq-a{max-height:800px;padding-top:10px;}


/* COUPS DE PINCEAU DORES */
.brush-tl,.brush-tr{position:absolute;top:0;pointer-events:none;z-index:2;opacity:0.85;display:none;}
.brush-tl{left:0;width:280px;height:auto;}
.brush-tr{right:0;width:300px;height:auto;}


/* SEPARATEUR DORE UNIQUE */
.sep {
  width: 100%;
  max-width: 900px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--or-p), transparent);
  margin: 60px auto;
  opacity: 0.7;
  border: none;
}


/* FOOTER */
.footer{
  text-align:center;
  padding:40px 20px;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.footer-socials{
  display:flex;
  gap:16px;
  justify-content:center;
  align-items:center;
}
.footer-socials a{
  color:var(--or-p);
  display:inline-block;
  transition:all 0.3s ease;
}
.footer-socials a:hover{
  color:var(--or);
  transform:translateY(-3px) scale(1.05);
}
.footer .name{
  font-family:'Cinzel',serif;
  font-size:14px;
  letter-spacing:4px;
  color:var(--or);
  display:block;
}
.footer .copy{font-size:12px;color:var(--tx-l);}



/* PAGE INTERIEURE - espacement haut pour compenser la nav fixe */
.page-content{padding-top:80px;}

/* SECTION PROJETS */
.projects-intro { max-width: 800px; margin: 0 auto 40px auto; text-align: center; font-size: 16px; color: var(--tx-m); }
.projects-intro p { margin-bottom: 10px; }
.category-title { font-family: 'Cinzel', serif; font-size: 32px; color: var(--or-s); text-align: center; margin: 60px 0 10px 0; border-bottom: 1px solid var(--or-p); padding-bottom: 10px; }
.category-desc { text-align: center; font-style: italic; color: var(--turquoise); margin-bottom: 30px; font-size: 15px; }
.status-title { font-family: 'Cinzel', serif; font-size: 18px; color: var(--creme); margin: 40px 0 20px 0; padding-left: 10px; border-left: 3px solid var(--or); }
.project-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; margin-bottom: 40px; }
.project-card { background-color: var(--petrole); border: 1px solid rgba(201,168,76,0.3); color: var(--creme); padding: 24px; box-shadow: 0 4px 15px rgba(58,42,30,0.03); border-radius: 4px; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; display: flex; flex-direction: column; }
.project-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(201,168,76,0.15); border-color: var(--or); }
.project-title { font-family: 'Cinzel', serif; font-size: 20px; color: var(--or-clair); margin-bottom: 12px; font-weight: 600; }
.project-desc { font-size: 14.5px; line-height: 1.7; color: var(--tx-m); margin-bottom: 10px; }

/* SECTION LONG-FORM AUTRICE */
.article-container { max-width: 760px; margin: 40px auto; padding: 0 20px; color: var(--tx-m); font-size: 17px; line-height: 1.8; }
.article-section { margin-bottom: 60px; position: relative; }
.article-title { font-family: 'Cinzel', serif; font-size: clamp(24px, 4vw, 32px); color: var(--or-s); margin-bottom: 24px; text-align: center; position: relative; padding-bottom: 15px; }
.article-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 1px; background: var(--or-p); }
.article-section p { margin-bottom: 20px; text-align: justify; }
.article-quote { font-style: italic; font-size: 19px; color: var(--turquoise); border-left: 3px solid var(--or); padding-left: 20px; margin: 40px 0; line-height: 1.6; }
.article-highlight { color: var(--or-clair); font-weight: 500; }

/* PORTRAIT AUTRICE DANS LE TEXTE */
.article-portrait-wrapper { text-align: center; margin: 10px 0 30px 0; }
.article-portrait { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; border: 2px solid var(--or); box-shadow: 0 10px 30px rgba(0,0,0,0.3); }

/* PAGE ACTUALITES - FLUX DE POSTS */
.actus-feed { max-width: 800px; margin: 40px auto; display: flex; flex-direction: column; gap: 40px; }
.actu-post { background: var(--petrole); border: 1px solid rgba(201,168,76,0.3); padding: 32px 40px; border-radius: 4px; box-shadow: 0 4px 15px rgba(0,0,0,0.15); position: relative; }
.actu-post::before { content: ''; position: absolute; left: 0; top: 32px; bottom: 32px; width: 3px; background: var(--or-p); }
.actu-post-header { margin-bottom: 20px; border-bottom: 1px solid rgba(201,168,76,0.15); padding-bottom: 15px; }
.actu-post-date { font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 2px; color: var(--turquoise); text-transform: uppercase; display: block; margin-bottom: 8px; }
.actu-post-title { font-family: 'Cinzel', serif; font-size: 24px; color: var(--or-clair); font-weight: 500; }
.actu-post-body { font-size: 16px; color: var(--tx-m); line-height: 1.8; }
.actu-post-body p { margin-bottom: 16px; }
.actu-post-body p:last-child { margin-bottom: 0; }
@media (max-width: 600px) { .actu-post { padding: 24px 20px; } }

/* ========================================= */
/* RESPONSIVITE MOBILE & TABLETTE            */
/* ========================================= */
.burger-menu { display: none; background: none; border: none; font-size: 24px; color: var(--or-p); cursor: pointer; }

@media (max-width: 800px) {
  /* Navigation */
  nav { padding: 0 16px; height: 50px; }
  .logo { font-size: 11px; letter-spacing: 3px; }
  .burger-menu { display: block; }
  .nav-links { position: absolute; top: 60px; right: 0; background: rgba(12,24,38,0.98); width: 100%; height: 100vh; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 40px; gap: 30px; transform: translateX(100%); transition: transform 0.3s ease-in-out; box-shadow: 0 10px 15px rgba(0,0,0,0.2); }
  .nav-links.nav-active { transform: translateX(0); }
  .nav-links a { font-size: 16px; letter-spacing: 3px; }

  /* Hero — Empilement vertical : image au-dessus, texte en dessous */
  .hero { display: flex; flex-direction: column; align-items: center; padding: 60px 0 0; min-height: auto; }
  .hero-character { position: static; width: 100%; height: auto; max-height: 50vh; object-fit: cover; display: block; opacity: 1; transform: none; filter: none; }
  .hero-card { position: static; right: auto; top: auto; transform: none; margin: 0; max-width: 100%; padding: 40px 20px; border-radius: 0; background-color: var(--profond); backdrop-filter: none; border: none; box-shadow: none; }
  .hero-card h1 { font-size: 26px; letter-spacing: 1px; }
  .brush-tl { width: 100px; }
  .brush-tr { width: 110px; }

  /* Espacements globaux */
  .section-light, .autrice-wrap, .actu-post { padding: 24px 20px; margin: 20px 10px; }
  .autrice-band { padding: 30px 0; }
  .article-container { padding: 0 16px; }
  .nl { padding: 40px 16px; }
  .nl-card { padding: 32px 20px; }

  /* Grilles & Listes */
  .book-grid { flex-direction: column; align-items: center; text-align: center; }
  .book-cover { width: 180px; }
  .book-info { text-align: left; }
  .book-tags { justify-content: center; }
  .project-grid { grid-template-columns: 1fr; gap: 16px; }
  .aut-top { flex-direction: column; text-align: center; }

  /* FAQ */
  #faq .faq-list { max-width: 100%; }
  #faq .sec-label, #faq .sec-title { text-align: center; }
  .faq-character { max-width: 60%; max-height: none; left: 50%; right: auto; bottom: auto; top: 10px; transform: translateX(-50%); opacity: 0.25; }

  /* Typographie */
  h1 { font-size: 32px; }
  .sec-title, .article-title, .category-title { font-size: 24px; }
}
