/* Crédit Conso — shell partagé (header, footer, FAQ, barre mobile) */
:root{
  --shell-brand:#FF5722;
  --shell-brand-2:#9a452b;
  --shell-accent:#6366f1;
  --shell-bg:#f3f5fb;
  --shell-card:#fff;
  --shell-text:#101828;
  --shell-muted:#667085;
  --shell-border:#e4e7ec;
  --shell-radius:22px;
  --shell-shadow:0 18px 55px rgba(16,24,40,.12);
  --shell-header-h:72px;
  --shell-ticker-h:40px;
}

/* Barre défilante (annonces) */
.site-ticker{
  position:sticky;
  top:0;
  z-index:110;
  width:100%;
  height:var(--shell-ticker-h);
  overflow:hidden;
  background:linear-gradient(90deg, #1e1b4b 0%, #3730a3 42%, #5b21b6 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#fff;
}
body.has-site-ticker .site-shell-header{
  top:var(--shell-ticker-h);
}
.site-ticker__viewport{
  height:100%;
  display:flex;
  align-items:center;
  mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.site-ticker__track{
  display:flex;
  width:max-content;
  animation:site-ticker-scroll 42s linear infinite;
  will-change:transform;
}
.site-ticker__group{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.site-ticker__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 28px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
  text-decoration:none;
  color:inherit;
}
.site-ticker__item:hover{
  color:#fde68a;
}
.site-ticker__item strong{
  font-weight:800;
  color:#fcd34d;
}
.site-ticker__dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.45);
  flex-shrink:0;
}
.site-ticker__badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(255,87,34,.9);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#fff;
}
@keyframes site-ticker-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .site-ticker__track{
    animation:none;
    flex-wrap:wrap;
    justify-content:center;
    width:100%;
    padding:0 12px;
  }
  .site-ticker__group[aria-hidden="true"]{display:none}
  .site-ticker{
    height:auto;
    min-height:var(--shell-ticker-h);
  }
  .site-ticker__viewport{
    mask-image:none;
    -webkit-mask-image:none;
  }
}

.site-shell-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(251,252,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--shell-border);
  margin:0 -22px 0;
  padding:0 22px;
}
.site-shell-header .site-shell-inner{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:var(--shell-header-h);
}
.site-shell-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
  flex-shrink:0;
}
.site-shell-brand .logo-box{
  width:148px;
  height:56px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border:1px solid var(--shell-border);
  box-shadow:0 8px 24px rgba(16,24,40,.06);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.site-shell-brand img{width:100%;height:100%;object-fit:contain;padding:6px}
.site-shell-brand span{
  font-weight:800;
  font-size:13px;
  color:var(--shell-muted);
  letter-spacing:-.02em;
  display:none;
}
@media (min-width:640px){.site-shell-brand span{display:block}}

.site-shell-nav{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.site-shell-nav a{
  padding:9px 12px;
  border-radius:11px;
  font-weight:750;
  font-size:13px;
  text-decoration:none;
  color:var(--shell-text);
  border:1px solid transparent;
  white-space:nowrap;
}
.site-shell-nav a:hover{background:rgba(255,255,255,.85);border-color:var(--shell-border)}
.site-shell-nav a.is-active{
  background:rgba(255,87,34,.1);
  color:var(--shell-brand);
  border-color:rgba(255,87,34,.2);
}
.site-shell-nav a.shell-cta{
  background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-2));
  color:#fff;
  border:none;
  padding:10px 16px;
}
.site-shell-nav a.shell-cta:hover{filter:brightness(1.06)}
.site-shell-nav .wero-page-lang{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-right:4px;
}
.site-shell-nav .wero-page-lang label{
  font-size:12px;
  font-weight:750;
  color:var(--shell-muted);
}
.site-shell-nav .wero-page-lang select{
  padding:7px 10px;
  border-radius:10px;
  border:1px solid var(--shell-border);
  font:inherit;
  font-size:12px;
  font-weight:650;
  background:#fff;
  max-width:140px;
}
.site-shell-nav button.wero-logout{
  padding:9px 12px;
  border-radius:11px;
  font-weight:800;
  font-size:13px;
  border:1px solid var(--shell-border);
  background:#fff;
  cursor:pointer;
  font-family:inherit;
}

