/* Public FAQ only. The saved page remains editable; no global theme resets. */
.yolo-faq-surface main.wp-block-group { margin-block: 0 !important; padding-block: 0 !important; }
.yolo-faq-surface main > .wp-block-group,
.yolo-faq-surface main .wp-block-post-content { width: 100%; max-width: none; margin: 0 !important; padding: 0 !important; }
.yolo-faq-page { box-sizing: border-box; width: calc(100% - 48px); max-width: 1120px; margin: 0 auto !important; padding: 48px 0 64px; color: #172b46; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.yolo-faq-page *, .yolo-faq-page *::before, .yolo-faq-page *::after { box-sizing: border-box; }
.yolo-faq-page .yolo-faq-intro { margin: 0 0 40px; padding: 36px 40px; border: 1px solid #dce5ef; border-radius: 20px; background: #f3f7fb; }
.yolo-faq-page .yolo-faq-eyebrow { margin: 0 0 12px; color: #47607c; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.yolo-faq-page h1 { max-width: 850px; margin: 0 0 16px; color: #173b6d; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; font-weight: 650; text-wrap: balance; }
.yolo-faq-page .yolo-faq-intro > p:last-child { max-width: 65ch; margin: 0; color: #47607c; font-size: 17px; }
.yolo-faq-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.yolo-faq-topics { min-width: 0; }
.yolo-faq-topics > p { margin: 0 0 12px; font-size: 13px; color: #52677f; font-weight: 650; }
.yolo-faq-topics a { display: flex; gap: 12px; justify-content: space-between; align-items: center; min-height: 48px; margin: 0 0 8px; padding: 12px 16px; color: #173b6d; border: 1px solid #dce5ef; border-radius: 10px; background: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.yolo-faq-topics a:hover { border-color: #173b6d; background: #f3f7fb; }
.yolo-faq-sections { min-width: 0; }
.yolo-faq-section { margin: 0 0 32px; }
.yolo-faq-section > h2 { margin: 0 0 14px; font-size: 23px; line-height: 1.4; font-weight: 650; color: #173b6d; scroll-margin-top: 80px; }
.yolo-faq-questions { overflow: clip; border: 1px solid #dce5ef; border-radius: 14px; background: #fff; }
.yolo-faq-item { margin: 0; padding: 0; scroll-margin-top: 80px; }
.yolo-faq-item + .yolo-faq-item { border-top: 1px solid #e2e8f0; }
.yolo-faq-item summary { position: relative; display: block; list-style: none; min-height: 64px; padding: 20px 60px 20px 24px; cursor: pointer; }
.yolo-faq-item summary::-webkit-details-marker { display: none; }
.yolo-faq-item summary::after { content: '+'; position: absolute; right: 20px; top: 18px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #edf3fa; color: #173b6d; font: 22px/1 sans-serif; }
.yolo-faq-item[open] summary::after { content: '\2212'; }
.yolo-faq-item summary:hover, .yolo-faq-item[open] summary { background: #f8fafc; }
.yolo-faq-item summary h3 { margin: 0; font-size: 17px; line-height: 1.5; font-weight: 600; color: #172b46; }
.yolo-faq-answer { padding: 0 24px 22px; background: #f8fafc; color: #43556d; line-height: 1.8; }
.yolo-faq-answer p { margin: 0 0 12px; }
.yolo-faq-answer > :last-child { margin-bottom: 0; }
.yolo-faq-answer a { color: #173b6d; text-decoration: underline; text-underline-offset: 3px; }
.yolo-faq-page :is(a, summary):focus-visible { outline: 3px solid #173b6d; outline-offset: -3px; border-radius: 8px; }
.yolo-faq-help { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin: 40px 0 0; padding: 28px; border-radius: 14px; background: #173b6d; color: #fff; }
.yolo-faq-help > div { flex: 1 1 280px; }
.yolo-faq-help h2 { margin: 0 0 8px; color: #fff; font-size: 22px; line-height: 1.4; }
.yolo-faq-help p { margin: 0; font-size: 15px; line-height: 1.7; }
.yolo-faq-help > a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 18px; border-radius: 8px; background: #fff; color: #173b6d; font-size: 14px; font-weight: 650; text-decoration: none; }
.yolo-faq-help > a:hover { background: #eef3f8; }
.yolo-faq-help > a:focus-visible { outline-color: #efc869; outline-offset: 4px; }
.yolo-faq-fallback { max-width: 850px; }
.yolo-faq-fallback > * { max-width: 100%; }
@media (max-width: 900px) {
    .yolo-faq-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .yolo-faq-topics { display: flex; flex-wrap: wrap; gap: 8px; }
    .yolo-faq-topics > p { width: 100%; margin: 0; }
    .yolo-faq-topics a { flex: 1 1 190px; margin: 0; }
}
@media (max-width: 600px) {
    .yolo-faq-page { width: calc(100% - 32px); padding: 24px 0 40px; }
    .yolo-faq-page .yolo-faq-intro { padding: 24px; margin-bottom: 24px; border-radius: 14px; }
    .yolo-faq-page .yolo-faq-intro > p:last-child { font-size: 16px; }
    .yolo-faq-section > h2 { font-size: 21px; }
    .yolo-faq-item summary { padding: 18px 52px 18px 18px; }
    .yolo-faq-item summary::after { right: 14px; top: 17px; }
    .yolo-faq-item summary h3 { font-size: 16px; }
    .yolo-faq-answer { padding: 0 18px 20px; font-size: 15px; }
    .yolo-faq-help { padding: 24px; margin-top: 28px; }
    .yolo-faq-help > a { width: 100%; }
}
@media print {
    .yolo-faq-page { width: 100%; max-width: none; padding: 0; }
    .yolo-faq-layout { display: block; }
    .yolo-faq-topics, .yolo-faq-help { display: none; }
    .yolo-faq-item::details-content { content-visibility: visible; }
    .yolo-faq-item .yolo-faq-answer { display: block !important; }
    .yolo-faq-item summary::after { display: none; }
    .yolo-faq-item { break-inside: avoid; }
}
