/*
Theme Name: Listox Child
Template: listox
*/

/* Oculta tag OPEN/status dos cards */
.job-status-label,
.lt-job-status,
.listing-status,
.job-status {
    display: none !important;
}

/* Corrige botao Details - texto completo e visivel */
.listing-one__btn-link,
.listing-two__btn-link,
.listing-three__btn-link {
    width: auto !important;
    min-width: unset !important;
    overflow: visible !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Oculta badge OPEN (seletor correto) */
.my-listing-item .listing-content .listing-status {
    display: none !important;
}

/* Corrige botao Details cortado (seletor correto) */
.my-listing-item .listing-footer .listing-one__btn-link,
.my-listing-item .listing-footer .listing-two__btn-link,
.my-listing-item .listing-footer .listing-three__btn-link,
.listing-one__btn-link,
.listing-two__btn-link,
.listing-three__btn-link {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

/* === FIXES CARDS LISTING === */

/* Oculta badge OPEN (seletores corretos dos 3 templates) */
.listing-one__time,
.listing-one__label.listing-one__time,
.listing-two__time,
.listing-two__label.listing-two__time,
.listing-three__time,
.listing-three__label.listing-three__time {
    display: none !important;
}

/* Corrige botao Details cortado - retira position absolute e ajusta container */
.listing-two__footer-inner,
.listing-one__footer-inner {
    position: relative !important;
    overflow: visible !important;
}

.listing-one__btn-link,
.listing-two__btn-link,
.listing-three__btn-link {
    position: relative !important;
    height: auto !important;
    max-height: none !important;
    width: auto !important;
    overflow: visible !important;
    white-space: nowrap !important;
}
/* === CARD CLICAVEL + HOVER === */

/* Posicionamento do overlay full-card */
.listing-block {
    position: relative !important;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    cursor: pointer;
}

/* Overlay invisível cobre todo o card */
.listing-card__full-link {
    position: absolute !important;
    inset: 0;
    z-index: 1;
    display: block;
}

/* Itens clicáveis ficam acima do overlay */
.wishlist-icon-content,
.listing-one__gallery-link,
.listing-two__gallery-link,
.listing-three__gallery-link,
.listing-one__video,
.listing-two__video,
.listing-three__video,
.listing-one__category a,
.listing-two__category a,
.listing-three__category a,
.listing-one__regions a,
.listing-two__regions a,
.listing-three__regions a {
    position: relative !important;
    z-index: 2;
}

/* Hover: eleva o card */
.listing-block:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.14) !important;
}

/* Hover: leve zoom na imagem */
.listing-one__image img,
.listing-two__image img,
.listing-three__image img {
    transition: transform 0.35s ease !important;
}
.listing-block:hover .listing-one__image img,
.listing-block:hover .listing-two__image img,
.listing-block:hover .listing-three__image img {
    transform: scale(1.04) !important;
}

/* Remove overflow da imagem para o zoom funcionar sem cortar o card */
.listing-one__image,
.listing-two__image,
.listing-three__image {
    overflow: hidden;
}

/* Remove overlay antigo (redundante) */
.listing-one__link-overlay,
.listing-two__link-overlay,
.listing-three__link-overlay {
    display: none !important;
}

/* Oculta badge OPEN e botão Details (já removidos do PHP, mas por segurança) */
.listing-one__time,
.listing-two__time,
.listing-three__time,
.listing-one__btn-link,
.listing-two__btn-link,
.listing-three__btn-link {
    display: none !important;
}
/* ================================================
   SEÇÃO CATEGORIAS HOME — UX REFINEMENT
   ================================================ */

/* --- Item inativo: mantém visual neutro --- */
.content-tabs__nav-item {
    transition: background 0.25s ease, border-left-color 0.25s ease !important;
    border-left: 3px solid transparent !important;
}

/* --- Item ativo: destaque elegante --- */
.content-tabs__nav-item.active {
    background: #f0f4ff !important;
    border-left: 3px solid var(--e-global-color-primary) !important;
    box-shadow: inset 0 0 0 1px rgba(96, 83, 240, 0.08) !important;
}

/* Título mais pesado no item ativo */
.content-tabs__nav-item.active .title {
    font-weight: 700 !important;
    color: var(--e-global-color-primary) !important;
}

/* Seta do item ativo: círculo sólido preenchido */
.content-tabs__nav-item.active .arrow i {
    background: var(--e-global-color-primary) !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(96, 83, 240, 0.35) !important;
    transform: scale(1.1) !important;
}

/* Hover nos inativos: sutil */
.content-tabs__nav-item:not(.active):hover {
    background: #f5f5f8 !important;
    border-left-color: rgba(96, 83, 240, 0.25) !important;
}

/* --- CTA "Ver locais" no painel da direita --- */
.content-tabs__pane .pane-content__button .btn-theme {
    background: #fff !important;
    color: var(--e-global-color-primary) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 15px 36px 16px !important;
    border-radius: 60px !important;
    letter-spacing: 0.3px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18) !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Seta no botão CTA */
.content-tabs__pane .pane-content__button .btn-theme::after {
    content: '→';
    font-size: 16px;
    transition: transform 0.25s ease;
}

