/* FAQ block (partials/section-faq) and FAQ page (pages/Faq/index). */

/* The hidden attribute drives filtering; keep it stronger than display rules (.button, flex). */
.faq-hub [hidden]{display:none!important}

/* Items: native <details>, collapsed by default */
.faq-list{border-top:1px solid rgb(170 156 194)}
.faq-item{border-bottom:1px solid rgb(170 156 194)}
.faq-item summary{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;list-style:none;padding:1.25rem 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible,.faq-cats a:focus-visible{border-radius:.25rem;outline:2px solid #ff3600;outline-offset:4px}
.faq-q{font-family:Ambit,ui-serif,Georgia,serif;font-size:1.125rem;font-weight:600;line-height:1.5rem;margin:0;min-width:0;overflow-wrap:anywhere}
.faq-icon{flex-shrink:0;transition:transform .15s ease-in}
.faq-item[open] .faq-icon{transform:rotate(180deg)}
.faq-item summary:hover .faq-q{text-decoration:underline;text-underline-offset:.25rem}
.faq-a{padding:0 0 1.5rem}
.faq-a .text{margin-bottom:0}
.faq-item.is-target summary{color:#ff3600}
.faq-q mark{background:#ffd7cc;border-radius:.125rem;color:inherit}

/* Block on route/destination pages */
.faq-block-group+.faq-block-group{margin-top:2rem}
.faq-block-category{color:rgb(170 156 194);font-family:inherit;font-size:.875rem;font-weight:700;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}

/* Light context (FAQ page) */
.faq-hub .faq-list,.faq-hub .faq-item{border-color:rgb(64 0 44 / .15)}
.faq-hub .faq-list{border-top:0}
.faq-hub .faq-item:last-child{border-bottom:0}

/* Hero + search */
.faq-hero h1{margin-top:1rem}
.faq-search{align-items:center;background:#fff;border-radius:1rem;color:rgb(64 0 44);display:flex;gap:.5rem;margin-top:1.5rem;max-width:42rem;padding:.25rem .25rem .25rem 1rem}
.faq-search input{background:transparent;border:0;flex:1;font-size:1.125rem;min-width:0;outline:0;padding:.75rem 0}
.faq-search:focus-within{outline:2px solid #ff3600;outline-offset:2px}
.faq-search .button{display:none;padding:.75rem 1rem}
.faq-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}

/* Page layout: category navigation + grouped questions. minmax(0, 1fr) and
   min-width:0 keep the scrollable category bar from widening the page on mobile. */
.faq-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
.faq-cats{min-width:0}
.faq-cats ul{display:flex;gap:.5rem;list-style:none;margin:0 -1rem;overflow-x:auto;padding:0 1rem .5rem;scrollbar-width:none}
.faq-cats a{align-items:center;background:#fff;border-radius:9999px;display:flex;gap:.5rem;padding:.5rem 1rem;white-space:nowrap}
.faq-cats a[aria-current]{background:rgb(64 0 44);color:#fff}
.faq-count{font-size:.875rem;opacity:.7}
.faq-results{display:flex;flex-direction:column;gap:1.5rem;min-width:0}
.faq-status-bar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.faq-clear{align-items:center;display:inline-flex;gap:.25rem}
.faq-empty{align-items:center;display:flex;gap:1rem}
.faq-empty .material-symbols-outlined{font-size:2.5rem}
.faq-group{padding:1.25rem 1rem .25rem}
.faq-group-title{align-items:center;display:flex;font-size:1.25rem;gap:.75rem;line-height:1.75rem;margin:0 0 .5rem}
.faq-group-title .material-symbols-outlined{background:rgb(205 196 225);border-radius:9999px;font-size:1.25rem;padding:.5rem}
@media (min-width:640px){
    .faq-search .button{display:inline-flex}
    .faq-group{padding:1.5rem 1.5rem .5rem}
    .faq-group-title{font-size:1.5rem;line-height:2rem}
}
@media (min-width:1024px){
    .faq-layout{gap:3rem;grid-template-columns:18rem minmax(0,1fr)}
    .faq-cats ul{flex-direction:column;margin:0;overflow:visible;padding:0;position:sticky;top:8rem}
    .faq-cats a{background:transparent;border-radius:.75rem;justify-content:flex-start;white-space:normal}
    .faq-cats a:hover{background:rgb(255 255 255 / .6)}
    .faq-cats .faq-cat-name{flex:1}
    .faq-group{padding:2rem 2.5rem 1rem}
    .faq-q{font-size:1.25rem;line-height:1.75rem}
}

/* Footer of an answer: copy link */
.faq-item-footer{display:flex;margin-top:1.25rem}
.faq-permalink{align-items:center;display:inline-flex;font-size:.875rem;gap:.25rem;margin-left:auto}

/* Contact */
.faq-contact{padding:1.25rem 1rem}
.faq-contact h2{margin-bottom:.5rem}
.faq-contact-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
@media (min-width:1024px){
    .faq-contact{padding:2rem 2.5rem}
}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .faq-icon{transition:none}
}
