/*
Theme Name: Les Tarots de Sandrine
Theme URI: https://www.lestarotsdesandrine.com/
Author: Les Tarots de Sandrine
Description: Thème de blog aux couleurs du site Les Tarots de Sandrine. Reprend fidèlement le header crème, le logo, la navigation et le pied de page du site principal, afin que le visiteur reste dans le même univers. Sobre, épuré, sans fioritures.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: les-tarots-de-sandrine
*/

/* =========================================================
   VARIABLES DE COULEUR
   (prélevées sur l'identité du site : crème du header/logo,
    mauve du hero, encre sombre du monogramme)
   Pour ajuster une teinte, modifiez uniquement ici.
   ========================================================= */
:root{
  --ltds-cream:      #f4ead9; /* fond header / footer / logo */
  --ltds-cream-soft: #fbf3e7; /* fond de page clair */
  --ltds-mauve:      #ac9e9e; /* fond mauve du hero / bandeaux */
  --ltds-ink:        #2f2f35; /* texte nav, titres (monogramme) */
  --ltds-ink-soft:   #55545a; /* texte secondaire */
  --ltds-accent:     #9a7d69; /* taupe chaud des étoiles du logo */
  --ltds-line:       rgba(47,47,53,.14);
  --ltds-serif:      'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
  --ltds-body:       'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --ltds-max:        1080px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--ltds-body);
  font-size:18px;
  line-height:1.7;
  color:var(--ltds-ink);
  background:var(--ltds-cream-soft);
}

img{ max-width:100%; height:auto; }
a{ color:var(--ltds-accent); text-decoration:none; }
a:hover{ text-decoration:underline; }

.ltds-container{
  width:100%;
  max-width:var(--ltds-max);
  margin:0 auto;
  padding:0 24px;
}

/* Accessibilité : lien d'évitement */
.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--ltds-ink); color:#fff; padding:10px 16px; z-index:1000;
}
.skip-link:focus{ left:8px; top:8px; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  background:var(--ltds-cream);
  border-bottom:1px solid var(--ltds-line);
}
.site-header .ltds-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px 24px;
  min-height:92px;
  padding-top:10px;
  padding-bottom:10px;
}
.site-branding{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  flex:0 1 auto;
}
.site-branding .custom-logo,
.site-branding .site-logo-img{
  display:block;
  width:auto;
  height:64px;
}
.site-branding .site-title{
  margin:0;
  font-family:var(--ltds-serif);
  font-weight:500;
  font-size:1.7rem;
  line-height:1.15;
  letter-spacing:.5px;
  color:var(--ltds-ink);
  white-space:normal;
  overflow-wrap:anywhere;
  max-width:min(46vw, 420px);
}
.site-branding .site-title a{ color:inherit; text-decoration:none; }

/* Navigation */
.main-nav{ flex:0 1 auto; margin-left:auto; }
.main-nav ul{
  list-style:none;
  margin:0; padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:14px 26px;
}
.main-nav a{
  font-family:var(--ltds-serif);
  font-size:1.12rem;
  font-weight:500;
  color:var(--ltds-ink);
  text-decoration:none;
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:border-color .15s ease;
}
.main-nav a:hover{ border-bottom-color:var(--ltds-accent); text-decoration:none; }
/* Onglet actif : mis en valeur comme sur le site (gras + soulignement) */
.main-nav .current-menu-item > a,
.main-nav .ltds-active > a{
  font-weight:700;
  border-bottom-color:var(--ltds-ink);
}

/* Bouton menu mobile */
.menu-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--ltds-line);
  color:var(--ltds-ink);
  font-family:var(--ltds-serif);
  font-size:1rem;
  padding:8px 14px;
  border-radius:4px;
  cursor:pointer;
}
.search-toggle{
  background:transparent; border:0; cursor:pointer;
  color:var(--ltds-ink); padding:6px; line-height:0;
}
.header-search{ display:flex; align-items:center; gap:14px; }

/* =========================================================
   MISE EN PAGE PRINCIPALE
   ========================================================= */
.site-main{ padding:48px 0 64px; }
.content-area{
  display:grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap:48px;
  align-items:start;
}
.content-area.no-sidebar{ grid-template-columns:minmax(0,1fr); }

/* En-tête de page / archive */
.page-header{
  margin-bottom:36px;
  padding-bottom:20px;
  border-bottom:1px solid var(--ltds-line);
}
.page-header .page-title{
  font-family:var(--ltds-serif);
  font-weight:600;
  font-size:2.2rem;
  margin:0;
  color:var(--ltds-ink);
}
.page-header .archive-description{ color:var(--ltds-ink-soft); margin-top:8px; }

