.rcl-gallery{display:grid;grid-template-columns:repeat(var(--rcl-cols),minmax(0,1fr));gap:28px}.rcl-gallery-card{background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 14px 36px rgba(25,36,83,.10);border:1px solid #dfe6f3}.rcl-cover{height:220px;background:#eef3fb;display:flex;align-items:center;justify-content:center;color:#192453;font-weight:700;text-align:center}.rcl-cover img{width:100%;height:100%;object-fit:cover;display:block}.rcl-card-body{padding:22px}.rcl-card-body h3{margin:0 0 12px;color:#192453;font-size:24px}.rcl-card-body p{margin:0 0 16px;color:#57627d}.rcl-open-drive{appearance:none;cursor:pointer;padding:12px 20px;font-weight:800;text-decoration:none!important;line-height:1.1;display:inline-block;box-shadow:none!important}.rcl-lightbox{position:fixed;inset:0;background:rgba(10,18,48,.90);z-index:999999;display:none;padding:38px;box-sizing:border-box}.rcl-lightbox.is-open{display:block}.rcl-lightbox-panel{background:#fff;border-radius:32px;max-width:1180px;height:90vh;margin:0 auto;overflow:auto;padding:30px;position:relative;border-top:6px solid #ffcc00}.rcl-close{position:absolute;right:24px;top:22px;border:2px solid #192453;background:#ffcc00;color:#192453;border-radius:50%;width:46px;height:46px;padding:0;display:grid;place-items:center;font-size:0;line-height:0;cursor:pointer;z-index:5}.rcl-close::before{content:"×";display:block;font-family:Arial,sans-serif;font-size:30px;font-weight:700;line-height:1;transform:translateY(-1px)}.rcl-close:hover{background:#192453;color:#fff}.rcl-lightbox-panel h2{padding-right:70px;color:#192453;margin-top:4px}.rcl-drive-browser{margin-top:18px}.rcl-drive-browser-embedded{max-width:1180px;margin:0 auto}.rcl-browser-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;padding:12px 14px;background:#eef3fb;border-radius:16px}.rcl-back{border:2px solid #192453;border-radius:16px;background:#192453;color:#fff;padding:10px 15px;font-weight:800;cursor:pointer}.rcl-back:disabled{opacity:.35;cursor:not-allowed}.rcl-back:not(:disabled):hover{background:#ffcc00;color:#192453;border-color:#192453}.rcl-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rcl-crumb{border:0;background:transparent;color:#192453;font-weight:700;cursor:pointer;padding:5px}.rcl-crumb.is-current{color:#68718a;cursor:default}.rcl-folder-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.rcl-folder-list-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px;color:#192453;font-weight:800}.rcl-folder-list-head small{font-weight:600;color:#68718a}.rcl-folder-row{width:100%;border:2px solid #192453;border-radius:16px;background:#fff;color:#192453;padding:13px 15px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:13px;transition:border-color .18s,background .18s,transform .18s}.rcl-folder-row:hover{border-color:#192453;background:#192453;color:#fff;transform:translateX(3px)}.rcl-folder-row:hover .rcl-folder-copy small,.rcl-folder-row:hover .rcl-folder-arrow{color:#fff}.rcl-folder-row:hover .rcl-folder-symbol{background:#ffcc00}.rcl-folder-symbol{width:42px;height:42px;flex:0 0 42px;border-radius:16px;background:#ffcc00;display:flex;align-items:center;justify-content:center}.rcl-folder-symbol svg{width:23px;height:23px;fill:#192453}.rcl-folder-copy{display:flex;flex-direction:column;min-width:0;flex:1}.rcl-folder-copy strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rcl-folder-copy small{font-size:12px;color:#68718a;margin-top:2px}.rcl-folder-arrow{font-size:30px;line-height:1;color:#192453}.rcl-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin-bottom:24px}.rcl-drive-item{border:1px solid #dfe6f3;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(25,36,83,.07)}.rcl-drive-item img{width:100%;height:180px;object-fit:cover;display:block;background:#eef3fb}.rcl-photo-name{padding:10px 10px 0;font-weight:700;color:#192453;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rcl-drive-actions{display:flex;gap:8px;padding:10px}.rcl-drive-actions a{flex:1;text-align:center;text-decoration:none!important;background:#ffcc00;color:#192453;border:2px solid #ffcc00;border-radius:16px;padding:9px;font-weight:800}.rcl-drive-actions a:hover{background:#192453;border-color:#192453;color:#fff}.rcl-error{color:#b00020;font-weight:700}@media(max-width:900px){.rcl-gallery{grid-template-columns:repeat(var(--rcl-cols-tab),minmax(0,1fr))}}@media(max-width:600px){.rcl-gallery{grid-template-columns:repeat(var(--rcl-cols-mob),minmax(0,1fr))}.rcl-lightbox{padding:12px}.rcl-lightbox-panel{height:94vh;padding:18px}.rcl-close{right:12px;top:12px}.rcl-photo-grid{grid-template-columns:1fr 1fr}.rcl-drive-actions{flex-direction:column}.rcl-folder-copy small{display:none}}@media(max-width:420px){.rcl-photo-grid{grid-template-columns:1fr}}


/* RCL v2.4.1 — correctifs de compatibilité thèmes/Elementor */
.rcl-lightbox .rcl-lightbox-panel {
  border-radius: 32px !important;
}

.rcl-lightbox .rcl-close,
.rcl-lightbox .rcl-close:hover,
.rcl-lightbox .rcl-close:focus,
.rcl-lightbox .rcl-close:active {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 2px solid #192453 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
  text-indent: 0 !important;
  font-size: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.rcl-lightbox .rcl-close { background: #ffcc00 !important; color: #192453 !important; }
.rcl-lightbox .rcl-close:hover,
.rcl-lightbox .rcl-close:focus { background: #192453 !important; color: #fff !important; }
.rcl-lightbox .rcl-close::before,
.rcl-lightbox .rcl-close::after { content: none !important; display: none !important; }
.rcl-lightbox .rcl-close > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 0 3px 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: inherit !important;
  transform: none !important;
}

.rcl-drive-browser button.rcl-folder-row,
.rcl-drive-browser button.rcl-folder-row:visited,
.rcl-drive-browser button.rcl-folder-row:focus,
.rcl-drive-browser button.rcl-folder-row:active {
  width: 100% !important;
  min-height: 84px !important;
  padding: 16px 18px !important;
  margin: 0 !important;
  border: 2px solid #192453 !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #192453 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  text-align: left !important;
  box-shadow: none !important;
  text-transform: none !important;
  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.rcl-drive-browser button.rcl-folder-row:hover {
  border-color: #192453 !important;
  background: #192453 !important;
  background-color: #192453 !important;
  background-image: none !important;
  color: #fff !important;
  transform: translateX(3px) !important;
  box-shadow: none !important;
}
.rcl-drive-browser button.rcl-folder-row .rcl-folder-symbol {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 16px !important;
  background: #ffcc00 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.rcl-drive-browser button.rcl-folder-row .rcl-folder-copy {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  text-align: left !important;
}
.rcl-drive-browser button.rcl-folder-row .rcl-folder-copy strong {
  color: #192453 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}
.rcl-drive-browser button.rcl-folder-row .rcl-folder-copy small {
  color: #68718a !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.rcl-drive-browser button.rcl-folder-row .rcl-folder-arrow {
  margin-left: auto !important;
  color: #192453 !important;
  font-size: 32px !important;
  line-height: 1 !important;
}
.rcl-drive-browser button.rcl-folder-row:hover .rcl-folder-copy strong,
.rcl-drive-browser button.rcl-folder-row:hover .rcl-folder-copy small,
.rcl-drive-browser button.rcl-folder-row:hover .rcl-folder-arrow {
  color: #fff !important;
}

.rcl-drive-browser .rcl-browser-toolbar { border-radius: 16px !important; }
.rcl-drive-browser button.rcl-back,
.rcl-drive-browser button.rcl-crumb { border-radius: 16px !important; }

@media (max-width: 600px) {
  .rcl-lightbox .rcl-close,
  .rcl-lightbox .rcl-close:hover,
  .rcl-lightbox .rcl-close:focus,
  .rcl-lightbox .rcl-close:active {
    top: 12px !important;
    right: 12px !important;
  }
}


/* RCL v2.4.2 — surcharge définitive de la charte et des contrôles */
.rcl-lightbox .rcl-browser-toolbar button,
.rcl-lightbox .rcl-browser-toolbar button:hover,
.rcl-lightbox .rcl-browser-toolbar button:focus,
.rcl-lightbox .rcl-browser-toolbar button:active,
.rcl-lightbox .rcl-browser-toolbar button:visited {
  box-shadow: none !important;
  text-decoration: none !important;
  outline: none !important;
  text-transform: none !important;
  border-color: #192453 !important;
}
.rcl-lightbox .rcl-back,
.rcl-lightbox .rcl-crumb {
  background: #ffffff !important;
  color: #192453 !important;
  border: 2px solid #192453 !important;
  border-radius: 16px !important;
  padding: 10px 16px !important;
  min-height: 44px !important;
  font-weight: 800 !important;
}
.rcl-lightbox .rcl-back:hover:not(:disabled),
.rcl-lightbox .rcl-back:focus:not(:disabled),
.rcl-lightbox .rcl-crumb:hover:not(.is-current),
.rcl-lightbox .rcl-crumb:focus:not(.is-current),
.rcl-lightbox .rcl-crumb.is-current {
  background: #192453 !important;
  color: #ffffff !important;
  border-color: #192453 !important;
}
.rcl-lightbox .rcl-back:disabled {
  opacity: .45 !important;
  background: #fffde8 !important;
  color: #68718a !important;
  border-color: #192453 !important;
}

/* Croix dessinée en CSS : centrage indépendant de la police du thème */
.rcl-lightbox button.rcl-close,
.rcl-lightbox button.rcl-close:hover,
.rcl-lightbox button.rcl-close:focus,
.rcl-lightbox button.rcl-close:active {
  display: block !important;
  position: absolute !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}
.rcl-lightbox button.rcl-close > span { display:none !important; }
.rcl-lightbox button.rcl-close::before,
.rcl-lightbox button.rcl-close::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 20px !important;
  height: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: currentColor !important;
  transform-origin: center !important;
}
.rcl-lightbox button.rcl-close::before { transform: translate(-50%,-50%) rotate(45deg) !important; }
.rcl-lightbox button.rcl-close::after  { transform: translate(-50%,-50%) rotate(-45deg) !important; }

/* RCL v2.4.3 — correctifs définitifs */
.rcl-lightbox .rcl-browser-toolbar .rcl-back,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb,
.rcl-lightbox .rcl-browser-toolbar .rcl-back:hover,
.rcl-lightbox .rcl-browser-toolbar .rcl-back:focus,
.rcl-lightbox .rcl-browser-toolbar .rcl-back:active,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb:hover,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb:focus,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb:active,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb.is-current {
  border: 2px solid #192453 !important;
  border-color: #192453 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.rcl-lightbox .rcl-browser-toolbar .rcl-back,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb {
  background: #ffffff !important;
  color: #192453 !important;
}
.rcl-lightbox .rcl-browser-toolbar .rcl-back:hover:not(:disabled),
.rcl-lightbox .rcl-browser-toolbar .rcl-back:focus:not(:disabled),
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb:hover,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb:focus,
.rcl-lightbox .rcl-browser-toolbar .rcl-crumb.is-current {
  background: #192453 !important;
  background-color: #192453 !important;
  color: #ffffff !important;
}
.rcl-lightbox .rcl-browser-toolbar .rcl-back:disabled {
  background: #fffde8 !important;
  color: #68718a !important;
  border-color: #192453 !important;
  opacity: .6 !important;
}
.rcl-lightbox button.rcl-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 2px solid #192453 !important;
  border-radius: 50% !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}
.rcl-lightbox button.rcl-close > span { display: none !important; }
.rcl-lightbox button.rcl-close::before,
.rcl-lightbox button.rcl-close::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 19px !important;
  height: 3px !important;
  border-radius: 99px !important;
  background: currentColor !important;
  transform-origin: 50% 50% !important;
}
.rcl-lightbox button.rcl-close::before { transform: translate(-50%, -50%) rotate(45deg) !important; }
.rcl-lightbox button.rcl-close::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }
