.ibg,.ibg *{box-sizing:border-box}
.ibg{width:100%;background:#fff;color:#06101f;font-family:"DM Sans","Manrope",Arial,sans-serif;padding:88px 75px 96px;overflow:hidden}
.ibg__inner{width:100%;max-width:1250px;margin-inline:auto}
.ibg__heading{margin:0 0 29px;font-size:clamp(34px,3.65vw,52px);line-height:1.23;letter-spacing:-.01em;font-weight:400;color:#06101f;max-width:900px;transition:opacity .23s ease,transform .23s ease}
.ibg__heading.is-changing{opacity:0;transform:translateY(8px)}
.ibg__tabs{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:37px}
.ibg__tab{appearance:none;display:inline-grid;place-items:center;min-width:150px;min-height:46px;padding:0 29px;border:1px solid #c2c2c2;border-radius:999px;background:#fff;color:#06101f;font:500 13px/1.38 "DM Sans","Manrope",Arial,sans-serif;letter-spacing:.14em;white-space:nowrap;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease}
.ibg__tab:hover{border-color:#ad8a58;color:#ad8a58;transform:translateY(-3px);box-shadow:0 7px 20px rgba(6,16,31,.09)}
.ibg__tab.is-active,.ibg__tab[aria-selected="true"]{border-color:#ad8a58;background:#ad8a58;color:#fff}
.ibg__tab.is-active:hover{background:#987343;color:#fff}
.ibg__tab:focus-visible,.ibg__tile-open:focus-visible,.ibg__lightbox button:focus-visible{outline:2px solid #ad8a58;outline-offset:3px}
.ibg__panel[hidden]{display:none!important}
.ibg__grid{display:grid;gap:14px}
.ibg__desktop-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;height:clamp(190px,16vw,226px)}
.ibg__desktop-row.is-featured{height:clamp(260px,30vw,430px)}
.ibg__desktop-row:last-child.ibg__desktop-row--2:not(.is-featured){height:clamp(210px,23vw,340px)}
.ibg__desktop-row:last-child.ibg__desktop-row--1:not(.is-featured){height:clamp(240px,28vw,390px)}
.ibg__panel--desktop-wide .ibg__desktop-row{height:clamp(160px,12vw,190px)}
.ibg__panel--desktop-wide .ibg__desktop-row.is-featured{height:clamp(220px,24vw,340px)}
.ibg__panel--desktop-wide .ibg__desktop-row:last-child.ibg__desktop-row--2:not(.is-featured){height:clamp(190px,18vw,260px)}
.ibg__panel--desktop-wide .ibg__desktop-row:last-child.ibg__desktop-row--1:not(.is-featured){height:clamp(220px,22vw,320px)}
.ibg__panel--desktop-tall .ibg__desktop-row{height:clamp(230px,20vw,290px)}
.ibg__panel--desktop-tall .ibg__desktop-row.is-featured{height:clamp(340px,36vw,520px)}
.ibg__panel--desktop-tall .ibg__desktop-row:last-child.ibg__desktop-row--2:not(.is-featured){height:clamp(300px,28vw,420px)}
.ibg__panel--desktop-tall .ibg__desktop-row:last-child.ibg__desktop-row--1:not(.is-featured){height:clamp(340px,34vw,480px)}
.ibg__tile{position:relative;isolation:isolate;grid-column:span var(--ibg-span,12);min-width:0;overflow:hidden;border:1px solid rgba(173,138,88,.42);border-radius:8px;background:#f3f3f3;color:#5c616b}
.ibg__desktop-row.is-featured .ibg__tile:first-child,.ibg__desktop-row:last-child.ibg__desktop-row--2 .ibg__tile{background:#1c2b42;color:#fff}
.ibg__tile-open{appearance:none;position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:zoom-in;overflow:hidden}
.ibg .ibg__tile-photo{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;object-fit:var(--ibg-fit,cover)!important;object-position:var(--ibg-position-x,50%) var(--ibg-position-y,50%)!important;opacity:0;transform:scale(1.001);transition:opacity .7s ease,transform .6s ease}
.ibg__panel--fit-contain .ibg__tile-open{background:#0c1828!important}
.ibg__tile--fit-contain .ibg__tile-open{background:#0c1828!important}
.ibg__tile-photo.is-current{opacity:1}
.ibg__tile-open:hover .ibg__tile-photo.is-current{transform:scale(1.055)}
.ibg__tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,12,25,.55),transparent 45%,rgba(5,12,25,.22));pointer-events:none;transition:background .3s ease}
.ibg__tile-open:hover .ibg__tile-shade{background:linear-gradient(180deg,rgba(5,12,25,.6),transparent 50%,rgba(5,12,25,.4))}
.ibg__tile-count{position:absolute;z-index:2;bottom:18px;right:18px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.1em;background:rgba(6,16,31,.45);padding:6px 9px;border-radius:999px}
.ibg__tile-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:32px;text-align:center;font-size:clamp(13px,1.3vw,17px);font-weight:400;opacity:.75}
.ibg__mobile-rows{display:none}
.ibg__panel.is-entering .ibg__tile{animation:ibg-appear .54s cubic-bezier(.21,1,.31,1) both;animation-delay:calc(var(--ibg-order,0) * 60ms)}
.ibg__mobile-row .ibg__tile:nth-child(1){--ibg-order:0}
.ibg__mobile-row .ibg__tile:nth-child(2){--ibg-order:1}
.ibg__mobile-row .ibg__tile:nth-child(3){--ibg-order:2}
.ibg__mobile-row .ibg__tile:nth-child(5){--ibg-order:1}.ibg__mobile-row .ibg__tile:nth-child(6){--ibg-order:2}
@keyframes ibg-appear{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.ibg__lightbox{width:min(1120px,calc(100vw - 28px));height:min(820px,calc(100dvh - 28px));max-width:none;max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid rgba(173,138,88,.5);border-radius:12px;background:#0c1828;color:#fff;box-shadow:0 20px 80px rgba(0,0,0,.55);overflow:hidden!important}
.ibg__lightbox::backdrop{background:rgba(3,9,18,.88);backdrop-filter:blur(5px)}
.ibg__lightbox-shell{display:grid;grid-template-rows:minmax(0,1fr) auto auto;height:100%;padding:48px 28px 25px}
.ibg__lightbox-close{appearance:none;position:absolute;z-index:3;right:15px;top:9px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:#fff;font:300 34px/1 Arial,sans-serif;cursor:pointer}
.ibg__lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center;min-height:0;overflow:hidden}
.ibg .ibg__lightbox-stage img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:contain!important;object-position:center!important;transition:opacity .25s ease}
.ibg__lightbox-stage img.is-changing{opacity:.15}
.ibg__lightbox-arrow{appearance:none;display:grid;place-items:center;justify-self:center;align-self:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.ibg__lightbox-arrow span{display:block;width:11px;height:11px;border-top:2px solid currentColor;border-right:2px solid currentColor;font-size:0;line-height:0}
.ibg__lightbox-arrow[data-gallery-previous] span{transform:translateX(2px) rotate(-135deg)}
.ibg__lightbox-arrow[data-gallery-next] span{transform:translateX(-2px) rotate(45deg)}
.ibg__lightbox-arrow:hover{background:#ad8a58;border-color:#ad8a58}
.ibg__lightbox-arrow:disabled{opacity:.35;cursor:default}
.ibg__lightbox-footer{display:flex;justify-content:space-between;gap:20px;margin:17px 60px 12px;color:#dce2ea;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.ibg__lightbox-progress{display:flex;gap:5px;margin:0 60px;min-height:3px}
.ibg__lightbox-progress span{display:block;flex:1 1 0;height:3px;background:#4f5968;border-radius:5px}.ibg__lightbox-progress span.is-passed{background:#ad8a58}
@media (min-width:721px) and (max-width:1366px){.ibg{padding-inline:75px}}
@media (min-width:721px) and (max-width:1100px){.ibg__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(220px,30vw)}.ibg__desktop-row{display:contents}.ibg__tile{grid-column:auto!important;min-height:220px}.ibg__grid--odd .ibg__tile:last-child{grid-column:1/-1!important;min-height:260px}}
@media (max-width:720px){.ibg{padding:61px 0 70px}.ibg__heading{padding:0 22px;margin-bottom:25px;font-size:clamp(29px,8vw,40px);line-height:1.16}.ibg__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:440px;margin:0 auto 30px;padding-inline:22px}.ibg__tab:nth-child(n){width:100%;min-height:44px;padding:0 9px;font-size:10px;letter-spacing:.09em}.ibg__grid{display:none}.ibg__mobile-rows{display:grid;gap:12px}.ibg__mobile-row{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:0 22px 4px;cursor:grab}.ibg__mobile-row::-webkit-scrollbar{display:none}.ibg__mobile-row.is-dragging{cursor:grabbing;scroll-snap-type:none}.ibg__mobile-row .ibg__tile{flex:0 0 calc((100% - 56px) / 2);min-width:145px;aspect-ratio:16/10;scroll-snap-align:start}.ibg__panel--mobile-square .ibg__mobile-row .ibg__tile{aspect-ratio:1/1}.ibg__panel--mobile-portrait .ibg__mobile-row .ibg__tile{aspect-ratio:4/5}.ibg__tile-count{bottom:11px;right:11px;font-size:9px}.ibg__tile-empty{padding:25px 12px;font-size:12px}.ibg__lightbox{width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - 16px);overflow:hidden!important}.ibg__lightbox-shell{grid-template-rows:auto auto auto;height:auto;max-height:calc(100dvh - 18px);padding:44px 8px 16px}.ibg__lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:2px;height:auto;min-height:0}.ibg .ibg__lightbox-stage img{justify-self:center;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 164px)!important;aspect-ratio:auto!important;object-fit:contain!important}.ibg__lightbox-arrow{width:34px;height:34px}.ibg__lightbox-arrow span{width:9px;height:9px}.ibg__lightbox-footer{margin:11px 40px 8px;font-size:10px}.ibg__lightbox-progress{margin:0 40px}}
@media (max-width:380px){.ibg__tab{font-size:9px}}
@media (prefers-reduced-motion:reduce){.ibg__panel.is-entering .ibg__tile{animation:none}.ibg__heading,.ibg__tile-photo,.ibg__lightbox-stage img,.ibg__tab{transition:none}}

/* Restringe o estilo global de botões do Elementor ao azul e dourado da galeria. */
.ibg .ibg__tab,.ibg .ibg__tab:focus,.ibg .ibg__tab:active{background:#fff!important;border-color:#c2c2c2!important;color:#06101f!important}
.ibg .ibg__tab:hover{background:#fff!important;border-color:#ad8a58!important;color:#ad8a58!important}
.ibg .ibg__tab.is-active,.ibg .ibg__tab[aria-selected="true"],.ibg .ibg__tab.is-active:hover,.ibg .ibg__tab[aria-selected="true"]:focus,.ibg .ibg__tab[aria-selected="true"]:active{background:#ad8a58!important;border-color:#ad8a58!important;color:#fff!important}
.ibg .ibg__tile-open,.ibg .ibg__tile-open:hover,.ibg .ibg__tile-open:focus{background:transparent!important;border:0!important;color:#fff!important}
.ibg .ibg__panel--fit-contain .ibg__tile-open,.ibg .ibg__panel--fit-contain .ibg__tile-open:hover,.ibg .ibg__panel--fit-contain .ibg__tile-open:focus,.ibg .ibg__tile--fit-contain .ibg__tile-open,.ibg .ibg__tile--fit-contain .ibg__tile-open:hover,.ibg .ibg__tile--fit-contain .ibg__tile-open:focus{background:#0c1828!important}
.ibg .ibg__lightbox-arrow,.ibg .ibg__lightbox-arrow:focus{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.45)!important;color:#fff!important}
.ibg .ibg__lightbox-arrow:hover{background:#ad8a58!important;border-color:#ad8a58!important;color:#fff!important}
.ibg .ibg__lightbox-close,.ibg .ibg__lightbox-close:hover,.ibg .ibg__lightbox-close:focus{background:transparent!important;border:0!important;color:#fff!important}
html.ibg-lightbox-open,html.ibg-lightbox-open body{overflow:hidden!important}

@media (max-width:720px){
  .ibg__heading{padding-inline:15px;font-size:clamp(22px,6vw,26px);line-height:1.15;max-width:100%}
  .ibg__tabs{padding-inline:15px;max-width:none;margin-inline:0}
  .ibg__mobile-rows{gap:16px}
  .ibg__mobile-row{display:block;width:100%;min-width:0;margin:0;padding:0 0 4px;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto!important}
  .ibg__mobile-track{display:flex;width:max-content;gap:12px;will-change:transform}
  .ibg--animated .ibg__mobile-row{overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}
  .ibg__mobile-row .ibg__tile{flex:0 0 min(calc((100vw - 30px) * .85),323px);min-width:0;aspect-ratio:16/10;scroll-snap-align:none}
  .ibg__panel--mobile-square .ibg__mobile-row .ibg__tile{aspect-ratio:1/1}
  .ibg__panel--mobile-portrait .ibg__mobile-row .ibg__tile{aspect-ratio:4/5}
  .ibg__panel .ibg__mobile-row .ibg__tile--mobile-wide{aspect-ratio:16/10}
  .ibg__panel .ibg__mobile-row .ibg__tile--mobile-square{aspect-ratio:1/1}
  .ibg__panel .ibg__mobile-row .ibg__tile--mobile-portrait{aspect-ratio:4/5}
  .ibg__tile-empty{font-size:clamp(13px,3.7vw,16px);padding:20px}
  .ibg__mobile-row .ibg__tile--1,.ibg__mobile-row .ibg__tile--8,.ibg__mobile-row .ibg__tile--9{grid-column:auto}
}

/* Cada bloco usa a proporção escolhida e as fileiras continuam preenchendo toda a largura. */
@media (min-width:1101px){
  .ibg__desktop-row{display:flex!important;align-items:flex-start!important;height:auto!important}
  .ibg__desktop-row .ibg__tile{flex:var(--ibg-desktop-aspect,1.6) 1 0!important;width:auto!important;min-width:0!important;min-height:0!important;aspect-ratio:var(--ibg-desktop-aspect,1.6)!important;grid-column:auto!important}
}
@media (max-width:720px){
  .ibg__mobile-track{align-items:flex-start!important}
  .ibg__panel .ibg__mobile-row .ibg__tile{height:auto!important;aspect-ratio:var(--ibg-mobile-aspect,1.6)!important}
  /* Proteção visual: o antigo modo vertical não cresce além do retrato 4:5.
     A proporção individual continua configurável por bloco. */
  .ibg__panel .ibg__mobile-row .ibg__tile--mobile-vertical{aspect-ratio:4/5!important}
}

@media (max-width:720px){
  .ibg .ibg__lightbox{position:fixed!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:min(92vw,420px)!important;height:fit-content!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;padding:0!important;overflow:hidden!important}
  .ibg .ibg__lightbox-shell{display:grid!important;grid-template-rows:auto auto auto!important;align-content:start!important;width:100%!important;height:fit-content!important;min-height:0!important;max-height:none!important;margin:0!important;padding:42px 8px 16px!important}
  .ibg .ibg__lightbox-stage{height:auto!important;min-height:0!important;max-height:calc(100dvh - 150px)!important}
  .ibg .ibg__lightbox-footer{margin-top:10px!important}
}