/* =========================================================
   LISTE D'ARTICLES
   ========================================================= */
.post-card{
  padding:0 0 36px;
  margin-bottom:36px;
  border-bottom:1px solid var(--ltds-line);
}
.post-card:last-child{ border-bottom:0; }
.post-thumb{ display:block; margin-bottom:18px; border-radius:6px; overflow:hidden; }
.entry-title{
  font-family:var(--ltds-serif);
  font-weight:600;
  font-size:1.9rem;
  line-height:1.2;
  margin:0 0 10px;
}
.entry-title a{ color:var(--ltds-ink); text-decoration:none; }
.entry-title a:hover{ color:var(--ltds-accent); }
.entry-meta{
  font-size:.9rem;
  color:var(--ltds-ink-soft);
  margin-bottom:14px;
  letter-spacing:.3px;
}
.entry-meta a{ color:var(--ltds-ink-soft); }
.entry-summary{ color:var(--ltds-ink); }
.read-more{
  display:inline-block;
  margin-top:12px;
  font-family:var(--ltds-serif);
  font-size:1.05rem;
  color:var(--ltds-accent);
  border-bottom:1px solid var(--ltds-accent);
}
.read-more:hover{ text-decoration:none; color:var(--ltds-ink); border-color:var(--ltds-ink); }

/* =========================================================
   ARTICLE / PAGE SEULE
   ========================================================= */
.single-entry .entry-title,
.page-entry .entry-title{ font-size:2.4rem; margin-bottom:14px; }
.entry-content{ margin-top:24px; }
.entry-content p{ margin:0 0 1.2em; }
.entry-content h2{ font-family:var(--ltds-serif); font-size:1.7rem; margin:1.6em 0 .5em; }
.entry-content h3{ font-family:var(--ltds-serif); font-size:1.4rem; margin:1.4em 0 .5em; }
.entry-content img{ border-radius:6px; }
.entry-content blockquote{
  margin:1.5em 0;
  padding:6px 22px;
  border-left:3px solid var(--ltds-accent);
  color:var(--ltds-ink-soft);
  font-style:italic;
}
.entry-content a{ color:var(--ltds-accent); border-bottom:1px solid rgba(154,125,105,.4); }
.entry-content a:hover{ text-decoration:none; border-bottom-color:var(--ltds-accent); }
.entry-footer{
  margin-top:32px; padding-top:20px;
  border-top:1px solid var(--ltds-line);
  font-size:.92rem; color:var(--ltds-ink-soft);
}
.entry-footer a{ color:var(--ltds-ink-soft); }

.post-navigation{
  display:flex; justify-content:space-between; gap:24px;
  margin:40px 0; padding:24px 0;
  border-top:1px solid var(--ltds-line);
  border-bottom:1px solid var(--ltds-line);
}
.post-navigation a{ color:var(--ltds-ink); }
.post-navigation .nav-subtitle{ display:block; font-size:.8rem; color:var(--ltds-ink-soft); text-transform:uppercase; letter-spacing:.08em; }
.post-navigation .nav-title{ font-family:var(--ltds-serif); font-size:1.1rem; }

