/* ═══ Commanditaires (circuit-sponsors.php) ═══ */
.spn { background: var(--c-soft, #f5f5f7); padding: clamp(48px, 7vw, 96px) 0; }
.spn .wrap { display: grid; gap: 18px; }
.spn__c { background: #fff; border-radius: 24px; padding: clamp(22px, 4vw, 44px); display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(22px, 4vw, 52px); align-items: center; }
.spn__logo { background: #fff; border: 1px solid var(--c-line, #e8e8ed); border-radius: 20px; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 28px; }
.spn__logo img { max-width: 100%; max-height: 160px; object-fit: contain; }
.spn__role { display: inline-block; font: 600 12px var(--font-body); color: #6e6e73; }
.spn__txt h2 { margin: 8px 0 0; font: 900 italic clamp(1.8rem, 3.6vw, 2.8rem)/1 var(--font-display); text-transform: uppercase; color: var(--c-ink, #1d1d1f) !important; -webkit-text-fill-color: var(--c-ink, #1d1d1f) !important; background: none !important; box-shadow: none !important; }
.spn__txt p { margin: 16px 0 0; max-width: 62ch; color: #424245; line-height: 1.65; font-size: 1.05rem; }
.spn__perk { display: inline-flex; align-items: center; gap: 8px; font-size: .95rem !important; color: #1d1d1f !important; font-weight: 600; }
.spn__perk::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--c-volt, #D4FF00); border: 1px solid #1d1d1f; }
.spn__thanks { background: var(--c-ink, #1d1d1f); color: #fff; border-radius: 24px; padding: clamp(24px, 4vw, 44px); display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; }
.spn__thanks b { font: 900 italic clamp(2.4rem, 5vw, 4rem)/1 var(--font-display); text-transform: uppercase; color: var(--c-volt, #D4FF00); }
.spn__thanks p { margin: 0; color: #c7c7cc; font-size: 1.1rem; line-height: 1.55; max-width: 60ch; }
@media (max-width: 800px) { .spn__c, .spn__thanks { grid-template-columns: 1fr; } .spn__logo { max-width: 320px; } }

/* Héros épuré avec photo en transparence (page du circuit) */
.chero--photo { position: relative; overflow: hidden; }
.chero--photo .chero__bg { position: absolute; inset: 0; background-size: cover; background-position: center 60%; opacity: .26; filter: grayscale(1); }
.chero--photo::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.7) 40%, rgba(255,255,255,0) 80%), linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 35%); }
.chero--photo .chero__in { position: relative; z-index: 2; }
.chero--photo .chero__deco { position: absolute; right: -40px; bottom: 54px; z-index: 2; background: #1d1d1f; color: #fff; font: 900 italic clamp(1.6rem, 3vw, 2.6rem)/1 var(--font-display); text-transform: uppercase; padding: 12px 70px 10px 34px; transform: rotate(-6deg); clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%); white-space: nowrap; }
.chero--photo .chero__deco i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--c-volt, #D4FF00); margin: 0 16px; vertical-align: middle; }
@media (max-width: 1100px) { .chero--photo .chero__deco { display: none; } }

/* Exemple de pointage */
.pts__demo { background: #1d1d1f; color: #fff; border-radius: 16px; padding: 14px 18px; margin-bottom: 16px; font-size: .95rem; }
.pts__demo b { color: var(--c-volt, #D4FF00); }