/* Hover no CTA */
.content-tabs__pane .pane-content__button .btn-theme:hover {
    background: var(--e-global-color-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 28px rgba(96, 83, 240, 0.4) !important;
    border-color: var(--e-global-color-primary) !important;
    transform: translateY(-2px) !important;
    opacity: 1 !important;
}

.content-tabs__pane .pane-content__button .btn-theme:hover::after {
    transform: translateX(4px);
}

/* Área do botão com mais espaço */
.content-tabs__pane .pane-content__button {
    margin-top: 8px !important;
}

/* --- Mobile: manter destaque ativo --- */
@media (max-width: 767px) {
    .content-tabs__nav-item.active {
        border-left-width: 4px !important;
    }
    .content-tabs__pane .pane-content__button .btn-theme {
        font-size: 14px !important;
        padding: 14px 28px 15px !important;
        width: auto !important;
    }
}

/* === CARD: colapsa footer vazio (sem preço, sem botão) === */
.listing-one__footer,
.listing-two__footer,
.listing-three__footer {
    display: none !important;
}

/* Apenas mostra se tiver price */
.listing-one__footer:has(.listing-one__price),
.listing-two__footer:has(.listing-two__price),
.listing-three__footer:has(.listing-three__price) {
    display: flex !important;
    padding-right: 20px !important; /* sem botão, padding simétrico */
}
/* ====================================================
   PÁGINA SINGLE LISTING — redesign completo
   ==================================================== */

/* Wrap geral */
.lsc-wrap {
    --lsc-primary: var(--e-global-color-primary, #5b50d6);
    --lsc-text: #1a1a1a;
    --lsc-muted: #6b7280;
    --lsc-border: #e5e7eb;
    --lsc-bg: #f9fafb;
    --lsc-radius: 12px;
    padding-bottom: 80px;
    font-family: var(--listox-body-font-family, sans-serif);
}

/* ---- GALERIA ---- */
.lsc-gallery {
    margin-top: 32px;
    display: grid;
    gap: 4px;
    max-height: 520px;
    overflow: hidden;
    background: #111;
}

.lsc-gallery--solo  { grid-template-columns: 1fr; }
.lsc-gallery--grid2 { grid-template-columns: 2fr 1fr; }
.lsc-gallery--grid3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }

.lsc-gallery__main {
    position: relative;
    overflow: hidden;
    display: block;
    grid-row: 1 / -1;
}

.lsc-gallery--solo .lsc-gallery__main { grid-row: 1; }

.lsc-gallery__main img,
.lsc-gallery__side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.lsc-gallery__main:hover img,
.lsc-gallery__side:hover img {
    transform: scale(1.03);
}

.lsc-gallery__side {
    display: block;
    overflow: hidden;
    position: relative;
}

.lsc-gallery__count {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
    letter-spacing: 0.3px;
}

.lsc-gallery__hidden {
    display: none;
}

/* ---- CORPO 2COL ---- */
.lsc-body {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    padding-top: 48px;
    align-items: start;
}

/* ---- COLUNA PRINCIPAL ---- */
.lsc-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.lsc-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--lsc-primary);
    background: rgba(91, 80, 214, 0.08);
    padding: 5px 12px;
    border-radius: 50px;
    text-decoration: none;
    transition: background 0.2s;
}

.lsc-tag:hover {
    background: rgba(91, 80, 214, 0.16);
}

.lsc-title {
    font-size: 2.6rem;
    font-weight: 800;
    color: var(--lsc-text);
    line-height: 1.15;
    margin: 0 0 20px;
    letter-spacing: -0.5px;
}

.lsc-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-bottom: 32px;
    color: var(--lsc-muted);
    font-size: 14px;
}

.lsc-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lsc-meta-item i {
    color: var(--lsc-primary);
    font-size: 13px;
    flex-shrink: 0;
}

.lsc-meta-item a {
    color: var(--lsc-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.lsc-meta-item a:hover { color: var(--lsc-primary); }

.lsc-meta-item--address { color: #888; }

.lsc-divider {
    border: none;
    border-top: 1px solid var(--lsc-border);
    margin: 0 0 32px;
}

.lsc-description {
    font-size: 17px;
    line-height: 1.8;
    color: #374151;
    max-width: 680px;
}

.lsc-description p { margin: 0 0 1.2em; }
.lsc-description p:last-child { margin-bottom: 0; }

/* ---- SIDEBAR / CARD ---- */
.lsc-sidebar {
    position: sticky;
    top: 100px;
}

.lsc-card {
    background: #fff;
    border: 1px solid var(--lsc-border);
    border-radius: var(--lsc-radius);
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,.06);
}

.lsc-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--lsc-border);
}

.lsc-card__header i {
    color: var(--lsc-primary);
    font-size: 16px;
}

.lsc-card__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--lsc-text);
    margin: 0;
}

.lsc-card__address {
    padding: 14px 24px 0;
    font-size: 14px;
    color: var(--lsc-muted);
    margin: 0;
    line-height: 1.5;
}

/* Mapa */
.lsc-map-wrap {
    margin-top: 16px;
    border-top: 1px solid var(--lsc-border);
}

.lsc-map {
    width: 100%;
    height: 240px;
    border: none;
    display: block;
    filter: saturate(0.85) contrast(1.05);
}

.lsc-map__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lsc-primary);
    text-decoration: none;
    border-top: 1px solid var(--lsc-border);
    background: var(--lsc-bg);
    transition: background 0.2s, color 0.2s;
}

.lsc-map__cta:hover {
    background: rgba(91, 80, 214, 0.07);
}

.lsc-map__cta i { font-size: 11px; }

/* Lista de contatos */
.lsc-contact-list {
    list-style: none;
    margin: 0;
    padding: 12px 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-top: 1px solid var(--lsc-border);
}

.lsc-contact-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--lsc-muted);
}

.lsc-contact-list i {
    color: var(--lsc-primary);
    width: 16px;
    text-align: center;
    flex-shrink: 0;
}

.lsc-contact-list a {
    color: var(--lsc-text);
    text-decoration: none;
    transition: color 0.2s;
}

.lsc-contact-list a:hover { color: var(--lsc-primary); }

/* ---- RESPONSIVIDADE ---- */
@media (max-width: 1024px) {
    .lsc-body { grid-template-columns: 1fr; gap: 40px; }
    .lsc-sidebar { position: static; }
    .lsc-gallery { max-height: 420px; }
    .lsc-title { font-size: 2rem; }
}

