
/* CCP - Mobile & layout fixes (override) */
html, body { overflow-x: hidden; }

:root{
  --ccp-radius: 22px;
}

/* Header pills / switches */
.ccp-topbar, .topbar, header .topbar {
  flex-wrap: wrap;
}
.ccp-topbar .right, .topbar .right, header .topbar .right {
  flex-wrap: wrap;
  gap: 10px;
}
.ccp-topbar .pill, .topbar .pill, .ccp-switch, .switch {
  max-width: 100%;
}

/* Prevent hero card from exceeding viewport */
.ccp-container, .container, .wrap, main {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 980px){
  .ccp-container, .container, .wrap, main { padding-left: 14px; padding-right: 14px; }
}

/* Hero layout: single column on mobile */
@media (max-width: 760px){
  .hero, .ccp-hero { 
    display: block !important;
  }
  .hero-card, .ccp-hero-card, .hero__card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
  }
  .hero h1, .hero__title, .ccp-hero h1 { 
    font-size: clamp(28px, 7.5vw, 40px) !important;
    line-height: 1.05 !important;
  }
  .hero p, .hero__lead, .ccp-hero p {
    font-size: 16px !important;
  }
  .hero .cta, .hero__cta { 
    display: grid; 
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .hero .cta a, .hero__cta a, .hero .cta button, .hero__cta button {
    width: 100%;
    justify-content: center;
  }
}

/* Essential page: 2 large tiles must fill space */
.ccp-packs, .packs, .packs-grid{
  display: grid;
  gap: 18px;
  align-items: stretch;
}
@media (min-width: 860px){
  .ccp-packs, .packs, .packs-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 859px){
  .ccp-packs, .packs, .packs-grid { grid-template-columns: 1fr; }
}
.ccp-pack, .pack, .packs-grid > *{
  height: 100%;
}

/* Logo halo (dark + light) */
.ccp-logo-halo{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(220px, 48vw);
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 50%,
    rgba(255,255,255,0.92) 0%,
    rgba(255,255,255,0.45) 38%,
    rgba(255,255,255,0.00) 72%);
}
[data-theme="light"] .ccp-logo-halo, .theme-light .ccp-logo-halo{
  background: radial-gradient(circle at 50% 50%,
    rgba(10,25,42,0.18) 0%,
    rgba(10,25,42,0.06) 42%,
    rgba(10,25,42,0.00) 72%);
}
.ccp-logo-halo img{
  width: 66%;
  height: auto;
  display: block;
  filter: drop-shadow(0 8px 22px rgba(0,0,0,0.25));
}

/* Remove animated shield if present */
.shield, .shield-float, .hero-shield, .ccp-shield{
  animation: none !important;
}
.shield-float, .hero-shield, .ccp-shield{
  display: none !important; /* sobriété */
}

/* Contact consent checkbox line */
.ccp-consent, .contact-consent{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.ccp-consent input, .contact-consent input { margin-top: 4px; }
