/*
Theme Name: TheGov Child
Author: WebGeniusLab
Author URI: http://webgeniuslab.net
Description: -
Version: 1.0
Template: thegov
Text Domain:  thegov-child
*/

Programme triennal · CSS
/* ==========================================================
   PROGRAMME TRIENNAL 2026-2028 - Commune de Grand-Zattry
   OU COLLER CE FICHIER :
   Apparence > Editeur de fichiers du theme > style.css (TheGov Child)
   ou  Theme Options > Custom CSS
   ou  Apparence > Personnaliser > CSS additionnel
   La ligne @import doit rester la PREMIERE ligne du fichier.
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
 
/* ==========================================================
   PROGRAMME TRIENNAL 2026-2028 — Commune de Grand-Zattry
   Charte reprise de la page "Budget primitif" du site.
   Classes préfixées .pt- : aucun conflit avec le thème.
   ========================================================== */
.pt-page{
  --green-800:#0c6f36; --green-700:#12924a; --green-600:#1aa754; --green-400:#5fbd77;
  --green-300:#8ccf9c; --tint-green:#dcefdf;
  --gold:#d9a520; --gold-dark:#b0851b; --tint-gold:#fbf0d3;
  --brown-1:#6f3809; --brown-2:#c4701c; --amber:#f0b323;
  --ink:#33383d; --muted:#6d747c; --line:#e6e6e2;
  font-family:'Poppins','Montserrat',system-ui,sans-serif;
  color:var(--ink);line-height:1.65;background:#fff;
}
.pt-page *{box-sizing:border-box}
.pt-wrap{max-width:1160px;margin:0 auto;padding:0 26px}
.pt-page h1,.pt-page h2,.pt-page h3{margin:0;line-height:1.15}
.pt-page p{margin:0 0 1em}
 
