/*
Theme Name: Dammarie Citoyenne 2026
Theme URI: https://dammariecitoyenne2026.fr/
Author: Dammarie Citoyenne
Description: Thème simple pour la campagne Dammarie Citoyenne (Accueil + pages Tracte 2 & Tracte 3 avec pictogrammes).
Version: 1.0.0
License: GPLv2 or later
Text Domain: dammarie-citoyenne
*/

:root{
  --dc-blue:#1f5f7a;
  --dc-green:#0f8a3c;
  --dc-red:#d93a2f;
  --dc-bg:#ffffff;
  --dc-muted:#5c6b74;
  --dc-card:#f4f7f9;
  --dc-shadow: 0 8px 30px rgba(0,0,0,.08);
  --dc-radius: 18px;
  --dc-max: 1120px;
  --dc-font: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--dc-font);
  color:#0e1417;
  background:var(--dc-bg);
  line-height:1.5;
}
a{color:inherit;text-decoration:none;}
a:hover{opacity:.92}
img{max-width:100%;height:auto;display:block;}

.dc-container{max-width:var(--dc-max);margin:0 auto;padding:0 18px;}
.dc-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.dc-header-inner{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:12px 0;}
.dc-brand{display:flex;align-items:center;gap:12px;}
.dc-brand img{height:40px;width:auto;}
.dc-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.dc-nav a{padding:8px 10px;border-radius:12px;font-weight:600;color:var(--dc-blue);}
.dc-nav a:hover{background:rgba(31,95,122,.10);}

.dc-hero{
  position:relative;
  overflow:hidden;
  border-radius:var(--dc-radius);
  box-shadow:var(--dc-shadow);
  margin:18px auto 24px auto;
}
.dc-hero .dc-hero-bg{
  width:100%;
  aspect-ratio: 16 / 9;
  object-fit:cover;
  filter:contrast(1.02) saturate(1.02);
}
.dc-hero .dc-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.18) 55%, rgba(0,0,0,0));
}
.dc-hero .dc-hero-content{
  position:absolute;left:22px;right:22px;bottom:54px;
  color:#fff;
  max-width: 680px;
}
.dc-hero h1{margin:0 0 6px 0;font-size:42px;line-height:1.05;letter-spacing:-.02em;}
.dc-hero p{margin:0 0 14px 0;color:rgba(255,255,255,.92);font-size:18px;}
.dc-btn{
  display:inline-block;
  padding:12px 16px;
  background:var(--dc-red);
  color:#fff;
  font-weight:800;
  border-radius:14px;
  box-shadow:0 10px 18px rgba(217,58,47,.25);
}
.dc-btn:hover{transform:translateY(-1px);}

.dc-wave{
  position:absolute;left:-20px;right:-20px;bottom:-30px;height:90px;
  background: radial-gradient(120% 120% at 10% 10%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 40%, rgba(15,138,60,.95) 41%, rgba(15,138,60,.95) 100%);
  filter: blur(0px);
  opacity:.95;
  transform: rotate(-1deg);
}

.dc-section-title{
  text-align:center;
  margin:26px 0 14px 0;
  color:var(--dc-blue);
  font-size:30px;
  letter-spacing:-.02em;
}
.dc-subtitle{
  text-align:center;
  margin:-6px 0 18px 0;
  color:var(--dc-muted);
}

.dc-grid{
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap:14px;
}
@media (max-width: 980px){
  .dc-grid{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 560px){
  .dc-grid{grid-template-columns: 1fr;}
  .dc-hero h1{font-size:34px;}
}

.dc-card{
  background:var(--dc-card);
  border-radius:var(--dc-radius);
  padding:14px 14px 16px 14px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 18px rgba(0,0,0,.05);
  min-height: 140px;
}
.dc-card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.dc-card-top img{width:44px;height:44px;}
.dc-card h3{margin:0;font-size:16px;color:#0e1417;}
.dc-card p{margin:0;color:var(--dc-muted);font-size:14px;}
.dc-card .dc-card-link{margin-top:12px;display:inline-flex;gap:8px;align-items:center;color:var(--dc-blue);font-weight:800;}
.dc-card .dc-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:999px;
  background:#fff;border:1px solid rgba(0,0,0,.08);
  font-weight:800;
}

.dc-tracte-wrap{
  margin:18px auto 34px auto;
  background:#fff;
  border-radius:var(--dc-radius);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--dc-shadow);
  overflow:hidden;
}
.dc-tracte-wrap header{
  padding:14px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.dc-tracte-wrap header h2{margin:0;font-size:18px;color:var(--dc-blue);}
.dc-tracte-actions{display:flex;gap:10px;flex-wrap:wrap;}
.dc-tracte-actions a{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(31,95,122,.10);color:var(--dc-blue);
  font-weight:800;
}
.dc-tracte-actions a img{width:22px;height:22px;}
.dc-tracte-img{width:100%;}

.dc-content{max-width:var(--dc-max);margin:0 auto;padding:0 18px 36px;}
.dc-page-title{margin:20px 0 10px 0;font-size:28px;color:var(--dc-blue);}
.dc-footer{
  margin-top:36px;
  padding:22px 0;
  border-top:1px solid rgba(0,0,0,.06);
  color:var(--dc-muted);
}
.dc-footer small{display:block;text-align:center;}



/* Priority pages */
.dc-page-hero{padding:28px 0 10px;}
.dc-page-hero-inner{display:flex;gap:18px;align-items:center;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:18px 18px;}
.dc-page-hero-icon{width:84px;height:auto;flex:0 0 auto;}
.dc-lead{margin:.35rem 0 0;color:#41505b;font-size:1.05rem}
.dc-page-content{background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:18px;margin:18px 0 40px;}
.dc-bullets{margin:0;padding-left:1.2rem;line-height:1.55}
.dc-bullets li{margin:.55rem 0}
.dc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.dc-btn-outline{background:transparent;border:2px solid #1f4e6b;color:#1f4e6b}
.dc-btn-outline:hover{filter:none;opacity:.9}
