/*======================================
    PANTALLAS GRANDES (1200px+)
======================================*/

@media screen and (min-width:1200px) {
    .container {
        max-width: 1600px;
    }
    .grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
}


/*======================================
    PORTÁTILES (992px - 1199px)
======================================*/

@media screen and (max-width:1199px) {
    .container {
        width: 95%;
    }
    header {
        padding: 60px 20px;
    }
    header h1 {
        font-size: 36px;
    }
    header p {
        font-size: 17px;
    }
    .grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    .card {
        padding: 25px;
    }
    .calculadora {
        max-width: 90%;
    }
}


/*======================================
    TABLETS
======================================*/

@media screen and (max-width:768px) {
    header {
        padding: 50px 20px;
    }
    header h1 {
        font-size: 30px;
    }
    header p {
        font-size: 16px;
    }
    .container {
        width: 95%;
    }
    .grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .card {
        min-height: auto;
        padding: 25px;
    }
    .icon {
        font-size: 50px;
    }
    .card h2 {
        font-size: 22px;
    }
    .card p {
        font-size: 15px;
    }
    .calculadora {
        width: 100%;
        max-width: 100%;
        margin: 30px auto;
        padding: 25px;
    }
    .botones {
        flex-direction: column;
        gap: 15px;
    }
    .botones button {
        width: 100%;
    }
    .btn {
        width: 100%;
    }
    .linea {
        font-size: 15px;
    }
    .total {
        font-size: 20px;
    }
}


/*======================================
    MÓVILES PEQUEÑOS
======================================*/

@media screen and (max-width:480px) {
    body {
        font-size: 15px;
    }
    header {
        padding: 40px 15px;
    }
    header h1 {
        font-size: 26px;
    }
    header p {
        font-size: 14px;
    }
    .card {
        padding: 20px;
    }
    .icon {
        font-size: 42px;
    }
    .card h2 {
        font-size: 20px;
    }
    .card p {
        font-size: 14px;
    }
    .calculadora {
        padding: 20px;
        border-radius: 15px;
    }
    .calculadora input,
    .calculadora select {
        padding: 12px;
        font-size: 15px;
    }
    button,
    .btn {
        font-size: 15px;
        padding: 13px;
    }
    .resultado {
        padding: 15px;
    }
    .linea {
        font-size: 14px;
    }
    .total {
        font-size: 18px;
    }
    footer {
        font-size: 14px;
        padding: 25px 10px;
    }
}