@media (max-width: 767px) {
    .lsc-gallery { max-height: 280px; grid-template-columns: 1fr; grid-template-rows: auto; }
    .lsc-gallery--grid2,
    .lsc-gallery--grid3 { grid-template-columns: 1fr; }
    .lsc-gallery__side { display: none; }
    .lsc-gallery__main { grid-row: 1; }
    .lsc-body { padding-top: 28px; gap: 28px; }
    .lsc-title { font-size: 1.6rem; }
    .lsc-description { font-size: 15px; }
    .lsc-map { height: 200px; }
}

/* ---- POPUP MAPA: remove badge aberto/fechado ---- */
.gva-map-content-popup .listing-time,
.gva-map-content-popup .lt-top { display: none !important; }

/* ---- CARD: excerpt ---- */
.listing-one__excerpt {
    font-size: 13px;
    line-height: 1.6;
    color: #64748b;
    margin-top: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---- SORT: label ---- */
.lt_results-sorting { align-items: center; }

/* ====== FILTRO TEXTUAL EDITORIAL ====== */
.brc-filtro-textual {
    max-width: 860px;
    margin: 32px 0 24px;
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}
.brc-filtro-textual p { margin-bottom: 10px; }
.brc-filtro-textual strong { color: #0f172a; }
.brc-filtro-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    margin-right: 6px;
}
.brc-filtro-textual a {
    color: #1e40af;
    text-decoration: none;
    border-bottom: 1px solid rgba(37,99,235,0.25);
    transition: color .15s, border-color .15s;
}
.brc-filtro-textual a:hover { color: #2563eb; border-color: #2563eb; }
.brc-filtro-textual a.ativo {
    color: #1d4ed8;
    font-weight: 700;
    border-color: #1d4ed8;
}

/* ====== NAV ANTERIOR / PRÓXIMO ====== */
.lsc-nav-listing {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    max-width: 1200px;
    margin: 60px auto 0;
    padding: 32px 40px;
    border-top: 1px solid #e2e8f0;
}
.lsc-nav-listing__btn {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-decoration: none;
    max-width: 45%;
}
.lsc-nav-listing__next { align-items: flex-end; text-align: right; }
.lsc-nav-listing__label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
}
.lsc-nav-listing__title {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    transition: color .15s;
}
.lsc-nav-listing__btn:hover .lsc-nav-listing__title { color: #2563eb; }

/* ====== LOCAIS RELACIONADOS ====== */
.lsc-related {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px 60px;
    background: #f8fafc;
}
.lsc-related__title {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 28px;
}
.lsc-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.lsc-related__card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: transform .2s, box-shadow .2s;
}
.lsc-related__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,.1);
}
.lsc-related__img {
    height: 160px;
    background: #cbd5e1 center/cover no-repeat;
}
.lsc-related__body { padding: 16px; }
.lsc-related__cat {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #2563eb;
    font-weight: 600;
}
.lsc-related__name {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 6px 0 4px;
    line-height: 1.3;
}
.lsc-related__region {
    font-size: 12px;
    color: #64748b;
}
.lsc-related__region i { margin-right: 3px; }
.lsc-related__cta {
    margin-top: 28px;
    text-align: center;
}
.lsc-related__cta a {
    font-size: 14px;
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}
.lsc-related__cta a:hover { text-decoration: underline; }

@media (max-width: 768px) {
    .lsc-related__grid { grid-template-columns: 1fr; }
    .lsc-nav-listing { flex-direction: column; padding: 24px 20px; }
    .lsc-nav-listing__btn { max-width: 100%; }
    .lsc-nav-listing__next { align-items: flex-start; text-align: left; }
    .brc-filtro-textual { font-size: 15px; }
}

/* ---- KILL drawer + All Filters button definitivo ---- */
.btn-listing-all-filter,
.sidebar-all-filters,
.lt-btn-all-filters,
a[href='#'][class*='filter'],
.btn-all-filter { display: none !important; }

/* ---- ABERTO badge nos cards da listagem ---- */
.listing-one .listing-one__time,
.listing-two .listing-two__time,
.listing-block .listing-time,
span.listing-time { display: none !important; }

/* ---- REMOVE Buscar button + results notice ---- */
.search_submit,
.showing_jobs,
.job-manager-filter-wrapper .showing_jobs,
div.job_listings .showing_jobs { display: none !important; }

/* ---- REMOVE results count text from sort bar ---- */
.lt_results-sorting .results-text { display: none !important; }

/* ── Listings page: remove white background wrapper ── */
.lt-wrap_layout-half_map,
.lt-wrap_layout-half_map .main-page-content {
    background: transparent !important;
}
/* Remove white/gray from results content top area */
.lt-wrap_layout-half_map .lt--results-content {
    background: transparent !important;
}
/* Clean up filter form white box appearance */
.lt-wrap_layout-half_map .lt-filters-wrap {
    background: transparent !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ── Map: slide up slightly behind header (header z-index:999 stays on top) ── */
.lt-wrap_layout-half_map .lt-layout-row .lt--map-content {
    padding-top: 0 !important;
    margin-top: -50px;
    z-index: 0 !important;
    position: relative;
}
.lt-wrap_layout-half_map .lt-layout-row .lt--map-content .map-full-height {
    height: calc(100vh + 50px) !important;
}
/* Ensure parent containers don't clip the map */
.lt-wrap_layout-half_map,
.lt-wrap_layout-half_map .lt-layout-row,
.lt-wrap_layout-half_map .main-page-content {
    overflow: visible !important;
}

/* ── Mapa menu: never highlight anchor link as active ── */
.nav-menu .current-menu-item > a[href*="#mapa"],
.main-menu .current-menu-item > a[href*="#mapa"],
.menu-item.current-menu-item > a[href*="#mapa"] {
    color: inherit !important;
    background: transparent !important;
    border-color: transparent !important;
    opacity: 1 !important;
}

/* ── Footer v4: link readability ── */
.brc-f4-link {
    color: #c5d8e8 !important;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.5;
    transition: color .15s;
}
.brc-f4-link:hover {
    color: #ffffff !important;
}

/* ── Categories: full-width heading + nav/image 2-col below ── */

/* Convert the wrap to a CSS grid */
.el-content-tabs .content-tabs__wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "heading heading"
        "nav     image";
    align-items: stretch;
    gap: 0;
}

