/* Dogteam : habillage chaleureux et dynamique (surcharge du theme Cream Magazine) */
:root {
  --dt-creme: #faf6ef;
  --dt-papier: #ffffff;
  --dt-nuit: #1f3a4d;
  --dt-ocean: #2a7f9e;
  --dt-orange: #f08a24;
  --dt-orange-fonce: #d4710f;
  --dt-texte: #2b2f33;
  --dt-gris: #7b8087;
  --dt-trait: #eadfce;
  --dt-titre: "Poppins", "Segoe UI", system-ui, sans-serif;
  --dt-corps: "Nunito Sans", "Segoe UI", system-ui, sans-serif;
}

body {
  background: var(--dt-creme);
  color: var(--dt-texte);
  font-family: var(--dt-corps);
  font-size: 17px;
  line-height: 1.7;
}
a { color: var(--dt-ocean); transition: color .2s; }
a:hover { color: var(--dt-orange-fonce); }

/* ---- Largeur du site ---- */
.cm-container { max-width: 1440px; width: 94%; }
/* accueil : vraie grille (3 colonnes, 2 sur tablette, 1 sur mobile), cartes de meme hauteur */
.pt-cv-view .pt-cv-page {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.pt-cv-view .pt-cv-page::before, .pt-cv-view .pt-cv-page::after { display: none; }
.pt-cv-view .pt-cv-page > .pt-cv-content-item {
  float: none;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 991px) {
  .pt-cv-view .pt-cv-page { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .pt-cv-view .pt-cv-page { grid-template-columns: 1fr; }
}

/* ---- En-tete et menu ---- */
header.general-header { background: var(--dt-papier); box-shadow: 0 2px 16px rgba(31, 58, 77, .08); }
header.general-header .logo img { max-height: 76px; width: auto; }
nav.main-navigation, .primary-navigation, #main-nav { background: var(--dt-nuit) !important; }
.primary-navigation ul li a {
  font-family: var(--dt-titre);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #fff;
  transition: background .2s, color .2s;
}
.primary-navigation ul li a:hover,
.primary-navigation ul li.current-menu-item > a,
.primary-navigation ul li.current-menu-ancestor > a {
  background: var(--dt-orange);
  color: #fff !important;
}
.primary-navigation ul ul {
  background: var(--dt-nuit);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 10px 28px rgba(31, 58, 77, .25);
  overflow: hidden;
}

/* ---- Titres ---- */
.the_title h1, .section-title h1, .post_title h2, .post_title h2 a, .widget-title h2 {
  font-family: var(--dt-titre);
  color: var(--dt-nuit);
  line-height: 1.25;
}
.section-title h1 span { color: var(--dt-orange); }
.section-title { border-bottom: 3px solid var(--dt-orange); padding-bottom: 8px; margin-bottom: 24px; }

/* ---- Cartes d'articles (archives et recherche) ---- */
.grid-post-holder .card, .list-post-holder .card {
  background: var(--dt-papier);
  border: 1px solid var(--dt-trait);
  border-radius: 18px;
  box-shadow: 0 6px 22px rgba(31, 58, 77, .07);
  overflow: hidden;
  margin-bottom: 26px;
  transition: transform .2s, box-shadow .2s;
}
.grid-post-holder .card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(31, 58, 77, .14); }
.post_thumb img { display: block; width: 100%; height: auto; }
.card_content { padding: 18px 22px 22px; }
.post_title h2 { font-size: 20px; font-weight: 700; margin: 6px 0 10px; }
.post_title h2 a:hover { color: var(--dt-orange-fonce); }
.entry_cats a {
  display: inline-block;
  background: var(--dt-orange);
  color: #fff;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 3px 11px;
  border-radius: 999px;
}
.entry_cats a:hover { background: var(--dt-nuit); color: #fff; }
.cm-post-meta, .cm-post-meta a { font-size: 13px; color: var(--dt-gris); }

/* ---- Page d'accueil (grille Content Views) ---- */
.pt-cv-view .pt-cv-content-item {
  margin-bottom: 24px;
}
.pt-cv-view .pt-cv-ifield {
  background: var(--dt-papier);
  border: 1px solid var(--dt-trait);
  border-radius: 16px;
  overflow: hidden;
  padding: 0 0 16px;
  height: 100%;
  box-shadow: 0 6px 20px rgba(31, 58, 77, .07);
  transition: transform .2s, box-shadow .2s;
}
.pt-cv-view .pt-cv-ifield:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(31, 58, 77, .14); }
.pt-cv-view .pt-cv-thumbnail { width: 100%; height: 190px; object-fit: cover; margin: 0; }
.pt-cv-view .pt-cv-title { padding: 12px 16px 0; margin: 0; }
.pt-cv-view .pt-cv-title a {
  font-family: var(--dt-titre);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--dt-nuit);
}
.pt-cv-view .pt-cv-title a:hover { color: var(--dt-orange-fonce); }
.pt-cv-view .pt-cv-content {
  padding: 0 16px;
  font-size: 14.5px;
  color: var(--dt-gris);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---- Article ---- */
.single .the_title h1 { font-size: 36px; font-weight: 700; margin-bottom: 10px; }
.single .post_thumb img, .single .the_content img { border-radius: 14px; height: auto; }
.single .the_content { font-size: 18px; line-height: 1.8; }
.single .the_content h2, .single .the_content h3 { font-family: var(--dt-titre); color: var(--dt-nuit); line-height: 1.3; }
.single .the_content h2 {
  font-size: 26px;
  margin-top: 1.8em;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--dt-orange);
}
.single .the_content h3 { font-size: 21px; color: var(--dt-ocean); }
.single .the_content li::marker { color: var(--dt-orange); }
.single .the_content blockquote {
  border-left: 5px solid var(--dt-orange);
  background: var(--dt-papier);
  padding: 14px 20px;
  border-radius: 0 12px 12px 0;
  font-style: italic;
}
.breadcrumb { font-size: 13px; }

