/*
Theme Name: GeneratePress Child - Librairie Elisabeth Brunet
Template: generatepress
Author: Librairie Elisabeth Brunet
Version: 1.3
*/

:root{
  --cream:#f1ebe0; --cream-2:#e7e0d2; --paper:#fffdf8; --header-bg:#eae6dc;
  --ink:#3a2b2b; --muted:#7d6a6a; --brown:#7a3e44; --brown-dark:#4d2c30; --accent:#9c5b5b; --line:#ddd0bf;
}
body{ background:var(--cream); color:var(--ink); font-family:'Lora',Georgia,'Times New Roman',serif; font-size:18px; line-height:1.75; }
.grid-container{ max-width:1120px; }
a{ color:var(--brown); }
a:hover{ color:var(--brown-dark); }
h1,h2,h3,h4,h5,.site-title{ font-family:'Playfair Display',Georgia,serif; color:var(--brown-dark); letter-spacing:.2px; }

/* En-tête + logo (le fond crème = fond du logo, pour un raccord invisible) */
.site-header{ background:var(--header-bg); border-bottom:3px double var(--brown); }
.site-branding{ text-align:center; padding:12px 0 8px; }
.site-logo{ margin:0 auto; }
.site-logo img{ max-height:104px; width:auto; }
.site-branding .main-title, .site-branding .site-description{ display:none; }
.main-navigation, .main-navigation .menu, .inside-navigation{ background:var(--header-bg); justify-content:center; }
.main-navigation a{ color:var(--ink); text-transform:uppercase; letter-spacing:1px; font-size:13px; font-family:'Lora',serif; }
.main-navigation a:hover, .main-navigation .current-menu-item > a, .main-navigation li[class*="current-menu-"] > a{ color:var(--brown); }

/* Héros home (ne répète pas le nom : il est déjà dans le logo) */
.lib-hero{ background:var(--cream-2); border:1px solid var(--line); border-radius:8px; text-align:center; padding:38px 24px; margin:6px 0 34px; }
.lib-hero-title{ font-size:34px; margin:0 0 12px; }
.lib-hero-tag{ font-style:italic; color:var(--brown); font-size:20px; margin:0 0 14px; }
.lib-hero-intro{ color:var(--muted); max-width:640px; margin:0 auto; }

/* Liste d'articles en grille de cartes */
body.blog .site-main, body.archive .site-main, body.search .site-main{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:26px; }
body.blog .site-main > *:not(article):not(.page-header), body.archive .site-main > *:not(article):not(.page-header){ grid-column:1/-1; }
.blog article.post, .archive article.post, .search article{ background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; margin:0; padding:0; }
.blog .post-image, .archive .post-image{ margin:0; }
.blog .post-image img, .archive .post-image img{ width:100%; height:190px; object-fit:cover; display:block; }
.blog .inside-article, .archive .inside-article, .search .inside-article{ padding:18px 20px 22px; }
.blog .entry-title, .archive .entry-title{ font-size:21px; line-height:1.25; margin:0 0 8px; }
.entry-meta{ color:var(--muted); font-size:13px; }
.page-header, .blog .page-header{ background:transparent; }

/* Article (single) confortable */
.single .entry-header, .single .entry-content, .single .entry-meta, .page-template-default .entry-content{ max-width:760px; margin-left:auto; margin-right:auto; }
.single .entry-title, .page .entry-title{ font-size:34px; line-height:1.2; }
.entry-content{ font-size:19px; }
.entry-content h2{ font-size:27px; margin:1.7em 0 .5em; padding-bottom:.25em; border-bottom:2px solid var(--line); }
.entry-content h3{ font-size:22px; margin:1.4em 0 .4em; color:var(--brown); }
.entry-content a{ text-decoration:underline; }
.entry-content blockquote{ border-left:4px solid var(--brown); background:var(--cream-2); margin:1.4em 0; padding:.8em 1.2em; font-style:italic; color:var(--brown-dark); }
.entry-content img{ border-radius:6px; }
.entry-content ul li::marker{ color:var(--accent); }
.featured-image img, .post-image img{ border-radius:6px; }

