
:root {
  --gw-dark:#0F172A;
  --gw-primary:#2563EB;
  --gw-primary-dark:#1D4ED8;
  --gw-primary-soft:#EFF6FF;
  --gw-success:#10B981;
  --gw-success-dark:#059669;
  --gw-success-soft:#ECFDF5;
  --gw-warning:#F97316;
  --gw-warning-dark:#EA580C;
  --gw-warning-soft:#FFF7ED;
  --gw-text:#334155;
  --gw-muted:#64748B;
  --gw-border:#E2E8F0;
  --gw-bg:#F8FAFC;
  --gw-white:#FFFFFF;
  --gw-container:1200px;
  --gw-radius:24px;
  --gw-radius-xl:32px;
  --gw-pill:999px;
  --gw-shadow:0 10px 30px rgba(15,23,42,.07);
  --gw-shadow-lg:0 24px 70px rgba(15,23,42,.14);
  --gw-font-body:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --gw-font-heading:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --gw-font-mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;
}

html { scroll-behavior:smooth; }
body { background:var(--gw-bg); color:var(--gw-text); }

.gw-container {
  width:min(100% - 32px,var(--gw-container));
  margin-inline:auto;
}

.gw-section { padding:96px 0; }
.gw-section--white { background:#fff; }
.gw-section--soft { background:var(--gw-bg); }
.gw-section--green { background:linear-gradient(180deg,#fff,var(--gw-success-soft)); }
.gw-section--dark { background:var(--gw-dark); color:#CBD5E1; }
.gw-section--dark h2,
.gw-section--dark h3 { color:#fff; }

.gw-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  padding:7px 12px;
  border-radius:999px;
  background:var(--gw-primary-soft);
  color:var(--gw-primary);
  font-size:13px;
  font-weight:850;
}
.gw-eyebrow--urgent { background:var(--gw-warning-soft); color:var(--gw-warning-dark); }
.gw-eyebrow--success { background:var(--gw-success-soft); color:var(--gw-success-dark); }
.gw-eyebrow--dark {
  background:rgba(37,99,235,.14);
  color:#BFDBFE;
  border:1px solid rgba(191,219,254,.18);
}

.gw-dot { width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--gw-success); }
.gw-dot--blue { background:var(--gw-primary); }
.gw-dot--orange { background:var(--gw-warning); }

.gw-button,
.wp-block-button__link.gw-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:850;
  font-size:15px;
  line-height:1;
  border:0;
  text-decoration:none;
  transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.gw-button:hover { transform:translateY(-2px); }
.gw-button--primary { background:var(--gw-primary); color:#fff; box-shadow:0 12px 28px rgba(37,99,235,.22); }
.gw-button--primary:hover { background:var(--gw-primary-dark); }
.gw-button--urgent { background:var(--gw-warning); color:#fff; box-shadow:0 12px 28px rgba(249,115,22,.22); }
.gw-button--urgent:hover { background:var(--gw-warning-dark); }
.gw-button--secondary { background:#fff; color:var(--gw-dark); border:1px solid #CBD5E1; box-shadow:0 8px 18px rgba(15,23,42,.04); }
.gw-button--ghost-dark { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.18); }

.gw-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.gw-header__inner {
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.gw-logo {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--gw-font-heading);
  font-weight:900;
  color:var(--gw-dark);
  font-size:24px;
  letter-spacing:-.05em;
}
.gw-logo strong { color:var(--gw-primary); }
.gw-logo__mark {
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,var(--gw-primary),var(--gw-success));
  color:#fff;
  box-shadow:0 12px 24px rgba(37,99,235,.2);
}
.gw-nav {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  font-weight:750;
  color:#475569;
}
.gw-nav a:hover { color:var(--gw-primary); }

.gw-hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 30%),
             radial-gradient(circle at 85% 18%,rgba(16,185,129,.12),transparent 28%),
             linear-gradient(180deg,#F8FAFC,#fff);
  padding:106px 0 88px;
}
.gw-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.85fr);
  gap:56px;
  align-items:center;
}
.gw-stack { display:grid; gap:22px; }
.gw-hero__content { display:grid; gap:26px; max-width:720px; }
.gw-lead { font-size:clamp(1.05rem,1.8vw,1.25rem); line-height:1.62; color:var(--gw-text); }
.gw-section--dark .gw-lead,
.gw-final .gw-lead,
.gw-final p { color:#CBD5E1; }
.gw-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }

.gw-trust-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0;
  margin:0;
  list-style:none;
}
.gw-trust-list li {
  display:inline-flex;
  gap:7px;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  color:#475569;
  border:1px solid var(--gw-border);
  font-size:13px;
  font-weight:750;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.gw-card,
.gw-diagnostic-card,
.gw-form-card {
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:var(--gw-radius);
  box-shadow:var(--gw-shadow);
}
.gw-card { padding:26px; display:grid; gap:18px; transition:.2s; }
.gw-card:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(15,23,42,.10); border-color:#BFDBFE; }
.gw-card--urgent { background:linear-gradient(180deg,#fff,var(--gw-warning-soft)); border-color:rgba(249,115,22,.24); }
.gw-card--security { background:linear-gradient(180deg,#fff,var(--gw-primary-soft)); border-color:rgba(37,99,235,.18); }
.gw-card--maintenance { background:linear-gradient(180deg,#fff,var(--gw-success-soft)); border-color:rgba(16,185,129,.18); }
.gw-icon {
  width:46px;height:46px;border-radius:16px;
  display:grid;place-items:center;
  background:var(--gw-primary-soft);color:var(--gw-primary);
  font-weight:900;
}
.gw-icon--urgent { background:var(--gw-warning-soft); color:var(--gw-warning-dark); }
.gw-icon--success { background:var(--gw-success-soft); color:var(--gw-success-dark); }

.gw-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gw-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.gw-section-head { display:grid; gap:18px; max-width:860px; margin-bottom:44px; }
.gw-section-head--center { text-align:center; margin-inline:auto; justify-items:center; }

.gw-check-list {
  display:grid;
  gap:9px;
  list-style:none;
  padding:0;
  margin:0;
  color:#475569;
  font-size:14px;
  line-height:1.45;
}
.gw-check-list li { display:grid; grid-template-columns:18px 1fr; gap:8px; }
.gw-check-list li:before { content:"✓"; color:var(--gw-success-dark); font-weight:900; }
.gw-check-list--urgent li:before { color:var(--gw-warning-dark); }
.gw-check-list--blue li:before { color:var(--gw-primary); }

.gw-link-arrow { color:var(--gw-primary); font-weight:850; }
.gw-link-arrow--urgent { color:var(--gw-warning-dark); }
.gw-link-arrow--success { color:var(--gw-success-dark); }

.gw-diagnostic-card {
  position:relative;
  padding:26px;
  border-radius:30px;
  box-shadow:var(--gw-shadow-lg);
  overflow:hidden;
}
.gw-diagnostic-card:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(37,99,235,.04) 1px,transparent 1px),
             linear-gradient(rgba(37,99,235,.04) 1px,transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(180deg,#000,transparent 85%);
  pointer-events:none;
}
.gw-diagnostic-card__inner { position:relative; z-index:1; display:grid; gap:20px; }
.gw-panel-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.gw-panel-title span { font-family:var(--gw-font-mono); font-size:12px; color:var(--gw-muted); text-transform:uppercase; letter-spacing:.08em; }
.gw-panel-title strong { display:block; font-family:var(--gw-font-heading); color:var(--gw-dark); font-size:24px; letter-spacing:-.04em; }
.gw-status-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  background:var(--gw-warning-soft);
  color:var(--gw-warning-dark);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.gw-status-list { display:grid; gap:12px; }
.gw-status-item {
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:18px;
  padding:14px 15px;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.gw-status-item span { font-weight:800; color:var(--gw-dark); font-size:14px; }
.gw-status-item small { font-family:var(--gw-font-mono); color:var(--gw-muted); font-size:11px; }
.gw-meter { width:78px; height:8px; border-radius:999px; background:#E2E8F0; overflow:hidden; }
.gw-meter i { display:block; height:100%; border-radius:inherit; }
.gw-meter--blue i { width:62%; background:var(--gw-primary); }
.gw-meter--orange i { width:44%; background:var(--gw-warning); }
.gw-meter--green i { width:74%; background:var(--gw-success); }

.gw-quick-diagnostic,
.gw-deliverables,
.gw-frequent-cases,
.gw-emergency {
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:var(--gw-radius-xl);
  padding:42px;
  box-shadow:var(--gw-shadow);
}
.gw-quick-diagnostic {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);
  gap:34px;
  align-items:start;
  margin-top:-48px;
  position:relative;
  z-index:5;
}
.gw-quick-form,
.gw-form { display:grid; gap:14px; }
.gw-security-note {
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  background:var(--gw-primary-soft);
  color:#1E3A8A;
  font-size:13px;
  line-height:1.45;
  border:1px solid rgba(37,99,235,.14);
}

.gw-emergency {
  background:var(--gw-warning-soft);
  border-color:rgba(249,115,22,.2);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:44px;
}
.gw-emergency__box {
  background:#fff;
  border:1px solid rgba(249,115,22,.26);
  border-radius:var(--gw-radius);
  padding:24px;
}

.gw-frequent-cases,
.gw-deliverables {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:40px;
  align-items:start;
}
.gw-case-grid,
.gw-deliverable-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.gw-case-item {
  padding:16px 18px;
  border-radius:18px;
  background:var(--gw-warning-soft);
  border:1px solid rgba(249,115,22,.18);
  color:#7C2D12;
  font-weight:750;
  line-height:1.35;
}
.gw-deliverable {
  padding:18px;
  border-radius:20px;
  background:var(--gw-bg);
  border:1px solid var(--gw-border);
  display:grid;
  gap:8px;
}
.gw-deliverable strong { color:var(--gw-dark); font-family:var(--gw-font-heading); }
.gw-deliverable p { font-size:14px; color:var(--gw-muted); line-height:1.5; }

.gw-method { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.gw-step {
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:var(--gw-radius);
  padding:24px;
  box-shadow:var(--gw-shadow);
  display:grid;
  gap:14px;
}
.gw-step__number {
  width:42px;height:42px;border-radius:15px;
  display:grid;place-items:center;
  font-weight:900;color:#fff;background:var(--gw-primary);
  font-family:var(--gw-font-heading);
}
.gw-step p { font-size:14px; color:var(--gw-muted); line-height:1.55; }

.gw-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:56px; align-items:center; }
.gw-dark-card {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--gw-radius-xl);
  padding:26px;
  box-shadow:0 24px 80px rgba(0,0,0,.22);
}
.gw-seo-panel { display:grid; gap:16px; }
.gw-seo-row {
  display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center;
  padding:16px; border-radius:18px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1);
}
.gw-seo-row strong { color:#fff; font-family:var(--gw-font-heading); }
.gw-seo-row span { color:#94A3B8; font-size:13px; }
.gw-seo-row em {
  font-style:normal;
  font-family:var(--gw-font-mono);
  font-size:12px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(249,115,22,.12);
  color:#FDBA74;
}

.gw-audit-levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.gw-level {
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:var(--gw-radius);
  padding:28px;
  box-shadow:var(--gw-shadow);
  display:grid;
  gap:14px;
}
.gw-level__label {
  font-family:var(--gw-font-mono);
  color:var(--gw-primary);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.gw-maintenance-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:start; }
.gw-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.gw-plan {
  background:#fff;
  border:1px solid rgba(16,185,129,.18);
  border-radius:var(--gw-radius);
  padding:24px;
  display:grid;
  gap:14px;
  box-shadow:var(--gw-shadow);
}
.gw-plan--featured {
  border-color:rgba(16,185,129,.52);
  box-shadow:0 20px 46px rgba(16,185,129,.14);
  transform:translateY(-6px);
}
.gw-plan__badge {
  width:fit-content;
  padding:6px 10px;
  border-radius:999px;
  background:var(--gw-success-soft);
  color:var(--gw-success-dark);
  font-size:12px;
  font-weight:850;
}

.gw-target-compact,
.gw-resources,
.gw-proof-grid {
  display:grid;
  gap:18px;
}
.gw-target-compact { grid-template-columns:repeat(5,minmax(0,1fr)); }
.gw-resources { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gw-proof-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

.gw-target-pill,
.gw-resource,
.gw-proof {
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:var(--gw-radius);
  padding:22px;
  box-shadow:0 8px 20px rgba(15,23,42,.045);
}
.gw-target-pill strong { display:block; color:var(--gw-dark); font-family:var(--gw-font-heading); margin-bottom:6px; font-size:17px; }
.gw-target-pill span,
.gw-resource p,
.gw-proof p { color:var(--gw-muted); font-size:14px; line-height:1.5; }
.gw-resource { display:grid; gap:12px; }
.gw-resource span {
  width:fit-content;
  padding:6px 9px;
  border-radius:999px;
  background:var(--gw-primary-soft);
  color:var(--gw-primary);
  font-size:12px;
  font-weight:850;
}

.gw-faq-wrap { max-width:900px; margin-inline:auto; display:grid; gap:14px; }
.gw-faq-item {
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.gw-faq-item summary {
  cursor:pointer;
  padding:20px 22px;
  font-family:var(--gw-font-heading);
  color:var(--gw-dark);
  font-weight:800;
  list-style:none;
}
.gw-faq-item summary::-webkit-details-marker { display:none; }
.gw-faq-item summary:after { content:"+"; float:right; color:var(--gw-primary); font-weight:900; }
.gw-faq-item[open] summary:after { content:"–"; }
.gw-faq-item p { padding:0 22px 22px; color:var(--gw-muted); }

.gw-final {
  background:radial-gradient(circle at 18% 20%,rgba(37,99,235,.28),transparent 25%),
             radial-gradient(circle at 88% 12%,rgba(16,185,129,.2),transparent 26%),
             var(--gw-dark);
  color:#CBD5E1;
  padding:96px 0;
}
.gw-final h2 { color:#fff; }
.gw-final__grid {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);
  gap:56px;
  align-items:start;
}
.gw-form-card {
  padding:30px;
  border-radius:var(--gw-radius-xl);
  box-shadow:var(--gw-shadow-lg);
}
.gw-form-card p,
.gw-form-card .gw-note { color:var(--gw-muted); }
.gw-form-row { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.gw-field { display:grid; gap:6px; }
.gw-field label { font-size:13px; font-weight:800; color:var(--gw-dark); }
.gw-field input,
.gw-field select,
.gw-field textarea {
  width:100%;
  border:1px solid #CBD5E1;
  border-radius:14px;
  padding:13px 14px;
  font-size:15px;
  font-family:var(--gw-font-body);
  background:#fff;
  color:var(--gw-dark);
}
.gw-field textarea { min-height:116px; resize:vertical; }
.gw-field input:focus,
.gw-field select:focus,
.gw-field textarea:focus {
  outline:none;
  border-color:var(--gw-primary);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
.gw-note { color:var(--gw-muted); font-size:13px; margin-top:4px; }

.gw-mobile-sticky-cta {
  display:none;
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:80;
  background:var(--gw-primary);
  color:#fff;
  min-height:52px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  font-weight:850;
  box-shadow:0 16px 40px rgba(37,99,235,.34);
}

.gw-footer {
  background:#070B14;
  color:#94A3B8;
  padding:64px 0 36px;
}
.gw-footer__grid {
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:38px;
}
.gw-footer h4 { color:#fff; font-size:15px; margin:0 0 12px; }
.gw-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:9px; font-size:14px; }
.gw-footer a:hover { color:#fff; }
.gw-footer__bottom {
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid rgba(148,163,184,.18);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:13px;
}

@media (max-width:1100px) {
  .gw-nav { display:none; }
  .gw-grid-4,
  .gw-method,
  .gw-target-compact,
  .gw-resources,
  .gw-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gw-quick-diagnostic,
  .gw-deliverables,
  .gw-frequent-cases,
  .gw-maintenance-layout { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .gw-section { padding:72px 0; }
  .gw-hero { padding:72px 0; }
  .gw-hero__grid,
  .gw-split,
  .gw-emergency,
  .gw-final__grid { grid-template-columns:1fr; }
  .gw-grid-3,
  .gw-audit-levels { grid-template-columns:1fr; }
  .gw-footer__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px) {
  .gw-container { width:min(100% - 24px,var(--gw-container)); }
  .gw-header__inner { min-height:68px; }
  .gw-header .gw-button { display:none; }
  .gw-grid-4,
  .gw-method,
  .gw-target-compact,
  .gw-resources,
  .gw-proof-grid,
  .gw-plan-grid,
  .gw-deliverable-list,
  .gw-case-grid { grid-template-columns:1fr; }
  .gw-plan--featured { transform:none; }
  .gw-actions { align-items:stretch; }
  .gw-actions .gw-button { width:100%; }
  .gw-trust-list li { width:100%; }
  .gw-emergency,
  .gw-quick-diagnostic,
  .gw-deliverables,
  .gw-frequent-cases { padding:26px; }
  .gw-quick-diagnostic { margin-top:0; }
  .gw-form-row { grid-template-columns:1fr; }
  .gw-final { padding-bottom:96px; }
  .gw-footer__grid { grid-template-columns:1fr; }
  .gw-footer__bottom { flex-direction:column; }
  .gw-mobile-sticky-cta { display:flex; }
}




.gw-home-compact .gw-section {
  padding: 56px 0;
}

.gw-home-compact .gw-section-head {
  margin-bottom: 28px;
}

.gw-home-compact .gw-card,
.gw-home-compact .gw-step,
.gw-home-compact .gw-level,
.gw-home-compact .gw-plan,
.gw-home-compact .gw-proof,
.gw-home-compact .gw-resource,
.gw-home-compact .gw-target-pill {
  padding: 20px;
}


/* ==========================================================
   GardeWP - correctif layout force v0.3
   A coller dans CSS additionnel si le CSS additionnel est bien applique.
   ========================================================== */

/* Verification de base */
.wp-site-blocks {
  overflow-x: clip !important;
}

.wp-site-blocks > *,
.wp-site-blocks > * + * {
  margin-block-start: 0 !important;
}

/* Full width pour les sections du theme */
.wp-block-group.alignfull,
.gw-header.alignfull,
.gw-hero.alignfull,
.gw-section.alignfull,
.gw-final.alignfull,
.gw-footer.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Conteneur plus large */
.gw-container {
  width: min(calc(100% - 56px), 1220px) !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Rythme vertical plus compact */
.gw-section {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.gw-section-head {
  margin-bottom: 28px !important;
}

.gw-section-head--center {
  max-width: 880px !important;
}

.gw-lead {
  max-width: 820px !important;
}

/* Header */
.gw-header__inner {
  min-height: 66px !important;
}

.gw-nav {
  gap: 16px !important;
  font-size: 13px !important;
}

.gw-logo {
  font-size: 21px !important;
}

.gw-logo__mark {
  width: 32px !important;
  height: 32px !important;
}

/* Hero plus dense */
.gw-hero {
  padding-top: 62px !important;
  padding-bottom: 54px !important;
}

.gw-hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr) !important;
  gap: 44px !important;
  align-items: center !important;
}

.gw-hero__content {
  max-width: 700px !important;
}

.gw-hero h1 {
  max-width: 760px !important;
}

.gw-diagnostic-card {
  max-width: 410px !important;
  justify-self: end !important;
  padding: 22px !important;
}

/* Grilles plus lisibles */
.gw-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.gw-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.gw-method {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.gw-audit-levels {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.gw-plan-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.gw-target-compact {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.gw-resources {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.gw-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Cartes plus compactes */
.gw-card,
.gw-step,
.gw-level,
.gw-plan,
.gw-proof,
.gw-resource,
.gw-target-pill {
  padding: 20px !important;
}

.gw-card {
  gap: 14px !important;
}

.gw-card p,
.gw-step p,
.gw-level p,
.gw-plan p,
.gw-proof p,
.gw-resource p,
.gw-target-pill span {
  line-height: 1.52 !important;
}

.gw-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
}

.gw-check-list {
  gap: 7px !important;
}

/* Blocs de conversion */
.gw-quick-diagnostic,
.gw-deliverables,
.gw-frequent-cases,
.gw-emergency {
  padding: 30px !important;
  gap: 30px !important;
}

.gw-quick-diagnostic {
  margin-top: -24px !important;
  grid-template-columns: minmax(0, .9fr) minmax(400px, 1fr) !important;
}

.gw-emergency,
.gw-deliverables,
.gw-frequent-cases {
  grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr) !important;
}

/* Section SEO sombre */
.gw-split {
  grid-template-columns: minmax(0, .95fr) minmax(340px, .85fr) !important;
  gap: 42px !important;
}

/* Maintenance */
.gw-maintenance-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 40px !important;
}

/* Diagnostic final */
.gw-final {
  padding-top: 70px !important;
  padding-bottom: 74px !important;
}

.gw-final__grid {
  gap: 44px !important;
}

.gw-final .gw-lead,
.gw-final p {
  color: #CBD5E1 !important;
}

.gw-final .gw-form-card p,
.gw-final .gw-form-card .gw-note {
  color: var(--gw-muted) !important;
}

.gw-form-card {
  padding: 26px !important;
}

/* Formulaires */
.gw-form {
  gap: 12px !important;
}

.gw-field input,
.gw-field select,
.gw-field textarea {
  padding: 12px 13px !important;
}

.gw-field textarea {
  min-height: 104px !important;
}

/* Responsive */
@media (max-width: 1180px) {
  .gw-container {
    width: min(calc(100% - 44px), 1080px) !important;
    max-width: 1080px !important;
  }

  .gw-hero__grid,
  .gw-split,
  .gw-maintenance-layout,
  .gw-final__grid {
    gap: 34px !important;
  }

  .gw-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gw-method {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  }

  .gw-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .gw-container {
    width: min(calc(100% - 32px), 760px) !important;
  }

  .gw-hero__grid,
  .gw-split,
  .gw-emergency,
  .gw-final__grid,
  .gw-quick-diagnostic,
  .gw-deliverables,
  .gw-frequent-cases,
  .gw-maintenance-layout {
    grid-template-columns: 1fr !important;
  }

  .gw-diagnostic-card {
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .gw-grid-3,
  .gw-grid-4,
  .gw-audit-levels,
  .gw-resources,
  .gw-plan-grid,
  .gw-target-compact {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .gw-container {
    width: min(calc(100% - 24px), 100%) !important;
  }

  .gw-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .gw-hero {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .gw-quick-diagnostic {
    margin-top: 0 !important;
  }

  .gw-quick-diagnostic,
  .gw-deliverables,
  .gw-frequent-cases,
  .gw-emergency {
    padding: 22px !important;
  }

  .gw-card,
  .gw-step,
  .gw-level,
  .gw-plan,
  .gw-proof,
  .gw-resource,
  .gw-target-pill {
    padding: 18px !important;
  }

  .gw-actions {
    align-items: stretch !important;
  }

  .gw-actions .gw-button {
    width: 100% !important;
  }
}


/* ==========================================================
   GardeWP — ajustements compacts V0.4
   À ajouter après le CSS v0.3 si tu ne remplaces pas le thème.
   Objectif : homepage plus courte, plus dense, plus V1 commerciale.
   ========================================================== */

.gw-section {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.gw-hero {
  padding-top: 52px !important;
  padding-bottom: 46px !important;
}

.gw-section-head {
  margin-bottom: 24px !important;
}

.gw-section-head--center {
  max-width: 820px !important;
}

.gw-card,
.gw-step,
.gw-level,
.gw-plan,
.gw-proof,
.gw-resource,
.gw-target-pill {
  padding: 18px !important;
}

.gw-quick-diagnostic,
.gw-deliverables,
.gw-frequent-cases,
.gw-emergency {
  padding: 28px !important;
}

.gw-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.gw-method {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.gw-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.gw-final {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.gw-footer {
  padding-top: 48px !important;
}

@media (max-width: 1100px) {
  .gw-method,
  .gw-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .gw-grid-4,
  .gw-method,
  .gw-proof-grid {
    grid-template-columns: 1fr !important;
  }
}



/* ==========================================================
   GardeWP — styles Contact Form 7 v0.5
   ========================================================== */

.gw-cf7-wrap .wpcf7 {
  margin: 0;
}

.gw-cf7-wrap .wpcf7 form {
  display: grid;
  gap: 14px;
}

.gw-cf7-wrap .wpcf7 p {
  margin: 0;
  color: var(--gw-text);
}

.gw-cf7-wrap .wpcf7 label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gw-dark);
}

.gw-cf7-wrap .wpcf7 input[type="text"],
.gw-cf7-wrap .wpcf7 input[type="email"],
.gw-cf7-wrap .wpcf7 input[type="tel"],
.gw-cf7-wrap .wpcf7 input[type="url"],
.gw-cf7-wrap .wpcf7 select,
.gw-cf7-wrap .wpcf7 textarea {
  width: 100%;
  border: 1px solid #CBD5E1;
  border-radius: 14px;
  padding: 12px 13px;
  font-size: 15px;
  font-family: var(--gw-font-body);
  background: #fff;
  color: var(--gw-dark);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.gw-cf7-wrap .wpcf7 textarea {
  min-height: 104px;
  resize: vertical;
}

.gw-cf7-wrap .wpcf7 input:focus,
.gw-cf7-wrap .wpcf7 select:focus,
.gw-cf7-wrap .wpcf7 textarea:focus {
  outline: none;
  border-color: var(--gw-primary);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}

.gw-cf7-wrap .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--gw-primary);
  color: #fff;
  font-weight: 850;
  font-size: 15px;
  font-family: var(--gw-font-body);
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(37,99,235,.22);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.gw-cf7-wrap .wpcf7-submit:hover {
  transform: translateY(-2px);
  background: var(--gw-primary-dark);
}

.gw-cf7-wrap .wpcf7-spinner {
  margin-left: 10px;
}

.gw-cf7-wrap .wpcf7-not-valid-tip {
  margin-top: 5px;
  color: #DC2626;
  font-size: 13px;
  font-weight: 600;
}

.gw-cf7-wrap .wpcf7-response-output {
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.45;
}

.gw-cf7-wrap .gw-security-note {
  margin: 2px 0;
}

.gw-cf7-wrap--quick .wpcf7-submit,
.gw-cf7-wrap--full .wpcf7-submit {
  width: 100%;
}
