/* Menu du haut : panneau unique qui glisse d'un menu à l'autre + quadrillage de l'accueil */

/* Titres de rubrique façon [ RUBRIQUE ] */
body > header .pm-column h2,
body > header .prm-feature > span {
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px; font-weight:500; letter-spacing:.12em; color:#5b6b8c;
}
body > header .pm-column h2::before,
body > header .prm-feature > span::before { content:"[ "; }
body > header .pm-column h2::after,
body > header .prm-feature > span::after { content:" ]"; }

/* Lignes du menu : pastille d'icône bleue, survol doux */
body > header .pm-item {
  align-items:center; gap:14px; margin:0 0 4px; padding:10px 12px;
  border-radius:12px; transition:background-color .15s ease;
}
body > header .pm-item > svg {
  width:36px; height:36px; padding:8px; border-radius:50%;
  background:#0866ff; color:#fff; stroke-width:1.8;
  box-shadow:0 4px 10px rgba(8,102,255,.22); transition:transform .2s ease;
}
body > header .pm-item:hover { background:#f3f6fd; color:#172033!important; }
body > header .pm-item:hover > svg { transform:scale(1.06); }
body > header .pm-item small { margin-top:3px; }

/* Ordinateur : carte flottante + fond blanc commun qui change de taille */
@media (min-width:761px) {
  body > header .pm-panel {
    top:calc(100% + 6px); left:50%; right:auto;
    width:min(var(--pm-w,980px), calc(100vw - 32px));
    transform:translateX(-50%);
    background:transparent; border:0; box-shadow:none; border-radius:18px;
    max-height:calc(100dvh - var(--pm-bar-height) - 24px);
  }
  #prosper-product-menu { --pm-w:1120px; }
  #prosper-resources-menu { --pm-w:940px; }
  #prosper-solutions-menu { --pm-w:780px; }
  body > header .pm-stage {
    position:absolute; top:0; left:0; z-index:119; pointer-events:none;
    background:#fff; border:1px solid #e6e9f0; border-radius:18px;
    box-shadow:0 24px 60px rgba(21,39,70,.16), 0 2px 8px rgba(21,39,70,.06);
    opacity:0;
    transition:width .34s cubic-bezier(.22,.8,.2,1), height .34s cubic-bezier(.22,.8,.2,1),
      transform .34s cubic-bezier(.22,.8,.2,1), opacity .18s ease;
  }
  body > header .pm-stage.is-on { opacity:1; }
  body > header .pm-stage.no-anim { transition:opacity .18s ease; }
  body > header .pm-panel:not([hidden]) { animation:pm-morph-in .22s ease both; }
  body > header .pm-panel[data-from="right"]:not([hidden]) { animation-name:pm-from-right; animation-duration:.3s; }
  body > header .pm-panel[data-from="left"]:not([hidden]) { animation-name:pm-from-left; animation-duration:.3s; }
}
@media (max-width:760px) { body > header .pm-stage { display:none; } }
@keyframes pm-morph-in { from { opacity:0; transform:translate(-50%,-4px); } to { opacity:1; transform:translate(-50%,0); } }
@keyframes pm-from-right { from { opacity:0; transform:translate(calc(-50% + 22px),0); } to { opacity:1; transform:translate(-50%,0); } }
@keyframes pm-from-left { from { opacity:0; transform:translate(calc(-50% - 22px),0); } to { opacity:1; transform:translate(-50%,0); } }

/* Quadrillage en fond du bandeau d'accueil */
.space-hero { position:relative; isolation:isolate; }
.ps-grid-bg {
  --cell:56px; --line:rgba(255,255,255,.09); --sq:rgba(255,255,255,.13);
  position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:var(--cell) var(--cell); background-position:0 0;
  -webkit-mask-image:radial-gradient(ellipse 78% 72% at 50% 42%,#000 35%,transparent 100%);
  mask-image:radial-gradient(ellipse 78% 72% at 50% 42%,#000 35%,transparent 100%);
}
.ps-grid-bg.is-light { --line:rgba(23,32,51,.07); --sq:rgba(8,102,255,.10); }
.ps-grid-bg i { position:absolute; background:var(--sq); opacity:0; animation:ps-cell 4.8s ease-in-out forwards; }
@keyframes ps-cell { 0% { opacity:0; } 25% { opacity:1; } 70% { opacity:1; } 100% { opacity:0; } }

@media (prefers-reduced-motion:reduce) {
  body > header .pm-stage, body > header .pm-item > svg { transition:none; }
  body > header .pm-panel:not([hidden]) { animation:none; }
  .ps-grid-bg i { animation:none; opacity:.6; }
}

/* Pied de page : ligne des liens légaux */
.space-site-footer .space-footer-legal-links { display:flex; flex-wrap:wrap; gap:8px 22px; margin:14px 0 6px; }
body .space-site-footer .space-footer-legal-links a { color:#747780 !important; font-size:13px; text-decoration:none; transition:color .15s ease; }
body .space-site-footer .space-footer-legal-links a:hover { color:#1c1e23 !important; text-decoration:underline; text-underline-offset:3px; }

/* Bas de page sombre quadrillé, aligné en grille */
html body footer.space-site-footer:is(#ps-footer-dark,.site-footer) {
  position:relative !important; isolation:isolate;
  width:100% !important; max-width:none !important; margin:0 !important; padding:80px 32px 32px !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important; color:#e9edf5 !important;
  background:#0d1119 !important;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) !important;
  background-size:44px 44px !important; background-position:-1px -1px !important;
}
html body footer.space-site-footer:is(#ps-footer-dark,.site-footer)::before,
html body footer.space-site-footer:is(#ps-footer-dark,.site-footer)::after { content:none !important; display:none !important; }
html body footer.space-site-footer:is(#ps-footer-dark,.site-footer) :is(.space-footer-inner,.space-footer-grid,.space-footer-bottom,.space-footer-company,.slp-footer-row) { background:transparent !important; box-shadow:none !important; }
html body .space-site-footer .space-footer-grid { grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; }
html body .space-site-footer .space-footer-brand { color:#fff !important; font-size:30px; font-weight:700; letter-spacing:-.03em; }
html body .space-site-footer .space-footer-tagline { margin:16px 0 0; max-width:360px; color:#c3cad8 !important; font-size:17px; line-height:1.55; }
html body .space-site-footer .space-footer-column { gap:14px; }
html body .space-site-footer .space-footer-column h2 { margin:6px 0 8px; color:#fff !important; font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
html body .space-site-footer .space-footer-column a { color:#aeb6c6 !important; font-size:16px; text-decoration:none; transition:color .15s ease; }
html body .space-site-footer .space-footer-column a:hover { color:#fff !important; }

html body .space-site-footer .space-footer-bottom {
  display:grid !important; grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"sig social" "trust legal" "links .";
  align-items:center; gap:18px 32px; margin:0 !important; padding:28px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
}
html body .space-site-footer .space-footer-last-row { display:contents !important; }
html body .space-site-footer .space-footer-signature { grid-area:sig; display:flex; align-items:center; gap:14px; margin:0 !important; }
html body .space-site-footer .space-footer-name { color:#fff !important; font-size:17px; font-weight:700; text-decoration:none; }
html body .space-site-footer .space-footer-signature strong { color:#7f8899 !important; font-size:12px; letter-spacing:.14em; }
html body .space-site-footer .space-footer-social { grid-area:social; justify-self:end; display:flex; gap:8px; margin:0 !important; }
html body .space-site-footer .space-footer-social a { padding:8px 14px; border:1px solid rgba(255,255,255,.18) !important; border-radius:999px; background:transparent !important; color:#e9edf5 !important; font-size:13px; font-weight:600; text-decoration:none; }
html body .space-site-footer .space-footer-social a:hover { border-color:rgba(255,255,255,.4) !important; }
html body .space-site-footer .space-footer-trust { grid-area:trust; display:flex; flex-wrap:wrap; gap:8px 22px; margin:0 !important; padding:0 !important; position:static !important; }
html body .space-site-footer .space-footer-trust a,
html body .space-site-footer .space-footer-trust span { color:#8f99ab !important; font-size:13px; text-decoration:none; }
html body .space-site-footer .space-footer-trust a:hover { color:#fff !important; }
html body .space-site-footer .space-footer-legal { grid-area:legal; justify-self:end; margin:0 !important; color:#8f99ab !important; font-size:13px; text-align:right; }
html body .space-site-footer .space-footer-legal-links { grid-area:links; min-height:44px; align-items:center; margin:0 !important; }
html body .space-site-footer .space-footer-legal-links a { color:#c3cad8 !important; }
html body .space-site-footer .space-footer-legal-links a:hover { color:#fff !important; }

html body .space-site-footer .slp-footer-row {
  position:relative; max-width:1240px; margin:-44px auto 0 !important; padding:0 !important;
  display:flex; justify-content:flex-end; border:0 !important; pointer-events:none;
}
html body .space-site-footer .slp-footer-row > * { pointer-events:auto; }
html body .space-site-footer .slp summary { background:transparent !important; border-color:rgba(255,255,255,.2) !important; color:#e9edf5 !important; }

@media (max-width:900px) {
  html body .space-site-footer .space-footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  html body .space-site-footer .space-footer-intro { grid-column:1 / -1; }
}
@media (max-width:640px) {
  html body footer.space-site-footer:is(#ps-footer-dark,.site-footer) { padding:48px 20px 24px !important; }
  html body .space-site-footer .space-footer-grid { grid-template-columns:1fr; }
  html body .space-site-footer .space-footer-bottom { grid-template-columns:1fr; grid-template-areas:"sig" "social" "trust" "legal" "links"; }
  html body .space-site-footer .space-footer-social,
  html body .space-site-footer .space-footer-legal { justify-self:start; text-align:left; }
  html body .space-site-footer .slp-footer-row { margin:16px 0 0 !important; justify-content:flex-start; }
}
