.nb-vehicles-heading { display:flex; align-items:baseline; justify-content:space-between; gap:25px; margin:0 0 28px; }
.nb-vehicles-heading h1 { color:#f4eedb; margin:0; font:700 clamp(32px,3.7vw,50px)/1.15 Georgia,serif; letter-spacing:-.03em; }
.nb-vehicles-heading .nb-page-label { color:#e9cc85; order:2; flex-shrink:0; }
.nb-vehicles-content { color:#193f2e; font:400 16px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.nb-vehicles-content *, .nb-vehicles-content *::before, .nb-vehicles-content *::after { box-sizing:border-box; }
.nb-vehicles-content > *, .nb-vehicles-content .wp-block-group > * { max-width:none; margin-block-start:0; margin-block-end:0; }
.nb-vehicles-content p, .nb-vehicles-content figure { margin:0; }
.nb-vehicles-content h2, .nb-vehicles-content h3 { color:#183e2d; margin:0; text-wrap:balance; }
.nb-vehicles-content .nb-vehicles-eyebrow { font-size:10px; font-weight:750; line-height:1.5; text-transform:uppercase; letter-spacing:.16em; color:#50674a; margin-bottom:17px; }
.nb-vehicles-content .nb-vehicles-intro { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:48px; align-items:center; padding:clamp(28px,4.2vw,52px); border:1px solid #899265; border-top:3px solid #e0ba64; border-radius:3px 3px 14px 14px; background:linear-gradient(110deg,#103d2eed,#295437e8),url('nordbus-background.png') center/cover; }
.nb-vehicles-content .nb-vehicles-intro .nb-vehicles-eyebrow { color:#e4c77f; }
.nb-vehicles-content .nb-vehicles-headline { color:#f1e6c9; font:700 clamp(34px,3.7vw,50px)/1.13 Georgia,serif; letter-spacing:-.025em; margin-bottom:22px; }
.nb-vehicles-content .nb-vehicles-lead { max-width:64ch; color:#d8e3cd; font-size:16px; line-height:1.9; }
.nb-vehicles-content .nb-vehicles-intro-sign { text-align:center; border-left:1px solid #7e8f60; padding:22px 0 22px 32px; }
.nb-vehicles-content .nb-vehicles-count { color:#efd18a; font:500 94px/.95 Georgia,serif; letter-spacing:-.04em; }
.nb-vehicles-content .nb-vehicles-count-label { color:#dae4ce; font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin-top:20px; }
.nb-vehicles-content .nb-vehicles-catalog { margin-top:39px; }
.nb-vehicles-content .nb-vehicles-catalog > .nb-vehicles-eyebrow { color:#e2c681; margin-bottom:12px; }
.nb-vehicles-content .nb-vehicles-catalog > h2 { color:#f1e6c9; font:700 clamp(27px,3vw,37px)/1.2 Georgia,serif; letter-spacing:-.025em; }
.nb-vehicles-content .nb-vehicle-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:27px; }
.nb-vehicles-content .nb-vehicle-card { position:relative; display:flex; flex-direction:column; min-width:0; border:1px solid #9caf81; border-top:3px solid #dbb96b; border-radius:3px 3px 12px 12px; overflow:hidden; background:#dce5d4; box-shadow:0 12px 30px #06221924; transition:transform .15s,border-color .15s; }
.nb-vehicles-content .nb-vehicle-image { width:100%; }
.nb-vehicles-content .nb-vehicle-image img { display:block; width:100%; height:auto; object-fit:contain; background:#173f31; }
.nb-vehicles-content .nb-vehicle-card .nb-vehicle-image img { aspect-ratio:4/3; }
.nb-vehicles-content .nb-vehicle-image figcaption { margin:0; padding:10px 16px; color:#d6e2cc; background:#173f31; font-size:12px; line-height:1.6; text-align:center; }
.nb-vehicles-content .nb-vehicle-image-empty { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; aspect-ratio:4/3; width:100%; padding:20px; background:linear-gradient(145deg,#294f39,#113d2e); color:#ddc284; text-align:center; border-bottom:1px solid #859b69; }
.nb-vehicles-content .nb-vehicle-pictogram { width:81px; height:70px; opacity:.85; }
.nb-vehicles-content .nb-vehicle-image-empty p { color:#cbd9be; font-size:11px; line-height:1.5; }
.nb-vehicles-content .nb-vehicle-image-secret { background:radial-gradient(ellipse at 50% 90%,#466436,#0a2c23 85%); }
.nb-vehicles-content .nb-vehicle-question { color:#edc66b; font:500 85px/.85 Georgia,serif; text-shadow:0 0 35px #dec06940; }
.nb-vehicles-content .nb-vehicle-card-copy { display:flex; flex-direction:column; flex:1; padding:23px 21px 20px; }
.nb-vehicles-content .nb-vehicle-badge { width:fit-content; color:#24472f; background:#c5d3b5; border:1px solid #a0b287; border-radius:4px; font-size:10px; font-weight:750; line-height:1.5; text-transform:uppercase; letter-spacing:.09em; padding:4px 9px; margin-bottom:17px; }
.nb-vehicles-content .nb-vehicle-card h3 { font:700 23px/1.2 Georgia,serif; letter-spacing:-.025em; margin-bottom:14px; }
.nb-vehicles-content .nb-vehicle-card h3 a { color:inherit; text-decoration:none; }
.nb-vehicles-content .nb-vehicle-card-note { color:#4a6245; font-size:12px; line-height:1.7; margin-bottom:24px; }
.nb-vehicles-content .nb-vehicle-card-action { margin-top:auto; border-top:1px solid #aebe9b; padding-top:16px; color:#244b33; font-size:12px; line-height:1.5; font-weight:700; }
.nb-vehicles-content .nb-vehicle-card-secret { background:#154530; }
.nb-vehicles-content .nb-vehicle-card-secret h3 { color:#f1e6c9; }
.nb-vehicles-content .nb-vehicle-card-secret .nb-vehicle-badge { background:#315b38; color:#e7c97e; border-color:#7d905d; }
.nb-vehicles-content .nb-vehicle-card-secret .nb-vehicle-card-note { color:#cdddc1; }
.nb-vehicles-content .nb-vehicle-card-secret .nb-vehicle-card-action { color:#efd08a; border-color:#748b59; }
.nb-site .nb-vehicle-card h3 a::after { content:""; position:absolute; inset:0; border-radius:0 0 11px 11px; }
.nb-site .nb-vehicle-card h3 a:focus-visible { outline:0; }
.nb-site .nb-vehicle-card h3 a:focus-visible::after { outline:3px solid #e5b344; outline-offset:-4px; }
.nb-site .nb-vehicle-card:hover { transform:translateY(-3px); border-color:#e0bc61; }
.nb-site .nb-vehicle-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.nb-vehicles-content .nb-vehicles-footnote { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:27px; margin-top:30px; border-top:1px solid #72875b; }
.nb-vehicles-content .nb-vehicles-footnote > p { max-width:70ch; color:#cfddc2; font-size:13px; line-height:1.8; }
.nb-vehicles-content .wp-block-buttons { margin:0; flex-shrink:0; }
.nb-vehicles-content .wp-block-button { margin:0; }
.nb-vehicles-content .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; border:1px solid #9aae77; border-radius:6px; background:#174a34; color:#f0dfaf; font:650 13px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:none; }
.nb-vehicles-content .wp-block-button__link:hover { background:#285d3e; color:#f5e9cb; }
.nb-vehicles-content .nb-vehicle-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid #91a576; border-top:3px solid #dab768; border-radius:3px 3px 14px 14px; overflow:hidden; background:#dce5d4; }
.nb-vehicles-content .nb-vehicle-detail-media { display:flex; flex-direction:column; justify-content:center; background:#123d2e; }
.nb-vehicles-content .nb-vehicle-detail-media .nb-vehicle-image img { max-height:720px; }
.nb-vehicles-content .nb-vehicle-detail-media .nb-vehicle-image-empty { border:0; min-height:380px; }
.nb-vehicles-content .nb-vehicle-detail-media .nb-vehicle-pictogram { width:132px; height:114px; }
.nb-vehicles-content .nb-vehicle-detail-media .nb-vehicle-question { font-size:150px; }
.nb-vehicles-content .nb-vehicle-detail-copy { padding:clamp(28px,4vw,48px); }
.nb-vehicles-content .nb-vehicle-detail-copy h2 { font:700 clamp(28px,3vw,38px)/1.16 Georgia,serif; letter-spacing:-.025em; margin-bottom:22px; }
.nb-vehicles-content .nb-vehicle-detail-lead { font-size:16px; color:#365237; }
.nb-vehicles-content .nb-vehicle-detail-status { margin-top:26px; border-top:1px solid #a8ba94; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nb-vehicles-content .nb-vehicle-status-label { font-size:11px; color:#536b46; text-transform:uppercase; letter-spacing:.1em; }
.nb-vehicles-content .nb-vehicle-status-value { color:#20472e; font-size:14px; font-weight:750; }
.nb-vehicles-content .nb-vehicle-detail-note { margin-top:20px; font-size:13px; color:#536b46; }
.nb-vehicles-edit { margin-top:25px; font-size:13px; color:#dbe4ce; }
.nb-vehicles .nb-panel { background:#dce5d4; }
.editor-styles-wrapper .nb-vehicles-catalog { padding:24px; background:#123f2f; border-radius:12px; }
.editor-styles-wrapper .nb-vehicles-footnote { background:#123f2f; padding:24px; border-radius:12px; }
.editor-styles-wrapper .nb-vehicle-image .components-placeholder { background:#ccd9c0 !important; color:#1b432f; border:1px dashed #8b9f74; border-radius:4px; }
.editor-styles-wrapper .nb-vehicle-image .components-placeholder__label,
.editor-styles-wrapper .nb-vehicle-image .components-placeholder__instructions,
.editor-styles-wrapper .nb-vehicle-image .components-placeholder__fieldset,
.editor-styles-wrapper .nb-vehicle-image .components-placeholder .components-button { opacity:1 !important; }
@media(prefers-reduced-motion:reduce) { .nb-vehicles-content .nb-vehicle-card { transition:none; } }
@media(max-width:1100px) {
 .nb-vehicles-content .nb-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nb-vehicles-content .nb-vehicles-intro { grid-template-columns:minmax(0,1fr) 160px; gap:30px; }
 .nb-vehicles-content .nb-vehicles-intro-sign { padding-left:22px; }
 .nb-vehicles-content .nb-vehicles-count { font-size:78px; }
}
@media(max-width:760px) {
 .nb-vehicles-heading { display:block; }
 .nb-vehicles-heading .nb-page-label { margin:0 0 10px; font-size:9px; }
 .nb-vehicles-content .nb-vehicles-intro { grid-template-columns:minmax(0,1fr); gap:25px; padding:29px 24px; }
 .nb-vehicles-content .nb-vehicles-headline { font-size:clamp(32px,7vw,42px); }
 .nb-vehicles-content .nb-vehicles-lead { font-size:15px; }
 .nb-vehicles-content .nb-vehicles-intro-sign { display:flex; align-items:center; gap:20px; border-left:0; border-top:1px solid #7e8f60; padding:22px 0 0; text-align:left; }
 .nb-vehicles-content .nb-vehicles-count { font-size:48px; }
 .nb-vehicles-content .nb-vehicles-count-label { margin:0; }
 .nb-vehicles-content .nb-vehicles-footnote { flex-direction:column; align-items:flex-start; gap:20px; }
 .nb-vehicles-content .nb-vehicle-detail { grid-template-columns:minmax(0,1fr); }
 .nb-vehicles-content .nb-vehicle-detail-media .nb-vehicle-image-empty { min-height:270px; }
}
@media(max-width:580px) {
 .nb-vehicles-content .nb-vehicle-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .nb-vehicles-content .nb-vehicle-card-copy { padding:24px; }
 .nb-vehicles-content .nb-vehicle-card h3 { font-size:27px; }
}
