.ssf-projects{--ssf-blue:#09598e;--ssf-ink:#092d5b;--ssf-bg:#f4faff;background:radial-gradient(ellipse at top left,#eaf6ff 0,transparent 52%),var(--ssf-bg);border-radius:30px;padding:clamp(22px,4vw,65px);font-family:inherit;color:var(--ssf-ink)}.ssf-projects *{box-sizing:border-box}.ssf-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.ssf-top>div{flex:1}.ssf-eyebrow{color:#69aee5;letter-spacing:.25em;font-size:13px;font-weight:800;display:flex;align-items:center;gap:12px}.ssf-eyebrow span{width:55px;height:2px;background:#69aee5}.ssf-top h2{font-size:clamp(34px,4vw,56px);line-height:1.1;color:var(--ssf-ink);margin:10px 0 20px;font-weight:800}.ssf-top>p{width:min(100%,380px);font-size:16px;line-height:1.65;color:#617a99}.ssf-filters{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 26px}.ssf-filter{border:1px solid #c8dfef!important;border-radius:99px!important;background:white!important;color:var(--ssf-blue)!important;padding:12px 23px!important;font-weight:700!important;cursor:pointer;transition:.2s}.ssf-filter:hover,.ssf-filter.active{color:white!important;background:var(--ssf-blue)!important;border-color:var(--ssf-blue)!important}.ssf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ssf-card{border-radius:24px;overflow:hidden;background:white;box-shadow:0 14px 30px rgba(20,85,130,.08);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.ssf-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(20,85,130,.15)}.ssf-card[hidden]{display:none!important}.ssf-card-media{height:230px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;background:linear-gradient(115deg,var(--ssf-cover),#67bed5);overflow:hidden}.ssf-cover-image{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-1}.ssf-media-art{position:absolute;inset:0;background:radial-gradient(circle at 85% 100%,transparent 0 25%,rgba(255,255,255,.13) 25.3% 40%,transparent 40.3%),radial-gradient(circle at 98% 104%,transparent 0 40%,rgba(255,255,255,.11) 40.3% 58%,transparent 58.3%);pointer-events:none}.ssf-overlay-logo{height:94px;width:94px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.2));z-index:1}.ssf-overlay-emoji{font-size:73px;line-height:1;filter:drop-shadow(0 8px 8px rgba(0,0,0,.15));z-index:1}.ssf-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1;padding:23px 26px 26px}.ssf-badge{font-size:13px;font-weight:800;padding:7px 13px;border-radius:30px}.ssf-badge-done{background:#ddf6e9;color:#12694f}.ssf-badge-ongoing{background:#fff0cf;color:#8b5600}.ssf-badge-other{background:#e7efff;color:#245ba0}.ssf-card h3{font-size:22px;line-height:1.25;font-weight:800;color:var(--ssf-ink);margin:0}.ssf-card-body>p{color:#637c9b;font-size:16px;line-height:1.55;flex:1;margin:0}.ssf-more{display:inline-flex;gap:18px;align-items:center;border:0!important;border-radius:100px!important;background:var(--ssf-blue)!important;color:white!important;padding:13px 22px!important;font-weight:800!important;font-size:14px!important;text-decoration:none!important;cursor:pointer;margin-top:10px}.ssf-more:hover{filter:brightness(1.12)}.ssf-more span{font-size:20px;line-height:1}.ssf-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:25px}.ssf-modal.ssf-visible{display:flex}.ssf-modal-shade{position:absolute;inset:0;background:rgba(3,30,60,.6);backdrop-filter:blur(7px)}.ssf-modal-panel{position:relative;background:white;border-radius:24px;padding:clamp(24px,4vw,50px);width:min(940px,100%);max-height:90vh;overflow:auto;box-shadow:0 25px 70px #002b5670}.ssf-modal-panel h2{color:var(--ssf-ink);padding-right:45px;font-size:clamp(25px,3vw,38px)}.ssf-detail{line-height:1.8;color:#395676}.ssf-close{position:absolute;top:12px;right:18px;border:0!important;background:transparent!important;color:#345!important;font-size:38px!important;cursor:pointer}.ssf-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}.ssf-detail-gallery img{width:100%;height:175px;object-fit:cover;border-radius:12px}.ssf-no-scroll{overflow:hidden}@media(max-width:900px){.ssf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ssf-top{align-items:start;flex-direction:column;gap:0}.ssf-top>p{width:auto}}@media(max-width:620px){.ssf-projects{padding:20px 15px;border-radius:16px}.ssf-grid{grid-template-columns:1fr;gap:18px}.ssf-filters{gap:8px}.ssf-filter{padding:9px 14px!important;font-size:13px!important}.ssf-card-media{height:205px}.ssf-card-body{padding:20px}.ssf-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ssf-detail-gallery img{height:130px}}
/* 1.1 — Popup indépendante d'Elementor : le fond est flou, jamais le contenu. */
body > .ssf-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,30px);transform:none!important;filter:none!important;opacity:1!important;isolation:isolate}
body > .ssf-modal.ssf-visible{display:flex!important}
body > .ssf-modal > .ssf-modal-shade{position:absolute;inset:0;z-index:0;background:rgba(5,29,55,.64);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body > .ssf-modal > .ssf-modal-panel{position:relative;z-index:1;display:block;width:min(960px,100%);max-height:min(90vh,900px);overflow-y:auto;background:#fff;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important;transform:none!important;box-shadow:0 30px 95px rgba(0,20,50,.4);border-radius:22px}
body > .ssf-modal .ssf-detail-gallery a{cursor:zoom-in}
body > .ssf-lightbox{position:fixed!important;inset:0;z-index:2147483100!important;display:flex;align-items:center;justify-content:center;background:rgba(3,15,30,.9);padding:60px 22px 22px}
body > .ssf-lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px}
body > .ssf-lightbox .ssf-lightbox-close{position:absolute;right:16px;top:12px;border:0;background:rgba(255,255,255,.15);border-radius:50%;color:white;font-size:34px;line-height:1;width:45px;height:45px;cursor:pointer}

/* Version 1.2 : cliquer sur la photo agrandie ferme la visionneuse. */
body > .ssf-lightbox img{cursor:zoom-out}
/* v1.3 : fiche de projet enrichie, bouton document et lecteur feuilletable */
body>.ssf-modal .ssf-modal-eyebrow{font-size:12px;letter-spacing:.14em;color:#0d77b2;font-weight:850;margin-bottom:14px}
body>.ssf-modal .ssf-modal-cover{width:100%;max-height:310px;object-fit:cover;display:block;border-radius:16px;margin:12px 0 24px}
body>.ssf-modal .ssf-detail-link{margin:22px 0}
body>.ssf-modal .ssf-document{background:#e8f5ff;border:1px solid #b8dbf6;border-radius:20px;padding:25px;display:flex;align-items:center;gap:20px;justify-content:space-between;margin:32px 0}
body>.ssf-modal .ssf-document-kicker{color:#0876b5;font-weight:900;letter-spacing:.13em;font-size:12px}
body>.ssf-modal .ssf-document h3{color:#103b70;font-size:27px;margin:6px 0}
body>.ssf-modal .ssf-document p{color:#4e7595;line-height:1.6;margin:0}
body>.ssf-modal .ssf-book-open{border:0;border-radius:12px;background:#0d6ea7;color:#fff;padding:15px 21px;font-weight:800;cursor:pointer;min-width:215px}
body>.ssf-modal .ssf-book-open:hover{background:#075789}
body>.ssf-book-layer{position:fixed!important;z-index:2147483200!important;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(4,18,40,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body>.ssf-book-layer .ssf-book-frame{background:#f1f7fc;border-radius:17px;display:flex;flex-direction:column;width:min(1150px,100%);height:min(94vh,1100px);overflow:hidden;box-shadow:0 22px 80px #0008}
body>.ssf-book-layer .ssf-book-header,body>.ssf-book-layer .ssf-book-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;background:white;color:#153e6b}
body>.ssf-book-layer .ssf-book-header strong{font-size:18px}
body>.ssf-book-layer .ssf-book-actions{display:flex;align-items:center;gap:12px}
body>.ssf-book-layer .ssf-book-download{font-size:13px;color:#0a659b;text-decoration:underline}
body>.ssf-book-layer .ssf-book-close{font-size:30px;border:0;background:transparent;color:#173d60;cursor:pointer;line-height:1}
body>.ssf-book-layer .ssf-book-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:12px;background:#d8e5f0}
body>.ssf-book-layer .ssf-book-canvas{display:none;max-width:100%;height:auto;box-shadow:0 8px 30px #1b354d44;cursor:ew-resize;background:white}
body>.ssf-book-layer .ssf-book-nav button{border:1px solid #c9dfea;border-radius:10px;padding:10px;background:#0c6c9f;color:white;cursor:pointer}
body>.ssf-book-layer .ssf-book-nav button:disabled{opacity:.35;cursor:default}
body>.ssf-book-layer .ssf-book-counter{font-weight:800}
body>.ssf-book-layer .ssf-book-iframe{width:100%;height:90%;border:0;background:white}
body>.ssf-book-layer .ssf-book-error{font-size:14px;color:#345;text-align:center}
@media(max-width:660px){body>.ssf-modal .ssf-document{flex-direction:column;align-items:stretch;padding:18px}body>.ssf-book-layer .ssf-book-frame{height:97vh}body>.ssf-book-layer .ssf-book-header{padding:10px}body>.ssf-book-layer .ssf-book-header strong{font-size:14px}body>.ssf-book-layer .ssf-book-download{font-size:11px}body>.ssf-book-layer .ssf-book-nav{padding:8px;gap:5px}body>.ssf-book-layer .ssf-book-nav button{font-size:11px;padding:8px 6px}}

/* Version 1.5 : livre grand format deux pages sur ordinateur, une page sur mobile */
body>.ssf-book-layer{padding:clamp(5px,1vw,16px)}
body>.ssf-book-layer .ssf-book-frame{width:min(1720px,99vw);height:min(98dvh,1300px);max-width:none}
body>.ssf-book-layer .ssf-book-stage{padding:12px;overflow:auto}
body>.ssf-book-layer .ssf-book-spread{display:flex;align-items:center;justify-content:center;gap:4px;max-width:100%;min-height:0}
body>.ssf-book-layer .ssf-book-page{display:block;flex:0 1 auto;max-width:50%;height:auto;object-fit:contain;background:white;box-shadow:0 4px 18px #173d6033;cursor:pointer}
body>.ssf-book-layer .ssf-book-page[hidden]{display:none!important}
body>.ssf-book-layer .ssf-book-left{border-radius:4px 0 0 4px}
body>.ssf-book-layer .ssf-book-right{border-radius:0 4px 4px 0}
body>.ssf-book-layer .ssf-book-spread:not(.ssf-book-single):before{content:"";height:85%;width:2px;order:1;background:linear-gradient(90deg,#a4bacb,white);box-shadow:0 0 7px #2041615a}
body>.ssf-book-layer .ssf-book-right{order:2}
body>.ssf-book-layer .ssf-book-left{order:0}
@media(max-width:760px){body>.ssf-book-layer .ssf-book-frame{width:100%;height:98dvh}body>.ssf-book-layer .ssf-book-stage{padding:6px}body>.ssf-book-layer .ssf-book-page{max-width:100%}body>.ssf-book-layer .ssf-book-spread:before{display:none}body>.ssf-book-layer .ssf-book-header strong{font-size:13px}}

/* v1.6 : contraste garanti dans la popup teleportée sous body.
   La regle .ssf-projects .ssf-more ne s'appliquait plus à ce bouton. */
body > .ssf-modal .ssf-modal-panel {color:#173b60 !important;background:#ffffff !important;}
body > .ssf-modal .ssf-detail,
body > .ssf-modal .ssf-detail p,
body > .ssf-modal .ssf-detail li {color:#274c6c !important;}
body > .ssf-modal .ssf-detail-link {display:block;margin:24px 0 !important;}
body > .ssf-modal .ssf-detail-link a.ssf-more,
body > .ssf-modal .ssf-detail-link a.ssf-more:link,
body > .ssf-modal .ssf-detail-link a.ssf-more:visited {
  display:inline-flex !important;align-items:center;justify-content:center;
  gap:10px;max-width:100%;min-height:46px;padding:13px 22px !important;
  border:1px solid #09609a !important;border-radius:999px !important;
  background:#09598e !important;color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;opacity:1 !important;
  font-size:15px !important;font-weight:800 !important;line-height:1.4 !important;
  text-decoration:none !important;text-shadow:none !important;
  box-shadow:0 5px 16px rgba(9,89,142,.20);
}
body > .ssf-modal .ssf-detail-link a.ssf-more:hover,
body > .ssf-modal .ssf-detail-link a.ssf-more:focus-visible {
  background:#06416d !important;color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body > .ssf-modal .ssf-book-open {color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;}
@media(max-width:620px){body > .ssf-modal .ssf-detail-link a.ssf-more{width:100%;white-space:normal;text-align:center;}}

/* v1.7 — partenaires dans la popup detaillée */
body > .ssf-modal .ssf-partners { margin:30px 0 8px; padding:24px; background:#f2f8fe; border:1px solid #d8e9f8; border-radius:18px; color:#123d62; }
body > .ssf-modal .ssf-partners h3 { margin:0 0 20px; font-size:clamp(19px,2vw,25px); line-height:1.35; color:#123d62 !important; font-weight:750; }
body > .ssf-modal .ssf-partners-grid { display:flex; flex-wrap:wrap; align-items:stretch; gap:15px; }
body > .ssf-modal .ssf-partner { flex:0 1 160px; min-width:125px; background:#fff; border:1px solid #dfeaf2; border-radius:12px; padding:15px 12px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:9px; text-align:center; }
body > .ssf-modal .ssf-partner a { display:flex; align-items:center; justify-content:center; width:100%; min-height:90px; border-radius:8px; transition:transform .2s,box-shadow .2s; }
body > .ssf-modal .ssf-partner a:hover,body > .ssf-modal .ssf-partner a:focus-visible { transform:scale(1.04); box-shadow:0 5px 15px rgba(20,68,110,.13); }
body > .ssf-modal .ssf-partner img { width:100%; max-width:138px; height:90px; object-fit:contain; }
body > .ssf-modal .ssf-partner-name { color:#2b5278 !important; font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
@media(max-width:620px) {body > .ssf-modal .ssf-partners {padding:16px}body > .ssf-modal .ssf-partners-grid {gap:10px}body > .ssf-modal .ssf-partner {flex:1 1 125px; min-width:110px}}

/* V1.8 — suivi et galerie ordonnables */
body > .ssf-modal .ssf-progress,body > .ssf-modal .ssf-gallery-section{margin:24px 0;padding:22px;background:#f4faff;border:1px solid #dcebf6;border-radius:16px;color:#153e65}
body > .ssf-modal .ssf-progress-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
body > .ssf-modal .ssf-progress h3,body > .ssf-modal .ssf-gallery-section h3{margin:0 0 13px;color:#133c64;font-size:20px;font-weight:800}
body > .ssf-modal .ssf-progress-header h3{margin:0}
body > .ssf-modal .ssf-progress-header strong{color:#09598e;font-size:24px;white-space:nowrap}
body > .ssf-modal .ssf-progress-track{height:17px;background:#d5e7f5;border-radius:100px;overflow:hidden}
body > .ssf-modal .ssf-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#1ba1b5,#09598e);border-radius:100px;transition:width .3s}
body > .ssf-modal .ssf-gallery-section .ssf-detail-gallery{margin-top:10px}
