/* Ockham Media Tabs */
.ockham-media-tabs,
.ockham-media-tabs * { box-sizing: border-box; }
.ockham-media-tabs { width: 100%; }
.ockham-media-tabs__viewer { width: 100%; height: 420px; background: transparent !important; overflow: hidden; position: relative; border: 0 !important; box-shadow: none !important; }
.ockham-media-tabs__stage { width: 100%; height: 100%; position: relative; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.ockham-media-tabs__stage iframe { width: 100% !important; height: 100% !important; display: block; border: 0 !important; }
.omt-carousel { width: 100%; height: 100%; position: relative; overflow: hidden; background: transparent !important; border: 0 !important; box-shadow: none !important; --omt-gap: 0px; --omt-arrow-y: 50%; --omt-arrow-offset: 14px; }
.omt-carousel__track { width: 100%; height: 100%; display: flex; gap: var(--omt-gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: none; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.omt-carousel__track::-webkit-scrollbar { display: none; }
.omt-carousel__slide { flex: 0 0 calc((100% - (var(--omt-gap) * 2)) / 3); min-width: calc((100% - (var(--omt-gap) * 2)) / 3); height: 100%;  border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; cursor: pointer; display: block; appearance: none; box-shadow: none !important; border-radius: 0 !important; overflow: hidden; }
.omt-carousel__slide img { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; }
.omt-carousel__arrow { position: absolute; z-index: 20; top: var(--omt-arrow-y, 50%); transform: translateY(-50%); width: 56px; height: 56px; min-width: 56px; min-height: 56px; max-width: 56px; max-height: 56px; aspect-ratio: 1 / 1; box-sizing: border-box; border: 0; border-radius: 999px; background: rgba(0,0,0,.55); color: #fff; font-size: 34px; line-height: 1; cursor: pointer; appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; transition: background-color .2s ease, color .2s ease, transform .2s ease; padding: 0; margin: 0; flex: 0 0 56px; }
.omt-carousel__arrow:hover { transform: translateY(-50%) scale(1.04); }
.omt-carousel__arrow--prev { left: var(--omt-arrow-offset, 14px); }
.omt-carousel__arrow--next { right: var(--omt-arrow-offset, 14px); }
.ockham-media-tabs__nav { box-sizing: border-box; width: 100%; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start; padding: 14px 0 0 0; margin: 0; background: transparent; }
.ockham-media-tabs__nav button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 16px; margin: 0; border: 1px solid #d9d9d9; border-radius: 8px; background: #fff; color: #222; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; box-shadow: none; appearance: none; }
.ockham-media-tabs__nav button.is-active { color: #ec174f; border-color: #ec174f; background: #fff; }
.omt-icon { font-size: 14px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.omt-icon svg { width: 1em; height: 1em; display: block; fill: currentColor; }
.omt-video-stage { position: relative; width: 100%; height: 100%; background: #000; overflow: hidden; }
.omt-video-stage video,
.omt-video-stage iframe { width: 100% !important; height: 100% !important; display: block; border: 0 !important; object-fit: cover; }
.omt-video-poster { width: 100%; height: 100%; display: block; position: relative; border: 0; padding: 0; margin: 0; cursor: pointer; background: #000; appearance: none; overflow: hidden; }
.omt-video-poster img { width: 100%; height: 100%; display: block; object-fit: cover; }

.omt-video-lightbox-trigger { position: absolute; right: 18px; bottom: 18px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 999px; background: rgba(0,0,0,.65); color: #fff; font-weight: 700; cursor: pointer; }
.ockham-media-tabs__lightbox { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.92); }
.ockham-media-tabs__lightbox.is-open { display: flex; }
.omt-lightbox-content { position: relative; width: auto; max-width: 92vw; max-height: 88vh; display: flex; align-items: center; justify-content: center; }
.ockham-media-tabs__lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; display: block; }
.omt-lightbox-video { display: none; width: min(92vw, 1180px); aspect-ratio: 16 / 9; max-height: 88vh; }
.omt-lightbox-video iframe,
.omt-lightbox-video video { width: 100% !important; height: 100% !important; display: block; border: 0 !important; background: #000; }
.ockham-media-tabs__lightbox.is-video img { display: none; }
.ockham-media-tabs__lightbox.is-video .omt-lightbox-video { display: block; }
.ockham-media-tabs__lightbox.is-video .omt-lightbox-prev,
.ockham-media-tabs__lightbox.is-video .omt-lightbox-next { display: none; }
.omt-lightbox-close,
.omt-lightbox-prev,
.omt-lightbox-next { position: absolute; z-index: 2; border: 0; background: rgba(255,255,255,.18); color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; line-height: 1; }
.omt-lightbox-close { top: 12px; right: 12px; width: 52px; height: 52px; min-width: 52px; min-height: 52px; max-width: 52px; max-height: 52px; aspect-ratio: 1 / 1; box-sizing: border-box; border-radius: 999px; font-size: 32px; }
.omt-lightbox-prev,
.omt-lightbox-next { top: 50%; transform: translateY(-50%); width: 72px; height: 72px; min-width: 72px; min-height: 72px; max-width: 72px; max-height: 72px; aspect-ratio: 1 / 1; box-sizing: border-box; border-radius: 12px; font-size: 48px; }
.omt-lightbox-prev { left: 22px; }
.omt-lightbox-next { right: 22px; }
@media (max-width: 1024px) { .omt-carousel__slide { flex-basis: calc((100% - var(--omt-gap)) / 2); min-width: calc((100% - var(--omt-gap)) / 2); } }
@media (max-width: 767px) {
    .ockham-media-tabs__viewer { height: 260px; }
    .omt-carousel__slide { flex-basis: 100%; min-width: 100%; }
    .omt-carousel__arrow { width: 44px; height: 44px; min-width: 44px; min-height: 44px; max-width: 44px; max-height: 44px; flex-basis: 44px; font-size: 28px; }
    .ockham-media-tabs__nav { gap: 8px; }
    .ockham-media-tabs__nav button { min-height: 40px; padding: 0 12px; font-size: 13px; }
    .omt-lightbox-prev, .omt-lightbox-next { width: 52px; height: 52px; font-size: 36px; }
    .omt-lightbox-close { width: 44px; height: 44px; font-size: 28px; }
}

.omt-carousel__track.is-recentering { scroll-behavior: auto !important; }

/* v1.0.13 - Isolamento visual forte para vídeo: tema/Elementor não pode aplicar borda, radius ou sombra. */
.ockham-media-tabs .omt-video-stage,
.ockham-media-tabs .omt-video-stage *,
.ockham-media-tabs .omt-video-poster,
.ockham-media-tabs .omt-video-poster img,
.ockham-media-tabs .omt-video-stage iframe,
.ockham-media-tabs .omt-video-stage video {
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}
.ockham-media-tabs .omt-video-stage {
    background: transparent !important;
    overflow: hidden !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ockham-media-tabs .omt-video-poster {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    overflow: hidden !important;
}
.ockham-media-tabs .omt-video-poster img,
.ockham-media-tabs .omt-video-stage iframe,
.ockham-media-tabs .omt-video-stage video {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    object-fit: cover;
    background: transparent !important;
}

/* v1.0.14 - Play do vídeo isolado, sem herança de tema e sem botão azul fake. */
.ockham-media-tabs .omt-video-play {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
    aspect-ratio: 1 / 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.64) !important;
    color: #fff !important;
    box-shadow: none !important;
    outline: 0 !important;
    line-height: 1 !important;
    font-size: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    transition: transform .2s ease, background-color .2s ease !important;
}
.ockham-media-tabs .omt-video-play::before {
    content: "" !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 15px solid transparent !important;
    border-bottom: 15px solid transparent !important;
    border-left: 24px solid currentColor !important;
    margin-left: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ockham-media-tabs .omt-video-poster:hover .omt-video-play {
    transform: translate(-50%, -50%) scale(1.05) !important;
    background: rgba(0,0,0,.76) !important;
}
@media (max-width: 767px) {
    .ockham-media-tabs .omt-video-play {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
        max-width: 58px !important;
        max-height: 58px !important;
    }
    .ockham-media-tabs .omt-video-play::before {
        border-top-width: 11px !important;
        border-bottom-width: 11px !important;
        border-left-width: 18px !important;
        margin-left: 5px !important;
    }
}

/* v1.0.16 - Setas alinhadas pelo viewport real do carrossel e blindadas contra tema. */
.ockham-media-tabs .ockham-media-tabs__viewer,
.ockham-media-tabs .ockham-media-tabs__stage,
.ockham-media-tabs .omt-carousel { position: relative !important; }
.ockham-media-tabs .omt-carousel__arrow {
    position: absolute !important; top: var(--omt-arrow-y, 50%) !important; bottom: auto !important;
    transform: translateY(-50%) !important; z-index: 20 !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important; padding: 0 !important; margin: 0 !important;
    line-height: 1 !important; text-align: center !important; vertical-align: middle !important; box-sizing: border-box !important;
    appearance: none !important; -webkit-appearance: none !important; overflow: hidden !important; text-indent: 0 !important; white-space: nowrap !important;
}
.ockham-media-tabs .omt-carousel__arrow--prev { left: var(--omt-arrow-offset, 14px) !important; right: auto !important; }
.ockham-media-tabs .omt-carousel__arrow--next { right: var(--omt-arrow-offset, 14px) !important; left: auto !important; }
.ockham-media-tabs .omt-carousel__arrow > span {
    display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important;
    line-height: 1 !important; margin: 0 !important; padding: 0 !important; transform: translateY(-0.04em) !important; font: inherit !important; color: inherit !important; pointer-events: none !important;
}
.ockham-media-tabs .omt-carousel__arrow:hover { transform: translateY(-50%) scale(1.04) !important; }

/* v1.1.2 - Lightbox: controles posicionados pelo container real, usando a mesma lógica das setas do carrossel. */
.ockham-media-tabs__lightbox {
    --omt-lb-arrow-y: 50%;
    --omt-lb-arrow-offset: 14px;
    --omt-lb-close-top: 14px;
    --omt-lb-close-right: 14px;
}
.ockham-media-tabs__lightbox .omt-lightbox-content {
    position: relative !important;
    width: min(92vw, 1180px) !important;
    height: min(88vh, 760px) !important;
    max-width: 92vw !important;
    max-height: 88vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-content > img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-video {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: auto !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-close,
.ockham-media-tabs__lightbox .omt-lightbox-prev,
.ockham-media-tabs__lightbox .omt-lightbox-next {
    position: absolute !important;
    z-index: 30 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-prev,
.ockham-media-tabs__lightbox .omt-lightbox-next {
    top: var(--omt-lb-arrow-y, 50%) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-prev { left: var(--omt-lb-arrow-offset, 14px) !important; right: auto !important; }
.ockham-media-tabs__lightbox .omt-lightbox-next { right: var(--omt-lb-arrow-offset, 14px) !important; left: auto !important; }
.ockham-media-tabs__lightbox .omt-lightbox-prev:hover,
.ockham-media-tabs__lightbox .omt-lightbox-next:hover { transform: translateY(-50%) scale(1.04) !important; }
.ockham-media-tabs__lightbox .omt-lightbox-close {
    top: var(--omt-lb-close-top, 14px) !important;
    right: var(--omt-lb-close-right, 14px) !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-prev > span,
.ockham-media-tabs__lightbox .omt-lightbox-next > span,
.ockham-media-tabs__lightbox .omt-lightbox-close > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    font: inherit !important;
    color: inherit !important;
    pointer-events: none !important;
}
@media (max-width: 767px) {
    .ockham-media-tabs__lightbox .omt-lightbox-content {
        width: calc(100vw - 28px) !important;
        height: min(82vh, 720px) !important;
        max-width: calc(100vw - 28px) !important;
        max-height: 82vh !important;
    }
}

/* v1.1.3 - Entrada suave do lightbox: fade + scale, sem display seco. */
.ockham-media-tabs__lightbox {
    display: flex !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .25s ease, visibility 0s linear .25s !important;
}
.ockham-media-tabs__lightbox.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity .25s ease, visibility 0s linear 0s !important;
}
.ockham-media-tabs__lightbox .omt-lightbox-content {
    transform: scale(.965) !important;
    opacity: .96 !important;
    transition: transform .25s ease, opacity .25s ease !important;
    will-change: transform, opacity !important;
}
.ockham-media-tabs__lightbox.is-open .omt-lightbox-content {
    transform: scale(1) !important;
    opacity: 1 !important;
}
@media (prefers-reduced-motion: reduce) {
    .ockham-media-tabs__lightbox,
    .ockham-media-tabs__lightbox .omt-lightbox-content {
        transition: none !important;
    }
}

/* v1.1.6 - Crossfade real entre abas: mantém conteúdo antigo enquanto o novo entra. */
.ockham-media-tabs .ockham-media-tabs__stage {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
}
.ockham-media-tabs .omt-tab-panel {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    transition: opacity 320ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    will-change: opacity !important;
    background: transparent !important;
}
.ockham-media-tabs .omt-tab-panel.is-active {
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}
.ockham-media-tabs .omt-tab-panel.is-leaving {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
@media (prefers-reduced-motion: reduce) {
    .ockham-media-tabs .omt-tab-panel {
        transition: none !important;
    }
}

/* v1.1.7 - Navegação moderna por arraste no desktop e swipe/touch no mobile. */
.ockham-media-tabs .omt-carousel__track {
    cursor: grab !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    overscroll-behavior-x: contain !important;
}
.ockham-media-tabs .omt-carousel__track.is-dragging {
    cursor: grabbing !important;
    scroll-behavior: auto !important;
}
.ockham-media-tabs .omt-carousel__track.is-dragging,
.ockham-media-tabs .omt-carousel__track.is-dragging * {
    user-select: none !important;
    -webkit-user-select: none !important;
}
.ockham-media-tabs .omt-carousel__track.is-dragging .omt-carousel__slide {
    cursor: grabbing !important;
}
.ockham-media-tabs .omt-carousel__slide img {
    -webkit-user-drag: none !important;
    user-drag: none !important;
    pointer-events: none !important;
}

/* v1.1.8 - Drag/swipe com snap por slide: evita imagem parada pela metade antes do autoplay. */
.ockham-media-tabs .omt-carousel__track:not(.is-dragging) {
    scroll-behavior: smooth;
}

/* v1.1.9 - Aba Decorado com contador e suporte ao mesmo carrossel/lightbox de Fotos e Plantas. */

/* v1.1.16 - Sem alteração visual: posição e layout do lightbox preservados. */