/* ---- Colonne laterale ---- */
.widget {
  background: var(--dt-papier);
  border: 1px solid var(--dt-trait);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 24px;
}
.widget-title h2 {
  font-size: 17px;
  font-weight: 700;
  border-bottom: 3px solid var(--dt-orange);
  padding-bottom: 8px;
  margin-bottom: 14px;
}
.widget input[type="search"], .widget input[type="text"] {
  border: 1px solid var(--dt-trait);
  border-radius: 999px;
  padding: 9px 16px;
  background: #fff;
}
.widget button, .widget input[type="submit"], input[type="submit"].wpcf7-submit {
  background: var(--dt-orange);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 9px 20px;
  font-weight: 700;
  cursor: pointer;
}
.widget button:hover, .widget input[type="submit"]:hover { background: var(--dt-nuit); }
.tagcloud a {
  display: inline-block;
  background: var(--dt-creme);
  border: 1px solid var(--dt-trait);
  border-radius: 999px;
  padding: 2px 12px;
  margin: 0 4px 6px 0;
  color: var(--dt-nuit);
}
.tagcloud a:hover { background: var(--dt-orange); border-color: var(--dt-orange); color: #fff; }

/* ---- Pied de page ---- */
footer.footer, footer.footer .footer_inner { background: var(--dt-nuit); color: #d6e2ea; }
footer.footer a { color: #fff; }
footer.footer .widget { background: transparent; border-color: rgba(255, 255, 255, .15); }
footer.footer .footer-widget-container .widget_tag_cloud .tagcloud a {
  background: rgba(255, 255, 255, .1) !important;
  border: 1px solid rgba(255, 255, 255, .3) !important;
  color: #fff !important;
}
footer.footer .footer-widget-container .widget_tag_cloud .tagcloud a:hover {
  background: var(--dt-orange) !important;
  border-color: var(--dt-orange) !important;
  color: #fff !important;
}
footer.footer .widget-title h2 { color: #fff; }

/* ---- Mobile ---- */
@media (max-width: 720px) {
  body { font-size: 16px; }
  .single .the_title h1 { font-size: 27px; }
  .pt-cv-view .pt-cv-thumbnail { height: 170px; }
  .card_content { padding: 16px 18px 20px; }
}
