/*
Theme Name: Chien Vous Parle
Theme URI: https://example.com/chien-vous-parle
Author: Chien Vous Parle
Author URI: https://example.com
Description: Thème WordPress sur-mesure pour l’éducation canine et la vente de formation LearnDash.
Version: 0.3.4
Requires at least: 6.1
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: chien-vous-parle
*/

:root{
  --cvg-beige: #e8d5b4;
  --cvg-green: #213d1f;
  --cvg-brown: #a06a3f;
  --cvg-white: #ffffff;
  --cvg-black: #0f0f0f;
  --cvg-radius: 18px;
  --cvg-container: 1100px;
  --cvg-shadow: 0 8px 20px rgba(0,0,0,.12);
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family: "Dosis", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--cvg-green);
  background: var(--cvg-beige);
  line-height:1.6;
}

h1,h2,h3,h4{
  font-family: "Sue Ellen Francisco", cursive;
  font-weight: 400;
  color: var(--cvg-beige);
  letter-spacing: .5px;
}

a{color: var(--cvg-brown); text-decoration:none;}
a:hover{text-decoration:underline;}

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

.cvg-btn,
.wp-block-button .wp-block-button__link,
.wp-element-button{
  display:inline-block;
  background: var(--cvg-brown) !important;
  color: var(--cvg-beige) !important;
  padding:12px 18px;
  border-radius:999px !important;
  font-weight:600;
  border:0 !important;
  transition:transform .15s ease, opacity .15s ease;
  box-shadow: var(--cvg-shadow);
}
.cvg-btn:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-element-button:hover{transform:translateY(-2px); opacity:.95; text-decoration:none;}

.cvg-header{
  position:sticky; top:0; z-index:1000;
  background: var(--cvg-green);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.cvg-header__inner{
  height:74px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.cvg-logo img{height:48px; width:auto;}
.cvg-burger{
  background:transparent; border:0; cursor:pointer; color:var(--cvg-beige);
  width:44px; height:44px; display:grid; place-items:center;
}
.cvg-burger span{
  display:block; width:26px; height:2px; background:var(--cvg-beige);
  margin:5px 0; transition:transform .2s ease, opacity .2s ease;
}

.cvg-sidepanel{
  position:fixed; top:0; right:-360px; width:340px; height:100vh;
  background:var(--cvg-green); color:var(--cvg-beige);
  transition:right .25s ease; padding:90px 24px 24px; z-index:1100;
  box-shadow: -10px 0 30px rgba(0,0,0,.25);
}
.cvg-sidepanel.is-open{right:0;}
.cvg-sidepanel a{color:var(--cvg-beige); font-size:20px; display:block; padding:10px 0;}
.cvg-sidepanel .current-menu-item > a{opacity:.8; text-decoration:underline;}

.cvg-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:1050;
}
.cvg-overlay.is-open{opacity:1; pointer-events:auto;}

.cvg-hero{
  position:relative; min-height:70vh; display:flex; align-items:center;
  background:var(--cvg-green); color:var(--cvg-beige);
}
.cvg-hero__bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:.35;
}
.cvg-hero__content{position:relative; padding:90px 0;}
.cvg-hero__title{font-size:clamp(34px,5vw,64px); margin:0 0 10px;}
.cvg-hero__subtitle{font-size:clamp(18px,2.2vw,26px); margin:0 0 18px; color:var(--cvg-beige);}