/* Dissolve .content-tabs__left — its children become direct grid items */
.el-content-tabs .content-tabs__left {
    display: contents !important;
}

/* Heading: full width, top row */
.el-content-tabs .content-tabs__heading {
    grid-area: heading;
    max-width: none !important;
    padding: 56px 60px 40px;
    background: #fff;
}

/* Nav list: left column, second row */
.el-content-tabs .content-tabs__nav {
    grid-area: nav;
    max-width: none !important;
    padding: 0 40px 60px 60px;
    background: #fff;
}

/* Image panel: right column, second row — compact height */
.el-content-tabs .content-tabs__right {
    grid-area: image;
    width: auto !important;
    flex: none !important;
    min-height: 0 !important;
    position: relative;
    overflow: hidden;
    align-self: stretch;
}

/* Ensure pane fills its container exactly */
.el-content-tabs .content-tabs__pane {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 12px;
    overflow: hidden;
}

/* Rounded corners on image area */
.el-content-tabs .content-tabs__pane {
    border-radius: 12px;
    overflow: hidden;
}

/* ── Mobile: categories section v5 — grid compacto, sem animação lateral ── */

/* Neutraliza hover/transform do tema nos nav-items (vale em todos os breakpoints) */
.el-content-tabs .content-tabs__nav-item,
.el-content-tabs .content-tabs__nav-item:hover,
.el-content-tabs .content-tabs__nav-item.active {
    transform: none !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    /* 1. Zera margins negativos */
    .elementor-element-ad4e08d { margin-top: 0 !important; }
    .elementor-element-c3631f2 { margin-top: 0 !important; }

    /* 2. Oculta painel de imagem desktop */
    .el-content-tabs .content-tabs__right { display: none !important; }

    /* 3. Layout coluna */
    .el-content-tabs .content-tabs__wrap { display: block !important; }
    .el-content-tabs .content-tabs__left {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        flex: none !important;
    }

    /* 4. Heading compacto */
    .el-content-tabs .content-tabs__heading {
        padding: 28px 20px 16px !important;
    }
    .el-content-tabs .content-tabs__heading-title {
        font-size: 22px !important;
        line-height: 1.25 !important;
    }
    .el-content-tabs .content-tabs__heading-desc {
        font-size: 13px !important;
        margin-top: 6px !important;
    }

    /* 5. Grid 2×3 */
    .el-content-tabs .content-tabs__nav {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 0 16px 36px !important;
    }

    /* 6. Card — sem transição de transform, só cor */
    .el-content-tabs .content-tabs__nav-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        padding: 0 0 14px !important;
        border: 1px solid #e5e7f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        overflow: hidden !important;
        min-height: unset !important;
        position: relative !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
        /* Só transição de borda/sombra — sem transform */
        transition: border-color 0.18s, box-shadow 0.18s !important;
        transform: none !important;
    }
    .el-content-tabs .content-tabs__nav-item:hover {
        border-color: #b0baee !important;
        box-shadow: 0 2px 8px rgba(74,108,247,0.12) !important;
        transform: none !important;
    }
    .el-content-tabs .content-tabs__nav-item.active {
        border-color: #4a6cf7 !important;
        box-shadow: 0 0 0 2px #c7d0fc !important;
        transform: none !important;
    }

    /* 7. Foto cobre o topo do card */
    .el-content-tabs .content-tabs__nav-item .item-image {
        width: 100% !important;
        height: 90px !important;
        min-height: 90px !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        margin-bottom: 10px !important;
        flex-shrink: 0 !important;
        display: block !important;
    }
    .el-content-tabs .content-tabs__nav-item .item-image img {
        width: 100% !important;
        height: 90px !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        border-radius: 0 !important;
    }

    /* 8. Título — sem clamp, altura natural, max 3 linhas visíveis */
    .el-content-tabs .content-tabs__nav-item .title {
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        color: #1a2744 !important;
        display: block !important;
        padding: 0 10px !important;
        word-break: break-word !important;
        hyphens: auto !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    /* 9. Seta oculta */
    .el-content-tabs .content-tabs__nav-item .arrow { display: none !important; }

    /* 10. Link overlay */
    .el-content-tabs .content-tabs__nav-item .content-tabs__nav-control {
        position: absolute !important;
        inset: 0 !important;
    }
}

/* ── Categories pane-content: compact overlay card ── */
.el-content-tabs .content-tabs__pane .pane-content {
    max-width: 320px !important;
    width: auto !important;
    padding: 24px 28px !important;
    border-radius: 0 80px 0 0 !important;
    background: rgba(0, 0, 0, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}
.el-content-tabs .content-tabs__pane .pane-content__title {
    font-size: 18px !important;
    margin-bottom: 8px !important;
}
.el-content-tabs .content-tabs__pane .pane-content__desc {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
}

/* ── Listings/region pages: breathe below header ── */
.lt-wrap_layout-half_map .lt--results-content,
.lt-main-page-content .lt--results-content {
    padding-top: 64px !important;
}

/* ── Placeholder for listing cards without featured image ── */
.listing-one__image .brc-no-img,
.listing-one .listing-one__image:not(:has(img)) {
    display: block;
    width: 100%;
    height: 200px;
    background: #e4e9ef;
}
.listing-one__image .brc-no-img::after {
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    margin: 76px auto 0;
    background: #c5ccd5;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}
/* Map popup placeholder */
.gva-map-content-popup .listing-image:not(:has(img)) {
    background: #e4e9ef;
    min-height: 80px;
}

/* ═══════════════════════════════════════════════════
   BRC PREMIUM REFINEMENTS
   ═══════════════════════════════════════════════════ */

/* ── Global: typography rhythm ── */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1, h2, h3 { letter-spacing: -0.02em; }
p { line-height: 1.8; }

/* ── Global: consistent transitions ── */
a, button, .btn-theme,
.listing-one, .lsc-related__card,
.content-tabs__nav-item,
.brc-f4-link { transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1); }

/* ── Global: shadow system ── */
:root {
    --shadow-xs: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --shadow-sm: 0 2px 8px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.04);
    --shadow-md: 0 4px 16px rgba(0,0,0,.09), 0 2px 6px rgba(0,0,0,.05);
    --shadow-lg: 0 8px 32px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
}

