.faq-page-section { padding: 80px 20px 70px; background: #ffffff;}
.faq-page-container { max-width: 1200px; margin: 0 auto;}
.faq-accordion { display: flex; flex-direction: column; gap: 24px;}
.faq-card { background: #ffffff; border-radius: 30px; box-shadow: 0 18px 45px rgba(74, 88, 54, 0.08); padding: 0;  overflow: hidden;}
.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 0; background: transparent; text-align: left; font-size: 24px; line-height: 1.35; color: #9cad34; cursor: pointer; outline: none; box-shadow: none;}
.faq-question:focus,
.faq-question:focus-visible,
.faq-question:active { outline: none; box-shadow: none; border: 0;}
.faq-icon { position: relative; flex-shrink: 0; width: 38px; height: 38px; border: 1px solid rgba(157, 173, 52, 0.25); border-radius: 50%;}
.faq-icon::before,
.faq-icon::after { content: ""; position: absolute; top: 50%; left: 50%; background: #173f3c; transform: translate(-50%, -50%); transition: transform 0.25s ease, opacity 0.25s ease;}
.faq-icon::before { width: 16px; height: 2px;}
.faq-icon::after { width: 2px; height: 16px;}
.faq-card.active .faq-icon { background: #49663b; border-color: #49663b;}
.faq-card.active .faq-icon::before,
.faq-card.active .faq-icon::after { background: #ffffff;}
.faq-card.active .faq-icon::after { opacity: 0;}
.faq-answer { padding: 0 20px 20px;}


.faq-answer p {  margin: 0; max-width: 1130px; line-height: 1.75;}
.faq-contact-section { padding: 60px 20px 90px; background: #f4f8ee;}
.faq-contact-title {  margin: 0;  text-align: center;  font-size: clamp(42px, 5vw, 64px);  line-height: 1.1;  color: #49663b;}
.faq-contact-note {display: grid; grid-template-columns: auto 1fr auto;  align-items: center; gap: 22px; max-width: 860px; margin: 40px auto 56px;}
.faq-contact-note-line {  width: 2px;  height: 30px;  background: #9cad34;}
.faq-contact-note p {  margin: 0;   line-height: 1.8; }
.faq-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; max-width: 1120px; margin: 0 auto;}
.faq-contact-item { display: flex; align-items: flex-start; gap: 24px;}
.faq-contact-icon { flex-shrink: 0; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; color: #9cad34;}
.faq-contact-icon svg { width: 38px; height: 38px;}
.faq-contact-text h3 { margin: 0 0 8px; font-size: 22px; color: #49663b;}
.faq-contact-text p,
.faq-contact-text a { margin: 0; line-height: 1.7; color: #555; text-decoration: none;}
.faq-contact-text a:hover { color: #49663b;}


@media (max-width: 991px) { .faq-question {   font-size: 21px;   padding: 24px 24px; }
.faq-answer { padding: 0 24px 24px;}
.faq-contact-container { padding: 70px 24px 50px;}
.faq-contact-grid {  grid-template-columns: 1fr;  gap: 30px;}}
@media (max-width: 767px) {.faq-page-section {  padding: 50px 16px 20px;}
.faq-accordion {  gap: 18px;}
.faq-card {  border-radius: 22px;}
.faq-question { padding: 15px; font-size: 18px; gap: 14px;}
.faq-icon {  width: 34px;  height: 34px;}
.faq-answer {  padding: 0 20px 22px;}
.faq-answer p { font-size: 16px;}
.faq-contact-section { padding: 40px 16px 60px;}
.faq-contact-container {  padding: 54px 12px 20px;}
.faq-contact-note {  grid-template-columns: 1fr;  gap: 16px;  margin: 42px auto 40px;  text-align: center;}
.faq-contact-note-line { display: none;}
.faq-contact-item {  gap: 16px;}
.faq-contact-icon { width: 46px; height: 46px;}
.faq-contact-icon svg { width: 30px; height: 30px;}
.faq-contact-text h3 {  font-size: 20px;}
.faq-contact-text p,.faq-contact-text a,.faq-contact-note p {  font-size: 14px;}}