.cvg-section{
  padding:70px 0; background:var(--cvg-beige); color:var(--cvg-green);
}
.cvg-section--alt{background:#f1e3c9;}
.cvg-section h2{color:var(--cvg-green); font-size:clamp(28px,3.5vw,44px); margin-top:0;}

.cvg-grid{
  display:grid; gap:22px;
}
@media(min-width:900px){
  .cvg-grid-2{grid-template-columns:1fr 1fr;}
  .cvg-grid-3{grid-template-columns:repeat(3,1fr);}
}

.cvg-card{
  background:var(--cvg-white); border-radius:var(--cvg-radius);
  padding:22px; box-shadow:var(--cvg-shadow);
}
.cvg-card h3{color:var(--cvg-green); margin-top:0;}
.cvg-price{font-weight:700; color:var(--cvg-brown); font-size:20px;}

.cvg-testimonial{
  font-style:italic;
  border-left:4px solid var(--cvg-brown);
  padding-left:14px;
}

.cvg-fadein{opacity:0; transform:translateY(10px); transition:opacity .5s ease, transform .5s ease;}
.cvg-fadein.is-visible{opacity:1; transform:none;}

/* Heading enforcement (Gutenberg + theme) */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.wp-block-heading,
.cvg-card h1,
.cvg-card h2,
.cvg-card h3,
.cvg-card h4{
  font-family: "Sue Ellen Francisco", cursive !important;
  font-weight: 400;
}

.cvg-footer{
  background:var(--cvg-green); color:var(--cvg-beige);
  padding:40px 0;
}
.cvg-footer a{color:var(--cvg-beige);}
.cvg-footer__grid{display:grid; gap:20px;}
@media(min-width:800px){.cvg-footer__grid{grid-template-columns:2fr 1fr 1fr;}}


.cvg-footer__social{display:flex; gap:12px; align-items:center;}
.cvg-social-link{
  width:34px; height:34px;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--cvg-beige);
}
.cvg-social-link svg{width:100%; height:100%; display:block;}
.cvg-footer-links{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cvg-footer-links a{text-decoration:none;}
.cvg-footer-links a:hover{text-decoration:underline;}



/* --- Petsitting / Tarifs --- */

.cvg-pricing-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cvg-pricing-table--matrix{min-width:520px;}
.cvg-pricing-table{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
  font-size: 16px;
}
.cvg-pricing-table th,
.cvg-pricing-table td{
  border:1px solid rgba(232,213,180,.25);
  padding:10px 12px;
  vertical-align:top;
}
.cvg-pricing-table th{
  background: rgba(232,213,180,.12);
  font-weight:700;
  text-align:left;
}
.cvg-pricing-table tr:nth-child(even) td{
  background: rgba(255,255,255,.04);
}

/* --- Petsitting layout --- */

.cvg-petsitting-grid{grid-template-columns:1fr;}

.cvg-petsitting-card .cvg-petsitting-inner{
display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:start;
}

@media(min-width:900px){
  /* Two-column layout only when an image is present. Without media, keep a single column. */
  .cvg-petsitting-card .cvg-petsitting-inner.has-media{
    grid-template-columns: minmax(220px, 320px) 1fr;
  }
}

.cvg-petsitting-media img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 18px;
}

/* Keep all pricing/table content in the body column on desktop */
.cvg-petsitting-body{min-width:0;}
.cvg-petsitting-content > :first-child{margin-top:0;}
.cvg-petsitting-body .cvg-pricing-wrap{margin-top:12px;}

.cvg-petsitting-body h3{margin-top:0;}
.cvg-petsitting-body .cvg-btn{display:inline-block;}


/* --- Services: "Pourquoi" / "Comment" blocks --- */
.cvg-whyhow{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(39,59,41,0.12);
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.cvg-whyhow-block h4{
  margin: 0 0 6px;
  font-size: 20px;
  letter-spacing: 0.2px;
  font-weight: 700;
}

.cvg-whyhow-text{font-size:16px; line-height:1.5;}

.cvg-whyhow-text p{
  margin: 0 0 10px;
}

.cvg-whyhow-text p:last-child{
  margin-bottom: 0;
}

.cvg-whyhow-text ul,
.cvg-whyhow-text ol{
  margin: 0 0 10px 18px;
  padding: 0;
}

.cvg-whyhow-text li{
  margin: 4px 0;
}