/* ══════════════════════════════════════════════════
   HOME HERO — PREMIUM REFINEMENTS
   ══════════════════════════════════════════════════ */

/* Hero outer container */
.elementor-element-95fd1a7 {
    overflow: hidden !important;
    position: relative;
}

/* ── 1. Overlay sofisticado — gradiente direcional (não chapado) ── */
.elementor-element-7fbd013 > .elementor-background-overlay {
    background: linear-gradient(
        158deg,
        rgba(5, 12, 26, 0.18) 0%,
        rgba(5, 12, 26, 0.48) 38%,
        rgba(5, 12, 26, 0.80) 68%,
        rgba(5, 12, 26, 0.94) 100%
    ) !important;
    opacity: 1 !important;
}

/* ── 2. Imagens do slider: leve "domagem" sem lavar ── */
.elementor-element-7fbd013 .elementor-background-slideshow__slide__image {
    filter: brightness(0.80) saturate(0.85) contrast(1.06) !important;
}

/* ── 3. Zona segura de leitura — nebulosa radial atrás do texto ── */
.elementor-element-7fbd013 > .e-con-inner {
    position: relative;
}
.elementor-element-7fbd013 > .e-con-inner::before {
    content: '';
    position: absolute;
    inset: -15% -25%;
    background: radial-gradient(
        ellipse at 50% 58%,
        rgba(4, 9, 22, 0.50) 0%,
        rgba(4, 9, 22, 0.22) 42%,
        transparent 68%
    );
    pointer-events: none;
    z-index: 0;
}
.elementor-element-7fbd013 .elementor-widget-wrap,
.elementor-element-7fbd013 .elementor-widget {
    position: relative;
    z-index: 1;
}

/* ── 4. Título REDESCUBRA — tracking + text-shadow editorial ── */
.elementor-element-7fbd013 .gva-heading__title {
    letter-spacing: 0.14em !important;
    text-shadow:
        0 4px 40px rgba(0,0,0,0.50),
        0 2px 8px  rgba(0,0,0,0.40),
        0 0   2px  rgba(0,0,0,0.20) !important;
    line-height: 1.0 !important;
}

/* ── 5. Subtítulo — tracking limpo, suporte de sombra ── */
.elementor-element-7fbd013 .gva-heading__subtitle {
    letter-spacing: 0.22em !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.55) !important;
}

/* ── 6. Descrição — max-width controlado, line-height respirado ── */
.elementor-element-7fbd013 .gva-heading__desc,
.elementor-element-7fbd013 .gva-heading__desc p {
    max-width: 660px !important;
    letter-spacing: 0.13em !important;
    line-height: 1.65 !important;
    text-shadow:
        0 2px 18px rgba(0,0,0,0.50),
        0 1px 5px  rgba(0,0,0,0.35) !important;
}

/* ── 7. Microanimação de texto ao trocar slide ── */
@keyframes brcSlideIn {
    from { opacity: 0.45; transform: translateY(10px); }
    to   { opacity: 1;    transform: translateY(0); }
}
.brc-slide-text-in .gva-heading__title,
.brc-slide-text-in .gva-heading__subtitle,
.brc-slide-text-in .gva-heading__desc {
    animation: brcSlideIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.brc-slide-text-in .gva-heading__subtitle { animation-delay: 0.08s; }
.brc-slide-text-in .gva-heading__desc     { animation-delay: 0.16s; }

/* ── Inner parallax wrapper ── */
.brc-hero-parallax {
    will-change: transform;
    transition: transform 0s linear;
}

/* ── Entrance animations ── */
.brc-entrance {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1),
                transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.brc-entrance.brc-visible {
    opacity: 1;
    transform: translateY(0);
}
.brc-entrance-delay-1 { transition-delay: 0.15s; }
.brc-entrance-delay-2 { transition-delay: 0.3s;  }
.brc-entrance-delay-3 { transition-delay: 0.45s; }

/* Hero → content fade */
.elementor-element-235b889 {
    position: relative;
    z-index: 1;
}
.elementor-element-235b889::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, transparent, #ffffff);
    pointer-events: none;
    z-index: 0;
}

/* ══════════════════════════════════════════════════
   LISTING CARDS — hover refinements
   ══════════════════════════════════════════════════ */

.listing-block.listing-one {
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform 0.22s cubic-bezier(0.4,0,0.2,1),
                box-shadow 0.22s cubic-bezier(0.4,0,0.2,1) !important;
    background: #fff;
}
.listing-block.listing-one:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* Image zoom on hover */
.listing-one__image {
    overflow: hidden;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.listing-one__image img {
    transition: transform 0.45s cubic-bezier(0.4,0,0.2,1) !important;
    display: block;
    width: 100%;
    object-fit: cover;
}
.listing-block.listing-one:hover .listing-one__image img {
    transform: scale(1.06) !important;
}

/* Subtle overlay on image hover */
.listing-one__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.15) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
}
.listing-one__image {
    position: relative;
}
.listing-block.listing-one:hover .listing-one__image::after {
    opacity: 1;
}

