/* =====================================================
       SECCIONES DE INPUT (unificado: sueldo, edad, ccaa)
       ===================================================== */

.titulo-grafico-calculadora-salarios {
    font-family: "Encode Sans", sans-serif;
    text-align: left;
    color: black;
    font-size: 22px;
    font-weight: 700;
    margin: 30px 0px 8px 0px;
}

.subtitulo-grafico-calculadora-salarios {
    font-size: 14px;
    text-align: left;
    font-family: "Encode Sans", sans-serif;
    line-height: 20px;
    color: #181818;
    margin: 0px 0px 16px 0px;
}

.div-input-section {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    padding-top: 20px;
    border-bottom: 1px solid #e7e7e7;
    padding-bottom: 20px;
    max-width: 500px;
    margin: 0 auto;
}

.div-input-section--no-border {
    border-bottom: none;
}

.div-input-section .subtitle {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 12px;
    color: #939393;
}

.div-input-section input {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    width: 100px;
    margin-top: 5px;
    border: 1px solid #979797;
    border-radius: 4px;
    height: 30px;
    background-color: white;
}

.div-input-section input:focus {
    outline: 2px solid #55adee;
}

.div-input-section select {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    width: 180px;
    margin-top: 5px;
    border: 2px solid rgba(231, 231, 231, 1);
    border-radius: 4px;
    box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.12);
    height: 30px;
    background-color: white;
    color: black;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"  stroke="%23979797" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 25px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Percepción salario: tiene slider y layout diferente, no lleva border */
.div-input-percepcion-salario {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    margin-top: 20px;
}

.div-input-percepcion-salario .subtitle {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 12px;
    color: #939393;
}

.div-input-percepcion-salario input {
    text-align: center;
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    width: 100px;
    margin-top: 5px;
    border: 1px solid #979797;
    border-radius: 4px;
    height: 30px;
    background-color: white;
}

.div-input-percepcion-salario input:focus {
    outline: 2px solid #55adee;
}

/* =====================================================
       DROPDOWNS WRAPPER (para posicionar error icon)
       ===================================================== */

.dropdown-wrapper {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

#percepcionDropdown {
    position: relative;
    width: fit-content;
    margin: 0 auto;
    display: none;
}

/* =====================================================
       ERROR STATES
       ===================================================== */

.inputerror select {
    border: 2px solid red;
}

.inputerror input {
    border: 2px solid red;
}

.inputerror svg {
    border: 2px solid red;
    border-radius: 4px;
}

.inputerror::after {
    content: "!";
    color: white;
    background-color: #d0021b;
    font-weight: bold;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 16px;
    position: absolute;
    top: 5px;
    right: -35px;
    border: 2px solid red;
}

/* =====================================================
       BLUR / NO RESPONSES
       ===================================================== */

.blur_div_responses {
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    width: 100%;
    background-color: #fff;
}

.div_no_responses {
    position: absolute;
    top: 200px;
    width: 100%;
    display: none;
    z-index: 1;
}

.text_no_responses {
    text-align: center;
    justify-content: center;
    margin: 0 auto;
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    max-width: 440px;
    text-shadow: #ecdc19 1px 0 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.scrollnoresponses {
    width: 50px;
    height: 50px;
    border: 2px solid #333;
    border-radius: 50%;
    position: relative;
    animation: down 3s infinite;
    -webkit-animation: down 3s infinite;

    &::before {
        content: "";
        position: absolute;
        top: 13px;
        left: 16px;
        width: 16px;
        height: 16px;
        border-left: 2px solid #333;
        border-bottom: 2px solid #333;
        transform: rotate(-45deg);
    }
}

@keyframes down {
    0% {
        transform: translate(0);
    }

    20% {
        transform: translateY(15px);
    }

    40% {
        transform: translate(0);
    }
}

@-webkit-keyframes down {
    0% {
        transform: translate(0);
    }

    20% {
        transform: translateY(15px);
    }

    40% {
        transform: translate(0);
    }
}

/* =====================================================
       BUTTONS
       ===================================================== */

.button-calcular-salarios-container {
    display: flex;
    justify-content: center;
    font-family: "Encode Sans", sans-serif;
    width: 100%;
    margin: 40px 0px;
    flex-direction: column;
    align-items: center;
}

.button-calcular-salarios {
    font-family: "Encode Sans", sans-serif;
    background-color: #4a90e2;
    border: 0px solid #d5d5d5;
    padding: 10px 60px;
    cursor: pointer;
    border-radius: 3px;
    color: white;
    font-size: 18px;
}

.button-repetir-calcular-salarios {
    font-family: "Encode Sans", sans-serif;
    background-color: #d5d5d5;
    border: 0px solid #d5d5d5;
    padding: 10px 60px;
    cursor: pointer;
    border-radius: 3px;
    color: black;
    font-size: 18px;
}

/* =====================================================
       PÁRRAFOS Y TÍTULOS DE RESULTADO
       ===================================================== */

.div-grafico-parrafo-calculadora-salarios {
    padding-top: 20px;
    border: 1px dashed grey;
    padding: 10px;
}

.parrafo-cuota {
    font-family: "Encode Sans", sans-serif;
    font-size: 18px;
    text-align: center;
    margin: 20px 0px;
}

.parrafo-previo {
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    text-align: center;
    margin: 20px auto;
    display: none;
    max-width: 440px;
    line-height: 24px;
}

.titulo-previo {
    font-family: "Encode Sans", sans-serif;
    text-align: center;
    margin: 80px 0px 20px 0px;
    display: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 18px;
    text-align: center;
    text-transform: uppercase;
    position: relative;
}

