.protected-photo-frame{position:relative;overflow:hidden;isolation:isolate;user-select:none;-webkit-user-select:none}.protected-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none}.protected-photo-frame:after{content:attr(data-watermark);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);z-index:5;pointer-events:none;white-space:nowrap;font-weight:900;font-size:clamp(13px,1.7vw,24px);letter-spacing:1.6px;color:rgba(245,214,132,.28);text-shadow:0 1px 2px rgba(0,0,0,.55);border:1px solid rgba(245,214,132,.12);padding:8px 13px;border-radius:8px}.protected-photo-frame:before{content:"DOKUMENTASI RESMI";position:absolute;right:12px;bottom:10px;z-index:5;font-size:10px;font-weight:800;letter-spacing:1px;color:rgba(255,239,190,.52);pointer-events:none}.detail-back-large{display:inline-flex!important;align-items:center;min-height:48px;padding:0 18px!important;border:1px solid rgba(233,199,106,.26);border-radius:10px;background:rgba(244,211,126,.04);font-size:16px!important;font-weight:900!important;text-decoration:none!important}.detail-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.detail-extra-media{border:1px solid rgba(236,197,100,.15);border-radius:14px;overflow:hidden;background:#0c0906;aspect-ratio:16/10}.detail-extra-media img,.detail-extra-media video{width:100%;height:100%;object-fit:cover;display:block}.detail-file-chip{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid rgba(236,197,100,.18);border-radius:11px;color:#ead8a5;text-decoration:none}.collection-media>.protected-photo-frame,.gallery-card>.protected-photo-frame{width:100%;height:100%}@media(max-width:720px){.detail-media-grid{grid-template-columns:1fr}}
.detail-main-video{margin:0 0 14px;border:1px solid rgba(236,197,100,.16);border-radius:14px;overflow:hidden;background:#080604}.detail-main-video video{display:block;width:100%;max-height:680px;background:#000}


/* ============================================================
   V7.1.9 — NATURAL PHOTO ASPECT RATIO
   No forced crop: landscape stays landscape, portrait stays portrait.
   ============================================================ */
.gallery-natural-grid{
  display:block!important;
  column-count:3;
  column-gap:14px;
}
.gallery-natural-card{
  display:inline-block!important;
  width:100%;
  margin:0 0 14px!important;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
}
.gallery-photo-frame{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:hidden;
  background:#090704;
}
.gallery-photo-frame img,
.gallery-card>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
.gallery-card>.protected-photo-frame{
  width:100%!important;
  height:auto!important;
}
.protected-photo-frame.gallery-photo-frame img{
  height:auto!important;
  object-fit:contain!important;
}

/* Main detail photo follows the real image dimensions, within viewport limits. */
.detail-photo-main{
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#090704;
}
.detail-photo-main img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:78vh!important;
  object-fit:contain!important;
}

/* Extra photos are not forced into 16:10 frames. */
.detail-extra-photo{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
}
.detail-extra-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Keep videos in a predictable player frame. */
.detail-extra-media:not(.detail-extra-photo){
  aspect-ratio:16/10;
}
.detail-extra-media:not(.detail-extra-photo) video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}

/* Collection/product thumbnails: no cropping even inside fixed cards. */
.collection-media img,
.collection-media .protected-photo-frame img{
  object-fit:contain!important;
  object-position:center!important;
}
.collection-media .protected-photo-frame{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

@media(max-width:900px){
  .gallery-natural-grid{column-count:2}
}
@media(max-width:620px){
  .gallery-natural-grid{column-count:1}
}
