/* Original heading scale is retained when the semantic level changes. */
/* Bootstrap's h1-h6 classes provide responsive font sizes; template rules
   match geo-h1..geo-h6 aliases at their original specificity. */
.ivr-faq { padding: 60px 0; scroll-margin-top: 100px; }
.ivr-faq h2 { color: #2a2a2a; font-size: 30px; font-weight: 700; line-height: 1.3; margin-bottom: 24px; }
.ivr-faq details { border: 1px solid #dce6f2; border-radius: 10px; margin-bottom: 12px; background: #fff; scroll-margin-top: 100px; }
.ivr-faq summary { cursor: pointer; padding: 20px; color: #26364a; }
.ivr-faq summary::marker { color: #4b8ef1; }
.ivr-faq summary :is(h3, .faq-question) { display: inline; font-size: 18px; line-height: 1.5; font-weight: 600; }
.ivr-faq summary:focus-visible { outline: 3px solid #4b8ef1; outline-offset: 3px; border-radius: 10px; }
.ivr-faq details[open] summary { border-bottom: 1px solid #dce6f2; }
.ivr-faq-answer { padding: 16px 20px 20px; }
.ivr-faq-answer p { color: #39495c; font-size: 16px; font-weight: 400; line-height: 1.8; margin: 0; }
@media (max-width: 575px) { .ivr-faq { padding: 40px 0; } .ivr-faq h2 { font-size: 25px; } .ivr-faq summary { padding: 16px; } }
/* Retain the original heading margins despite Bootstrap's .hN utilities. */
[class*="geo-h"] { margin-top: 0; margin-bottom: 0; }
#main-content p.geo-h3, #main-content p.geo-h5, #main-content p.geo-h6 { margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 0; color: #212529; font-weight: 500; }
#main-content .flip-card-back p.geo-h6 { color: #000; }
