/*
Theme Name:   Go Child
Template:     go
Version:      1.5.2
Description:  Blog responsive (catégories centrées, cartes 2 colonnes desktop, couleurs de marque rose)
Text Domain:  go-child
*/

/* =================== VARIABLES & BASE =================== */
:root{
  /* Palette unifiée */
  --lm-accent:       #8a3a57; /* prune un peu plus clair */
  --lm-accent-light: #b56c85; /* accent clair (hover/détails) */
  --lm-ink:          #2a2a2a; /* texte principal */
  --lm-muted:        #6b7280; /* méta */
  --lm-line:         #e6e8ef; /* bordures */
  --lm-chip:         #f7f8fa; /* fond pills */
  --lm-bg:           #ffffff; /* fond cartes/encarts */

  /* Compat (anciens noms utilisés plus bas) */
  --rose:            var(--lm-accent);
  --rose-600:        #8a3a57;
  --rose-100:        #f3e3e6;
  --ink:             #0f172a;
  --muted:           var(--lm-muted);
  --card:            var(--lm-bg);
  --line:            #e5e7eb;
  --line-soft:       #e2e8f0;

  /* Layout */
  --container:       1160px;
  --gutter:          16px;
  --radius-lg:       16px;
  --radius-md:       10px;
  --shadow-sm:       0 1px 2px rgba(16,24,40,.04);
  --shadow-lg:       0 10px 20px rgba(16,24,40,.10);
}


*{box-sizing:border-box;}
img{max-width:100%;height:auto;display:block;}

/* Zones à largeur commune */
.lm-catsbar,
.lm-grid,
.navigation.pagination{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}

/* =================== TITRES GÉNÉRAUX =================== */
h1, .page-title, .archive-title{
  margin-bottom:14px !important;
  text-align:center;
  color:var(--lm-accent);
}

