
.tc-gallery {
    display: grid;
    grid-template-columns: 1fr 0.5fr 0.5fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    width: 100%;
    aspect-ratio: 16 / 8;
}

.tc-gallery__item {
    margin: 0;
}

.tc-gallery__item a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.tc-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tc-gallery__item:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 3;
}

.tc-gallery__item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.tc-gallery__item:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
}

.tc-gallery__item:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
}

.tc-gallery__item:nth-child(5) {
    grid-column: 3;
    grid-row: 2;
}

.tc-gallery__item a {
  position: relative;
  display: block;
  overflow: hidden;
  /*border-radius: 16px;*/
  text-decoration: none;
  color: inherit;
  cursor: zoom-in;
  background: #000;
}

.tc-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  image-rendering: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  transform-origin: center center;
  transition: transform 0.25s ease;
}

.tc-gallery__item a::after {
  content: "🔍";
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
  font-size: 18px;
}

.tc-gallery__item a:hover img,
.tc-gallery__item a:focus-visible img {
  transform: scale(1.04);
  filter: brightness(0.82);
}

.tc-gallery__item a:hover::after,
.tc-gallery__item a:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.tc-gallery__item figcaption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 16px;
  color: #fff;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.38) 45%,
    rgba(0, 0, 0, 0) 100%
  );
  font-size: 14px;
  line-height: 1.45;
}

.tc-gallery__item figcaption strong {
  display: inline-block;
  margin-bottom: 4px;
  font-size: 16px;
}

.tc-gallery figcaption {
  display: none;
}

@media (max-width: 900px) {
  .tc-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .tc-gallery {
    grid-template-columns: 1fr;
  }
}

#top {
    background-color: var(--top-bg-color) !important;
}

/*** CAPTION ***/
.pswp__custom-caption {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  width: auto;
  max-width: min(720px, calc(100% - 32px));
  padding: 14px 18px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 15px;
  line-height: 1.45;
  box-sizing: border-box;
}

.pswp__custom-caption strong {
  display: inline-block;
  margin-bottom: 4px;
  font-size: 16px;
}

.pswp__custom-caption a {
  color: inherit;
  text-decoration: underline;
}

@media only screen and (max-width: 801px) {
    .tc-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
    }

    .tc-gallery__item:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .tc-gallery__item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .tc-gallery__item:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .tc-gallery__item:nth-child(4) {
        grid-column: 1;
        grid-row: 3;
    }

    .tc-gallery__item:nth-child(5) {
        grid-column: 2;
        grid-row: 3;
    }
}