.event-gallery{--gallery-paper:var(--gallery-surface,var(--fundo,#FFFFFF));--gallery-ink:var(--tinta,#151211);--gallery-muted:var(--tinta-3,#6E6862);box-sizing:border-box;min-height:100vh;background:var(--gallery-paper);color:var(--gallery-ink);font-family:var(--fonte-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif)}
.event-gallery *{box-sizing:border-box}.event-gallery a{color:inherit}.event-gallery a:focus-visible,.event-gallery button:focus-visible{outline:3px solid var(--acao,#A75531);outline-offset:5px}
.event-gallery__masthead{max-width:1440px;margin:auto;padding:30px 5%;display:flex;gap:24px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--linha,rgba(21,18,17,.12));font-size:14px}
.event-gallery__brand{font-family:var(--fonte-serifa,Georgia,serif);font-size:23px;text-decoration:none}.event-gallery__main{max-width:1440px;margin:auto;padding:70px 5% 30px}.event-gallery__intro{max-width:820px;margin:0 auto 50px;text-align:center}.event-gallery__eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:600}.event-gallery h1{font-family:var(--fonte-serifa,Georgia,serif);font-size:clamp(38px,5vw,70px);font-weight:400;line-height:1.08;margin:22px 0}.event-gallery__intro p:not(.event-gallery__eyebrow){font-size:18px;line-height:1.75;max-width:660px;margin:24px auto}.event-gallery__intro time{color:var(--gallery-muted);font-size:14px}.event-gallery__link{color:var(--acao,#A75531);display:inline-flex;align-items:center;padding:14px 0;gap:12px;font-size:14px;text-underline-offset:5px}.event-gallery__hint{font-size:13px;color:var(--gallery-muted);margin-bottom:16px}.event-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.event-gallery__photo{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--cal,#FBF8F4);border-radius:var(--gallery-image-radius,3px)}.event-gallery__photo:nth-child(4n+1){border-radius:var(--gallery-image-radius,80px 3px 3px 3px)}.event-gallery__photo img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .35s}.event-gallery__photo:hover img{transform:scale(1.025)}.event-gallery__footer{margin-top:70px;padding-top:25px;border-top:1px solid var(--linha,rgba(21,18,17,.12));color:var(--gallery-muted);font-size:13px}.event-gallery__empty{max-width:700px;margin:60px auto;text-align:center;line-height:1.8}
.event-gallery__lightbox{color:var(--fundo,#FFFFFF);border:0;padding:60px 70px 35px;background:var(--fundo-solene,#110B08);width:min(1400px,96vw);max-width:96vw;height:94vh;max-height:94vh;overflow:hidden;border-radius:8px}.event-gallery__lightbox::backdrop{background:color-mix(in srgb,var(--fundo-solene,#110B08) 94%,transparent)}.event-gallery__lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.event-gallery__lightbox img{display:block;max-width:100%;width:auto;min-height:0;flex:1;object-fit:contain}.event-gallery__lightbox figcaption{font-size:13px;text-align:center;line-height:1.5}.event-gallery__lightbox button{position:absolute;min-width:44px;min-height:44px;background:color-mix(in srgb,var(--fundo,#FFFFFF) 9%,transparent);color:var(--fundo,#FFFFFF);border:1px solid color-mix(in srgb,var(--fundo,#FFFFFF) 27%,transparent);border-radius:100px;cursor:pointer;font:inherit;z-index:1}.event-gallery__close{right:18px;top:10px;padding:0 18px}.event-gallery__previous{left:12px;top:48%}.event-gallery__next{right:12px;top:48%}
@media(max-width:700px){.event-gallery__masthead{padding:22px 6%;align-items:flex-start}.event-gallery__brand{font-size:19px;max-width:180px}.event-gallery__masthead>a:last-child{max-width:110px;font-size:12px;text-align:right}.event-gallery__main{padding:42px 6% 25px}.event-gallery__intro{margin-bottom:35px}.event-gallery__intro p:not(.event-gallery__eyebrow){font-size:16px}.event-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.event-gallery__photo:nth-child(4n+1){border-top-left-radius:var(--gallery-image-radius,45px)}.event-gallery__lightbox{padding:65px 8px 65px;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.event-gallery__previous,.event-gallery__next{top:auto;bottom:12px}.event-gallery__lightbox figcaption{padding:0 20px}}
@media(prefers-reduced-motion:reduce){.event-gallery__photo img{transition:none}}
.event-gallery__filters{display:flex;align-items:flex-end;gap:18px;margin:0 0 30px;padding:26px 0;border-top:1px solid var(--linha,rgba(21,18,17,.12));border-bottom:1px solid var(--linha,rgba(21,18,17,.12))}.event-gallery__filters label{display:flex;flex-direction:column;gap:10px;font-size:13px}.event-gallery__filters label:first-child{flex:1}.event-gallery__filters input,.event-gallery__filters select{height:48px;min-width:0;width:100%;border:1px solid var(--linha,rgba(21,18,17,.12));border-radius:4px;background:var(--gallery-paper);color:var(--gallery-ink);font:inherit;font-size:15px;padding:0 14px}.event-gallery__filters button{height:48px;border:0;border-radius:4px;background:var(--acao,#A75531);color:var(--fundo,#FFFFFF);padding:0 28px;font:inherit;cursor:pointer}.event-gallery__catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.event-gallery__album>a{text-decoration:none;display:block}.event-gallery__album img,.event-gallery__album-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--gallery-image-radius,70px 4px 4px 4px);background:var(--cal,#FBF8F4)}.event-gallery__album-placeholder{display:grid;place-items:center;font-family:var(--fonte-serifa,Georgia,serif);font-size:24px;color:var(--gallery-muted)}.event-gallery__album-copy{padding:20px 0 0}.event-gallery__album-copy .event-gallery__eyebrow{color:var(--gallery-muted);font-size:11px;margin:0 0 12px}.event-gallery__album h2{font-family:var(--fonte-serifa,Georgia,serif);font-size:29px;line-height:1.2;font-weight:400;margin:0}.event-gallery__pagination{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:50px;font-size:14px}@media(max-width:900px){.event-gallery__catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.event-gallery__filters{flex-wrap:wrap;gap:12px}.event-gallery__filters label:first-child{flex-basis:100%}.event-gallery__catalog{grid-template-columns:1fr;gap:35px}.event-gallery__album img,.event-gallery__album-placeholder{border-top-left-radius:var(--gallery-image-radius,55px)}.event-gallery__pagination{gap:18px;font-size:12px}}

/* Theme presets: existing editorial galleries remain unchanged unless selected. */
.event-gallery__filters { flex-wrap: wrap; }
.event-gallery__filters label { flex: 1 1 150px; min-width: 0; }
.event-gallery__filters label:first-child { flex: 2 1 250px; }
.event-gallery__badge { display: inline-block; padding: 5px 9px; margin-bottom: 12px; border: 1px solid currentColor; border-radius: 100px; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.event-gallery__intro .event-gallery__badge { margin-right: 8px; }
.event-gallery__breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; font-size: 13px; line-height: 1.6; color: var(--gallery-muted); }
.event-gallery__breadcrumb a { text-underline-offset: 4px; }
.event-gallery__children { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 30px; padding: 18px 0; border-block: 1px solid var(--gallery-rule, var(--linha, rgba(21,18,17,.12))); }
.event-gallery__children h2 { flex-basis: 100%; margin: 0; font: 600 16px/1.5 var(--fonte-sans, system-ui, sans-serif); }
.event-gallery__lightbox { margin: auto; }
.event-gallery__lightbox { overscroll-behavior: contain; }
.event-gallery__lightbox figure { touch-action: pinch-zoom; user-select: none; -webkit-user-select: none; }
.event-gallery__lightbox img { -webkit-user-drag: none; }
.event-gallery__lightbox figure { position: relative; }
.event-gallery__lightbox.is-loading img { opacity: 0; }
.event-gallery__loading { position: absolute; inset: 40% 12px auto; margin: 0; text-align: center; font-size: 14px; line-height: 1.5; }
.event-gallery__download { flex-shrink: 0; display: inline-flex; min-height: 44px; align-items: center; padding: 8px 16px; border: 1px solid currentColor; border-radius: 100px; text-decoration: none; font-size: 13px; }
.event-gallery__download[hidden], .event-gallery__loading[hidden] { display: none; }
.event-gallery__lightbox button:disabled { opacity: .35; cursor: default; }

@media (max-width: 550px) {
  .event-gallery__filters label:first-child { flex-basis: 100%; }
  .event-gallery__filters label { flex-basis: calc(50% - 12px); }
  .event-gallery__filters button { width: 100%; }
}
.event-gallery__cinema-start { height: 1px; pointer-events: none; }
.event-gallery[data-gallery-cinema-mode-value="scroll"] {
  transition: background-color .45s ease, color .3s ease;
}
.event-gallery.is-cinema-active {
  --gallery-paper: #151515;
  --gallery-ink: #f7f5f2;
  --gallery-muted: #c5c0ba;
  --gallery-rule: rgba(255, 255, 255, .2);
  color-scheme: dark;
}
.event-gallery.is-cinema-active :is(.event-gallery__filters, .event-gallery__footer, .event-gallery__masthead) {
  border-color: var(--gallery-rule);
}
.event-gallery.is-cinema-active :is(.event-gallery__filters input, .event-gallery__filters select) {
  background: #232323;
  color: var(--gallery-ink);
  border-color: var(--gallery-rule);
}
.event-gallery.is-cinema-active .event-gallery__filters input::placeholder { color: var(--gallery-muted); }
.event-gallery.is-cinema-active .event-gallery__link { color: #f7f5f2; }
.event-gallery.is-cinema-active :is(a, button, input, select):focus-visible { outline-color: #f7f5f2; }
.event-gallery.is-cinema-active .site-header { color: var(--nav-text-color, var(--tinta, #151211)); color-scheme: light; }
.event-gallery.is-cinema-active :is(.site-header, .site-drawer) :is(a, button):focus-visible { outline-color: var(--acao, #A75531); }
.event-gallery :is(input, select):focus-visible { outline: 3px solid var(--acao, #A75531); outline-offset: 4px; }

.event-gallery[data-gallery-layout="compact"] .event-gallery__catalog {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album { min-width: 0; }
.event-gallery[data-gallery-layout="compact"] .event-gallery__album > a {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-height: 250px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--gallery-image-radius, 12px);
  color: #fff;
  background: #292929;
  transition: transform .25s ease, box-shadow .25s ease;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album > a::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 8%, rgba(0, 0, 0, .2) 35%, rgba(0, 0, 0, .88) 100%);
  pointer-events: none;
}
.event-gallery[data-gallery-layout="compact"] :is(.event-gallery__album img, .event-gallery__album-placeholder) {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: inherit;
  object-fit: cover;
  transition: transform .4s ease;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album-placeholder {
  color: #bbb;
  background: #292929;
  font-size: 1rem;
  align-items: start;
  padding: 25px 16px;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album-copy { width: 100%; padding: 22px; }
.event-gallery[data-gallery-layout="compact"] .event-gallery__album-copy .event-gallery__eyebrow {
  color: #f5f1eb;
  font-size: 10px;
  letter-spacing: .14em;
  margin-bottom: 9px;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album h2 {
  color: #fff;
  font-size: clamp(1.1rem, 1rem + .35vw, 1.4rem);
  font-weight: 500;
  line-height: 1.18;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album .event-gallery__link {
  color: #fff;
  padding: 14px 0 0;
  font-size: 11px;
  line-height: 1.35;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__album > a:focus-visible {
  outline-offset: 4px;
  box-shadow: inset 0 0 0 2px #fff;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.event-gallery[data-gallery-layout="compact"] .event-gallery__photo,
.event-gallery[data-gallery-layout="compact"] .event-gallery__photo:nth-child(4n+1) {
  aspect-ratio: 4 / 3;
  border-radius: var(--gallery-image-radius, 12px);
}
@media (hover: hover) and (pointer: fine) {
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album > a:hover { transform: translateY(-3px); }
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album > a:hover img { transform: scale(1.04); }
}
@media (max-width: 1100px) {
  .event-gallery[data-gallery-layout="compact"] :is(.event-gallery__catalog, .event-gallery__grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .event-gallery[data-gallery-layout="compact"] :is(.event-gallery__catalog, .event-gallery__grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album > a { min-height: 210px; }
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album-copy { padding: 16px 13px; }
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album h2 { font-size: 1.1rem; }
}
@media (max-width: 359px) {
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album-copy { padding: 14px 10px; }
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album h2 { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .event-gallery[data-gallery-cinema-mode-value="scroll"],
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album > a,
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album img { transition: none; }
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album > a:hover,
  .event-gallery[data-gallery-layout="compact"] .event-gallery__album > a:hover img { transform: none; }
}

/* Justified rows retain DOM/keyboard order and the source's aspect ratio.
   Known dimensions reserve every tile before its lazy image arrives. The
   final spacer keeps a short last row from stretching a single portrait. */
.event-gallery[data-gallery-photo-layout="natural"] .event-gallery__grid {
  --photo-row-height: 180px;
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px;
}
.event-gallery[data-gallery-photo-layout="natural"] .event-gallery__grid::after {
  content: ""; flex-grow: 999999; flex-basis: 0;
}
.event-gallery[data-gallery-photo-layout="natural"] .event-gallery__photo:nth-child(n) {
  flex: var(--photo-ratio, 1.333333) 1 calc(var(--photo-ratio, 1.333333) * var(--photo-row-height));
  min-width: 0; max-width: 100%; width: auto; aspect-ratio: var(--photo-ratio, 1.333333);
}
.event-gallery[data-gallery-photo-layout="natural"] .event-gallery__photo img { object-fit: contain; }
@media (max-width: 700px) {
  .event-gallery[data-gallery-photo-layout="natural"] .event-gallery__grid { --photo-row-height: 102px; gap: 8px; }
}
@media (hover: hover) and (pointer: fine) {
  .event-gallery__photo:hover img { transform: scale(1.025); }
}
@media (hover: none), (pointer: coarse) {
  .event-gallery__photo:hover img { transform: none; }
}
