/* Shared FAQ section (copy of the index.php #faq block, 2026-10-29). Markup comes from faq-index.php: maroon band, intro and art on the left, white accordion panel on the right. */
#faq { position: relative; overflow: hidden; background: #470000; }
#faq::before { content: ""; position: absolute; left: 43%; top: -330px; width: 440px; height: 440px; border-radius: 50%; background: rgba(255, 0, 0, .14); pointer-events: none; }
#faq .container { position: relative; z-index: 1; }
#faq .faq-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; align-items: center; }
@media (min-width: 992px) { #faq .faq-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; } }
#faq .faq-intro { position: relative; padding: 0; border-radius: 0; background: none; color: #fff; }
#faq .faq-intro::before { content: none; }
#faq .faq-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; padding: 7px 16px; border-radius: 999px; background: #fff; color: #470000; font-size: 13px; font-weight: 800; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
#faq .faq-kicker i { color: #ff0000; font-size: 14px; }
#faq .faq-title { position: relative; margin: 0 0 20px; color: #fff; font-weight: 800; line-height: 1.2; letter-spacing: -.015em; }
#faq .faq-title span { display: block; color: #ff0000; }
#faq .faq-rule { display: block; width: 44px; height: 2px; margin: 0 0 30px; border-radius: 2px; background: #ff0000; }
#faq .faq-art { display: block; width: min(100%, 380px); height: auto; overflow: visible; }

#faq .faq-right { padding: 14px; border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
#faq .hp-faq-list { display: flex; flex-direction: column; gap: 0; margin: 0; }
#faq .hp-faq-item { border: 0; border-bottom: 1px solid #f6d6d6; border-radius: 10px; background: transparent; overflow: hidden; transition: background .2s ease; }
#faq .hp-faq-item:last-child { border-bottom-color: transparent; }
#faq .hp-faq-item:hover, #faq .hp-faq-item[open] { border-bottom-color: transparent; background: #fadcdc; }
#faq .hp-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 12px 18px; color: #470000; font-weight: 700; line-height: 1.4; cursor: pointer; list-style: none; }
#faq .hp-faq-item summary:focus-visible { outline: 2px solid #ff0000; outline-offset: -3px; }
#faq .hp-faq-item summary::-webkit-details-marker { display: none; }
#faq .hp-faq-q { flex: 1 1 auto; min-width: 0; }
#faq .hp-faq-item summary::after { content: "+"; flex: 0 0 24px; width: 24px; background: none; color: #ff0000; font-size: 24px; font-weight: 700; line-height: 1; text-align: center; }
#faq .hp-faq-item[open] summary { background: none; color: #470000; }
#faq .hp-faq-item[open] summary::after { content: "\2212"; background: none; color: #ff0000; }
#faq .hp-faq-item p { margin: 0; padding: 0 56px 18px 18px; color: #470000; font-size: 16px; line-height: 1.65; }
#faq .hp-faq-item[open] p { animation: faq-in .25s ease; }
@keyframes faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 575px) { #faq .faq-right { padding: 8px; border-radius: 18px; } #faq .hp-faq-item summary { gap: 12px; padding: 12px 12px; } #faq .hp-faq-item p { padding: 0 14px 16px 12px; } #faq .faq-art { width: min(100%, 280px); } }
section#faq.faq-shared { padding-top: 50px; padding-bottom: 50px; }
#faq .faq-title:not(#_) { font-size: var(--fs-h2, 45px); }
#faq .hp-faq-item p a { color: #ff0000; text-decoration: underline; }
#faq .faq-lead { margin: 0 0 24px; color: #f6d6d6; font-size: 16px; line-height: 1.6; }