.site-shell-burger{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid var(--shell-border);
  background:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  padding:0;
  flex-shrink:0;
}
.site-shell-burger span{
  display:block;
  width:20px;
  height:2px;
  background:var(--shell-text);
  border-radius:2px;
  transition:transform .2s, opacity .2s;
}
.site-shell-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-shell-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-shell-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:900px){
  .site-shell-burger{display:flex}
  .site-shell-nav{
    position:fixed;
    top:var(--shell-header-h);
    left:0;
    right:0;
    bottom:0;
    flex-direction:column;
    align-items:stretch;
    padding:20px 22px 100px;
    background:linear-gradient(180deg,#fbfcff 0%,var(--shell-bg) 100%);
    gap:4px;
    transform:translateX(100%);
    transition:transform .28s ease;
    overflow-y:auto;
    z-index:99;
  }
  .site-shell-nav.is-open{transform:translateX(0)}
  .site-shell-nav a{
    padding:14px 16px;
    font-size:15px;
    border-radius:14px;
    border:1px solid var(--shell-border);
    background:#fff;
  }
  .site-shell-nav a.shell-cta{text-align:center;margin-top:8px}
}

.site-shell-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin:0 auto 24px;
  max-width:1120px;
}
.site-shell-trust span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--shell-border);
  font-size:12px;
  font-weight:750;
  color:var(--shell-muted);
  box-shadow:0 4px 16px rgba(16,24,40,.04);
}
.site-shell-trust svg{width:16px;height:16px;color:var(--shell-brand);flex-shrink:0}

