/* Extras do site novo (o que o Adobe não tinha) */

/* Grade: aparece assim que o script dimensiona */
.grid--main.grid--ready { visibility: visible; }

/* vídeo dentro da grade de fotos */
.grid__item-container .grid__item-video { object-fit: cover; display: block; background: rgba(0, 0, 0, .03); }
.grid__item-container[data-kind="video"] { cursor: zoom-in; }
.bt-grid-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 10px; font-size: 13px; color: #fff;
  background: linear-gradient(transparent, rgba(0, 0, 0, .55)); pointer-events: none; }

/* módulos novos */
.bt-html-module, .bt-spacer-module, .bt-divider-module, .bt-columns-module { margin-left: auto; margin-right: auto; }
.bt-columns-module { width: 100%; }
.bt-cols > .bt-col > .project-module, .bt-cols > .bt-col > .module { width: 100% !important; }
@media (max-width: 932px) { .bt-cols.bt-stack-tablet { flex-direction: column; } .bt-cols.bt-stack-tablet > .bt-col { flex-basis: auto !important; width: 100%; } }
@media (max-width: 540px) { .bt-cols.bt-stack-mobile { flex-direction: column; } .bt-cols.bt-stack-mobile > .bt-col { flex-basis: auto !important; width: 100%; } }
.bt-video-module video { background: #000; }
.bt-gallery-intro { padding-top: 0; }

/* Lightbox (fundo branco 94%, como no original) */
.bt-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; }
.bt-lightbox.open { display: block; }
.bt-lb-bg { position: absolute; inset: 0; background: var(--bt-lb-bg, #fff); opacity: var(--bt-lb-opacity, .94); }
.bt-lb-media {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  max-width: calc(100vw - 160px); max-height: calc(100vh - 80px);
  opacity: 0; transition: opacity .4s; user-select: none;
}
.bt-lb-media.on { opacity: 1; }
img.bt-lb-media { cursor: pointer; }
.bt-lb-caption { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; font-size: 14px; color: #282828; }
.bt-lb-btn {
  position: absolute; background: none; border: 0; padding: 0; cursor: pointer;
  transition: opacity 1s; -webkit-tap-highlight-color: transparent;
}
.bt-lb-btn svg { display: block; stroke: #282828; }
.bt-lb-btn:hover svg { stroke: #000; }
.bt-lb-prev, .bt-lb-next { top: 50%; transform: translateY(-50%); width: 60px; height: 80px; }
.bt-lb-prev svg, .bt-lb-next svg { width: 44px; height: 60px; margin: auto; }
.bt-lb-prev { left: 10px; } .bt-lb-next { right: 10px; }
.bt-lb-close { top: 20px; right: 20px; width: 40px; height: 40px; }
.bt-lb-close svg { width: 40px; height: 40px; }
.bt-lightbox.single .bt-lb-prev, .bt-lightbox.single .bt-lb-next { display: none; }
.bt-lightbox.idle .bt-lb-btn { opacity: 0; }
html.lightbox-enabled, html.lightbox-enabled body { overflow: hidden; }
@media (max-width: 768px) {
  .bt-lb-media { max-width: 100vw; max-height: 100vh; }
  .bt-lb-prev, .bt-lb-next { display: none; }
}

/* página protegida por senha */
.bt-lock { min-height: 100vh; display: flex; align-items: center; justify-content: center; font-family: xqhs, sans-serif; }
.bt-lock form { text-align: center; }
.bt-lock input { font: inherit; padding: 10px 14px; border: 1px solid #ccc; border-radius: 4px; min-width: 240px; }
.bt-lock button { font: inherit; padding: 10px 18px; margin-left: 6px; border: 0; border-radius: 4px; background: #282828; color: #fff; cursor: pointer; }
