.nb-faq-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 28px; }
.nb-faq-heading h1 { color:#f4eedb; margin:0; font:700 clamp(34px,4vw,52px)/1.15 Georgia,serif; letter-spacing:-.03em; }
.nb-faq-heading .nb-page-label { color:#e9cc85; order:2; }
.nb-faq-content { color:#1b402e; font:400 16px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.nb-faq-content *, .nb-faq-content *::before, .nb-faq-content *::after { box-sizing:border-box; }
.nb-faq-content > *, .nb-faq-content .wp-block-group > * { max-width:none; margin-block-start:0; margin-block-end:0; }
.nb-faq-content p, .nb-faq-content figure { margin:0; }
.nb-faq-content h2, .nb-faq-content h3 { margin:0; text-wrap:balance; }
.nb-faq-content h2 { font:700 clamp(29px,3.2vw,40px)/1.17 Georgia,serif; letter-spacing:-.025em; }
.nb-faq-content .nb-faq-eyebrow { color:#e3c57e; font-size:10px; font-weight:750; line-height:1.6; letter-spacing:.15em; text-transform:uppercase; margin-bottom:17px; }
.nb-faq-content [id] { scroll-margin-top:28px; }
.nb-faq-content [hidden] { display:none !important; }
.nb-faq-content .nb-faq-hero { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:65px; padding:clamp(28px,4.8vw,58px); border:1px solid #819467; border-top:3px solid #e7c473; border-radius:3px 3px 14px 14px; background:linear-gradient(112deg,#123b2fed,#30573add),url('nordbus-background.png') center/cover; }
.nb-faq-content .nb-faq-headline { font-size:clamp(40px,5vw,65px); line-height:1.06; letter-spacing:-.04em; color:#f1e5c8; margin-bottom:26px; }
.nb-faq-content .nb-faq-lead { color:#d5e0c9; font-size:16px; line-height:1.9; max-width:56ch; }
.nb-faq-content .nb-faq-brief { border-left:1px solid #8c9c6d; padding-left:35px; align-self:center; }
.nb-faq-content .nb-faq-fact { padding:18px 0; border-bottom:1px solid #7c905f; }
.nb-faq-content .nb-faq-fact:first-child { padding-top:0; }
.nb-faq-content .nb-faq-fact:last-child { padding-bottom:0; border-bottom:0; }
.nb-faq-content .nb-faq-fact-label { font-size:10px; color:#ccd9bd; letter-spacing:.11em; text-transform:uppercase; margin-bottom:7px; }
.nb-faq-content .nb-faq-fact-value { font:700 23px/1.3 Georgia,serif; color:#eee1bc; }
.nb-faq-content .wp-block-buttons { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.nb-faq-content .wp-block-button { margin:0; }
.nb-faq-content .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 19px; border:1px solid #dec277; border-radius:5px; background:#e9c675; color:#1c412e; font:650 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:none; box-shadow:none; }
.nb-faq-content .wp-block-button__link:hover { background:#f4d68f; }
.nb-faq-content .nb-faq-navigation { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:27px 0; }
.nb-faq-content .nb-faq-nav-label { color:#d0ddbf; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.nb-faq-content .nb-faq-navigation .wp-block-button__link { color:#e4dfc5; background:#153d2fcc; border-color:#8da273; font-size:12px; padding:9px 17px; min-height:44px; }
.nb-faq-content .nb-faq-navigation .wp-block-button__link:hover { background:#30573b; }
.nb-faq-content .nb-faq-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 28px; align-items:end; margin-bottom:42px; padding:25px 28px; border:1px solid #7a9161; border-radius:10px; background:#133f2fe6; }
.nb-faq-content .nb-faq-search label { display:block; font-size:12px; line-height:1.6; color:#e1dfc8; margin-bottom:10px; }
.nb-faq-content .nb-faq-search input { display:block; box-sizing:border-box; width:100%; height:auto; min-height:49px; margin:0; padding:12px 16px; border:1px solid #9dae84; border-radius:5px; background:#e0e7d6; color:#193e2b; font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow:none; }
.nb-faq-content .nb-faq-search input::placeholder { color:#516445; opacity:1; }
.nb-faq-content .nb-faq-controls { display:flex; gap:10px; }
.nb-faq-content .nb-faq-controls button, .nb-faq-content .nb-faq-no-results button { min-height:49px; padding:11px 16px; border:1px solid #99ab7c; border-radius:5px; background:#214d37; color:#e9e2c4; font:650 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.nb-faq-content .nb-faq-controls button:hover, .nb-faq-content .nb-faq-no-results button:hover { background:#315f40; }
.nb-faq-content .nb-faq-controls button:disabled { opacity:.5; cursor:default; }
.nb-faq-content .nb-faq-results { grid-column:1 / -1; color:#ccdabc; font-size:11px; line-height:1.6; }
.nb-faq-content .nb-faq-no-results { padding:28px; border:1px dashed #90a579; background:#19462f; color:#e3e4cd; border-radius:9px; margin-top:-20px; margin-bottom:32px; font-size:15px; }
.nb-faq-content .nb-faq-no-results button { margin-top:17px; }
.nb-faq-content .nb-faq-section { display:grid; grid-template-columns:250px minmax(0,1fr); gap:40px; margin-bottom:39px; }
.nb-faq-content .nb-faq-section-heading { padding-top:7px; }
.nb-faq-content .nb-faq-range { color:#e2c379; font-size:11px; letter-spacing:.17em; margin-bottom:17px; }
.nb-faq-content .nb-faq-section-heading h2 { font-size:32px; color:#eee4c7; margin-bottom:15px; }
.nb-faq-content .nb-faq-section-heading .nb-faq-section-title > p { color:#c7d8b8; font-size:13px; line-height:1.8; max-width:29ch; }
.nb-faq-content .nb-faq-item { background:#dce5d3; color:#21432f; border:1px solid #a6b791; border-radius:8px; overflow:visible; }
.nb-faq-content .nb-faq-item + .nb-faq-item { margin-top:10px; }
.nb-faq-content .nb-faq-item > summary { display:block; position:relative; list-style:none; padding:24px 65px 24px 78px; min-height:78px; margin:0; border-radius:7px; cursor:pointer; color:#1b402d; font:700 22px/1.35 Georgia,serif; letter-spacing:-.015em; }
.nb-faq-content .nb-faq-item > summary::-webkit-details-marker { display:none; }
.nb-faq-content .nb-faq-item > summary::marker { content:''; }
.nb-faq-content .nb-faq-item > summary::after { content:''; position:absolute; width:10px; height:10px; right:29px; top:50%; border-right:2px solid #48623d; border-bottom:2px solid #48623d; transform:translateY(-65%) rotate(45deg); transition:transform .15s ease; }
.nb-faq-content .nb-faq-item > summary > strong { position:absolute; left:23px; top:50%; transform:translateY(-50%); width:33px; height:33px; display:flex; align-items:center; justify-content:center; background:#285039; border-radius:5px; color:#f2d38e; font:650 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.05em; }
.nb-faq-content .nb-faq-item > summary:hover { background:#cedcc3; }
.nb-faq-content .nb-faq-item[open] { background:#e3e9da; border-color:#c6b365; }
.nb-faq-content .nb-faq-item[open] > summary { background:#cedcc3; border-radius:7px 7px 0 0; }
.nb-faq-content .nb-faq-item[open] > summary::after { transform:translateY(-25%) rotate(225deg); }
.nb-faq-content .nb-faq-answer { padding:25px 31px 28px 78px; border-top:1px solid #b0c09c; font-size:15px; line-height:1.9; color:#39533a; }
.nb-faq-content .nb-faq-answer > * + * { margin-top:17px; }
.nb-faq-content .nb-faq-answer strong { color:#21462f; font-weight:700; }
.nb-faq-content .nb-faq-answer a { color:#245233; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.nb-faq-content .nb-faq-answer a:hover { color:#102f1d; text-decoration-thickness:2px; }
.nb-faq-content .nb-faq-answer ul { padding-left:22px; margin-bottom:0; list-style:disc; }
.nb-faq-content .nb-faq-answer li { padding-left:4px; margin-top:5px; }
.nb-faq-content .nb-faq-note { background:#d3dfc7; border-left:3px solid #a58b43; padding:16px 18px; font-size:13px; line-height:1.85; }
.nb-faq-content .nb-faq-pullquote { border-left:3px solid #ad9245; padding:9px 0 9px 22px; color:#315637; font:400 clamp(24px,2.5vw,30px)/1.35 Georgia,serif; }
.nb-faq-content .nb-faq-footer { display:flex; gap:35px; justify-content:space-between; align-items:center; border:1px solid #8d9d69; border-top:3px solid #d7b76a; border-radius:3px 3px 12px 12px; background:#173f30e8; padding:35px 40px; margin-top:10px; }
.nb-faq-content .nb-faq-footer h2 { color:#eee3c6; font-size:35px; margin-bottom:14px; }
.nb-faq-content .nb-faq-footer-copy > p:last-child { color:#cdddbe; font-size:14px; line-height:1.8; max-width:50ch; }
.nb-faq-content .nb-faq-footer .wp-block-buttons { max-width:270px; }
.nb-faq-content .nb-faq-footer .wp-block-button { flex:1 1 100%; }
.nb-faq-content .nb-faq-footer .wp-block-button__link { width:100%; }
.nb-faq-content a:focus-visible, .nb-faq-content button:focus-visible, .nb-faq-content summary:focus-visible, .nb-faq-content input:focus-visible { outline:3px solid #eab64e; outline-offset:4px; }
.nb-faq-edit { margin-top:24px; color:#d8dfc3; font-size:13px; }
.editor-styles-wrapper .nb-faq-content { background:#16442f; padding:12px; }
@media(max-width:1000px) {
 .nb-faq-content .nb-faq-hero { gap:34px; }
 .nb-faq-content .nb-faq-brief { padding-left:26px; }
 .nb-faq-content .nb-faq-navigation { flex-wrap:wrap; }
 .nb-faq-content .nb-faq-section { grid-template-columns:205px minmax(0,1fr); gap:28px; }
 .nb-faq-content .nb-faq-section-heading h2 { font-size:28px; }
 .nb-faq-content .nb-faq-item > summary { font-size:20px; }
 .nb-faq-content .nb-faq-answer { padding-left:28px; }
}
@media(max-width:760px) {
 .nb-faq-content .nb-faq-hero, .nb-faq-content .nb-faq-section, .nb-faq-content .nb-faq-tools { grid-template-columns:minmax(0,1fr); }
 .nb-faq-content .nb-faq-hero { padding:31px 24px; gap:29px; }
 .nb-faq-content .nb-faq-headline { font-size:clamp(38px,10vw,55px); }
 .nb-faq-content .nb-faq-lead { font-size:15px; }
 .nb-faq-content .nb-faq-brief { border-left:0; border-top:1px solid #839865; padding:23px 0 0; }
 .nb-faq-content .nb-faq-fact { display:flex; justify-content:space-between; align-items:baseline; gap:17px; padding:14px 0; }
 .nb-faq-content .nb-faq-fact-label { margin:0; flex:0 0 85px; }
 .nb-faq-content .nb-faq-fact-value { font-size:18px; text-align:right; }
 .nb-faq-content .nb-faq-navigation .wp-block-buttons { flex:1; }
 .nb-faq-content .nb-faq-nav-label { flex-basis:100%; }
 .nb-faq-content .nb-faq-navigation .wp-block-button { flex:1 1 140px; }
 .nb-faq-content .nb-faq-navigation .wp-block-button__link { width:100%; }
 .nb-faq-content .nb-faq-tools { padding:23px; gap:15px; margin-bottom:32px; }
 .nb-faq-content .nb-faq-controls button { flex:1; min-height:44px; }
 .nb-faq-content .nb-faq-section { gap:22px; margin-bottom:32px; }
 .nb-faq-content .nb-faq-section-heading { display:flex; gap:18px; align-items:baseline; }
 .nb-faq-content .nb-faq-range { flex:0 0 54px; margin:0; font-size:10px; }
 .nb-faq-content .nb-faq-section-heading h2 { font-size:28px; margin-bottom:10px; }
 .nb-faq-content .nb-faq-section-heading .nb-faq-section-title > p { max-width:50ch; font-size:12px; }
 .nb-faq-content .nb-faq-footer { flex-direction:column; align-items:stretch; padding:29px 25px; gap:24px; }
 .nb-faq-content .nb-faq-footer .wp-block-buttons { max-width:none; }
 .nb-faq-content .nb-faq-footer .wp-block-button { flex:1 1 180px; }
}
@media(max-width:480px) {
 .nb-faq-content .nb-faq-item > summary { padding:20px 42px 20px 58px; font-size:19px; line-height:1.4; }
 .nb-faq-content .nb-faq-item > summary > strong { left:15px; width:28px; height:30px; font-size:11px; }
 .nb-faq-content .nb-faq-item > summary::after { right:18px; width:8px; height:8px; }
 .nb-faq-content .nb-faq-answer { padding:22px 21px; font-size:14px; }
 .nb-faq-content .nb-faq-note { font-size:12px; padding:14px; }
 .nb-faq-content .nb-faq-section-heading { gap:13px; }
 .nb-faq-content .nb-faq-section-heading h2 { font-size:26px; }
 .nb-faq-content .nb-faq-search input { font-size:14px; }
}
