/* FlashSite Core 2.6.0 · Efeitos reutilizáveis ligados por classe (ver fsc-effects.js). */
.fs-marquee.fs-marquee--ready {
    overflow: hidden !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
}
.fs-marquee__track {
    display: flex;
    flex: none;
    width: max-content;
    animation: fs-marquee var(--fs-marquee-duration, 30s) linear infinite;
    will-change: transform;
}
.fs-marquee__group {
    display: flex;
    flex: none;
    align-items: center;
    gap: var(--fs-marquee-gap, 28px);
    padding-inline-end: var(--fs-marquee-gap, 28px);
}
.fs-marquee:hover .fs-marquee__track { animation-play-state: paused; }
@keyframes fs-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .fs-marquee__track { animation: none; }
}

/* Textos dinâmicos vazios (ex.: selo "Vegano" desligado) não ocupam espaço. */
.e-paragraph-base:empty, .e-heading-base:empty { display: none !important; }

/* Seta das listas de opção (e-form-select): sai da borda e ganha respiro à direita. */
select.e-form-select-base {
    -webkit-appearance: none;
    appearance: none;
    padding-inline-end: 46px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23808080' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 12px 8px;
}
[dir="rtl"] select.e-form-select-base { background-position: left 18px center; }

/* Imagem dinâmica sem ficheiro (ex.: prato sem foto): não deixa caixa vazia.
   Se o bloco só tinha a imagem, o bloco também sai e o texto ocupa o espaço. */
img.e-image-base:not([src]), img.e-image-base[src=""] { display: none !important; }
.e-con:has(> img.e-image-base:not([src])):not(:has(> :not(img))),
.e-con:has(> img.e-image-base[src=""]):not(:has(> :not(img))) { display: none !important; }

/* 2.6.0-beta.22 · Classes utilitárias (aplicar no Elementor, campo "Classes").
   .fs-esconde-vazio  linha "rótulo + valor" que some quando o valor dinâmico vem vazio
   .fs-so-com-link    botão que some quando o link dinâmico está vazio (ex.: vídeo do imóvel)
   .fs-so-aberto      some nos itens fechados (body.fs-item-fechado), ex.: "Marcar visita"
   .fs-so-fechado     só aparece nos itens fechados, ex.: "Este imóvel já não está disponível" */
body:not(.elementor-editor-active) .fs-esconde-vazio:has(.e-paragraph-base:empty, .e-heading-base:empty) { display: none !important; }
body:not(.elementor-editor-active) button.e-button-base.fs-so-com-link { display: none !important; }
body.fs-item-fechado .fs-so-aberto { display: none !important; }
body.fs-item:not(.fs-item-fechado) .fs-so-fechado { display: none !important; }
