/* PERLA Gestion — galerie pleine page, prise en charge ordinateur et mobile. */
#orderDetail .media-card img,#orderDetail .detail-card img,#v10AtelierDetail img,
#fittingDetail .fitting-photo[data-photo-path],#fittingDetail .v13-fit-gallery img,
#clientPhotoTimelineV9 img,#alterationExistingPhotos img,#portalContent img {cursor:zoom-in}
#perlaPhotoViewer {position:fixed;inset:0;box-sizing:border-box;margin:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
  width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;background:#151515;color:#fff;
  overscroll-behavior:contain;font-family:inherit}
#perlaPhotoViewer::backdrop {background:rgba(0,0,0,.88)}
#perlaPhotoViewer[open]{display:flex;flex-direction:column}
#perlaPhotoViewer button{font-family:inherit;cursor:pointer;color:inherit}
.perla-photo-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 19px;flex:0 0 auto;border-bottom:1px solid #ffffff1a}
.perla-photo-brand{display:flex;align-items:center;gap:12px}.perla-photo-brand span{font-family:serif;font-size:21px;letter-spacing:.15em;color:#ddc5a6}.perla-photo-brand small{font-size:10px;letter-spacing:.14em;color:#bdb6ad}
.perla-photo-close{width:40px;height:40px;font-size:20px;background:#ffffff14;border:1px solid #ffffff2e;border-radius:11px}
/* V24: la scène garde sa propre hauteur, indépendamment des dimensions natives
   de l'image. L'ancienne grille faisait déborder les photos verticales. */
#perlaPhotoViewer .perla-photo-stage{position:relative;flex:1 1 0%;min-height:0;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#1b1b1b;touch-action:none}
/* La photo est toujours contenue ENTIEREMENT au zoom initial de 100 %. */
#perlaPhotoViewer .perla-photo-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;
  transform-origin:center center;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:transform}

.perla-photo-stage.is-zoomed{cursor:grab}.perla-photo-stage.is-zoomed:active{cursor:grabbing}
.perla-photo-side{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:49px;height:64px;border:1px solid #ffffff33;
  background:#0009;border-radius:14px;font-size:42px;line-height:1;color:#fff}
.perla-photo-side-left{left:14px}.perla-photo-side-right{right:14px}
.perla-photo-side:disabled{opacity:.2;cursor:default}
.perla-photo-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:11px 17px;background:#1e1c1a;flex:0 0 auto}
.perla-photo-meta{display:grid;gap:4px;min-width:130px;flex:1 1 180px}.perla-photo-meta strong{font-size:13px;color:#f6e6d3}.perla-photo-meta span{font-size:12px;color:#bfb7af;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perla-photo-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.perla-photo-controls button{min-width:38px;min-height:38px;padding:8px 12px;border:1px solid #ffffff35;border-radius:9px;background:#ffffff12;font-size:14px}
.perla-photo-controls button:hover:not(:disabled),.perla-photo-close:hover{background:#ffffff2a}
.perla-photo-controls button:disabled{opacity:.3;cursor:default}
.perla-photo-controls .perla-photo-download{background:#fff;color:#24201e!important;border-color:#fff;font-weight:700}
.perla-photo-controls [hidden]{display:none!important}
.perla-photo-thumbnails{flex:0 0 auto;display:flex;gap:7px;justify-content:center;max-width:100%;overflow-x:auto;padding:8px 18px;background:#141312;scrollbar-width:thin}
.perla-photo-thumbnails[hidden]{display:none}
.perla-photo-thumbnail{width:53px;height:53px;flex:0 0 53px;padding:2px;border:2px solid transparent;border-radius:9px;background:#ffffff20}
.perla-photo-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:5px}
.perla-photo-thumbnail.active{border-color:#dbb88f}
.perla-photo-hint{padding:7px 12px;color:#958c84;text-align:center;font-size:11px;background:#171513}
#perlaPhotoViewer button:focus-visible{outline:3px solid #f5cb96;outline-offset:2px}
@media(max-width:700px){
 .perla-photo-head{padding:6px 11px}.perla-photo-brand span{font-size:18px}.perla-photo-brand small{font-size:9px}
 .perla-photo-stage{min-height:0}.perla-photo-side{width:34px;height:53px;border-radius:9px;font-size:28px;background:#0007}
 .perla-photo-side-left{left:5px}.perla-photo-side-right{right:5px}
 .perla-photo-foot{padding:8px 10px;gap:8px}.perla-photo-meta{flex:1 1 100%;gap:1px}
 .perla-photo-controls{width:100%;justify-content:center;gap:5px}
 .perla-photo-controls button{font-size:12px;min-height:38px;min-width:33px;padding:6px 8px}
 .perla-photo-thumbnails{justify-content:flex-start;padding:6px 10px}
 .perla-photo-thumbnail{width:43px;height:43px;flex-basis:43px}
 .perla-photo-hint{font-size:10px;padding:5px}
}

/* V23 : miniatures portail plus lisibles, détail complet au clic */
#portalContent .portal-photo-grid img,#portalContent .v15-mini-gallery img,#portalContent .v15-dress-cover{object-fit:contain;background:#f4efe8;border-radius:9px;cursor:zoom-in}
#portalContent .portal-photo-grid figure{position:relative}
#portalContent .portal-photo-grid figure::after{content:'⛶ Agrandir';position:absolute;right:6px;top:6px;pointer-events:none;background:#211b19b9;color:#fff;font-size:11px;padding:5px 7px;border-radius:7px}
#portalContent .portal-photo-grid img:focus-visible,#portalContent .v15-dress-cover:focus-visible{outline:3px solid #a77c4b;outline-offset:3px}
@media(max-width:680px){#portalContent .portal-photo-grid img{min-height:130px}}

/* V24 : actions Télécharger / Partager / Supprimer côte à côte */
#orderDetail .media-card-actions .perla-media-direct-download{font-weight:700;color:#75532c;text-decoration:none;white-space:nowrap}
#orderDetail .media-card-actions .perla-media-direct-download:disabled{opacity:.45;cursor:progress}
@media(max-width:700px){#orderDetail .media-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px}#orderDetail .media-card-actions .link-btn{padding:6px 0;min-height:32px}}
