/* Base globale légère — les gabarits principaux possèdent leur propre CSS. */
:root {
  --ec-deep: #123c35;
  --ec-green: #2f8f64;
  --ec-green-dark: #246f50;
  --ec-green-soft: #eef7f2;
  --ec-accent: #69b88d;
  --ec-text: #2b3933;
  --ec-muted: #68766f;
  --ec-border: #dce9e1;
  --ec-bg: #f7faf8;
}

.site-header {
  border-bottom: 1px solid rgba(16, 59, 47, .08);
  box-shadow: 0 8px 30px rgba(16, 59, 47, .045);
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
  color: var(--ec-deep);
  font-weight: 850;
  letter-spacing: -.03em;
}

.main-header-menu > .menu-item > .menu-link {
  color: var(--ec-deep);
  font-weight: 700;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link {
  color: var(--ec-green);
}

.site-footer,
.site-primary-footer-wrap {
  background: var(--ec-deep);
  color: rgba(255, 255, 255, .78);
}

.site-footer a,
.site-primary-footer-wrap a {
  color: #fff;
}

.ec-comment-warning {
  padding: 18px 20px;
  border: 1px solid #cfe6d8;
  border-radius: 13px;
  background: #f2f9f5;
  color: #2f5546;
  font-size: 14px;
  line-height: 1.55;
}

/* =========================================================
   FOOTER ENCOMBRANTS.NET
   ========================================================= */
.ec-site-footer { background: #123c35; color: rgba(255,255,255,.78); }
.ec-footer-container { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.ec-footer-main { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, .75fr)); gap: 58px; padding: 72px 0 58px; }
.ec-footer-brand__logo .custom-logo-link { display: inline-block; }
.ec-footer-brand__logo .custom-logo { width: auto; max-width: 255px; max-height: 76px; object-fit: contain; object-position: left center; }
.ec-footer-brand__name { color: #fff !important; font-size: 29px; font-weight: 900; letter-spacing: -.04em; }
.ec-footer-tagline { margin: 18px 0 13px; color: #fff; font-size: 16px; font-weight: 750; }
.ec-footer-description { max-width: 390px; margin: 0; color: rgba(255,255,255,.67); font-size: 14px; line-height: 1.65; }
.ec-footer-column h2 { margin: 0 0 18px; color: #fff; font-size: 17px; line-height: 1.3; }
.ec-footer-column ul { margin: 0; padding: 0; list-style: none; }
.ec-footer-column li + li { margin-top: 10px; }
.ec-footer-column a { color: rgba(255,255,255,.74) !important; font-size: 14px; }
.ec-footer-column a:hover { color: #fff !important; }
.ec-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 23px 0 28px; border-top: 1px solid rgba(255,255,255,.14); }
.ec-footer-bottom p { margin: 0; color: rgba(255,255,255,.62); font-size: 13px; }
.ec-footer-top { color: #bfe8d2 !important; font-size: 13px; font-weight: 750; }

@media (max-width: 920px) {
  .ec-footer-main { grid-template-columns: 1fr 1fr; }
  .ec-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .ec-footer-container { width: min(100% - 30px, 580px); }
  .ec-footer-main { grid-template-columns: 1fr; gap: 34px; padding: 54px 0 42px; }
  .ec-footer-brand { grid-column: auto; }
  .ec-footer-bottom { align-items: flex-start; flex-direction: column; }
}
