html {
    scroll-behavior: smooth;
}

section[id] {
    scroll-margin-top: 80px; /* 헤더 높이만큼 여백 추가 */
}

/* Modal styles */
#service-modal.hidden {
    display: none;
}

#modal-content {
    transition: transform 0.3s ease-out;
    transform: scale(0.95);
}

#service-modal:not(.hidden) #modal-content {
    transform: scale(1);
}

/* FAQ Accordion styles */
.faq-answer {
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out, background-color 0.3s ease-in-out;
    max-height: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-color: #E5E7EB; /* gray-200, 더 어두운 회색 배경 */
}

.faq-answer:not(.hidden) {
    max-height: 1000px; /* A large enough value to allow content to expand */
    padding-top: 1.5rem !important; /* Corresponds to pb-6 */
    padding-bottom: 1.5rem !important;
}

.arrow-icon {
    transition: transform 0.3s ease-in-out;
}

.faq-question.active .arrow-icon {
    transform: rotate(180deg);
}