html.spl-help-document { scroll-behavior: auto; }
.spl-help .main { max-width: 1000px; margin: 24px auto 48px; padding: 0 16px; }
.spl-help .card { padding: clamp(20px, 4vw, 38px); }
.spl-help h1 { color: #0e3e9a; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; margin: 0 0 12px; }
.spl-help h2 { font-size: 21px; line-height: 1.3; margin: 0 0 10px; }
.spl-help .help-lead { color: #47566c; margin: 0 0 22px; }
.help-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: end; }
.help-filters label { display: grid; gap: 6px; margin: 0; font-size: 14px; font-weight: 700; min-width: 0; }
.help-filters input, .help-filters select { width: 100%; min-width: 0; margin: 0; height: 50px; padding: 12px; border: 1px solid #aebed6; border-radius: 10px; font: inherit; color: #101c2e; background: #fff; }
.help-filters button { justify-self: start; padding: 9px 14px; border: 1px solid #aebed6; border-radius: 10px; background: #edf3ff; color: #0e3e9a; cursor: pointer; font: inherit; }
.spl-help [hidden] { display: none !important; }
.spl-help .faq-accordion { display: grid; gap: 12px; margin-top: 18px; }
.spl-help details.faq-item { margin: 0; border: 1px solid #dce4ef; border-radius: 14px; overflow: hidden; scroll-margin-top: 120px; background: #fff; }
.spl-help details.faq-item > summary.faq-q { display: block; list-style: none; position: relative; cursor: pointer; font-size: 16px; line-height: 1.5; padding: 16px 44px 16px 16px; color: #0e3e9a; font-weight: 700; overflow-wrap: anywhere; }
.spl-help details[open] > summary { list-style-type: disclosure-open; }
.spl-help .faq-a { padding: 0 18px 18px; color: #334155; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.spl-help .faq-a p { margin: 0 0 12px; }
.spl-help .faq-a p:last-child { margin-bottom: 0; }
.spl-help .faq-a a, .help-next a, .help-contact a, #helpEmpty a { text-decoration: underline; color: #0e3e9a; }
.help-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
.help-topics a { display: flex; align-items: center; padding: 14px; color: #0e3e9a; background: #edf3ff; border: 1px solid #d2dff3; border-radius: 12px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.help-contact { padding: 18px; border: 1px solid #d2dff3; border-radius: 14px; background: #f5f8fd; }
.help-contact p { font-size: 14px; line-height: 1.65; margin: 8px 0 0; overflow-wrap: anywhere; }
.help-next { margin: 24px 0 0; line-height: 1.7; }
.spl-help :is(a, button, input, select, summary):focus-visible { outline: 3px solid #1657d0; outline-offset: 3px; }
@media (max-width: 600px) {
  .spl-help details.faq-item > summary.faq-q { padding-right: 44px !important; }
  .spl-help .main { padding: 0 10px; margin-top: 16px; }
  .help-filters { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .help-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.spl-help details.faq-item > summary.faq-q::after { content: "+"; position: absolute; right: 16px; top: 14px; font-size: 22px; line-height: 1.2; color: #0e3e9a; }
.spl-help details[open] > summary.faq-q::after { content: "−"; }

/* Phase F: the filters are revealed by help-pages.js. Reserve their space while hidden so the
   question list does not jump when they appear (was CLS 0.14 on the FAQ page). */
.spl-help .help-filters[hidden] { display: grid !important; visibility: hidden; }
.inq-form { display: grid; gap: 12px; margin-top: 12px; }
.inq-form label { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.inq-form input:not(.inq-trap), .inq-form textarea { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; font: inherit; font-weight: 400; border: 1px solid #b9c6da; border-radius: 10px; background: #fff; }
.inq-form textarea { min-height: 110px; resize: vertical; }
.inq-opt { font-weight: 400; color: #47566c; }
.inq-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.inq-error { color: #b42318; margin: 0; min-height: 1.3em; font-size: 14px; }
.inq-result:not(:empty) { padding: 14px; border-radius: 12px; border: 1px solid #b7d7c2; background: #f1faf4; font-size: 15px; line-height: 1.6; }
.inq-result.is-urgent:not(:empty) { border-color: #f0c9a6; background: #fff7ee; }
.inq-result p { margin: 6px 0 0; }
.inq-result .inq-ref { color: #47566c; font-size: 13px; }
