.cms-blocks{background:#fff;color:#0b0b0b}
.cms-block{padding:76px 0;border-bottom:1px solid #ecece7}
.cms-block-inner{width:min(calc(100% - 56px),1180px);margin:0 auto}
.cms-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#777;margin-bottom:12px}
.cms-block h2{margin:0 0 22px;text-align:left;font-size:clamp(30px,4vw,54px);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase}
.cms-richtext{font-size:16px;line-height:1.75;color:#252525}
.cms-richtext p:first-child{margin-top:0}.cms-richtext p:last-child{margin-bottom:0}.cms-richtext a{text-decoration:underline;text-underline-offset:3px}.cms-richtext ul,.cms-richtext ol{padding-left:22px}
.cms-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:center}
.cms-block-mediawrap{min-width:0}.cms-block-media{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:2px;background:#f1f1ed}
.cms-block-media-full{max-height:none;aspect-ratio:16/8;object-fit:cover}
.cms-columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px}
.cms-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cms-gallery-image{width:100%;aspect-ratio:4/3;display:block;object-fit:cover}
.cms-block-video-player{display:block;width:100%;max-height:720px;background:#000}
.cms-block-action{margin-top:28px;display:flex;justify-content:center;align-items:center;text-align:center}.cms-block-btn,.cms-document-link{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;border:1px solid #0b0b0b;border-radius:999px;padding:12px 18px;background:#0b0b0b;color:#fff;font-size:12px;font-weight:700;text-align:center;text-decoration:none!important}.cms-block-btn:hover,.cms-document-link:hover{background:#fff;color:#0b0b0b}
.cms-block-cta{background:#f4f4f1}.cms-block-cta .cms-block-inner{max-width:900px;text-align:center}.cms-block-cta h2{text-align:center}.cms-block-cta .cms-richtext{max-width:720px;margin:0 auto}
.cms-block-document .cms-block-inner{max-width:900px}

.cms-block-youtube{background:#fff}
.cms-youtube-layout{display:grid;grid-template-columns:minmax(0,.86fr) 1px minmax(0,1.38fr);gap:46px;align-items:center}
.cms-youtube-copy{min-width:0}
.cms-youtube-copy .cms-richtext{font-size:17px;line-height:1.8}
.cms-youtube-divider{width:1px;height:72%;min-height:260px;background:#d9d7d0;justify-self:center}
.cms-youtube-media{min-width:0}
.cms-youtube-player{position:relative;width:100%;aspect-ratio:16/9;background:#111 center/cover no-repeat;overflow:hidden}
.cms-youtube-player::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12));pointer-events:none}
.cms-youtube-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.cms-youtube-empty{display:grid;place-items:center;color:#fff;background:#111}
.cms-youtube-empty span{padding:24px;text-align:center;font-size:14px}
.cms-youtube-title{margin:18px 0 0!important;font-size:clamp(23px,2.3vw,34px)!important;line-height:1.12!important;letter-spacing:-.025em!important;text-transform:none!important}

@media(max-width:760px){.cms-block{padding:56px 0}.cms-block-inner{width:min(calc(100% - 28px),1180px)}.cms-split-grid,.cms-columns-grid{grid-template-columns:1fr;gap:28px}.cms-block-split.image_text .cms-block-mediawrap{order:0}.cms-block-split.image_text .cms-block-copy{order:1}.cms-gallery-grid{grid-template-columns:1fr 1fr}.cms-block h2{font-size:34px}.cms-youtube-layout{grid-template-columns:1fr;gap:28px}.cms-youtube-divider{width:100%;height:1px;min-height:0;background:#d9d7d0}.cms-youtube-copy .cms-richtext{font-size:16px}.cms-youtube-title{font-size:26px!important}}

.cms-youtube-link{margin-top:24px}
.cms-youtube-link a{display:inline-flex;align-items:center;gap:7px;color:inherit;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.cms-youtube-link a:hover{opacity:.68}

/* Carrousel premium */
.cms-block-carousel{background:#fff}
.cms-carousel-intro{max-width:820px;margin:-4px 0 28px}
.cms-carousel{
  position:relative;
  overflow:hidden;
  background:#eceee8;
  outline:none;
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
}
.cms-carousel:focus-visible{outline:3px solid rgba(25,52,61,.28);outline-offset:4px}
.cms-carousel-viewport{overflow:hidden}
.cms-carousel-track{
  display:flex;
  width:100%;
  transition:transform .52s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.cms-carousel-slide{
  position:relative;
  flex:0 0 100%;
  margin:0;
  aspect-ratio:16/8.6;
  overflow:hidden;
  background:#e8e8e3;
}
.cms-carousel-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
.cms-carousel-slide figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:54px 30px 24px;
  color:#fff;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.01em;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.56));
}
.cms-carousel-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:54px;
  height:82px;
  padding:0;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
  font:300 58px/1 Georgia,"Times New Roman",serif;
  text-shadow:0 2px 14px rgba(0,0,0,.52);
  cursor:pointer;
  opacity:.86;
  transition:opacity .18s ease,transform .18s ease;
}
.cms-carousel-arrow:hover{opacity:1}
.cms-carousel-arrow:focus-visible{outline:2px solid rgba(255,255,255,.92);outline-offset:-7px}
.cms-carousel-arrow.prev{left:8px}
.cms-carousel-arrow.next{right:8px}
.cms-carousel-arrow.prev:hover{transform:translate(-3px,-50%)}
.cms-carousel-arrow.next:hover{transform:translate(3px,-50%)}
.cms-carousel-footer{
  position:absolute;
  z-index:3;
  left:24px;
  right:24px;
  bottom:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  pointer-events:none;
}
.cms-carousel-counter{
  min-width:58px;
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.cms-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  pointer-events:auto;
}
.cms-carousel-dot{
  width:24px;
  height:3px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.46);
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}
.cms-carousel-dot.is-active{width:42px;background:#fff}
.cms-carousel-dot:focus-visible{outline:2px solid #fff;outline-offset:4px}
.cms-carousel-empty{
  padding:46px 24px;
  border:1px dashed #cfd5d2;
  background:#f7f7f4;
  color:#697578;
  text-align:center;
  font-size:14px;
}

@media(max-width:760px){
  .cms-carousel-intro{margin-bottom:22px}
  .cms-carousel-slide{aspect-ratio:4/3}
  .cms-carousel-arrow{display:none!important}
  .cms-carousel-footer{left:14px;right:14px;bottom:13px}
  .cms-carousel-slide figcaption{padding:46px 16px 42px;font-size:12px}
  .cms-carousel-dot{width:18px}
  .cms-carousel-dot.is-active{width:30px}
  .cms-carousel{cursor:grab}
  .cms-carousel:active{cursor:grabbing}
}
@media(prefers-reduced-motion:reduce){
  .cms-carousel-track{transition:none}
}

.cms-page-documents{padding:68px 0 78px;background:#f7f7f3;border-top:1px solid #e4e4de}
.cms-page-documents-inner{width:min(calc(100% - 56px),1180px);margin:0 auto}
.cms-page-documents-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:22px;border-bottom:1px solid #d9dad5}
.cms-page-documents-kicker{margin-bottom:9px;color:#817765;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.cms-page-documents-head h2{margin:0!important;color:#19343d!important;font-family:"Libre Caslon Display",Georgia,serif!important;font-size:clamp(30px,3.4vw,46px)!important;font-weight:400!important;line-height:1.05!important;letter-spacing:-.03em!important;text-transform:none!important}
.cms-page-documents-head>span{color:#7d8887;font-size:12px;white-space:nowrap}
.cms-page-documents-list{display:grid;margin-top:8px}
.cms-page-document{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid #dedfd9;color:#19343d;text-decoration:none}
.cms-page-document-type{display:inline-flex;align-items:center;justify-content:center;width:46px;height:30px;border:1px solid #c9cec9;color:#776f61;font-size:10px;font-weight:800;letter-spacing:.08em}
.cms-page-document-title{font-size:15px;font-weight:700;line-height:1.4}
.cms-page-document-action{font-size:12px;font-weight:700;color:#667575;white-space:nowrap;transition:color .18s ease,transform .18s ease}
.cms-page-document:hover .cms-page-document-action{color:#19343d;transform:translateX(2px)}

/* Bloc carte de localisation */
.cms-block-map{background:#fff}
.cms-map-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:54px;align-items:center}
.cms-map-layout-full{display:block}
.cms-map-copy{min-width:0}
.cms-map-visual{min-width:0}
.cms-map-layout-full .cms-map-visual{width:100%}
.cms-map-heading{
  margin:0 0 18px!important;
  color:#19343d!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.cms-map-panel{min-width:0;border:1px solid #e0e4e1;background:#fff}
.cms-map-frame{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#eef1ed}
.cms-map-layout-full .cms-map-frame{aspect-ratio:16/7}
.cms-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.cms-map-meta{display:flex;align-items:center;justify-content:flex-end;padding:14px 17px;border-top:1px solid #e0e4e1;font-size:12px;line-height:1.4;background:#fff}
.cms-map-meta a{color:#19343d;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-weight:600}
.cms-map-meta a:hover{opacity:.72}
.cms-map-empty{min-height:330px;display:grid;place-items:center;padding:30px;text-align:center;color:#6d7774;background:#f5f6f3;border:1px solid #e0e4e1}

@media(max-width:760px){.cms-page-documents{padding:52px 0 60px}.cms-page-documents-inner{width:min(calc(100% - 28px),1180px)}.cms-page-documents-head{align-items:flex-start;flex-direction:column;gap:8px}.cms-page-document{grid-template-columns:46px minmax(0,1fr);gap:13px;padding:16px 0}.cms-page-document-action{grid-column:2;justify-self:start}.cms-page-document-type{width:40px;height:28px}}
@media(max-width:760px){.cms-map-layout{grid-template-columns:1fr;gap:28px}.cms-map-layout-full{display:block}.cms-map-heading{font-size:16px!important;margin-bottom:14px!important}.cms-map-frame,.cms-map-layout-full .cms-map-frame{aspect-ratio:4/3}.cms-map-meta{justify-content:flex-start;padding:13px 14px}}

/* V1.1 : le petit libellé redondant au-dessus de « Documents à télécharger » est supprimé. */
.cms-page-documents-kicker{display:none!important}
