/* ── Reset & Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Source Serif 4','Georgia',serif;color:#1a1a1a;background:#fff;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit}

/* ── Variables ── */
:root{
  --primary:#ffcc00;
  --primary-dark:#e6b800;
  --accent:#2f679c;
  --dark:#222;
  --gray:#6b7280;
  --gray-light:#eeeeee;
  --border:#c1c2c4;
  --radius:8px;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);
  --container:1200px;
  --content:720px;
  --grad-gray:linear-gradient(to bottom,#c1c2c4,#ffffff);
  --surface-0:#ffffff;
  --surface-1:#f8f7f3;
  --surface-2:#f0ede6;
  --text-main:#1f2937;
  --text-muted:#6b7280;
}

/* ── Container ── */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}
.container-sm{width:100%;max-width:var(--content);margin:0 auto;padding:0 20px}

/* ── Typography ── */
h1,h2,h3,h4,h5{font-family:'Playfair Display','Georgia',serif;font-weight:700;line-height:1.25;color:var(--dark)}
h1{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:1rem}
h2{font-size:clamp(1.35rem,3vw,1.875rem);margin:2rem 0 .75rem}
h3{font-size:1.25rem;margin:1.5rem 0 .5rem}
h4{font-size:1.1rem;margin:1.25rem 0 .5rem}
p{margin-bottom:1rem}
strong{font-weight:700}
em{font-style:italic}
blockquote{border-left:4px solid var(--primary);padding:.875rem 1.25rem;margin:1.5rem 0;background:var(--gray-light);border-radius:0 var(--radius) var(--radius) 0;color:#374151;font-style:italic;font-size:1.05rem}
hr{border:none;border-top:1px solid var(--border);margin:2rem 0}
small{font-size:.875rem;color:var(--gray)}

/* ── Links ── */
.entry-content a,.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry-content a:hover,.prose a:hover{color:#1f4f7a}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius);font-family:'Source Sans 3','Arial',sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;white-space:nowrap}
.btn-primary{background:var(--primary);color:var(--dark)}.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{border:2px solid var(--accent);color:var(--accent)}.btn-outline:hover{background:var(--accent);color:#fff}
.btn-sm{padding:.375rem .875rem;font-size:.85rem}

/* ── Header social icons ── */
.header-social{position:absolute;top:.75rem;right:1rem;display:flex;align-items:center;gap:.25rem;transition:opacity .3s ease}
.header-social a,.header-social button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#fff;background:none;border:none;cursor:pointer;border-radius:4px;transition:color .2s,background .2s;text-decoration:none}
.header-social a:hover,.header-social button:hover{color:var(--dark);background:var(--primary)}

/* ── Topbar newsletter ── */
.topbar{position:fixed;top:0;left:0;right:0;z-index:102;background:#f5c200;height:44px;display:flex;align-items:center;justify-content:center;padding:0 1rem;gap:1.25rem;transition:height .3s ease,opacity .3s ease;overflow:hidden}
.topbar.dismissed{height:0;opacity:0;pointer-events:none}
.topbar__form{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}
.topbar__text{font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;font-weight:600;color:#1a1a1a;white-space:nowrap}
.topbar__fields{display:flex;gap:.5rem;align-items:center}
.topbar__input{height:30px;padding:0 .75rem;border:none;border-radius:4px;font-size:.8125rem;font-family:'Source Sans 3','Arial',sans-serif;outline:none;width:200px;background:#fff}
.topbar__input:focus{box-shadow:0 0 0 2px rgba(0,0,0,.25)}
.topbar__btn{height:30px;padding:0 .875rem;background:#1a1a1a;color:#f5c200;border:none;border-radius:4px;font-size:.8125rem;font-weight:700;font-family:'Source Sans 3','Arial',sans-serif;cursor:pointer;white-space:nowrap;letter-spacing:.04em;transition:background .15s}
.topbar__btn:hover{background:#333}
.topbar__thanks{font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;font-weight:600;color:#1a1a1a;margin:0}
.topbar__close{position:absolute;right:1rem;background:none;border:none;cursor:pointer;font-size:.75rem;color:#1a1a1a;opacity:.6;padding:.25rem .5rem;line-height:1}
.topbar__close:hover{opacity:1}
@media(max-width:680px){
  .topbar{height:auto;min-height:44px;padding:.5rem 2.5rem .5rem 1rem;flex-direction:column;align-items:flex-start;gap:.375rem}
  .topbar__form{flex-direction:column;align-items:flex-start;gap:.375rem;width:100%}
  .topbar__text{white-space:normal;font-size:.8rem}
  .topbar__fields{width:100%}
  .topbar__input{flex:1;width:auto}
}

/* ── Header ── */
.site-header{position:fixed;top:44px;left:0;right:0;z-index:100;border-bottom:1px solid var(--border);box-shadow:var(--shadow);background-image:url('/assets/remi-le-calvez-aventurier-header.jpg');background-size:cover;background-position:center calc(50% + 120px);background-repeat:no-repeat}
body{padding-top:254px}
.site-header::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.2);z-index:0;pointer-events:none}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;min-height:210px;gap:1rem;position:relative;z-index:1}
.site-logo{display:flex;align-items:center;position:relative;padding:1rem 1.5rem 1rem 50px}
.site-logo img{width:auto;display:block;transition:opacity .3s ease}
.site-logo .logo-default{height:150px;opacity:1}
.site-logo .logo-small{height:36px;opacity:0;position:absolute;left:50px;top:50%;transform:translateY(-50%)}

/* ── Popup recherche ── */
.search-overlay{display:none;position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);align-items:flex-start;justify-content:center;padding-top:6rem}
.search-overlay.open{display:flex}
.search-overlay__box{display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.75rem 1rem;width:min(600px,92vw)}
.search-overlay__form{display:flex;align-items:center;gap:.625rem;flex:1}
.search-overlay__form svg{flex-shrink:0;color:var(--gray)}
.search-overlay__form input{flex:1;border:none;outline:none;font-size:1.1rem;font-family:'Source Sans 3','Arial',sans-serif;color:var(--dark);background:transparent}
.search-overlay__form input::placeholder{color:var(--gray)}
.search-overlay__close{flex-shrink:0;font-size:1.5rem;line-height:1;color:var(--gray);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:color .2s}
.search-overlay__close:hover{color:var(--dark)}

/* ── Nav ── */
.site-nav{display:flex;align-items:center;gap:.125rem}
.site-nav>ul{display:flex;align-items:center;gap:.125rem;list-style:none;margin:0;padding:0}
.site-nav>ul>li{position:relative}
.site-nav>ul>li>a{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-radius:6px;font-family:'Source Sans 3','Arial',sans-serif;font-size:.9rem;font-weight:600;color:#fff;transition:color .2s,background .2s}
.site-nav>ul>li>a:hover,.site-nav>ul>li.active>a{color:var(--dark);background:var(--primary)}
.site-nav .chevron{width:12px;height:12px;transition:transform .2s}
.site-nav>ul>li:hover .chevron{transform:rotate(180deg)}
.dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;width:max-content;max-width:320px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.375rem 0;padding-top:calc(.375rem + 4px)}
.site-nav>ul>li:hover .dropdown{display:block}
.dropdown a{display:block;padding:.5rem 1rem;font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;color:var(--dark);white-space:nowrap;transition:color .15s,background .15s}
.dropdown a:hover{color:var(--dark);background:var(--primary)}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:.5rem;border-radius:6px}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .25s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;border-top:1px solid var(--border);background:#fff;padding:.5rem 0 1rem}
.mobile-nav.open{display:block}
.mobile-nav-row{display:flex;align-items:center}
.mobile-nav-row a{flex:1;display:block;padding:.625rem 1.25rem;font-family:'Source Sans 3','Arial',sans-serif;font-size:.95rem;font-weight:600;color:var(--dark);border-left:3px solid transparent;transition:border-color .15s,background .15s}
.mobile-nav-row a:hover{border-left-color:var(--primary);background:#fffbe6}
.mobile-sub-toggle{flex-shrink:0;padding:.5rem .75rem;color:var(--gray);transition:transform .2s}
.mobile-sub-toggle[aria-expanded="true"]{transform:rotate(180deg)}
.mobile-sub{display:none;padding:.25rem 0 .25rem 1rem;border-left:3px solid var(--primary);margin:0 1.25rem .25rem}
.mobile-sub.open{display:block}
.mobile-sub a{display:block;padding:.5rem 1rem;font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;color:var(--gray);transition:color .15s}
.mobile-sub a:hover{color:var(--dark)}
.mobile-nav-socials{display:flex;gap:.75rem;padding:.75rem 1.25rem 0;border-top:1px solid var(--border);margin-top:.5rem}
.mobile-nav-socials a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--gray);border-radius:50%;background:var(--gray-light);transition:color .2s,background .2s}
.mobile-nav-socials a:hover{color:var(--dark);background:var(--primary)}

/* ── Hero / Page header ── */
.page-header{background-image:url('/assets/background-paper.png'),var(--grad-gray);background-size:auto,cover;background-repeat:repeat,no-repeat;background-position:center,center;padding:0 0 2.5rem;text-align:center}
.page-header>.container{padding-top:.625rem;padding-bottom:.5rem}
.page-header>.container-sm,.page-header>.container+.container-sm{padding-top:2.5rem}
.page-header p{color:var(--gray);font-size:1.05rem;margin:.5rem auto 0;max-width:600px}
.page-header .meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:.875rem;font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;color:var(--gray)}
.page-header .meta a{color:var(--accent)}.page-header .meta a:hover{text-decoration:underline}
.cat-label{font-family:'Source Sans 3','Arial',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.5rem}

/* ── Featured image ── */
.featured-wrap{border-radius:12px;overflow:hidden;margin-bottom:2.5rem;aspect-ratio:16/9}
.featured-wrap img{width:100%;height:100%;object-fit:cover}

/* ── Layout: content + sidebar ── */
.content-layout{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}
.content-layout article{min-width:0}

/* ── Boutons hérités WP (btn-bleu, btn-rouge, btn-orange…) ── */
.btn-bleu,.btn-rouge,.btn-orange,
.entry-content .btn a,
p.btn a,p.center.btn a{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.625rem 1.25rem;border-radius:var(--radius);
  font-family:'Source Sans 3','Arial',sans-serif;font-size:.95rem;font-weight:600;
  background:var(--accent);color:#fff;text-decoration:none;
  transition:background .2s;white-space:nowrap
}
.btn-bleu:hover,.btn-rouge:hover,.btn-orange:hover,
.entry-content .btn a:hover,p.btn a:hover,p.center.btn a:hover{background:#1f4f7a;color:#fff}
p.btn,p.center.btn{margin:1.5rem 0;text-align:center}

/* ── Entry content ── */
.entry-content{font-size:1.0625rem;line-height:1.8;color:#1f2937}
.entry-content p,.entry-content ul,.entry-content ol{margin-bottom:1.125rem}
.entry-content ul{list-style:disc;padding-left:1.5rem}
.entry-content ol{list-style:decimal;padding-left:1.5rem}
.entry-content li{margin-bottom:.375rem}
.entry-content img{border-radius:var(--radius);margin:1.5rem auto}
.entry-content .video-wrap img,.video-wrap img{margin:0}
.entry-content figure{margin:2rem 0;text-align:center}
.entry-content figcaption{font-size:.85rem;color:var(--gray);font-style:italic;margin-top:.5rem}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}
.entry-content th{background:var(--gray-light);padding:.625rem .875rem;text-align:left;font-weight:700;border:1px solid var(--border)}
.entry-content td{padding:.625rem .875rem;border:1px solid var(--border)}
.entry-content tr:nth-child(even) td{background:#fafafa}
.entry-content h2{color:var(--dark);border-bottom:3px solid var(--primary);padding-bottom:.5rem;display:inline-block;margin-top:2.5rem;margin-bottom:1rem}
.entry-content h3{color:var(--dark);margin-top:1.75rem}
.entry-content .vc-row{margin:1.5rem 0}
.entry-content .vc-col{margin-bottom:1rem}
.promo-box{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:1rem 1.25rem;margin:1.5rem 0;font-style:italic;color:#92400e}

/* ── Video embed ── */
.video-wrap{position:relative;padding-bottom:56.25%;height:0;margin:1.5rem 0;border-radius:var(--radius);overflow:hidden}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}

/* ── Tags strip ── */
.tags-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);align-items:center}
.tags-strip .label{font-family:'Source Sans 3','Arial',sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray)}
.tag-pill{font-family:'Source Sans 3','Arial',sans-serif;font-size:.8rem;padding:.25rem .75rem;background:var(--gray-light);color:#374151;border-radius:20px;transition:all .2s}
.tag-pill:hover{background:var(--accent);color:#fff}

/* ── Post navigation ── */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}
.post-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--gray-light);border-radius:var(--radius);transition:background .2s}
.post-nav-item:hover{background:var(--primary)}
.post-nav-item img,.post-nav-placeholder{width:64px;height:64px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--border)}
.post-nav-item.next{flex-direction:row-reverse;text-align:right}
.post-nav-item .dir{font-family:'Source Sans 3','Arial',sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:.25rem}
.post-nav-item strong{font-family:'Playfair Display',serif;font-size:.9rem;color:var(--dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ── Sidebar ── */
.sidebar{font-family:'Source Sans 3','Arial',sans-serif;display:flex;flex-direction:column;gap:1.75rem;position:sticky;top:calc(50px + 1.5rem);align-self:start}
.sidebar-block{margin-bottom:0}
.sidebar-book{background:#f5f4f0;border-radius:var(--radius);overflow:hidden;border-top:3px solid var(--primary)}
.sidebar-book__label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#888;padding:.7rem 1rem .5rem;margin:0;display:flex;align-items:center;gap:.35rem}
.sidebar-book__label svg{flex-shrink:0;color:var(--primary)}
.sidebar-book__inner{display:grid;grid-template-columns:82px 1fr;gap:.875rem;padding:0 1rem 1.1rem;align-items:start}
.sidebar-book__cover-link{display:block;line-height:0;flex-shrink:0}
.sidebar-book__cover{width:82px;aspect-ratio:2/3;object-fit:cover;display:block;border-radius:3px;box-shadow:3px 5px 16px rgba(0,0,0,.18);transition:transform .2s}
.sidebar-book__cover-link:hover .sidebar-book__cover{transform:scale(1.04)}
.sidebar-book__body{display:flex;flex-direction:column;gap:.5rem;padding-top:.1rem}
.sidebar-book__title{font-family:'Playfair Display',serif;font-size:.88rem;line-height:1.3;margin:0}
.sidebar-book__title a{color:var(--dark);text-decoration:none}
.sidebar-book__title a:hover{color:var(--primary)}
.sidebar-book__tagline{font-size:.75rem;color:#666;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sidebar-book__cta{display:inline-flex;align-items:center;gap:.25rem;background:var(--primary);color:var(--dark);font-weight:700;font-size:.75rem;padding:.4rem .7rem;border-radius:5px;transition:background .2s;align-self:flex-start;margin-top:.1rem}
.sidebar-book__cta:hover{background:#e6b800}
.sidebar-block{margin-bottom:0}
.sidebar-block h3{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--dark);padding-bottom:.5rem;border-bottom:2px solid var(--primary);margin-bottom:.875rem}
.sidebar-block ul{display:flex;flex-direction:column;gap:.375rem}
.sidebar-block ul a{font-size:.875rem;color:var(--dark);transition:color .15s;display:flex;align-items:center;gap:.25rem}
.sidebar-block ul a:hover{color:var(--accent)}
.sidebar-block ul a::before{content:'›';color:var(--accent);font-weight:700}
.sidebar-tags{display:flex;flex-wrap:wrap;gap:.375rem}
.sidebar-tags a{font-size:.8rem;padding:.2rem .625rem;background:var(--gray-light);border-radius:20px;color:var(--dark);transition:all .15s}
.sidebar-tags a:hover{background:var(--accent);color:#fff}
.sidebar-search{display:flex;gap:.5rem}
.sidebar-search input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;outline:none}
.sidebar-search input:focus{border-color:var(--accent)}
.sidebar-search button{padding:.5rem .75rem;background:var(--accent);color:#fff;border-radius:6px;transition:background .2s}
.sidebar-search button:hover{background:#1f4f7a}
.sidebar-post{display:flex;gap:.625rem;margin-bottom:.75rem}
.sidebar-post img,.sidebar-post .no-img{width:56px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--gray-light)}
.sidebar-post .info a{font-size:.875rem;font-weight:600;color:var(--dark);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sidebar-post .info a:hover{color:var(--accent)}
.sidebar-post .date{font-size:.75rem;color:var(--gray);margin-top:.2rem}

/* ── Post cards (archive/home) ── */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem}
.post-card{border-radius:12px;overflow:hidden;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;background:#eee}
.post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.post-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--gray-light)}
.post-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.post-card:hover .post-card-img img{transform:scale(1.03)}
.post-card-body{padding:1.125rem;display:flex;flex-direction:column;flex:1}
.post-card-cat{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.375rem}
.post-card-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--dark);line-height:1.35;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card-title:hover{color:var(--accent)}
.post-card-excerpt{font-size:.875rem;color:var(--gray);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.post-card-meta{font-family:'Source Sans 3','Arial',sans-serif;font-size:.75rem;color:var(--gray);margin-top:.75rem;padding-top:.625rem;border-top:1px solid var(--border)}

/* ── Pagination ── */
.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:3rem 0;font-family:'Source Sans 3','Arial',sans-serif}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;border-radius:6px;font-size:.9rem;border:1px solid var(--border);transition:all .2s}
.pagination a{color:var(--dark)}.pagination a:hover{border-color:var(--primary);color:var(--dark);background:var(--primary)}
.pagination .page-current{background:var(--primary);color:var(--dark);border-color:var(--primary)}
.pagination .page-prev,.pagination .page-next{font-weight:600}

/* ── Comments ── */
.comments-section{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--border)}
.comments-section h2{font-size:1.25rem;margin-bottom:1.5rem}
.comment{display:flex;gap:.875rem;margin-bottom:1.25rem}
.comment-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Source Sans 3','Arial',sans-serif;font-weight:700;font-size:.95rem;flex-shrink:0}
.comment-body{flex:1;background:var(--gray-light);border-radius:0 var(--radius) var(--radius) var(--radius);padding:.875rem 1rem}
.comment-meta{font-family:'Source Sans 3','Arial',sans-serif;font-size:.8rem;color:var(--gray);margin-bottom:.375rem}
.comment-meta strong{color:var(--dark);font-weight:700}
.comment-text{font-size:.9375rem;line-height:1.65}
.replies{margin-left:3rem;margin-top:.625rem}
.reply-btn{font-family:'Source Sans 3','Arial',sans-serif;font-size:.8rem;color:var(--accent);margin-top:.5rem;text-decoration:underline}
.comment-form{margin-top:2rem;background:var(--gray-light);border-radius:12px;padding:1.5rem}
.comment-form h3{font-size:1.125rem;margin-bottom:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}
.form-group label{font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;font-weight:600;color:var(--dark)}
.form-group input,.form-group textarea,.form-group select{padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;font-family:inherit;outline:none;background:#fff;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:120px}
.captcha-row{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:6px;padding:.625rem .875rem;border:1px solid var(--border)}
.captcha-row input{width:80px;text-align:center}
.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem 1rem;font-size:.875rem;color:#dc2626;margin-bottom:1rem}
.form-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:1rem 1.25rem;font-size:.9375rem;color:#15803d;margin-bottom:1rem}
.required{color:#dc2626}

/* ── Contact ── */
.contact-page{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start;max-width:960px;margin:3rem auto 5rem;padding:0 1.5rem}
@media(max-width:768px){.contact-page{grid-template-columns:1fr;gap:2.5rem}}
.contact-aside__photo{width:180px;height:180px;object-fit:cover;border-radius:50%;display:block;margin-bottom:1.25rem;box-shadow:0 4px 20px rgba(0,0,0,.12)}
.contact-aside__name{font-size:1.25rem;margin:0 0 .5rem}
.contact-aside__bio{color:var(--text-muted);font-size:.9rem;line-height:1.7;margin:0 0 1.5rem}
.contact-aside__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.contact-aside__list li{display:flex;align-items:center;gap:.6rem;font-size:.875rem;color:var(--text-muted)}
.contact-aside__list svg{flex-shrink:0;color:var(--primary)}
.contact-form-wrap{background:var(--surface-0)}
.contact-form-wrap__title{font-size:1.8rem;margin:0 0 1.5rem}
.contact-reasons{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:.75rem}
@media(max-width:560px){.contact-reasons{grid-template-columns:repeat(2,1fr)}}
.contact-reason{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.875rem .5rem;background:var(--surface-1);border:2px solid var(--border);border-radius:10px;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text-main);transition:border-color .15s,background .15s;line-height:1.3;text-align:center}
.contact-reason:hover{border-color:var(--primary);background:var(--surface-0)}
.contact-reason--active{border-color:var(--primary);background:#fffbeb}
.contact-reason__icon{font-size:1.4rem}
.contact-reason__hint{min-height:1.4em;font-size:.85rem;color:var(--text-muted);margin:0 0 1.25rem;transition:opacity .2s}

/* ── Footer ── */
.site-footer{background-color:#161616;background-image:linear-gradient(rgba(22,22,22,.5),rgba(22,22,22,.5)),url('/assets/background-paper.png');background-repeat:repeat;background-blend-mode:normal,screen;color:rgba(255,255,255,.7);font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:3rem 0 2rem}
.footer-author{display:flex;align-items:flex-start;gap:1rem;margin-top:1.25rem}
.footer-author__photo{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.25)}
.footer-author__name{display:block;color:#fff;font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:.4rem}
.footer-author__bio{line-height:1.55;font-size:.82rem}
.footer-col h4{color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:.95rem;margin-bottom:.875rem;padding-bottom:.4rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-col ul{display:flex;flex-direction:column;gap:.5rem}
.footer-col a{color:rgba(255,255,255,.6);transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-social{display:flex;gap:.75rem;margin-top:1rem}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;transition:background .2s}
.footer-social a:hover{background:var(--primary);color:var(--dark)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 0;display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:rgba(255,255,255,.4)}

/* ── Fil d'Ariane ── */
.breadcrumb{font-size:.8rem;text-align:left}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;list-style:none;padding:0;margin:0}
.breadcrumb li{display:flex;align-items:center;color:var(--gray)}
.breadcrumb li+li::before{content:"›";margin-right:.25rem;color:var(--border)}
.breadcrumb a{color:var(--gray);text-decoration:none;transition:color .15s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb li[aria-current="page"]{color:var(--dark);font-weight:600}

/* ── Bloc auteur ── */
.author-box{display:flex;gap:1.25rem;align-items:flex-start;margin:2.5rem 0;padding:1.5rem;background:#eee;border-radius:var(--radius)}
.author-box__avatar{flex-shrink:0;width:128px;height:128px;border-radius:50%;overflow:hidden;background:var(--accent);display:flex;align-items:center;justify-content:center}
.author-box__avatar img{width:100%;height:100%;object-fit:cover}
.author-box__avatar span{font-size:1.5rem;font-weight:700;color:#fff;font-family:'Playfair Display',serif}
.author-box__name{font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:.375rem}
.author-box__bio{font-size:.9rem;color:var(--gray);line-height:1.6;margin:0 0 .875rem}
.author-box__socials{display:flex;flex-wrap:wrap;gap:.5rem}
.author-box__socials a{display:inline-flex;align-items:center;gap:.375rem;font-size:.8rem;font-family:'Source Sans 3',sans-serif;font-weight:600;color:var(--gray);background:#fff;border-radius:20px;padding:.3rem .75rem;text-decoration:none;transition:color .2s}
.author-box__socials a:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:480px){.author-box{flex-direction:column;gap:1rem}}

/* ── Poème ── */
.poem-header{padding:0 1rem 2.5rem;background:linear-gradient(135deg,#f8f4ef 0%,#fdf6ee 100%);border-bottom:1px solid var(--border)}
.poem-header>.container{padding-top:.625rem;padding-bottom:.5rem}
.poem-header>.container-sm{padding-top:2rem}
.poem-header h1{font-family:'Playfair Display',serif;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;font-style:italic;color:var(--dark);margin:.5rem 0}
.poem-image{margin:0 auto 2.5rem;max-width:640px;border-radius:var(--radius);overflow:hidden}
.poem-image img{width:100%;height:auto;display:block}
.poem-content{max-width:640px;margin:0 auto 2.5rem;font-family:'Source Serif 4',serif;font-size:1.125rem;line-height:1.8;color:#374151}
.poem-content p{margin-bottom:1rem}
.poem-content br{display:inline}
/* ── 404 ── */
.page-404{padding:4rem 1rem 5rem;max-width:900px;margin:0 auto}
.page-404__inner{text-align:center;padding-bottom:3rem;border-bottom:1px solid var(--border)}
.page-404__compass{width:120px;height:120px;margin:0 auto 2rem;animation:compass-spin 12s linear infinite}
@keyframes compass-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.page-404__code{font-family:'Playfair Display',serif;font-size:7rem;font-weight:800;line-height:1;color:var(--accent);opacity:.15;margin-bottom:-1.5rem}
.page-404__title{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700;color:var(--dark);margin-bottom:.75rem}
.page-404__text{font-size:1.1rem;color:var(--gray);line-height:1.7;margin-bottom:2rem}
.page-404__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.page-404__recent{padding-top:3rem}
.page-404__recent h2{font-family:'Playfair Display',serif;font-size:1.25rem;text-align:center;margin-bottom:1.5rem;color:var(--dark)}
.page-404__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.page-404__card{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s;text-decoration:none}
.page-404__card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.page-404__card-img{aspect-ratio:16/9;overflow:hidden}
.page-404__card-img img{width:100%;height:100%;object-fit:cover}
.page-404__card-body{padding:.75rem 1rem}
.page-404__card-title{font-family:'Source Serif 4',serif;font-size:.95rem;font-weight:600;color:var(--dark);line-height:1.4}
@media(max-width:640px){.page-404__cards{grid-template-columns:1fr}.page-404__code{font-size:5rem}}

/* ── Utilities ── */
.text-center{text-align:center}
.mt-2{margin-top:2rem}
.mb-2{margin-bottom:2rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}

/* ── Responsive ── */

/* Tablette large */
@media(max-width:1024px){
  .content-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .contact-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-brand{grid-column:1/-1}
}

/* Desktop compact : nav visible, header réduit */
@media(min-width:961px) and (max-width:1475px){
  body{padding-top:174px}
  .site-header .inner{min-height:130px}
  .site-header{background-position:center 35%}
  .site-nav>ul>li>a{padding:.4rem .55rem;font-size:.82rem}
}

/* Tablette / Menu hamburger */
@media(max-width:960px){
  body{padding-top:124px}
  .site-header .inner{min-height:80px}
  .site-header{background-position:center 25%}
  .site-logo .logo-default{height:60px}
  .site-nav{display:none}
  .nav-toggle{display:flex}
  .header-social{display:none}
  .posts-grid{grid-template-columns:1fr 1fr}
  .post-nav{grid-template-columns:1fr}
  .post-nav-item.next{flex-direction:row;text-align:left}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center}
  .contact-layout{grid-template-columns:1fr}
  .page-header>.container-sm,.page-header>.container+.container-sm{padding-top:1.75rem}
  .poem-header>.container-sm{padding-top:1.5rem}
  .entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Mobile */
@media(max-width:480px){
  .container,.container-sm{padding:0 16px}
  .posts-grid{grid-template-columns:1fr}
  .featured-wrap{aspect-ratio:4/3;border-radius:8px}
  .post-nav-item img,.post-nav-placeholder{width:48px;height:48px}
  .author-box{flex-direction:column;gap:1rem}
  .author-box__avatar{width:80px;height:80px}
  .footer-author{flex-direction:column;align-items:center;text-align:center}
  .footer-social{justify-content:center}
  .book-hero__ctas{flex-direction:column}
  .book-hero__ctas .btn{width:100%;justify-content:center}
  .comment-form{padding:1rem}
  .replies{margin-left:1rem}
  .page-header>.container-sm,.page-header>.container+.container-sm{padding-top:1.25rem}
  .page-header{padding-bottom:1.75rem}
  .poem-header{padding-bottom:1.75rem}
  .poem-header>.container-sm{padding-top:1.25rem}
}

/* ══ PAGE LIVRE ══════════════════════════════════════════════════════════════ */

/* Hero */
.book-hero{background-image:url('/assets/background-paper.png'),var(--grad-gray);background-size:auto,cover;background-repeat:repeat,no-repeat;background-position:center,center;padding:3rem 0 3.5rem}
.book-hero__inner{display:grid;grid-template-columns:320px 1fr;gap:3.5rem;align-items:start}
.book-hero__cover{position:relative}
.book-hero__cover img{width:100%;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.2);display:block}
.book-hero .breadcrumb{margin-bottom:1rem}
.book-label{font-family:'Source Sans 3',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.625rem}
.book-hero h1{font-size:clamp(1.75rem,3.5vw,2.75rem);margin-bottom:1rem;line-height:1.15}
.book-hero__tagline{font-size:1.05rem;color:#374151;line-height:1.7;margin-bottom:1.25rem;font-weight:500}
.book-hero__quote{border-left:4px solid var(--primary);background:#fff;border-radius:0 8px 8px 0;padding:.875rem 1.25rem;margin:0 0 1.5rem;font-style:italic;color:#374151;font-size:1rem;box-shadow:var(--shadow)}
.book-hero__ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}
.book-hero__ctas .btn{font-size:1rem;padding:.75rem 1.5rem}
.book-publisher{font-family:'Source Sans 3',sans-serif;font-size:.85rem;color:var(--gray);margin:.25rem 0 .75rem;letter-spacing:.03em}
.book-stars{font-size:1.25rem;color:var(--primary);display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;text-decoration:none}
.book-stars:hover small{text-decoration:underline}
.book-stars small{font-family:'Source Sans 3',sans-serif;font-size:.8rem;color:var(--gray);font-weight:600}
.book-stars-lg{font-size:1.5rem;color:var(--primary)}
.book-testimonials__avg{text-align:center;margin-bottom:2rem;font-family:'Source Sans 3',sans-serif;display:flex;align-items:center;justify-content:center;gap:.75rem}

/* Contenu */
.book-content{max-width:860px;margin:0 auto}
.book-content img{border-radius:var(--radius);margin:1.5rem auto;max-width:100%;height:auto}
.book-content h3{color:var(--dark)}
.book-content ul{list-style:none;padding:0}
.book-content ul li{padding:.3rem 0 .3rem 1.5rem;position:relative;color:#374151}
.book-content ul li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}
.book-content a{color:var(--accent)}

/* Témoignages */
.book-testimonials{background:var(--dark);padding:4rem 0;margin-top:3rem}
.book-section-title{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:#fff;text-align:center;margin-bottom:2.5rem}
.book-section-title::after{content:'';display:block;width:60px;height:3px;background:var(--primary);margin:.75rem auto 0}
.book-testimonials__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.book-testimonial{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.book-testimonial__stars{color:var(--primary);font-size:1.1rem;letter-spacing:.1em}
.book-testimonial__text{font-size:.9rem;color:rgba(255,255,255,.8);line-height:1.7;font-style:italic;flex:1}
.book-testimonial__author strong{font-family:'Source Sans 3',sans-serif;font-size:.85rem;font-weight:700;color:#fff}
.book-testimonial__author span{font-family:'Source Sans 3',sans-serif;font-size:.8rem;color:rgba(255,255,255,.5)}

/* CTA final */
.book-cta-final{background:var(--grad-gray);border-top:1px solid var(--border);padding:4rem 0;text-align:center}
.book-cta-final h2{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:.75rem}
.book-cta-final p{color:var(--gray);margin-bottom:2rem;font-size:1.05rem}
.book-cta-final .book-hero__ctas{justify-content:center}

/* Responsive */
@media(max-width:900px){.book-hero__inner{grid-template-columns:220px 1fr;gap:2rem}}
@media(max-width:640px){
  .book-hero__inner{grid-template-columns:1fr}
  .book-hero__cover{max-width:280px;margin:0 auto}
  .book-hero__ctas{flex-direction:column}
  .book-hero__ctas .btn{width:100%;justify-content:center}
}

/* ══ PAGE HOME ═══════════════════════════════════════════════════════════════ */
.page-home{padding-top:0!important}
.page-home .site-header{transform:translateY(-120%);transition:transform .3s ease}
.page-home .site-header.nav-visible{transform:translateY(0)}

/* Hero */
.home-hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;background:url('/assets/remi-le-calvez-aventurier-header.jpg') center 55%/cover no-repeat}
.home-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.52)}
.home-hero__inner{position:relative;z-index:1;text-align:center;color:#fff;padding:4rem 20px;max-width:820px;margin:0 auto}
.home-hero__eyebrow{font-family:'Source Sans 3','Arial',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.75;margin-bottom:1.25rem}
.home-hero__title{font-family:'Playfair Display','Georgia',serif;font-size:clamp(2.75rem,7vw,5.5rem);font-weight:800;line-height:1.05;color:#fff;margin-bottom:1.25rem}
.home-hero__sub{font-family:'Source Serif 4','Georgia',serif;font-size:clamp(1rem,2.5vw,1.25rem);font-style:italic;opacity:.88;margin-bottom:2.25rem}
.home-hero__ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-ghost{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-lg{padding:.875rem 1.875rem;font-size:1rem}

/* Chiffres */
.home-stats{background:var(--dark);color:#fff;padding:2.75rem 0}
.home-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.home-stat strong{display:block;font-family:'Playfair Display','Georgia',serif;font-size:clamp(1.5rem,3vw,2.25rem);color:var(--primary);margin-bottom:.25rem}
.home-stat span{font-family:'Source Sans 3','Arial',sans-serif;font-size:.8rem;opacity:.65;line-height:1.3}

/* Sections */
.home-section{padding:4rem 0;background-image:url('/assets/background-paper.png'),var(--grad-gray);background-size:auto,cover;background-repeat:repeat,no-repeat;background-position:center,center}
.home-section--alt{background:var(--gray-light)}
.home-section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem;gap:1rem}
.home-section__head h2{margin:0}
.home-link-more{font-family:'Source Sans 3','Arial',sans-serif;font-size:.875rem;font-weight:600;color:var(--accent);white-space:nowrap}
.home-link-more:hover{text-decoration:underline}

/* Poésies */
.home-poems{padding:4rem 0;background:var(--dark)}
.home-poems .home-section__head h2{color:#fff;margin:0}
.home-link-more--light{color:rgba(255,255,255,.6)}
.home-link-more--light:hover{color:#fff}
.home-poems__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.home-poem{display:flex;flex-direction:column;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;color:#fff;transition:background .2s,transform .2s}
.home-poem:hover{background:rgba(255,255,255,.1);transform:translateY(-3px)}
.home-poem__img{aspect-ratio:3/2;overflow:hidden}
.home-poem__img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85);transition:filter .3s}
.home-poem:hover .home-poem__img img{filter:brightness(1)}
.home-poem__body{padding:1.25rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column}
.home-poem__label{font-family:'Source Sans 3','Arial',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);margin-bottom:.5rem}
.home-poem__body h3{font-family:'Playfair Display','Georgia',serif;font-size:1.1rem;color:#fff;margin:0 0 .625rem;line-height:1.3}
.home-poem__excerpt{font-family:'Source Serif 4','Georgia',serif;font-size:.875rem;font-style:italic;color:rgba(255,255,255,.55);margin:0;line-height:1.6;flex:1}

/* Livres */
.home-books{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.home-book{display:block;text-align:center;color:inherit;transition:transform .2s;text-decoration:none}
.home-book:hover{transform:translateY(-4px)}
.home-book__cover{border-radius:8px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.16);margin-bottom:.75rem;aspect-ratio:2/3}
.home-book__cover img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
.home-book__title{font-family:'Source Sans 3','Arial',sans-serif;font-size:.82rem;font-weight:600;color:var(--dark);line-height:1.35}
.entry-content .home-book{color:inherit;text-decoration:none}
.entry-content .home-book__cover img{margin:0;border-radius:0}


/* À propos */
.home-about{padding:4rem 0;background:#fff}
.home-about__inner{display:grid;grid-template-columns:260px 1fr;gap:4rem;align-items:center}
.home-about__photo img{width:100%;border-radius:12px;box-shadow:var(--shadow-md)}
.home-about__eyebrow{font-family:'Source Sans 3','Arial',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-dark);margin-bottom:.5rem}
.home-about__text h2{margin-top:.25rem}
.home-about__ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.75rem}

/* Boutique patches */
.home-patches{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.home-patch{display:flex;gap:1.5rem;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:box-shadow .2s,transform .2s;color:inherit}
.home-patch:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.home-patch__img{width:110px;flex-shrink:0;border-radius:6px;overflow:hidden}
.home-patch__img img,.home-patch__img picture{width:100%;display:block}
.home-patch__placeholder{width:110px;height:110px;background:var(--gray-light);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:var(--gray);border-radius:6px}
.home-patch__body h3{margin:0 0 .5rem;font-size:1rem}
.home-patch__body p{color:var(--gray);font-size:.875rem;margin-bottom:1rem}

/* Home responsive */
@media(max-width:960px){
  .home-stats__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .home-poems__grid{grid-template-columns:1fr}
  .home-books{grid-template-columns:repeat(2,1fr)}
  .home-about__inner{grid-template-columns:1fr;gap:2rem}
  .home-about__photo{max-width:200px}
  .home-patches{grid-template-columns:1fr}
}
@media(max-width:600px){
  .home-books{grid-template-columns:repeat(2,1fr)}
  .home-patch{flex-direction:column;text-align:center}
  .home-patch__img{width:140px}
  .home-hero__ctas .btn{width:100%;justify-content:center}
}

/* ── Page Livres ─────────────────────────────────────────────────────────── */
.book-list-item{display:grid;grid-template-columns:220px 1fr;gap:2.5rem;align-items:start;padding:3rem 0;border-bottom:1px solid #eee}
.book-list-item:last-child{border-bottom:none}
.book-list-item--alt{direction:rtl}
.book-list-item--alt .book-list-item__body{direction:ltr}
.book-list-item--alt .book-list-item__cover{direction:ltr}
.book-list-item__cover{display:block;border-radius:8px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.18);aspect-ratio:2/3;flex-shrink:0}
.book-list-item__cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.book-list-item__cover:hover img{transform:scale(1.03)}
.book-list-item__body{padding-top:.5rem}
.book-list-item__date{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:.5rem}
.book-list-item__body h2{font-size:1.6rem;margin-bottom:.75rem}
.book-list-item__body h2 a{color:var(--dark);text-decoration:none}
.book-list-item__body h2 a:hover{color:var(--primary)}
.book-list-item__tagline{color:#444;line-height:1.65;margin-bottom:1.25rem;font-size:1rem}
.book-list-item__ctas{display:flex;flex-wrap:wrap;gap:.5rem}
@media(max-width:640px){
  .book-list-item{grid-template-columns:1fr;gap:1.5rem}
  .book-list-item--alt{direction:ltr}
  .book-list-item__cover{max-width:180px}
}

/* ── Back to top ── */
.back-to-top{position:fixed;bottom:2rem;right:1.5rem;z-index:900;width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.22);opacity:0;transform:translateY(12px);transition:opacity .25s,transform .25s;pointer-events:none}
.back-to-top--visible{opacity:1;transform:translateY(0);pointer-events:auto}
.back-to-top:hover{background:#e6b800;transform:translateY(-2px)}
@media(max-width:768px){.back-to-top{bottom:1rem;right:1rem}}

/* ── Reading progress bar ── */
.reading-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--primary);z-index:10000;transition:width .1s linear}

/* ── Table des matières ── */
.toc{background:#f8f6f0;border-left:3px solid var(--primary);border-radius:0 6px 6px 0;padding:1.1rem 1.25rem 1.1rem 1.5rem;margin:0 0 2rem}
.toc__title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#888;margin:0 0 .6rem}
.toc__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}
.toc__item a{font-size:.9rem;color:#333;text-decoration:none;line-height:1.4}
.toc__item a:hover{color:var(--primary);text-decoration:underline}
.toc__item--h3{padding-left:1rem}

/* ── Newsletter inline (fin d'article + sidebar) ── */
.newsletter-inline{background:var(--dark);color:#fff;border-radius:var(--radius);padding:2rem;margin:2.5rem 0 0;text-align:center}
.newsletter-inline__title{font-family:'Playfair Display',serif;font-size:1.25rem;margin:0 0 .4rem;color:#fff}
.newsletter-inline__sub{font-size:.9rem;color:rgba(255,255,255,.65);margin:0 0 1.1rem}
.newsletter-inline__form{display:flex;gap:.5rem;max-width:420px;margin:0 auto}
.newsletter-inline__form input[type=email]{flex:1;padding:.6rem .9rem;border:none;border-radius:6px;font-size:.9rem}
.newsletter-inline__form button{background:var(--primary);color:var(--dark);font-weight:700;font-size:.875rem;padding:.6rem 1.1rem;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .2s}
.newsletter-inline__form button:hover{background:#e6b800}
.newsletter-inline__thanks{display:none;font-size:.95rem;color:var(--primary);font-weight:600;margin-top:.5rem}
@media(max-width:540px){.newsletter-inline__form{flex-direction:column}}

/* Sidebar newsletter */
.sidebar-newsletter{background:var(--dark);color:#fff;border-radius:var(--radius);padding:1.25rem 1rem;border-top:3px solid var(--primary)}
.sidebar-newsletter__title{font-family:'Playfair Display',serif;font-size:1rem;margin:0 0 .3rem;color:#fff}
.sidebar-newsletter__sub{font-size:.78rem;color:rgba(255,255,255,.6);margin:0 0 .85rem;line-height:1.4}
.sidebar-newsletter__form input[type=email]{width:100%;padding:.55rem .75rem;border:none;border-radius:5px;font-size:.85rem;margin-bottom:.5rem}
.sidebar-newsletter__form button{width:100%;background:var(--primary);color:var(--dark);font-weight:700;font-size:.85rem;padding:.55rem;border:none;border-radius:5px;cursor:pointer;transition:background .2s}
.sidebar-newsletter__form button:hover{background:#e6b800}
.sidebar-newsletter__thanks{display:none;font-size:.85rem;color:var(--primary);font-weight:600;text-align:center;margin-top:.4rem}

/* ── Footer Instagram ── */
.footer-ig{margin-top:1rem}
.footer-ig__head{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.45);text-decoration:none;margin-bottom:.6rem;transition:color .2s}
.footer-ig__head:hover{color:var(--primary)}
.footer-ig__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}
.footer-ig__item{display:block;position:relative;aspect-ratio:1;overflow:hidden;border-radius:5px;background:#333}
.footer-ig__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s,opacity .3s}
.footer-ig__item:hover img{transform:scale(1.07);opacity:.8}
.footer-ig__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3)}

.footer-col__logo{display:inline-block;margin-top:1.5rem;line-height:0}
.footer-col__logo img{height:60px;width:auto}

/* ── Spectacle ── */
.spectacle-media{padding:3rem 0}
.spectacle-media__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.spectacle-quote{display:block;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}
.spectacle-quote:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.spectacle-quote__source{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.spectacle-quote__text{color:var(--text-main);font-style:italic;font-size:.95rem;line-height:1.6;margin:0}
.spectacle-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
@media(max-width:640px){.spectacle-photos{grid-template-columns:repeat(2,1fr)}}
.spectacle-photo{aspect-ratio:4/3;overflow:hidden;border-radius:8px;cursor:zoom-in;border:none;padding:0;background:none}
.spectacle-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.spectacle-photo:hover img{transform:scale(1.05)}
#lightbox{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center}
#lightbox[hidden]{display:none}
.lb-img-wrap{max-width:90vw;max-height:90vh;text-align:center}
#lb-img{max-width:90vw;max-height:82vh;object-fit:contain;border-radius:6px;display:block;margin:0 auto}
#lb-caption{color:rgba(255,255,255,.7);font-size:.9rem;margin-top:.75rem}
.lb-close{position:fixed;top:1rem;right:1.25rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;padding:.25rem .5rem;opacity:.8;transition:opacity .2s}
.lb-close:hover{opacity:1}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:3rem;cursor:pointer;line-height:1;padding:.1rem .7rem;border-radius:6px;transition:background .2s}
.lb-prev{left:.75rem}
.lb-next{right:.75rem}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.25)}
.spectacle-dates{width:100%;border-collapse:collapse;font-size:.9rem}
.spectacle-dates th{text-align:left;padding:.6rem 1rem;border-bottom:2px solid var(--border);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
.spectacle-dates td{padding:.7rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}
.spectacle-dates tr:last-child td{border-bottom:none}
.spectacle-dates a{color:var(--accent)}

/* ── Conférence ── */
.conf-hero{position:relative;padding:5rem 0 4rem;overflow:hidden;background:var(--surface-1)}
.conf-hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 60%,#0f2d1a 100%);opacity:.96}
.conf-hero__inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media(max-width:768px){.conf-hero__inner{grid-template-columns:1fr}.conf-hero__visual{order:-1}}
.conf-hero__body{color:#fff}
.conf-hero__body .book-label{color:#86efac;border-color:rgba(134,239,172,.3)}
.conf-hero__body .breadcrumb,.conf-hero__body .breadcrumb a,.conf-hero__body .breadcrumb span,.conf-hero__body .breadcrumb li,.conf-hero__body .breadcrumb li::before{color:rgba(255,255,255,.6)}
.conf-hero__title{font-size:clamp(2.5rem,6vw,4rem);line-height:1.05;margin:.75rem 0 .5rem;color:#fff}
.conf-hero__psg{color:#22c55e;font-style:italic}
.conf-hero__sub{font-size:.55em;font-weight:400;opacity:.85}
.conf-hero__tagline{font-size:1.15rem;color:rgba(255,255,255,.8);margin:.75rem 0 1.5rem;line-height:1.6}
.conf-hero__stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.75rem}
.conf-stat{text-align:center}
.conf-stat strong{display:block;font-size:1.6rem;font-weight:800;color:#22c55e}
.conf-stat span{font-size:.78rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.05em}
.conf-hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap}
.conf-hero__ctas .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.conf-hero__ctas .btn-ghost:hover{background:rgba(255,255,255,.1)}
.conf-hero__note{font-size:.75rem;color:rgba(255,255,255,.4);margin-top:.75rem}
.conf-hero__visual img{width:100%;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.5)}
.conf-story{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
@media(max-width:768px){.conf-story{grid-template-columns:1fr;gap:2rem}}
.conf-story__text h2{font-size:1.8rem;margin:.5rem 0 1rem}
.conf-story__text p{color:var(--text-muted);line-height:1.8;margin-bottom:1rem}
.conf-tl-item{display:flex;gap:1rem;margin-bottom:1.25rem;align-items:flex-start}
.conf-tl-dot{width:12px;height:12px;border-radius:50%;background:var(--border);border:2px solid var(--border);flex-shrink:0;margin-top:4px}
.conf-tl-dot--start{background:#22c55e;border-color:#22c55e}
.conf-tl-dot--end{background:var(--accent);border-color:var(--accent)}
.conf-tl-item strong{display:block;font-size:.9rem}
.conf-tl-item p{font-size:.85rem;color:var(--text-muted);margin:.1rem 0 0}
.conf-light-section .book-section-title{color:#111}
.conf-benefits{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}
.conf-benefit{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.conf-benefit__icon{font-size:2rem;margin-bottom:.75rem}
.conf-benefit h3{font-size:1rem;margin-bottom:.4rem;color:#111}
.conf-benefit p{font-size:.88rem;color:#4b5563;line-height:1.6;margin:0}
.conf-format{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
@media(max-width:768px){.conf-format{grid-template-columns:1fr;gap:2rem}}
.conf-format__table{border-collapse:collapse;width:100%}
.conf-format__table th{text-align:left;padding:.6rem 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);width:35%;vertical-align:top}
.conf-format__table td{padding:.6rem 0;border-bottom:1px solid var(--border);font-weight:600}
.conf-format__table tr:last-child td{border-bottom:none}
.conf-format__quote img{width:100%;border-radius:12px;display:block}
.conf-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:768px){.conf-testimonials{grid-template-columns:1fr}}
.conf-testi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}
.conf-testi__text{font-style:italic;color:var(--text-main);line-height:1.75;margin:0;font-size:.97rem;flex:1}
.conf-testi__author{display:flex;align-items:center;gap:.875rem}
.conf-testi__avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--dark);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.conf-testi__author strong{display:block;font-size:.9rem}
.conf-testi__author span{font-size:.8rem;color:var(--text-muted)}
.conf-trust{background:var(--dark);padding:2rem 0;overflow:hidden}
.conf-trust__label{text-align:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.35);margin-bottom:1.25rem}
.conf-trust__marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%)}
.conf-trust__track{display:flex;width:max-content;animation:conf-marquee 30s linear infinite}
.conf-trust__track:hover{animation-play-state:paused}
@keyframes conf-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.conf-trust__item{white-space:nowrap;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.7);padding:0 2rem;position:relative}
.conf-trust__item::after{content:'·';position:absolute;right:0;transform:translateX(50%);color:var(--primary);font-weight:900}

/* ── Newsletter page ── */
.nl-card{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;padding:2.5rem}
.nl-perks{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}
@media(max-width:560px){.nl-perks{grid-template-columns:1fr}}
.nl-perk{display:flex;gap:.875rem;align-items:flex-start}
.nl-perk__icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}
.nl-perk strong{display:block;font-size:.95rem;margin-bottom:.2rem}
.nl-perk p{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin:0}
.nl-form{border-top:1px solid var(--border);padding-top:2rem}
.nl-form__row{display:flex;gap:.75rem;flex-wrap:wrap}
.nl-form__input{flex:1;min-width:200px;padding:.7rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface-0);color:var(--text-main)}
.nl-form__input:focus{outline:2px solid var(--primary);border-color:transparent}
.nl-form__note{font-size:.78rem;color:var(--text-muted);margin:.75rem 0 0}
.nl-success{text-align:center;padding:1.5rem 0}
.nl-success__icon{font-size:2.5rem;display:block;margin-bottom:.75rem}
.nl-success h2{margin:0 0 .5rem;font-size:1.4rem}
.nl-success p{color:var(--text-muted);margin:0}

/* ── Plan du site ── */
.smap-page{padding:3rem 1.5rem 5rem;max-width:1100px}
.smap-page h1{margin-bottom:.5rem}
.smap-intro{color:var(--text-muted);margin-bottom:2.5rem}
.smap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.smap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.smap-grid{grid-template-columns:1fr}}
.smap-section{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:1.5rem}
.smap-section h2{font-size:1rem;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;color:var(--dark)}
.smap-icon{font-size:1.1rem}
.smap-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.smap-section li a{font-size:.875rem;color:var(--accent);text-decoration:none;transition:color .15s}
.smap-section li a:hover{color:var(--dark);text-decoration:underline}

/* ── Liens externes ── */
.ext-icon{display:inline-block;vertical-align:middle;margin-left:3px;opacity:.6;flex-shrink:0}

/* ── Hero bucketlist (page ma-liste-de-reves) ── */
.bl-hero-wrap{background:#F3ECDA}
.bl-cta-hero{background:#F3ECDA;border-radius:16px;padding:clamp(2.5rem,6vw,4rem) clamp(2rem,6vw,4rem);text-align:center;margin:3rem 0}
.bl-cta-hero__eyebrow{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:#B89968;margin-bottom:1rem}
.bl-cta-hero__title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:400;line-height:1.2;margin-bottom:1rem;color:#2A2418}
.bl-cta-hero__sub{font-size:1rem;line-height:1.65;color:#6b5e4a;max-width:520px;margin:0 auto 2rem}
.bl-cta-hero__btn{display:inline-block;background:#2A2418;color:#F3ECDA;font-size:.95rem;font-weight:600;padding:.75rem 2rem;border-radius:8px;letter-spacing:.02em;transition:background .2s,transform .15s}
.bl-cta-hero__btn:hover{background:#3d3526;transform:translateY(-1px)}
.bl-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:4rem 2rem;max-width:1080px;margin:0 auto}
.bl-hero-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#B89968;margin-bottom:.75rem;font-family:'Source Serif 4',Georgia,serif}
.bl-hero-title{font-family:'Playfair Display','Georgia',serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:400;line-height:1.1;margin-bottom:1rem;color:#2A2418}
.bl-hero-sub{font-size:1.1rem;color:#6b5e4a;line-height:1.7;margin-bottom:2rem}
.bl-hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.bl-hero .bl-btn{display:inline-flex;align-items:center;padding:.65rem 1.4rem;border-radius:7px;font-size:.9rem;font-weight:500;text-decoration:none;border:1.5px solid transparent;transition:background .2s,border-color .2s;white-space:nowrap;font-family:'Source Serif 4',Georgia,serif}
.bl-hero .bl-btn-primary{background:#2A2418;color:#F3ECDA;border-color:#2A2418}
.bl-hero .bl-btn-primary:hover{background:#3d3427;border-color:#3d3427}
.bl-hero .bl-btn-ghost{background:transparent;color:#2A2418;border-color:#B89968}
.bl-hero .bl-btn-ghost:hover{background:#f5ede0}
.bl-hero-preview{perspective:800px}
.bl-preview-card{background:#fff;border-radius:12px;padding:1.75rem 2rem;box-shadow:0 8px 40px rgba(42,36,24,.12);transform:rotate(1.5deg);transition:transform .4s ease}
.bl-preview-card:hover{transform:rotate(0deg)}
.bl-preview-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#B89968;margin-bottom:1.25rem}
.bl-preview-list{display:flex;flex-direction:column;gap:.6rem;list-style:none;padding:0}
.bl-preview-item{font-family:'Playfair Display','Georgia',serif;font-size:1.05rem;color:#2A2418;padding-left:1.1rem;position:relative}
.bl-preview-item::before{content:'◦';position:absolute;left:0;color:#B89968}
.bl-preview-item.is-done{color:#9a8a78;text-decoration:line-through;opacity:.6}
.bl-preview-item.is-done::before{content:''}
.bl-check{color:#B89968;margin-right:.3rem}
@media(max-width:768px){.bl-hero{grid-template-columns:1fr;min-height:auto;padding:3rem 1.5rem;gap:2rem}.bl-hero-preview{order:-1}.bl-preview-card{transform:none}}