/* Title subtle highlight */
.listing-one__title {
    transition: color 0.2s ease;
}
.listing-block.listing-one:hover .listing-one__title {
    color: #5ed37c;
}

/* Card content padding refinement */
.listing-one__content {
    padding: 16px 18px 18px !important;
}
.listing-one__title {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
}

/* Placeholder alignment */
.listing-one__image .brc-no-img {
    height: 180px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ══════════════════════════════════════════════════
   CATEGORIES (HOME) — hover + card refinements
   ══════════════════════════════════════════════════ */

/* Nav item hover */
.content-tabs__nav-item {
    border-radius: var(--radius-md) !important;
    margin-bottom: 10px !important;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
.content-tabs__nav-item:hover {
    background: #e8f5ef !important;
    transform: translateX(3px);
}
.content-tabs__nav-item.active {
    background: #e8f5ef !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Arrow slide on hover */
.content-tabs__nav-item .arrow i {
    transition: transform 0.2s ease, background 0.2s ease !important;
}
.content-tabs__nav-item:hover .arrow i {
    transform: translateX(3px) !important;
}

/* Pane image transition */
.content-tabs__pane {
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.4,0,0.2,1) !important;
}

/* Right panel: image hover zoom */
.content-tabs__pane .pane-image img {
    transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}
.content-tabs__pane.active:hover .pane-image img {
    transform: translate(-50%,-50%) scale(1.04) !important;
}

/* ══════════════════════════════════════════════════
   MAP PAGE — depth & inner shadow
   ══════════════════════════════════════════════════ */

#lt-listing--map {
    box-shadow: inset 0 0 40px rgba(0,0,0,0.08) !important;
}

/* Filter form — cleaner look */
.lt-wrap_layout-half_map .lt-filters-wrap .search_jobs {
    gap: 10px;
}

/* ══════════════════════════════════════════════════
   SINGLE LISTING PAGE
   ══════════════════════════════════════════════════ */

/* Entry title — max reading width */
.single-post-template .entry-title {
    font-size: clamp(28px, 4vw, 44px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 16px !important;
    max-width: 780px;
}

/* Body text */
.single-post-template .post-content p {
    font-size: 16px !important;
    line-height: 1.85 !important;
    color: #374151 !important;
    max-width: 68ch;
    margin-bottom: 20px !important;
}

/* Gallery hover zoom */
.lsc-gallery img,
.lsc-gallery .gallery-img {
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1),
                box-shadow 0.35s ease !important;
    cursor: zoom-in;
}
.lsc-gallery img:hover,
.lsc-gallery .gallery-img:hover {
    transform: scale(1.03) !important;
    box-shadow: var(--shadow-md) !important;
    position: relative;
    z-index: 2;
}

/* Gallery photo count badge */
.listing-one__gallery-link span,
.lsc-gallery__count {
    background: rgba(0,0,0,0.72) !important;
    backdrop-filter: blur(6px) !important;
    border-radius: 20px !important;
    padding: 5px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    color: #fff !important;
}

/* Sidebar card — refined shadow + padding */
.lsc-sidebar .lsc-card,
.lsc-sidebar > div {
    background: #fff !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-md) !important;
    padding: 28px !important;
    border: none !important;
}

/* Map in sidebar */
.lsc-map-wrap {
    border-radius: var(--radius-md) !important;
    overflow: hidden;
    margin-top: 16px;
}
.lsc-map {
    border-radius: var(--radius-md) !important;
    border: none !important;
}

/* CTA map button */
.lsc-map__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 11px 20px !important;
    background: #0b1628 !important;
    color: #fff !important;
    border-radius: 50px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
    letter-spacing: 0.2px;
}
.lsc-map__cta:hover {
    background: #5ed37c !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

/* Related cards hover */
.lsc-related__card {
    border-radius: var(--radius-lg) !important;
    overflow: hidden;
    box-shadow: var(--shadow-sm) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
.lsc-related__card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--shadow-lg) !important;
}
.lsc-related__card img {
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1) !important;
}
.lsc-related__card:hover img {
    transform: scale(1.06) !important;
}

/* Related section spacing */
.lsc-related {
    margin-top: 56px !important;
}
.lsc-related__grid {
    gap: 24px !important;
}

/* Prev/next nav */
.lsc-nav-listing {
    margin-top: 48px !important;
    padding-top: 28px !important;
    border-top: 1px solid #e5e7eb !important;
}
.lsc-nav-listing__btn {
    border-radius: var(--radius-md) !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}
.lsc-nav-listing__btn:hover {
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-2px) !important;
}

/* ══════════════════════════════════════════════════
   SOBRE PAGE — refinements
   ══════════════════════════════════════════════════ */

/* Sobre hero title — stronger tracking */
.elementor-page-22 h1[style] {
    letter-spacing: -0.03em !important;
}

/* "O que é" — reading width */
.elementor-page-22 .elementor-widget-text-editor p {
    max-width: 62ch;
}

/* Sobre cards hover */
.elementor-page-22 .elementor-widget-html div[style*="border-radius: 12px"],
.elementor-page-22 .elementor-widget-html div[style*="border-radius:12px"] {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-page-22 .elementor-widget-html div[style*="border-radius: 12px"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md) !important;
}

