/* Local gallery; native dialog provides focus containment and Escape handling. */
ul.salon-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; list-style:none; margin:0 auto; padding:0 12px; max-width:1200px; box-sizing:border-box; }
ul.salon-gallery li { margin:0; padding:0; min-width:0; max-width:100%; }
.salon-gallery a { display:block; aspect-ratio:16 / 11; overflow:hidden; }
.salon-gallery img { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; object-position:center; }
.salon-gallery a:focus-visible { outline:3px solid #b99552; outline-offset:3px; }
.salon-lightbox { box-sizing:border-box; width:calc(100% - 24px); max-width:1400px; height:calc(100% - 24px); max-height:100dvh; margin:auto; padding:12px; border:0; background:#19171c; color:#fff; }
.salon-lightbox[open] { display:flex; flex-direction:column; gap:10px; }
.salon-lightbox::backdrop { background:rgb(0 0 0 / 85%); }
.salon-lightbox-controls { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; }
.salon-lightbox button, .salon-lightbox a { font:inherit; color:#fff; background:#3a3642; border:1px solid #aaa; padding:8px 12px; min-height:44px; cursor:pointer; text-decoration:none; }
.salon-lightbox button:focus-visible, .salon-lightbox a:focus-visible { outline:3px solid #e1bf7d; outline-offset:2px; }
.salon-lightbox button:disabled { opacity:.4; cursor:default; }
.salon-lightbox img { display:block; min-height:0; flex:1; object-fit:contain; width:100%; }
.salon-lightbox .salon-lightbox-status { display:block; text-align:center; margin:0; }
@media (max-width:900px) { ul.salon-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media print { .salon-lightbox { display:none!important; } ul.salon-gallery { display:grid; } }
