.custod3s-library{--c3:#0f4c5c;--c3b:#123a46;--accent:#f0a500;--line:#d8e0e3;font-family:inherit}.custod3s-search-wrap{margin:0 0 24px}.custod3s-search{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;font-size:16px}.custod3s-category{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;background:#fff}.custod3s-category-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border:0;background:#fff;color:var(--c3b);font-size:18px;font-weight:700;text-align:left;cursor:pointer}.custod3s-category-toggle[aria-expanded=true]{background:var(--c3);color:#fff}.custod3s-count{font-size:13px;min-width:32px;text-align:center;border-radius:99px;padding:4px 8px;background:#eef3f4;color:var(--c3b)}.custod3s-category-toggle[aria-expanded=true] .custod3s-count{background:#fff}.custod3s-category-panel{padding:20px;background:#f7f9fa}.custod3s-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.custod3s-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(15,76,92,.08);display:flex;flex-direction:column}.custod3s-thumb{height:180px;position:relative;overflow:hidden;background:#eef3f4}.custod3s-thumb img{width:100%;height:100%;object-fit:cover}.custod3s-thumb iframe{width:1280px;height:800px;transform:scale(.23);transform-origin:0 0;border:0;pointer-events:none}.custod3s-thumb-shield{position:absolute;inset:0}.custod3s-card-body{padding:16px;display:flex;flex-direction:column;flex:1}.custod3s-card h3{font-size:17px;line-height:1.35;margin:0 0 14px;color:var(--c3b)}.custod3s-card-actions{display:flex;gap:8px;margin-top:auto}.custod3s-card-actions button,.custod3s-submit{border:0;border-radius:7px;padding:10px 13px;font-weight:700;cursor:pointer}.custod3s-preview-btn{background:#e8eef0;color:var(--c3b)}.custod3s-download-btn,.custod3s-submit{background:var(--c3);color:#fff}.custod3s-download-count{font-size:12px;color:#69777d;margin-top:10px}.custod3s-modal[hidden]{display:none}.custod3s-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.custod3s-modal-backdrop{position:absolute;inset:0;background:rgba(5,20,25,.75)}.custod3s-modal-dialog{position:relative;background:#fff;border-radius:14px;width:min(640px,95vw);max-height:92vh;overflow:auto;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.custod3s-preview-dialog{width:min(1200px,96vw);height:90vh;display:flex;flex-direction:column}.custod3s-preview-dialog iframe{width:100%;height:100%;border:1px solid var(--line);border-radius:8px}.custod3s-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer}.custod3s-modal h2{padding-right:35px}.custod3s-modal input[type=email]{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;margin-top:6px}.custod3s-check{display:flex;gap:10px;align-items:flex-start;margin:15px 0;font-size:14px;line-height:1.45}.custod3s-check input{margin-top:4px;flex:none}.custod3s-form-message{min-height:22px;color:#a22;margin:8px 0}.custod3s-submit{width:100%;font-size:16px;padding:13px}.custod3s-submit:disabled{opacity:.6}.custod3s-modal-open{overflow:hidden}@media(max-width:600px){.custod3s-grid{grid-template-columns:1fr}.custod3s-category-panel{padding:12px}.custod3s-modal-dialog{padding:22px 16px}.custod3s-card-actions{flex-direction:column}}


/* 3SAFE v1.0.1 — bouton de validation renforcé contre les styles du thème/Elementor */
#custod3s-download-modal .custod3s-submit {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 18px 0 2px !important;
  padding: 14px 20px !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  border: 2px solid #0056b3 !important;
  border-radius: 8px !important;
  background: #006fe6 !important;
  background-color: #006fe6 !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(0, 86, 179, .32), 0 -12px 18px 10px #ffffff !important;
}
#custod3s-download-modal .custod3s-submit:hover,
#custod3s-download-modal .custod3s-submit:focus-visible {
  background: #0056b3 !important;
  background-color: #0056b3 !important;
  border-color: #003f84 !important;
  color: #ffffff !important;
  outline: 3px solid rgba(0, 111, 230, .30) !important;
  outline-offset: 2px !important;
}
#custod3s-download-modal .custod3s-submit:disabled {
  display: flex !important;
  visibility: visible !important;
  opacity: .72 !important;
  background: #4f91d8 !important;
  color: #ffffff !important;
  cursor: wait !important;
}
#custod3s-download-modal #custod3s-download-form {
  padding-bottom: 2px !important;
}

/* 3SAFE v1.0.2 — tuiles compactes sur plusieurs colonnes, sans modification des aperçus ni des accordéons */
.custod3s-library .custod3s-category-panel .custod3s-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
.custod3s-library .custod3s-card {
  min-width: 0 !important;
}
.custod3s-library .custod3s-thumb {
  height: 125px !important;
}
.custod3s-library .custod3s-card-body {
  padding: 12px !important;
}
.custod3s-library .custod3s-card h3 {
  margin-bottom: 10px !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}
.custod3s-library .custod3s-card-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.custod3s-library .custod3s-card-actions button {
  min-width: 0 !important;
  padding: 8px 7px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.custod3s-library .custod3s-download-count {
  margin-top: 8px !important;
  font-size: 11px !important;
}
@media (max-width: 600px) and (min-width: 421px) {
  .custod3s-library .custod3s-category-panel .custod3s-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}
@media (max-width: 420px) {
  .custod3s-library .custod3s-category-panel .custod3s-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 3SAFE v1.0.3 — catégories en accordéon disposées en tuiles sur plusieurs colonnes */
.custod3s-library .custod3s-accordions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}
.custod3s-library .custod3s-accordions > .custod3s-category {
  min-width: 0 !important;
  margin-bottom: 0 !important;
}
.custod3s-library .custod3s-accordions > .custod3s-category > .custod3s-category-toggle {
  min-height: 62px !important;
}
/* Une catégorie ouverte reprend toute la largeur afin de conserver les fichiers en grille. */
.custod3s-library .custod3s-accordions > .custod3s-category:has(> .custod3s-category-toggle[aria-expanded="true"]) {
  grid-column: 1 / -1 !important;
}
@media (max-width: 520px) {
  .custod3s-library .custod3s-accordions {
    grid-template-columns: 1fr !important;
  }
}
