/* TMT-Media production stylesheet — Stage 28.0 */

/* Source owner: tmt-clean-gallery.css */
/* Shared lightbox controls moved to Gallery. */
.tmt-gallery-lightbox__nav,.tmt-gallery-lightbox__close{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;transition:transform .18s ease,box-shadow .18s ease}
.tmt-gallery-lightbox__close:hover{transform:translateY(-2px);box-shadow:var(--tmt-shadow-hover)!important}
.tmt-gallery-lightbox__nav:hover{box-shadow:var(--tmt-shadow-hover)!important}

/* TMT clean Gallery page — Stage 13 */
body.tmt-static-site .tmt-gallery-page {
  padding-block: clamp(48px, 6vw, 84px);
}
body.tmt-static-site .tmt-gallery-page__title {
  margin: 0 0 var(--tmt-heading-content-gap);
}
body.tmt-static-site .tmt-gallery-mount {
  width: 100%;
  --tmt-gallery-gap: clamp(12px, 1.5vw, 18px);
}
body.tmt-static-site .tmt-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--tmt-gallery-gap);
  width: 100%;
  margin: 0;
}
body.tmt-static-site .tmt-gallery__item { min-width: 0; margin: 0; }
body.tmt-static-site .tmt-gallery__link {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid var(--tmt-control-border, rgba(127,127,127,.24));
  border-radius: 14px;
  background: var(--tmt-panel-grad);
  box-shadow: var(--tmt-shadow);
  text-decoration: none;
  line-height: 0;
  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.tmt-static-site .tmt-gallery__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity .18s ease;
}
body.tmt-static-site .tmt-gallery__img.is-loaded { opacity: 1; }
body.tmt-static-site .tmt-gallery__item.is-broken { display: none; }
body.tmt-static-site .tmt-gallery__link:focus-visible {
  outline: 2px solid var(--tmt-focus, currentColor);
  outline-offset: 4px;
}
@media (hover:hover) {
  body.tmt-static-site .tmt-gallery__link:hover {
    transform: translateY(-3px);
    box-shadow: var(--tmt-shadow-hover);
    filter: brightness(1.035);
  }
}
body.tmt-static-site .tmt-gallery-error {
  margin: 0;
  padding: 24px;
  border: 1px solid var(--tmt-border);
  border-radius: 14px;
  background: var(--tmt-panel-grad);
}
body.tmt-static-site .tmt-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: var(--tmt-lightbox-z, 10020);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(60px, 7vh, 88px) 16px 20px;
  background: var(--tmt-lightbox-bg, rgba(0,0,0,.88));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overscroll-behavior: contain;
  touch-action: pan-y pinch-zoom;
  transition: opacity .18s ease, visibility .18s ease;
}
body.tmt-static-site .tmt-gallery-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
body.tmt-static-site .tmt-gallery-lightbox__inner {
  position: relative;
  max-width: min(1100px, 92vw);
  max-height: 84vh;
  margin: 0;
}
body.tmt-static-site .tmt-gallery-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 84vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  opacity: 0;
  transform: scale(.985);
  transition: opacity .18s ease, transform .18s ease;
}
body.tmt-static-site .tmt-gallery-lightbox__img.is-loaded { opacity: 1; transform: scale(1); }
body.tmt-static-site .tmt-gallery-lightbox__close,
body.tmt-static-site .tmt-gallery-lightbox__nav {
  position: fixed;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
body.tmt-static-site .tmt-gallery-lightbox__close { top: 16px; right: 16px; font-size: 0; line-height: 0; }
body.tmt-static-site .tmt-gallery-lightbox__close::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: var(--tmt-control-foreground);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
body.tmt-static-site .tmt-gallery-lightbox__nav { top: 50%; font-size: 0; transform: translateY(-50%); }
body.tmt-static-site .tmt-gallery-lightbox__prev { left: 16px; }
body.tmt-static-site .tmt-gallery-lightbox__next { right: 16px; }
body.tmt-static-site .tmt-gallery-lightbox__nav::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: var(--tmt-control-foreground);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}
body.tmt-static-site .tmt-gallery-lightbox__prev::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}
body.tmt-static-site .tmt-gallery-lightbox__next::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}
body.tmt-static-site .tmt-gallery-lightbox__caption { margin-top: 10px; color: #fff; text-align: center; font-size: .95rem; line-height: 1.4; opacity: .82; }
body.tmt-static-site .tmt-gallery-lightbox__caption:empty { display: none; }
body.tmt-static-site .tmt-gallery-lightbox__status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html.tmt-gallery-open, html.tmt-gallery-open body { overflow: hidden; }
@media (max-width: 900px) { body.tmt-static-site .tmt-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 700px) {
  body.tmt-static-site .tmt-gallery-page { padding-block: 40px 56px; }
  body.tmt-static-site .tmt-gallery { gap: 10px; }
  body.tmt-static-site .tmt-gallery-lightbox { padding: 64px 12px 74px; }
  body.tmt-static-site .tmt-gallery-lightbox__inner { max-width: calc(100vw - 24px); max-height: calc(100vh - 150px); }
  body.tmt-static-site .tmt-gallery-lightbox__img { max-height: calc(100vh - 150px); }
  body.tmt-static-site .tmt-gallery-lightbox__nav { top: auto; bottom: 18px; width: 40px; height: 40px; transform: none; }
  body.tmt-static-site .tmt-gallery-lightbox__prev { left: calc(50% - 50px); }
  body.tmt-static-site .tmt-gallery-lightbox__next { right: calc(50% - 50px); }
  body.tmt-static-site .tmt-gallery-lightbox__close { top: 14px; right: 14px; }
}
@media (max-width: 360px) { body.tmt-static-site .tmt-gallery { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  body.tmt-static-site .tmt-gallery__link,
  body.tmt-static-site .tmt-gallery__img,
  body.tmt-static-site .tmt-gallery-lightbox,
  body.tmt-static-site .tmt-gallery-lightbox__img,
  body.tmt-static-site .tmt-gallery-lightbox__close,
  body.tmt-static-site .tmt-gallery-lightbox__nav { transition: none; }
  body.tmt-static-site .tmt-gallery__link:hover { transform: none; }
  body.tmt-static-site .tmt-gallery-lightbox__img { transform: none; }
}

/* Stage 28.2.5: initial Gallery geometry, replaced in-place by the JSON grid. */
body.tmt-static-site .tmt-gallery--placeholder{
  pointer-events:none;
}

body.tmt-static-site .tmt-gallery--placeholder .tmt-gallery__link{
  transform:none;
}

body.tmt-static-site .tmt-gallery--placeholder .tmt-gallery__img{
  opacity:1;
  background:var(--tmt-panel-grad);
}