.site-shell-faq{
  margin-top:36px;
  padding:28px 24px;
  background:var(--shell-card);
  border:1px solid var(--shell-border);
  border-radius:var(--shell-radius);
  box-shadow:0 8px 28px rgba(16,24,40,.06);
}
.site-shell-faq h2{
  margin:0 0 6px;
  font-size:22px;
  letter-spacing:-.03em;
}
.site-shell-faq > p.intro{
  margin:0 0 20px;
  color:var(--shell-muted);
  font-size:14px;
  font-weight:600;
  line-height:1.5;
}
.site-shell-faq details{
  border:1px solid var(--shell-border);
  border-radius:14px;
  margin-bottom:10px;
  background:#fafbfc;
  overflow:hidden;
}
.site-shell-faq details[open]{background:#fff;box-shadow:0 4px 16px rgba(16,24,40,.05)}
.site-shell-faq summary{
  padding:14px 16px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.site-shell-faq summary::-webkit-details-marker{display:none}
.site-shell-faq summary::after{
  content:"+";
  font-size:18px;
  font-weight:400;
  color:var(--shell-brand);
  flex-shrink:0;
}
.site-shell-faq details[open] summary::after{content:"−"}
.site-shell-faq details p{
  margin:0;
  padding:0 16px 14px;
  font-size:13px;
  font-weight:600;
  line-height:1.55;
  color:var(--shell-muted);
}
.site-shell-faq details p a{
  color:var(--shell-brand);
  font-weight:800;
  text-decoration:none;
}
.site-shell-faq details p a:hover{text-decoration:underline}

body.has-shell-bar .sidebar{padding-bottom:80px}
body.has-shell-bar .container{padding-bottom:88px}

/* Visuel partenariat (taille type carrousel) */
.kraken-partner__layout{
  display:grid;
  grid-template-columns:minmax(0, 340px) minmax(0, 1fr);
  gap:24px 28px;
  align-items:start;
}
@media (max-width:900px){
  .kraken-partner__layout{grid-template-columns:1fr}
}
.kraken-partner__media{
  width:100%;
  max-width:340px;
  margin:0 auto;
}
@media (min-width:901px){
  .kraken-partner__media{margin:0}
}
.kraken-partner__frame{
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  max-height:min(52vw, 320px);
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(145deg, #f8fafc 0%, #eef2f7 100%);
  border:1px solid var(--shell-border, #e4e7ec);
  box-shadow:0 8px 28px rgba(16,24,40,.08);
  text-decoration:none;
}
.kraken-partner__frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:8px;
  box-sizing:border-box;
}
.kraken-partner__frame--logos{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 14px;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(87,65,217,.1) 0%, transparent 55%),
    linear-gradient(180deg, #fff 0%, #f8f7ff 100%);
}
.kraken-partner__logos-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  max-width:280px;
}
.kraken-partner__logos-row img{
  width:auto;
  max-width:42%;
  max-height:56px;
  height:auto;
  object-fit:contain;
  padding:0;
}
.kraken-partner__logos-x{
  flex-shrink:0;
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--shell-brand, #FF5722), var(--shell-brand-2, #9a452b));
  color:#fff;
  font-size:20px;
  font-weight:800;
  line-height:36px;
  text-align:center;
}
.kraken-partner__logo-kraken{
  flex:1;
  min-width:0;
  max-width:42%;
  padding:10px 8px;
  border-radius:12px;
  background:linear-gradient(135deg, #7c3aed, #4f46e5);
  color:#fff;
  font-size:clamp(14px, 3.5vw, 18px);
  font-weight:800;
  text-align:center;
  letter-spacing:-0.02em;
  line-height:1.15;
}
.kraken-partner__frame-tag{
  margin:0;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:#5b21b6;
  text-align:center;
}
.kraken-partner__body{min-width:0}

/* Partenariat Kraken */
.kraken-partner,
.kraken-callout{
  border-radius:var(--shell-radius, 22px);
  border:1px solid rgba(87,65,217,.22);
  background:
    radial-gradient(520px 280px at 100% 0%, rgba(87,65,217,.12) 0%, transparent 55%),
    linear-gradient(180deg, #f8f7ff 0%, #fff 48%, #fff 100%);
  box-shadow:0 12px 40px rgba(16,24,40,.08);
}
.kraken-partner{
  margin-top:32px;
  padding:26px 24px 24px;
}
.kraken-callout{
  margin:0 auto 16px;
  max-width:720px;
  width:100%;
  padding:16px 18px;
}
.kraken-partner__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(87,65,217,.12);
  border:1px solid rgba(87,65,217,.25);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#4338ca;
  margin-bottom:12px;
}
.kraken-partner h2,
.kraken-callout h2{
  margin:0 0 10px;
  font-size:clamp(20px,2.6vw,24px);
  letter-spacing:-.03em;
  line-height:1.25;
}
.kraken-partner p,
.kraken-callout p{
  margin:0 0 12px;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--shell-muted, #667085);
}
.kraken-partner p strong,
.kraken-callout p strong{color:var(--shell-text, #101828)}
.kraken-callout p a{
  color:#5741d9;
  font-weight:800;
  text-decoration:none;
}
.kraken-callout p a:hover{text-decoration:underline}
.kraken-partner__steps{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
@media (min-width:720px){
  .kraken-partner__steps{grid-template-columns:repeat(3,1fr)}
}
.kraken-partner__steps li{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--shell-border, #e4e7ec);
  background:#fff;
  font-size:13px;
  font-weight:650;
  line-height:1.45;
  color:var(--shell-text, #101828);
}
.kraken-partner__steps li span{
  display:block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#5741d9;
  margin-bottom:6px;
}
.kraken-partner__actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.kraken-partner__actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
}
.kraken-partner__actions a.kraken-cta{
  background:linear-gradient(135deg, #5741d9 0%, #3730a3 100%);
  color:#fff;
}
.kraken-partner__actions a.kraken-cta:hover{filter:brightness(1.06)}
.kraken-partner__actions a.kraken-secondary{
  background:#fff;
  color:var(--shell-text, #101828);
  border:1px solid var(--shell-border, #e4e7ec);
}
.kraken-partner__legal{
  margin-top:14px;
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  color:var(--shell-muted, #667085);
}

.site-shell-footer{
  margin-top:32px;
  padding:28px 0 20px;
  border-top:1px solid var(--shell-border);
}
.site-shell-footer-grid{
  display:grid;
  grid-template-columns:1.2fr repeat(3,1fr);
  gap:24px;
  margin-bottom:24px;
}
@media (max-width:800px){.site-shell-footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.site-shell-footer-grid{grid-template-columns:1fr}}
.site-shell-footer h3{
  margin:0 0 10px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--shell-muted);
}
.site-shell-footer ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.site-shell-footer a{
  font-size:13px;
  font-weight:650;
  color:var(--shell-text);
  text-decoration:none;
}
.site-shell-footer a:hover{color:var(--shell-brand);text-decoration:underline}
.site-shell-footer .legal{
  font-size:11px;
  line-height:1.55;
  color:var(--shell-muted);
  font-weight:600;
  text-align:center;
  max-width:72ch;
  margin:0 auto;
}

.site-shell-mobile-bar{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:101;
  padding:10px 14px max(10px, env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--shell-border);
  box-shadow:0 -8px 32px rgba(16,24,40,.1);
  gap:10px;
}
@media (max-width:900px){
  .site-shell-mobile-bar{display:flex}
  body.has-shell-bar{padding-bottom:72px}
}
.site-shell-mobile-bar a{
  flex:1;
  text-align:center;
  padding:12px 10px;
  border-radius:12px;
  font-weight:800;
  font-size:13px;
  text-decoration:none;
}
.site-shell-mobile-bar a:first-child{
  background:#fff;
  color:var(--shell-text);
  border:1px solid var(--shell-border);
}
.site-shell-mobile-bar a:last-child{
  background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-2));
  color:#fff;
}
