/* Partial: galeria em carrossel com miniaturas (escopo .fc-galeria).
   Valores do framer-thumbnails: 80% da largura, faixa de
   miniaturas com 80px de altura, ativa em 120px e fechadas em 35px. */
.fc-galeria { width: 80%; margin-inline: auto; display: flex; flex-direction: column; gap: 0.75rem; }
.fc-galeria__palco { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--c-purple-900); touch-action: pan-y; }
.fc-galeria__trilho { display: flex; will-change: transform; cursor: grab; }
.fc-galeria__trilho.is-arrastando { cursor: grabbing; }
/* O palco segue a proporção das fotos (3:2, 1600x1065) em vez dos 400px fixos do
   componente original: com a moldura igual à foto, ninguém é cortado. */
.fc-galeria__slide { flex: none; width: 100%; aspect-ratio: 1600 / 1065; margin: 0; }
/* Se uma foto fugir da proporção, o pouco que sobrar sai de baixo, onde há menos rosto. */
.fc-galeria__slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; border-radius: var(--r-lg); user-select: none; -webkit-user-select: none; pointer-events: none; }
.fc-galeria__seta { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: var(--r-full); background: #fff; color: var(--c-purple-900); box-shadow: 0 10px 15px -3px rgba(var(--rgb-deep), 0.18), 0 4px 6px -4px rgba(var(--rgb-deep), 0.18); opacity: 0.7; cursor: pointer; transform: translateY(-50%); transition: transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out); }
.fc-galeria__seta svg { width: 24px; height: 24px; }
.fc-galeria__seta--ant { left: 1rem; }
.fc-galeria__seta--prox { right: 1rem; }
.fc-galeria__seta:hover:not(:disabled), .fc-galeria__seta:focus-visible { opacity: 1; transform: translateY(-50%) scale(1.1); }
.fc-galeria__seta:disabled { opacity: 0.4; cursor: not-allowed; }
.fc-galeria__miniaturas { overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.fc-galeria__miniaturas::-webkit-scrollbar { display: none; }
.fc-galeria__lista { display: flex; gap: 0.25rem; width: fit-content; height: 5rem; padding-bottom: 0.5rem; }
/* Exceção consciente à regra de animar só transform e opacity: a abertura da
   miniatura é a assinatura do componente e mexe em 20 elementos de uma faixa. */
.fc-galeria__mini { position: relative; flex: none; width: 35px; height: 100%; margin: 0; padding: 0; border: 0; overflow: hidden; background: var(--c-purple-100); cursor: pointer; transition: width 0.3s ease-out, margin 0.3s ease-out; }
.fc-galeria__mini.is-ativa { width: 120px; margin-inline: 2px; }
.fc-galeria__mini img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; user-select: none; -webkit-user-select: none; }
.fc-galeria__mini:focus-visible { outline: 2px solid var(--c-purple-500); outline-offset: -2px; }
@media (max-width: 767px) {
  .fc-galeria { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .fc-galeria__mini, .fc-galeria__seta { transition: none; }
}
