/* ==========================================================================
   YUL Partners : bloc partenaires de l'accueil + page Partenaires
   ========================================================================== */

/* ---------- Titres ---------- */
.yp-h{ font-family:var(--ff-display); font-size:clamp(2.2rem,5.4vw,4rem); line-height:.98; letter-spacing:.01em; text-transform:uppercase; margin-top:.8rem; }
.yp-h span{ color:var(--gold); }
.yp-h.big{ font-size:clamp(2.8rem,7vw,5.4rem); }
.yp-h3{ font-family:var(--ff-display); font-size:clamp(1.6rem,3.6vw,2.4rem); text-transform:uppercase; letter-spacing:.01em; margin-top:.6rem; }
.yp-lede{ margin-top:1.2rem; max-width:52ch; color:var(--dim); font-size:clamp(1rem,1.8vw,1.12rem); line-height:1.7; }
.yp-actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.8rem; }

/* ---------- Bloc accueil ---------- */
.yp-home{ padding-top:2.5rem !important; padding-bottom:2.5rem !important; }
.yp-home-card{
  position:relative; overflow:hidden; display:grid; grid-template-columns:1.15fr .85fr; gap:2rem; align-items:center;
  border-radius:22px; border:1px solid rgba(240,180,41,.35); padding:clamp(1.8rem,4.5vw,3.6rem);
  background:
    radial-gradient(80% 120% at 100% 0%, rgba(43,99,230,.35), transparent 60%),
    radial-gradient(60% 90% at 0% 100%, rgba(240,180,41,.14), transparent 60%),
    linear-gradient(160deg, #0F1D3D, #070D1C);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.05);
}
.yp-home-card::after{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:32px 32px; mask-image:linear-gradient(90deg, transparent, #000 60%);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 60%);
}
.yp-home-text{ position:relative; z-index:1; }
.yp-proofs{ list-style:none; display:flex; gap:1.6rem; flex-wrap:wrap; margin-top:1.6rem; padding:0; }
.yp-proofs li{ display:flex; flex-direction:column; }
.yp-proofs b{ font-family:var(--ff-display); font-size:2.2rem; line-height:1; color:var(--gold); font-weight:400; }
.yp-proofs span{ font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); margin-top:.35rem; }

/* ---------- Maillot ---------- */
.yp-home-visual{ position:relative; z-index:1; display:flex; justify-content:center; align-items:center; min-height:300px; }
.yp-jersey{ width:min(300px, 100%); height:auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,.55)); animation:ypFloat 6s ease-in-out infinite; }
@keyframes ypFloat{ 50%{ transform:translateY(-10px) rotate(-1.5deg); } }
.yp-shine{ animation:ypShine 4.5s ease-in-out infinite; }
@keyframes ypShine{ 0%,55%{ transform:translateX(0) skewX(-18deg); } 100%{ transform:translateX(560px) skewX(-18deg); } }
.yp-logo-slot{ fill:rgba(255,255,255,.08); stroke:#F0B429; stroke-width:2; stroke-dasharray:6 5; animation:ypDash 1.6s linear infinite; }
@keyframes ypDash{ to{ stroke-dashoffset:-22; } }
.yp-logo-t1{ font-family:var(--ff-mono); font-size:11px; letter-spacing:3px; fill:#FCE7A6; }
.yp-logo-t2{ font-family:var(--ff-display); font-size:22px; letter-spacing:1px; fill:#fff; }
.yp-num{ font-family:var(--ff-display); font-size:74px; fill:rgba(255,255,255,.14); }
.yp-tag{
  position:absolute; font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;
  color:var(--ink); background:rgba(7,13,28,.82); border:1px solid rgba(240,180,41,.45); border-radius:999px; padding:.45rem .8rem;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 10px 24px -10px rgba(0,0,0,.7);
  animation:ypTag 6s ease-in-out infinite;
}
.yp-tag::before{ content:'●'; color:var(--gold); margin-right:.45rem; font-size:.6rem; }
.yp-tag.t1{ top:12%; left:-2%; }
.yp-tag.t2{ top:64%; right:-4%; animation-delay:-2s; }
.yp-tag.t3{ bottom:6%; left:0; animation-delay:-4s; }
@keyframes ypTag{ 50%{ transform:translateY(-6px); } }

/* ---------- Page Partenaires ---------- */
.yp-hero{ display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; }
.yp-strip{
  display:grid; grid-template-columns:repeat(5,1fr); margin-top:3rem; border-radius:16px; overflow:hidden;
  border:1px solid rgba(240,180,41,.35); background:linear-gradient(160deg, #0F1D3D, #070D1C);
}
.yp-strip div{ padding:1.3rem .8rem; text-align:center; border-right:1px solid rgba(240,180,41,.15); }
.yp-strip div:last-child{ border-right:0; }
.yp-strip b{ display:block; font-family:var(--ff-display); font-weight:400; font-size:clamp(1.6rem,3.4vw,2.3rem); color:var(--gold); line-height:1; }
.yp-strip span{ display:block; margin-top:.45rem; font-family:var(--ff-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }

.yp-block{ margin-top:clamp(3.5rem,8vw,5.5rem); }
.yp-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.6rem; }
.yp-why article, .yp-gets > div, .yp-steps > div{
  position:relative; border:1px solid var(--line); border-radius:16px; padding:1.5rem 1.3rem;
  background:linear-gradient(165deg, var(--raised), var(--surface)); transition:transform .3s ease, border-color .3s ease;
}
.yp-why article:hover, .yp-gets > div:hover{ transform:translateY(-4px); border-color:var(--gold-dim); }
.yp-ic{
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px;
  background:rgba(240,180,41,.12); color:var(--gold); font-size:1.2rem; border:1px solid rgba(240,180,41,.3);
}
.yp-why h4, .yp-gets h4, .yp-steps h4{ font-family:var(--ff-display); font-weight:400; font-size:1.2rem; letter-spacing:.02em; text-transform:uppercase; margin-top:1rem; }
.yp-why p, .yp-steps p{ color:var(--dim); font-size:.9rem; line-height:1.6; margin-top:.5rem; }

.yp-gets{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.6rem; }
.yp-gets h4{ margin-top:0; color:var(--gold); }
.yp-gets ul, .yp-tier ul{ list-style:none; padding:0; margin-top:.9rem; display:flex; flex-direction:column; gap:.6rem; }
.yp-gets li, .yp-tier li{ position:relative; padding-left:1.4rem; color:var(--ink); font-size:.92rem; line-height:1.5; }
.yp-gets li::before, .yp-tier li::before{ content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }

.yp-tiers{ display:grid; grid-template-columns:1fr 1.08fr 1fr; gap:1rem; margin-top:1.6rem; align-items:stretch; }
.yp-tier{
  position:relative; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:18px; padding:1.8rem 1.5rem;
  background:linear-gradient(165deg, var(--raised), var(--surface));
}
.yp-tier.featured{
  border-color:var(--gold); padding-top:2.4rem;
  background:radial-gradient(100% 60% at 50% 0%, rgba(240,180,41,.16), transparent 70%), linear-gradient(165deg, #1B2E5C, #0C1730);
  box-shadow:0 30px 60px -30px rgba(240,180,41,.45);
}
.yp-badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%); white-space:nowrap;
  font-family:var(--ff-mono); font-size:.6rem; letter-spacing:.16em; color:var(--void); background:var(--gold); padding:.4rem .9rem; border-radius:999px;
}
.yp-tname{ font-family:var(--ff-display); font-size:1.5rem; text-transform:uppercase; letter-spacing:.02em; }
.yp-tier.featured .yp-tname{ color:var(--gold); }
.yp-tfor{ color:var(--dim); font-size:.88rem; line-height:1.55; margin-top:.5rem; }
.yp-tier ul{ flex:1; margin-bottom:1.4rem; }
.yp-tier .btn-primary, .yp-tier .btn-ghost{ text-align:center; }
.yp-note{ margin-top:1.1rem; font-family:var(--ff-mono); font-size:.7rem; color:var(--dim); letter-spacing:.04em; }

.yp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.2rem; }
.yp-steps b{ font-family:var(--ff-display); font-weight:400; font-size:2.4rem; color:rgba(240,180,41,.35); line-height:1; }
.yp-steps h4{ margin-top:.5rem; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .yp-why{ grid-template-columns:repeat(2,1fr); }
  .yp-strip{ grid-template-columns:repeat(3,1fr); }
  .yp-strip div:nth-child(3){ border-right:0; }
  .yp-strip div:nth-child(-n+3){ border-bottom:1px solid rgba(240,180,41,.15); }
}
@media (max-width:820px){
  .yp-home-card, .yp-hero{ grid-template-columns:1fr; }
  .yp-home-visual{ min-height:260px; order:-1; }
  .yp-jersey{ width:min(230px, 70%); }
  .yp-tag{ font-size:.55rem; padding:.38rem .65rem; }
  .yp-tag.t1{ left:0; top:6%; } .yp-tag.t2{ right:0; top:64%; } .yp-tag.t3{ left:2%; bottom:4%; }
  .yp-gets, .yp-tiers, .yp-steps{ grid-template-columns:1fr; }
  .yp-tier.featured{ order:-1; }
}
@media (max-width:520px){
  .yp-why{ grid-template-columns:1fr; }
  .yp-strip{ grid-template-columns:repeat(2,1fr); }
  .yp-strip div{ border-right:1px solid rgba(240,180,41,.15) !important; border-bottom:1px solid rgba(240,180,41,.15); }
  .yp-strip div:nth-child(2n){ border-right:0 !important; }
  .yp-strip div:last-child{ grid-column:1 / -1; border-bottom:0; }
  .yp-proofs{ gap:1.1rem; }
  .yp-proofs b{ font-size:1.8rem; }
  .yp-actions .btn-primary, .yp-actions .btn-ghost{ flex:1; text-align:center; }
}
@media (prefers-reduced-motion: reduce){
  .yp-jersey, .yp-shine, .yp-logo-slot, .yp-tag{ animation:none !important; }
}

/* ---------- Offre unique ---------- */
.yp-offer{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:2rem; align-items:center; margin-top:1.6rem;
  border:1px solid var(--gold); border-radius:20px; padding:clamp(1.6rem,4vw,2.8rem);
  background:radial-gradient(90% 80% at 0% 0%, rgba(240,180,41,.16), transparent 70%), linear-gradient(165deg, #1B2E5C, #0C1730);
  box-shadow:0 30px 60px -30px rgba(240,180,41,.45);
}
.yp-offer .yp-tname{ color:var(--gold); font-size:clamp(1.6rem,3.4vw,2.2rem); }
.yp-offer .btn-primary{ display:inline-block; margin-top:1.4rem; }
.yp-offer-list{ list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.8rem 1.2rem; }
.yp-offer-list li{ position:relative; padding-left:1.5rem; color:var(--ink); font-size:.95rem; line-height:1.5; }
.yp-offer-list li::before{ content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }
@media (max-width:820px){
  .yp-offer{ grid-template-columns:1fr; }
  .yp-offer-list{ grid-template-columns:1fr; }
  .yp-offer .btn-primary{ display:block; text-align:center; }
}

/* ---------- Audience Instagram ---------- */
.yp-aud{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1rem; margin-top:1.6rem; }
.yp-kpi{
  border:1px solid var(--line); border-radius:16px; padding:1.3rem 1.1rem; display:flex; flex-direction:column; justify-content:flex-end;
  background:linear-gradient(165deg, var(--raised), var(--surface));
}
.yp-kpi b{ font-family:var(--ff-display); font-weight:400; font-size:clamp(1.8rem,3.2vw,2.4rem); line-height:1; color:var(--ink); }
.yp-kpi span{ margin-top:.5rem; font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); line-height:1.5; }
.yp-kpi.big{ border-color:rgba(240,180,41,.5); background:radial-gradient(100% 80% at 0% 0%, rgba(240,180,41,.18), transparent 70%), linear-gradient(165deg, #1B2E5C, #0C1730); }
.yp-kpi.big b{ color:var(--gold); font-size:clamp(2.6rem,5vw,3.6rem); }
.yp-aud2{ display:grid; grid-template-columns:1.3fr 1fr; gap:1rem; margin-top:1rem; }
.yp-bars, .yp-facts{ border:1px solid var(--line); border-radius:16px; padding:1.4rem 1.3rem; background:linear-gradient(165deg, var(--raised), var(--surface)); }
.yp-bars h4{ font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); font-weight:400; margin-bottom:1rem; }
.yp-bar{ display:grid; grid-template-columns:52px 1fr 62px; align-items:center; gap:.8rem; margin-top:.7rem; }
.yp-bar span{ font-family:var(--ff-mono); font-size:.74rem; color:var(--dim); }
.yp-bar i{ position:relative; height:10px; border-radius:6px; background:rgba(38,53,95,.6); overflow:hidden; }
.yp-bar i::after{ content:''; position:absolute; inset:0 auto 0 0; width:var(--w); border-radius:6px; background:linear-gradient(90deg, #2B63E6, #6E93F0); transform-origin:0 50%; transform:scaleX(0); transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .2s; }
.yp-block.in .yp-bar i::after, .reveal.in .yp-bar i::after{ transform:scaleX(1); }
.yp-bar.hl i::after{ background:linear-gradient(90deg, #C99A2E, #F0B429); }
.yp-bar b{ font-family:var(--ff-mono); font-size:.8rem; color:var(--ink); text-align:right; font-weight:600; }
.yp-bar.hl b{ color:var(--gold); }
.yp-facts{ display:flex; flex-direction:column; justify-content:center; gap:1.1rem; }
.yp-facts div{ display:flex; align-items:baseline; gap:.8rem; }
.yp-facts b{ font-family:var(--ff-display); font-weight:400; font-size:2rem; color:var(--gold); min-width:4.6ch; }
.yp-facts span{ color:var(--ink); font-size:.95rem; }
@media (max-width:980px){
  .yp-aud{ grid-template-columns:1fr; }
  .yp-aud2{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){ .yp-bar i::after{ transform:none; transition:none; } }
