.ve-official-gallery{color:#f8f3fa;background:linear-gradient(155deg,#171327 0%,#0e1420 65%,#24152b 100%);padding:clamp(2.75rem,6vw,5rem) 1.25rem;isolation:isolate}
.ve-official-gallery__inner{max-width:1200px;margin:0 auto}
.ve-official-gallery__eyebrow{margin:0 0 .7rem;color:#ff76bd;font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.ve-official-gallery h2{margin:0;font-size:clamp(1.9rem,4.5vw,3.2rem);line-height:1.12;letter-spacing:-.035em;color:#fff}
.ve-official-gallery__intro{max-width:49rem;margin:1rem 0 2rem;color:#c6bed1;line-height:1.65}
.ve-official-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;align-items:stretch}
.ve-official-photo{position:relative;margin:2rem 0;overflow:hidden;border:1px solid rgba(255,118,189,.2);border-radius:18px;background:#171827;color:#f8f3fa;box-shadow:0 12px 36px rgba(0,0,0,.16)}
.ve-official-photo__image{display:block;width:100%;height:auto;max-width:100%;margin:0!important;object-fit:cover}
.ve-official-photo figcaption{padding:.85rem 1rem!important;margin:0!important;font-size:.85rem;line-height:1.5;color:#e3dbe9}
.ve-official-photo__caption{display:block;font-weight:650}
.ve-official-photo__credit{display:block;margin-top:.3rem;font-size:.73rem;color:#b8b0c4}
.ve-official-photo__credit a{color:#f7a7d0;text-decoration:underline;text-underline-offset:3px}
.ve-official-photo--gallery{margin:0;display:flex;flex-direction:column;min-width:0}
.ve-official-photo--gallery .ve-official-photo__image{aspect-ratio:16/10;flex:1;min-height:0}
.ve-official-photo--gallery:first-child{grid-column:span 2;grid-row:span 2}
.ve-official-photo--gallery:first-child .ve-official-photo__image{aspect-ratio:16/12}
.ve-official-photo--gallery:first-child .ve-official-photo__caption{font-size:1.1rem}
.ve-official-gallery__link{margin:1.8rem 0 0}
.ve-official-gallery__link a{display:inline-flex;align-items:center;gap:.65rem;color:#ffd2e7;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.ve-official-photo a:focus-visible,.ve-official-gallery a:focus-visible{outline:3px solid #ff92c7;outline-offset:4px;border-radius:2px}
.ve-visuels-admin{max-width:1150px}
.ve-admin-panel{margin:1.3rem 0;padding:1.4rem;background:#fff;border:1px solid #dcdcde;border-radius:8px}
.ve-admin-panel h2{margin-top:0}
.ve-admin-panel progress{display:block;width:100%;height:20px}
.ve-admin-scroll{max-height:350px;overflow:auto;margin-top:1rem}
.ve-admin-scroll table{min-width:530px}
.ve-admin-error{color:#b32d2e;font-weight:600}
#ve-operation-status{position:sticky;bottom:0;padding:1rem;background:#f0f0f1;border-top:2px solid #c880a5;font-weight:600}
#ve-operation-status:empty{display:none}
@media(max-width:800px){.ve-official-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ve-official-photo--gallery:first-child{grid-column:span 2;grid-row:auto}.ve-official-photo--gallery:first-child .ve-official-photo__image{aspect-ratio:16/9}}
@media(max-width:480px){.ve-official-gallery__grid{grid-template-columns:minmax(0,1fr);gap:1rem}.ve-official-photo--gallery:first-child{grid-column:auto}.ve-official-photo{border-radius:13px}.ve-official-gallery{padding-left:1rem;padding-right:1rem}.ve-official-photo figcaption{padding:.75rem!important}}
@media(prefers-reduced-motion:reduce){.ve-official-gallery *{scroll-behavior:auto!important}}