/* =================== BARRE DE CATÉGORIES =================== */
.lm-catsbar{
  border-bottom:1px solid var(--lm-line);
  padding:6px 0 16px;
  margin:6px auto 18px;
  text-align:center;
}
.lm-catsbar__track{
  display:inline-flex;
  flex-wrap:wrap;
  gap:12px 14px;
  justify-content:center;
  align-items:center;
}
.lm-pill{
  padding:10px 14px;
  border-radius:999px;
  background:var(--lm-chip);
  color:var(--lm-ink);
  border:1px solid var(--lm-line);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  line-height:1;
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.lm-pill:hover,
.lm-pill.is-active{
  background:var(--lm-accent);
  border-color:var(--lm-accent);
  color:#fff;
}

/* =================== GRILLE LISTE (MOBILE-FIRST) =================== */
.lm-grid{ display:flex; flex-wrap:wrap; gap:24px; margin-top:10px; }
.lm-item{ width:100%; }
@media (min-width:900px){
  .lm-grid{ gap:32px; }
  .lm-item{ width:calc(50% - 16px); }
}

/* =================== CARTE ARTICLE =================== */
.lm-card{
  display:flex; flex-direction:column;
  background:var(--lm-bg);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .16s, box-shadow .16s, border-color .16s;
}
@media (hover:hover){
  .lm-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg);
    border-color:#d1d5db;
  }
}
.lm-thumb{ position:relative; display:block; background:#f3f4f6; }
.lm-thumb:before{ content:""; display:block; padding-top:56.25%; }
.lm-thumb img, .lm-thumb--placeholder{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}

.lm-body{
  padding:16px; display:flex; flex-direction:column; gap:10px; flex:1;
  text-align:center; align-items:center;
}
@media (min-width:900px){ .lm-body{ padding:18px 20px 20px; } }

.lm-badge{
  align-self:center; font-size:12px; line-height:1;
  padding:6px 10px; border-radius:999px;
  background:var(--lm-chip); color:var(--lm-ink); border:1px solid var(--lm-line);
  text-decoration:none; font-weight:600;
}

.lm-title{ margin:0; font-size:clamp(18px,2.8vw,22px); line-height:1.25; }
.lm-title a{ color:var(--lm-ink); text-decoration:none; }
.lm-title a:hover{ text-decoration:underline; }

.lm-meta{ font-size:13px; color:var(--lm-muted); }
.lm-excerpt{ color:#334155; }
.lm-excerpt p{ margin:0; }

/* Bouton Lire plus */
.lm-readmore{
  margin-top:auto; align-self:center;
  padding:10px 18px; border-radius:var(--radius-md);
  border:1px solid var(--lm-accent);
  background:var(--lm-chip);
  color:var(--lm-ink); font-weight:700; text-decoration:none;
  transition:background .2s, border-color .2s, color .2s;
}
.lm-readmore:hover{
  background:var(--lm-accent);
  border-color:var(--lm-accent);
  color:#fff;
}

/* =================== PAGINATION =================== */
.navigation.pagination{
  margin:28px auto 8px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap;
}
.navigation.pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:46px; height:46px; line-height:46px;
  padding:0 16px; border-radius:var(--radius-md);
  background:var(--lm-chip); border:1px solid var(--lm-line);
  color:var(--lm-ink); font-size:16px; font-weight:600; text-decoration:none;
  transition:all .2s;
}
.navigation.pagination .page-numbers:hover,
.navigation.pagination .page-numbers.current{
  background:var(--lm-accent); border-color:var(--lm-accent); color:#fff;
}
.navigation.pagination .prev::before{ content:"←"; margin-right:8px; font-weight:700; }
.navigation.pagination .next::after{ content:"→"; margin-left:8px; font-weight:700; }

/* =================== PIED D’ARTICLE (single) =================== */
.lm-single__footer{
  max-width:var(--container);
  margin:64px auto 0;
  padding:40px var(--gutter) 0;
  border-top:1px solid var(--lm-line);
}

/* Titres de section */
.lm-section-title{
  margin:0 0 20px; font-size:1.375rem; line-height:1.2;
  font-weight:700; color:var(--lm-accent); letter-spacing:.2px;
}

/* "À lire aussi" */
.lm-related__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px; list-style:none; padding:0; margin:0 0 28px;
}
.lm-related__item{
  border:1px solid var(--lm-line); border-radius:14px; overflow:hidden; background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:transform .15s ease, box-shadow .15s ease;
}
.lm-related__item:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.08); }
.lm-related__link{ display:block; color:inherit; text-decoration:none; }
.lm-related__thumb img{ display:block; width:100%; height:auto; object-fit:cover; }
.lm-related__title{ font-size:1.06rem; font-weight:600; line-height:1.35; padding:14px 16px 4px; }
.lm-related__date{ display:block; font-size:.92rem; color:var(--lm-muted); padding:0 16px 16px; }

