/**
 * Theme Name: Law Business Child
 * Description: Child theme of Law Business — SJI Colombia
 * Template: law-business
 * Version: 1.0.0
 */

/* ============================================================
   SJI COLOMBIA — BRAND TOKENS
   ============================================================ */
:root {
    --sji-navy:         #0F1C2E;
    --sji-navy-mid:     #1A2D47;
    --sji-gold:         #C8973E;
    --sji-gold-light:   #DEBA6A;
    --sji-gold-pale:    #F5ECD8;
    --sji-gold-dark:    #A07424;
    --sji-cream:        #FDFBF7;
    --sji-warm:         #F7F5F2;
    --sji-text:         #1E293B;
    --sji-text-mid:     #475569;
    --sji-text-light:   #94A3B8;
    --sji-border:       #E2D9C8;
    --sji-success:      #2D8A4E;
    --sji-shadow-sm:    0 2px 8px rgba(15,28,46,0.07);
    --sji-shadow-md:    0 8px 32px rgba(15,28,46,0.13);
    --sji-shadow-lg:    0 16px 48px rgba(15,28,46,0.18);
    --sji-radius:       12px;
    --sji-ease:         cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================
   SECCIÓN FILTROS — BARRA HORIZONTAL NAVY
   ============================================================ */

/* Sección contenedora */
.sji-filtros-section {
    background: var(--sji-navy) !important;
    padding: 28px 32px !important;
    margin-bottom: 0 !important;
}

/* Wrapper principal — flex horizontal */
.sji-filtros-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

/* Cada ítem de filtro */
.sji-facet-item {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(200,151,62,0.25) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    min-width: 130px !important;
    max-width: 190px !important;
    flex: 1 1 130px !important;
    transition: border-color 0.2s !important;
}
.sji-facet-item:hover {
    border-color: rgba(200,151,62,0.6) !important;
}

/* Label del filtro */
.sji-facet-label {
    display: block !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--sji-gold) !important;
    margin-bottom: 8px !important;
}

/* Cada facet individual */
.sji-filtros-wrap .facetwp-facet {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    min-width: unset !important;
    max-width: unset !important;
}
.sji-filtros-wrap .facetwp-facet:hover {
    border: none !important;
}

/* Label del facet (nombre del filtro) */
.sji-filtros-section .facetwp-facet-label,
.sji-filtros-section .facetwp-facet > label:first-child {
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--sji-gold) !important;
    display: block !important;
    margin-bottom: 8px !important;
}

/* Radio buttons */
.sji-filtros-section .facetwp-radio {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: rgba(255,255,255,0.75) !important;
    font-size: 12px !important;
    padding: 3px 0 !important;
    cursor: pointer !important;
    transition: color 0.15s !important;
    line-height: 1.4 !important;
}
.sji-filtros-section .facetwp-radio:hover {
    color: var(--sji-gold-light) !important;
}
.sji-filtros-section .facetwp-radio.checked {
    color: var(--sji-gold) !important;
    font-weight: 700 !important;
}
.sji-filtros-section .facetwp-radio::before {
    content: '' !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255,255,255,0.3) !important;
    flex-shrink: 0 !important;
    transition: all 0.15s !important;
}
.sji-filtros-section .facetwp-radio.checked::before {
    border-color: var(--sji-gold) !important;
    background: var(--sji-gold) !important;
    box-shadow: 0 0 0 3px rgba(200,151,62,0.2) !important;
}

/* Checkboxes */
.sji-filtros-section .facetwp-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: rgba(255,255,255,0.75) !important;
    font-size: 12px !important;
    padding: 3px 0 !important;
    cursor: pointer !important;
    transition: color 0.15s !important;
}
.sji-filtros-section .facetwp-checkbox:hover {
    color: var(--sji-gold-light) !important;
}
.sji-filtros-section .facetwp-checkbox.checked {
    color: var(--sji-gold) !important;
    font-weight: 700 !important;
}
.sji-filtros-section .facetwp-checkbox::before {
    content: '' !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 4px !important;
    border: 2px solid rgba(255,255,255,0.3) !important;
    flex-shrink: 0 !important;
    transition: all 0.15s !important;
}
.sji-filtros-section .facetwp-checkbox.checked::before {
    border-color: var(--sji-gold) !important;
    background: var(--sji-gold) !important;
}

/* Slider de precio y área */
.sji-filtros-section .facetwp-slider-wrap {
    padding: 6px 0 !important;
}
.sji-filtros-section .noUi-target {
    background: rgba(255,255,255,0.15) !important;
    border: none !important;
    box-shadow: none !important;
    height: 4px !important;
}
.sji-filtros-section .noUi-connect {
    background: var(--sji-gold) !important;
}
.sji-filtros-section .noUi-handle {
    background: var(--sji-gold) !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
    width: 18px !important;
    height: 18px !important;
    top: -8px !important;
    right: -9px !important;
    cursor: grab !important;
}
.sji-filtros-section .noUi-handle::before,
.sji-filtros-section .noUi-handle::after {
    display: none !important;
}
.sji-filtros-section .facetwp-slider-reset {
    display: inline-block !important;
    margin-top: 8px !important;
    font-size: 10px !important;
    color: rgba(200,151,62,0.8) !important;
    cursor: pointer !important;
    border: 1px solid rgba(200,151,62,0.3) !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    transition: all 0.15s !important;
}
.sji-filtros-section .facetwp-slider-reset:hover {
    background: rgba(200,151,62,0.15) !important;
    color: var(--sji-gold) !important;
}
.sji-filtros-section .facetwp-slider-label {
    color: rgba(255,255,255,0.6) !important;
    font-size: 11px !important;
    margin-top: 8px !important;
}

