/* Scoped service-page FAQ; Bootstrap owns collapse state and transitions. */
.cce-faq { max-width: 1000px; margin: 0 auto; padding: 64px 16px; color: #0b111b; background: #fff; font-family: 'Open Sans', Arial, sans-serif; }
.cce-faq__intro { text-align: center; margin-bottom: 32px; }
.cce-faq .cce-faq__eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 10px; color: var(--cce-primary-red); font-size: 17px; font-weight: 700; letter-spacing: 1.5px; }
.cce-faq__eyebrow::before, .cce-faq__eyebrow::after { content: ''; width: 64px; height: 2px; background: var(--cce-primary-red); }
.cce-faq .cce-faq__title { margin: 0 0 10px; font: 700 clamp(28px, 3.5vw, 42px)/1.2 'Open Sans', Arial, sans-serif; color: #0b111b; }
.cce-faq .cce-faq__description { margin: 0; font-size: 19px; line-height: 1.6; color: #434d5b; }
.cce-faq__item { margin-bottom: 9px; border: 1px solid #dedede; border-radius: 10px; box-shadow: 0 2px 4px rgb(0 0 0 / 6%); overflow: hidden; background: #fff; }
.cce-faq .cce-faq__question { margin: 0; font-family: inherit; font-size: inherit; }
.cce-faq__toggle { display: grid; grid-template-columns: minmax(48px, auto) minmax(0, 1fr) 20px; align-items: center; gap: 14px; width: 100%; min-height: 52px; padding: 10px 18px 10px 14px; border: 0; border-radius: 0; color: #0b111b; background: #fff; text-align: left; font: 700 18px/1.45 'Open Sans', Arial, sans-serif; cursor: pointer; }
.cce-faq__toggle[aria-expanded="true"] { background: #faf3f4; }
.cce-faq__toggle:hover { background: #faf3f4; }
.cce-faq__toggle:focus-visible { outline: 3px solid var(--cce-primary-red); outline-offset: -4px; }
.cce-faq__number { padding: 3px 8px; border-radius: 9px; background: #faf3f4; color: var(--cce-primary-red); text-align: center; font-size: 20px; }
.cce-faq__label { border-left: 2px solid var(--cce-primary-red); padding-left: 16px; overflow-wrap: anywhere; }
.cce-faq__icon { position: relative; width: 18px; height: 18px; color: var(--cce-primary-red); }
.cce-faq__icon::before, .cce-faq__icon::after { content: ''; position: absolute; top: 7px; left: 0; width: 18px; height: 4px; border-radius: 2px; background: currentColor; }
.cce-faq__icon::after { transform: rotate(90deg); }
.cce-faq__toggle[aria-expanded="true"] .cce-faq__icon::after { display: none; }
.cce-faq__answer { padding: 16px 28px 20px 50px; font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
.cce-faq__answer a { color: var(--cce-primary-red); text-decoration: underline; }
@media (max-width: 575.98px) {
    .cce-faq { padding: 40px 12px; }
    .cce-faq .cce-faq__eyebrow { font-size: 13px; gap: 8px; letter-spacing: 1px; }
    .cce-faq__eyebrow::before, .cce-faq__eyebrow::after { width: 28px; }
    .cce-faq .cce-faq__description { font-size: 16px; }
    .cce-faq__toggle { grid-template-columns: 36px minmax(0, 1fr) 18px; gap: 9px; padding: 12px 10px; font-size: 15px; }
    .cce-faq__number { font-size: 17px; padding: 4px; }
    .cce-faq__label { padding-left: 10px; }
    .cce-faq__answer { padding: 14px 16px 18px; font-size: 16px; }
}
