.asc-agenda{--asc-accent:#147D64}.asc-search{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;margin:0 0 24px}.asc-search input,.asc-search select,.asc-search button{min-height:46px;border:1px solid #d9d9df;border-radius:10px;padding:10px 14px}.asc-search button,.asc-more{background:var(--asc-accent);color:#fff!important;border:0;text-decoration:none;font-weight:700}.asc-map{height:420px;border-radius:16px;overflow:hidden;margin:0 0 28px;border:1px solid #e4e4e8}.asc-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.asc-card{border:1px solid #e5e5e8;border-radius:16px;padding:20px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.05)}.asc-card h3{margin:8px 0 12px}.asc-card h3 a{color:#1e1e24;text-decoration:none}.asc-card-date{font-weight:800;color:var(--asc-accent)}.asc-chip{display:inline-block;background:#f4edf2;border-radius:999px;padding:5px 10px;font-size:.85em;font-weight:700}.asc-more{display:inline-block;padding:9px 13px;border-radius:9px;margin-top:8px}.asc-empty{padding:24px;border:1px dashed #ccc;border-radius:12px}@media(max-width:980px){.asc-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.asc-search,.asc-list{grid-template-columns:1fr}.asc-map{height:340px}}
/* v1.7.7 — visuel automatique par catégorie et cartes toujours alignées */
.asc-list{align-items:stretch}
.asc-occurrence{display:flex;flex-direction:column;height:100%;min-width:0}
.asc-occurrence>.asc-card{display:flex;flex:1;flex-direction:column;height:100%;box-sizing:border-box}
.asc-occurrence>.asc-card .asc-more{align-self:flex-start;margin-top:auto}
.asc-card-image{display:block;width:100%;aspect-ratio:16/9;overflow:hidden}
.asc-card-image>img{display:block;width:100%;height:100%;object-fit:cover}
.asc-auto-visual{position:relative;isolation:isolate;display:flex!important;align-items:center;justify-content:center;overflow:hidden;min-height:190px;aspect-ratio:16/9;color:#fff!important;text-decoration:none!important;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.28) 0 8%,transparent 8.5%),radial-gradient(circle at 15% 82%,rgba(255,255,255,.18) 0 13%,transparent 13.5%),linear-gradient(135deg,var(--asc-auto-color,#147D64),color-mix(in srgb,var(--asc-auto-color,#147D64) 58%,#171117))}
.asc-auto-visual:before,.asc-auto-visual:after{content:'';position:absolute;z-index:-1;width:52%;aspect-ratio:1;border:2px solid rgba(255,255,255,.24);border-radius:34% 66% 56% 44% / 42% 36% 64% 58%;transform:rotate(24deg)}
.asc-auto-visual:before{left:-18%;top:-42%}.asc-auto-visual:after{right:-17%;bottom:-55%;transform:rotate(-18deg)}
.asc-auto-pattern{position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 20px,rgba(255,255,255,.035) 20px 22px)}
.asc-auto-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:88%;text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.asc-auto-brand{font-size:clamp(9px,1vw,12px);font-weight:900;letter-spacing:.18em;color:#fff}
.asc-auto-content strong{max-width:90%;font-size:clamp(19px,2.2vw,34px);line-height:1.05;color:#fff!important}
.asc-auto-symbol{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.48);border-radius:14px;background:rgba(255,255,255,.16);font-size:20px}
.asc-auto-icon{display:block!important;width:48px!important;height:48px!important;object-fit:contain!important;padding:8px;border-radius:14px;background:rgba(255,255,255,.92)}
.asc-single-hero.asc-auto-visual{width:100%;min-height:clamp(250px,38vw,470px);max-height:520px;aspect-ratio:16/7}
.asc-single-hero.asc-auto-visual .asc-auto-content strong{font-size:clamp(30px,5vw,64px)}
@supports not (background:color-mix(in srgb,#000,#fff)){.asc-auto-visual{background:linear-gradient(135deg,var(--asc-auto-color,#147D64),#24111e)}}
@media(max-width:600px){.asc-auto-visual{min-height:170px}.asc-single-hero.asc-auto-visual{min-height:230px;aspect-ratio:16/9}}
/* v1.8.0 — pagination de la liste des événements */
.asc-pagination{display:grid;grid-template-columns:minmax(190px,1fr) auto auto minmax(190px,1fr);align-items:center;gap:12px;margin:34px 0 8px;padding:18px;border:1px solid #e2dce1;border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(24,15,21,.05)}
.asc-pagination a{text-decoration:none}
.asc-page-arrow{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border-radius:10px;background:var(--asc-accent,#147D64);color:#fff!important;font-weight:800;text-align:center}
.asc-page-arrow:last-child{justify-self:end}
.asc-page-arrow.is-disabled{background:#eee9ec;color:#928990!important;cursor:not-allowed}
.asc-page-status{font-weight:800;color:#393238;white-space:nowrap}
.asc-page-numbers{display:flex;gap:6px}
.asc-page-numbers a,.asc-page-numbers span{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid #ddd4da;border-radius:9px;background:#fff;color:#332b31;font-weight:800;text-decoration:none}
.asc-page-numbers .is-current{border-color:var(--asc-accent,#147D64);background:var(--asc-accent,#147D64);color:#fff}
@media(max-width:850px){.asc-pagination{grid-template-columns:1fr 1fr}.asc-page-status,.asc-page-numbers{grid-column:1/-1;justify-self:center}.asc-page-status{grid-row:1}.asc-page-numbers{grid-row:2}.asc-page-arrow{grid-row:3}.asc-page-arrow:last-child{justify-self:stretch}}
@media(max-width:540px){.asc-pagination{padding:13px;gap:9px}.asc-page-arrow{min-height:48px;padding:9px;font-size:12px}.asc-page-numbers a,.asc-page-numbers span{width:34px;height:34px}}
.asc-map{position:relative;min-height:420px;background:#f4f5f7!important}
.asc-map-loading,.asc-map-error{display:flex;align-items:center;justify-content:center;min-height:420px;padding:24px;text-align:center;font-weight:700;color:#3d3d45}
.asc-map-error{color:#8b1e2d}
.et_pb_code_inner .asc-agenda,.et_pb_text_inner .asc-agenda{display:block!important;visibility:visible!important;opacity:1!important}

.asc-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.asc-view-tabs a{padding:10px 16px;border-radius:999px;border:1px solid #ddd;text-decoration:none;color:#2a2a30;background:#fff;font-weight:700}
.asc-view-tabs a.is-active{background:var(--asc-accent,#147D64);color:#fff;border-color:var(--asc-accent,#147D64)}
.asc-card{border-top:5px solid var(--asc-cat-color,#147D64)}
.asc-chip{background:#fff;border:1px solid currentColor}
.asc-pin-wrap{background:transparent;border:0}
.asc-pin{display:block;width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.28)}
.asc-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.asc-calendar-nav a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:50%;text-decoration:none;font-size:26px}
.asc-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #e3e3e8;border-top:1px solid #e3e3e8}
.asc-month-head,.asc-day{border-right:1px solid #e3e3e8;border-bottom:1px solid #e3e3e8}
.asc-month-head{padding:10px;background:#f6f6f8;font-weight:800;text-align:center}
.asc-day{min-height:145px;padding:9px;background:#fff}
.asc-day.is-empty{background:#fafafa}
.asc-day-num{font-weight:800;margin-bottom:7px}
.asc-mini-event{display:block;padding:5px 7px;margin:0 0 5px;border-left:4px solid var(--asc-cat-color);background:#f8f8fa;border-radius:5px;text-decoration:none;color:#222;font-size:.85em;line-height:1.25}
.asc-mini-event span{font-weight:800}
.asc-week-grid{display:grid;gap:18px}
.asc-week-day{padding:18px;border:1px solid #e3e3e8;border-radius:14px;background:#fff}
.asc-week-day>h3{margin-top:0}
.asc-no-day-event{color:#777;padding:8px 0}
@media(max-width:760px){
 .asc-month-grid{display:block;border:0}
 .asc-month-head{display:none}
 .asc-day,.asc-day.is-empty{min-height:0;border:1px solid #e3e3e8;border-radius:10px;margin-bottom:10px}
 .asc-day.is-empty{display:none}
}

.asc-submit-form{background:#fff;border:1px solid #e2e2e7;border-radius:18px;padding:24px;box-shadow:0 6px 24px rgba(0,0,0,.05)}
.asc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.asc-submit-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#25252b}
.asc-submit-form input,.asc-submit-form select,.asc-submit-form textarea{width:100%;border:1px solid #d7d7de;border-radius:10px;padding:11px 12px;background:#fff;color:#222}
.asc-submit-form input:focus,.asc-submit-form select:focus,.asc-submit-form textarea:focus{outline:2px solid var(--asc-accent,#147D64);outline-offset:1px}
.asc-span-2{grid-column:1/-1}.asc-inline{flex-direction:row!important;align-items:center}.asc-inline input{width:auto}
.asc-submit-button{margin-top:20px;border:0;border-radius:10px;padding:13px 20px;background:var(--asc-accent,#147D64);color:#fff;font-weight:800;cursor:pointer}
.asc-form-msg{padding:14px 16px;border-radius:10px;margin:0 0 18px;font-weight:700}.asc-form-msg.success{background:#edf8ef;color:#17652c}.asc-form-msg.error{background:#fff0f0;color:#8a2020}
.asc-hp{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.asc-form-grid{grid-template-columns:1fr}.asc-span-2{grid-column:auto}}

.asc-days-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}
.asc-days-row label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px;font-weight:600}
.asc-days-row input{width:auto!important}
.asc-occurrence{position:relative}.asc-occurrence-date{font-weight:800;color:var(--asc-accent,#147D64);margin:0 0 6px}
.asc-occ-time{font-weight:800;color:var(--asc-accent,#147D64);margin:4px 0 8px}

.asc-public-recurrence-panel{
  border:2px solid #dddde4;
  border-radius:16px;
  overflow:hidden;
  background:#fafafa;
  margin:4px 0 8px;
}
.asc-public-recurrence-title{
  padding:14px 16px;
  font-weight:800;
  font-size:1.05em;
  background:#f1f1f4;
  border-bottom:1px solid #dddde4;
}
.asc-public-recurrence-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
  padding:18px;
}
.asc-public-weekdays{
  padding-top:6px;
}
@media(max-width:700px){
  .asc-public-recurrence-grid{grid-template-columns:1fr}
  .asc-public-recurrence-grid .asc-span-2{grid-column:auto}
}

.asc-single{--asc-cat-color:#147D64;max-width:1180px;margin:0 auto 40px}
.asc-single-hero{border-radius:18px;overflow:hidden;margin-bottom:22px;max-height:520px}
.asc-single-hero img{display:block;width:100%;height:auto;object-fit:cover}
.asc-single-top{border-left:6px solid var(--asc-cat-color);padding:14px 18px;background:#fafafa;border-radius:12px;margin-bottom:24px}
.asc-single-cat{display:inline-block;border:1px solid var(--asc-cat-color);color:var(--asc-cat-color);padding:6px 11px;border-radius:999px;font-weight:800;margin-bottom:10px}
.asc-single-date{font-weight:800;font-size:1.05em;color:#25252b}.asc-single-date.secondary{font-weight:600;color:#666;margin-top:3px}
.asc-single-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:28px;align-items:start}
.asc-single-section{background:#fff;border:1px solid #e5e5ea;border-radius:16px;padding:22px;margin-bottom:20px}
.asc-single-section h2{margin-top:0;border-bottom:1px solid #eee;padding-bottom:10px}
.asc-single-map{height:360px!important;min-height:360px!important;margin:18px 0 0}
.asc-info-card,.asc-share-card{background:#fff;border:1px solid #e2e2e7;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 5px 20px rgba(0,0,0,.04)}
.asc-info-card{border-top:5px solid var(--asc-cat-color)}
.asc-info-card h3,.asc-share-card h3{margin-top:0}
.asc-info-card p{display:flex;flex-direction:column;gap:3px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid #eee}
.asc-info-card p span{font-size:.82em;color:#707078;text-transform:uppercase;letter-spacing:.04em}
.asc-single-action{display:block;text-align:center;background:var(--asc-cat-color);color:#fff!important;text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:800;margin-top:14px}
.asc-share-buttons{display:flex;flex-wrap:wrap;gap:8px}.asc-share-buttons a{display:inline-block;border:1px solid #d8d8df;border-radius:9px;padding:8px 10px;text-decoration:none;font-weight:700;color:#333}
@media(max-width:860px){.asc-single-grid{grid-template-columns:1fr}.asc-single-side{order:-1}}

/* v1.3.1 — fiche événement : correctif chargement + mise en page */
body.asc-single-event-page .entry-content,
body.asc-single-event-page .et_pb_post_content{
  overflow:visible;
}
.asc-single{
  --asc-cat-color:#147D64;
  max-width:1180px;
  margin:24px auto 50px;
  padding:0 18px;
  box-sizing:border-box;
}
.asc-single *{box-sizing:border-box}
.asc-single-hero{
  border-radius:20px;
  overflow:hidden;
  margin:0 0 24px;
  background:#f2f2f4;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.asc-single-hero img{
  display:block;
  width:100%;
  max-height:520px;
  object-fit:cover;
}
.asc-single-top{
  border-left:7px solid var(--asc-cat-color);
  padding:18px 20px;
  background:#fff;
  border-radius:14px;
  margin:0 0 26px;
  box-shadow:0 6px 24px rgba(0,0,0,.05);
  border-top:1px solid #ececf0;
  border-right:1px solid #ececf0;
  border-bottom:1px solid #ececf0;
}
.asc-single-cat{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--asc-cat-color);
  color:var(--asc-cat-color);
  padding:7px 12px;
  border-radius:999px;
  font-weight:800;
  margin:0 0 12px;
  background:#fff;
}
.asc-single-date{
  font-weight:800;
  font-size:1.08em;
  color:#25252b;
  line-height:1.5;
}
.asc-single-date.secondary{
  font-weight:600;
  color:#666;
  margin-top:4px;
}
.asc-single-grid{
  display:grid !important;
  grid-template-columns:minmax(0,2fr) minmax(300px,1fr) !important;
  gap:28px !important;
  align-items:start;
}
.asc-single-main,
.asc-single-side{
  min-width:0;
}
.asc-single-section{
  display:block;
  background:#fff;
  border:1px solid #e5e5ea;
  border-radius:18px;
  padding:24px;
  margin:0 0 22px;
  box-shadow:0 6px 22px rgba(0,0,0,.04);
}
.asc-single-section h2{
  margin:0 0 16px !important;
  padding:0 0 12px !important;
  border-bottom:1px solid #ececf0;
  font-size:1.5em;
  line-height:1.25;
}
.asc-single-section p{
  margin:0 0 12px;
  line-height:1.65;
}
.asc-single-description{
  font-size:1.02em;
}
.asc-single-map{
  display:block !important;
  width:100% !important;
  height:380px !important;
  min-height:380px !important;
  margin:18px 0 0 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#f3f4f6 !important;
}
.asc-single-map .leaflet-container{
  width:100%;
  height:100%;
}
.asc-info-card,
.asc-share-card{
  display:block;
  background:#fff;
  border:1px solid #e2e2e7;
  border-radius:18px;
  padding:22px;
  margin:0 0 20px;
  box-shadow:0 7px 24px rgba(0,0,0,.05);
}
.asc-info-card{
  border-top:6px solid var(--asc-cat-color);
}
.asc-info-card h3,
.asc-share-card h3{
  margin:0 0 16px !important;
  font-size:1.25em;
}
.asc-info-row{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:0 0 13px;
  margin:0 0 13px;
  border-bottom:1px solid #eeeeF2;
}
.asc-info-row span{
  font-size:.78em;
  color:#73737c;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:700;
}
.asc-info-row strong{
  color:#25252b;
  font-size:1em;
  overflow-wrap:anywhere;
}
.asc-info-row a{
  color:var(--asc-cat-color);
  text-decoration:none;
}
.asc-single-action{
  display:block;
  width:100%;
  text-align:center;
  background:var(--asc-cat-color);
  color:#fff !important;
  text-decoration:none !important;
  padding:13px 16px;
  border-radius:11px;
  font-weight:800;
  margin-top:16px;
  transition:transform .15s ease,opacity .15s ease;
}
.asc-single-action:hover{
  opacity:.92;
  transform:translateY(-1px);
}
.asc-share-buttons{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.asc-share-buttons a{
  display:block;
  border:1px solid #d8d8df;
  border-radius:10px;
  padding:10px 12px;
  text-decoration:none !important;
  font-weight:700;
  color:#333 !important;
  text-align:center;
  background:#fafafa;
}
.asc-share-buttons a:hover{
  background:#f0f0f3;
}
@media(max-width:900px){
  .asc-single-grid{
    grid-template-columns:1fr !important;
  }
  .asc-single-side{
    order:-1;
  }
}
@media(max-width:600px){
  .asc-single{
    margin-top:14px;
    padding:0 12px;
  }
  .asc-single-section,
  .asc-info-card,
  .asc-share-card{
    padding:18px;
    border-radius:14px;
  }
  .asc-single-map{
    height:320px !important;
    min-height:320px !important;
  }
}

.asc-public-access-panel{
  border:2px solid #dddde4;
  border-radius:16px;
  overflow:hidden;
  background:#fafafa;
  margin:4px 0 8px;
}
.asc-public-access-title{
  padding:14px 16px;
  font-weight:800;
  font-size:1.05em;
  background:#f1f1f4;
  border-bottom:1px solid #dddde4;
}
.asc-public-access-body{padding:18px}
.asc-public-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin-bottom:18px;
}
.asc-public-access-grid label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:7px;
  font-weight:600!important;
}
.asc-public-access-grid input{width:auto!important}
.asc-access-badges{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:16px;
}
.asc-access-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:#f3f3f6;
  border:1px solid #dedee5;
  font-weight:700;
  color:#303038;
}
.asc-access-extra{
  border-top:1px solid #ececf0;
  padding-top:14px;
}
.asc-access-extra strong{
  display:block;
  margin-bottom:6px;
}
@media(max-width:700px){
  .asc-public-access-grid{grid-template-columns:1fr}
}

/* v1.4 — filtres avancés */
.asc-advanced-search{margin-bottom:22px}
.asc-search-primary{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto;gap:12px;align-items:stretch}
.asc-search-primary input,.asc-search-primary select,.asc-filter-grid input{border:1px solid #d9d9df;border-radius:11px;padding:12px;background:#fff}
.asc-search-primary button,.asc-filter-actions button{border:0;border-radius:11px;padding:12px 18px;background:var(--asc-accent,#147D64);color:#fff;font-weight:800;cursor:pointer}
.asc-filter-panel{margin-top:12px;border:1px solid #e0e0e6;border-radius:14px;background:#fafafa;overflow:hidden}
.asc-filter-panel summary{cursor:pointer;padding:13px 16px;font-weight:800;background:#f3f3f6}
.asc-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}
.asc-filter-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.asc-filter-check{flex-direction:row!important;align-items:center!important}
.asc-filter-check input,.asc-filter-access-grid input{width:auto}
.asc-filter-access{border-top:1px solid #e4e4e8;padding-top:14px}
.asc-filter-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:10px}
.asc-filter-access-grid label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;font-weight:600}
.asc-filter-actions{display:flex;align-items:center;gap:14px;padding:0 18px 18px}
.asc-filter-actions a{text-decoration:none;font-weight:700}
@media(max-width:760px){
 .asc-search-primary{grid-template-columns:1fr}
 .asc-filter-grid,.asc-filter-access-grid{grid-template-columns:1fr}
 .asc-filter-grid .asc-span-2{grid-column:auto}
}

/* v1.4.1 — correction layout recherche Divi */
.asc-search.asc-advanced-search{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 22px !important;
}
.asc-search-primary{
  display:grid !important;
  grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
  width:100% !important;
  height:auto !important;
}
.asc-search-primary > input,
.asc-search-primary > select,
.asc-search-primary > button{
  display:block !important;
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  margin:0 !important;
  padding:0 14px !important;
  box-sizing:border-box !important;
  align-self:center !important;
}
.asc-search-primary > button{
  width:auto !important;
  min-width:120px !important;
  padding:0 18px !important;
}
.asc-filter-panel{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:12px 0 0 !important;
  box-sizing:border-box !important;
}
.asc-filter-panel summary{
  display:block !important;
  min-height:0 !important;
}
.asc-filter-panel[open] > summary{
  margin-bottom:0 !important;
}
.asc-filter-grid{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  box-sizing:border-box !important;
}
.asc-filter-grid input[type="date"],
.asc-filter-grid input[type="text"]{
  height:44px !important;
  min-height:44px !important;
}
.asc-filter-access-grid label,
.asc-filter-check{
  min-height:30px !important;
}
.asc-filter-actions{
  min-height:0 !important;
}
@media(max-width:760px){
  .asc-search-primary{
    grid-template-columns:1fr !important;
  }
  .asc-search-primary > button{
    width:100% !important;
  }
}

/* v1.5 — habillage local multisite */
.asc-agenda,.asc-single,.asc-submit-form{
  --asc-local-surface:#fff;
  --asc-local-text:#25252b;
}
.asc-card,.asc-single-section,.asc-info-card,.asc-share-card,.asc-submit-form{
  background:var(--asc-local-surface,#fff);
  color:var(--asc-local-text,#25252b);
}

/* v1.5.10 — événements multi-jours */
.asc-multiday-badge{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#f3f3f6;
  border:1px solid #dddde4;
  color:#444;
  font-weight:700;
  font-size:.85em;
}
.asc-occurrence-date{
  line-height:1.4;
}
.asc-mini-event{
  white-space:normal;
}

/* v1.5.11 — compteur flottant catégories */
.asc-cat-counter{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9998;
  font-family:inherit;
}
.asc-cat-counter-toggle{
  width:92px;
  height:92px;
  border-radius:50%;
  border:0;
  background:var(--asc-accent,#147D64);
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
}
.asc-cat-counter-number{
  font-size:1.75rem;
  line-height:1;
  font-weight:900;
}
.asc-cat-counter-label{
  font-size:.72rem;
  line-height:1.1;
  font-weight:700;
}
.asc-cat-counter-panel{
  position:absolute;
  right:0;
  bottom:104px;
  width:min(360px,calc(100vw - 32px));
  max-height:65vh;
  overflow:auto;
  background:#fff;
  color:#25252b;
  border:1px solid #e1e1e6;
  border-radius:20px;
  box-shadow:0 14px 40px rgba(0,0,0,.22);
}
.asc-cat-counter-head{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  background:#fff;
  border-bottom:1px solid #ececf0;
}
.asc-cat-counter-head strong{
  font-size:1rem;
}
.asc-cat-counter-close{
  width:30px;
  height:30px;
  border-radius:50%;
  border:0;
  background:#f0f0f3;
  color:#333;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.asc-cat-counter-list{
  padding:8px 16px;
}
.asc-cat-counter-row{
  display:grid;
  grid-template-columns:14px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #f0f0f3;
}
.asc-cat-counter-row:last-child{
  border-bottom:0;
}
.asc-cat-counter-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  display:block;
}
.asc-cat-counter-name{
  overflow-wrap:anywhere;
}
.asc-cat-counter-count{
  min-width:24px;
  text-align:right;
}
.asc-cat-counter-total{
  position:sticky;
  bottom:0;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  background:#fafafa;
  border-top:1px solid #e5e5e9;
}
.asc-cat-counter-empty{
  padding:12px 0;
  color:#777;
}
@media(max-width:700px){
  .asc-cat-counter{
    right:14px;
    bottom:14px;
  }
  .asc-cat-counter-toggle{
    width:76px;
    height:76px;
  }
  .asc-cat-counter-number{
    font-size:1.45rem;
  }
  .asc-cat-counter-panel{
    bottom:86px;
  }
}

/* v1.5.12 petits ronds par catégorie - vue mois */
.asc-month-dots{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;margin-top:18px;padding:3px}
.asc-month-dot{width:28px;height:28px;min-width:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--asc-dot-color,#147D64);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;line-height:1;box-shadow:0 4px 10px rgba(0,0,0,.17);border:2px solid #fff;transition:transform .15s ease}
.asc-month-dot:hover,.asc-month-dot:focus{transform:scale(1.12);outline:none}
.asc-month-dot span{color:#fff!important}
@media(max-width:700px){.asc-month-dots{gap:3px;justify-content:center;margin-top:9px}.asc-month-dot{width:23px;height:23px;min-width:23px;font-size:10px;border-width:1px}}

/* v1.5.13 — position des ronds : bas à droite de chaque case */
.asc-month-cell{
  position:relative;
}
.asc-month-cell .asc-month-dots{
  position:absolute;
  right:8px;
  bottom:8px;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap-reverse;
  flex-direction:row-reverse;
  gap:5px;
  align-items:flex-end;
  justify-content:flex-start;
  max-width:calc(100% - 16px);
}
@media(max-width:700px){
  .asc-month-cell .asc-month-dots{
    right:4px;
    bottom:4px;
    gap:3px;
    margin:0;
  }
}

/* v1.5.14 — calendrier, infobulles, couleurs et pictogrammes */
.asc-day{position:relative!important}
.asc-day .asc-month-dots{
  position:absolute!important;
  right:7px!important;
  bottom:7px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:wrap-reverse!important;
  flex-direction:row-reverse!important;
  gap:5px!important;
  max-width:calc(100% - 14px);
}
.asc-month-dot{font-family:inherit;cursor:pointer;padding:0}
.asc-day-popover{
  position:fixed;
  z-index:10050;
  width:min(340px,calc(100vw - 24px));
  background:#fff;
  color:#25252b;
  border:1px solid #dddde4;
  border-radius:14px;
  box-shadow:0 12px 35px rgba(0,0,0,.22);
  padding:14px;
}
.asc-day-popover-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;margin-bottom:9px;border-bottom:1px solid #eee;font-weight:800}
.asc-day-popover-head img{width:27px;height:27px;object-fit:contain}
.asc-day-popover-color{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
.asc-day-popover-event{display:block;padding:9px 4px;border-bottom:1px solid #f0f0f2;text-decoration:none!important;color:#25252b!important}
.asc-day-popover-event:last-child{border-bottom:0}
.asc-day-popover-event strong{display:block;color:#25252b}
.asc-day-popover-event small{display:block;color:#72727a;margin-top:3px}
.asc-cat-counter-icon{width:22px;height:22px;object-fit:contain}
.asc-cat-counter-color{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}
.asc-cat-counter-row{grid-template-columns:24px minmax(0,1fr) auto!important}
@media(max-width:700px){
 .asc-day .asc-month-dots{right:4px!important;bottom:4px!important;gap:3px!important}
}

/* v1.5.15 — infobulles CSS garanties */
.asc-month-dot-wrap{
  position:relative;
  display:inline-flex;
}
.asc-month-dot-wrap .asc-month-dot{
  position:relative;
  z-index:2;
}
.asc-month-tooltip{
  position:absolute;
  right:0;
  bottom:38px;
  z-index:10020;
  width:310px;
  max-width:calc(100vw - 30px);
  background:#fff;
  color:#25252b;
  border:1px solid #dddde4;
  border-top:4px solid var(--asc-tip-color,#147D64);
  border-radius:14px;
  padding:12px;
  box-shadow:0 12px 35px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  pointer-events:none;
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
}
.asc-month-dot-wrap:hover .asc-month-tooltip,
.asc-month-dot-wrap:focus-within .asc-month-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.asc-month-tooltip-head{
  display:flex;
  align-items:center;
  gap:8px;
  padding-bottom:9px;
  margin-bottom:7px;
  border-bottom:1px solid #eeeeF2;
}
.asc-month-tooltip-head img{
  width:28px;
  height:28px;
  object-fit:contain;
  flex:0 0 auto;
}
.asc-month-tooltip-color{
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--asc-tip-color,#147D64);
  flex:0 0 auto;
}
.asc-month-tooltip-head strong{
  color:#25252b!important;
  line-height:1.25;
}
.asc-month-tooltip-event{
  display:block;
  padding:8px 3px;
  color:#25252b!important;
  text-decoration:none!important;
  border-bottom:1px solid #f0f0f2;
}
.asc-month-tooltip-event:last-child{border-bottom:0}
.asc-month-tooltip-event strong{
  display:block;
  color:#25252b!important;
  line-height:1.3;
}
.asc-month-tooltip-event small{
  display:block;
  margin-top:4px;
  color:#6d6d76;
  line-height:1.35;
}
.asc-month-dots{
  overflow:visible!important;
}
.asc-day{
  overflow:visible!important;
}
@media(max-width:700px){
  .asc-month-tooltip{
    width:260px;
    right:-4px;
    bottom:32px;
  }
}

/* v1.5.17 — carte des fiches événement */
.asc-single-map{
  display:block!important;
  width:100%!important;
  height:380px!important;
  min-height:380px!important;
  position:relative!important;
  z-index:1;
  background:#eef1f4!important;
  border:1px solid #e0e3e7!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.asc-single-map.leaflet-container{
  height:380px!important;
}
.asc-single-map .leaflet-pane,
.asc-single-map .leaflet-tile,
.asc-single-map .leaflet-marker-icon,
.asc-single-map .leaflet-marker-shadow{
  max-width:none!important;
}
.asc-map-unavailable{
  padding:16px;
  margin-top:16px;
  border:1px dashed #c8c8cf;
  border-radius:12px;
  background:#fafafa;
  color:#666;
  font-weight:600;
}

/* v1.5.18 — médias partagés */
.asc-event-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.asc-event-gallery a{
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#f2f2f4;
}
.asc-event-gallery img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .18s ease;
}
.asc-event-gallery a:hover img{transform:scale(1.03)}
.asc-event-documents{
  display:grid;
  gap:9px;
}
.asc-event-documents a{
  display:block;
  padding:11px 13px;
  border:1px solid #dedee5;
  border-radius:10px;
  text-decoration:none!important;
  font-weight:700;
  overflow-wrap:anywhere;
}
.asc-single-action-secondary{
  background:#fff!important;
  color:var(--asc-cat-color,#147D64)!important;
  border:2px solid var(--asc-cat-color,#147D64)!important;
}
@media(max-width:700px){
  .asc-event-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v1.5.21 — habillage Agenda Solidaire clair */
body.asc-skin-agenda{
  --asc-page-bg:#F4F8F5;
}
body.asc-skin-agenda .asc-agenda{
  --asc-accent:#147D64;
  max-width:1180px;
  margin:28px auto 50px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 38px rgba(24,59,53,.08);
}
body.asc-skin-agenda .asc-search-primary{
  padding:14px;
  border:1px solid #DDE9E3;
  border-radius:16px;
  background:#F7FBF8;
}
body.asc-skin-agenda .asc-search-primary input,
body.asc-skin-agenda .asc-search-primary select{
  background:#fff!important;
  border-color:#D7E6DE!important;
  box-shadow:none!important;
}
body.asc-skin-agenda .asc-view-tabs{
  justify-content:center;
  margin:20px 0 24px;
  padding:6px;
  border-radius:999px;
  background:#E7F3EC;
  width:max-content;
  max-width:100%;
}
body.asc-skin-agenda .asc-view-tabs a{
  border:0!important;
  background:transparent;
  min-width:90px;
  text-align:center;
}
body.asc-skin-agenda .asc-view-tabs a.is-active{
  box-shadow:0 5px 14px rgba(20,125,100,.22);
}
body.asc-skin-agenda .asc-calendar-nav{
  max-width:520px;
  margin:0 auto 20px;
  padding:8px 12px;
  border-radius:16px;
  background:#F7FBF8;
}
body.asc-skin-agenda .asc-calendar-nav strong{
  font-size:1.15rem;
  text-transform:capitalize;
}
body.asc-skin-agenda .asc-month-grid{
  border:1px solid #DDE9E3!important;
  border-radius:18px;
  overflow:visible;
  background:#fff;
}
body.asc-skin-agenda .asc-month-head{
  background:#EEF6F1!important;
  padding:12px 8px!important;
  border-color:#DDE9E3!important;
  color:#365B52;
}
body.asc-skin-agenda .asc-day{
  min-height:118px;
  border-color:#E4EEE9!important;
  background:#fff!important;
  transition:background .15s ease;
}
body.asc-skin-agenda .asc-day:hover{background:#F7FBF8!important}
body.asc-skin-agenda .asc-day-num{
  display:inline-flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-weight:800;
  color:#183B35;
}
body.asc-skin-agenda .asc-card{
  border:1px solid #DDE9E3;
  border-top:5px solid var(--asc-cat-color,#147D64);
  border-radius:18px;
  box-shadow:0 7px 24px rgba(0,0,0,.05);
}
body.asc-skin-agenda .asc-map{
  border-radius:18px;
  border-color:#DDE9E3;
}
body.asc-skin-agenda .asc-filter-panel{
  border-color:#DDE9E3;
  background:#F7FBF8;
}
body.asc-skin-agenda .asc-filter-panel summary{
  background:#EAF4EE;
}
body.asc-skin-agenda .asc-cat-counter-toggle{
  width:72px;
  height:72px;
  border:4px solid #fff;
}
body.asc-skin-agenda .asc-cat-counter-number{font-size:1.35rem}
body.asc-skin-agenda .asc-cat-counter-label{font-size:.62rem}
body.asc-skin-agenda.asc-single-event-page .asc-single{
  max-width:1120px;
}
body.asc-skin-agenda .asc-single-top,
body.asc-skin-agenda .asc-single-section,
body.asc-skin-agenda .asc-info-card,
body.asc-skin-agenda .asc-share-card{
  box-shadow:0 8px 28px rgba(24,59,53,.06);
  border-color:#DDE9E3;
}
@media(max-width:700px){
  body.asc-skin-agenda .asc-agenda{
    margin:10px auto 30px;
    padding:12px;
    border-radius:16px;
  }
  body.asc-skin-agenda .asc-view-tabs{
    width:100%;
    justify-content:stretch;
    border-radius:14px;
  }
  body.asc-skin-agenda .asc-view-tabs a{min-width:0;flex:1}
}

/* v1.7.4 — horaires récurrents et fiche événement */
.asc-public-recurrence-grid input[type="time"],.asc-recur-times input[type="time"]{min-height:42px;padding:8px 10px;border:1px solid #ccd8d4;border-radius:9px;background:#fff;font:inherit}
.asc-single-heading{margin:0 0 18px}.asc-single-heading h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;margin:10px 0 14px;color:#123b32}.asc-single-back{display:inline-flex;align-items:center;font-weight:800;text-decoration:none;color:var(--asc-accent)}.asc-single-cats{display:flex;gap:8px;flex-wrap:wrap}
