.esti-demarches{
  --esti-red:#bf1016;
  --esti-green:#2d6b16;
  --esti-ink:#202124;
  --esti-muted:#666;
  --esti-line:#e7e7e7;
  --esti-soft:#f8f8f8;
  font-family:inherit;
  color:var(--esti-ink);
}
.esti-demarches *{box-sizing:border-box}
.esti-demarches__intro{margin:0 0 24px}
.esti-demarches__intro h2,.esti-demarches__section-title h3{position:relative;margin:0 0 12px;padding-left:15px;font-size:28px;line-height:1.2;font-weight:800;color:#222}
.esti-demarches__intro h2:before,.esti-demarches__section-title h3:before{content:"";position:absolute;left:0;top:5px;width:5px;height:26px;border-radius:5px;background:linear-gradient(to bottom,var(--esti-red) 0 50%,var(--esti-green) 50% 100%)}
.esti-demarches__intro p{margin:0;max-width:850px;color:#555;font-size:15px;line-height:1.65}
.esti-demarches__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 30px}
.esti-demarches__card{position:relative;display:flex;align-items:center;gap:14px;min-height:116px;padding:18px 42px 18px 18px;background:#fff;border:1px solid var(--esti-line);border-radius:14px;text-decoration:none!important;color:var(--esti-ink)!important;box-shadow:0 4px 16px rgba(0,0,0,.045);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.esti-demarches__card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--esti-red) 0 50%,var(--esti-green) 50% 100%)}
.esti-demarches__card:hover,.esti-demarches__card:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.09);border-color:#d5d5d5;outline:none}
.esti-demarches__icon{flex:0 0 54px;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111;color:#fff}
.esti-demarches__icon svg{width:29px;height:29px;display:block}
.esti-demarches__card-body{display:flex;flex-direction:column;min-width:0}
.esti-demarches__card-body strong{font-size:17px;line-height:1.2;font-weight:800;color:#202124}
.esti-demarches__card-body small{display:block;margin-top:7px;color:#747474;font-size:13px;line-height:1.35}
.esti-demarches__arrow{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:27px;height:27px;border:1px solid #d4d4d4;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#333;font-size:23px;line-height:1;background:#fff}
.esti-demarches__section-title{margin:32px 0 14px;border-bottom:1px solid #ececec}
.esti-demarches__section-title h3{display:inline-block;margin-bottom:-1px;padding-bottom:10px;font-size:24px;background:#fff}
.esti-demarches__zoom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.esti-demarches__zoom-card{overflow:hidden;background:#fff;border:1px solid var(--esti-line);border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.esti-demarches__thumb{display:block;aspect-ratio:16/8;overflow:hidden;background:#eee}
.esti-demarches__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.esti-demarches__zoom-content{padding:17px}
.esti-demarches__zoom-content h4{margin:0 0 8px;font-size:18px;line-height:1.25;color:#202124}
.esti-demarches__zoom-content p{margin:0 0 14px;color:#626262;font-size:14px;line-height:1.5}
.esti-demarches__button{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:var(--esti-red);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:700}
.esti-demarches__button:hover,.esti-demarches__button:focus-visible{filter:brightness(.93);outline:2px solid rgba(191,16,22,.25);outline-offset:2px}
.esti-demarches__official-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.esti-demarches__official{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 16px;border:1px solid var(--esti-line);border-radius:12px;background:#fff;text-decoration:none!important;color:#222!important}
.esti-demarches__official:nth-child(1){background:#f3f8ff}.esti-demarches__official:nth-child(2){background:#f3faf3}.esti-demarches__official:nth-child(3){background:#fff8ef}.esti-demarches__official:nth-child(4){background:#f7f4ff}
.esti-demarches__official strong,.esti-demarches__official small{display:block}
.esti-demarches__official strong{font-size:15px}.esti-demarches__official small{margin-top:3px;color:#666;font-size:12px;line-height:1.35}
.esti-demarches__external{font-size:20px;font-weight:700}
.esti-demarches__empty{padding:18px;border:1px dashed #ccc;border-radius:12px;background:#fafafa;color:#666}
@media (max-width:900px){.esti-demarches__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esti-demarches__zoom-grid{grid-template-columns:1fr}.esti-demarches__official-grid{grid-template-columns:1fr}}
@media (max-width:620px){.esti-demarches__intro h2{font-size:24px}.esti-demarches__intro p{font-size:14px}.esti-demarches__grid{gap:10px}.esti-demarches__card{min-height:104px;padding:14px 34px 14px 12px;gap:10px;border-radius:12px}.esti-demarches__icon{flex-basis:44px;width:44px;height:44px}.esti-demarches__icon svg{width:24px;height:24px}.esti-demarches__card-body strong{font-size:14px}.esti-demarches__card-body small{display:none}.esti-demarches__arrow{right:9px;width:23px;height:23px;font-size:19px}.esti-demarches__section-title h3{font-size:20px}.esti-demarches__zoom-content{padding:14px}.esti-demarches__official{padding:12px 13px}}
@media (max-width:420px){.esti-demarches__grid{grid-template-columns:1fr}.esti-demarches__card{align-items:center;flex-direction:row;padding:13px 38px 13px 12px;min-height:88px}.esti-demarches__card-body small{display:block;margin-top:3px;font-size:12px;line-height:1.35}.esti-demarches__arrow{top:50%;bottom:auto;transform:translateY(-50%)}.esti-demarches__icon{width:44px;height:44px;flex-basis:44px}}
@media (prefers-reduced-motion:reduce){.esti-demarches__card{transition:none}}

/* Fiches détaillées */
.esti-demarche-detail{--esti-red:#bf1016;--esti-green:#2d6b16;--esti-ink:#202124;--esti-muted:#626262;color:var(--esti-ink);font-family:inherit}
.esti-demarche-detail .esti-demarche-lead{font-size:17px;line-height:1.7;margin:0 0 22px;padding:16px 18px;background:#f7f7f7;border-left:4px solid var(--esti-red);border-radius:0 10px 10px 0}
.esti-demarche-detail h2{position:relative;margin:30px 0 14px;padding-left:14px;font-size:23px;line-height:1.25;color:#222}
.esti-demarche-detail h2:before{content:"";position:absolute;left:0;top:3px;width:5px;height:24px;border-radius:5px;background:linear-gradient(to bottom,var(--esti-red) 0 50%,var(--esti-green) 50% 100%)}
.esti-demarche-detail p,.esti-demarche-detail li{font-size:15px;line-height:1.7}
.esti-demarche-detail ul,.esti-demarche-detail ol{margin:0 0 20px 22px}
.esti-demarche-detail li{margin-bottom:7px}
.esti-demarche-info{margin:20px 0;padding:16px 18px;background:#fff;border:1px solid #e4e4e4;border-radius:12px;box-shadow:0 3px 12px rgba(0,0,0,.035);line-height:1.65}
.esti-demarche-note{margin:22px 0 0!important;padding:13px 15px;background:#fff8e9;border:1px solid #f0dfb5;border-radius:10px;color:#5b4a22}
.esti-demarche-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.esti-demarche-actions a{display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;border-radius:999px;background:var(--esti-red);color:#fff!important;text-decoration:none!important;font-weight:700;font-size:13px;line-height:1.25}
.esti-demarche-actions a:nth-child(even){background:var(--esti-green)}
.esti-demarche-actions a:hover,.esti-demarche-actions a:focus-visible{filter:brightness(.94);outline:2px solid rgba(191,16,22,.2);outline-offset:2px}
.esti-demarche-linkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.esti-demarche-linkgrid a{display:block;padding:16px;border:1px solid #e4e4e4;border-radius:12px;background:#fff;color:#222!important;text-decoration:none!important}
.esti-demarche-linkgrid strong,.esti-demarche-linkgrid span{display:block}.esti-demarche-linkgrid strong{font-size:16px}.esti-demarche-linkgrid span{margin-top:4px;color:#666;font-size:13px;line-height:1.4}
.esti-demarches__zoom-icon{display:flex;align-items:center;justify-content:center;height:132px;background:linear-gradient(135deg,#f8f8f8,#fff);color:#111;text-decoration:none!important}
.esti-demarches__zoom-icon svg{width:54px;height:54px}
@media(max-width:620px){.esti-demarche-detail .esti-demarche-lead{font-size:15px;padding:14px}.esti-demarche-detail h2{font-size:20px}.esti-demarche-actions{flex-direction:column}.esti-demarche-actions a{justify-content:center;text-align:center;width:100%}.esti-demarche-linkgrid{grid-template-columns:1fr}}


/* V0.3.0 : rubriques */
.esti-demarches__group{margin:0 0 28px;}
.esti-demarches__group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 12px;padding:0 2px 9px;border-bottom:2px solid rgba(31,31,31,.08);}
.esti-demarches__group-head h3{margin:0!important;font-size:20px!important;line-height:1.2!important;color:#222!important;}
.esti-demarches__group-head p{margin:0!important;max-width:620px;color:#666;font-size:13px;line-height:1.45;text-align:right;}
@media(max-width:760px){.esti-demarches__group{margin-bottom:24px}.esti-demarches__group-head{display:block}.esti-demarches__group-head h3{font-size:18px!important}.esti-demarches__group-head p{margin-top:5px!important;text-align:left;font-size:12px}.esti-demarches__card{border-radius:12px}.esti-demarches__icon{border-radius:12px}}


/* V0.4.0 : fiches pratiques enrichies */
.esti-demarche-detail h3{margin:18px 0 8px;font-size:17px;line-height:1.35;color:#292929}
.esti-demarche-verified{margin:18px 0 0!important;padding-top:12px;border-top:1px solid #ececec;color:#777;font-size:12px!important;line-height:1.5!important}
.esti-demarche-detail strong{font-weight:700}
@media(max-width:620px){.esti-demarche-detail h3{font-size:16px}.esti-demarche-verified{font-size:11.5px!important}}


/* V0.4.1 : retour direct vers la page principale des démarches */
.esti-demarche-return{margin:0 0 20px;padding:0}
.esti-demarche-return + .esti-demarche-detail{margin-top:0}
.esti-demarche-detail + .esti-demarche-return{margin:28px 0 4px;padding-top:18px;border-top:1px solid #ececec}
.esti-demarche-return__link{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 15px;border:1px solid #dedede;border-radius:999px;background:#fff;color:#222!important;text-decoration:none!important;font-size:13px;font-weight:700;line-height:1.25;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.esti-demarche-return__link:hover,.esti-demarche-return__link:focus-visible{border-color:#bfbfbf;box-shadow:0 5px 14px rgba(0,0,0,.08);transform:translateY(-1px);outline:none}
.esti-demarche-return__arrow{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#111;color:#fff;font-size:16px;line-height:1}
@media(max-width:620px){.esti-demarche-return{margin-bottom:16px}.esti-demarche-detail + .esti-demarche-return{margin-top:22px}.esti-demarche-return__link{width:100%;justify-content:center;min-height:46px;font-size:13.5px}}
@media(prefers-reduced-motion:reduce){.esti-demarche-return__link{transition:none}}

/* V0.4.2 : fiches plus directes dans Sahifa */
body.single-esti_demarche .post-meta,
body.single-esti_demarche #author-box,
body.single-esti_demarche .post-navigation{display:none!important}
.esti-demarche-info a[href^="tel:"],.esti-demarche-info a[href^="mailto:"]{font-weight:700;text-decoration:none!important}
.esti-demarche-info a[href^="tel:"]:hover,.esti-demarche-info a[href^="mailto:"]:hover{text-decoration:underline!important}
.esti-demarche-detail p{ text-wrap:pretty; }


/* V1.0.4 : bandeau d’accès depuis « Infos mairie » */
.esti-demarches-banner{--esti-banner-red:#9e0208;--esti-banner-green:#39772b;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;margin:24px 0;padding:17px 18px;border:1px solid #e5e5e5;border-radius:16px;background:linear-gradient(135deg,#fffafa 0%,#fff 58%,#f7fbf5 100%);box-shadow:0 7px 20px rgba(0,0,0,.055);color:#1d1d1d!important;text-decoration:none!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.esti-demarches-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--esti-banner-red),var(--esti-banner-green))}
.esti-demarches-banner:hover,.esti-demarches-banner:focus-visible{transform:translateY(-2px);box-shadow:0 11px 26px rgba(0,0,0,.09);border-color:#d7d7d7;outline:none}
.esti-demarches-banner__icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-left:3px;border-radius:15px;background:#f8e9e9;color:var(--esti-banner-red)}
.esti-demarches-banner__icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.esti-demarches-banner__text{display:flex;flex-direction:column;min-width:0}
.esti-demarches-banner__text strong{font-size:20px;line-height:1.2;font-weight:800;color:#181818}
.esti-demarches-banner__text small{margin-top:5px;font-size:13px;line-height:1.45;color:#666}
.esti-demarches-banner__cta{display:inline-flex;align-items:center;gap:7px;justify-content:center;min-height:40px;padding:9px 14px;border-radius:999px;background:var(--esti-banner-red);color:#fff!important;font-size:13px;font-weight:800;white-space:nowrap}
@media(max-width:680px){.esti-demarches-banner{grid-template-columns:auto 1fr;gap:12px;padding:15px 14px 15px 16px}.esti-demarches-banner__icon{width:50px;height:50px;border-radius:13px}.esti-demarches-banner__icon svg{width:27px;height:27px}.esti-demarches-banner__text strong{font-size:17px}.esti-demarches-banner__text small{font-size:12px}.esti-demarches-banner__cta{grid-column:1/-1;width:100%;margin-top:2px}}
@media(max-width:420px){.esti-demarches-banner{margin:18px 0}.esti-demarches-banner__text small{line-height:1.35}}
@media(prefers-reduced-motion:reduce){.esti-demarches-banner{transition:none}}

/* V1.0.5 : alignement du Zoom et lisibilité des cartes */
.esti-demarches__zoom-card{display:flex;flex-direction:column;height:100%}
.esti-demarches__zoom-content{display:flex;flex:1;flex-direction:column}
.esti-demarches__zoom-content .esti-demarches__button{align-self:flex-start;margin-top:auto}
.esti-demarches__card-body strong{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(min-width:901px){
  .esti-demarches__card{gap:12px;padding-left:16px;padding-right:38px}
  .esti-demarches__icon{flex-basis:50px;width:50px;height:50px}
  .esti-demarches__card-body strong{font-size:16px}
}