/* ---------- HERO ---------- */
.pt-hero{
  background:linear-gradient(180deg,#17994b 0%,#3bb063 55%,#67c37e 100%);
  color:#fff;text-align:center;padding:62px 26px 70px;
}
.pt-hero .pt-kicker{
  font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  margin:0 0 26px;opacity:.96;
}
.pt-hero h1{font-size:clamp(30px,5vw,52px);font-weight:800;letter-spacing:.01em;text-transform:uppercase}
.pt-badge{
  display:inline-block;margin-top:30px;background:#c4a82b;color:#fff;
  font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:14px 30px;border-radius:4px;
}
 
/* ---------- TITRES DE SECTION ---------- */
.pt-sec{padding:56px 0}
.pt-h2{
  color:var(--green-600);font-weight:800;text-transform:uppercase;
  font-size:clamp(18px,2.2vw,23px);letter-spacing:.02em;margin-bottom:28px;
}
.pt-h2--bar{border-left:6px solid var(--gold);padding-left:18px}
.pt-note{font-size:13.5px;color:var(--muted);margin-top:14px}
 
/* ---------- CARTE MONTANT PHARE ---------- */
.pt-hl{
  background:linear-gradient(115deg,var(--brown-1) 0%,var(--brown-2) 55%,#a85a14 100%);
  color:#fff;text-align:center;padding:34px 30px 40px;border-radius:2px;
}
.pt-hl .pt-hl-top{
  font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin:0 0 22px;
}
.pt-hl .pt-hl-num{
  font-size:clamp(30px,5.6vw,58px);font-weight:800;color:var(--amber);
  letter-spacing:.01em;margin:0;
}
.pt-hl .pt-hl-words{font-style:italic;font-size:clamp(14px,1.7vw,18px);margin:24px 0 0;opacity:.96}
 
/* ---------- PAIRE DE CARTES STATS (à vagues) ---------- */
.pt-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:34px}
.pt-stat{position:relative;overflow:hidden;padding:26px 30px 30px;min-height:158px}
.pt-stat--g{background:var(--tint-green)}
.pt-stat--o{background:var(--tint-gold)}
.pt-stat h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;position:relative;z-index:2}
.pt-stat--g h3{color:var(--green-800)}
.pt-stat--o h3{color:var(--gold-dark)}
.pt-stat .pt-val{font-size:clamp(21px,2.9vw,31px);font-weight:700;margin:12px 0 8px;position:relative;z-index:2}
.pt-stat--g .pt-val{color:var(--green-700)}
.pt-stat--o .pt-val{color:#c69a2c}
.pt-stat .pt-cap{font-size:13.5px;color:var(--muted);margin:0;position:relative;z-index:2}
.pt-stat .pt-pct{
  position:absolute;right:26px;top:22px;z-index:3;
  font-size:clamp(28px,4.4vw,44px);font-weight:800;
}
.pt-stat--g .pt-pct{color:var(--green-600)}
.pt-stat--o .pt-pct{color:var(--gold)}
.pt-wave{position:absolute;left:0;right:0;bottom:0;height:78%;z-index:1;opacity:.55}
@media(max-width:760px){.pt-stats{grid-template-columns:1fr}}
 
/* ---------- CARTES SOURCES ---------- */
.pt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.pt-card{
  background:#fff;border:1px solid var(--line);border-top:4px solid var(--green-600);
  border-radius:6px;padding:24px;
}
.pt-card--gold{border-top-color:var(--gold)}
.pt-card h3{font-size:13.5px;font-weight:700;text-transform:uppercase;color:var(--green-800);letter-spacing:.04em}
.pt-card--gold h3{color:var(--gold-dark)}
.pt-card .pt-big{font-size:clamp(20px,2.5vw,27px);font-weight:700;color:var(--ink);margin:12px 0 4px}
.pt-card .pt-sm{font-size:13.5px;color:var(--muted);margin:0}
.pt-bar{height:7px;border-radius:99px;background:#eee;margin-top:16px;overflow:hidden}
.pt-bar i{display:block;height:100%;background:var(--green-600)}
.pt-card--gold .pt-bar i{background:var(--gold)}
 
/* ---------- TABLEAUX ---------- */
.pt-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}
.pt-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:660px;background:#fff}
.pt-table th,.pt-table td{padding:14px 16px;text-align:right;border-bottom:1px solid var(--line)}
.pt-table th:first-child,.pt-table td:first-child{text-align:left}
.pt-table thead th{
  background:var(--green-600);color:#fff;font-weight:600;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.05em;
}
.pt-table tbody tr:nth-child(even){background:#fafbf9}
.pt-table tfoot td{background:var(--tint-green);color:var(--green-800);font-weight:700;border-bottom:0}
.pt-table .pt-gold{color:var(--gold-dark)}
 
/* ---------- PRIORITÉS ---------- */
.pt-axes{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.pt-axe{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:6px}
.pt-axe>summary{
  cursor:pointer;list-style:none;padding:20px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:14px;font-weight:700;color:var(--green-800);font-size:16px;
}
.pt-axe>summary::-webkit-details-marker{display:none}
.pt-axe>summary::after{content:"+";color:var(--gold);font-size:24px;font-weight:400;line-height:1}
.pt-axe[open]>summary::after{content:"–"}
.pt-axe .pt-count{
  font-size:11.5px;font-weight:600;color:var(--green-700);background:var(--tint-green);
  border-radius:99px;padding:4px 11px;text-transform:uppercase;letter-spacing:.04em;
}
.pt-axe .pt-body{padding:0 22px 20px}
.pt-axe .pt-diag{font-size:14px;color:var(--muted);border-left:3px solid var(--line);padding-left:14px;margin-bottom:16px}
.pt-prio{list-style:none;margin:0;padding:0}
.pt-prio li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px}
.pt-prio b{
  flex:0 0 52px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--green-600);color:#fff;border-radius:4px;font-size:12px;font-weight:600;
}
 
/* ---------- MONOGRAPHIE ---------- */
.pt-dl{margin:0;font-size:14.5px}
.pt-dl div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line)}
.pt-dl div:last-child{border-bottom:0}
.pt-dl dt{color:var(--muted)}
.pt-dl dd{margin:0;font-weight:600;text-align:right}
.pt-card ul{margin:10px 0 0;padding-left:18px;font-size:14.5px}
.pt-card li{margin-bottom:5px}
 
/* ---------- ALERTE ---------- */
.pt-alert{
  margin-top:20px;padding:16px 18px;border-radius:6px;font-size:14px;
  background:#fdf6e6;border:1px solid #e9d49a;color:#7a5a12;
}
 
/* ---------- CLÔTURE ---------- */
.pt-close{background:linear-gradient(180deg,#12924a,#1aa754);color:#fff;padding:60px 0}
.pt-close blockquote{font-size:clamp(19px,2.6vw,28px);font-weight:600;margin:0;max-width:24ch;line-height:1.35}
.pt-close .pt-sign{margin-top:26px;font-size:14.5px;opacity:.92}
.pt-close .pt-sign b{display:block;font-size:18px;margin-top:4px}
.pt-closegrid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.pt-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pt-btn{display:inline-block;padding:15px 28px;border-radius:4px;text-decoration:none;font-weight:600;font-size:14px;
  text-transform:uppercase;letter-spacing:.05em;background:var(--gold);color:#fff}
.pt-btn--ghost{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}
@media(max-width:820px){.pt-closegrid{grid-template-columns:1fr}}
 
