/* ==========================================
   AUDIO LIBRARY
   audio-library.css
========================================== */

.audio-library-section {

    padding: 60px 20px;

    background: linear-gradient(
        180deg,
        #f5f7fb,
        #ffffff
    );

}

.audio-library-section .container {

    max-width: 1200px;

    margin: auto;

}

/* ==========================================
   HERO SECTION
========================================== */

.hero-box {

    background: #ffffff;

    padding: 50px;

    border-radius: 20px;

    box-shadow: 0 10px 25px rgba(0,0,0,.08);

    margin-bottom: 50px;

}

.hero-box h1 {

    text-align: center;

    font-size: 46px;

    color: #d46a00;

    margin-bottom: 25px;

}

.hero-box p {

    font-size: 20px;

    line-height: 1.9;

    color: #444;

    text-align: justify;

    margin-bottom: 20px;

}

/* ==========================================
   FEATURES SECTION
========================================== */

.features-section {

    margin-bottom: 50px;

}

.features-section h2 {

    text-align: center;

    font-size: 38px;

    color: #d46a00;

    margin-bottom: 35px;

}

.feature-grid {

    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(250px, 1fr)
        );

    gap: 25px;

}

.feature-card {

    background: #ffffff;

    padding: 30px;

    border-radius: 18px;

    box-shadow: 0 8px 20px rgba(0,0,0,.08);

    transition: all .3s ease;

}

.feature-card:hover {

    transform: translateY(-6px);

}

.feature-card h3 {

    font-size: 24px;

    color: #222;

    margin-bottom: 15px;

}

.feature-card p {

    font-size: 17px;

    line-height: 1.8;

    color: #555;

}

/* ==========================================
   LANGUAGES
========================================== */

.languages-section {

    background: #ffffff;

    padding: 40px;

    border-radius: 20px;

    box-shadow: 0 10px 25px rgba(0,0,0,.08);

    margin-bottom: 50px;

}

.languages-section h2 {

    text-align: center;

    font-size: 36px;

    color: #d46a00;

    margin-bottom: 35px;

}

.language-grid {

    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(220px, 1fr)
        );

    gap: 15px;

}

.language-grid span {

    background: linear-gradient(
        135deg,
        #ff9800,
        #ffb74d
    );

    color: #ffffff;

    padding: 15px;

    text-align: center;

    border-radius: 12px;

    font-size: 18px;

    font-weight: 600;

    box-shadow: 0 4px 10px rgba(0,0,0,.10);

}

/* ==========================================
   SELECTOR
========================================== */

.selector-section {

    margin-bottom: 50px;

}

.selector-section h2 {

    text-align: center;

    font-size: 38px;

    color: #d46a00;

    margin-bottom: 15px;

}

.selector-section p {

    text-align: center;

    font-size: 19px;

    color: #555;

    margin-bottom: 30px;

}

.selector-card {

    background: #ffffff;

    max-width: 700px;

    margin: auto;

    padding: 40px;

    border-radius: 20px;

    box-shadow: 0 10px 25px rgba(0,0,0,.08);

}

.selector-card label {

    display: block;

    font-size: 20px;

    font-weight: bold;

    color: #333;

    margin-bottom: 10px;

    margin-top: 20px;

}

.selector-card select,
.selector-card input {

    width: 100%;

    padding: 15px;

    border: 2px solid #dddddd;

    border-radius: 10px;

    font-size: 18px;

    background: #ffffff;

    outline: none;

    transition: .3s;

}

.selector-card select:focus,
.selector-card input:focus {

    border-color: #d46a00;

    box-shadow: 0 0 10px rgba(212,106,0,.15);

}

.selector-card button {

    width: 100%;

    margin-top: 30px;

    padding: 18px;

    border: none;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #d46a00,
        #ff9800
    );

    color: #ffffff;

    font-size: 22px;

    font-weight: bold;

    cursor: pointer;

    transition: .3s ease;

}

.selector-card button:hover {

    transform: translateY(-4px);

    box-shadow: 0 10px 20px rgba(0,0,0,.15);

}

/* ==========================================
   INFO BOX
========================================== */

.info-box {

    background: #fff8ef;

    padding: 40px;

    border-left: 6px solid #d46a00;

    border-radius: 16px;

}

.info-box h2 {

    font-size: 34px;

    color: #d46a00;

    margin-bottom: 20px;

}

.info-box p {

    font-size: 19px;

    line-height: 1.9;

    color: #444;

    text-align: justify;

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 768px) {

    .audio-library-section {

        padding: 40px 15px;

    }

    .hero-box {

        padding: 30px;

    }

    .hero-box h1 {

        font-size: 34px;

        line-height: 1.3;

    }

    .hero-box p {

        font-size: 17px;

    }

    .features-section h2,
    .languages-section h2,
    .selector-section h2,
    .info-box h2 {

        font-size: 28px;

    }

    .languages-section {

        padding: 25px;

    }

    .language-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

    .language-grid span {

        font-size: 15px;

        padding: 12px;

    }

    .selector-card {

        padding: 25px;

    }

    .selector-card label {

        font-size: 18px;

    }

    .selector-card select,
    .selector-card input {

        font-size: 16px;

    }

    .selector-card button {

        font-size: 18px;

        padding: 16px;

    }

    .info-box {

        padding: 25px;

    }

    .info-box p {

        font-size: 17px;

    }

}
