@media screen and (min-width: 300px) {
    .container {
        width: 100%;
        height: fit-content;
        padding-top: 130px;
        padding-bottom: 30px;
    }

    .faq-container {
        max-width: 800px;
        margin: 0 auto;
        background-color: #ffffff;
        padding: 30px 10px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    h2 {
        text-align: center;
        margin-bottom: 30px;
        color: #007bff;
    }

    .faq-item {
        margin-bottom: 20px;
        border-left: 4px solid transparent;
        overflow: hidden;
        opacity: 0;
        transform: scale(0.95);
        transition: opacity 0.6s ease, transform 0.6s ease, border-left 0.3s;
    }

    .faq-item.visible {
        opacity: 1;
        transform: scale(1);
    }

    .faq-question {
        cursor: pointer;
        padding: 15px;
        font-weight: bold;
        color: #333;
        background-color: #f9f9f9;
        border-radius: 5px;
        transition: background-color 0.3s, color 0.3s;
    }

    .faq-question:hover {
        background-color: #e9f1ff;
        color: #007bff;
    }

    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease, padding 0.3s ease;
        padding: 0 15px;
        color: #333;
    }

    .faq-answer.open {
        padding: 15px;
        max-height: 500px;
    }

    /* Style when open */
    .faq-answer.open~.faq-question,
    .faq-question.active {
        color: #007bff;
    }

    /* Add blue border when visible and answer is open */
    .faq-answer.open {
        border-left: 4px solid #007bff;
        border-radius: 0 0 5px 5px;
    }
}

@media screen and (min-width: 700px) {
    .container {
        width: 100%;
        height: fit-content;
        padding-top: 130px;
        padding-bottom: 30px;
    }

    .faq-container {
        max-width: 800px;
        margin: 0 auto;
        background-color: #ffffff;
        padding: 30px 20px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    h2 {
        text-align: center;
        margin-bottom: 30px;
        color: #007bff;
    }

    .faq-item {
        margin-bottom: 20px;
        border-left: 4px solid transparent;
        overflow: hidden;
        opacity: 0;
        transform: scale(0.95);
        transition: opacity 0.6s ease, transform 0.6s ease, border-left 0.3s;
    }

    .faq-item.visible {
        opacity: 1;
        transform: scale(1);
    }

    .faq-question {
        cursor: pointer;
        padding: 15px;
        font-weight: bold;
        color: #333;
        background-color: #f9f9f9;
        border-radius: 5px;
        transition: background-color 0.3s, color 0.3s;
    }

    .faq-question:hover {
        background-color: #e9f1ff;
        color: #007bff;
    }

    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease, padding 0.3s ease;
        padding: 0 15px;
        color: #333;
    }

    .faq-answer.open {
        padding: 15px;
        max-height: 500px;
    }

    /* Style when open */
    .faq-answer.open~.faq-question,
    .faq-question.active {
        color: #007bff;
    }

    /* Add blue border when visible and answer is open */
    .faq-answer.open {
        border-left: 4px solid #007bff;
        border-radius: 0 0 5px 5px;
    }
}

@media screen and (min-width: 1100px) {
    .container {
        width: 100%;
        height: fit-content;
        padding-top: 150px;
        padding-bottom: 30px;
    }

    .faq-container {
        max-width: 800px;
        margin: 0 auto;
        background-color: #ffffff;
        padding: 30px 40px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    h2 {
        text-align: center;
        margin-bottom: 30px;
        color: #007bff;
    }

    .faq-item {
        margin-bottom: 20px;
        border-left: 4px solid transparent;
        overflow: hidden;
        opacity: 0;
        transform: scale(0.95);
        transition: opacity 0.6s ease, transform 0.6s ease, border-left 0.3s;
    }

    .faq-item.visible {
        opacity: 1;
        transform: scale(1);
    }

    .faq-question {
        cursor: pointer;
        padding: 15px;
        font-weight: bold;
        color: #333;
        background-color: #f9f9f9;
        border-radius: 5px;
        transition: background-color 0.3s, color 0.3s;
    }

    .faq-question:hover {
        background-color: #e9f1ff;
        color: #007bff;
    }

    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease, padding 0.3s ease;
        padding: 0 15px;
        color: #333;
    }

    .faq-answer.open {
        padding: 15px;
        max-height: 500px;
    }

    /* Style when open */
    .faq-answer.open~.faq-question,
    .faq-question.active {
        color: #007bff;
    }

    /* Add blue border when visible and answer is open */
    .faq-answer.open {
        border-left: 4px solid #007bff;
        border-radius: 0 0 5px 5px;
    }
}