/* AB-WEB-SOLUTION-DISCLOSURE v0.1.1. Opt-in component, native details. */
.ab-solution { margin-block: 28px; border: 1px solid var(--navy); border-radius: 3px; background: var(--paper); }
.ab-solution > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; padding: 16px 22px; box-sizing: border-box; list-style: none; cursor: pointer; color: var(--navy); font: 700 15px/1.5 "Manrope", sans-serif; border-radius: 2px; }
.ab-solution > summary::-webkit-details-marker { display: none; }
.ab-solution > summary::marker { content: ""; }
.ab-solution > summary:hover { background: var(--cream); }
.ab-article .ab-solution > summary:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.ab-solution__hide, .ab-solution[open] > summary .ab-solution__show { display: none; }
.ab-solution[open] > summary .ab-solution__hide { display: inline; }
.ab-solution__icon { position: relative; display: inline-block; width: 24px; height: 24px; flex: 0 0 24px; }
.ab-solution__icon::before, .ab-solution__icon::after { content: ""; position: absolute; background: currentColor; border-radius: 1px; }
.ab-solution__icon::before { width: 16px; height: 2px; left: 4px; top: 11px; }
.ab-solution__icon::after { width: 2px; height: 16px; left: 11px; top: 4px; }
.ab-solution[open] > summary .ab-solution__icon::after { display: none; }
.ab-solution[open] > summary { border-bottom: 1px solid var(--line); background: var(--cream); }
.ab-solution__body { padding: 28px; }
.ab-solution__body > :first-child { margin-top: 0; }
.ab-solution__body > :last-child { margin-bottom: 0; }
@media (max-width: 600px) {
 .ab-solution > summary { padding: 16px; gap: 12px; }
 .ab-solution__body { padding: 22px 16px; }
}
@media (forced-colors: active) { .ab-solution__icon::before, .ab-solution__icon::after { background: ButtonText; } }
