/* Tournoi Sport — pages Partenaires (v1.1) */

/* ---------- En-tête partenaire ---------- */
.ts-partner-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 85% 20%,rgba(214,40,40,.55),transparent 45%),linear-gradient(140deg,var(--ts-ink) 30%,var(--ts-brown));color:#fff;padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(4rem,8vw,6.5rem)}
.ts-partner-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 70px)}
.ts-partner-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.ts-partner-hero__back{animation:ts-rise .6s var(--ts-ease) both}
.ts-partner-hero__back:hover{color:#fff;opacity:.8}
.ts-partner-hero__name{font-size:clamp(3rem,8vw,6.2rem);text-transform:uppercase;color:#fff;line-height:.9;margin:0 0 1rem;animation:ts-rise .8s var(--ts-ease) both}
.ts-partner-hero__slogan{font-family:var(--ts-font-head);font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800;text-transform:uppercase;line-height:1.05;margin:0 0 1rem;animation:ts-rise 1s var(--ts-ease) both}
.ts-partner-hero__slogan em{color:var(--ts-red);font-style:italic}
.ts-partner-hero__tagline{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:560px;margin-bottom:2rem;animation:ts-rise 1.1s var(--ts-ease) both}
.ts-partner-hero .ts-slide__btns{animation:ts-rise 1.2s var(--ts-ease) both}
.ts-partner-badge{position:relative;justify-self:center;width:min(300px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fff,#F3E9E6);color:var(--ts-ink);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),inset 0 -12px 30px rgba(28,19,17,.08);animation:ts-pop 1s var(--ts-ease) both}
.ts-partner-badge span{font-family:var(--ts-font-head);font-weight:800;font-size:clamp(3.2rem,8vw,5rem);letter-spacing:.02em;color:var(--ts-ink)}
.ts-partner-badge img{width:70%;height:70%;object-fit:contain}
.ts-partner-badge__ring{position:absolute;inset:-14px;border-radius:50%;border:2px dashed rgba(214,40,40,.75);animation:ts-spin 30s linear infinite}
.ts-partner-badge em{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;background:var(--ts-red);color:#fff;font-style:normal;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;padding:.45rem .85rem;border-radius:999px;box-shadow:0 10px 25px -10px rgba(214,40,40,.8)}
@keyframes ts-pop{from{opacity:0;transform:scale(.8) rotate(-8deg)}to{opacity:1;transform:none}}
.ts-marquee--ink{background:var(--ts-ink);transform:rotate(1deg) scale(1.02);margin-top:-1.2rem;box-shadow:0 20px 40px -20px rgba(28,19,17,.6)}
.ts-marquee--ink i{color:var(--ts-red);opacity:1}
.ts-marquee--ink .ts-marquee__track{animation-duration:30s}

/* ---------- Présentation ---------- */
.ts-partner-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ts-partner-intro .ts-lead{max-width:none;color:var(--ts-text);font-size:1.15rem}
.ts-partner-points{list-style:none;margin:0;padding:1.6rem;display:flex;flex-direction:column;gap:.9rem;background:var(--ts-bg-soft);border-radius:calc(var(--ts-radius) + 6px);border-left:4px solid var(--ts-red)}
.ts-partner-points li{display:flex;gap:.8rem;align-items:center;font-weight:700;color:var(--ts-ink)}
.ts-partner-points .tsc-ico{flex:none;width:30px;height:30px;padding:6px;border-radius:50%;background:var(--ts-red);color:#fff}

/* ---------- Prestations ---------- */
.ts-partner-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.5rem}
.ts-partner-service{position:relative;overflow:hidden;isolation:isolate;padding:2.2rem 1.8rem;border-radius:calc(var(--ts-radius) + 6px);background:#fff;border:1px solid var(--ts-border);transition:transform .45s var(--ts-ease),box-shadow .45s}
.ts-partner-service::before{content:"";position:absolute;inset:auto -30% -60% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--ts-red-soft),transparent 70%);z-index:-1;transition:transform .6s var(--ts-ease)}
.ts-partner-service:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(28,19,17,.45)}
.ts-partner-service:hover::before{transform:scale(1.6)}
.ts-partner-service__ico{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:var(--ts-ink);color:#fff;margin-bottom:1.4rem;transition:background .35s,transform .5s var(--ts-ease)}
.ts-partner-service:hover .ts-partner-service__ico{background:var(--ts-red);transform:rotate(-8deg)}
.ts-partner-service__num{position:absolute;top:1.2rem;right:1.4rem;font-family:var(--ts-font-head);font-weight:800;font-size:3rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--ts-border)}
.ts-partner-service h3{font-size:1.65rem;text-transform:uppercase;margin-bottom:.5rem}
.ts-partner-service>p{color:var(--ts-muted);font-size:.95rem;margin-bottom:1.2rem}
.ts-partner-service .ts-checks{margin:0;gap:.6rem}
.ts-partner-service .ts-checks li{font-size:.92rem}
.ts-partner-service .ts-checks .tsc-ico{background:var(--ts-red-soft);color:var(--ts-red);width:24px;height:24px}

/* ---------- Tarifs (2 panneaux) ---------- */
.ts-partner-pricing .tsc-price-grid{max-width:860px;margin:0 auto}

/* ---------- Cartes partenaires ---------- */
.ts-partner-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.5rem}
.ts-partner-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:.5rem;padding:2.2rem;border-radius:calc(var(--ts-radius) + 8px);background:#fff;border:1px solid var(--ts-border);color:var(--ts-text);transition:transform .45s var(--ts-ease),box-shadow .45s,color .35s}
.ts-partner-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(150deg,var(--ts-ink),var(--ts-brown));opacity:0;transition:opacity .45s}
.ts-partner-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -35px rgba(28,19,17,.7);color:rgba(255,255,255,.8)}
.ts-partner-card:hover::before{opacity:1}
.ts-partner-card__logo{width:84px;height:84px;border-radius:24px;display:grid;place-items:center;background:var(--ts-red);color:#fff;font-family:var(--ts-font-head);font-weight:800;font-size:1.6rem;letter-spacing:.03em;margin-bottom:1rem;overflow:hidden;transition:transform .5s var(--ts-ease)}
.ts-partner-card__logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:10px}
.ts-partner-card:hover .ts-partner-card__logo{transform:rotate(-6deg) scale(1.05)}
.ts-partner-card .ts-kicker{margin:0}
.ts-partner-card h3{font-size:2.3rem;text-transform:uppercase;margin:0;transition:color .35s}
.ts-partner-card:hover h3{color:#fff}
.ts-partner-card__slogan{font-family:var(--ts-font-head);font-weight:700;font-size:1.25rem;text-transform:uppercase;color:var(--ts-ink);margin:0;transition:color .35s}
.ts-partner-card:hover .ts-partner-card__slogan{color:#fff}
.ts-partner-card__slogan em{color:var(--ts-red);font-style:italic}
.ts-partner-card>p:not(.ts-partner-card__slogan){font-size:.95rem;margin:.3rem 0 .6rem}
.ts-partner-card__tags{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ts-partner-card__tags li{font-size:.75rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;background:var(--ts-bg-soft);color:var(--ts-ink);transition:background .35s,color .35s}
.ts-partner-card:hover .ts-partner-card__tags li{background:rgba(255,255,255,.1);color:#fff}
.ts-partner-card .tsc-link{margin-top:auto}

@media (max-width:900px){
  .ts-partner-hero__inner,.ts-partner-intro{grid-template-columns:1fr}
  .ts-partner-badge{width:min(220px,60vw);order:-1;justify-self:start}
}
@media (max-width:640px){
  .ts-partner-card{padding:1.6rem}
  .ts-partner-card h3{font-size:1.9rem}
  .ts-partner-hero .ts-slide__btns .ts-btn{width:100%}
}
