/*
 * Genda Job - Diseño Buscador Trabajos v4.0.0
 * SOLO ÁREA DE BÚSQUEDA de /trabajos.
 * Estiliza el buscador y el mensaje de estado (resultados/restablecer/RSS).
 * No se estiliza: listado de ofertas, tarjetas, loading, paginación ni lógica.
 */

body.genda-job-search-design-only {
    --gj-search-primary: #0aa8e8;
    --gj-search-primary-hover: #078fca;
    --gj-search-text: #17212b;
    --gj-search-placeholder: #7f8b97;
    --gj-search-border: #dfe6ed;
    --gj-search-border-hover: #c8d3dc;
    --gj-search-field: #f8fafc;
    --gj-search-ring: rgba(10, 168, 232, .13);
    --gj-search-shadow: 0 12px 34px rgba(28, 48, 68, .08);
}

/* ==========================================================
   CONTENEDOR DEL BUSCADOR EXISTENTE
   ========================================================== */
body.genda-job-search-design-only .job_filters .search_jobs,
body.genda-job-search-design-only form.job_filters .search_jobs,
body.genda-job-search-design-only .job_listings .job_filters .search_jobs {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(170px, .58fr);
    grid-template-areas: "keywords location submit";
    align-items: stretch;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 18px;
    background: #fff;
    border: 1px solid #e4eaf0;
    border-radius: 18px;
    box-shadow: var(--gj-search-shadow);
}

/* Neutraliza únicamente floats/anchos antiguos DENTRO del buscador. */
body.genda-job-search-design-only .job_filters .search_jobs > div {
    box-sizing: border-box;
    float: none;
    width: auto;
    min-width: 0;
    margin-top: 0;
    margin-bottom: 0;
}

body.genda-job-search-design-only .job_filters .search_jobs .search_keywords {
    grid-area: keywords;
}

body.genda-job-search-design-only .job_filters .search_jobs .search_location {
    grid-area: location;
}

body.genda-job-search-design-only .job_filters .search_jobs .search_submit {
    grid-area: submit;
    width: 100%;
}

/* ==========================================================
   CAMPOS
   ========================================================== */
body.genda-job-search-design-only .job_filters .search_jobs input[type="text"],
body.genda-job-search-design-only .job_filters .search_jobs input[type="search"],
body.genda-job-search-design-only .job_filters .search_jobs select,
body.genda-job-search-design-only .job_filters .search_jobs .select2-container .select2-selection,
body.genda-job-search-design-only .job_filters .search_jobs .select2-container--default .select2-selection--single,
body.genda-job-search-design-only .job_filters .search_jobs .select2-container--default .select2-selection--multiple {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 0 15px;
    color: var(--gj-search-text);
    background: var(--gj-search-field);
    border: 1px solid var(--gj-search-border);
    border-radius: 12px;
    outline: none;
    box-shadow: none;
    font: inherit;
    font-size: 15px;
    line-height: 1.35;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.genda-job-search-design-only .job_filters .search_jobs input::placeholder {
    color: var(--gj-search-placeholder);
    opacity: 1;
}

body.genda-job-search-design-only .job_filters .search_jobs input[type="text"]:hover,
body.genda-job-search-design-only .job_filters .search_jobs input[type="search"]:hover,
body.genda-job-search-design-only .job_filters .search_jobs select:hover,
body.genda-job-search-design-only .job_filters .search_jobs .select2-container .select2-selection:hover {
    border-color: var(--gj-search-border-hover);
}

body.genda-job-search-design-only .job_filters .search_jobs input[type="text"]:focus,
body.genda-job-search-design-only .job_filters .search_jobs input[type="search"]:focus,
body.genda-job-search-design-only .job_filters .search_jobs select:focus,
body.genda-job-search-design-only .job_filters .search_jobs .select2-container--focus .select2-selection,
body.genda-job-search-design-only .job_filters .search_jobs .select2-container--open .select2-selection {
    background: #fff;
    border-color: var(--gj-search-primary);
    box-shadow: 0 0 0 4px var(--gj-search-ring);
}

/* Select2: únicamente presentación del campo de ubicación. */
body.genda-job-search-design-only .job_filters .search_jobs .select2-container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

body.genda-job-search-design-only .job_filters .search_jobs .select2-container .select2-selection {
    display: flex;
    align-items: center;
}

body.genda-job-search-design-only .job_filters .search_jobs .select2-container--default .select2-selection--single .select2-selection__rendered {
    width: 100%;
    padding: 0 34px 0 0;
    color: var(--gj-search-text);
    line-height: 52px;
}

body.genda-job-search-design-only .job_filters .search_jobs .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: 10px;
    height: 24px;
    transform: translateY(-50%);
}