/* "Como funciona" cards connector line */
.elementor-page-22 .elementor-container.elementor-column-gap-default::before {
    content: '';
    position: absolute;
    top: 44px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(to right, #5ed37c, #ff9100, #39b4ff);
    opacity: 0.3;
    pointer-events: none;
}

/* CTA buttons — more presence */
.elementor-page-22 a[style*="background:#5ed37c"],
.elementor-page-22 a[style*="background: #5ed37c"] {
    box-shadow: 0 4px 16px rgba(16,185,129,0.35) !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}
.elementor-page-22 a[style*="background:#5ed37c"]:hover,
.elementor-page-22 a[style*="background: #5ed37c"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(16,185,129,0.45) !important;
}

/* ══════════════════════════════════════════════════
   FOOTER — small refinements
   ══════════════════════════════════════════════════ */

.brc-f4-link:hover {
    color: #ffffff !important;
    transform: translateX(2px);
    display: inline-block;
}

/* ══════════════════════════════════════════════════
   BUTTONS — global refinement
   ══════════════════════════════════════════════════ */
.btn-theme,
.elementor-button {
    transition: transform 0.2s ease, box-shadow 0.2s ease,
                background 0.2s ease !important;
}
.btn-theme:hover,
.elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md) !important;
}

/* ══════════════════════════════════════════════════
   AJAX listing update — fade transition
   ══════════════════════════════════════════════════ */
.job_listings {
    transition: opacity 0.25s ease;
}
.job_listings.loading {
    opacity: 0.4 !important;
}

/* ── Hide open/closed badge globally — no schedules ── */
.listing-time,
.lt-top,
.lt-top .listing-time,
.listing-block .lt-top,
.listing-one .lt-top,
.listing-one .listing-time,
.gva-map-content-popup .lt-top,
.gva-map-content-popup .listing-time,
span.open-now, span.closed-now, span.lt-open, span.lt-closed {
    display: none !important;
    visibility: hidden !important;
}

/* ── Hide wishlist/like heart button ── */
.wishlist-btn,
.lt-wishlist,
.lt-wishlist-btn,
.listing-one__wishlist,
.gva-wishlist,
.lsc-wishlist,
[class*=wishlist],
.listox-wishlist,
.add-to-wishlist,
.yith-wcwl-add-to-wishlist {
    display: none !important;
}

/* ── Hide open/closed badge — all card variants ── */
.listing-five__time,
.listing-five__label.listing-five__time,
.listing-label.listing-time,
[class*='listing-five__time'],
[class*='listing-time'] {
    display: none !important;
}