/* Sort (ordenar) */
.sji-filtros-section .facetwp-sort-select,
.sji-toolbar .facetwp-sort-select {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(200,151,62,0.4) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 12px !important;
    padding: 8px 14px !important;
    cursor: pointer !important;
    outline: none !important;
}

/* ============================================================
   SECCIÓN RESULTADOS — TOOLBAR
   ============================================================ */
.sji-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 0 14px !important;
    border-bottom: 1px solid var(--sji-border) !important;
    margin-bottom: 24px !important;
}
.sji-count {
    font-size: 13px !important;
    color: var(--sji-text-mid) !important;
    font-weight: 500 !important;
}

/* ============================================================
   LOOP ITEM — CARD DE INMUEBLE
   ============================================================ */

/* Contenedor del loop */
.elementor-loop-container {
    gap: 20px !important;
}

/* Card wrapper */
.e-loop-item {
    background: #fff !important;
    border: 1px solid var(--sji-border) !important;
    border-radius: var(--sji-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--sji-shadow-sm) !important;
    transition: transform 0.25s var(--sji-ease),
                box-shadow 0.25s var(--sji-ease),
                border-color 0.25s var(--sji-ease) !important;
    display: flex !important;
    flex-direction: column !important;
}
.e-loop-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--sji-shadow-lg) !important;
    border-color: var(--sji-gold) !important;
}

/* Imagen destacada */
.e-loop-item .elementor-widget-featured-image {
    overflow: hidden !important;
    height: 210px !important;
    display: block !important;
}
.e-loop-item .elementor-widget-featured-image img {
    width: 100% !important;
    height: 210px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s var(--sji-ease) !important;
}
.e-loop-item:hover .elementor-widget-featured-image img {
    transform: scale(1.05) !important;
}

/* Título del post */
.e-loop-item .elementor-widget-post-title .elementor-heading-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--sji-navy) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    transition: color 0.2s !important;
}
.e-loop-item:hover .elementor-widget-post-title .elementor-heading-title {
    color: var(--sji-gold-dark) !important;
}
.e-loop-item .elementor-widget-post-title a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Post Meta — campos ACF */
.e-loop-item .elementor-widget-post-custom-field .elementor-post-custom-field-wrapper,
.e-loop-item .elementor-post-info {
    font-size: 13px !important;
    color: var(--sji-text-mid) !important;
}

/* Badge de operación (Venta / Arriendo) */
.e-loop-item .sji-badge-operacion,
.e-loop-item [class*="operacion"] .elementor-post-custom-field-value {
    display: inline-block !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    background: var(--sji-navy) !important;
    color: var(--sji-gold) !important;
    border: 1px solid var(--sji-gold) !important;
}

/* Precio */
.e-loop-item .sji-precio,
.e-loop-item [class*="precio"] .elementor-post-custom-field-value {
    font-size: 21px !important;
    font-weight: 800 !important;
    color: var(--sji-navy) !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
}

/* Specs row */
.e-loop-item .sji-specs-row {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--sji-warm) !important;
    margin-top: 6px !important;
}
.e-loop-item .sji-spec {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--sji-text-mid) !important;
    background: var(--sji-warm) !important;
    padding: 4px 9px !important;
    border-radius: 20px !important;
}

/* ============================================================
   PAGINACIÓN FACETWP
   ============================================================ */
.facetwp-pager {
    display: flex !important;
    gap: 6px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    margin-top: 36px !important;
}
.facetwp-page {
    min-width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--sji-border) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--sji-text-mid) !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    background: #fff !important;
    padding: 0 12px !important;
}
.facetwp-page:hover {
    border-color: var(--sji-gold) !important;
    color: var(--sji-gold-dark) !important;
    background: var(--sji-gold-pale) !important;
}
.facetwp-page.active {
    background: var(--sji-navy) !important;
    border-color: var(--sji-navy) !important;
    color: var(--sji-gold) !important;
}
.facetwp-page.dots {
    border: none !important;
    background: none !important;
    color: var(--sji-text-light) !important;
    cursor: default !important;
}

/* ============================================================
   LOADING STATE
   ============================================================ */
body.facetwp-is-loading .elementor-loop-container {
    opacity: 0.35 !important;
    pointer-events: none !important;
    transition: opacity 0.2s !important;
}
body.facetwp-is-loading .facetwp-facet {
    pointer-events: none !important;
}

/* ============================================================
   MAPA
   ============================================================ */
.sji-mapa-col .elementor-google-maps,
.sji-mapa-col iframe {
    border-radius: var(--sji-radius) !important;
    border: 1px solid var(--sji-border) !important;
    overflow: hidden !important;
}
