 :root {
     --primary: #1d3553;
     --secondary: #03355c;
     --accent: #03355c;
     --light: #f7fafc;
     --dark: #282828;
     --transition: all 0.3s ease;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
 }

 body {
     background: linear-gradient(135deg, #608097 0%, #608097 100%);
     color: var(--dark);
     line-height: 1.6;
     min-height: 100vh;
 }

 #faq {
     max-width: 1000px;
     margin: 40px auto;
     padding: 20px;
 }

 .custom-box-faq {
     text-align: center;
     margin-bottom: 40px;
     position: relative;
 }

 .custom-box-faq h1 {
     font-size: 2.5rem;
     color: #fff;
     font-weight: 700;
     letter-spacing: -0.5px;
     position: relative;
     display: inline-block;
     padding-bottom: 15px;
 }

 .custom-box-faq h1::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     width: 80px;
     height: 4px;
     background: var(--accent);
     border-radius: 2px;
 }

 .faq-section {
     background: white;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
 }

 .faq-item {
     border-bottom: 1px solid #e2e8f0;
     transition: var(--transition);
 }

 .faq-item:last-child {
     border-bottom: none;
 }

 .faq-question {
     width: 100%;
     text-align: left;
     background: white;
     color: var(--primary);
     padding: 22px 60px 22px 25px;
     border: none;
     font-size: 18px;
     font-weight: 600;
     cursor: pointer;
     position: relative;
     transition: var(--transition);
     display: flex;
     align-items: center;
 }

 .faq-question:hover {
     background: #f8fafc;
 }

 .faq-question i {
     margin-right: 15px;
     color: var(--accent);
     font-size: 20px;
 }

 .faq-question::after {
     content: '\f078';
     font-family: 'Font Awesome 6 Free';
     font-weight: 900;
     position: absolute;
     right: 25px;
     font-size: 16px;
     transition: var(--transition);
     color: var(--secondary);
 }

 .faq-question.active::after {
     transform: rotate(180deg);
     color: var(--accent);
 }

 .faq-answer {
     max-height: 0;
     overflow: hidden;
     background: #f8fafc;
     color: var(--dark);
     transition: max-height 0.5s ease, padding 0.3s ease;
 }

 .faq-answer-inner {
     padding: 0 25px 25px 70px;
     line-height: 1.7;
 }

 .faq-answer p {
     margin-bottom: 15px;
 }

 .faq-item.active .faq-answer {
     max-height: 500px;
 }

 .medical-icon {
     display: inline-block;
     margin-right: 10px;
     width: 30px;
     height: 30px;
     background: var(--accent);
     border-radius: 50%;
     color: white;
     text-align: center;
     line-height: 30px;
     font-size: 14px;
 }

 @media (max-width: 768px) {
     .custom-box-faq h1 {
         font-size: 2rem;
     }

     .faq-question {
         padding: 18px 50px 18px 20px;
         font-size: 16px;
     }

     .faq-question::after {
         right: 20px;
     }

     .faq-answer-inner {
         padding: 0 20px 20px 20px;
     }

     .faq-question i {
         display: none;
     }
 }

 @media (max-width: 480px) {
     #faq {
         margin: 20px auto;
         padding: 10px;
     }

     .custom-box-faq h1 {
         font-size: 1.7rem;
     }

     .faq-question {
         padding: 15px 45px 15px 15px;
         font-size: 15px;
     }

     .faq-question::after {
         right: 15px;
     }
 }

 .special-note {
     background: linear-gradient(135deg, #e6f7ff 0%, #ebf4ff 100%);
     border-left: 4px solid var(--secondary);
     padding: 20px;
     margin-top: 30px;
     border-radius: 8px;
     font-style: italic;
 }