.csvienne{--csvienne-columns:4;display:grid;grid-template-columns:repeat(var(--csvienne-columns),minmax(0,1fr));gap:24px;width:100%;align-items:start}
.csvienne--cols-1{--csvienne-columns:1}.csvienne--cols-2{--csvienne-columns:2}.csvienne--cols-3{--csvienne-columns:3}.csvienne--cols-4{--csvienne-columns:4}.csvienne--cols-5{--csvienne-columns:5}.csvienne--cols-6{--csvienne-columns:6}
.csvienne .csvienne__fiche{margin:0;padding:0;min-width:0;text-align:center}
.csvienne .csvienne__photo{display:block;width:100%;max-width:265px;height:auto;margin:0 auto;border:0;box-shadow:none}
.csvienne .csvienne__nom{margin-top:10px;font:inherit;color:inherit}
@media(max-width:900px){.csvienne:not(.csvienne--cols-1):not(.csvienne--cols-2){--csvienne-columns:3}}
@media(max-width:575px){.csvienne:not(.csvienne--cols-1){--csvienne-columns:2;gap:16px}}

.csvienne--csv_partenaire .csvienne__photo{width:auto;max-width:100%;max-height:380px;height:auto;margin:auto}
.csvienne--csv_partenaire .csvienne__fiche{max-width:380px;width:100%;justify-self:center}
.csvienne--csv_partenaire .csvienne__lien{display:block}

/* Partner logos: Elementor owns headings and section spacing. */
.csvienne.csvienne--csv_partenaire{align-items:center;row-gap:30px;column-gap:20px}
.csvienne.csvienne--csv_partenaire .csvienne__fiche{display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.csvienne.csvienne--csv_partenaire .csvienne__lien{display:flex;align-items:center;justify-content:center;width:100%;color:inherit;text-decoration:none}
.csvienne.csvienne--csv_partenaire .csvienne__photo{display:block;width:auto;max-width:100%;height:auto;max-height:380px;object-fit:contain;border:0;border-radius:0;box-shadow:none;transition:transform .3s ease}
.csvienne.csvienne--csv_partenaire .csvienne__lien:focus-visible{outline:2px solid currentColor;outline-offset:6px}
@media(hover:hover){.csvienne.csvienne--csv_partenaire .csvienne__photo:hover{transform:scale(1.1)}}
@media(max-width:900px){.csvienne.csvienne--csv_partenaire:not(.csvienne--cols-1):not(.csvienne--cols-2){--csvienne-columns:2}}
@media(max-width:575px){.csvienne.csvienne--csv_partenaire{gap:20px 16px}}
@media(prefers-reduced-motion:reduce){.csvienne.csvienne--csv_partenaire .csvienne__photo{transition:none}.csvienne.csvienne--csv_partenaire .csvienne__photo:hover{transform:none}}

/* Player cards: four columns by default, original portrait proportions. */
.csvienne.csvienne--csv_joueur{align-items:start;gap:24px}
.csvienne.csvienne--csv_joueur .csvienne__fiche{width:100%;min-width:0;margin:0;padding:0;justify-self:center;border:0;background:transparent;box-shadow:none}
.csvienne.csvienne--csv_joueur .csvienne__photo{display:block;width:100%;max-width:265px;height:auto;margin:0 auto;object-fit:contain;border:0;border-radius:0;box-shadow:none}
@media(max-width:900px){.csvienne.csvienne--csv_joueur:not(.csvienne--cols-1):not(.csvienne--cols-2){--csvienne-columns:2}}
@media(max-width:575px){.csvienne.csvienne--csv_joueur{gap:16px}}

/* Portrait sections: match the boxed Elementor rows in the original page. */
.csvienne.csvienne--csv_joueur,.csvienne.csvienne--csv_staff{box-sizing:border-box;max-width:1140px;margin:0 auto;padding:40px 10px;gap:20px;align-items:start}
.csvienne.csvienne--csv_staff.csvienne--groupe-medical{padding-top:110px}
.csvienne.csvienne--csv_staff .csvienne__fiche,.csvienne.csvienne--csv_joueur .csvienne__fiche{margin:0;padding:0;min-width:0;width:100%;border:0;background:transparent;box-shadow:none}
.csvienne.csvienne--csv_staff .csvienne__photo,.csvienne.csvienne--csv_joueur .csvienne__photo{display:block;width:100%;height:auto;margin:0 auto;object-fit:contain;border:0;box-shadow:none}
@media(max-width:900px){.csvienne.csvienne--csv_staff:not(.csvienne--cols-1):not(.csvienne--cols-2){--csvienne-columns:2}}
@media(max-width:575px){.csvienne.csvienne--csv_joueur,.csvienne.csvienne--csv_staff{padding:30px 10px;gap:20px 16px}.csvienne.csvienne--csv_staff.csvienne--groupe-medical{padding-top:40px}}

/* Player titles remain real text, with compact uppercase presentation. */
.csvienne.csvienne--csv_joueur .csvienne__nom{box-sizing:border-box;max-width:265px;margin:8px auto 0;padding:0 4px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25;letter-spacing:.025em;text-transform:uppercase;text-align:center;color:#17365d;overflow-wrap:anywhere}
@media(max-width:575px){.csvienne.csvienne--csv_joueur .csvienne__nom{font-size:13px;margin-top:6px}}

/* Homepage carousel: four 300px logos, 60px gaps, no cropping. */
.csvienne-slider{--slider-columns:4;--slider-gap:60px;width:100%;position:relative;padding:20px 0 40px;box-sizing:border-box}
.csvienne-slider__viewport{overflow:hidden;width:100%}
.csvienne-slider__track{display:flex;gap:var(--slider-gap);align-items:flex-start;will-change:transform}
.csvienne-slider .csvienne__fiche{flex:0 0 calc((100% - (var(--slider-columns) - 1)*var(--slider-gap))/var(--slider-columns));min-width:0;margin:0;padding:0;text-align:center;border:0;background:transparent;box-shadow:none}
.csvienne-slider .csvienne__lien{display:block;text-decoration:none}
.csvienne-slider .csvienne__photo{display:block;width:auto;max-width:min(100%,300px);max-height:300px;height:auto;margin:0 auto;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.csvienne-slider a:focus-visible,.csvienne-slider:focus-visible{outline:2px solid #17365d;outline-offset:3px}
@media(max-width:900px){.csvienne-slider{--slider-columns:2;--slider-gap:30px}}
@media(max-width:575px){.csvienne-slider{--slider-columns:1;--slider-gap:20px}}

/* Vin: original boxed image row, natural sizes, no grow animation. */
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins{box-sizing:border-box;max-width:1140px;margin:0 auto;padding:10px;align-items:start;gap:20px}
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__fiche{align-self:start;align-items:flex-start;max-width:none}
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__lien{align-items:flex-start}
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__photo{width:auto;max-width:100%;height:auto;max-height:380px;transform:none;transition:none}
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__photo:hover{transform:none}
@media(max-width:575px){.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins{gap:20px 16px}}

/* Plain Vin images: neutralize theme frames on figures, links and images. */
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__fiche,
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__lien,
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__photo{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__fiche::before,
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__fiche::after,
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__lien::before,
.csvienne.csvienne--csv_partenaire.csvienne--groupe-vins .csvienne__lien::after{content:none!important}
