/* =========================================================
   CATÉGORIES ENCOMBRANTS.NET — V0.2
   ========================================================= */
.ec-category-page {
  --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;
  flex: 0 0 100%; width: 100%; max-width: 100%; margin: 0; padding: 0; border: 0; color: var(--ec-text); font-size: 17px; line-height: 1.68;
}
.ec-category-page *, .ec-category-page *::before, .ec-category-page *::after { box-sizing: border-box; }
.ec-category-page a { text-decoration: none; }
.ec-category-container { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.ec-category-kicker { margin: 0 0 12px !important; color: var(--ec-green); font-size: 13px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ec-category-page h1, .ec-category-page h2, .ec-category-page h3 { color: var(--ec-deep); }
.ec-category-page h1 { margin: 0 0 24px; font-size: clamp(43px, 5vw, 68px); line-height: 1.02; letter-spacing: -.055em; }
.ec-category-page h2 { margin: 0; font-size: clamp(28px, 2.6vw, 42px); line-height: 1.14; letter-spacing: -.035em; }
.ec-category-breadcrumb { margin-bottom: 42px; color: var(--ec-muted); font-size: 14px; }
.ec-category-breadcrumb a { color: var(--ec-green); }

body.category-coordonnees-ville-ad .site-content > .ast-container,
body.category-coordonnees-ville-en .site-content > .ast-container,
body.category-coordonnees-ville-oz .site-content > .ast-container,
body.category-vie-pratique .site-content > .ast-container { width: 100%; max-width: none; padding: 0; }
body.category-coordonnees-ville-ad #secondary,
body.category-coordonnees-ville-en #secondary,
body.category-coordonnees-ville-oz #secondary,
body.category-vie-pratique #secondary { display: none; }

.ec-category-hero { padding: 36px 0 58px; background: radial-gradient(circle at 13% 14%, rgba(47,143,100,.12), transparent 32%), linear-gradient(120deg, #fff 0%, #f6fbf8 62%, #eaf5ef 100%); }
.ec-category-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 72px; }
.ec-category-lead { max-width: 720px; margin: 0; color: var(--ec-muted); font-size: 20px; line-height: 1.55; }
.ec-category-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.ec-category-meta span { padding: 8px 13px; border: 1px solid rgba(47,143,100,.17); border-radius: 999px; background: rgba(255,255,255,.75); color: var(--ec-deep); font-size: 13px; font-weight: 750; }
.ec-category-visual { position: relative; min-height: 320px; }
.ec-category-visual__tile { position: absolute; display: grid; place-items: center; width: 125px; height: 125px; border: 1px solid rgba(47,143,100,.15); border-radius: 27px; background: rgba(255,255,255,.92); color: var(--ec-green); box-shadow: 0 20px 50px rgba(16,59,47,.12); font-size: 55px; font-weight: 900; letter-spacing: -.06em; }
.ec-category-visual__tile--1 { top: 20px; left: 35px; transform: rotate(-7deg); }
.ec-category-visual__tile--2 { top: 5px; right: 45px; transform: rotate(5deg); }
.ec-category-visual__tile--3 { bottom: 10px; left: 110px; transform: rotate(4deg); }
.ec-category-visual__tile--4 { right: 15px; bottom: 35px; transform: rotate(-4deg); }
.ec-category-quick { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 35px; padding-top: 24px; border-top: 1px solid rgba(47,143,100,.15); color: var(--ec-muted); font-size: 14px; }
.ec-category-quick span { position: relative; padding-left: 17px; }
.ec-category-quick span::before { content: ""; position: absolute; top: .7em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--ec-green); }
.ec-category-quick strong { color: var(--ec-deep); }

.ec-category-paged-head { padding: 30px 0 46px; background: linear-gradient(120deg, #fff 0%, #f2f8f5 100%); border-bottom: 1px solid var(--ec-border); }
.ec-category-paged-head .ec-category-breadcrumb { margin-bottom: 25px; }
.ec-category-paged-head__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; }
.ec-category-paged-head h1 { margin-bottom: 14px; font-size: clamp(36px, 4vw, 54px); }
.ec-category-paged-head p { margin: 0; color: var(--ec-muted); }
.ec-category-paged-head__status { min-width: 190px; padding: 18px 20px; border: 1px solid rgba(47,143,100,.16); border-radius: 15px; background: #fff; }
.ec-category-paged-head__status strong, .ec-category-paged-head__status span { display: block; }
.ec-category-paged-head__status strong { color: var(--ec-deep); }
.ec-category-paged-head__status span { color: var(--ec-muted); font-size: 13px; }

.ec-category-content { padding: 62px 0 105px; background: #fff; }
.ec-category-layout { display: grid; grid-template-columns: minmax(0, 1fr) 315px; align-items: start; gap: 52px; }
.ec-category-main { min-width: 0; }
.ec-category-tools { padding-bottom: 52px; border-bottom: 1px solid var(--ec-border); }
.ec-category-tools__header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.ec-category-result-count { margin: 0; color: var(--ec-muted); font-size: 14px; font-weight: 750; }
.ec-category-search { position: relative; display: block; }
.ec-category-search input { width: 100%; min-height: 62px; padding: 0 64px 0 22px; border: 1px solid var(--ec-border); border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(16,59,47,.06); color: var(--ec-deep); font-size: 17px; outline: none; }
.ec-category-search input:focus { border-color: rgba(47,143,100,.5); box-shadow: 0 0 0 4px rgba(47,143,100,.09); }
.ec-category-search svg { position: absolute; top: 50%; right: 22px; width: 25px; height: 25px; transform: translateY(-50%); fill: none; stroke: var(--ec-deep); stroke-width: 1.8; stroke-linecap: round; }
.ec-category-listing { padding-top: 58px; }
.ec-category-listing__head { margin-bottom: 33px; }
.ec-category-grid, .ec-single-related__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.ec-card { position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr) 22px; align-items: center; gap: 18px; min-height: 176px; padding: 24px; border: 1px solid var(--ec-border); border-radius: 18px; background: #fff; color: var(--ec-text); box-shadow: 0 8px 24px rgba(16,59,47,.045); transition: .2s ease; }
.ec-card:hover, .ec-card:focus-within { transform: translateY(-4px); border-color: rgba(47,143,100,.34); box-shadow: 0 18px 38px rgba(16,59,47,.1); }
.ec-card__title-link { color: inherit; }
.ec-card__title-link::after { position: absolute; z-index: 1; inset: 0; content: ""; }
.ec-card__icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid #d7eadf; border-radius: 17px; background: var(--ec-green-soft); color: var(--ec-green); }
.ec-card__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ec-card h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.3; }
.ec-card__excerpt { margin: 0; color: var(--ec-muted); font-size: 14px; line-height: 1.5; }
.ec-card__action { display: block; margin-top: 11px; color: var(--ec-green); font-size: 13px; font-weight: 850; }
.ec-card__arrow { width: 20px; height: 20px; fill: none; stroke: var(--ec-green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.ec-card:hover .ec-card__arrow { transform: translateX(3px); }
.ec-category-filter-empty, .ec-category-empty { margin: 35px 0 0; padding: 30px; border-radius: 15px; background: var(--ec-bg); color: var(--ec-muted); text-align: center; }

.ec-category-sidebar { position: sticky; top: 28px; display: grid; gap: 22px; }
.admin-bar .ec-category-sidebar { top: 60px; }
.ec-category-sidebox { padding: 28px; border: 1px solid var(--ec-border); border-radius: 19px; background: #fff; box-shadow: 0 10px 28px rgba(16,59,47,.05); }
.ec-category-sidebox--highlight { background: radial-gradient(circle at 90% 10%, rgba(47,143,100,.13), transparent 30%), #f2f9f5; }
.ec-category-sidebox--small { border-color: #cfe6d8; background: #f2f9f5; }
.ec-category-sidebox h2 { margin: 0 0 17px; font-size: 22px; line-height: 1.25; }
.ec-category-sidebox p { margin: 0 0 19px; color: var(--ec-muted); font-size: 14px; }
.ec-category-sidebox__eyebrow { margin-bottom: 8px !important; color: var(--ec-green) !important; font-size: 12px !important; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ec-category-sidebox ul { margin: 0; padding: 0; list-style: none; }
.ec-category-sidebox li + li { border-top: 1px solid #edf2ef; }
.ec-category-sidebox li a { position: relative; display: block; padding: 11px 19px 11px 0; color: var(--ec-deep); font-size: 14px; font-weight: 700; }
.ec-category-sidebox li a::after { content: "›"; position: absolute; top: 50%; right: 1px; transform: translateY(-50%); color: var(--ec-green); font-size: 20px; }
.ec-category-sidebox .is-current a { color: var(--ec-green); font-weight: 850; }
.ec-category-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 19px; border: 1px solid var(--ec-green); border-radius: 11px; background: var(--ec-green); color: #fff !important; font-weight: 850; }
.ec-category-button:hover { background: var(--ec-green-dark); }
.ec-category-text-link { color: var(--ec-green) !important; font-weight: 850; }

.ec-pagination { margin-top: 50px; }
.ec-pagination__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.ec-pagination a, .ec-pagination__current, .ec-pagination__dots { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--ec-border); border-radius: 10px; background: #fff; color: var(--ec-green); font-weight: 850; }
.ec-pagination a:hover, .ec-pagination__current { border-color: var(--ec-green); background: var(--ec-green); color: #fff; }

.ec-category-guide { padding: 95px 0; background: radial-gradient(circle at 88% 10%, rgba(47,143,100,.08), transparent 28%), var(--ec-bg); border-top: 1px solid var(--ec-border); }
.ec-category-guide__layout { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); align-items: start; gap: 85px; }
.ec-category-guide__layout > div > h2 { margin-bottom: 27px; }
.ec-category-guide__layout > div > p { margin: 0 0 19px; }
.ec-category-guide__summary { overflow: hidden; border: 1px solid var(--ec-border); border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(16,59,47,.08); }
.ec-category-guide__summary > div { display: grid; grid-template-columns: 54px 1fr; column-gap: 18px; padding: 26px; border-bottom: 1px solid var(--ec-border); }
.ec-category-guide__summary > div:last-child { border-bottom: 0; }
.ec-category-guide__summary span { grid-row: 1 / 3; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--ec-green-soft); color: var(--ec-green); font-weight: 900; }
.ec-category-guide__summary strong, .ec-category-guide__summary small { display: block; }
.ec-category-guide__summary strong { align-self: end; margin-bottom: 5px; color: var(--ec-deep); }
.ec-category-guide__summary small { color: var(--ec-muted); line-height: 1.5; }

.ec-category-report { padding: 82px 0; background: var(--ec-deep); }
.ec-category-report__inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.ec-category-report h2, .ec-category-report p { color: #fff; }
.ec-category-report p:not(.ec-category-kicker) { margin: 14px 0 0; color: rgba(255,255,255,.72); }
.ec-category-report .ec-category-kicker { color: #9ee1c4; }
.ec-category-button--light { flex: none; border-color: #fff; background: #fff; color: var(--ec-deep) !important; }

@media (max-width: 1080px) { .ec-category-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 34px; } .ec-category-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
  .ec-category-hero__grid, .ec-category-layout, .ec-category-guide__layout { grid-template-columns: 1fr; }
  .ec-category-visual { max-width: 620px; }
  .ec-category-sidebar { position: static; grid-template-columns: repeat(2, 1fr); }
  .ec-category-sidebox--highlight, .ec-category-sidebox--small { grid-column: 1 / -1; }
  .ec-category-paged-head__inner, .ec-category-report__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .ec-category-container { width: min(100% - 30px, 670px); }
  .ec-category-hero { padding: 30px 0 46px; }
  .ec-category-page h1 { font-size: 41px; }
  .ec-category-visual { min-height: 270px; transform: scale(.88); transform-origin: left center; }
  .ec-category-tools__header { align-items: flex-start; flex-direction: column; }
  .ec-category-sidebar { grid-template-columns: 1fr; }
  .ec-category-sidebox--highlight, .ec-category-sidebox--small { grid-column: auto; }
  .ec-category-report { padding: 68px 0; }
}
@media (max-width: 520px) {
  .ec-category-visual { min-height: 225px; transform: scale(.72); width: 125%; }
  .ec-category-quick { display: grid; gap: 9px; }
  .ec-card { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 21px 18px; }
  .ec-card__icon { width: 52px; height: 52px; }
  .ec-card__arrow { display: none; }
  .ec-category-button--light { width: 100%; }
}

/* =========================================================
   AJUSTEMENTS V0.2
   ========================================================= */
.ec-category-listing__head > p:last-child { margin: 12px 0 0; color: var(--ec-muted); font-size: 14px; }
.ec-category-guide__content { min-width: 0; }
.ec-category-legacy-text { color: var(--ec-text); }
.ec-category-legacy-text p { margin: 0 0 20px; }
.ec-category-legacy-text p:last-child { margin-bottom: 0; }
.ec-category-legacy-text img { display: block; width: 100%; height: auto; margin: 30px 0; border-radius: 18px; }
.ec-category-legacy-text a { color: var(--ec-green); text-decoration: underline; text-underline-offset: 3px; }
.ec-category-guide--legacy { background: radial-gradient(circle at 88% 10%, rgba(47,143,100,.07), transparent 28%), #f8fbf9; }