/* ==========================================================
   BOTÓN DE BÚSQUEDA EXISTENTE
   ========================================================== */
body.genda-job-search-design-only .job_filters .search_jobs .search_submit input[type="submit"],
body.genda-job-search-design-only .job_filters .search_jobs .search_submit button,
body.genda-job-search-design-only .job_filters .search_jobs input[type="submit"],
body.genda-job-search-design-only .job_filters .search_jobs button[type="submit"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px;
    height: 54px;
    margin: 0;
    padding: 0 20px;
    cursor: pointer;
    color: #fff;
    background: var(--gj-search-primary);
    border: 1px solid var(--gj-search-primary);
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(10, 168, 232, .20);
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.genda-job-search-design-only .job_filters .search_jobs .search_submit input[type="submit"]:hover,
body.genda-job-search-design-only .job_filters .search_jobs .search_submit button:hover,
body.genda-job-search-design-only .job_filters .search_jobs input[type="submit"]:hover,
body.genda-job-search-design-only .job_filters .search_jobs button[type="submit"]:hover {
    background: var(--gj-search-primary-hover);
    border-color: var(--gj-search-primary-hover);
    box-shadow: 0 9px 21px rgba(7, 143, 202, .22);
    transform: translateY(-1px);
}

body.genda-job-search-design-only .job_filters .search_jobs .search_submit input[type="submit"]:focus-visible,
body.genda-job-search-design-only .job_filters .search_jobs .search_submit button:focus-visible,
body.genda-job-search-design-only .job_filters .search_jobs input[type="submit"]:focus-visible,
body.genda-job-search-design-only .job_filters .search_jobs button[type="submit"]:focus-visible {
    outline: 3px solid rgba(10, 168, 232, .25);
    outline-offset: 2px;
}

/* ==========================================================
   TABLET
   ========================================================== */
@media (max-width: 900px) {
    body.genda-job-search-design-only .job_filters .search_jobs,
    body.genda-job-search-design-only form.job_filters .search_jobs,
    body.genda-job-search-design-only .job_listings .job_filters .search_jobs {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "keywords location"
            "submit submit";
    }
}

/* ==========================================================
   MÓVIL
   ========================================================== */
@media (max-width: 680px) {
    body.genda-job-search-design-only .job_filters .search_jobs,
    body.genda-job-search-design-only form.job_filters .search_jobs,
    body.genda-job-search-design-only .job_listings .job_filters .search_jobs {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "keywords"
            "location"
            "submit";
        gap: 10px;
        padding: 14px;
        border-radius: 16px;
        box-shadow: 0 8px 24px rgba(28, 48, 68, .07);
    }

    body.genda-job-search-design-only .job_filters .search_jobs input[type="text"],
    body.genda-job-search-design-only .job_filters .search_jobs input[type="search"],
    body.genda-job-search-design-only .job_filters .search_jobs select,
    body.genda-job-search-design-only .job_filters .search_jobs .select2-container .select2-selection,
    body.genda-job-search-design-only .job_filters .search_jobs .search_submit input[type="submit"],
    body.genda-job-search-design-only .job_filters .search_jobs .search_submit button,
    body.genda-job-search-design-only .job_filters .search_jobs input[type="submit"],
    body.genda-job-search-design-only .job_filters .search_jobs button[type="submit"] {
        min-height: 52px;
        font-size: 16px;
    }

    body.genda-job-search-design-only .job_filters .search_jobs .search_submit input[type="submit"],
    body.genda-job-search-design-only .job_filters .search_jobs .search_submit button,
    body.genda-job-search-design-only .job_filters .search_jobs input[type="submit"],
    body.genda-job-search-design-only .job_filters .search_jobs button[type="submit"] {
        height: 52px;
    }
}

/* Pantallas muy pequeñas: cero desbordamientos. */
@media (max-width: 360px) {
    body.genda-job-search-design-only .job_filters .search_jobs,
    body.genda-job-search-design-only form.job_filters .search_jobs,
    body.genda-job-search-design-only .job_listings .job_filters .search_jobs {
        padding: 12px;
        gap: 9px;
    }
}


/* ==========================================================
   WRAPPER VISUAL DEL FILTRO
   Quita el aspecto de franja azul exterior sin tocar estructura ni lógica.
   ========================================================== */
body.genda-job-search-design-only .job_filters {
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* ==========================================================
   ESTADO DE BÚSQUEDA / RESULTADOS
   Mantiene el mensaje útil y "Restablecer", ocultando solo el RSS.
   ========================================================== */
body.genda-job-search-design-only .job_filters .showing_jobs {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    min-height: 0;
    margin: 10px 0 18px;
    padding: 10px 14px;
    color: #566473;
    background: #fff;
    border: 1px solid #e4eaf0;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(20, 40, 60, .035);
    font: inherit;
    font-size: 13px;
    line-height: 1.4;
}

body.genda-job-search-design-only .job_filters .showing_jobs > span,
body.genda-job-search-design-only .job_filters .showing_jobs > p {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: inherit;
}

/* Botón/enlace Restablecer: visual únicamente. */
body.genda-job-search-design-only .job_filters .showing_jobs .reset,
body.genda-job-search-design-only .job_filters .showing_jobs a.reset {
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    padding: 6px 10px;
    color: var(--gj-search-primary) !important;
    background: rgba(10, 168, 232, .08);
    border: 1px solid rgba(10, 168, 232, .10);
    border-radius: 8px;
    box-shadow: none;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

body.genda-job-search-design-only .job_filters .showing_jobs .reset:hover,
body.genda-job-search-design-only .job_filters .showing_jobs a.reset:hover {
    color: var(--gj-search-primary-hover) !important;
    background: rgba(10, 168, 232, .13);
    border-color: rgba(10, 168, 232, .18);
}

body.genda-job-search-design-only .job_filters .showing_jobs .reset:focus-visible,
body.genda-job-search-design-only .job_filters .showing_jobs a.reset:focus-visible {
    outline: 3px solid var(--gj-search-ring);
    outline-offset: 2px;
}

/* Oculta únicamente el enlace RSS; no se oculta el contenedor de resultados. */
body.genda-job-search-design-only .job_filters .showing_jobs .rss_link,
body.genda-job-search-design-only .job_filters .showing_jobs a.rss_link,
body.genda-job-search-design-only .job_filters .showing_jobs a[href*="feed"],
body.genda-job-search-design-only .job_filters .showing_jobs a[href*="rss"] {
    display: none !important;
}

/* Si el bloque solo contiene el RSS (sin mensaje ni Restablecer), desaparece visualmente.
   :has() está soportado por navegadores modernos; si no lo está, el bloque simplemente
   conserva el estilo compacto anterior, sin afectar al funcionamiento. */
body.genda-job-search-design-only .job_filters .showing_jobs:not(:has(.reset)):not(:has(span:not(:empty))):not(:has(p:not(:empty))) {
    display: none;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

/* Evita que estilos antiguos añadan grandes espacios debajo del buscador. */
body.genda-job-search-design-only .job_filters .search_jobs + .showing_jobs {
    margin-top: 10px;
}

/* ==========================================================
   ESTADO DE BÚSQUEDA EN MÓVIL
   ========================================================== */
@media (max-width: 680px) {
    body.genda-job-search-design-only .job_filters .showing_jobs {
        gap: 8px;
        margin-top: 8px;
        margin-bottom: 14px;
        padding: 9px 11px;
        border-radius: 9px;
        font-size: 12px;
    }

    body.genda-job-search-design-only .job_filters .showing_jobs .reset,
    body.genda-job-search-design-only .job_filters .showing_jobs a.reset {
        padding: 6px 8px;
        font-size: 11px;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    body.genda-job-search-design-only .job_filters .showing_jobs {
        align-items: flex-start;
    }
}