/* "Autres catégories" */
.lm-cats{ margin-top:8px; }
.lm-cats__list{
  display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 36px;
}
.lm-cats__list a{
  display:inline-block; padding:8px 14px; border-radius:999px;
  background:var(--lm-chip); color:#344054; text-decoration:none;
  border:1px solid var(--lm-line);
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.lm-cats__list a:hover{
  background:#fff; border-color:#dfe6ee; color:var(--lm-accent);
  transform:translateY(-1px);
}

/* "À propos de l’auteure" */
.lm-author .lm-section-title{ margin-top:8px; }
.lm-author__box{
  display:grid; grid-template-columns:84px 1fr; gap:16px; align-items:start;
  border:1px solid var(--lm-line); border-radius:14px; background:#fff; padding:16px 18px;
  position:relative;
}
.lm-author__box:before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:14px 0 0 14px;
  background:linear-gradient(180deg, var(--lm-accent), var(--lm-accent-light));
}
.lm-author__avatar img{ border-radius:12px; }
.lm-author__name{ margin:0 0 4px; font-weight:700; color:var(--lm-ink); font-size:1.05rem; }
.lm-author__bio{ color:#4b5563; }
.lm-author__links a{ color:var(--lm-accent); text-decoration:none; }
.lm-author__links a:hover{ text-decoration:underline; }

/* Responsif */
@media (max-width:600px){
  .lm-section-title{ font-size:1.25rem; }
  .lm-author__box{ grid-template-columns:64px 1fr; }
}

/* Limiter la largeur du titre */
.lm-single__title{
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* Limiter la largeur du titre ET des métadonnées */
.lm-single__title,
.lm-single__meta{
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* === Bannière par défaut : FULL BLEED (photos assez larges) === */
.lm-hero--banner{
  width:100%;
  max-height:360px;          /* ajuste: 300–420 selon goût */
  overflow:hidden;
  margin:0 0 16px 0;
}
.lm-hero--banner img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}

/* === Mode auto "LOW RES" : ne pas étirer (photos <1200px de large) === */
.lm-hero--banner.is-lowres{
  max-width:900px;           /* colonne élégante sur desktop */
  margin:0 auto 16px;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.lm-hero--banner.is-lowres img{
  width:100%; height:auto;
  object-fit:contain;
}

/* mobile : même une lowres peut s'autoriser un "cover" léger */
@media (max-width:700px){
  .lm-hero--banner,
  .lm-hero--banner.is-lowres{
    max-height:260px;
  }
}

/* Centrer les métadonnées sous le titre */
.lm-single__meta {
  text-align: center;
  margin-top: 12px;
  color: var(--lm-muted);
}
.lm-single__meta a {
  color: var(--lm-accent);
  text-decoration: none;
}
.lm-single__meta a:hover {
  text-decoration: underline;
}

/* =========================================================
   OVERRIDES COULEURS — évite tout retour en noir / :visited
   ========================================================= */
.single .lm-single__title{
  color: var(--lm-accent) !important;
}

.single .lm-single__meta{
  color: var(--lm-muted) !important;
}
.single .lm-single__meta a,
.single .lm-single__meta a:link,
.single .lm-single__meta a:visited{
  color: var(--lm-accent) !important;
  text-decoration: none;
}
.single .lm-single__meta a:hover{
  color: var(--lm-accent-light) !important;
  text-decoration: underline;
}

/* "À lire aussi" */
.lm-related__title,
.lm-related__title a,
.lm-related__title a:link,
.lm-related__title a:visited{
  color: var(--lm-accent) !important;
  text-decoration: none;
}
.lm-related__title a:hover{
  color: var(--lm-accent-light) !important;
  text-decoration: underline;
}
.lm-related__date{
  color: var(--lm-muted) !important;
}

/* Pills catégories */
.lm-cats__list a,
.lm-cats__list a:link,
.lm-cats__list a:visited{
  color: #344054 !important;
}
.lm-cats__list a:hover{
  color: var(--lm-accent) !important;
} /* ✅ correction accolade */

/* Réduire la hauteur du champ commentaire */
#commentform textarea {
  min-height: 100px; /* au lieu de 160px ou plus */
  height: 120px;     /* hauteur fixe plus petite */
  resize: vertical;  /* permet quand même à l’utilisateur d’agrandir si besoin */
}

/* ================== Boutons unifiés ================== */
/* Tokens (reprend ta palette) */
:root{
  --btn-bg:        var(--lm-accent);
  --btn-bg-hover:  var(--lm-accent-light);
  --btn-ink:       #fff;
  --btn-radius:    10px;
  --btn-shadow:    0 2px 8px rgba(0,0,0,.10);
}

/* Base */
.btn, .wp-element-button, .wp-block-button__link,
input[type="submit"], button, .button {
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:12px 22px;
  border-radius:var(--btn-radius);
  border:1px solid transparent;
  background:var(--btn-bg);
  color:var(--btn-ink);
  font-weight:600; letter-spacing:.02em;
  text-decoration:none; cursor:pointer;
  box-shadow:var(--btn-shadow);
  transition:background .2s, transform .06s, box-shadow .2s, color .2s, border-color .2s;
}
.btn:hover, .wp-element-button:hover, .wp-block-button__link:hover,
input[type="submit"]:hover, button:hover, .button:hover {
  background:var(--btn-bg-hover);
}
.btn:active, .wp-element-button:active, .wp-block-button__link:active,
input[type="submit"]:active, button:active, .button:active {
  transform:translateY(1px);
}

/* Focus accessible */
.btn:focus-visible, .wp-element-button:focus-visible, .wp-block-button__link:focus-visible,
input[type="submit"]:focus-visible, button:focus-visible, .button:focus-visible {
  outline:2px solid #fff; outline-offset:2px;
  box-shadow:0 0 0 3px rgba(181,108,133,.45);
}

/* Variantes */
.btn--outline {
  background:#fff; color:var(--lm-accent);
  border-color:var(--lm-accent);
  box-shadow:none;
}
.btn--outline:hover { background:#fff; border-color:var(--lm-accent-light); color:var(--lm-accent-light); }

.btn--ghost {
  background:transparent; color:var(--lm-accent);
  border-color:transparent; box-shadow:none;
}
.btn--ghost:hover { color:var(--lm-accent-light); }

/* Tailles (optionnel) */
.btn--sm { padding:8px 14px; font-size:.95rem; }
.btn--lg { padding:14px 26px; font-size:1.05rem; }

/* Bouton commentaires : même style */
#commentform input[type="submit"] { all:unset; }
#commentform input[type="submit"] { /* ré-applique la base */
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 22px; border-radius:var(--btn-radius);
  border:1px solid transparent; background:var(--btn-bg); color:#fff;
  font-weight:600; letter-spacing:.02em; cursor:pointer;
  box-shadow:var(--btn-shadow); transition:background .2s, transform .06s, box-shadow .2s;
}
#commentform input[type="submit"]:hover { background:var(--btn-bg-hover); }
#commentform input[type="submit"]:active { transform:translateY(1px); }

/* Bouton “Lire l’article →” existant */
.lm-readmore { all:unset; }
/* ❌ suppression de la règle invalide avec @media */
.lm-readmore { /* transforme en bouton principal */
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 18px; border-radius:var(--btn-radius);
  background:var(--btn-bg); color:#fff; font-weight:700; text-decoration:none;
  transition:background .2s, transform .06s;
}
.lm-readmore:hover { background:var(--btn-bg-hover); }

/* ================== ARCHIVES (catégories, tags, etc.) ================== */

/* Conteneur en grille 2 colonnes */
body.archive .site-main,
body.category .site-main,
body.tag .site-main {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

/* Carte = 2 colonnes desktop, 1 colonne mobile */
body.archive .site-main > article,
body.category .site-main > article,
body.tag .site-main > article {
  width: calc(50% - 16px);
  background: #fff;
  border: 1px solid var(--lm-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
@media (max-width: 900px){
  body.archive .site-main > article,
  body.category .site-main > article,
  body.tag .site-main > article {
    width: 100%;
  }
}
@media (hover:hover){
  body.archive .site-main > article:hover,
  body.category .site-main > article:hover,
  body.tag .site-main > article:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.08);
    border-color: #dfe6ee;
  }
}

/* Vignette 16:9 recadrée correctement */
body.archive .post-thumbnail,
body.category .post-thumbnail,
body.tag .post-thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
  background: #f3f4f6;
  aspect-ratio: 16 / 9;             /* moderne */
}
body.archive .post-thumbnail img,
body.category .post-thumbnail img,
body.tag .post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Corps de la carte */
body.archive .entry-header,
body.category .entry-header,
body.tag .entry-header,
body.archive .entry-summary,
body.category .entry-summary,
body.tag .entry-summary {
  padding: 14px 16px 16px;
}

/* Badge catégorie éventuel */
body.archive .cat-links a,
body.category .cat-links a,
body.tag .cat-links a {
  display:inline-block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--lm-chip);
  color: var(--lm-ink);
  border: 1px solid var(--lm-line);
  text-decoration: none;
}

/* Titre des cartes : pas de “gros soulignement” du thème Go */
body.archive .entry-title,
body.category .entry-title,
body.tag .entry-title {
  margin: 10px 0 8px;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.3;
  color: var(--lm-accent);
}
body.archive .entry-title a,
body.category .entry-title a,
body.tag .entry-title a {
  color: var(--lm-accent);
  text-decoration: none;
  box-shadow: none !important;     /* supprime l’underline en bloc de Go */
  border-bottom: none !important;
}
body.archive .entry-title a:hover,
body.category .entry-title a:hover,
body.tag .entry-title a:hover {
  color: var(--lm-accent-light);
  text-decoration: underline;      /* hover léger et propre */
  text-underline-offset: 2px;
}

/* Méta & extrait */
body.archive .entry-meta,
body.category .entry-meta,
body.tag .entry-meta { color: var(--lm-muted); font-size: 14px; }
body.archive .entry-summary p,
body.category .entry-summary p,
body.tag .entry-summary p { margin: 0; color: #334155; }

/* Pagination des archives harmonisée */
body.archive .navigation.pagination,
body.category .navigation.pagination,
body.tag .navigation.pagination {
  max-width: var(--container);
  margin: 28px auto 8px;
  padding: 0 var(--gutter);
}

/* Centrer le badge Google Partner */
.entry-content img[alt="Google Partner"] {
  display: block;
  margin: 0 auto 8px; /* centré + petit espace avec le texte */
}

/* ===== Bloc promo / CTA centré (Ranking Radar) ===== */
.entry-content .lm-box{
  max-width: 720px;      /* largeur contenue, puis centré */
  margin: 32px auto;
  text-align: center;
}

.entry-content .lm-box .btn{
  display: inline-flex;
  margin: 16px auto 0;
}

/* (Optionnel) style “carte” harmonisé avec ta palette */
.entry-content .lm-box{
  border: 1px solid var(--lm-line);
  border-radius: 14px;
  background: #f9fafb;
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.entry-content .lm-box h2{
  color: var(--lm-accent);
  margin: 0 0 12px;
}

/* HERO dans un bloc Cover (assure le blanc partout, même si le thème force des couleurs) */
.wp-block-cover .lm-eyebrow,
.wp-block-cover .lm-hero__title,
.wp-block-cover .lm-hero__subtitle { color:#fff !important; }
.wp-block-cover .btn { margin:0 6px; }

/* Proofbar responsive (4 colonnes desktop → 2 colonnes mobile) */
.lm-proofbar{max-width:var(--container);margin:18px auto 0;padding:10px var(--gutter)}
.lm-proofbar .wp-block-column{display:flex;justify-content:center}
@media (min-width:901px){
  .lm-proofbar .wp-block-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
}
@media (max-width:900px){
  .lm-proofbar .wp-block-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
}
.lm-proofbar__item{background:var(--lm-chip);border:1px solid var(--lm-line);border-radius:12px;padding:10px 12px;text-align:center}
.lm-proofbar__item strong{display:block;color:var(--lm-accent);font-size:1.05rem}

/* Sections Gutenberg du gabarit service (cohérence avec tes cartes) */
.lm-section{max-width:var(--container);margin:36px auto 0;padding:0 var(--gutter)}
.lm-section-title{margin:0 0 16px;font-size:1.375rem;line-height:1.2;font-weight:700;color:var(--lm-accent)}
.lm-value__grid .wp-block-column.lm-card{border:1px solid var(--lm-line);border-radius:16px;background:#fff;padding:16px;box-shadow:var(--shadow-sm)}
.lm-value__icon{font-size:24px;margin-bottom:6px}

/* Accessibilité / motion : réduire les translations pour utilisateurs sensibles */
@media (prefers-reduced-motion: reduce){
  .lm-card:hover{transform:none !important; box-shadow:var(--shadow-sm) !important;}
}

/* Boutons des blocs Gutenberg : forcer le look unifié si le thème surcharge */
.wp-block-button__link.btn{border:1px solid transparent;box-shadow:var(--btn-shadow)}
.wp-block-button__link.btn--outline{background:#fff;color:var(--lm-accent);border-color:var(--lm-accent)}
.wp-block-button__link.btn--outline:hover{border-color:var(--lm-accent-light);color:var(--lm-accent-light);background:#fff}

/* (Optionnel) resserrer le spacing entre sections quand 2 blocs Gutenberg se suivent */
.lm-section + .lm-section{margin-top:24px}

/* Titre/sous-titre en BLANC dans le hero des pages Service */
.lm-hero--service .lm-hero__title,
.lm-hero--service .lm-hero__subtitle { 
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.25); /* lisibilité */
}

/* au cas où tu mets un H1 sans la classe */
.lm-hero--service h1 { 
  color:#fff !important; 
}