/* ── Gallery badge: clean pill design ── */
.listing-one__gallery-link {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 5px 10px !important;
    background: rgba(0,0,0,0.55) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border-radius: 20px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    z-index: 2;
}
.listing-one__gallery-link i {
    font-size: 13px !important;
    color: #fff !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    display: inline !important;
    border-radius: 0 !important;
}
.listing-one__gallery-link span {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    background: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
/* Position the gallery container correctly */
.listing-one__media {
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    z-index: 2;
}

/* ── Editorial intro text — listings page ── */
.brc-filtro-textual {
    border-left: 3px solid #5ed37c;
    padding: 20px 24px;
    background: linear-gradient(135deg, #f0fdf8 0%, #f8fafc 100%);
    border-radius: 0 12px 12px 0;
    margin: 36px 0 28px;
}
.brc-filtro-intro {
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: #1e293b !important;
    margin: 0 0 14px !important;
    font-weight: 400;
    max-width: 72ch;
}
.brc-filtro-intro strong {
    color: #0b1628;
    font-weight: 700;
}
.brc-filtro-intro a {
    color: #5ed37c;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(16,185,129,0.3);
    transition: border-color 0.2s ease;
}
.brc-filtro-intro a:hover {
    border-color: #5ed37c;
}
.brc-filtro-textual p:last-child {
    margin-bottom: 0 !important;
}
.brc-filtro-label {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    margin-right: 6px !important;
}
.brc-filtro-textual p:not(.brc-filtro-intro) {
    font-size: 14px !important;
    color: #475569 !important;
    margin: 0 0 6px !important;
    line-height: 1.7 !important;
}
.brc-filtro-textual p:not(.brc-filtro-intro) a {
    color: #39b4ff;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s ease;
}
.brc-filtro-textual p:not(.brc-filtro-intro) a:hover {
    color: #1d4ed8;
}
.brc-filtro-textual p:not(.brc-filtro-intro) a.ativo {
    color: #5ed37c;
    font-weight: 700;
}

/* ── Sidebar map: taller, no CTA gap ── */
.lsc-map-wrap { margin-top: 14px; }
.lsc-map { height: 240px !important; border-radius: 10px !important; border: none !important; }

/* ══════════════════════════════════════════════════
   TAXONOMY PAGES — 2-COLUMN CARD GRID
   ══════════════════════════════════════════════════ */

/* Force 2-column grid on taxonomy archive pages */
.tax-job_listing_category .job_listings .listing-block.listing-one,
.tax-job_listing_region .job_listings .listing-block.listing-one {
    height: 100%;
}

/* Consistent image height on taxonomy cards */
.tax-job_listing_category .listing-one__image,
.tax-job_listing_region .listing-one__image {
    height: 220px !important;
    overflow: hidden !important;
}
.tax-job_listing_category .listing-one__image img,
.tax-job_listing_region .listing-one__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Better spacing on taxonomy grid */
.tax-job_listing_category .lt-results-content-inner,
.tax-job_listing_region .lt-results-content-inner {
    gap: 24px !important;
}


/* ══════════════════════════════════════════════════
   LISTING CARDS — 2 colunas via gva-listings-map-filter
   ══════════════════════════════════════════════════ */

/* Image height consistente nos cards do widget */
.gva-element-gva-listings-map-filter .listing-one__image {
    height: 230px !important;
    overflow: hidden !important;
}
.gva-element-gva-listings-map-filter .listing-one__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Card completo, igual altura */
.gva-element-gva-listings-map-filter .listing-block.listing-one {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.gva-element-gva-listings-map-filter .listing-one__content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Gap entre cards na grid 2 colunas */
.gva-element-gva-listings-map-filter .lg-block-grid-2,
.gva-element-gva-listings-map-filter .lt-results-content-inner {
    gap: 22px !important;
}

/* No placeholder: mesma altura */
.gva-element-gva-listings-map-filter .listing-one__image .brc-no-img {
    height: 230px !important;
}

/* ══════════════════════════════════════════════════
   FOOTER — MOBILE REFACTOR
   ══════════════════════════════════════════════════ */

@media (max-width: 767px) {
    /* 1. Seção footer: padding lateral e vertical adequado */
    .elementor-element-2f941d0.elementor-section {
        padding: 48px 20px 32px !important;
    }

    /* Elementor section columns: stacks nativamente, mas com gap */
    .elementor-element-2f941d0 .elementor-column {
        width: 100% !important;
        padding: 0 !important;
    }

    /* 2. Row dos 4 blocos: flex-wrap para quebrar em mobile */
    .elementor-element-6b94df2 {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 0 !important;
    }

    /* 3. Bloco institucional (logo + texto): ocupa largura total */
    .elementor-element-32cf538 {
        width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 0 32px !important;
        border-bottom: 1px solid #1e3352;
        margin-bottom: 28px;
    }

    /* Logo no footer: tamanho moderado */
    .elementor-element-32cf538 img {
        max-width: 120px !important;
    }

    /* Texto institucional: legível */
    .elementor-element-32cf538 p {
        font-size: 13px !important;
        line-height: 1.7 !important;
        max-width: 100% !important;
    }

    /* 4. Navegar: meia largura, lado esquerdo */
    .elementor-element-0cad27b {
        width: 50% !important;
        flex: 0 0 50% !important;
        padding: 0 12px 0 0 !important;
    }

    /* 5. Regiões: meia largura, lado direito */
    .elementor-element-d18e86b {
        width: 50% !important;
        flex: 0 0 50% !important;
        padding: 0 0 0 0 !important;
    }

    /* 6. Categorias: largura total abaixo */
    .elementor-element-fd721e9 {
        width: 100% !important;
        flex: 0 0 100% !important;
        padding: 24px 0 0 !important;
        margin-top: 20px;
        border-top: 1px solid #1e3352;
    }

    /* 7. Barra de copyright: empilha verticalmente */
    .elementor-element-62ad2b4 {
        padding-top: 28px !important;
    }
    .elementor-element-908495b > div {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    /* 8. Labels das colunas: margem superior nos blocos nav/regiao */
    .elementor-element-0cad27b p.brc-f4-label,
    .elementor-element-d18e86b p.brc-f4-label,
    .elementor-element-fd721e9 p.brc-f4-label {
        margin-top: 0 !important;
    }

    /* 9. Links do footer: touch-friendly */
    .brc-f4-link {
        display: block;
        padding: 3px 0;
    }
}

@media (max-width: 479px) {
    /* Em telas muito pequenas: todas as colunas empilhadas */
    .elementor-element-0cad27b,
    .elementor-element-d18e86b {
        width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
        margin-bottom: 24px;
    }
    .elementor-element-d18e86b {
        border-top: 1px solid #1e3352;
        padding-top: 24px !important;
        margin-top: 4px;
    }
}

/* ── Filtro de categoria: badge informativo nas páginas de categoria ── */
.brc-current-cat-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #eef1fd;
    border: 1.5px solid #c7d0fc;
    border-radius: 10px;
    margin-bottom: 14px;
    font-size: 14px;
    font-weight: 600;
    color: #2a3f8f;
}
.brc-current-cat-badge i {
    color: #4a6cf7;
    font-size: 13px;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   BRC CHIP FILTERS — Região + Tema
   ═══════════════════════════════════════════════════════════════════ */
.brc-chip-filters {
    padding: 18px 0 4px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.brc-chip-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

.brc-chip-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6b7280;
    white-space: nowrap;
    padding-top: 7px;
    min-width: 44px;
}

.brc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1;
}

.brc-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 13px;
    border-radius: 99px;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    background: #f3f4f6;
    border: 1.5px solid #e5e7eb;
    text-decoration: none !important;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
    cursor: pointer;
    line-height: 1.4;
}
.brc-chip:hover {
    background: #e9eeff;
    border-color: #a5b4fc;
    color: #1d4ed8;
    text-decoration: none !important;
}
.brc-chip--active {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
    font-weight: 600;
}
.brc-chip--active:hover {
    background: #1e40af !important;
    border-color: #1e40af !important;
    color: #fff !important;
}
.brc-chip-x {
    font-size: 14px;
    line-height: 1;
    opacity: 0.75;
    margin-left: 1px;
}

.brc-chip-reset {
    padding-top: 2px;
}
.brc-reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #6b7280;
    text-decoration: none !important;
    padding: 4px 0;
    transition: color 0.15s;
}
.brc-reset-btn:hover {
    color: #dc2626;
    text-decoration: none !important;
}
.brc-reset-btn svg { opacity: 0.7; }

/* Esconde o formulário de filtro — chips substituem */
.lt-filters-wrap,
.lt-mobile-search-view.lt-mobile-control,
.lt-control-search-mobile-close {
    display: none !important;
}

/* Remove padding/espaço que o form ocupava */
.lt--content-inner.show-content {
    padding-top: 0 !important;
}

/* Esconde o brc-filtro-textual antigo se ainda existir */
.brc-filtro-textual {
    display: none !important;
}

/* Mobile: chips horizontais com scroll */
@media (max-width: 767px) {
    .brc-chip-filters {
        padding: 14px 0 2px;
        gap: 8px;
    }
    .brc-chip-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 8px;
        align-items: center;
    }
    .brc-chip-row::-webkit-scrollbar { display: none; }
    .brc-chips {
        flex-wrap: nowrap;
    }
    .brc-chip {
        flex-shrink: 0;
        font-size: 12.5px;
        padding: 5px 11px;
    }
    .brc-chip-label {
        flex-shrink: 0;
        padding-top: 6px;
    }
}

