/*
Theme Name: Doggies & compagnie – Le Journal
Theme URI: https://www.doggiesetcompagnie.com/
Author: Doggies & compagnie
Author URI: https://www.doggiesetcompagnie.com/
Description: Thème de blog reprenant fidèlement l'identité visuelle du site Doggies & compagnie (header crème, accent terracotta, footer blanc). Conçu pour qu'un visiteur passant du site au blog n'ait pas l'impression de changer de site.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
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: doggies-journal
*/

/* =========================================================
   Variables — couleurs PRÉLEVÉES sur les captures fournies
   ========================================================= */
:root{
  --dgc-header-bg:  #F2EADD; /* crème du header (242,234,221) */
  --dgc-body-bg:    #FFFFFF; /* fond contenu / footer (blanc) */
  --dgc-rust:       #B56626; /* bouton "Devis & réservation" (181,102,38) */
  --dgc-rust-dark:  #9A551E; /* survol bouton */
  --dgc-orange:     #DC7F4E; /* orange du logo "DOG" (220,127,78) */
  --dgc-text:       #4A454A; /* texte nav / corps (warm gray) */
  --dgc-text-soft:  #6E676E; /* texte secondaire */
  --dgc-heading:    #463F45; /* titres */
  --dgc-link:       #B56626; /* liens */
  --dgc-border:     #E7DDCF; /* filets discrets sur crème */
  --dgc-border-soft:#ECECEC; /* filets discrets sur blanc */
  --dgc-circle:     #424242; /* pastilles réseaux sociaux */
  --dgc-maxw:       1180px;
}

/* =========================================================
   Base
   ========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--dgc-body-bg);
  color:var(--dgc-text);
  font-family:"PT Sans","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.7;
}
img{ max-width:100%; height:auto; }
a{ color:var(--dgc-link); text-decoration:none; }
a:hover{ text-decoration:underline; }

h1,h2,h3,h4,h5,h6{
  font-family:"PT Sans","Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--dgc-heading);
  line-height:1.25;
  font-weight:700;
  margin:0 0 .6em;
}
h1{ font-size:2rem; }
h2{ font-size:1.55rem; }
h3{ font-size:1.25rem; }
p{ margin:0 0 1.1em; }

.dgc-wrap{ max-width:var(--dgc-maxw); margin:0 auto; padding:0 24px; }
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}
.skip-link{
  position:absolute; left:-9999px; top:0; background:#fff; color:var(--dgc-text);
  padding:10px 16px; z-index:1000;
}
.skip-link:focus{ left:8px; top:8px; }

/* =========================================================
   HEADER (crème) — barre contact + logo + nav
   ========================================================= */
.site-header{ background:var(--dgc-header-bg); }

.header-top{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:18px 0 10px;
}
.header-contact{ font-size:.95rem; color:var(--dgc-text); line-height:1.5; }
.header-contact a{ color:var(--dgc-text); }
.header-contact .ht-line{ display:block; }
.header-social{ display:flex; gap:10px; margin-top:8px; }

