/* Thème Plume — famille Nova (Clochu). L'élégance d'une maison d'édition : titres à empattements, bordeaux et or, papier ivoire. */

:root { --paper: #FFFDF8; --ink: #22161A; --muted: #6B5C60; --line: #EADFCF; --radius: 8px; --on-accent: #FFFFFF; --cream: #F7F1E7; --gold: #E2BE6A; }

/* Titres littéraires */
h1, h2, h3 { font-weight: 700; letter-spacing: -.005em; line-height: 1.08; }
h2 { font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); }
.lede, .section-head p { font-size: 1.08rem; }

/* En-tête : sobre, filet or */
.site-header { background: color-mix(in srgb, var(--paper) 94%, transparent); border-bottom: 1px solid var(--line); }
.site-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, transparent, var(--accent) 20%, var(--gold) 50%, var(--accent) 80%, transparent); opacity: .7; pointer-events: none; }
.site-header .brand img { border-radius: 50%; box-shadow: 0 0 0 2px var(--gold); }
.site-header .brand-text strong { font-family: var(--font-head); font-size: 1.45rem; font-weight: 700; letter-spacing: .01em; color: var(--primary); }
@media (min-width: 1000px) {
  .main-nav a, .main-nav .nav-menu > li > .menu-heading { font-family: var(--font-body); text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 600; padding: 9px 13px; border-radius: 999px; color: var(--ink); }
  .main-nav a:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--primary); }
  .main-nav a[aria-current="page"] { background: var(--primary); color: #fff; }
}

/* Boutons : pilules dorées */
.btn { border-radius: 999px; font-weight: 600; letter-spacing: .02em; }
.btn-accent { background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, var(--gold))); border-color: transparent; color: #fff; box-shadow: 0 10px 26px color-mix(in srgb, var(--accent) 35%, transparent); }
.btn-accent:hover { background: var(--primary); color: #fff; }

/* Accueil : portrait encadré d'or, citation en grand */
.hero-split { background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--primary) 70%, #fff 0%) 0%, transparent 55%), linear-gradient(135deg, var(--primary) 0%, var(--dark) 100%); position: relative; overflow: hidden; }
.hero-split::after { content: "“"; position: absolute; left: -10px; top: -60px; font: 700 26rem/1 var(--font-head); color: var(--gold); opacity: .08; pointer-events: none; }
.hero-split .hero-inner { position: relative; z-index: 1; }
.hero .tagline { color: var(--gold); text-transform: uppercase; letter-spacing: .22em; font: 600 .78rem var(--font-body); font-style: normal; opacity: 1; }
.hero .tagline::before { content: ""; display: inline-block; width: 36px; height: 1px; background: var(--gold); vertical-align: middle; margin-right: 12px; }
.hero h1 { font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.4rem); font-style: italic; font-weight: 600; line-height: 1.02; letter-spacing: -.01em; }
.hero-lede { font-size: 1.1rem; max-width: 52ch; opacity: .92; }
.hero-split .hero-pic { position: relative; }
.hero-split .hero-pic img { aspect-ratio: 4/5; object-fit: cover; object-position: center 20%; border-radius: 4px; box-shadow: 18px 18px 0 -2px var(--gold), 0 40px 70px -30px rgba(0,0,0,.7); }
.hero-split .hero-pic::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; border: 1px solid color-mix(in srgb, var(--gold) 60%, transparent); border-radius: 4px; pointer-events: none; }
.hero .btn-ghost { border-color: color-mix(in srgb, #fff 55%, transparent); color: #fff; }
.hero .btn-ghost:hover { background: #fff; color: var(--primary); }

/* Chiffres clés : carte ivoire, chiffres or */
.stats-band .stats { background: var(--paper); border: 1px solid var(--line); box-shadow: 0 24px 60px -24px rgba(40,10,20,.35); }
.stats strong { font-family: var(--font-head); color: var(--accent); font-weight: 700; font-size: clamp(2.3rem, 1.8rem + 1.6vw, 3.2rem); }
.stats span { text-transform: uppercase; letter-spacing: .08em; font-size: .74rem; font-weight: 600; }

/* Titres de section : ornement */
.section-head h2::after, .blk h2::after { content: ""; display: block; width: 70px; height: 8px; margin-top: 14px; background: radial-gradient(circle, var(--accent) 3px, transparent 3.5px) center/10px 8px no-repeat, linear-gradient(var(--accent), var(--accent)) left center/28px 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right center/28px 1px no-repeat; border-radius: 0; }
.bfeat h2::after, .rd h2::after, .bpdf h2::after, .blk-cta h2::after, .blk-quote h2::after, .cta-band h2::after, .bpdf-info h2::after, .blk-hero h2::after { display: none; }
.blk-teinte { background: var(--cream); }
.blk-sombre { background: radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--primary) 55%, transparent), transparent 60%), var(--dark); }
.blk-couleur { background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 70%, var(--dark))); }

