.faq-breadcrumb { padding-block: 22px 0; font-size: 12px; color: var(--muted); }
.faq-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.faq-hero { background: var(--cream); padding: 32px 0 34px; }
.faq-hero h1 { font-size: clamp(30px,4.5vw,48px); line-height: 1.4; margin: 8px 0 16px; }
.faq-hero p:last-child { color: var(--muted); }
.faq-content { max-width: 1000px; padding-block: 30px 64px; }
.faq-categories { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 4px 14px; }
.faq-categories button { flex: none; min-height: 44px; border: 1px solid var(--line); border-radius: 24px; padding: 8px 16px; color: var(--ink); background: white; cursor: pointer; font-size: 13px; font-weight: 700; }
.faq-categories button[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: white; }
.faq-search { display: block; max-width: 560px; margin-block: 12px; font-size: 13px; font-weight: 700; }
.faq-search input { display: block; width: 100%; min-height: 48px; font: inherit; margin-top: 8px; padding: 10px 14px; background: #fff; border: 1px solid #bdc8d2; border-radius: 8px; }
#faq-result { font-size: 12px; color: var(--muted); margin-bottom: 26px; }
.faq-group { margin-top: 30px; }
.faq-group h2 { font-size: clamp(18px,2vw,23px); margin-bottom: 16px; }
.faq-group h2 > span { color: var(--blue); font-family: 'DM Sans',sans-serif; font-size: 14px; margin-right: 8px; }
.faq-items { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: white; }
.faq-items details + details { border-top: 1px solid var(--line); }
.faq-items summary { list-style: none; display: grid; grid-template-columns: 28px minmax(0,1fr) 22px; align-items: start; gap: 12px; padding: 22px 24px; cursor: pointer; font-size: 15px; font-weight: 700; line-height: 1.7; }
.faq-items summary::-webkit-details-marker { display: none; }
.faq-items summary .faq-q { font-family: 'DM Sans',sans-serif; color: var(--blue); font-weight: 800; font-size: 19px; }
.faq-toggle::after { content: '+'; color: var(--blue); font-size: 22px; line-height: 1; }
details[open] > summary .faq-toggle::after { content: '−'; }
.faq-items details[open] { background: #fafcfe; }
.faq-answer { padding: 0 58px 24px 64px; color: var(--muted); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.faq-answer a { display: inline-block; margin-top: 12px; color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.faq-contact { text-align: center; background: var(--blue-soft); padding-block: 56px; }
.faq-contact h2 { font-size: clamp(23px,3vw,32px); margin: 10px 0 20px; }
.faq-contact p { margin-bottom: 24px; }
.faq-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.faq-consult-layout { display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; gap: 28px; max-width: 940px; margin: 0 auto 20px; }
.faq-consult-mii { display: block; width: 180px; height: 270px; object-fit: contain; }
@media(max-width:600px) { .faq-consult-layout { grid-template-columns: minmax(0,1fr); gap: 4px; margin-bottom: 16px; }.faq-consult-copy { min-width: 0; }.faq-consult-copy p:last-child { margin-bottom: 10px; }.faq-consult-mii { width: 120px; height: 180px; margin-inline: auto; } }
#faq-empty { background: var(--blue-soft); padding: 24px; border-radius: 12px; }
#faq-empty button { min-height: 44px; background: white; border: 1px solid var(--blue); color: var(--blue); border-radius: 8px; padding: 8px 12px; margin: 16px 12px 0 0; cursor: pointer; }
#faq-empty a { color: var(--blue); text-decoration: underline; }
@media(max-width:800px) { .faq-categories { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; } }
@media(max-width:600px) { .faq-hero { padding-block: 24px 28px; }.faq-content { padding-block: 24px 44px; }.faq-items summary { padding: 18px 14px; gap: 8px; font-size: 14px; grid-template-columns: 22px minmax(0,1fr) 18px; }.faq-answer { padding: 0 18px 22px 44px; font-size: 13px; }.faq-actions { flex-direction: column; }.faq-contact p br { display: none; }.faq-contact { padding-block: 44px; } }
@media(prefers-reduced-motion:reduce) { html:has(.faq-page) { scroll-behavior: auto; } }