.social-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:var(--dgc-circle); color:#fff;
}
.social-icon:hover{ background:#2b2b2b; text-decoration:none; }
.social-icon svg{ width:18px; height:18px; fill:#fff; }

.header-brand{ text-align:center; flex:0 0 auto; }
.header-brand img{ display:block; margin:0 auto; max-height:96px; width:auto; }

.header-right{ display:flex; align-items:center; gap:16px; }
.lang-switch{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid #d9cbb6; border-radius:6px;
  padding:8px 12px; color:var(--dgc-text); font-size:.95rem;
}
.btn-devis{
  display:inline-block; background:var(--dgc-rust); color:#fff;
  padding:13px 26px; border-radius:6px; font-weight:700; white-space:nowrap;
}
.btn-devis:hover{ background:var(--dgc-rust-dark); text-decoration:none; color:#fff; }

/* Navigation principale (centrée, comme le site) */
.main-nav{ padding:8px 0 22px; }
.main-nav ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px 34px;
}
.main-nav a{
  color:var(--dgc-text); font-size:1.05rem; padding:6px 2px;
  border-bottom:2px solid transparent;
}
.main-nav a:hover{ color:var(--dgc-rust); text-decoration:none; border-bottom-color:var(--dgc-rust); }
/* Onglet actif (ici "Le Journal") : couleur terracotta + soulignement */
.main-nav .is-active a,
.main-nav .current-menu-item a{
  color:var(--dgc-rust); font-weight:700; border-bottom-color:var(--dgc-rust);
}

/* =========================================================
   LAYOUT contenu + sidebar
   ========================================================= */
.site-main{ padding:42px 0 56px; }
.content-area{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px;
  align-items:start;
}
.page-title{ margin-bottom:28px; }
.page-title h1{ margin:0; }
.page-title .subtitle{ color:var(--dgc-text-soft); margin-top:6px; }

/* =========================================================
   Liste d'articles
   ========================================================= */
.post-card{
  border-bottom:1px solid var(--dgc-border-soft);
  padding-bottom:30px; margin-bottom:30px;
}
.post-card:last-child{ border-bottom:0; }
.post-card .entry-thumb{ display:block; margin-bottom:16px; border-radius:6px; overflow:hidden; }
.post-card .entry-thumb img{ width:100%; display:block; }
.entry-title{ margin:0 0 8px; font-size:1.5rem; }
.entry-title a{ color:var(--dgc-heading); }
.entry-title a:hover{ color:var(--dgc-rust); text-decoration:none; }
.entry-meta{
  font-size:.9rem; color:var(--dgc-text-soft); margin-bottom:12px;
  display:flex; flex-wrap:wrap; gap:6px 16px;
}
.entry-meta a{ color:var(--dgc-text-soft); }
.entry-meta a:hover{ color:var(--dgc-rust); }
.entry-excerpt{ color:var(--dgc-text); }
.read-more{
  display:inline-block; margin-top:6px; color:var(--dgc-rust); font-weight:700;
}

/* =========================================================
   Article seul / page
   ========================================================= */
.single-entry .entry-thumb{ margin-bottom:24px; border-radius:6px; overflow:hidden; }
.entry-content{ font-size:1.05rem; }
.entry-content h2{ margin-top:1.6em; }
.entry-content img{ border-radius:6px; }
.entry-content blockquote{
  margin:1.4em 0; padding:.6em 1.2em; border-left:4px solid var(--dgc-orange);
  background:#faf6ef; color:var(--dgc-text);
}
.entry-content a{ text-decoration:underline; }
.entry-footer{
  margin-top:28px; padding-top:18px; border-top:1px solid var(--dgc-border-soft);
  font-size:.92rem; color:var(--dgc-text-soft);
}
.entry-footer .tags a{
  display:inline-block; margin:0 6px 6px 0; padding:3px 10px;
  background:#f6efe5; border-radius:4px; color:var(--dgc-text);
}
.post-nav{
  display:flex; justify-content:space-between; gap:16px; margin-top:34px;
  font-weight:700;
}
.post-nav a{ color:var(--dgc-rust); }

/* Pagination */
.dgc-pagination{ margin-top:36px; }
.dgc-pagination .page-numbers{
  display:inline-block; padding:8px 14px; margin:0 4px 8px 0;
  border:1px solid var(--dgc-border); border-radius:6px; color:var(--dgc-text);
}
.dgc-pagination .page-numbers.current{
  background:var(--dgc-rust); color:#fff; border-color:var(--dgc-rust);
}
.dgc-pagination a.page-numbers:hover{ border-color:var(--dgc-rust); text-decoration:none; }

/* =========================================================
   Sidebar
   ========================================================= */
.sidebar .widget{ margin-bottom:34px; }
.sidebar .widget-title{
  font-size:1.1rem; margin-bottom:14px; padding-bottom:8px;
  border-bottom:2px solid var(--dgc-orange);
}
.sidebar ul{ list-style:none; margin:0; padding:0; }
.sidebar li{ padding:7px 0; border-bottom:1px solid var(--dgc-border-soft); }
.sidebar li:last-child{ border-bottom:0; }
.sidebar a{ color:var(--dgc-text); }
.sidebar a:hover{ color:var(--dgc-rust); }

/* Recherche */
.search-form{ display:flex; gap:8px; }
.search-form input[type="search"]{
  flex:1; padding:10px 12px; border:1px solid var(--dgc-border); border-radius:6px;
  font:inherit; color:var(--dgc-text); background:#fff;
}
.search-form button{
  background:var(--dgc-rust); color:#fff; border:0; border-radius:6px;
  padding:10px 16px; font:inherit; font-weight:700; cursor:pointer;
}
.search-form button:hover{ background:var(--dgc-rust-dark); }

/* =========================================================
   Commentaires
   ========================================================= */
.comments-area{ margin-top:44px; }
.comments-title,.comment-reply-title{ font-size:1.3rem; margin-bottom:18px; }
.comment-list{ list-style:none; margin:0; padding:0; }
.comment-list li{ margin-bottom:22px; }
.comment-body{
  border:1px solid var(--dgc-border-soft); border-radius:8px; padding:16px 18px;
}
.comment-meta{ font-size:.88rem; color:var(--dgc-text-soft); margin-bottom:8px; }
.comment-author .fn{ color:var(--dgc-heading); font-weight:700; font-style:normal; }
.comment-list .children{ list-style:none; margin:18px 0 0 26px; padding:0; }
.comment-respond{ margin-top:30px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; padding:11px 13px; border:1px solid var(--dgc-border);
  border-radius:6px; font:inherit; background:#fff; color:var(--dgc-text);
}
.comment-form p{ margin-bottom:14px; }
.comment-form .submit,.form-submit input{
  background:var(--dgc-rust); color:#fff; border:0; border-radius:6px;
  padding:12px 24px; font:inherit; font-weight:700; cursor:pointer;
}
.comment-form .submit:hover,.form-submit input:hover{ background:var(--dgc-rust-dark); }

/* =========================================================
   404 / recherche vide
   ========================================================= */
.dgc-notice{ padding:24px 0 8px; }
.dgc-notice .btn-devis{ margin-top:8px; }

/* =========================================================
   FOOTER (blanc) — fidèle à la capture
   ========================================================= */
.site-footer{
  background:var(--dgc-body-bg); color:var(--dgc-text);
  border-top:1px solid var(--dgc-border-soft);
  padding:54px 0 30px;
}
.footer-grid{
  display:grid;
  grid-template-columns:200px 1fr 1fr 1.4fr auto;
  gap:38px; align-items:start;
}
.footer-brand img{ max-width:170px; height:auto; }
.footer-col h4{
  font-size:1rem; color:var(--dgc-heading); margin:0 0 12px; font-weight:700;
}
.footer-col ul{ list-style:none; margin:0; padding:0; }
.footer-col li{ margin-bottom:10px; }
.footer-col a{ color:var(--dgc-text); text-decoration:underline; text-underline-offset:2px; }
.footer-col a:hover{ color:var(--dgc-rust); }
.footer-contact .fc-line{ margin-bottom:12px; line-height:1.5; }
.footer-contact a{ color:var(--dgc-text); text-decoration:none; }
.footer-social{ display:flex; gap:12px; }

.footer-zones{ margin-top:40px; }
.footer-zones h3{ font-size:1.5rem; color:var(--dgc-heading); margin-bottom:18px; font-weight:400; }
.footer-zones ul{ list-style:none; margin:0; padding:0; }
.footer-zones li{ margin-bottom:18px; }
.footer-zones a{ color:var(--dgc-text); text-decoration:underline; text-underline-offset:3px; }
.footer-zones a:hover{ color:var(--dgc-rust); }

.footer-bottom{
  margin-top:38px; padding-top:18px; border-top:1px solid var(--dgc-border-soft);
  font-size:.88rem; color:var(--dgc-text-soft); text-align:center;
}

/* Bouton remonter en haut (présent sur le site) */
.back-to-top{
  position:fixed; right:22px; bottom:22px; width:48px; height:48px;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--dgc-border); border-radius:8px;
  color:var(--dgc-text); box-shadow:0 2px 8px rgba(0,0,0,.08);
  opacity:0; visibility:hidden; transition:opacity .25s; z-index:900;
}
.back-to-top.show{ opacity:1; visibility:visible; }
.back-to-top:hover{ border-color:var(--dgc-rust); color:var(--dgc-rust); text-decoration:none; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 980px){
  .content-area{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1 / -1; }
}
@media (max-width: 720px){
  .header-top{ flex-direction:column; align-items:center; text-align:center; gap:14px; }
  .header-contact{ order:2; }
  .header-brand{ order:1; }
  .header-right{ order:3; flex-wrap:wrap; justify-content:center; }
  .header-social{ justify-content:center; }
  .main-nav ul{ gap:10px 20px; }
  .footer-grid{ grid-template-columns:1fr; }
  h1{ font-size:1.6rem; }
}