/* Citation : grande, italique */
.blk-quote blockquote, .bquote blockquote { font-family: var(--font-head); font-style: italic; font-weight: 600; font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3rem); line-height: 1.15; }

/* Texte et photo : photo en pied sans cadre */
.blk-text_image img[src*="webp"] { border-radius: 4px; }

/* Cartes et points forts */
.bfeatures .fi, .feature .ic-wrap { border-radius: 50%; }
.bcard, .card-item { border-radius: 6px; }

/* Librairie : étagère en bois clair */
.sp-shelf .sp-card-img { background: linear-gradient(transparent 86%, color-mix(in srgb, #8b5a2b 30%, transparent) 86%, color-mix(in srgb, #8b5a2b 12%, transparent)); }
.sp-card h3 a, .sp-price { font-family: var(--font-head); }
.sp-card h3 { font-size: 1.22rem; }
.sp-price { font-size: 1.25rem; color: var(--primary); }
.sp-head { background: radial-gradient(circle at 85% 0%, color-mix(in srgb, var(--accent) 40%, transparent), transparent 55%), linear-gradient(135deg, var(--primary), var(--dark)); }
.sp-head h1 { font-style: italic; font-weight: 600; }
.sp-badge { background: var(--accent); }
.sp-info h1, .bfeat h2 { font-style: italic; font-weight: 600; }

/* Radio : studio bordeaux */
.rd-studio::after { background: radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--accent) 40%, transparent), transparent 55%), radial-gradient(circle at 90% 90%, color-mix(in srgb, var(--primary) 85%, transparent), transparent 60%), linear-gradient(135deg, rgba(20,6,10,.85), rgba(20,6,10,.96)); }
.rd-name { font-style: italic; font-weight: 600; }

/* Presse : cartes de journal */
.bpress-card { border-radius: 4px; }
.bpress-body { border-top-width: 3px; }
.bpress-card h3 { font-size: 1.28rem; }

/* Pied de page */
.site-footer { background: var(--dark); border-top: 3px solid var(--gold); }
.site-footer .footer-name { font-family: var(--font-head); font-size: 1.6rem; color: #fff; }

html.is-dark { --paper: #17100F; --ink: #F3E9DF; --muted: #BBA9A5; --line: #3A2A2C; --cream: #21171A; }
.stats-band .stats span { color: var(--muted); opacity: 1; }
.stats strong, .rd-time, .bpress-meta span { font-variant-numeric: lining-nums; }
.stats-band { background: transparent; color: var(--ink); position: relative; z-index: 2; }
.stats-band .stats { background: var(--paper); border-radius: 10px; padding: 26px 30px; margin-top: -54px; }
@media (max-width: 720px) { .stats-band .stats { margin-top: -30px; width: calc(100% - 32px); } }
.hero-split { padding-bottom: 90px; }
.bfeatures .bicon { background: var(--cream) !important; color: var(--accent) !important; border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); border-radius: 50% !important; }
.bfeatures h3 { font-size: 1.35rem; }
.hero-split::after { left: 12px; top: -30px; }
@media (max-width: 700px) {
  .site-header .brand-text strong { font-size: 1.15rem; line-height: 1.1; }
  .hero-split .hero-pic::before { display: none; }
  .hero-split .hero-pic img { box-shadow: 10px 10px 0 -2px var(--gold), 0 30px 50px -25px rgba(0,0,0,.7); }
  .hero-split::after { font-size: 14rem; }
}