.titulo-previo::before {
    content: "";
    position: absolute;
    top: -30px;
    left: calc(50% - 150px);
    width: 100%;
    max-width: 300px;
    height: 1px;
    background-color: #e7e7e7;
}

#titulo-previo-sexo::after {
    content: url("https://lab.eldiario.es/elections-maps/calculadora-salarios/2022/iconosexo.svg");
    position: absolute;
    top: -44px;
    left: calc(50% - 25px);
    background: white;
}

#titulo-previo-contrato::after {
    content: url("https://lab.eldiario.es/elections-maps/calculadora-salarios/2022/iconocontrato.svg");
    position: absolute;
    top: -44px;
    left: calc(50% - 25px);
    background: white;
}

#titulo-previo-edad::after {
    content: url("https://lab.eldiario.es/elections-maps/calculadora-salarios/2022/iconoedad.svg");
    position: absolute;
    top: -44px;
    left: calc(50% - 25px);
    background: white;
}

#titulo-previo-ccaa::after {
    content: url("https://lab.eldiario.es/elections-maps/calculadora-salarios/2022/iconoccaa.svg");
    position: absolute;
    top: -44px;
    left: calc(50% - 25px);
    background: white;
}

/* =====================================================
       GRÁFICOS D3
       ===================================================== */

.contenedor-curva-calculadora-salarios text {
    font-size: 14px;
    font-family: "Encode Sans", sans-serif;
}

.contenedor-curva-calculadora-salarios .eje-vertical-calculadora-salarios line {
    stroke: #e5e5e5;
    stroke-dasharray: 3;
    stroke-width: 0.5;
}

.contenedor-curva-calculadora-salarios .eje-vertical-calculadora-salarios text {
    fill: #939393;
    font-size: 14px;
}

.contenedor-curva-calculadora-salarios .eje-vertical-calculadora-salarios path {
    stroke-width: 0;
}

.contenedor-curva-calculadora-salarios .eje-horizontal path {
    stroke-width: 0;
}

.contenedor-curva-calculadora-salarios .eje-horizontal text {
    fill: #848484;
    text-transform: uppercase;
}

.contenedor-curva-calculadora-salarios .eje-horizontal line {
    stroke: #848484;
    stroke-width: 1;
}

/* =====================================================
       GRÁFICO DISTRIBUCIÓN SALARIAL (módulo independiente)
       ===================================================== */

.grafico-distribucion-salarios text {
    font-size: 13px;
    font-family: "Encode Sans", sans-serif;
}

.grafico-distribucion-salarios .eje-horizontal-salarios path {
    stroke-width: 0;
}

.grafico-distribucion-salarios .eje-horizontal-salarios text {
    fill: #848484;
}

.grafico-distribucion-salarios .eje-horizontal-salarios line {
    stroke: #848484;
    stroke-width: 1;
}

.grafico-distribucion-salarios .eje-vertical-salarios path {
    stroke-width: 0;
}

.grafico-distribucion-salarios .eje-vertical-salarios line {
    stroke: #e5e5e5;
    stroke-dasharray: 3;
    stroke-width: 0.5;
}

.grafico-distribucion-salarios .eje-vertical-salarios text {
    fill: #939393;
    font-size: 13px;
}

/* =====================================================
       GRÁFICO HEATMAP CCAA (módulo independiente)
       ===================================================== */

.grafico-heatmap-ccaa text {
    font-size: 13px;
    font-family: "Encode Sans", sans-serif;
}

.grafico-heatmap-ccaa .eje-horizontal-heatmap text {
    fill: #333;
    font-size: 13px;
    font-weight: 600;
}

.grafico-heatmap-ccaa .eje-vertical-heatmap text {
    fill: #333;
    font-size: 12px;
}

.grafico-rango-salarios text {
    font-family: "Encode Sans", sans-serif;
}

.grafico-rango-salarios .eje-horizontal-rango path {
    stroke-width: 0;
}

.grafico-rango-salarios .eje-horizontal-rango text {
    fill: #848484;
    font-size: 12px;
}

.grafico-rango-salarios .eje-horizontal-rango line {
    stroke: #e5e5e5;
    stroke-width: 1;
    stroke-dasharray: 3;
}

/* =====================================================
       SLIDER
       ===================================================== */

.axis {
    font-size: 12px;
    font-family: "Encode Sans", sans-serif;
}

.parameter-value text {
    font-size: 14px;
    font-family: "Encode Sans", sans-serif;
    font-weight: 700;
    transform: translateY(-50px);
    fill: #4a90e2;
}

.track-fill {
    stroke-width: 7;
    stroke: #eeeeee;
}

.track {
    stroke-width: 9;
}

.track-inset {
    stroke-width: 7;
}

.handle:focus {
    outline: none;
}

.handle {
    fill: #4a90e2;
    stroke: none;
}

/* =====================================================
       MISC
       ===================================================== */

.columna-datos {
    text-align: right;
    padding-bottom: 0px;
    padding-top: 0px;
    border-bottom: 1px solid #ddd;
}

.primeracolumna {
    border-bottom: 1px solid #ddd;
    padding-bottom: 0px;
    padding-top: 0px;
}

.slider-contenedor {
    width: 100%;
    display: flex;
    margin-top: 20px;
    justify-content: center;
    align-items: center;
}

#buttonrepetircalculadora {
    display: none;
}

#container-calculadora-salarios {
    margin: 50px 0px;
}

.anotacion-anonimos {
    font-size: 11px;
    margin-top: 10px;
    text-align: center;
    font-family: Encode Sans;
    color: #848484;
}
