/* ===== Overlay ===== */
.fp-overlay{
  position:fixed; inset:0; z-index:999999;
  display:none; align-items:center; justify-content:center;
  background: rgba(10,10,10,.25);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  overscroll-behavior: contain;
}

/* Anim A sem manter transform */
@keyframes fp-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fp-slideUp{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none}}
.fp-overlay.is-active{display:flex; animation: fp-fadeIn .22s ease-out both}

:root{ --fp-gap: clamp(16px, 2vw, 28px); }

/* ===== Janela ===== */
.fp-window{
  width: calc(100vw - var(--fp-gap, 3vw) * 2);
  height: 92vh;
  height: 92dvh;
  max-height: calc(100vh - 6vw);
  max-height: calc(100dvh - 6vw);
  background: var(--fp-bg, #fff);
  border-radius: 10px;
  box-shadow: 0 40px 120px rgba(0,0,0,.45);
  overflow: hidden;
  display:flex; flex-direction:column;
  animation: fp-slideUp .38s cubic-bezier(.22,.61,.36,1) both;
}

/* ===== Topbar ===== */
.fp-topbar{
  position: sticky; top: 0; z-index: 2;
  height: 75px;
  background: var(--fp-bg, #fff);
  display:flex; align-items:center;
  padding-left: 8px;
  box-shadow: none;
}
.fp-close{
width: 62px;
    height: 47px;
    border-radius: 5px;
    background: #2b2b2b;
    color: #fff;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25) !important;
    margin-left: 6px;
    margin-top: 25px;
}
.fp-close .fp-chev{ display:block; transform: translateX(-1px) translateY(-1px); font-size:22px; line-height:1; }

/* ===== Scroller ===== */
.fp-scroller{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto;
  max-height: 100%;
  min-height: 0;
  max-height: 100%;
  min-height: 0;
  flex:1 1 auto;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* Conteúdo */
.fp-content{ padding: clamp(24px, 3vw, 48px); }

/* Normalizações leves 
.fp-content *{ box-sizing:border-box }
.fp-content img{ max-width:100%; height:auto; display:block }
.fp-content .vc_row, .fp-content .wpb_row{ margin-left:0!important; margin-right:0!important }
.fp-content .wpb_content_element{ margin-bottom: 1.2rem }
.fp-content .wpb_text_column p{ margin: .5rem 0 1rem }

/* Não mexemos em cores de links */

/* Não forçar opacity/transform aqui (para não quebrar anims do tema) */

/* Body lock */
body.fp-locked{ position:fixed; overflow:hidden; width:100% }

.fp-scroller{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto;
  max-height: 100%;
  min-height: 0;
  max-height: 100%;
  min-height: 0; touch-action: pan-y; }

.fp-scroller{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto;
  max-height: 100%;
  min-height: 0;
  max-height: 100%;
  min-height: 0; pointer-events: auto; }