/* Pagination / boutons */
.paging-navigation{ grid-column:1/-1; }
.wp-block-button__link, button, .button, input[type="submit"]{ background:var(--brown); border-radius:4px; }
.wp-block-button__link:hover, button:hover{ background:var(--brown-dark); }

/* Pied de page bordeaux */
.site-footer, .footer-widgets, .site-info{ background:var(--brown-dark); color:var(--cream); }
.site-info{ text-align:center; }
.site-info a, .footer-widgets a{ color:var(--cream); text-decoration:underline; }
.inside-site-info{ border-top:none; }

@media (max-width:768px){
  body{ font-size:17px; }
  .lib-hero-title{ font-size:28px; }
  .single .entry-title{ font-size:27px; }
  .site-logo img{ max-height:84px; }
}
/* ---- Slider home (5 derniers) ---- */
.leb-slider{ position:relative; overflow:hidden; border-radius:10px; border:1px solid var(--line); margin:0 0 36px; box-shadow:0 6px 22px rgba(77,44,48,.12); }
.leb-slides{ display:flex; transition:transform .55s ease; }
.leb-slide{ position:relative; flex:0 0 100%; height:440px; background-size:cover; background-position:center; display:block; text-decoration:none; }
.leb-slide.leb-noimg{ background:linear-gradient(135deg,var(--brown),var(--brown-dark)); }
.leb-ov{ position:absolute; inset:0; background:linear-gradient(to top, rgba(40,22,25,.88) 0%, rgba(40,22,25,.32) 46%, rgba(40,22,25,0) 78%); }
.leb-cap{ position:absolute; left:0; right:0; bottom:0; padding:26px 34px 32px; color:#fff; }
.leb-cat{ display:inline-block; background:var(--brown); color:#fff; font-family:'Lora',serif; font-size:12px; text-transform:uppercase; letter-spacing:1.5px; padding:4px 12px; border-radius:3px; margin-bottom:12px; }
.leb-title{ color:#fff; font-size:30px; line-height:1.22; margin:0 0 8px; max-width:780px; text-shadow:0 1px 12px rgba(0,0,0,.45); }
.leb-slide:hover .leb-title{ text-decoration:underline; }
.leb-date{ color:#f1e4d7; font-size:13px; font-style:italic; }
.leb-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border:0; border-radius:50%; background:rgba(255,253,248,.85); color:var(--brown-dark); font-size:26px; line-height:44px; text-align:center; cursor:pointer; z-index:3; transition:background .2s; }
.leb-arrow:hover{ background:#fff; }
.leb-prev{ left:16px; } .leb-next{ right:16px; }
.leb-dots{ position:absolute; bottom:16px; right:34px; display:flex; gap:8px; z-index:3; }
.leb-dot{ width:10px; height:10px; border-radius:50%; border:0; background:rgba(255,255,255,.5); cursor:pointer; padding:0; transition:background .2s; }
.leb-dot.on{ background:#fff; }
@media(max-width:768px){ .leb-slide{ height:300px; } .leb-title{ font-size:21px; } .leb-cap{ padding:18px 20px 24px; } .leb-dots{ right:18px; } .leb-arrow{ width:38px; height:38px; line-height:36px; font-size:22px; } }

/* ---- Fil d'Ariane Yoast ---- */
.leb-breadcrumb{ font-family:'Lora',serif; font-size:13.5px; color:var(--muted); max-width:760px; margin:0 auto 16px; }
.leb-breadcrumb a{ color:var(--brown); text-decoration:none; }
.leb-breadcrumb a:hover{ text-decoration:underline; }
.leb-breadcrumb .breadcrumb_last{ color:var(--ink); }