/* Pagination */
.ltds-pagination{ margin-top:40px; }
.ltds-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; }
.ltds-pagination .page-numbers{
  display:inline-block;
  min-width:42px; text-align:center;
  padding:8px 12px;
  border:1px solid var(--ltds-line);
  border-radius:4px;
  color:var(--ltds-ink);
  font-family:var(--ltds-serif);
}
.ltds-pagination .page-numbers.current,
.ltds-pagination .page-numbers:hover{
  background:var(--ltds-cream);
  border-color:var(--ltds-accent);
  text-decoration:none;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.sidebar .widget{
  margin-bottom:36px;
  padding-bottom:28px;
  border-bottom:1px solid var(--ltds-line);
}
.sidebar .widget:last-child{ border-bottom:0; }
.sidebar .widget-title{
  font-family:var(--ltds-serif);
  font-size:1.3rem;
  font-weight:600;
  margin:0 0 14px;
  color:var(--ltds-ink);
}
.sidebar ul{ list-style:none; margin:0; padding:0; }
.sidebar li{ margin:0 0 10px; }
.sidebar a{ color:var(--ltds-ink); }
.sidebar a:hover{ color:var(--ltds-accent); }

/* Champ de recherche */
.search-form{ display:flex; gap:8px; }
.search-form .search-field{
  flex:1 1 auto;
  padding:10px 12px;
  border:1px solid var(--ltds-line);
  border-radius:4px;
  font-family:var(--ltds-body);
  background:#fff;
  color:var(--ltds-ink);
}
.search-form .search-submit{
  padding:10px 16px;
  border:0; border-radius:4px;
  background:var(--ltds-ink);
  color:#fff;
  font-family:var(--ltds-serif);
  cursor:pointer;
}
.search-form .search-submit:hover{ background:var(--ltds-accent); }

/* =========================================================
   COMMENTAIRES
   ========================================================= */
.comments-area{ margin-top:48px; padding-top:32px; border-top:1px solid var(--ltds-line); }
.comments-title, .comment-reply-title{
  font-family:var(--ltds-serif); font-size:1.6rem; margin:0 0 24px;
}
.comment-list{ list-style:none; margin:0; padding:0; }
.comment-list li{ margin:0 0 24px; }
.comment-body{
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--ltds-line);
  border-radius:6px;
}
.comment-author{ font-family:var(--ltds-serif); font-weight:600; }
.comment-author .avatar{ border-radius:50%; margin-right:10px; vertical-align:middle; }
.comment-metadata{ font-size:.82rem; color:var(--ltds-ink-soft); }
.comment .children{ list-style:none; margin:18px 0 0 28px; padding:0; }
.comment-respond{ margin-top:32px; }
.comment-form label{ display:block; font-size:.9rem; margin:0 0 6px; color:var(--ltds-ink-soft); }
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{
  width:100%; padding:10px 12px; margin-bottom:16px;
  border:1px solid var(--ltds-line); border-radius:4px;
  font-family:var(--ltds-body); background:#fff; color:var(--ltds-ink);
}
.comment-form .submit{
  padding:11px 22px; border:0; border-radius:4px;
  background:var(--ltds-ink); color:#fff; cursor:pointer;
  font-family:var(--ltds-serif); font-size:1rem;
}
.comment-form .submit:hover{ background:var(--ltds-accent); }

/* =========================================================
   404 / RECHERCHE VIDE
   ========================================================= */
.ltds-notice{
  text-align:center;
  padding:56px 0;
}
.ltds-notice .big{
  font-family:var(--ltds-serif);
  font-size:3rem;
  color:var(--ltds-ink);
  margin:0 0 12px;
}
.ltds-notice p{ color:var(--ltds-ink-soft); }

/* =========================================================
   FOOTER (fidèle au site : marque + baseline + réseaux)
   ========================================================= */
.site-footer{
  background:var(--ltds-cream);
  border-top:1px solid var(--ltds-line);
  margin-top:40px;
  padding:44px 0 28px;
}
.site-footer .footer-inner{ text-align:center; }
.footer-logo img{ height:70px; width:auto; margin:0 auto 14px; display:block; }
.footer-brand{
  font-family:var(--ltds-serif);
  font-style:italic;
  font-size:1.7rem;
  color:var(--ltds-ink);
  margin:0 0 6px;
}
.footer-baseline{
  font-weight:700;
  color:var(--ltds-ink);
  margin:2px 0;
  letter-spacing:.2px;
}
.footer-social{
  display:flex; justify-content:center; gap:18px;
  margin:22px 0 18px;
}
.footer-social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px;
  border:1px solid var(--ltds-line);
  border-radius:50%;
  color:var(--ltds-ink);
  transition:background .15s ease, color .15s ease;
}
.footer-social a:hover{ background:var(--ltds-ink); color:var(--ltds-cream); text-decoration:none; }
.footer-social svg{ width:20px; height:20px; fill:currentColor; }
.footer-copyright{
  margin-top:16px;
  font-size:.85rem;
  color:var(--ltds-ink-soft);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .content-area{ grid-template-columns:1fr; }
  .sidebar{ margin-top:24px; }
}
@media (max-width:768px){
  body{ font-size:17px; }
  .menu-toggle{ display:inline-block; }
  .main-nav{
    display:none;
    position:absolute; left:0; right:0; top:100%;
    background:var(--ltds-cream);
    border-bottom:1px solid var(--ltds-line);
    padding:8px 0 16px;
    z-index:50;
  }
  .site-header .ltds-container{ position:relative; flex-wrap:wrap; }
  .main-nav.is-open{ display:block; }
  .main-nav ul{ flex-direction:column; align-items:flex-start; gap:0; padding:0 24px; }
  .main-nav li{ width:100%; border-bottom:1px solid var(--ltds-line); }
  .main-nav li:last-child{ border-bottom:0; }
  .main-nav a{ display:block; padding:12px 0; 