/*
 Theme Name: Astra Child
 Template:   astra
 Version:    1.0.0
*/

/* ===================== DOMICILE DOUBS — VARIABLES ===================== */
:root{
  --dd-green:#28a745;           /* SAP */
  --dd-green-soft:#e9f7ef;
  --dd-blue:#2563eb;            /* Hors SAP */
  --dd-blue-soft:#e8f0fe;
  --dd-text:#0f172a;
  --dd-muted:#64748b;
  --dd-bg:#ffffff;
  --dd-alt:#f8fafc;
  --dd-ring:rgba(16,185,129,.3);
  --dd-space-0:0;
  --dd-space-1:.5rem;
  --dd-space-2:1rem;
  --dd-space-3:1.5rem;
  --dd-space-4:2rem;
  --dd-radius:14px;
  --dd-shadow:0 8px 24px rgba(0,0,0,.06);
}

/* ===================== BASE ===================== */
.dd-section *{box-sizing:border-box;}
.dd-section img{max-width:100%;height:auto;display:block}

/* ===================== SECTIONS & TYPO ===================== */
.dd-section{
  width:100%;
  padding: clamp(28px, 4vw, 48px) 16px;
  background:var(--dd-bg);
  color:var(--dd-text);
}
.dd-section.alt{background:var(--dd-alt);}

.dd-section .dd-title{
  font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem);
  line-height:1.2;
  margin:0 0 var(--dd-space-2);
  text-align:center; /* H1/H2 centrés */
}
.dd-section .dd-lead{
  max-width: 880px;
  margin: 0 auto var(--dd-space-2);
  font-size: clamp(1rem, .95rem + .4vw, 1.15rem);
  color:var(--dd-muted);
  text-align:center; /* phrase sous le titre centrée */
}

/* ===================== BOUTONS ===================== */
.dd-btn{
  display:inline-block;
  padding:.75rem 1.05rem;
  border:2px solid currentColor;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  line-height:1;
  transition:all .18s ease;
  margin:4px;
}
.dd-section .dd-btn{
  color:var(--dd-green);
  border-color:var(--dd-green);
  background:transparent;
}
.dd-section .dd-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(16,185,129,.18);
}

/* Variante boutons pleins (contraste max) */
.dd-btn.is-solid{
  background:var(--dd-green);
  color:#fff;
  border-color:var(--dd-green);
}
.dd-btn.is-solid.blue{
  background:var(--dd-blue);
  border-color:var(--dd-blue);
}

/* Spécifique URSSAF (orange) */
.urssaf-only .dd-btn{
  color:#ff6a00; border-color:#ff6a00;
}
.urssaf-only .dd-btn:hover{
  box-shadow:0 8px 20px rgba(255,106,0,.18);
}
.urssaf-only .dd-title em{ color:#ff6a00; }

/* ===================== GRID & CARDS ===================== */
.dd-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
  gap: clamp(12px, 2.5vw, 20px);
  margin: var(--dd-space-2) 0 0;
}
.dd-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:var(--dd-radius);
  box-shadow:var(--dd-shadow);
  padding: clamp(12px, 2.2vw, 16px);
  transition:transform .18s ease, box-shadow .18s ease;
  height:100%;
}
.dd-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.dd-card h3{
  font-size:1.05rem;
  margin:.2rem 0 .4rem;
  color:var(--dd-text);
}
.dd-card p{color:var(--dd-muted);margin:0}
.dd-card img{
  width:100%; height:200px; object-fit:cover; border-radius:var(--dd-radius); margin-bottom:12px;
}

/* ===================== BADGES ===================== */
.dd-badge{
  display:inline-block;
  font-size:.85rem;
  padding:.25rem .6rem;
  border:2px solid;
  border-radius:999px;
  font-weight:700;
  margin-bottom:.4rem;
}
.dd-badge[data-type="sap"]{border-color:var(--dd-green); color:var(--dd-green);}
.dd-badge[data-type="pro"]{border-color:var(--dd-blue); color:var(--dd-blue);}

/* ===================== ÉTAPES ===================== */
.dd-steps{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  max-width:960px;
  margin:0 auto;
}
.dd-step{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:var(--dd-radius);
  padding:12px 14px;
  box-shadow:var(--dd-shadow);
  color:var(--dd-text);
}
@media (min-width: 900px){
  .dd-steps{grid-template-columns:1fr 1fr;}
}

