
.kyp2026-footer {
  --kyp-footer-surface: var(--kyp2026-surface, #1d1d22);
  --kyp-footer-text: var(--kyp2026-text, #fff);
  --kyp-footer-muted: var(--kyp2026-muted, #b9c0ca);
  --kyp-footer-border: var(--kyp2026-border, rgba(255,255,255,.18));
  --kyp-footer-a1: var(--kyp2026-accent-1, #ffc400);
  --kyp-footer-a2: var(--kyp2026-accent-2, #006fcf);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 20px 0 24px;
  color: var(--kyp-footer-text);
  background: transparent;
  overflow: hidden;
  font-family: var(--kyp2026-font-main, Inter, Manrope, system-ui, sans-serif);
}
.kyp2026-footer *, .kyp2026-footer *::before, .kyp2026-footer *::after { box-sizing: border-box; }
.kyp2026-footer__inner { width: min(96vw, 1720px); margin: 0 auto; position: relative; padding: 18px 22px 16px; border-top: 1px solid color-mix(in srgb, var(--kyp-footer-border) 74%, transparent); }
.kyp2026-footer__inner::before { content:""; position:absolute; left:0; top:18px; bottom:18px; width:4px; border-radius:99px; background:linear-gradient(180deg,var(--kyp-footer-a1),var(--kyp-footer-a2)); box-shadow:0 0 18px color-mix(in srgb,var(--kyp-footer-a1) 38%,transparent); }
.kyp2026-footer__top { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(380px,1.4fr) minmax(240px,.7fr); gap:24px; align-items:center; padding-left:22px; }
.kyp2026-footer__logo { display:inline-flex; align-items:center; color:var(--kyp-footer-text); text-decoration:none!important; }
.kyp2026-footer__logo img { display:block; max-width:150px; max-height:54px; object-fit:contain; }
.kyp2026-footer__logo span { display:inline-flex; align-items:baseline; gap:4px; font-size:2rem; font-weight:950; letter-spacing:-.06em; }
.kyp2026-footer__logo strong { color:var(--kyp-footer-a1); }
.kyp2026-footer__logo em { color:var(--kyp-footer-a2); font-style:normal; font-size:1.15rem; }
.kyp2026-footer__brand p { margin:8px 0 0; max-width:420px; color:var(--kyp-footer-muted); font-size:.86rem; line-height:1.45; }
.kyp2026-footer__nav { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.kyp2026-footer__nav a, .kyp2026-footer__legal a { color:color-mix(in srgb,var(--kyp-footer-text) 80%,transparent); text-decoration:none!important; font-size:.82rem; font-weight:800; transition:color .18s ease; }
.kyp2026-footer__nav a { min-height:34px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid color-mix(in srgb,var(--kyp-footer-border) 70%,transparent); background:color-mix(in srgb,var(--kyp-footer-surface) 50%,transparent); clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%); }
.kyp2026-footer__nav a:hover, .kyp2026-footer__legal a:hover { color:var(--kyp-footer-a1); }
.kyp2026-footer__cta { justify-self:end; display:grid; gap:4px; text-align:right; }
.kyp2026-footer__cta span { color:var(--kyp-footer-a2); font-size:.68rem; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }
.kyp2026-footer__cta strong { font-size:1.05rem; }
.kyp2026-footer__cta a { justify-self:end; display:inline-flex; align-items:center; gap:8px; min-height:34px; margin-top:4px; padding:0 12px; color:#111; background:var(--kyp-footer-a1); text-decoration:none!important; font-weight:950; font-size:.8rem; clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%); }
.kyp2026-footer__bottom { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(300px,1.1fr) auto auto; gap:18px; align-items:center; margin-top:18px; padding:14px 0 0 22px; border-top:1px solid color-mix(in srgb,var(--kyp-footer-border) 62%,transparent); }
.kyp2026-footer__local { display:inline-flex; align-items:center; gap:8px; color:var(--kyp-footer-muted); font-size:.78rem; }
.kyp2026-footer__local strong { color:var(--kyp-footer-text); }
.kyp2026-footer__local .kyp2026-icon { width:17px; height:17px; color:var(--kyp-footer-a1); }
.kyp2026-footer__legal { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 18px; }
.kyp2026-footer__socials { display:inline-flex; gap:8px; }
.kyp2026-footer__socials a { display:grid; place-items:center; width:36px; height:32px; color:var(--kyp-footer-text); border:1px solid color-mix(in srgb,var(--kyp-footer-border) 76%,transparent); background:color-mix(in srgb,var(--kyp-footer-surface) 44%,transparent); text-decoration:none!important; clip-path:polygon(20% 0,80% 0,100% 50%,80% 100%,20% 100%,0 50%); }
.kyp2026-footer__socials .kyp2026-icon { width:18px; height:18px; }
.kyp2026-footer__copy { margin:0; color:var(--kyp-footer-muted); font-size:.76rem; text-align:right; white-space:nowrap; }
.kyp2026-footer svg { width:100%; height:100%; }
@media (max-width:1080px){ .kyp2026-footer__top,.kyp2026-footer__bottom{grid-template-columns:1fr;text-align:left}.kyp2026-footer__nav,.kyp2026-footer__legal{justify-content:flex-start}.kyp2026-footer__cta{justify-self:start;text-align:left}.kyp2026-footer__cta a{justify-self:start}.kyp2026-footer__copy{text-align:left;white-space:normal} }
@media (max-width:760px){ .kyp2026-footer{width:100%;max-width:100%;margin-inline:0;padding-bottom:90px}.kyp2026-footer__inner{width:min(calc(100% - 20px),100%);padding-inline:18px}.kyp2026-footer__top,.kyp2026-footer__bottom{padding-left:18px}.kyp2026-footer__nav a{font-size:.76rem} }


/* v0.1.1 — footer plus premium, mieux aligné avec les sections */
.kyp2026-footer {
  padding-top: 24px !important;
  padding-bottom: 30px !important;
}

.kyp2026-footer__inner {
  width: min(calc(100vw - 32px), 1720px) !important;
  max-width: none !important;
  padding: 24px 28px 18px !important;
  border-top: 1px solid color-mix(in srgb, var(--kyp-footer-border) 84%, transparent) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--kyp-footer-border) 44%, transparent) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    linear-gradient(90deg, color-mix(in srgb, var(--kyp-footer-surface) 52%, transparent), transparent 58%) !important;
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
}

.kyp2026-footer__inner::before {
  top: 22px !important;
  bottom: 22px !important;
  left: 18px !important;
}

.kyp2026-footer__top {
  grid-template-columns: minmax(280px, .85fr) minmax(520px, 1.45fr) minmax(260px, .7fr) !important;
  gap: clamp(24px, 3vw, 56px) !important;
  padding-left: 34px !important;
}

.kyp2026-footer__logo span {
  font-size: 2.15rem !important;
}

.kyp2026-footer__logo em {
  font-size: 1.22rem !important;
}

.kyp2026-footer__brand p {
  max-width: 460px !important;
  font-size: .9rem !important;
}

.kyp2026-footer__nav {
  justify-content: center !important;
  gap: 9px !important;
}

.kyp2026-footer__nav a {
  min-height: 36px !important;
  padding: 0 13px !important;
  font-size: .8rem !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.012)),
    color-mix(in srgb, var(--kyp-footer-surface) 48%, transparent) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

.kyp2026-footer__nav a:hover {
  border-color: color-mix(in srgb, var(--kyp-footer-a1) 44%, var(--kyp-footer-border)) !important;
  transform: translateY(-1px);
}

.kyp2026-footer__cta {
  padding: 14px 16px !important;
  border: 1px solid color-mix(in srgb, var(--kyp-footer-border) 68%, transparent);
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.014));
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

.kyp2026-footer__cta strong {
  line-height: 1.15 !important;
}

.kyp2026-footer__cta a {
  min-height: 36px !important;
  padding: 0 14px !important;
  box-shadow:
    0 10px 20px color-mix(in srgb, var(--kyp-footer-a1) 17%, transparent),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.kyp2026-footer__bottom {
  grid-template-columns: minmax(260px, .9fr) minmax(420px, 1.2fr) auto auto !important;
  gap: 20px !important;
  margin-top: 20px !important;
  padding: 16px 0 0 34px !important;
}

.kyp2026-footer__legal {
  gap: 10px 18px !important;
}

.kyp2026-footer__legal a {
  font-size: .76rem !important;
  color: color-mix(in srgb, var(--kyp-footer-muted) 92%, transparent) !important;
}

.kyp2026-footer__socials a {
  width: 38px !important;
  height: 34px !important;
  transition: transform .18s ease, border-color .18s ease, color .18s ease;
}

.kyp2026-footer__socials a:hover {
  transform: translateY(-1px);
  color: var(--kyp-footer-a1);
  border-color: color-mix(in srgb, var(--kyp-footer-a1) 42%, var(--kyp-footer-border)) !important;
}

/* Grand desktop : cohérence avec les sections élargies */
@media (min-width: 1500px) {
  .kyp2026-footer__inner {
    width: min(calc(100vw - 44px), 1780px) !important;
  }
}

/* Desktop moyen : on évite l'écrasement des liens */
@media (max-width: 1240px) {
  .kyp2026-footer__inner {
    width: min(calc(100vw - 28px), 1160px) !important;
  }

  .kyp2026-footer__top {
    grid-template-columns: minmax(240px, .9fr) minmax(420px, 1.2fr) minmax(220px, .8fr) !important;
    gap: 22px !important;
  }

  .kyp2026-footer__bottom {
    grid-template-columns: 1fr 1fr auto !important;
  }

  .kyp2026-footer__copy {
    grid-column: 1 / -1;
    text-align: center !important;
  }
}

/* Tablette : footer en blocs propres */
@media (max-width: 980px) {
  .kyp2026-footer__top,
  .kyp2026-footer__bottom {
    grid-template-columns: 1fr !important;
    padding-left: 34px !important;
  }

  .kyp2026-footer__nav,
  .kyp2026-footer__legal {
    justify-content: flex-start !important;
  }

  .kyp2026-footer__cta {
    justify-self: start !important;
    text-align: left !important;
    max-width: 420px;
  }

  .kyp2026-footer__cta a {
    justify-self: start !important;
  }

  .kyp2026-footer__copy {
    text-align: left !important;
  }
}

/* Mobile : plus respirant, compatible dock bas */
@media (max-width: 760px) {
  .kyp2026-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 96px !important;
  }

  .kyp2026-footer__inner {
    width: min(calc(100% - 18px), 100%) !important;
    padding: 22px 18px 18px !important;
  }

  .kyp2026-footer__inner::before {
    left: 14px !important;
  }

  .kyp2026-footer__top,
  .kyp2026-footer__bottom {
    padding-left: 20px !important;
  }

  .kyp2026-footer__logo span {
    font-size: 1.85rem !important;
  }

  .kyp2026-footer__nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .kyp2026-footer__nav a {
    justify-content: center !important;
    text-align: center !important;
  }

  .kyp2026-footer__legal {
    display: grid !important;
    gap: 8px !important;
  }

  .kyp2026-footer__socials {
    justify-content: flex-start !important;
  }
}