/* ===================== FAQ (accordéon natif) ===================== */
.dd-faq details{
  border:1px solid #e5e7eb;
  border-radius:var(--dd-radius);
  background:#fff;
  box-shadow:var(--dd-shadow);
  overflow:hidden;
  margin:0 0 12px;
}
.dd-faq summary{
  list-style:none; cursor:pointer; padding:12px 16px; font-weight:600; color:var(--dd-text);
  display:flex; align-items:center; justify-content:space-between;
}
.dd-faq summary::-webkit-details-marker{display:none}
.dd-faq .answer{
  padding:12px 16px; color:var(--dd-muted); line-height:1.6; border-top:1px solid #e5e7eb; background:#fafafa;
}

/* ===================== CTA BLOC ===================== */
.dd-cta{
  max-width:900px;
  margin:0 auto;
  text-align:center; /* (corrigé) */
  background:linear-gradient(180deg, var(--dd-green-soft), #fff);
  border:1px solid #e5e7eb;
  border-radius:var(--dd-radius);
  padding: clamp(16px, 3vw, 24px);
  box-shadow:var(--dd-shadow);
}
.dd-cta .cta-title{
  font-size: clamp(1.1rem, 1rem + .6vw, 1.4rem);
  margin:0 0 10px;
}

/* ===================== UTILITAIRES ===================== */
.dd-center{text-align:center}
.dd-muted{color:var(--dd-muted)}
.dd-hide{display:none}

/* ===================== ASTRA — NAVIGATION ===================== */
/* Menu desktop : liens lisibles */
.main-header-menu .menu-link {
  color:#1d2a2e !important;
  font-weight:600;
}
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link {
  color:#1b7932 !important;
}

/* Sous-menus desktop */
.main-header-menu .sub-menu {
  background:#fff !important;
  border:1px solid #e7e7e7 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.08) !important;
}
.main-header-menu .sub-menu a {
  color:#1d2a2e !important;
}
.main-header-menu .sub-menu a:hover {
  background:#f6f7f8 !important;
}

/* Header (desktop) */
.ast-above-header-bar,
.ast-primary-header-bar {
  background:#ffffff !important;
  border-bottom:1px solid #e8e8e8 !important;
  box-shadow:none !important;
}

/* Drawer mobile (off-canvas) : fond blanc */
.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer .main-navigation {
  background:#ffffff !important;
}
.ast-mobile-popup-drawer .main-navigation .menu-item > a {
  color:#1d2a2e !important;
  padding:12px 16px !important;
  border-bottom:1px solid #ececec;
  font-weight:600;
}
.ast-mobile-popup-drawer .sub-menu {
  background:#fff !important;
  border:1px solid #eaeaea !important;
  border-radius:8px; margin:6px 10px; padding:6px 0;
}
.ast-mobile-popup-drawer .ast-mobile-popup-close {
  background:#fff !important; border-radius:6px;
}
.ast-mobile-popup-drawer .ast-mobile-popup-close svg {
  fill:#1d2a2e !important;
}
.ast-mobile-popup-overlay {
  background:rgba(0,0,0,.45) !important;
}

/* ===================== FORCE OVERRIDES (anti-conflits Elementor/thème) ===================== */
/* Augmente la spécificité et verrouille l’aspect si le thème surcharge trop */
:where(body) :where(.entry-content, .elementor) .dd-section{
  width:100% !important;
  padding: clamp(28px, 4vw, 48px) 16px !important;
  background:var(--dd-bg) !important;
  color:var(--dd-text) !important;
  margin:0 auto !important;
}
:where(body) :where(.entry-content, .elementor) .dd-section.alt{
  background:var(--dd-alt) !important;
}
:where(body) :where(.entry-content, .elementor) .dd-section .dd-title{
  font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem) !important;
  line-height:1.2 !important;
  margin:0 0 1rem !important;
  text-align:center !important;
}
:where(body) :where(.entry-content, .elementor) .dd-section .dd-lead{
  max-width:880px !important;
  margin:0 auto 1rem !important;
  font-size: clamp(1rem, .95rem + .4vw, 1.15rem) !important;
  color:var(--dd-muted) !important;
  text-align:center !important;
}
:where(body) :where(.entry-content, .elementor) .dd-btn{
  display:inline-block !important;
  padding:.75rem 1.05rem !important;
  border:2px solid currentColor !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
  transition:all .18s ease !important;
  margin:4px !important;
  color:var(--dd-green) !important;
  border-color:var(--dd-green) !important;
  background:transparent !important;
}
:where(body) :where(.entry-content, .elementor) .dd-btn.is-solid{
  background:var(--dd-green) !important;
  color:#fff !important;
  border-color:var(--dd-green) !important;
}
:where(body) :where(.entry-content, .elementor) .dd-grid{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr)) !important;
  gap: clamp(12px, 2.5vw, 20px) !important;
  margin: 1rem 0 0 !important;
}
:where(body) :where(.entry-content, .elementor) .dd-card{
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:var(--dd-radius) !important;
  box-shadow:var(--dd-shadow) !important;
  padding: clamp(12px, 2.2vw, 16px) !important;
  height:100% !important;
}
:where(body) :where(.entry-content, .elementor) .dd-card h3{
  font-size:1.05rem !important;
  margin:.2rem 0 .4rem !important;
  color:var(--dd-text) !important;
}
:where(body) :where(.entry-content, .elementor) .dd-card p{
  color:var(--dd-muted) !important; margin:0 !important;
}
:where(body) :where(.entry-content, .elementor) .dd-card img{
  width:100% !important; height:200px !important; object-fit:cover !important;
  border-radius:var(--dd-radius) !important; margin-bottom:12px !important;
}
:where(body) :where(.entry-content, .elementor) .dd-badge{
  display:inline-block !important; font-size:.85rem !important;
  padding:.25rem .6rem !important; border:2px solid !important;
  border-radius:999px !important; font-weight:700 !important; margin-bottom:.4rem !important;
}
:where(body) .dd-badge[data-type="sap"]{ border-color:var(--dd-green) !important; color:var(--dd-green) !important; }
:where(body) .dd-badge[data-type="pro"]{ border-color:var(--dd-blue) !important; color:var(--dd-blue) !important; }
:where(body) :where(.entry-content, .elementor) .dd-steps{
  display:grid !important; grid-template-columns:1fr !important; gap:10px !important;
  max-width:960px !important; margin:0 auto !important;
}
@media (min-width:900px){
  :where(body) :where(.entry-content, .elementor) .dd-steps{grid-template-columns:1fr 1fr !important;}
}
:where(body) :where(.entry-content, .elementor) .dd-step{
  background:#fff !important; border:1px solid #e5e7eb !important;
  border-radius:var(--dd-radius) !important; padding:12px 14px !important; box-shadow:var(--dd-shadow) !important;
}
:where(body) :where(.entry-content, .elementor) .dd-faq details{
  border:1px solid #e5e7eb !important; border-radius:var(--dd-radius) !important;
  background:#fff !important; box-shadow:var(--dd-shadow) !important; overflow:hidden !important;
}
:where(body) :where(.entry-content, .elementor) .dd-faq summary{
  list-style:none !important; cursor:pointer !important; padding:12px 16px !important;
  font-weight:600 !important; color:var(--dd-text) !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
}
:where(body) :where(.entry-content, .elementor) .dd-faq .answer{
  padding:12px 16px !important; color:var(--dd-muted) !important; line-height:1.6 !important;
  border-top:1px solid #e5e7eb !important; background:#fafafa !important;
}
:where(body) :where(.entry-content, .elementor) .dd-cta{
  max-width:900px !important; margin:0 auto !important; text-align:center !important;
  background:linear-gradient(180deg, var(--dd-green-soft), #fff) !important;
  border:1px solid #e5e7eb !important; border-radius:var(--dd-radius) !important;
  padding: clamp(16px, 3vw, 24px) !important; box-shadow:var(--dd-shadow) !important;
}
:where(body) :where(.entry-content, .elementor) .dd-cta .cta-title{
  font-size: clamp(1.1rem, 1rem + .6vw, 1.4rem) !important; margin:0 0 10px !important;
}

.dd-img-full {
  width: 100%;
  height: auto !important;       /* pas de hauteur fixe */
  object-fit: contain !important;/* montre toute l’image */
}
