/*
Theme Name: Blocksy Child
Template: blocksy
Version: 4.7.5
*/

html { scroll-behavior: smooth; }

/* =========================================
   NOBOTEL BRAND TOKENS
   ========================================= */
:root {
    --nbt-cobalt:     #0C1F4E;
    --nbt-cobalt-mid: #1a3670;
    --nbt-navy:       #06192E;
    --nbt-orange:     #E84D1C;
    --nbt-text:       #0D0D0D;
    --nbt-body:       #3A4F66;
    --nbt-bg-light:   #E8EFF8;
    --nbt-grad-light: linear-gradient(160deg, #E8EFF8 0%, #ffffff 110%);
    --nbt-grad-testi: linear-gradient(180deg, #ffffff 0%, #E8EFF8 100%);
    --nbt-grad-dark:  linear-gradient(180deg, #0d2350 0%, #06192E 100%);
    --nbt-border:     #e8edf2;
    --nbt-white:      #ffffff;
    --nbt-font:       'Avenir LT Pro', 'Avenir', 'Helvetica Neue', sans-serif;
}

/* =========================================
   HOMEPAGE TEMPLATE BASE
   ========================================= */
.nbt-page * {
    box-sizing: border-box;
}

.nbt-page {
    font-family: var(--nbt-font);
    color: var(--nbt-body);
    line-height: 1.65;
}

/* Section layout */
.nbt-section {
    width: 100%;
    padding: 88px 0;
}

/* Sections that manage their own padding or need none */
.nbt-hero,
.nbt-wave,
.nbt-cta-cobalt,
.nbt-about-hero,
.nbt-partner-hero,
.nbt-deal-hero { padding: 0; }

.nbt-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px;
}

/* Typography */
.nbt-section-tag {
    display: block;
    color: var(--nbt-orange);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.nbt-section-title {
    color: var(--nbt-cobalt);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 12px;
}

.nbt-section-sub {
    color: var(--nbt-body);
    font-size: 15px;
    margin: 0;
}

.nbt-section-header {
    text-align: center;
    margin-bottom: 48px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* Buttons */
.nbt-btn-primary {
    display: inline-block;
    background: var(--nbt-cobalt);
    color: #fff !important;
    padding: 13px 26px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    font-family: var(--nbt-font);
    transition: background 0.2s;
}
.nbt-btn-primary:hover {
    background: var(--nbt-cobalt-mid);
    color: #fff !important;
    text-decoration: none;
}

.nbt-btn-outline {
    display: inline-block;
    background: transparent;
    color: var(--nbt-cobalt) !important;
    padding: 11px 26px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid var(--nbt-cobalt);
    font-family: var(--nbt-font);
    transition: all 0.2s;
}
.nbt-btn-outline:hover {
    background: var(--nbt-cobalt);
    color: #fff !important;
    text-decoration: none;
}

.nbt-btn-orange {
    display: inline-block;
    background: var(--nbt-orange);
    color: #fff !important;
    padding: 13px 26px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    font-family: var(--nbt-font);
    transition: background 0.2s;
}
.nbt-btn-orange:hover {
    background: #d44318;
    color: #fff !important;
    text-decoration: none;
}

/* =========================================
   HERO
   ========================================= */
.nbt-hero {
    background: var(--nbt-bg-light);
    padding: 80px 0 72px;
}

.nbt-hero__inner {
    display: flex;
    gap: 48px;
    align-items: center;
}

.nbt-hero__left {
    flex: 1.2;
}

.nbt-hero__title {
    color: var(--nbt-cobalt);
    font-size: 42px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 20px;
}
.nbt-provider-hero .nbt-hero__title {
    font-size: clamp(26px, 3.2vw, 36px);
}

.nbt-hero__sub {
    color: var(--nbt-body);
    font-size: 17px;
    line-height: 1.65;
    margin: 0 0 32px;
    max-width: 440px;
}

.nbt-hero__btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}

.nbt-hero__right {
    flex: 1;
}

.nbt-hero__photo {
    width: 100%;
    border-radius: 12px;
    object-fit: cover;
    display: block;
    box-shadow: 0 16px 56px rgba(12,31,78,0.14);
    max-height: 420px;
}

/* =========================================
   NETWORK BAR
   ========================================= */
.nbt-networks {
    background: var(--nbt-white);
    border-bottom: 1px solid var(--nbt-border);
    padding: 18px 0;
}

.nbt-networks__inner {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.nbt-networks__label {
    color: #8899aa;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    white-space: nowrap;
}

.nbt-networks__logos {
    display: flex;
    gap: 12px;
    align-items: center;
}

.nbt-network-badge {
    padding: 5px 14px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #fff;
}

.nbt-network-badge--kpn    { background: #00a650; }
.nbt-network-badge--voda   { background: #e60000; }
.nbt-network-badge--odido  { background: #6c2d91; }

.nbt-networks__tagline {
    margin-left: auto;
    color: #8899aa;
    font-size: 12px;
}

/* =========================================
   DIENSTEN
   ========================================= */
.nbt-diensten {
    background: var(--nbt-white);
    padding: 72px 0;
}

.nbt-diensten__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.nbt-dienst-card {
    border: none;
    border-radius: 12px;
    padding: 30px 26px;
    box-shadow: 0 2px 16px rgba(12,31,78,0.08);
    transition: box-shadow 0.2s, transform 0.2s;
}

.nbt-dienst-card:hover {
    box-shadow: 0 12px 36px rgba(12,31,78,0.14);
    transform: translateY(-4px);
}

.nbt-dienst-card__img-wrap {
    width: 100%;
    height: 160px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 20px;
    background: var(--nbt-bg-light);
}

.nbt-dienst-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.nbt-dienst-card:hover .nbt-dienst-card__img-wrap img {
    transform: scale(1.04);
}

.nbt-dienst-card__icon {
    width: 28px;
    height: 28px;
    margin-bottom: 12px;
    display: block;
    color: var(--nbt-cobalt);
}

.nbt-dienst-card__title {
    color: var(--nbt-cobalt);
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 10px;
}

.nbt-dienst-card__text {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 16px;
}

.nbt-dienst-card__link {
    color: var(--nbt-orange) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.nbt-dienst-card__link:hover {
    text-decoration: underline;
}

/* =========================================
   WHY NOBOTEL
   ========================================= */
.nbt-why {
    background: var(--nbt-white);
    padding: 72px 0;
}

.nbt-why__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-top: 44px;
}

.nbt-why__item {
    text-align: center;
}

.nbt-why__icon-wrap {
    width: 56px;
    height: 56px;
    background: var(--nbt-white);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    box-shadow: 0 2px 12px rgba(12,31,78,0.08);
    border: 1px solid var(--nbt-border);
}

.nbt-why__icon-wrap svg {
    width: 24px;
    height: 24px;
    color: var(--nbt-cobalt);
}

.nbt-why__title {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}

.nbt-why__text {
    color: var(--nbt-body);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

/* =========================================
   VIDEO
   ========================================= */
.nbt-video {
    padding: 80px 0;
    background: var(--nbt-cobalt);
}
.nbt-video .nbt-section-tag {
    color: var(--nbt-orange);
}
.nbt-video .nbt-section-title {
    color: #ffffff;
}
.nbt-video .nbt-section-sub {
    color: rgba(255,255,255,0.70);
}
.nbt-video__wrap {
    position: relative;
    width: min(calc(100% - 48px), 860px);
    aspect-ratio: 16 / 9;
    height: auto;
    overflow: hidden;
    border-radius: 14px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.nbt-video__wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* =========================================
   TESTIMONIALS (animated scroll)
   ========================================= */
.nbt-testimonials {
    background: var(--nbt-cobalt);
    padding: 72px 0;
    overflow: hidden;
}

.nbt-testimonials .nbt-section-title {
    color: var(--nbt-white);
}

.nbt-testimonials .nbt-section-tag {
    color: rgba(232,77,28,0.9);
}

.nbt-testimonials__track-wrap {
    overflow: hidden;
    margin-top: 16px;
    padding: 24px 0;
}

.nbt-testimonials__track {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: nbt-scroll 55s linear infinite;
    padding: 0 40px;
}

.nbt-testimonials__track:hover {
    animation-play-state: paused;
}

@keyframes nbt-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.nbt-testimonial-panel {
    min-width: 520px;
    max-width: 520px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 32px 36px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 220px;
}

.nbt-testimonial-panel__quote-icon {
    width: 24px;
    height: 18px;
    color: var(--nbt-orange);
    opacity: 0.7;
    margin-bottom: 14px;
    display: block;
    flex-shrink: 0;
}

.nbt-testimonial-panel__quote {
    color: rgba(255,255,255,0.85);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    font-style: italic;
    flex: 1;
    display: flex;
    align-items: center;
    text-align: left;
    padding: 16px 0;
}

.nbt-testimonial-panel__author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nbt-testimonial-panel__avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(232,77,28,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.nbt-testimonial-panel__name {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 2px;
}

.nbt-testimonial-panel__role {
    color: rgba(255,255,255,0.5);
    font-size: 11px;
    margin: 0;
}

/* =========================================
   PORTAL SPOTLIGHT
   ========================================= */
.nbt-portal {
    background: var(--nbt-white);
    padding: 80px 0;
}

.nbt-portal__inner {
    display: flex;
    gap: 56px;
    align-items: center;
}

.nbt-portal__left {
    flex: 1;
}

.nbt-portal__title {
    color: var(--nbt-cobalt);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 16px;
}

.nbt-portal__sub {
    color: var(--nbt-body);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 24px;
}

.nbt-portal__features {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.nbt-portal__features li {
    color: var(--nbt-body);
    font-size: 14px;
    margin-bottom: 11px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.nbt-portal__features li::before {
    content: '✓';
    color: var(--nbt-orange);
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
}

.nbt-portal__right {
    flex: 1.1;
}

.nbt-portal__photo {
    width: 100%;
    border-radius: 12px;
    object-fit: cover;
    display: block;
    box-shadow: 0 16px 56px rgba(12,31,78,0.14);
}

.nbt-portal__mockup {
    background: var(--nbt-bg-light);
    border-radius: 12px;
    border: 1px solid var(--nbt-border);
    overflow: hidden;
    box-shadow: 0 14px 48px rgba(12,31,78,0.1);
}

.nbt-portal__mockup-bar {
    background: var(--nbt-cobalt);
    padding: 11px 18px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.nbt-portal__mockup-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.nbt-portal__mockup-url {
    color: rgba(255,255,255,0.4);
    font-size: 11px;
    margin-left: 8px;
}

.nbt-portal__mockup-body {
    padding: 20px;
}

.nbt-portal__mockup-heading {
    font-size: 13px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    margin: 0 0 16px;
}

.nbt-portal__mockup-row {
    display: flex;
    gap: 10px;
    margin-bottom: 11px;
    align-items: center;
}

.nbt-portal__mockup-rowlabel {
    font-size: 10px;
    color: #8899aa;
    text-transform: uppercase;
    letter-spacing: 1px;
    width: 76px;
    flex-shrink: 0;
}

.nbt-portal__mockup-bar-fill {
    height: 6px;
    border-radius: 3px;
}

.nbt-portal__mockup-val {
    font-size: 11px;
    color: var(--nbt-cobalt);
    font-weight: 700;
}

.nbt-portal__mockup-stats {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--nbt-border);
}

.nbt-portal__mockup-stat {
    flex: 1;
    background: var(--nbt-white);
    border-radius: 8px;
    padding: 12px 10px;
    text-align: center;
}

.nbt-portal__mockup-stat-val {
    font-size: 18px;
    font-weight: 800;
    color: var(--nbt-cobalt);
    display: block;
    margin-bottom: 3px;
}

.nbt-portal__mockup-stat-label {
    font-size: 9px;
    color: #8899aa;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* =========================================
   BUSINESS PARTNER
   ========================================= */
.nbt-bp {
    background: linear-gradient(to right, var(--nbt-cobalt) 0%, var(--nbt-cobalt-mid) 100%);
    padding: 48px 0 96px;
}

.nbt-bp__inner {
    display: flex;
    gap: 56px;
    align-items: center;
}

.nbt-bp__left {
    flex: 1.1;
}

.nbt-bp .nbt-section-tag {
    color: rgba(232,77,28,0.9);
}

.nbt-bp__title {
    color: var(--nbt-white);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 14px;
}

.nbt-bp__sub {
    color: rgba(255,255,255,0.7);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 24px;
}

.nbt-bp__perks {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.nbt-bp__perks li {
    color: rgba(255,255,255,0.85);
    font-size: 14px;
    margin-bottom: 11px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.nbt-bp__perks li::before {
    content: '✓';
    color: var(--nbt-orange);
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
}

.nbt-bp__right {
    flex: 1;
}

.nbt-bp__photo-wrap {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    height: 200px;
}

.nbt-bp__photo-wrap--flat {
    background: #eef1f5;
    border-radius: 12px;
    overflow: hidden;
    box-shadow:
        inset 0 4px 14px rgba(0,0,0,0.22),
        inset 0 -2px 8px rgba(0,0,0,0.10),
        inset 4px 0 10px rgba(0,0,0,0.08),
        inset -4px 0 10px rgba(0,0,0,0.08);
    height: 220px;
    padding: 4px 6px;
    display: flex;
    align-items: center;
}

.nbt-bp__photo-wrap--flat img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transform: scale(1.6) translateY(3%);
    transform-origin: center center;
    filter: drop-shadow(0 6px 16px rgba(0,0,0,0.20));
    transition: transform 0.4s ease;
}

.nbt-bp__photo-wrap--flat:hover img {
    transform: scale(1.75) translateY(3%);
}

.nbt-bp__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.nbt-bp__card {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 20px;
    transition: transform 0.25s ease, background 0.25s ease;
}

.nbt-bp__card:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,0.14);
}

.nbt-bp__card-svg {
    width: 22px;
    height: 22px;
    display: block;
    margin-bottom: 10px;
    color: var(--nbt-orange);
}

.nbt-bp__card-title {
    color: var(--nbt-white);
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 5px;
}

.nbt-bp__card-text {
    color: rgba(255,255,255,0.55);
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

/* =========================================
   BLOG STRIP
   ========================================= */
.nbt-blog {
    background: var(--nbt-white);
    border-top: 1px solid var(--nbt-border);
    padding: 64px 0;
}

.nbt-blog__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}

.nbt-blog__header-left .nbt-section-title {
    font-size: 22px;
    margin-bottom: 0;
}

.nbt-blog__all-link {
    color: var(--nbt-orange) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.nbt-blog__all-link:hover {
    text-decoration: underline;
}

.nbt-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.nbt-blog-card {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    display: block;
    box-shadow: 0 2px 16px rgba(12,31,78,0.08);
    transition: box-shadow 0.2s, transform 0.2s;
}

.nbt-blog-card:hover {
    box-shadow: 0 12px 36px rgba(12,31,78,0.14);
    transform: translateY(-4px);
    text-decoration: none;
}

.nbt-blog-card__thumb {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.nbt-blog-card__thumb-placeholder {
    width: 100%;
    height: 160px;
    background: var(--nbt-bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aabbcc;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.nbt-blog-card__body {
    padding: 18px 20px 20px;
}

.nbt-blog-card__cat {
    color: var(--nbt-orange);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 7px;
    display: block;
}

.nbt-blog-card__title {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 10px;
}

.nbt-blog-card__date {
    color: #8899aa;
    font-size: 11px;
    display: block;
    margin-bottom: 12px;
}

.nbt-blog-card__more {
    color: var(--nbt-orange);
    font-size: 12px;
    font-weight: 700;
}

/* =========================================
   CLOSING CTA
   ========================================= */
.nbt-cta {
    background: var(--nbt-bg-light);
    padding: 100px 0;
    text-align: center;
}

.nbt-cta__title {
    color: var(--nbt-cobalt);
    font-size: 38px;
    font-weight: 800;
    margin: 0 0 18px;
    line-height: 1.15;
}

.nbt-cta__sub {
    color: var(--nbt-body);
    font-size: 17px;
    margin: 0 0 40px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.nbt-cta__btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

.nbt-btn-white {
    display: inline-block;
    background: var(--nbt-orange);
    color: #ffffff !important;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none !important;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 18px rgba(232,77,28,0.30);
}

.nbt-btn-white:hover {
    background: #d44218;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(232,77,28,0.40);
    color: #ffffff !important;
    text-decoration: none !important;
}

.nbt-btn-outline-white {
    display: inline-block;
    background: transparent;
    color: var(--nbt-cobalt) !important;
    border: 2px solid rgba(12,31,78,0.40);
    padding: 12px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none !important;
    transition: border-color 0.2s, color 0.2s;
}

.nbt-btn-outline-white:hover {
    border-color: var(--nbt-cobalt);
    color: var(--nbt-cobalt) !important;
    text-decoration: none !important;
}

.nbt-cta__reassurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 28px 0 0;
    color: rgba(12,31,78,0.45);
    font-size: 13px;
    flex-wrap: wrap;
}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 900px) {
    .nbt-container { padding: 0 24px; }
    .nbt-hero__inner,
    .nbt-portal__inner,
    .nbt-bp__inner { flex-direction: column; }
    .nbt-hero__right { order: 0; } /* afbeelding altijd ONDER titel+tekst op mobiel */
    .nbt-hero--simonly .nbt-hero__left { order: -1; }
    .nbt-hero--simonly .nbt-hero__right { order: 0; }
    .nbt-hero--bespaar .nbt-hero__left { order: -1; }
    .nbt-hero--bespaar .nbt-hero__right { order: 0; }
    .nbt-hero--travel .nbt-hero__left { order: -1; }
    .nbt-hero--travel .nbt-hero__right { order: 0; }
    .nbt-hero__photo { max-height: 280px; }
    .nbt-hero__title { font-size: 32px; }
    .nbt-diensten__grid { grid-template-columns: 1fr; }
    .nbt-why__grid { grid-template-columns: 1fr 1fr; }
    .nbt-blog__grid { grid-template-columns: 1fr 1fr; }
    .nbt-bp__cards { grid-template-columns: 1fr 1fr; }
    .nbt-networks__tagline { display: none; }
}

@media (max-width: 600px) {
    .nbt-hero { padding: 56px 0 48px; }
    .nbt-hero__title { font-size: 28px !important; }
    .nbt-why__grid { grid-template-columns: 1fr 1fr; }
    .nbt-blog__grid { grid-template-columns: 1fr; }
    .nbt-bp__cards { grid-template-columns: 1fr 1fr; }
    .nbt-section-title { font-size: 24px; }
    .nbt-cta__title { font-size: 26px !important; }
    .nbt-hero__btns { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 900px) {
    .nbt-hero--bespaar .nbt-hero__inner,
    .nbt-hero--bespaar .nbt-hero__left {
        align-items: center;
        text-align: center;
    }

    .nbt-hero--bespaar .nbt-hero__sub {
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-hero--bespaar .nbt-hero__btns {
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .nbt-hero--bespaar .nbt-hero__btns {
        flex-direction: row;
        align-items: center;
    }
}

@media (max-width: 430px) {
    .nbt-hero--bespaar .nbt-hero__btns {
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .nbt-hero--bespaar .nbt-hero__right {
        width: 100%;
        max-width: 560px;
    }
}

/* =========================================
   v2.2 — WOW UPGRADES
   ========================================= */

/* ── Header: semi-transparante achtergrond + cobalt nav ── */
.site-header {
    background: rgba(255, 255, 255, 0.82) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 1px 0 rgba(232, 237, 242, 0.6) !important;
}
.ct-header [data-id="menu"] > ul > li > a {
    color: #0C1F4E !important;
}
.ct-header [data-id="menu"] > ul > li > a:hover {
    color: #E84D1C !important;
}

/* ── Hero: richer gradient + bigger title ── */
.nbt-hero {
    background: linear-gradient(155deg, #d6e5f4 0%, #eaf1f8 45%, #F0F4F8 100%);
    padding: 120px 0 100px;
}
.nbt-hero__title {
    font-size: 54px;
    letter-spacing: -0.5px;
}


/* ── Floating badge on hero photo ── */
.nbt-hero__photo-frame {
    position: relative;
    display: inline-block;
    width: 100%;
}
.nbt-hero__float-badge {
    position: absolute;
    bottom: 24px;
    left: -20px;
    background: #ffffff;
    border-radius: 14px;
    padding: 14px 20px;
    box-shadow: 0 8px 40px rgba(12,31,78,0.18);
    display: flex;
    gap: 14px;
    align-items: center;
    min-width: 220px;
    z-index: 2;
}
.nbt-hero__float-badge svg {
    width: 36px;
    height: 36px;
    color: var(--nbt-cobalt);
    flex-shrink: 0;
    background: var(--nbt-bg-light);
    border-radius: 9px;
    padding: 7px;
    box-sizing: border-box;
}
.nbt-hero__float-badge strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    line-height: 1.2;
    font-family: var(--nbt-font);
}
.nbt-hero__float-badge span {
    display: block;
    font-size: 11px;
    color: #8899aa;
    margin-top: 3px;
    font-family: var(--nbt-font);
}

/* ── Buttons: clean rectangular radius ── */
.nbt-btn-primary,
.nbt-btn-outline,
.nbt-btn-orange {
    border-radius: 6px !important;
}
.nbt-btn-primary {
    box-shadow: 0 2px 10px rgba(12,31,78,0.18);
}
.nbt-btn-primary:hover {
    box-shadow: 0 4px 16px rgba(12,31,78,0.26);
}

/* ── Network: real logo images ── */
.nbt-network-logo {
    height: 28px;
    width: auto;
    display: block;
    object-fit: contain;
}
.nbt-networks__logos {
    gap: 24px;
}

.nbt-cta__title {
    font-size: 40px;
}

/* ── Deeper card hover ── */
.nbt-dienst-card:hover {
    box-shadow: 0 20px 56px rgba(12,31,78,0.13);
    transform: translateY(-6px);
}
.nbt-blog-card:hover {
    box-shadow: 0 20px 56px rgba(12,31,78,0.13);
    transform: translateY(-6px);
}


/* ── Mobile overrides for v2.2 additions ── */
@media (max-width: 900px) {
    .nbt-hero { padding: 72px 0 72px; }
    .nbt-hero__title { font-size: 38px !important; }
    .nbt-hero__float-badge { display: none; }
}

/* =========================================
   v2.3 — HEADER + NETWORK BAR POLISH
   ========================================= */

/* ── Header: reduce logo + nav size, remove extra whitespace ── */
.site-header .site-logo-container,
.site-header [data-id="logo"] .site-logo-container {
    --logo-max-height: 26px !important;
    --logo-shrink-height: 26px !important;
}
.site-header .site-logo img,
.site-header .ct-logo img,
.site-header [data-id="logo"] img {
    width: auto !important;
}

/* Altijd cobalt logo tonen, nooit het witte */
img.default-logo { display: none !important; }
img.sticky-logo  { display: block !important; }
.site-header,
.site-header .ct-header,
.site-header .ct-container,
.site-header [data-row],
.site-header [class*="ct-header-row"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}
/* Re-apply just enough padding to the main row that holds the nav */
.site-header .ct-container {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.ct-header [data-id="menu"] > ul > li > a {
    font-size: 13.5px !important;
    letter-spacing: 0 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}
/* Orange login/CTA button in header */
.ct-header [data-id="button"] a,
.site-header .nv-nav-button a {
    font-size: 13px !important;
    padding: 8px 20px !important;
    border-radius: 6px !important;
}

/* ── Network bar: true center via grid ── */
.nbt-networks__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0;
}
.nbt-networks__logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
}
.nbt-networks__tagline {
    margin-left: 0;
    text-align: right;
}
.nbt-network-logo {
    height: 26px;
}

/* ── Network bar: more vertical breathing room, no border ── */
.nbt-networks {
    padding: 22px 0;
    border-bottom: none;
}

/* =========================================
   v2.9 — HUB SECTION
   ========================================= */

/* Hub outer section */
.nbt-hub {
    background: var(--nbt-white);
    padding: 72px 0 80px;
}

/* ── Mind-map hub: 3-column layout, portal center, category boxes each side ── */
.nbt-hub__mindmap {
    display: grid;
    grid-template-columns: 1fr 260px 1fr;
    column-gap: 52px;
    align-items: center;
    position: relative;
    margin-top: 0;
}
/* ── Portal spotlight intro text (left column) ── */
.nbt-hub__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 8px;
}
.nbt-hub__intro-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    line-height: 1.2;
    margin: 8px 0 20px;
    letter-spacing: -0.01em;
}
.nbt-hub__intro-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}
.nbt-hub__intro-list li {
    padding: 5px 0 5px 22px;
    position: relative;
    font-size: 14px;
    color: var(--nbt-body);
    line-height: 1.5;
}
.nbt-hub__intro-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--nbt-orange);
    font-weight: 700;
}
.nbt-hub__intro-cta {
    align-self: flex-start;
    font-size: 14px;
    padding: 10px 20px;
}

/* ── CSS dot connectors: right column → portal card ── */
/* Dim static dots */
.nbt-hub__side--right .nbt-hub__cat::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    /* wider than column-gap so dots visually meet the portal card edge */
    width: 70px;
    height: 4px;
    background-image: radial-gradient(circle 1.5px at 1.5px 2px, var(--nbt-cobalt) 100%, transparent 100%);
    background-size: 7px 4px;
    background-repeat: repeat-x;
    opacity: 0.15;
    pointer-events: none;
    right: 100%;
}
/* Animated sweep dots (data-flow portal → items) */
.nbt-hub__side--right .nbt-hub__cat::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 70px;
    height: 4px;
    background-image: radial-gradient(circle 1.5px at 1.5px 2px, var(--nbt-cobalt) 100%, transparent 100%);
    background-size: 7px 4px;
    background-repeat: repeat-x;
    opacity: 0.7;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 25%, black 75%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, black 25%, black 75%, transparent 100%);
    -webkit-mask-size: 300% 100%;
    mask-size: 300% 100%;
    pointer-events: none;
    right: 100%;
    animation: sweep-ltr 2.2s linear infinite;
}
.nbt-hub__side--right .nbt-hub__cat:nth-child(1)::after  { animation-delay: 0s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(2)::after  { animation-delay: 0.30s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(3)::after  { animation-delay: 0.60s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(4)::after  { animation-delay: 0.90s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(5)::after  { animation-delay: 1.20s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(6)::after  { animation-delay: 1.50s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(7)::after  { animation-delay: 1.80s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(8)::after  { animation-delay: 0.15s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(9)::after  { animation-delay: 0.45s; }
.nbt-hub__side--right .nbt-hub__cat:nth-child(10)::after { animation-delay: 0.75s; }

@keyframes sweep-rtl {
    from { -webkit-mask-position: 200% 0; mask-position: 200% 0; }
    to   { -webkit-mask-position: -100% 0; mask-position: -100% 0; }
}
@keyframes sweep-ltr {
    from { -webkit-mask-position: -100% 0; mask-position: -100% 0; }
    to   { -webkit-mask-position: 200% 0; mask-position: 200% 0; }
}
/* Side columns: flex, evenly spaced */
.nbt-hub__side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}
/* Category boxes */
.nbt-hub__cat {
    background: #ffffff;
    border: 1px solid var(--nbt-border);
    border-left: 3px solid var(--cat-color, var(--nbt-cobalt));
    border-radius: 6px;
    padding: 10px 14px;
    position: relative;
    width: fit-content;
    align-self: flex-start; /* hug toward portal (left edge) */
}
.nbt-hub__side--right .nbt-hub__cat {
    border-left: 1px solid var(--nbt-border);
    border-right: 3px solid var(--cat-color, var(--nbt-cobalt));
    align-self: flex-start;
}
.nbt-hub__cat-title {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    margin-bottom: 6px;
    font-family: var(--nbt-font);
    letter-spacing: 0.2px;
}
.nbt-hub__cat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.nbt-hub__cat-list li {
    font-size: 11px;
    color: var(--nbt-body);
    font-family: var(--nbt-font);
    line-height: 1.6;
}
/* Portal card gets z-index over SVG lines */
.nbt-hub__mindmap .nbt-hub__portal { position: relative; z-index: 2; }

/* ── Portal card (the hub) ── */
.nbt-hub__portal {
    background: linear-gradient(145deg, var(--nbt-cobalt) 0%, #162d5e 100%);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 64px rgba(12,31,78,0.22);
}
.nbt-hub__portal-top {
    padding: 24px 28px 18px;
}
.nbt-hub__portal-label {
    display: inline-block;
    background: rgba(232,77,28,0.18);
    color: var(--nbt-orange);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 16px;
    font-family: var(--nbt-font);
}
.nbt-hub__portal-title {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 14px;
    font-family: var(--nbt-font);
}
.nbt-hub__portal-sub {
    color: rgba(255,255,255,0.65);
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 24px;
    font-family: var(--nbt-font);
}
.nbt-hub__portal-top .nbt-btn-primary {
    background: var(--nbt-orange);
    font-size: 13px;
}
.nbt-hub__portal-top .nbt-btn-primary:hover {
    background: #d44318;
}

/* ── Dashboard mockup inside portal card ── */
.nbt-hub__dashboard {
    margin: 0 16px 16px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    overflow: hidden;
    flex: 1;
}
.nbt-hub__dash-bar {
    background: rgba(0,0,0,0.25);
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.nbt-hub__dash-dots {
    display: flex;
    gap: 5px;
}
.nbt-hub__dash-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    display: block;
}
.nbt-hub__dash-url {
    font-size: 10px;
    color: rgba(255,255,255,0.3);
    font-family: var(--nbt-font);
}
.nbt-hub__dash-body {
    padding: 16px 18px;
}
.nbt-hub__dash-heading {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 14px;
    font-family: var(--nbt-font);
}
.nbt-hub__dash-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.nbt-hub__dash-row:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
}
.nbt-hub__dash-icon {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.nbt-hub__dash-icon--phone { background: rgba(232,77,28,0.2); }
.nbt-hub__dash-icon--globe  { background: rgba(64,140,230,0.2); }
.nbt-hub__dash-icon svg {
    width: 14px;
    height: 14px;
    color: rgba(255,255,255,0.7);
}
.nbt-hub__dash-label {
    font-size: 12px;
    color: rgba(255,255,255,0.75);
    flex: 1;
    font-family: var(--nbt-font);
}
.nbt-hub__dash-val {
    font-size: 11px;
    color: rgba(255,255,255,0.4);
    font-family: var(--nbt-font);
}
.nbt-hub__dash-pill {
    font-size: 9px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    font-family: var(--nbt-font);
    letter-spacing: 0.5px;
}
.nbt-hub__dash-pill--green { background: rgba(0,200,100,0.18); color: #4de89a; }
.nbt-hub__dash-pill--blue  { background: rgba(64,140,230,0.18); color: #7ab8f5; }

/* Data bar row */
.nbt-hub__dash-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.07);
}
.nbt-hub__dash-bar-label {
    font-size: 11px;
    color: rgba(255,255,255,0.4);
    width: 80px;
    flex-shrink: 0;
    font-family: var(--nbt-font);
}
.nbt-hub__dash-bar-track {
    flex: 1;
    height: 5px;
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
    overflow: hidden;
}
.nbt-hub__dash-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nbt-orange), #f5834d);
    border-radius: 3px;
}
.nbt-hub__dash-bar-pct {
    font-size: 11px;
    font-weight: 700;
    color: var(--nbt-orange);
    font-family: var(--nbt-font);
}


/* ── Service cards (bottom row) ── */
.nbt-hub__services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}
.nbt-hub__service-card {
    background: var(--nbt-white);
    border: none;
    border-radius: 12px;
    padding: 26px 26px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow 0.2s, transform 0.2s;
}
.nbt-hub__service-card:hover {
    box-shadow: 0 10px 36px rgba(12,31,78,0.12);
    transform: translateY(-3px);
}
.nbt-hub__service-icon {
    width: 46px;
    height: 46px;
    background: var(--nbt-cobalt);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.nbt-hub__service-icon svg {
    width: 22px;
    height: 22px;
    color: #fff;
    stroke: #fff;
}
.nbt-hub__service-title {
    color: var(--nbt-cobalt);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
    font-family: var(--nbt-font);
}
.nbt-hub__service-text {
    color: var(--nbt-body);
    font-size: 13.5px;
    line-height: 1.6;
    margin: 0 0 10px;
}

/* Hub responsive */
@media (max-width: 900px) {
    .nbt-hub__mindmap {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 16px;
    }
    /* Hide connectors on mobile */
    .nbt-hub__side--right .nbt-hub__cat::before,
    .nbt-hub__side--right .nbt-hub__cat::after { display: none; }
    .nbt-hub__side {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: flex-start;
    }
    .nbt-hub__cat { flex: 1 1 calc(50% - 10px); min-width: 130px; }
    .nbt-hub__side--right .nbt-hub__cat {
        border-right: none;
        border-left: 3px solid var(--cat-color, var(--nbt-cobalt));
    }
    .nbt-hub__services { grid-template-columns: 1fr; }
}

/* =========================================
   v2.9 — DIENSTEN + WHY REDESIGN
   ========================================= */

/* Diensten cards: cobalt header strip */
.nbt-dienst-card {
    padding: 0 !important;
    overflow: hidden;
}
.nbt-dienst-card__header {
    background: var(--nbt-cobalt);
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nbt-dienst-card__header--accent {
    background: linear-gradient(135deg, var(--nbt-cobalt) 0%, #1a3670 100%);
}
.nbt-dienst-card__header svg {
    width: 38px;
    height: 38px;
    color: #ffffff;
    stroke: #ffffff;
}
.nbt-dienst-card__body {
    padding: 24px 26px 28px;
}
.nbt-dienst-card__num {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--nbt-orange);
    text-transform: uppercase;
    margin-bottom: 10px;
    font-family: var(--nbt-font);
}
.nbt-dienst-card__title {
    margin-bottom: 12px !important;
}

/* Waarom nobotel: cards with cobalt icon */
.nbt-why__item {
    background: var(--nbt-white);
    border-radius: 12px;
    padding: 32px 22px 28px;
    border: none;
    border-top: 3px solid var(--nbt-orange);
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow 0.2s, transform 0.2s;
}
.nbt-why__item:hover {
    box-shadow: 0 10px 36px rgba(12,31,78,0.12);
    transform: translateY(-4px);
}
.nbt-why__icon-wrap {
    background: var(--nbt-cobalt) !important;
    border: none !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(12,31,78,0.18) !important;
}
.nbt-why__icon-wrap svg {
    width: 26px !important;
    height: 26px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
}
.nbt-why__title {
    font-size: 15px !important;
    margin-top: 4px !important;
}
.nbt-why__text {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

/* ── Scroll-reveal: sections fade + slide up when entering viewport ─────── */
.nbt-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}
.nbt-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* ── Onze oplossingen (section 3) — white breaks from hero's light blue ─── */
.nbt-oplossingen {
    padding: 72px 0;
    background: var(--nbt-white);
}

/* Section header (title + intro text above cards) */
.nbt-si__header {
    text-align: center;
    margin-bottom: 40px;
}
.nbt-si__title {
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    color: var(--nbt-cobalt);
    line-height: 1.2;
    margin: 8px 0 12px;
}
.nbt-si__sub {
    font-size: 16px;
    color: var(--nbt-body);
    max-width: 540px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Cards grid */
.nbt-si__cards {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: 20px;
    align-items: start;
}

/* Shared card */
.nbt-si__card {
    background: #ffffff;
    border: none;
    border-radius: 16px;
    padding: 26px 22px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.nbt-si__card--side:hover {
    box-shadow: 0 10px 32px rgba(12,31,78,0.12);
    transform: translateY(-3px);
}
.nbt-si__card-icon svg {
    width: 34px;
    height: 34px;
    stroke: var(--nbt-cobalt);
}
.nbt-si__card-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    margin: 0;
    line-height: 1.3;
}
.nbt-si__card-desc {
    font-size: 13.5px;
    color: var(--nbt-body);
    line-height: 1.6;
    margin: 0;
}
.nbt-si__card-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--nbt-orange);
    margin-top: 4px;
}
.nbt-si__card--side:hover .nbt-si__card-link { text-decoration: underline; }
.nbt-si__card--portal { cursor: default; }

/* ── Mobile Portal (section 4) — light blue, contrasts with white above ─── */
.nbt-portal {
    padding: 72px 0;
    background: var(--nbt-bg-light);
}

/* Portal reveal: scale upward from card, as if expanding from the tile above */
.nbt-portal.nbt-reveal {
    transform: scale(0.97) translateY(16px);
    transform-origin: top center;
}
.nbt-portal.is-visible {
    transform: none;
}

/* Dashboard: dark card on light background */
.nbt-portal .nbt-hub__dashboard {
    margin: 0;
    background: var(--nbt-cobalt);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
}
.nbt-portal .nbt-hub__dash-bar    { background: rgba(0,0,0,0.3); border-radius: 12px 12px 0 0; }
.nbt-portal .nbt-hub__dash-body   { padding: 14px 18px; }
.nbt-portal .nbt-hub__dash-bar-row { margin-top: 10px; }

/* Actions section inside dashboard */
.nbt-hub__dash-divider {
    border: none;
    border-top: 1px solid rgba(255,255,255,0.10);
    margin: 14px 0 10px;
}
.nbt-hub__dash-subheading {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.38);
    margin: 0 0 8px;
}
.nbt-hub__dash-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.nbt-hub__dash-action {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px 3px 7px;
    border-radius: 4px;
    font-size: 10.5px;
    font-weight: 600;
    background: rgba(255,255,255,0.07);
    border-left: 2px solid var(--ac);
    color: rgba(255,255,255,0.82);
    white-space: nowrap;
    letter-spacing: 0.01em;
}

/* ── Hub2: portal spotlight layout ─────────────────────────────────────── */
.nbt-hub2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}
.nbt-hub2__text {
    display: flex;
    flex-direction: column;
    padding-top: 8px;
}
.nbt-hub2__title {
    font-size: clamp(22px, 2.6vw, 32px);
    font-weight: 700;
    color: var(--nbt-cobalt);
    line-height: 1.2;
    margin: 10px 0 20px;
    letter-spacing: -0.01em;
}
.nbt-hub2__list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
}
.nbt-hub2__list li {
    padding: 6px 0 6px 24px;
    position: relative;
    font-size: 15px;
    color: var(--nbt-body);
    line-height: 1.5;
}
.nbt-hub2__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--nbt-orange);
    font-weight: 700;
}
.nbt-hub2__cta {
    align-self: flex-start;
    font-size: 14px;
    padding: 10px 22px;
}
.nbt-hub2__visual {
    display: block;
}

/* Mobile */
@media (max-width: 768px) {
    .nbt-oplossingen,
    .nbt-portal { padding: 48px 0; }
    .nbt-si__cards {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .nbt-si__card--portal { order: -1; }
    .nbt-hub2 { grid-template-columns: 1fr; gap: 28px; }
    .nbt-hub__dash-action { white-space: normal; }
    /* Reveal: skip animation on mobile for performance */
    .nbt-reveal { opacity: 1; transform: none; }
}

/* =========================================
   SALESFORCE-INSPIRED ENHANCEMENTS
   ========================================= */


/* Section wave dividers */
.nbt-wave { display: block; line-height: 0; margin-top: -1px; margin-bottom: -1px; position: relative; z-index: 2; pointer-events: none; background: #F0F4F8; }
.nbt-wave svg { display: block; width: 100%; height: 80px; }
.nbt-wave--bp { background: linear-gradient(to right, var(--nbt-cobalt) 0%, var(--nbt-cobalt-mid) 100%); }

/* Blog card category: pill badge style */
.nbt-blog-card__cat {
    background: rgba(232, 77, 28, 0.10);
    border-radius: 20px;
    padding: 3px 12px;
    margin-bottom: 10px;
    display: inline-block;
}

/* Why section: plain white */
.nbt-why { background: #ffffff; }

/* Blog: subtle top separator (wave removed for this transition) */
.nbt-blog { border-top: 1px solid var(--nbt-border); }

/* Oplossingen section: slightly more breathing room */
.nbt-oplossingen { padding: 88px 0; }

/* Why section: slightly more breathing room */
.nbt-why { padding: 88px 0; }

/* Service cards: deeper hover lift */
.nbt-si__card--side:hover {
    box-shadow: 0 18px 50px rgba(12, 31, 78, 0.12);
    transform: translateY(-5px);
}

/* ── Reveal: transform only — no opacity = no white flash on load ── */
.nbt-reveal {
    opacity: 1 !important;
    transform: translateY(18px);
    transition: transform 0.6s ease;
}
.nbt-reveal.is-visible { transform: none; }
.nbt-portal.nbt-reveal { opacity: 1 !important; }

/* ── Why + Video: video left, horizontal cards right ── */
.nbt-why { padding: 96px 0; }

.nbt-why__split {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 52px;
    align-items: center;
    margin-top: 48px;
}

/* Video column */
.nbt-why__video-centered {
    margin: 0;
}
.nbt-why__video-centered iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(12, 31, 78, 0.14);
}

/* Cards column: vertical stack */
.nbt-why__cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Horizontal card layout */
.nbt-why__cards .nbt-why__item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
    text-align: left;
    border-radius: 10px;
    cursor: default;
}
.nbt-why__cards .nbt-why__icon-wrap {
    margin: 0 !important;
    flex-shrink: 0;
    width: 46px !important;
    height: 46px !important;
    border-radius: 10px !important;
}
.nbt-why__item-body { flex: 1; min-width: 0; }
.nbt-why__cards .nbt-why__title {
    font-size: 14px !important;
    margin: 0 0 4px !important;
}
.nbt-why__cards .nbt-why__text {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

@media (max-width: 900px) {
    .nbt-why__split { grid-template-columns: 1fr; gap: 32px; }
    .nbt-why__video-col { order: -1; }
}

/* ── Testimonials: light background (breaks up cobalt stretch) ── */
.nbt-testimonials { background: var(--nbt-bg-light); }
.nbt-testimonials .nbt-section-title { color: var(--nbt-cobalt); }
.nbt-testimonials .nbt-section-tag  { color: var(--nbt-orange); }

.nbt-testimonial-panel {
    background: #ffffff;
    border: none;
    box-shadow: 0 4px 20px rgba(12,31,78,0.09);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nbt-testimonial-panel:hover {
    transform: scale(1.025);
    box-shadow: 0 10px 40px rgba(12,31,78,0.14);
}
.nbt-testimonial-panel__quote       { color: var(--nbt-body); }
.nbt-testimonial-panel__quote-icon  { color: var(--nbt-orange); }
.nbt-testimonial-panel__name        { color: var(--nbt-cobalt); }
.nbt-testimonial-panel__role        { color: #8899aa; }
.nbt-testimonial-panel__avatar      { background: rgba(12,31,78,0.10); color: var(--nbt-cobalt); }

/* ── Hero: tekst/foto iets lager, boog + logos iets hoger ── */
.nbt-hero {
    padding: 150px 0 48px;
    position: relative;
    overflow: hidden;
}
/* Fade onderkant hero uniform naar #F0F4F8 zodat de wave naadloos aansluit */
.nbt-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: linear-gradient(to bottom, transparent, #F0F4F8);
    pointer-events: none;
}
.nbt-networks {
    padding: 10px 0 22px;
    position: relative;
    z-index: 3;
}

/* ══════════════════════════════════════════
   PORTAL DASHBOARD V3
   ══════════════════════════════════════════ */

/* Light theme matching the actual portal */
.nbt-hub__dash--v3 {
    background: #e8f0f7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 20px 56px rgba(12,31,78,0.18), 0 0 0 1px rgba(12,31,78,0.08);
}

/* Browser bar (dark — realistic chrome) */
.nbt-hub__dash--v3 .nbt-hub__dash-bar {
    background: #2a2d35;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.nbt-hub__dash--v3 .nbt-hub__dash-url {
    font-size: 10px;
    color: rgba(255,255,255,0.35);
    font-family: var(--nbt-font);
    flex: 1;
    text-align: center;
}
.nbt-pdash__live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
    display: block;
    animation: nbt-pulse-dot 2s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes nbt-pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.7); }
}

/* Portal nav — white like the real portal */
.nbt-pdash__nav {
    background: #ffffff;
    border-bottom: 1px solid #dde8f0;
    padding: 7px 16px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.nbt-pdash__nav-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.nbt-pdash__nav-logo-img {
    height: 20px;
    width: auto;
    display: block;
}
.nbt-pdash__nav-links {
    display: flex;
    gap: 14px;
    overflow: hidden;
}
.nbt-pdash__nav-links span {
    font-size: 10px;
    color: #7a94aa;
    font-family: var(--nbt-font);
    white-space: nowrap;
}

/* Dashboard body */
.nbt-pdash__body {
    padding: 12px 14px 14px;
    background: #e8f0f7;
}

/* Grid trick: all panels same cell → no height jump */
.nbt-pdash__panels-grid {
    display: grid;
    grid-template-areas: 'panel';
}
.nbt-pdash__panel { grid-area: panel; }
.nbt-pdash__panel--hidden {
    visibility: hidden !important;
    pointer-events: none !important;
}

/* KPI row */
.nbt-pdash__kpi-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-bottom: 8px;
}
.nbt-pdash__kpi {
    background: #ffffff;
    border: 1px solid #dde8f0;
    border-radius: 8px;
    padding: 9px 11px;
}
.nbt-pdash__kpi--warn {
    border-color: rgba(232,77,28,0.3);
    background: #fff7f5;
}
.nbt-pdash__kpi-val {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--nbt-cobalt);
    font-family: var(--nbt-font);
    line-height: 1.2;
}
.nbt-pdash__kpi--warn .nbt-pdash__kpi-val { color: #E84D1C; }
.nbt-pdash__kpi-lbl {
    display: block;
    font-size: 8.5px;
    color: #8fa8be;
    font-family: var(--nbt-font);
    margin-top: 2px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Charts row */
.nbt-pdash__charts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-bottom: 7px;
}
.nbt-pdash__chart-card {
    background: #ffffff;
    border: 1px solid #dde8f0;
    border-radius: 8px;
    padding: 10px 12px;
}
.nbt-pdash__card-title {
    font-size: 8.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color: #8fa8be;
    font-family: var(--nbt-font);
    margin: 0 0 8px;
}

/* Bar chart */
.nbt-pdash__bars {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    height: 58px;
}
.nbt-pdash__bar-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    height: 100%;
    justify-content: flex-end;
    gap: 3px;
}
.nbt-pdash__bar-col span {
    font-size: 7.5px;
    color: #a0b8cc;
    font-family: var(--nbt-font);
    line-height: 1;
}
.nbt-pdash__bar-lbl-hi { color: var(--nbt-cobalt) !important; font-weight: 700; }
.nbt-pdash__bar {
    width: 100%;
    border-radius: 3px 3px 0 0;
    background: #c8d8e8;
    height: 0;
    transition: height 0.8s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.nbt-pdash__bar--hi {
    background: linear-gradient(180deg, #f5834d 0%, #E84D1C 100%);
}
.nbt-hub__dash--v3.is-animated .nbt-pdash__bar { height: var(--bh); }
.nbt-pdash__bar-col:nth-child(1) .nbt-pdash__bar { transition-delay: 0.05s; }
.nbt-pdash__bar-col:nth-child(2) .nbt-pdash__bar { transition-delay: 0.15s; }
.nbt-pdash__bar-col:nth-child(3) .nbt-pdash__bar { transition-delay: 0.25s; }
.nbt-pdash__bar-col:nth-child(4) .nbt-pdash__bar { transition-delay: 0.35s; }

/* Donut chart */
.nbt-pdash__chart-card--donut {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}
.nbt-pdash__donut-wrap {
    position: relative;
    width: 68px;
    height: 68px;
    margin: 2px auto 4px;
}
.nbt-pdash__donut-svg { width: 68px; height: 68px; }
.nbt-pdash__donut-ring {
    stroke-dashoffset: 188.5;
    transition: stroke-dashoffset 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
}
.nbt-hub__dash--v3.is-animated .nbt-pdash__donut-ring { stroke-dashoffset: 30.5; }
.nbt-pdash__donut-center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.nbt-pdash__donut-val {
    font-size: 15px;
    font-weight: 800;
    color: var(--nbt-cobalt);
    font-family: var(--nbt-font);
    line-height: 1;
}
.nbt-pdash__donut-unit {
    font-size: 8px;
    color: #8fa8be;
    font-family: var(--nbt-font);
}
.nbt-pdash__donut-sub {
    font-size: 8px;
    color: #8fa8be;
    font-family: var(--nbt-font);
    text-align: center;
    margin: 0;
}

/* Table card */
.nbt-pdash__table-card {
    background: #ffffff;
    border: 1px solid #dde8f0;
    border-radius: 8px;
    padding: 10px 12px;
}
.nbt-pdash__table-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px solid #eef4f9;
    font-family: var(--nbt-font);
}
.nbt-pdash__table-row span:first-child { font-size: 10px; color: #5a7a94; }
.nbt-pdash__table-row span:last-child  { font-size: 10px; font-weight: 700; color: var(--nbt-cobalt); }
.nbt-pdash__table-row--last { border-bottom: none; }

/* Logo SVG */
.nbt-pdash__logo-svg {
    display: block;
    height: 18px;
    width: auto;
}

/* Clickable tabs */
.nbt-pdash__tab {
    cursor: pointer;
    transition: color 0.15s;
}
.nbt-pdash__tab:hover { color: var(--nbt-cobalt) !important; }
.nbt-pdash__tab--active {
    color: var(--nbt-cobalt) !important;
    border-bottom: 1.5px solid #E84D1C;
    padding-bottom: 1px;
}

/* Panel visibility — visibility:hidden keeps height stable, display:none would collapse it */
.nbt-pdash__panel--hidden { visibility: hidden !important; pointer-events: none !important; }

/* ── Aansluitingen panel ── */
.nbt-pdash__sim-list {
    border: 1px solid #dde8f0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 8px;
    background: #ffffff;
}
.nbt-pdash__sim-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-bottom: 1px solid #eef4f9;
    transition: background 0.15s;
    cursor: default;
}
.nbt-pdash__sim-row:hover { background: #f5f9fc; }
.nbt-pdash__sim-row--last { border-bottom: none; }
.nbt-pdash__sim-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.nbt-pdash__sim-dot--on  { background: #22c55e; }
.nbt-pdash__sim-dot--off { background: rgba(255,255,255,0.2); }
.nbt-pdash__sim-name {
    font-size: 10.5px;
    color: var(--nbt-cobalt);
    font-family: var(--nbt-font);
    flex: 1;
    min-width: 0;
}
.nbt-pdash__sim-num {
    font-size: 9.5px;
    color: #8fa8be;
    font-family: var(--nbt-font);
    white-space: nowrap;
}
.nbt-pdash__sim-net {
    font-size: 8.5px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
    letter-spacing: 0.3px;
    font-family: var(--nbt-font);
    flex-shrink: 0;
}
.nbt-pdash__sim-net--kpn   { background: rgba(0,166,80,0.18);   color: #4ade80; }
.nbt-pdash__sim-net--voda  { background: rgba(230,0,0,0.18);    color: #f87171; }
.nbt-pdash__sim-net--odido { background: rgba(108,45,145,0.22); color: #c084fc; }
.nbt-pdash__sim-more {
    font-size: 9.5px;
    color: #8fa8be;
    font-family: var(--nbt-font);
    text-align: center;
    padding: 4px 0;
}

/* ── Kosten panel ── */
.nbt-pdash__cost-table {
    border: 1px solid #dde8f0;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}
.nbt-pdash__cost-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    padding: 6px 12px;
    border-bottom: 1px solid #eef4f9;
    font-family: var(--nbt-font);
}
.nbt-pdash__cost-row:last-child { border-bottom: none; }
.nbt-pdash__cost-header span {
    font-size: 8.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #8fa8be;
}
.nbt-pdash__cost-row span:first-child { font-size: 10px; color: #5a7a94; }
.nbt-pdash__cost-row span:not(:first-child) { font-size: 10px; color: var(--nbt-cobalt); text-align: right; min-width: 56px; }
.nbt-pdash__cost-total { background: #f0f6fb; }
.nbt-pdash__cost-total span { font-weight: 700 !important; color: var(--nbt-cobalt) !important; }

/* ── Verbruik panel ── */
.nbt-pdash__usage-bars { display: flex; flex-direction: column; gap: 8px; }
.nbt-pdash__usage-row {
    display: grid;
    grid-template-columns: 52px 1fr 44px;
    align-items: center;
    gap: 8px;
}
.nbt-pdash__usage-row span:first-child {
    font-size: 9px;
    color: #8fa8be;
    font-family: var(--nbt-font);
}
.nbt-pdash__usage-row span:last-child {
    font-size: 9px;
    color: var(--nbt-cobalt);
    font-family: var(--nbt-font);
    text-align: right;
}
.nbt-pdash__usage-track {
    height: 5px;
    background: #dde8f0;
    border-radius: 3px;
    overflow: hidden;
}
.nbt-pdash__usage-fill {
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, #E84D1C, #f5834d);
}
.nbt-pdash__usage-fill--dim  { background: rgba(255,255,255,0.2); }
.nbt-pdash__usage-fill--blue { background: linear-gradient(90deg, #3b82f6, #60a5fa); }

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
.nbt-footer {
    background: #1c232e;
    color: rgba(255,255,255,0.75);
    font-size: 14px;
}
.nbt-footer__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}
.nbt-footer__main .nbt-footer__container {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
    padding-top: 64px;
    padding-bottom: 56px;
}
.nbt-footer__col--brand {
    padding-right: 16px;
}
.nbt-footer__logo {
    height: 36px;
    width: auto;
    display: block;
    margin-bottom: 20px;
}
.nbt-footer__logo-link { display: inline-block; }
.nbt-footer__tagline {
    font-size: 13.5px;
    line-height: 1.65;
    color: rgba(255,255,255,0.55);
    margin: 0 0 20px;
}
.nbt-footer__linkedin {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}
.nbt-footer__linkedin:hover { color: #ffffff; }
.nbt-footer__heading {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin: 0 0 18px;
}
.nbt-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-footer__links a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}
.nbt-footer__links a:hover { color: #ffffff; }
.nbt-footer__contact-list {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.nbt-footer__contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255,255,255,0.7);
}
.nbt-footer__contact-list svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: rgba(255,255,255,0.35);
}
.nbt-footer__contact-list a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: color 0.2s;
}
.nbt-footer__contact-list a:hover { color: #ffffff; }
.nbt-footer__address span { line-height: 1.6; }
.nbt-footer__legal-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    color: rgba(255,255,255,0.35);
}
.nbt-footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
}
.nbt-footer__bottom .nbt-footer__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 20px;
}
.nbt-footer__copy { color: rgba(255,255,255,0.35); font-size: 13px; }
.nbt-footer__legal-links {
    display: flex;
    gap: 24px;
}
.nbt-footer__legal-links a {
    color: rgba(255,255,255,0.35);
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s;
}
.nbt-footer__legal-links a:hover { color: rgba(255,255,255,0.7); }

@media (max-width: 900px) {
    .nbt-footer__main .nbt-footer__container {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
}
@media (max-width: 600px) {
    .nbt-footer__main .nbt-footer__container {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .nbt-footer__bottom .nbt-footer__container {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

/* =========================================
   GEDEELD — BINNENSTE PAGINA'S
   ========================================= */

.nbt-bg-light { background: var(--nbt-bg-light); }

/* Gradient hero variant (lichtblauw, zelfde einde als homepage hero) */
.nbt-hero--gradient {
    background: linear-gradient(155deg, #d6e5f4 0%, #eaf1f8 55%, #F0F4F8 100%);
    padding: 130px 0 72px; /* 130px accounts for ~70px transparent header + 60px breathing room */
}

/* CTA cobalt blok (gedeeld alle pagina's) */
.nbt-cta-cobalt {
    background: var(--nbt-navy);
    padding: 80px 0;
    text-align: center;
}
.nbt-cta-cobalt__title {
    color: #fff;
    font-size: 32px;
    font-weight: 800;
    margin: 0 0 12px;
    line-height: 1.2;
}
.nbt-cta-cobalt__sub {
    color: rgba(255,255,255,0.8);
    font-size: 16px;
    margin: 0 0 32px;
}
.nbt-cta-cobalt__btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.nbt-btn-outline--white {
    border-color: rgba(255,255,255,0.5) !important;
    color: #fff !important;
}
.nbt-btn-outline--white:hover {
    background: rgba(255,255,255,0.12) !important;
    border-color: #fff !important;
    color: #fff !important;
}

/* Stappen (gedeeld sim-only + travel + portal) */
.nbt-so__stap {
    background: #fff;
    border-radius: 12px;
    padding: 28px 24px;
    box-shadow: 0 2px 12px rgba(12,31,78,0.07);
    flex: 1;
}
.nbt-so__stap-num {
    width: 36px;
    height: 36px;
    background: var(--nbt-orange);
    color: #fff;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.nbt-so__stap h3 {
    color: var(--nbt-cobalt);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
}
.nbt-so__stap p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}
.nbt-so__stap-arrow {
    font-size: 22px;
    color: var(--nbt-orange);
    display: flex;
    align-items: flex-start;
    padding-top: 46px;
    flex-shrink: 0;
}

/* Contact split (formulier + info naast elkaar) */
.nbt-contact-split {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 48px;
    align-items: start;
}
.nbt-contact-split__text .nbt-section-title {
    margin: 8px 0 16px;
}
.nbt-contact-split__text p {
    color: var(--nbt-body);
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 20px;
}
.nbt-contact-split__usps {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.nbt-contact-split__usps li {
    color: var(--nbt-cobalt);
    font-size: 14px;
    font-weight: 600;
    padding-left: 20px;
    position: relative;
}
.nbt-contact-split__usps li::before {
    content: '✓';
    color: var(--nbt-orange);
    position: absolute;
    left: 0;
}
.nbt-contact-split__info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.nbt-contact-split__info a {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}
.nbt-contact-split__info a:hover { color: var(--nbt-orange); }

/* Elementor form — gestyleerd met brand tokens */
.nbt-eform {
    background: #fff;
    border: none;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 4px 24px rgba(12,31,78,0.10);
}
.nbt-eform__fields {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.nbt-eform__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.nbt-eform__field {
    display: flex;
    flex-direction: column;
}
.nbt-eform__field--full { grid-column: 1 / -1; }
.nbt-eform__field .elementor-field,
.nbt-eform__field .elementor-field-textual {
    width: 100% !important;
    border: 1px solid var(--nbt-border) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-family: var(--nbt-font) !important;
    font-size: 14px !important;
    color: var(--nbt-text) !important;
    background: #fafbfc !important;
    transition: border-color 0.2s !important;
    box-sizing: border-box !important;
    display: block !important;
}
.nbt-eform__field .elementor-field:focus,
.nbt-eform__field .elementor-field-textual:focus {
    outline: none !important;
    border-color: var(--nbt-cobalt) !important;
    background: #fff !important;
}
.nbt-eform__field textarea.elementor-field-textual { resize: vertical; }
.nbt-eform__select-wrap select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233A4F66' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    cursor: pointer;
}
.nbt-eform__accept {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 10px;
}
.nbt-eform__accept input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
    margin-top: 2px;
    padding: 0 !important;
    border-radius: 3px !important;
}
.nbt-eform__accept label {
    color: var(--nbt-body);
    font-size: 13px;
    line-height: 1.5;
    cursor: pointer;
}
.nbt-eform__accept label a { color: var(--nbt-orange); }
.nbt-eform__submit {
    width: 100% !important;
    text-align: center !important;
    margin-top: 4px;
    cursor: pointer;
    border: none !important;
    font-size: 15px !important;
    padding: 13px 26px !important;
}

/* =========================================
   SIM-ONLY PAGINA
   ========================================= */
.nbt-so__hero-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 16px 56px rgba(12,31,78,0.12);
    padding: 32px 28px;
    max-width: 340px;
    margin: 0 auto;
}
.nbt-so__hero-card-logos {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: 12px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--nbt-border);
}
.nbt-so__hero-card-logos img {
    height: 28px;
    width: auto;
    max-width: 78px;
    object-fit: contain;
}
.nbt-so__hero-card-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    text-align: center;
}
.nbt-so__hero-stat strong {
    display: block;
    color: var(--nbt-cobalt);
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 3px;
}
.nbt-so__hero-stat span {
    display: block;
    color: var(--nbt-body);
    font-size: 11px;
    line-height: 1.3;
}

/* Voordelen (4 pilaren) */
.nbt-so-voordelen { padding: 80px 0; }
.nbt-so__voordelen-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.nbt-so__voordeel {
    padding: 28px 24px;
    border: none;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-so__voordeel:hover {
    box-shadow: 0 8px 28px rgba(12,31,78,0.13);
    transform: translateY(-3px);
}
.nbt-so__voordeel-icon {
    width: 40px;
    height: 40px;
    color: var(--nbt-orange);
    margin-bottom: 14px;
}
.nbt-so__voordeel-icon svg { width: 100%; height: 100%; }
.nbt-so__voordeel h3 {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.nbt-so__voordeel p {
    color: var(--nbt-body);
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
}
.nbt-so__voordeel a { color: var(--nbt-orange); text-decoration: none; }

/* Uitleg — nieuwe centersectie met 3 kaarten */
.nbt-so-uitleg { padding: 88px 0; }
.nbt-so__uitleg-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 48px;
}
.nbt-so__uitleg-header .nbt-section-title { margin-bottom: 14px; }
.nbt-so__uitleg-header .nbt-section-sub {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 28px;
}
.nbt-so__uitleg-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.nbt-so__uitleg-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.nbt-so__uitleg-card {
    background: #fff;
    border: none;
    border-radius: 14px;
    padding: 28px 26px;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-so__uitleg-card:hover {
    box-shadow: 0 8px 28px rgba(12,31,78,0.12);
    transform: translateY(-3px);
}
.nbt-so__uitleg-card-icon {
    width: 38px;
    height: 38px;
    color: var(--nbt-cobalt);
    margin-bottom: 14px;
}
.nbt-so__uitleg-card-icon svg { width: 100%; height: 100%; }
.nbt-so__uitleg-card h3 {
    color: var(--nbt-cobalt);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
}
.nbt-so__uitleg-card p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}
.nbt-so__pool-bar-wrap { margin-top: 16px; }
.nbt-so__pool-bar-track {
    height: 7px;
    background: var(--nbt-bg-light);
    border-radius: 4px;
    overflow: hidden;
}
.nbt-so__pool-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nbt-cobalt), var(--nbt-orange));
    border-radius: 4px;
}
.nbt-so__pool-label {
    display: block;
    font-size: 12px;
    color: #8899aa;
    margin-top: 7px;
}
.nbt-so__uitleg-box {
    background: #fff;
    border: none;
    border-radius: 16px;
    padding: 28px 32px;
    box-shadow: 0 4px 24px rgba(12,31,78,0.10);
}
.nbt-so__uitleg-box h4 {
    color: var(--nbt-cobalt);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 12px;
}
.nbt-so__uitleg-box p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 20px;
}
.nbt-so__pool-visual { }
.nbt-so__pool-bar {
    background: var(--nbt-border);
    border-radius: 8px;
    height: 10px;
    overflow: hidden;
    margin-bottom: 8px;
}
.nbt-so__pool-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nbt-cobalt), var(--nbt-orange));
    border-radius: 8px;
}
.nbt-so__pool-visual span {
    color: var(--nbt-body);
    font-size: 12px;
}

/* Netwerken grid */
.nbt-so-netwerken { padding: 80px 0; }
.nbt-so__netwerken-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}
.nbt-so__netwerk-card {
    border: none;
    border-radius: 0;
    padding: 32px 24px;
    text-align: center;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s;
}
.nbt-so__netwerk-card:hover,
.nbt-so__netwerk-card:focus-visible {
    text-decoration: none;
    transform: translateY(-2px);
}
.nbt-so__netwerk-card img {
    height: 62px;
    width: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto 24px;
    mix-blend-mode: multiply;
    transition: transform .2s;
}
.nbt-so__netwerk-card:hover img {
    transform: scale(1.08);
}
.nbt-so__netwerk-card h3 {
    color: var(--nbt-cobalt);
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}
.nbt-so__netwerk-card p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

/* Meer dan SIM-only grid */
.nbt-so-meer { padding: 80px 0; }
.nbt-so__meer-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.nbt-so__meer-item {
    display: flex;
    gap: 16px;
    background: #fff;
    border: none;
    border-radius: 8px;
    padding: 22px 24px;
    align-items: flex-start;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-so__meer-item:hover {
    box-shadow: 0 8px 24px rgba(12,31,78,0.12);
    transform: translateY(-2px);
}
.nbt-so__meer-item svg {
    width: 36px;
    height: 36px;
    color: var(--nbt-orange);
    flex-shrink: 0;
}
.nbt-so__meer-item strong {
    display: block;
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
}
.nbt-so__meer-item span {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.6;
}
.nbt-so__meer-item a { color: var(--nbt-orange); text-decoration: none; }

.nbt-so-overstappen {
    background: #fff;
    padding: 72px 0 54px;
    text-align: center;
}
.nbt-so-overstappen__inner {
    max-width: 820px;
    margin: 0 auto;
}
.nbt-so-overstappen__copy p {
    margin: 0 0 14px;
    color: var(--nbt-body);
    font-size: 16px;
    line-height: 1.7;
}
.nbt-so-overstappen__copy p:last-child { margin-bottom: 0; }
.nbt-so-overstappen__copy a {
    color: var(--nbt-cobalt);
    font-weight: 700;
    text-decoration: none;
}

/* =========================================
   MOBILE PORTAL PAGINA
   ========================================= */
.nbt-portal-features { padding: 80px 0; }
.nbt-portal__features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.nbt-portal__feature-card {
    padding: 28px 24px;
    border: none;
    border-top: 3px solid var(--nbt-orange);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-portal__feature-card:hover {
    box-shadow: 0 8px 28px rgba(12,31,78,0.13);
    transform: translateY(-3px);
}
.nbt-portal__feature-icon {
    width: 40px;
    height: 40px;
    color: var(--nbt-orange);
    margin-bottom: 14px;
}
.nbt-portal__feature-icon svg { width: 100%; height: 100%; }
.nbt-portal__feature-card h3 {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.nbt-portal__feature-card p {
    color: var(--nbt-body);
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
}

/* Hoe werkt het stappen */
.nbt-portal-hoe { padding: 80px 0; }

/* Donkere variant — sterk visueel contrast */
.nbt-portal-hoe--dark {
    background: var(--nbt-navy);
    position: relative;
    overflow: hidden;
}
.nbt-portal-hoe--dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 20% 50%, rgba(0,82,204,.25) 0%, transparent 70%),
        radial-gradient(ellipse 50% 60% at 80% 20%, rgba(232,77,28,.12) 0%, transparent 60%);
    pointer-events: none;
}
.nbt-portal-hoe--dark .nbt-section-tag { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.2); }
.nbt-portal-hoe--dark .nbt-section-title { color: #fff; }

.nbt-portal__hoe-stappen {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-top: 40px;
    position: relative;
    z-index: 1;
}
.nbt-portal__hoe-stap {
    flex: 1;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
    border-radius: 16px;
    padding: 32px 24px;
}
.nbt-portal-hoe:not(.nbt-portal-hoe--dark) .nbt-portal__hoe-stap {
    background: #fff;
    border: 1px solid #e8ecf2;
    box-shadow: 0 2px 12px rgba(12,31,78,.07);
}
.nbt-portal__hoe-stap h3 {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
}
.nbt-portal-hoe:not(.nbt-portal-hoe--dark) .nbt-portal__hoe-stap h3 { color: var(--nbt-cobalt); }
.nbt-portal__hoe-stap p {
    color: rgba(255,255,255,.75);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}
.nbt-portal-hoe:not(.nbt-portal-hoe--dark) .nbt-portal__hoe-stap p { color: var(--nbt-body); }

/* stap-number en stap-arrow in donkere context */
.nbt-portal-hoe--dark .nbt-so__stap-num {
    background: var(--nbt-orange);
    color: #fff;
    box-shadow: 0 4px 16px rgba(232,77,28,.45);
}
.nbt-portal-hoe--dark .nbt-so__stap-arrow { color: rgba(255,255,255,.4); }

/* Portal contact sectie */
.nbt-portal-contact { padding: 80px 0; }

/* Portal detail blokken (verbruik, financieel, operationeel) */
.nbt-portal-detail { padding: 80px 0; }
.nbt-portal__detail-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.nbt-portal__detail-block--flip { direction: rtl; }
.nbt-portal__detail-block--flip > * { direction: ltr; }

.nbt-portal__detail-text .nbt-section-title { margin-bottom: 16px; }
.nbt-portal__detail-text > p { color: var(--nbt-body); line-height: 1.7; margin-bottom: 24px; }

.nbt-portal__detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-portal__detail-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    color: var(--nbt-navy);
    line-height: 1.5;
}
.nbt-portal__detail-list li::before {
    content: '✓';
    flex-shrink: 0;
    color: var(--nbt-orange);
    font-weight: 700;
    margin-top: 1px;
}

.nbt-portal__detail-qa { display: flex; flex-direction: column; gap: 20px; }
.nbt-portal__detail-qa-item strong {
    display: block;
    font-size: 15px;
    color: var(--nbt-navy);
    margin-bottom: 6px;
}
.nbt-portal__detail-qa-item p {
    font-size: 14px;
    color: var(--nbt-body);
    line-height: 1.65;
    margin: 0;
}

/* Portal mock-up visuals */
.nbt-portal__mock {
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 8px 32px rgba(0,52,102,.10);
    font-size: 13px;
}
.nbt-portal__mock-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef1f6;
}
.nbt-portal__mock-title { font-weight: 700; color: var(--nbt-navy); font-size: 13px; }
.nbt-portal__mock-period { font-size: 12px; color: #8a96a8; }
.nbt-portal__mock-badge {
    font-size: 11px;
    font-weight: 600;
    color: #16a34a;
    background: #dcfce7;
    padding: 3px 8px;
    border-radius: 20px;
}

/* Usage bar chart mock */
.nbt-portal__mock-bars { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.nbt-portal__mock-bar-row { display: flex; align-items: center; gap: 10px; }
.nbt-portal__mock-label { width: 72px; font-size: 12px; color: var(--nbt-navy); flex-shrink: 0; font-weight: 500; }
.nbt-portal__mock-bar-track {
    flex: 1;
    height: 8px;
    background: #eef1f6;
    border-radius: 4px;
    overflow: hidden;
}
.nbt-portal__mock-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nbt-cobalt), #3a6fc4);
    border-radius: 4px;
}
.nbt-portal__mock-val { width: 44px; text-align: right; font-size: 12px; color: var(--nbt-navy); font-weight: 600; flex-shrink: 0; }

.nbt-portal__mock-table { border: 1px solid #eef1f6; border-radius: 8px; overflow: hidden; }
.nbt-portal__mock-table-head {
    display: flex;
    justify-content: space-between;
    padding: 8px 12px;
    background: #f7f9fc;
    font-weight: 700;
    font-size: 11px;
    color: #8a96a8;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.nbt-portal__mock-table-row {
    display: flex;
    justify-content: space-between;
    padding: 9px 12px;
    border-top: 1px solid #eef1f6;
    font-size: 12px;
    color: var(--nbt-navy);
}
.nbt-portal__mock-alert { color: #e84d1c; font-weight: 600; }

/* Finance invoice mock */
.nbt-portal__mock-invoice { display: flex; flex-direction: column; gap: 0; margin-bottom: 16px; }
.nbt-portal__mock-invoice-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #eef1f6;
    font-size: 13px;
    color: var(--nbt-body);
}
.nbt-portal__mock-invoice-row--alert { color: #c2390e; }
.nbt-portal__mock-invoice-row--total {
    font-weight: 700;
    color: var(--nbt-navy);
    font-size: 14px;
    border-bottom: none;
    padding-top: 14px;
}
.nbt-portal__mock-dl {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--nbt-cobalt);
    font-weight: 600;
    cursor: pointer;
    padding-top: 4px;
}

/* Ops detail mock */
.nbt-portal__mock-user-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eef1f6;
}
.nbt-portal__mock-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--nbt-cobalt);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}
.nbt-portal__mock-user-row strong { display: block; font-size: 13px; color: var(--nbt-navy); }
.nbt-portal__mock-user-row span { font-size: 12px; color: #8a96a8; }
.nbt-portal__mock-fields { display: flex; flex-direction: column; gap: 10px; }
.nbt-portal__mock-field { display: flex; flex-direction: column; gap: 2px; }
.nbt-portal__mock-field-lbl { font-size: 11px; color: #8a96a8; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.nbt-portal__mock-field-val { font-size: 13px; color: var(--nbt-navy); font-weight: 500; }
.nbt-portal__mock-puk {
    font-family: 'Courier New', monospace;
    font-size: 15px;
    color: var(--nbt-orange);
    font-weight: 700;
    letter-spacing: .08em;
}

@media (max-width: 900px) {
    .nbt-portal__detail-block,
    .nbt-portal__detail-block--flip { grid-template-columns: 1fr; direction: ltr; gap: 36px; }
}

/* Portal overstappen sectie — compact banner */
.nbt-portal-overstappen { padding: 64px 0; background: #fff; }
.nbt-portal-overstap__banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    background: var(--nbt-bg-light);
    border: 1px solid #dce4f0;
    border-radius: 20px;
    padding: 48px;
}
.nbt-portal-overstap__title {
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 800;
    color: var(--nbt-navy);
    margin: 8px 0 12px;
    line-height: 1.25;
}
.nbt-portal-overstap__sub {
    font-size: 15px;
    color: var(--nbt-body);
    line-height: 1.65;
    margin: 0;
}
.nbt-portal-overstap__chips {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-portal-overstap__chip {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    color: var(--nbt-navy);
    gap: 6px;
}
.nbt-portal-overstap__link {
    display: inline-block;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    text-decoration: none;
    padding-top: 12px;
    border-top: 1px solid #dce4f0;
}
.nbt-portal-overstap__link:hover { color: var(--nbt-orange); }

/* Portal testimonials — 2-kaarten grid */
.nbt-portal-testimonials { padding: 80px 0; background: linear-gradient(135deg, #f0f4f8 0%, #e8eef6 100%); }
.nbt-portal-testimonials__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 40px;
}

/* Overstap-blokken op andere pagina's (iot) */
.nbt-overstappen__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}
.nbt-overstappen__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-overstappen__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    color: var(--nbt-navy);
    line-height: 1.5;
}
.nbt-overstappen__list li::before {
    content: '✓';
    flex-shrink: 0;
    color: var(--nbt-orange);
    font-weight: 700;
    margin-top: 1px;
}
.nbt-overstappen__cta-card {
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 16px;
    padding: 36px;
    box-shadow: 0 4px 24px rgba(0,52,102,.07);
}
.nbt-overstappen__cta-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--nbt-navy);
    margin: 0 0 10px;
}
.nbt-overstappen__cta-card > p {
    font-size: 14px;
    color: var(--nbt-body);
    line-height: 1.65;
    margin: 0 0 24px;
}
.nbt-overstappen__cta-card .nbt-btn-primary {
    display: inline-block;
    margin-bottom: 24px;
}
.nbt-overstappen__contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 20px;
    border-top: 1px solid #e8ecf2;
}
.nbt-overstappen__contact a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--nbt-navy);
    text-decoration: none;
    font-weight: 500;
}
.nbt-overstappen__contact a:hover { color: var(--nbt-orange); }

/* Portal testimonials & FAQ wrappers */
.nbt-portal-testimonials {
    padding: 80px 0;
    background: linear-gradient(135deg, #f0f4f8 0%, #e8eef6 100%);
}
.nbt-portal-faq { padding: 80px 0; background: #fff; }
.nbt-so-testimonials { padding: 80px 0; }
.nbt-so-faq { padding: 80px 0; }

@media (max-width: 768px) {
    .nbt-overstappen__inner { grid-template-columns: 1fr; gap: 32px; }
}

/* =========================================
   TRAVEL SIM PAGINA
   ========================================= */
.nbt-travel__hero-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 16px 56px rgba(12,31,78,0.12);
    padding: 32px 28px;
    text-align: center;
    max-width: 320px;
    margin: 0 auto;
}
.nbt-travel__hero-globe {
    width: 72px;
    height: 72px;
    color: var(--nbt-cobalt);
    margin: 0 auto 16px;
}
.nbt-travel__hero-globe svg { width: 100%; height: 100%; }
.nbt-travel__hero-stat strong {
    display: block;
    font-size: 44px;
    font-weight: 800;
    color: var(--nbt-orange);
    line-height: 1;
}
.nbt-travel__hero-stat span {
    display: block;
    color: var(--nbt-body);
    font-size: 13px;
    margin-bottom: 16px;
}
.nbt-travel__hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
    border-top: 1px solid var(--nbt-border);
    padding-top: 16px;
}
.nbt-travel__hero-tags span {
    background: var(--nbt-bg-light);
    color: var(--nbt-cobalt);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
}

/* Travel SIM voordelen */
.nbt-travel-uitleg {
    padding: 96px 0;
    background: #fff;
}
.nbt-travel__benefit-layout {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 64px;
    align-items: center;
}
.nbt-travel__benefit-copy {
    max-width: 430px;
}
.nbt-travel__benefit-copy .nbt-section-title {
    margin-bottom: 18px;
}
.nbt-travel__benefit-copy p {
    color: var(--nbt-body);
    font-size: 17px;
    line-height: 1.75;
    margin: 0;
}
.nbt-travel__saving {
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid #dfe7f1;
}
.nbt-travel__saving strong {
    display: block;
    color: var(--nbt-cobalt);
    font-size: clamp(40px, 5vw, 64px);
    line-height: .95;
    font-weight: 900;
}
.nbt-travel__saving span {
    display: block;
    max-width: 280px;
    margin-top: 8px;
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.55;
}
.nbt-travel__benefits {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid #dfe7f1;
    border-bottom: 1px solid #dfe7f1;
}
.nbt-travel__benefit-card {
    display: grid;
    grid-template-columns: 52px 170px 1fr;
    gap: 22px;
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #dfe7f1;
    border-radius: 0;
    padding: 24px 0;
    box-shadow: none;
    transition: transform .2s;
}
.nbt-travel__benefit-card:last-child {
    border-bottom: 0;
}
.nbt-travel__benefit-card:hover {
    box-shadow: none;
    transform: translateX(4px);
}
.nbt-travel__benefit-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    color: var(--nbt-cobalt);
    background: #fff;
    border: 1px solid #dce4ee;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(12,31,78,0.07);
}
.nbt-travel__benefit-icon svg {
    width: 25px;
    height: 25px;
}
.nbt-travel__benefit-card h3 {
    color: var(--nbt-cobalt);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px;
}
.nbt-travel__benefit-card p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}
/* Stappen travel */
.nbt-travel-stappen { padding: 80px 0; }
.nbt-travel-stappen--dark {
    background: var(--nbt-navy);
    position: relative;
    overflow: hidden;
}
.nbt-travel-stappen--dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 80% at 80% 50%, rgba(0,82,204,.2) 0%, transparent 70%);
    pointer-events: none;
}
.nbt-travel-stappen--dark .nbt-section-tag { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.2); }
.nbt-travel-stappen--dark .nbt-section-title { color: #fff; }
.nbt-travel-stappen--dark .nbt-travel__stap {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
}
.nbt-travel-stappen--dark .nbt-travel__stap h3 { color: #fff; }
.nbt-travel-stappen--dark .nbt-travel__stap p { color: rgba(255,255,255,.75); }
.nbt-travel-stappen--dark .nbt-travel__stap-node {
    background: rgba(255,255,255,.1);
    border: 2px solid var(--nbt-orange);
}
.nbt-travel-stappen--dark .nbt-travel__stap-node span { color: var(--nbt-orange); }
.nbt-travel-stappen--dark .nbt-travel__stap-node svg { color: rgba(255,255,255,.6); }
.nbt-travel-stappen--dark .nbt-travel__stap-connector { background: rgba(255,255,255,.2); }
.nbt-travel__stappen {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-top: 40px;
}
.nbt-travel__stap {
    flex: 1;
    background: #fff;
    border-radius: 12px;
    padding: 24px 20px;
    box-shadow: 0 2px 12px rgba(12,31,78,0.07);
}
.nbt-travel__stap h3 {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.nbt-travel__stap p {
    color: var(--nbt-body);
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
}

/* Voor wie grid */
.nbt-travel-voor {
    padding: 96px 0;
    background: #f7faff;
}
.nbt-travel__voor-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.nbt-travel__audience-list {
    gap: 0;
    margin-top: 56px;
    border-top: 1px solid #dfe7f1;
    border-bottom: 1px solid #dfe7f1;
}
.nbt-travel__audience-list .nbt-travel__voor-card {
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 20px;
    row-gap: 4px;
    align-items: start;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 26px 18px;
    box-shadow: none;
}
.nbt-travel__audience-list .nbt-travel__voor-card:nth-child(odd) {
    border-right: 1px solid #dfe7f1;
}
.nbt-travel__audience-list .nbt-travel__voor-card:nth-child(n+3) {
    border-top: 1px solid #dfe7f1;
}
.nbt-travel__audience-list .nbt-travel__voor-card:hover {
    box-shadow: none;
    transform: none;
}
.nbt-travel__audience-list .nbt-travel__voor-icon {
    grid-row: span 2;
    width: 36px;
    height: 36px;
    color: var(--nbt-cobalt);
    margin: 0;
}
.nbt-travel__audience-list .nbt-travel__voor-card h3 {
    margin-top: 0;
}
.nbt-travel__voor-card {
    background: #fff;
    border: none;
    border-top: 3px solid var(--nbt-orange);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-travel__voor-card:hover {
    box-shadow: 0 8px 28px rgba(12,31,78,0.12);
    transform: translateY(-2px);
}
.nbt-travel__voor-icon {
    width: 40px;
    height: 40px;
    color: var(--nbt-orange);
    margin-bottom: 12px;
}
.nbt-travel__voor-icon svg { width: 100%; height: 100%; }
.nbt-travel__voor-card h3 {
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.nbt-travel__voor-card p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

/* Quotes */
.nbt-travel-quotes { padding: 64px 0; }
.nbt-travel__quotes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 40px;
}
.nbt-travel__quote {
    background: #fff;
    border-radius: 12px;
    padding: 28px 24px;
    box-shadow: 0 2px 12px rgba(12,31,78,0.07);
    margin: 0;
    border-left: 3px solid var(--nbt-orange);
}
.nbt-travel__quote p {
    color: var(--nbt-body);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 16px;
    font-style: italic;
}
.nbt-travel__quote cite {
    color: var(--nbt-cobalt);
    font-size: 13px;
    font-weight: 700;
    font-style: normal;
}

/* Contact sectie travel */
.nbt-travel-contact { padding: 80px 0; }

/* =========================================
   CONTACT PAGINA
   ========================================= */
.nbt-contact-header {
    background: var(--nbt-bg-light);
    padding: 64px 0 56px;
    text-align: center;
}
.nbt-contact__title {
    color: var(--nbt-cobalt);
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    margin: 8px 0 12px;
}
.nbt-contact__sub {
    color: var(--nbt-body);
    font-size: 16px;
    margin: 0;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

.nbt-contact-main { padding: 64px 0 80px; }
.nbt-contact__grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 48px;
    align-items: start;
}

/* Info kaarten */
.nbt-contact__info {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.nbt-contact__info-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: #fff;
    border: none;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 2px 12px rgba(12,31,78,0.07);
}
.nbt-contact__info-icon {
    width: 36px;
    height: 36px;
    color: var(--nbt-orange);
    flex-shrink: 0;
    margin-top: 2px;
}
.nbt-contact__info-icon svg { width: 100%; height: 100%; }
.nbt-contact__info-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px;
}
.nbt-contact__info-body strong {
    display: block !important;
    color: var(--nbt-cobalt);
    font-size: 13px;
    font-weight: 700;
}
.nbt-contact__info-body a {
    color: var(--nbt-orange);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    display: block !important;
}
.nbt-contact__info-body a:hover { text-decoration: underline; }
.nbt-contact__info-body span {
    color: var(--nbt-body);
    font-size: 13px;
    display: block !important;
}

.nbt-contact__kvk {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: var(--nbt-body);
    padding: 4px 4px;
}

.nbt-contact__usps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--nbt-bg-light);
    border-radius: 12px;
    padding: 18px 20px;
    margin-top: 4px;
}
.nbt-contact__usp {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--nbt-cobalt);
    font-size: 14px;
    font-weight: 600;
}
.nbt-contact__usp svg { color: var(--nbt-orange); flex-shrink: 0; }

/* Formulier wrapper */
.nbt-contact__form-wrap {
    background: #fff;
    border: none;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 4px 24px rgba(12,31,78,0.10);
}
.nbt-contact__form-title {
    color: var(--nbt-cobalt);
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 20px;
}

/* =========================================
   RESPONSIVE — BINNENSTE PAGINA'S
   ========================================= */
@media (max-width: 900px) {
    .nbt-so__voordelen-grid { grid-template-columns: repeat(2, 1fr); }
    .nbt-portal__features-grid { grid-template-columns: repeat(2, 1fr); }
    .nbt-so__uitleg-inner { grid-template-columns: 1fr; gap: 32px; }
    .nbt-so__uitleg-cards { grid-template-columns: 1fr 1fr; }
    .nbt-contact-split { grid-template-columns: 1fr; gap: 32px; }
    .nbt-so-overstappen__inner { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 768px) {
    .nbt-travel__benefit-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .nbt-travel__benefit-copy {
        max-width: none;
    }

    .nbt-travel__benefit-card {
        grid-template-columns: 46px 1fr;
        gap: 14px 18px;
    }

    .nbt-travel__benefit-card p {
        grid-column: 2;
    }

    .nbt-so__voordelen-grid,
    .nbt-so__netwerken-grid,
    .nbt-so__meer-grid,
    .nbt-so__uitleg-cards,
    .nbt-portal__features-grid,
    .nbt-travel__voor-grid,
    .nbt-travel__benefits,
    .nbt-travel__quotes { grid-template-columns: 1fr; }

    .nbt-portal__hoe-stappen,
    .nbt-travel__stappen { flex-direction: column; }
    .nbt-so__stap-arrow { display: none; }

    .nbt-contact__grid { grid-template-columns: 1fr; }

    .nbt-eform__row { grid-template-columns: 1fr; }
    .nbt-so__uitleg-types { grid-template-columns: 1fr; }
    .nbt-so__hero-card-stats { grid-template-columns: repeat(3, 1fr); }

    .nbt-cta-cobalt__title { font-size: 24px; }
}

@media (max-width: 640px) {
    .nbt-travel__audience-list {
        grid-template-columns: 1fr;
    }

    .nbt-travel__audience-list .nbt-travel__voor-card,
    .nbt-travel__audience-list .nbt-travel__voor-card:nth-child(odd),
    .nbt-travel__audience-list .nbt-travel__voor-card:nth-child(n+3) {
        border-right: 0;
        border-top: 1px solid #dfe7f1;
    }

    .nbt-travel__audience-list .nbt-travel__voor-card:first-child {
        border-top: 0;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   OVER NOBOTEL
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-about__hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    background: var(--nbt-cobalt);
    border-radius: 16px;
    padding: 32px;
}
.nbt-about__stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.nbt-about__stat strong {
    display: block;
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
}
.nbt-about__stat span {
    display: block;
    font-size: 13px;
    color: rgba(255,255,255,0.7);
}

/* MVNO split */
.nbt-about__split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.nbt-about__split-text p {
    color: var(--nbt-text-light);
    line-height: 1.7;
    margin-bottom: 16px;
}
.nbt-about__split-visual {
    display: flex;
    justify-content: center;
}
.nbt-about__mvno-diagram {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 320px;
}
.nbt-about__mvno-networks {
    display: flex;
    gap: 12px;
    justify-content: center;
}
.nbt-about__mvno-net {
    padding: 10px 18px;
    background: #f3f6fb;
    border: 1px solid #dde3ef;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--nbt-navy);
}
.nbt-about__mvno-arrow {
    color: var(--nbt-cobalt);
    opacity: 0.5;
}
.nbt-about__mvno-center {
    background: var(--nbt-cobalt);
    color: #fff;
    border-radius: 12px;
    padding: 16px 32px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.nbt-about__mvno-center strong { font-size: 20px; font-weight: 700; }
.nbt-about__mvno-center span  { font-size: 12px; opacity: 0.8; }
.nbt-about__mvno-klant {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--nbt-navy);
}
.nbt-about__mvno-klant strong { font-size: 14px; font-weight: 600; }

/* Tijdlijn */
.nbt-about__timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 760px;
    margin: 0 auto;
    position: relative;
}
.nbt-about__timeline::before {
    content: '';
    position: absolute;
    left: 64px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #dde3ef;
}
.nbt-about__tl-item {
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: 24px;
    padding: 28px 0;
    position: relative;
}
.nbt-about__tl-item::after {
    content: '';
    position: absolute;
    left: 57px;
    top: 36px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--nbt-cobalt);
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px var(--nbt-cobalt);
}
.nbt-about__tl-year {
    text-align: right;
    padding-right: 32px;
    font-size: 20px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    padding-top: 2px;
}
.nbt-about__tl-body h3 {
    font-size: 17px;
    font-weight: 600;
    color: var(--nbt-navy);
    margin-bottom: 6px;
}
.nbt-about__tl-body p {
    color: var(--nbt-text-light);
    line-height: 1.65;
    font-size: 15px;
}

/* Waarden */
.nbt-about__values {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.nbt-about__value {
    background: #fff;
    border: none;
    border-top: 3px solid var(--nbt-orange);
    border-radius: 14px;
    padding: 28px 24px;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-about__value:hover {
    box-shadow: 0 8px 28px rgba(12,31,78,0.13);
    transform: translateY(-3px);
}
.nbt-about__value-icon {
    width: 44px;
    height: 44px;
    background: #eef2fb;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
    margin-bottom: 16px;
}
.nbt-about__value h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nbt-navy);
    margin-bottom: 8px;
}
.nbt-about__value p {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.6;
}

/* Team sectie */
.nbt-about__team-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.nbt-about__team-img img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 16px;
}
.nbt-about__team-text .nbt-section-title { margin-bottom: 20px; }
.nbt-about__team-text p {
    color: var(--nbt-text-light);
    line-height: 1.7;
    margin-bottom: 14px;
}
.nbt-about__team-contact {
    display: flex;
    gap: 14px;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* Diensten grid */
.nbt-about__services {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.nbt-about__service-card {
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 14px;
    padding: 28px 24px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow .2s, border-color .2s, transform .2s;
}
.nbt-about__service-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    border-color: var(--nbt-cobalt);
    transform: translateY(-2px);
}
.nbt-about__service-icon {
    width: 48px;
    height: 48px;
    background: #eef2fb;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
}
.nbt-about__service-card h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nbt-navy);
}
.nbt-about__service-card p {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.6;
    flex: 1;
}
.nbt-about__service-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--nbt-cobalt);
}

/* ═══════════════════════════════════════════════════════════════════════════
   AANLEVERDEAL
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-deal__hero-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.08);
}
.nbt-deal__hero-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
}

.nbt-deal__stappen {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}
.nbt-deal__stap {
    flex: 1;
    min-width: 180px;
    max-width: 260px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.nbt-deal__stap h3 {
    font-size: 17px;
    font-weight: 600;
    color: var(--nbt-navy);
}
.nbt-deal__stap p {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.6;
}

/* Split voordelen */
.nbt-deal__split {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 32px;
    align-items: start;
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    border: 1px solid #eaeef6;
}
.nbt-deal__split-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 16px;
}
.nbt-deal__voordeel-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.nbt-deal__voordeel-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    color: var(--nbt-navy);
    line-height: 1.5;
}
.nbt-deal__voordeel-list li svg {
    flex-shrink: 0;
    color: var(--nbt-cobalt);
    margin-top: 3px;
}
.nbt-deal__split-divider {
    font-size: 40px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    opacity: 0.4;
    align-self: center;
    padding-top: 24px;
}

/* Form section label */
.nbt-eform__section-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: -4px;
    margin-top: 8px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-faq__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 48px;
}
.nbt-faq__nav-item {
    padding: 8px 18px;
    background: #f3f6fb;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nbt-navy);
    text-decoration: none;
    transition: background .15s, color .15s;
}
.nbt-faq__nav-item:hover {
    background: var(--nbt-cobalt);
    color: #fff;
}

.nbt-faq__cat {
    margin-bottom: 56px;
}
.nbt-faq__cat-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--nbt-navy);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #eaeef6;
}

.nbt-faq__list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.nbt-faq__item {
    border: 1px solid #eaeef6;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
.nbt-faq__item + .nbt-faq__item { margin-top: 6px; }
.nbt-faq__q {
    padding: 18px 22px;
    font-size: 16px;
    font-weight: 600;
    color: var(--nbt-navy);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: background .15s;
}
.nbt-faq__q::-webkit-details-marker { display: none; }
.nbt-faq__q::after {
    content: '+';
    font-size: 22px;
    font-weight: 300;
    color: var(--nbt-cobalt);
    flex-shrink: 0;
    line-height: 1;
    transition: transform .2s;
}
details[open] > .nbt-faq__q { background: #f7f9fc; }
details[open] > .nbt-faq__q::after { content: '−'; }
.nbt-faq__a {
    padding: 0 22px 20px;
    border-top: 1px solid #eaeef6;
}
.nbt-faq__a p {
    color: var(--nbt-text-light);
    line-height: 1.7;
    font-size: 15px;
    margin-top: 16px;
    margin-bottom: 0;
}
.nbt-faq__a a { color: var(--nbt-cobalt); }

/* APN table */
.nbt-faq__table-wrap { overflow-x: auto; margin: 16px 0; }
.nbt-faq__apn-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.nbt-faq__apn-table th {
    background: #f3f6fb;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    color: var(--nbt-navy);
    border-bottom: 2px solid #dde3ef;
}
.nbt-faq__apn-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #eaeef6;
    color: var(--nbt-text-light);
}
.nbt-faq__apn-table tr:last-child td { border-bottom: none; }

/* ═══════════════════════════════════════════════════════════════════════════
   BUSINESS PARTNER
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-partner__hero-card {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.nbt-partner__hero-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.9);
    padding: 20px;
    background: rgba(255,255,255,0.12);
    border-radius: 12px;
}
.nbt-partner__hero-badge svg { color: rgba(255,255,255,0.8); }
.nbt-partner__hero-badge span { font-size: 18px; font-weight: 700; color: #fff; }
.nbt-partner__hero-badge small { font-size: 12px; opacity: 0.7; }
.nbt-partner__hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    text-align: center;
}
.nbt-partner__hero-stats > div { display: flex; flex-direction: column; gap: 4px; }
.nbt-partner__hero-stats strong { font-size: 22px; font-weight: 700; color: #fff; display: block; }
.nbt-partner__hero-stats span   { font-size: 11px; color: rgba(255,255,255,0.65); display: block; }

/* Partner model */
.nbt-partner__model {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 32px;
    align-items: start;
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 16px;
    padding: 40px;
    max-width: 860px;
    margin: 0 auto;
}
.nbt-partner__model-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 14px;
}
.nbt-partner__model ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-partner__model li {
    font-size: 15px;
    color: var(--nbt-navy);
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}
.nbt-partner__model li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--nbt-cobalt);
    font-size: 13px;
}
.nbt-partner__model-plus {
    font-size: 40px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    opacity: 0.4;
    align-self: center;
    padding-top: 30px;
}

/* Partner USPs */
.nbt-partner__usps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.nbt-partner__usp {
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 14px;
    padding: 28px 24px;
}
.nbt-partner__usp-icon {
    width: 44px;
    height: 44px;
    background: #eef2fb;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
    margin-bottom: 16px;
}
.nbt-partner__usp h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nbt-navy);
    margin-bottom: 8px;
}
.nbt-partner__usp p {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.65;
}

/* Partner logo grid */
.nbt-partner__logo-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    align-items: center;
}
.nbt-partner__logo-item {
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 10px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    height: 60px;
    transition: box-shadow .15s;
}
.nbt-partner__logo-item:hover { box-shadow: 0 4px 12px rgba(0,0,0,.07); }
.nbt-partner__logo-item img {
    max-width: 110px;
    max-height: 36px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.7;
    transition: filter .15s, opacity .15s;
}
.nbt-partner__logo-item:hover img { filter: none; opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   IOT / M2M
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-iot__hero-card {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.nbt-iot__hero-devices {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.nbt-iot__hero-device {
    background: rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    font-weight: 600;
}
.nbt-iot__hero-range-label {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 8px;
}
.nbt-iot__hero-range-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: rgba(255,255,255,0.8);
    font-weight: 600;
}
.nbt-iot__hero-range-fill {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.9) 100%);
}

.nbt-iot__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.nbt-iot__card {
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 14px;
    overflow: hidden;
}
.nbt-iot__card-icon { color: var(--nbt-cobalt); }
.nbt-iot__card-icon svg {
    width: 42px;
    height: 42px;
    display: block;
}
.nbt-iot__card-img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}
.nbt-iot__card h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nbt-navy);
    padding: 18px 20px 8px;
}
.nbt-iot__card p {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.6;
    padding: 0 20px 20px;
}

.nbt-iot__benefits {
    max-width: 920px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e2e9f3;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(12,31,78,0.06);
}
.nbt-iot__benefit {
    display: grid;
    grid-template-columns: 72px minmax(180px, 260px) 1fr;
    gap: 22px;
    align-items: baseline;
    padding: 28px 32px;
    border-bottom: 1px solid #e8edf4;
}
.nbt-iot__benefit:last-child {
    border-bottom: 0;
}
.nbt-iot__benefit-kicker {
    color: var(--nbt-orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
}
.nbt-iot__benefit h3 {
    color: var(--nbt-navy);
    font-size: 18px;
    line-height: 1.25;
    margin: 0;
}
.nbt-iot__benefit p {
    color: var(--nbt-body);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}

/* Jasper visual */
.nbt-iot__jasper-visual {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.nbt-iot__jasper-stat {
    background: #f3f6fb;
    border: 1px solid #dde3ef;
    border-radius: 12px;
    padding: 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.nbt-iot__jasper-stat strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--nbt-navy);
}
.nbt-iot__jasper-stat span {
    display: block;
    font-size: 13px;
    color: var(--nbt-text-light);
}
.nbt-iot__jasper-features {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-iot__jasper-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: var(--nbt-navy);
}
.nbt-iot__jasper-features li svg {
    flex-shrink: 0;
    color: var(--nbt-cobalt);
}

/* IoT Jasper dark variant */
.nbt-iot-jasper--dark {
    background: var(--nbt-navy);
    position: relative;
    overflow: hidden;
}
.nbt-iot-jasper--dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 70% at 15% 60%, rgba(0,82,204,.22) 0%, transparent 70%),
                radial-gradient(ellipse 40% 50% at 85% 20%, rgba(232,77,28,.1) 0%, transparent 60%);
    pointer-events: none;
}
.nbt-iot-jasper--dark .nbt-section-tag { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.2); }
.nbt-iot-jasper--dark .nbt-section-title { color: #fff; }
.nbt-iot-jasper--dark .nbt-about__split-text p { color: rgba(255,255,255,.78); }
.nbt-iot-jasper--dark .nbt-iot__jasper-features li { color: rgba(255,255,255,.85); }
.nbt-iot-jasper--dark .nbt-iot__jasper-features li svg { color: var(--nbt-orange); }
.nbt-iot-jasper--dark .nbt-iot__jasper-visual { background: transparent; }
.nbt-iot-jasper--dark .nbt-iot__jasper-stat {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.14);
}
.nbt-iot-jasper--dark .nbt-iot__jasper-stat strong { color: #fff; }
.nbt-iot-jasper--dark .nbt-iot__jasper-stat span { color: rgba(255,255,255,.65); }
.nbt-iot-jasper--dark .nbt-iot__jasper-stat-icon {
    background: rgba(232,77,28,0.18);
    color: var(--nbt-orange);
    border-radius: 8px;
    padding: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

/* IoT tijdelijk internet — stap-flow visual */
.nbt-iot__temp-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #f3f6fb;
    border: 1px solid #dde3ef;
    border-radius: 14px;
    overflow: hidden;
}
.nbt-iot__temp-step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    background: transparent;
    transition: background .2s;
}
.nbt-iot__temp-step:hover {
    background: rgba(12,31,78,0.04);
}
.nbt-iot__temp-step--active {
    background: var(--nbt-cobalt);
}
.nbt-iot__temp-step--active:hover {
    background: var(--nbt-cobalt-mid);
}
.nbt-iot__temp-step-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #dde3ef;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
}
.nbt-iot__temp-step--active .nbt-iot__temp-step-icon {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.2);
    color: #fff;
}
.nbt-iot__temp-step-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 4px;
}
.nbt-iot__temp-step-body strong {
    font-size: 15px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    display: block;
}
.nbt-iot__temp-step-body span {
    font-size: 13px;
    color: var(--nbt-body);
    line-height: 1.5;
}
.nbt-iot__temp-step--active .nbt-iot__temp-step-body strong { color: #fff; }
.nbt-iot__temp-step--active .nbt-iot__temp-step-body span { color: rgba(255,255,255,0.75); }
.nbt-iot__temp-connector {
    height: 1px;
    background: #dde3ef;
    margin: 0 24px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BESPAAR OP MOBIEL
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-bespaar__hero-card {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.15);
    background: #ffffff;
}
.nbt-bespaar__hero-card img,
.nbt-bespaar__hero-card iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    background: #ffffff;
}
.nbt-bespaar__hero-card img {
    object-fit: cover;
}
.nbt-bespaar__hero-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: var(--nbt-cobalt);
    color: #fff;
    border-radius: 12px;
    padding: 14px 18px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.nbt-bespaar__hero-badge strong {
    display: block;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}
.nbt-bespaar__hero-badge span { font-size: 13px; opacity: 0.85; }

.nbt-bespaar__vergelijk {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 20px;
}

.nbt-bespaar-waarom {
    background: #fff;
}

.nbt-bespaar__audit {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 24px;
    align-items: stretch;
    margin-top: 18px;
}

.nbt-bespaar__audit-main,
.nbt-bespaar__audit-side {
    background: #fff;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(12,31,78,0.07);
}

.nbt-bespaar__audit-main {
    padding: 34px;
}

.nbt-bespaar__audit-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: #edf4fb;
    color: var(--nbt-cobalt);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.nbt-bespaar__audit-main h3,
.nbt-bespaar__audit-side h3 {
    color: var(--nbt-cobalt);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
    margin: 0 0 14px;
}

.nbt-bespaar__audit-main p {
    color: var(--nbt-body);
    font-size: 16px;
    line-height: 1.75;
    max-width: 640px;
    margin: 0;
}

.nbt-bespaar__audit-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 30px;
}

.nbt-bespaar__audit-stats div {
    min-height: 92px;
    padding: 18px 16px;
    border-radius: 10px;
    background: #f6f9fd;
    border: 1px solid #e2e9f1;
}

.nbt-bespaar__audit-stats strong {
    display: block;
    color: var(--nbt-cobalt);
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
    margin-bottom: 8px;
}

.nbt-bespaar__audit-stats span {
    display: block;
    color: #61738a;
    font-size: 13px;
    line-height: 1.35;
}

.nbt-bespaar__audit-side {
    padding: 30px;
}

.nbt-bespaar__audit-side ul {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
}

.nbt-bespaar__audit-side li {
    display: grid;
    grid-template-columns: 104px 1fr;
    gap: 18px;
    align-items: start;
    padding: 16px 0;
    border-top: 1px solid #e6edf4;
}

.nbt-bespaar__audit-side span {
    color: #7a8aa0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nbt-bespaar__audit-side strong {
    color: var(--nbt-cobalt);
    font-size: 15px;
    line-height: 1.45;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PARTNER NIEUWS
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-partnernieuws__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}
.nbt-partnernieuws__info h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--nbt-navy);
    margin-bottom: 24px;
}
.nbt-partnernieuws__items {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.nbt-partnernieuws__item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
}
.nbt-partnernieuws__item .nbt-contact__info-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}
.nbt-partnernieuws__item strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--nbt-navy);
    margin-bottom: 4px;
}
.nbt-partnernieuws__item p {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.6;
    margin: 0;
}
.nbt-partnernieuws__form-wrap {
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 16px;
    padding: 36px;
}
.nbt-partnernieuws__form-wrap h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--nbt-navy);
    margin-bottom: 24px;
}
.nbt-partnernieuws__disclaimer {
    font-size: 13px;
    color: var(--nbt-text-light);
    margin-top: 12px;
    text-align: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NIEUWS ARCHIVE
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-nieuws__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.nbt-nieuws__card {
    background: #fff;
    border: 1px solid #eaeef6;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.nbt-nieuws__card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,.08);
    transform: translateY(-2px);
}
.nbt-nieuws__card-img {
    display: block;
    overflow: hidden;
}
.nbt-nieuws__card-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.nbt-nieuws__card:hover .nbt-nieuws__card-img img { transform: scale(1.03); }
.nbt-nieuws__card-body {
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
}
.nbt-nieuws__card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}
.nbt-nieuws__card-meta time { color: var(--nbt-text-light); }
.nbt-nieuws__cat {
    background: #eef2fb;
    color: var(--nbt-cobalt);
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 100px;
    font-size: 12px;
}
.nbt-nieuws__card-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--nbt-navy);
    line-height: 1.4;
}
.nbt-nieuws__card-title a {
    text-decoration: none;
    color: inherit;
    transition: color .15s;
}
.nbt-nieuws__card-title a:hover { color: var(--nbt-cobalt); }
.nbt-nieuws__card-excerpt {
    font-size: 14px;
    color: var(--nbt-text-light);
    line-height: 1.6;
    flex: 1;
}
.nbt-nieuws__read-more {
    font-size: 14px;
    font-weight: 600;
    color: var(--nbt-cobalt);
    text-decoration: none;
}
.nbt-nieuws__read-more:hover { text-decoration: underline; }
.nbt-nieuws__pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
    flex-wrap: wrap;
}
.nbt-nieuws__pagination .page-numbers {
    padding: 8px 16px;
    border-radius: 8px;
    background: #f3f6fb;
    color: var(--nbt-navy);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: background .15s, color .15s;
}
.nbt-nieuws__pagination .page-numbers.current,
.nbt-nieuws__pagination .page-numbers:hover {
    background: var(--nbt-cobalt);
    color: #fff;
}
.nbt-nieuws__empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--nbt-text-light);
    font-size: 16px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — NEW PAGES
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    .nbt-about__values,
    .nbt-about__services { grid-template-columns: repeat(2, 1fr); }
    .nbt-partner__usps   { grid-template-columns: repeat(2, 1fr); }
    .nbt-iot__grid       { grid-template-columns: repeat(2, 1fr); }
    .nbt-nieuws__grid    { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .nbt-about__split,
    .nbt-about__team-inner { grid-template-columns: 1fr; gap: 32px; }
    .nbt-about__split-visual { order: -1; }
    .nbt-about__team-img img { height: 280px; }
    .nbt-partner__model  { grid-template-columns: 1fr; gap: 20px; }
    .nbt-partner__model-plus { display: none; }
    .nbt-deal__split     { grid-template-columns: 1fr; gap: 24px; }
    .nbt-deal__split-divider { display: none; }
    .nbt-partnernieuws__grid { grid-template-columns: 1fr; }
    .nbt-bespaar__vergelijk  { grid-template-columns: 1fr; }
    .nbt-bespaar__vergelijk .nbt-travel__vergelijk-vs { display: none; }
    .nbt-iot__jasper-visual  { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .nbt-about__hero-stats   { grid-template-columns: repeat(2, 1fr); }
    .nbt-about__values,
    .nbt-about__services,
    .nbt-partner__usps,
    .nbt-iot__grid,
    .nbt-nieuws__grid        { grid-template-columns: 1fr; }
    .nbt-about__tl-item      { grid-template-columns: 80px 1fr; }
    .nbt-about__timeline::before { left: 40px; }
    .nbt-about__tl-item::after   { left: 33px; }
    .nbt-about__tl-year      { font-size: 16px; padding-right: 20px; }
    .nbt-deal__stappen       { flex-direction: column; align-items: center; }
    .nbt-deal__stap          { max-width: 100%; }
    .nbt-partner__model      { padding: 24px; }
    .nbt-partner__logo-grid  { gap: 12px; }
    .nbt-partner__logo-item  { min-width: 100px; }
    .nbt-iot__hero-devices   { grid-template-columns: repeat(2, 1fr); }
    .nbt-faq__nav            { gap: 6px; }
    .nbt-partnernieuws__item { grid-template-columns: 36px 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOTO HERO — OVER NOBOTEL
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-about-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
}
.nbt-about-hero__img-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.nbt-about-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.nbt-about-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(10,18,46,0.88) 0%, rgba(10,18,46,0.6) 55%, rgba(10,18,46,0.2) 100%);
}
.nbt-about-hero__content {
    position: relative;
    z-index: 1;
    padding-top: 80px;
    padding-bottom: 60px;
}
.nbt-about-hero__title {
    font-size: 44px;
    font-weight: 800;
    color: #fff;
    line-height: 1.18;
    margin: 14px 0 16px;
    max-width: 560px;
}
.nbt-about-hero__sub {
    font-size: 17px;
    color: rgba(255,255,255,0.82);
    line-height: 1.6;
    max-width: 480px;
    margin-bottom: 32px;
}
.nbt-about-hero__stats {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
    margin-top: 36px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.18);
}
.nbt-about-hero__stat {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.nbt-about-hero__stat strong {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
}
.nbt-about-hero__stat span {
    display: block;
    font-size: 12px;
    color: rgba(255,255,255,0.65);
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* MVNO card nieuw */
.nbt-about__mvno-card {
    background: #f3f6fb;
    border: 1px solid #dde3ef;
    border-radius: 16px;
    padding: 28px 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}
.nbt-about__mvno-row {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.nbt-about__mvno-net {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #dde3ef;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--nbt-navy);
}
.nbt-about__mvno-net img { height: 20px; width: auto; object-fit: contain; }
.nbt-about__mvno-arrow-row {
    font-size: 20px;
    color: var(--nbt-cobalt);
    opacity: 0.4;
    letter-spacing: 12px;
}
.nbt-about__mvno-nobotel {
    background: var(--nbt-cobalt);
    color: #fff;
    border-radius: 10px;
    padding: 14px 28px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.nbt-about__mvno-nobotel strong { font-size: 18px; font-weight: 700; }
.nbt-about__mvno-nobotel span  { font-size: 12px; opacity: 0.8; }
.nbt-about__mvno-bedrijf {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nbt-navy);
}

/* Btn outline navy */
.nbt-btn-outline-navy {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    border: 2px solid var(--nbt-navy);
    color: var(--nbt-navy) !important;
    background: transparent;
    text-decoration: none !important;
    transition: background .18s, color .18s, border-color .18s;
}
.nbt-btn-outline-navy:hover {
    background: var(--nbt-navy);
    border-color: var(--nbt-navy);
    color: #fff !important;
}

.nbt-about__btns {
    display: flex;
    gap: 14px;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AANLEVERDEAL HERO (wit)
   ═══════════════════════════════════════════════════════════════════════════ */

.nbt-deal-hero {
    background: #fff;
    border-bottom: 1px solid #eaeef6;
    padding: 88px 0 72px !important;
}
.nbt-deal-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.nbt-deal-hero__title {
    font-size: 44px;
    font-weight: 800;
    color: var(--nbt-navy);
    line-height: 1.15;
    margin: 12px 0 16px;
}
.nbt-deal-hero__sub {
    font-size: 17px;
    color: var(--nbt-text-light);
    line-height: 1.65;
    margin-bottom: 28px;
}
.nbt-deal-hero__right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}
.nbt-deal-hero__badge-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    justify-content: center;
}
.nbt-deal-hero__badge-jij,
.nbt-deal-hero__badge-relatie {
    flex: 1;
    border-radius: 14px;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
}
.nbt-deal-hero__badge-jij {
    background: #eef2fb;
    border: 1px solid #dde3ef;
}
.nbt-deal-hero__badge-relatie {
    background: var(--nbt-cobalt);
}
.nbt-deal-hero__badge-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 600;
    display: block;
}
.nbt-deal-hero__badge-jij .nbt-deal-hero__badge-label { color: var(--nbt-text-light); }
.nbt-deal-hero__badge-relatie .nbt-deal-hero__badge-label { color: rgba(255,255,255,0.7); }
.nbt-deal-hero__badge-jij strong { font-size: 18px; color: var(--nbt-navy); display: block; }
.nbt-deal-hero__badge-relatie strong { font-size: 22px; color: #fff; font-weight: 800; display: block; }
.nbt-deal-hero__badge-sub { font-size: 12px; color: rgba(255,255,255,0.7); display: block; }
.nbt-deal-hero__plus {
    font-size: 32px;
    font-weight: 300;
    color: var(--nbt-cobalt);
    flex-shrink: 0;
}
.nbt-deal-hero__img img {
    width: 100%;
    max-height: 200px;
    object-fit: contain;
    display: block;
}

.nbt-partner-hero {
    background: linear-gradient(135deg, #f7faff 0%, #e7eff8 72%, #ffffff 100%);
    padding: 130px 0 72px !important;
    position: relative;
    overflow: hidden;
}

.nbt-partner-hero::before {
    content: none;
}

.nbt-partner-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    align-items: center;
    gap: 58px;
    position: relative;
    z-index: 1;
}

.nbt-partner-hero__title {
    font-size: 48px;
    font-weight: 800;
    color: var(--nbt-cobalt);
    line-height: 1.15;
    margin: 14px 0 18px;
}

.nbt-partner-hero__sub {
    font-size: 17px;
    color: var(--nbt-body);
    line-height: 1.6;
    max-width: 480px;
    margin-bottom: 28px;
}

.nbt-partner-hero .nbt-section-tag--white {
    color: var(--nbt-orange);
}

.nbt-partner-hero .nbt-btn-white {
    background: var(--nbt-cobalt);
    color: #fff;
    box-shadow: 0 12px 28px rgba(12,31,78,0.18);
}

.nbt-partner-hero .nbt-btn-white:hover {
    background: var(--nbt-cobalt-mid);
    color: #fff;
}

.nbt-partner-hero__visual {
    position: relative;
    min-height: 402px;
}

.nbt-partner-hero__visual img {
    display: block;
    width: 100%;
    height: 402px;
    object-fit: cover;
    object-position: center;
    border-radius: 18px;
    box-shadow: 0 22px 48px rgba(12,31,78,0.18);
}

.nbt-partner-hero__badges {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: -18px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.nbt-partner-hero__badge {
    background: rgba(255,255,255,0.94);
    border: 1px solid #dfe7f1;
    border-radius: 10px;
    padding: 16px 14px;
    color: var(--nbt-body);
    font-size: 12px;
    font-weight: 600;
    min-width: 0;
    box-shadow: 0 12px 30px rgba(12,31,78,0.10);
}

.nbt-partner-hero__badge span {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: var(--nbt-cobalt);
    line-height: 1.1;
    margin-bottom: 4px;
}

/* Dark-hero pages — white nav text for transparent header overlay */
.nbt-dark-hero .ct-header:not(.ct-scrolled) a,
.nbt-dark-hero .ct-header:not(.ct-scrolled) .menu-item > a,
.nbt-dark-hero .ct-header:not(.ct-scrolled) .ct-main-header-links a {
    color: rgba(255,255,255,0.92) !important;
}
.nbt-dark-hero .ct-header:not(.ct-scrolled) .ct-logo img {
    filter: brightness(0) invert(1);
}
.nbt-dark-hero .ct-header:not(.ct-scrolled) button,
.nbt-dark-hero .ct-header:not(.ct-scrolled) [data-id="menu-trigger"] {
    color: #fff !important;
}

.nbt-business-partner-page .ct-header:not(.ct-scrolled) button,
.nbt-business-partner-page .ct-header:not(.ct-scrolled) [data-id="menu-trigger"],
.nbt-business-partner-page .ct-header:not(.ct-scrolled) [data-id="trigger"],
.nbt-bespaar-page .ct-header:not(.ct-scrolled) button,
.nbt-bespaar-page .ct-header:not(.ct-scrolled) [data-id="menu-trigger"],
.nbt-bespaar-page .ct-header:not(.ct-scrolled) [data-id="trigger"] {
    color: var(--nbt-cobalt) !important;
}

.nbt-business-partner-page .ct-header:not(.ct-scrolled) button svg,
.nbt-business-partner-page .ct-header:not(.ct-scrolled) [data-id="menu-trigger"] svg,
.nbt-business-partner-page .ct-header:not(.ct-scrolled) [data-id="trigger"] svg,
.nbt-business-partner-page .ct-header:not(.ct-scrolled) .ct-icon,
.nbt-bespaar-page .ct-header:not(.ct-scrolled) button svg,
.nbt-bespaar-page .ct-header:not(.ct-scrolled) [data-id="menu-trigger"] svg,
.nbt-bespaar-page .ct-header:not(.ct-scrolled) [data-id="trigger"] svg,
.nbt-bespaar-page .ct-header:not(.ct-scrolled) .ct-icon {
    color: var(--nbt-cobalt) !important;
    fill: currentColor !important;
}

/* Business Partner: aanvullende inhoud uit de originele pagina */
.nbt-partner-solution {
    background: #fff;
    margin-top: -1px;
    padding-top: 76px;
}

.nbt-partner-solution__intro {
    display: grid;
    grid-template-columns: .85fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 38px;
}

.nbt-partner-solution__intro p {
    margin: 0;
    color: var(--nbt-body);
    font-size: 16px;
    line-height: 1.75;
}

.nbt-partner-solution__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.nbt-partner-solution__card {
    background: #f6f9fd;
    border: 1px solid #dfe7f1;
    border-radius: 12px;
    padding: 26px 24px;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
}

.nbt-partner-solution__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 18px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #dce4ee;
    color: var(--nbt-cobalt);
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 4px 14px rgba(12,31,78,0.07);
}

.nbt-partner-solution__card h3,
.nbt-partner-sim__panel h3 {
    margin: 0 0 10px;
    color: var(--nbt-cobalt);
    font-size: 18px;
    line-height: 1.3;
}

.nbt-partner-solution__card p {
    margin: 0;
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
}

.nbt-partner-sim__inner,
.nbt-partner-program__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
    gap: 48px;
    align-items: center;
}

.nbt-partner-sim__copy p,
.nbt-partner-program__text p {
    color: var(--nbt-body);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 16px;
}

.nbt-partner-sim__copy .nbt-btn-primary {
    margin-top: 10px;
}

.nbt-partner-sim__panel {
    background: #f6f9fd;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    padding: 30px 28px;
    box-shadow: 0 10px 30px rgba(12,31,78,0.07);
}

.nbt-partner-sim__panel ul {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nbt-partner-sim__panel li {
    position: relative;
    padding-left: 22px;
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.55;
}

.nbt-partner-sim__panel li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--nbt-orange);
    font-weight: 800;
}

.nbt-partner-program__steps {
    display: grid;
    gap: 12px;
}

.nbt-partner-program__steps div {
    background: #fff;
    border: 1px solid #dfe7f1;
    border-radius: 10px;
    padding: 16px 18px;
    box-shadow: 0 8px 22px rgba(12,31,78,0.05);
}

.nbt-partner-program__steps strong {
    display: block;
    margin-bottom: 4px;
    color: var(--nbt-cobalt);
    font-size: 15px;
}

.nbt-partner-program__steps span {
    display: block;
    color: var(--nbt-body);
    font-size: 13px;
    line-height: 1.5;
}

.nbt-partner-quote {
    background: #fff;
    padding: 66px 0 34px;
}

.nbt-partner-quote .nbt-section-header {
    margin-bottom: 24px;
}

.nbt-partner-quote .nbt-testimonials__track-wrap {
    padding: 10px 0 14px;
}

.nbt-partner-program {
    background: linear-gradient(180deg, #f3f7fc 0%, #eaf1f8 100%);
    padding: 76px 0 78px;
}

.nbt-eform__choice-label {
    display: block;
    margin: 0 0 9px;
    color: var(--nbt-cobalt);
    font-size: 13px;
    font-weight: 700;
}

.nbt-eform__choice-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nbt-eform__choice-grid label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #dfe7f1;
    border-radius: 8px;
    background: #fff;
    color: var(--nbt-body);
    font-size: 13px;
}

.nbt-eform__choice-grid input {
    width: 14px;
    height: 14px;
    accent-color: var(--nbt-cobalt);
}

/* Partner model explanation */
.nbt-partner__model-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(34px, 7vw, 88px);
    align-items: start;
    max-width: 920px;
    margin: 44px auto 0;
    padding: 34px 0;
    border-top: 1px solid #d8e3f0;
    border-bottom: 1px solid #d8e3f0;
}
.nbt-partner__model-card {
    position: relative;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}
.nbt-partner__model-card + .nbt-partner__model-card::before {
    content: '';
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: calc(clamp(34px, 7vw, 88px) / -2);
    width: 1px;
    background: #d8e3f0;
}
.nbt-partner__model-card-label {
    max-width: 340px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .11em;
    line-height: 1.45;
    margin-bottom: 18px;
    color: var(--nbt-cobalt);
}
.nbt-partner__model-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.nbt-partner__model-card li {
    color: var(--nbt-body);
    font-size: 17px;
    padding-left: 24px;
    position: relative;
    line-height: 1.55;
}
.nbt-partner__model-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.66em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--nbt-orange);
}

/* Partner names grid */
.nbt-partner__names-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.nbt-partner__name-item {
    padding: 10px 20px;
    background: #fff;
    border: 1px solid #dde3ef;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nbt-navy);
    transition: background .15s, border-color .15s, color .15s;
}
.nbt-partner__name-item:hover {
    background: var(--nbt-cobalt);
    border-color: var(--nbt-cobalt);
    color: #fff;
}

/* IoT Jasper stat met icon */
.nbt-iot__jasper-stat-icon {
    width: 36px;
    height: 36px;
    background: #eef2fb;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
    margin-bottom: 10px;
}

/* Section-tag white variant */
.nbt-section-tag--white {
    color: rgba(255,255,255,0.7);
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — NIEUWE HEROES
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px) {
    .nbt-about-hero { min-height: 400px; }
    .nbt-about-hero__title { font-size: 32px; }
    .nbt-about-hero__overlay {
        background: linear-gradient(to bottom, rgba(10,18,46,0.75) 0%, rgba(10,18,46,0.65) 100%);
    }
    .nbt-about-hero__stats { gap: 20px; }
    .nbt-about-hero__stat strong { font-size: 22px; }

    .nbt-deal-hero__inner { grid-template-columns: 1fr; gap: 32px; }
    .nbt-deal-hero__right { order: -1; }
    .nbt-deal-hero__title { font-size: 32px; }

    .nbt-partner-hero__inner { grid-template-columns: 1fr; gap: 36px; }
    .nbt-partner-hero__visual { min-height: 360px; }
    .nbt-partner-hero__visual img { height: 360px; }
    .nbt-partner-hero__title { font-size: 36px; }
    .nbt-partner-solution__intro,
    .nbt-partner-solution__grid,
    .nbt-partner-sim__inner,
    .nbt-partner-program__inner {
        grid-template-columns: 1fr;
    }
    .nbt-partner__model-cards {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 28px 0;
    }
    .nbt-partner__model-card + .nbt-partner__model-card {
        padding-top: 28px;
        border-top: 1px solid #d8e3f0;
    }
    .nbt-partner__model-card + .nbt-partner__model-card::before { display: none; }

}

@media (max-width: 768px) {
    .nbt-about-hero__stats { gap: 16px; }
    .nbt-about-hero__stat strong { font-size: 20px; }
    .nbt-deal-hero__badge-wrap { flex-direction: column; align-items: stretch; }
    .nbt-deal-hero__plus { text-align: center; }
    .nbt-partner-hero__badges {
        position: static;
        margin-top: 14px;
        grid-template-columns: 1fr;
    }
    .nbt-partner-hero__badge { min-width: unset; }
    .nbt-partner__names-grid { gap: 8px; }
}

/* ═══════════════════════════════════════════════════════════════
   BUGFIXES v4.3.0
   ─────────────────────────────────────────────────────────────── */

/* ── CTA cobalt: text wit op donkere achtergrond ─────────────── */
.nbt-cta-cobalt .nbt-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    text-align: left;
}
.nbt-cta-cobalt .nbt-cta__text h2 {
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 10px;
}
.nbt-cta-cobalt .nbt-cta__text p {
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    margin: 0;
    max-width: 540px;
    line-height: 1.6;
}
.nbt-cta-cobalt .nbt-cta__btns {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
    flex-wrap: wrap;
    justify-content: flex-start;
}

/* White outline button (voor gebruik in cobalt-sectie) */
.nbt-btn-white-outline {
    display: inline-block;
    background: transparent;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,0.55);
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none !important;
    transition: border-color 0.2s, background 0.2s;
    line-height: 1;
}
.nbt-btn-white-outline:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.1);
    color: #fff !important;
    text-decoration: none !important;
}

@media (max-width: 860px) {
    .nbt-cta-cobalt .nbt-cta__inner { flex-direction: column; gap: 28px; }
    .nbt-cta-cobalt .nbt-cta__btns { justify-content: flex-start; }
}

/* ── Tijdlijn over-nobotel: flexbox, animeerbaar ─────────────── */
.nbt-about__timeline {
    max-width: 680px;
    margin: 0 auto;
    display: block;
}
.nbt-about__tl-item {
    display: flex;
    gap: 0;
    padding: 0 0 44px 0;
    position: relative;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.nbt-about__tl-item.nbt-tl-visible {
    opacity: 1;
    transform: translateY(0);
}
.nbt-about__tl-item:last-child { padding-bottom: 0; }

/* Vertical line through year column */
.nbt-about__tl-item::before {
    content: '';
    position: absolute;
    left: 48px;
    top: 20px;
    bottom: -44px;
    width: 2px;
    background: #dde3ef;
    z-index: 0;
}
.nbt-about__tl-item:last-child::before { display: none; }

.nbt-about__tl-year {
    min-width: 96px;
    text-align: right;
    padding-right: 28px;
    font-size: 18px;
    font-weight: 800;
    color: var(--nbt-cobalt);
    padding-top: 3px;
    flex-shrink: 0;
    position: relative;
}
/* Dot on the timeline */
.nbt-about__tl-year::after {
    content: '';
    position: absolute;
    right: -8px;
    top: 9px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--nbt-cobalt);
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px var(--nbt-cobalt);
    z-index: 1;
}
.nbt-about__tl-body {
    flex: 1;
    padding-left: 28px;
}
.nbt-about__tl-body h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--nbt-navy);
    margin-bottom: 6px;
    line-height: 1.25;
}
.nbt-about__tl-body p {
    font-size: 15px;
    color: var(--nbt-text-light);
    line-height: 1.65;
    margin: 0;
}

/* ── IoT hero kaart: dark tekst op licht gradient ────────────── */
.nbt-iot__hero-card {
    background: rgba(12,31,78,0.07);
    border: 1px solid rgba(12,31,78,0.12);
}
.nbt-iot__hero-device {
    background: rgba(12,31,78,0.06);
    color: var(--nbt-navy);
}
.nbt-iot__hero-device svg { stroke: var(--nbt-cobalt); }
.nbt-iot__hero-range-label { color: rgba(12,31,78,0.5); }
.nbt-iot__hero-range-bar { color: var(--nbt-navy); }
.nbt-iot__hero-range-fill {
    background: linear-gradient(90deg, #c8d5ea 0%, var(--nbt-cobalt) 100%);
}

/* ── IoT toepassingen: product photos netjes gecentreerd ─────── */
.nbt-iot__card-img {
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: auto;
    padding: 26px 24px 0;
    overflow: visible;
    border-bottom: 0;
}
.nbt-iot__card-img img {
    width: auto;
    max-width: 100%;
    height: 130px;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}
.nbt-iot__card:hover .nbt-iot__card-img img {
    transform: scale(1.05);
}
.nbt-iot__card:hover .nbt-iot__card-icon svg {
    transform: translateY(-2px);
}

.nbt-iot__card h3 {
    padding-top: 16px;
}

.nbt-iot-toepassingen .nbt-section-header {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    max-width: 760px;
}

.nbt-iot-toepassingen .nbt-section-sub {
    max-width: 680px;
}

.nbt-iot__usecases {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    gap: 28px;
    align-items: stretch;
}

.nbt-iot__usecase-main {
    background: var(--nbt-navy);
    color: #fff;
    border-radius: 16px;
    padding: 34px 34px 30px;
    min-height: 100%;
    position: relative;
    overflow: hidden;
}

.nbt-iot__usecase-main::after {
    content: '';
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 0;
    height: 4px;
    background: var(--nbt-orange);
}

.nbt-iot__usecase-label {
    display: inline-flex;
    margin-bottom: 34px;
    color: rgba(255,255,255,0.66);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.nbt-iot__usecase-icon {
    width: 58px;
    height: 58px;
    color: var(--nbt-orange);
    margin-bottom: 28px;
}

.nbt-iot__usecase-icon svg,
.nbt-iot__usecase-row-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.nbt-iot__usecase-main h3 {
    color: #fff;
    font-size: clamp(24px, 2.2vw, 32px);
    line-height: 1.12;
    margin: 0 0 18px;
    max-width: 420px;
}

.nbt-iot__usecase-main p {
    color: rgba(255,255,255,0.76);
    font-size: 15px;
    line-height: 1.72;
    margin: 0;
    max-width: 480px;
}

.nbt-iot__usecase-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 32px 0 0;
    border-top: 1px solid rgba(255,255,255,0.16);
}

.nbt-iot__usecase-facts div {
    padding-top: 18px;
}

.nbt-iot__usecase-facts div + div {
    padding-left: 22px;
    border-left: 1px solid rgba(255,255,255,0.16);
}

.nbt-iot__usecase-facts dt {
    color: rgba(255,255,255,0.48);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.nbt-iot__usecase-facts dd {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}

.nbt-iot__usecase-list {
    background: #fff;
    border: 1px solid #e2e9f3;
    border-radius: 16px;
    overflow: hidden;
}

.nbt-iot__usecase-row {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 22px;
    align-items: start;
    padding: 26px 30px;
    border-bottom: 1px solid #e8edf4;
}

.nbt-iot__usecase-row:last-child {
    border-bottom: 0;
}

.nbt-iot__usecase-row-icon {
    color: var(--nbt-cobalt);
    width: 42px;
    height: 42px;
}

.nbt-iot__usecase-row h3 {
    color: var(--nbt-navy);
    font-size: 17px;
    line-height: 1.25;
    margin: 0 0 7px;
}

.nbt-iot__usecase-row p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.62;
    margin: 0;
}

.nbt-iot__temp-step--active {
    background: transparent;
}

.nbt-iot__temp-step--active:hover {
    background: rgba(12,31,78,0.04);
}

.nbt-iot__temp-step:hover .nbt-iot__temp-step-icon {
    border-color: #c8d5ea;
}

.nbt-iot__temp-step--active .nbt-iot__temp-step-icon {
    background: #fff;
    border-color: #dde3ef;
    color: var(--nbt-cobalt);
}
.nbt-iot__temp-step--active .nbt-iot__temp-step-body strong {
    color: var(--nbt-cobalt);
}
.nbt-iot__temp-step--active .nbt-iot__temp-step-body span {
    color: var(--nbt-body);
}

.nbt-iot-tijdelijk .nbt-about__split {
    align-items: start;
    gap: 60px;
}

.nbt-iot-tijdelijk .nbt-about__split-text {
    max-width: 660px;
}

.nbt-iot-tijdelijk .nbt-section-title {
    max-width: 680px;
    font-size: clamp(42px, 3.1vw, 50px);
    line-height: 1.12;
}

.nbt-iot-tijdelijk .nbt-about__split-text > p {
    max-width: 620px;
}

.nbt-iot-tijdelijk .nbt-iot__jasper-features {
    max-width: 620px;
    margin-top: 30px !important;
    gap: 16px;
}

.nbt-iot-tijdelijk .nbt-iot__jasper-features li {
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: start;
    gap: 14px;
    line-height: 1.45;
}

.nbt-iot-tijdelijk .nbt-iot__jasper-features li svg {
    margin-top: 5px;
}

.nbt-iot-tijdelijk .nbt-about__split-visual {
    justify-content: flex-start;
    padding-top: 92px;
}

.nbt-iot-tijdelijk .nbt-iot__temp-steps {
    width: 100%;
    max-width: 560px;
}

.nbt-iot-overstap {
    padding-top: 112px;
    padding-bottom: 118px;
}

.nbt-iot-overstap .nbt-overstappen__inner {
    grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.9fr);
    gap: 86px;
    align-items: center;
}

.nbt-iot-overstap .nbt-overstappen__text {
    max-width: 610px;
}

.nbt-iot-overstap .nbt-section-title {
    margin-bottom: 22px;
}

.nbt-iot-overstap .nbt-overstappen__text > p {
    max-width: 560px;
    margin-bottom: 28px;
    line-height: 1.72;
}

.nbt-iot-overstap .nbt-overstappen__list {
    gap: 15px;
}

.nbt-iot-overstap .nbt-overstappen__list li {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 14px;
    line-height: 1.45;
}

.nbt-iot-overstap .nbt-overstappen__list li::before {
    margin-top: 1px;
}

.nbt-iot-overstap .nbt-overstappen__cta-card {
    max-width: 500px;
    padding: 44px 42px;
}

.nbt-iot-overstap .nbt-overstappen__cta-title {
    margin-bottom: 18px;
}

.nbt-iot-overstap .nbt-overstappen__cta-card > p {
    margin-bottom: 30px;
    line-height: 1.7;
}

.nbt-iot-overstap .nbt-overstappen__contact {
    gap: 12px;
    padding-top: 24px;
}

.nbt-iot-jasper .nbt-iot__jasper-visual {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: min(100%, 520px);
    margin: 0 auto;
}
.nbt-iot-jasper .nbt-iot__jasper-stat {
    min-height: 150px;
    padding: 18px 16px;
}

@media (max-width: 520px) {
    .nbt-iot-jasper .nbt-iot__jasper-visual {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .nbt-iot-hero .nbt-hero__right,
    .nbt-iot-tijdelijk .nbt-about__split-visual,
    .nbt-iot-jasper .nbt-about__split-visual {
        order: 0;
    }

    .nbt-iot-hero .nbt-hero__inner {
        gap: 40px;
    }

    .nbt-iot-hero .nbt-hero__left,
    .nbt-iot-hero .nbt-hero__right {
        width: 100%;
    }

    .nbt-iot-hero .nbt-hero__sub {
        max-width: 640px;
    }

    .nbt-iot-hero .nbt-hero__left {
        text-align: center;
    }

    .nbt-iot-hero .nbt-hero__sub {
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-iot-hero .nbt-hero__btns {
        justify-content: center;
    }

    .nbt-iot-hero .nbt-iot__hero-card {
        width: 100%;
        max-width: 720px;
        margin: 0 auto;
        padding: 24px;
    }

    .nbt-iot-hero .nbt-iot__hero-devices {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .nbt-iot-hero .nbt-iot__hero-device {
        min-height: 118px;
        justify-content: center;
    }

    .nbt-iot-jasper .nbt-iot__jasper-visual {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nbt-iot-tijdelijk .nbt-about__split {
        gap: 32px;
    }

    .nbt-iot-tijdelijk .nbt-about__split-text,
    .nbt-iot-jasper .nbt-about__split-text {
        text-align: center;
    }

    .nbt-iot-tijdelijk .nbt-about__split-text,
    .nbt-iot-tijdelijk .nbt-about__split-text > p,
    .nbt-iot-tijdelijk .nbt-iot__jasper-features {
        max-width: none;
    }

    .nbt-iot-tijdelijk .nbt-section-title,
    .nbt-iot-jasper .nbt-section-title {
        max-width: 760px;
    }

    .nbt-iot-tijdelijk .nbt-about__split-text > p,
    .nbt-iot-jasper .nbt-about__split-text > p {
        max-width: 760px;
    }

    .nbt-iot-tijdelijk .nbt-section-title,
    .nbt-iot-tijdelijk .nbt-about__split-text > p,
    .nbt-iot-tijdelijk .nbt-iot__jasper-features,
    .nbt-iot-jasper .nbt-section-title,
    .nbt-iot-jasper .nbt-about__split-text > p,
    .nbt-iot-jasper .nbt-iot__jasper-features {
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-iot-tijdelijk .nbt-iot__jasper-features,
    .nbt-iot-jasper .nbt-iot__jasper-features {
        display: inline-flex;
        width: auto;
        max-width: min(100%, 720px);
        align-items: flex-start;
        text-align: left;
    }

    .nbt-iot-tijdelijk .nbt-iot__jasper-features li,
    .nbt-iot-jasper .nbt-iot__jasper-features li {
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
    }

    .nbt-iot-tijdelijk .nbt-iot__jasper-features li svg,
    .nbt-iot-jasper .nbt-iot__jasper-features li svg {
        margin-top: 5px;
    }

    .nbt-iot-tijdelijk .nbt-about__split-visual {
        justify-content: center;
        padding-top: 0;
    }

    .nbt-iot-toepassingen .nbt-section-header {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-iot__usecases {
        grid-template-columns: 1fr;
    }

    .nbt-iot-overstap {
        padding-top: 82px;
        padding-bottom: 88px;
    }

    .nbt-iot-overstap .nbt-overstappen__inner {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .nbt-iot-overstap .nbt-overstappen__text,
    .nbt-iot-overstap .nbt-overstappen__text > p,
    .nbt-iot-overstap .nbt-overstappen__cta-card {
        max-width: none;
    }

    .nbt-iot__benefit {
        grid-template-columns: 52px 1fr;
        gap: 10px 16px;
    }

    .nbt-iot__benefit p {
        grid-column: 2;
    }
}

@media (max-width: 600px) {
    .nbt-iot__benefit {
        grid-template-columns: 1fr;
        padding: 24px 22px;
    }

    .nbt-iot__benefit p {
        grid-column: auto;
    }

    .nbt-iot-hero .nbt-iot__hero-devices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nbt-iot-hero .nbt-iot__hero-card {
        padding: 20px;
    }

    .nbt-iot-hero .nbt-iot__hero-device {
        min-height: 104px;
    }

    .nbt-iot-hero .nbt-hero__btns {
        align-items: stretch;
        width: min(100%, 360px);
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-iot-hero .nbt-hero__btns a {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .nbt-iot-tijdelijk .nbt-iot__jasper-features,
    .nbt-iot-jasper .nbt-iot__jasper-features {
        display: flex;
        width: 100%;
    }

    .nbt-iot__usecase-main {
        padding: 28px 24px 26px;
    }

    .nbt-iot__usecase-row {
        grid-template-columns: 42px 1fr;
        gap: 16px;
        padding: 22px 20px;
    }

    .nbt-iot__usecase-facts {
        grid-template-columns: 1fr;
    }

    .nbt-iot__usecase-facts div + div {
        padding-left: 0;
        border-left: 0;
    }
}

/* ── Aanleverdeal hero: rechterkolom opgeruimd ───────────────── */
.nbt-deal-hero__visual {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}
.nbt-deal-hero__photo {
    width: 100%;
    max-height: 240px;
    object-fit: contain;
    display: block;
    border-radius: 12px;
}
.nbt-deal-hero__pill-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.nbt-deal-hero__pill {
    flex: 1;
    background: #eef2fb;
    border: 1px solid #dde3ef;
    border-radius: 10px;
    padding: 14px 16px;
    font-size: 13px;
    color: var(--nbt-text-light);
    text-align: center;
    line-height: 1.4;
}
.nbt-deal-hero__pill strong {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: var(--nbt-navy);
    margin-top: 2px;
}
.nbt-deal-hero__pill--cobalt {
    background: var(--nbt-cobalt);
    border-color: var(--nbt-cobalt);
    color: rgba(255,255,255,0.8);
}
.nbt-deal-hero__pill--cobalt strong { color: #fff; }
.nbt-deal-hero__pill-sep {
    font-size: 24px;
    font-weight: 300;
    color: var(--nbt-cobalt);
    flex-shrink: 0;
}

@media (max-width: 900px) {
    .nbt-deal-hero__pill-row { flex-direction: column; }
}

/* Timeline animatie JS trigger */
@keyframes nbt-tl-in {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* ═══════════════════════════════════════════════════════════════════════════
   v4.4.0 — Process steps (Bespaar), SIM keuze cards, partner hero fix
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Bespaar process steps ── */
.nbt-bespaar__process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 16px;
}
.nbt-bespaar__process-step {
    background: #fff;
    border: none;
    border-radius: 16px;
    padding: 32px 24px 28px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(12,31,78,0.07);
    transition: box-shadow .2s, transform .2s;
}
.nbt-bespaar__process-step:hover {
    box-shadow: 0 10px 36px rgba(12,31,78,.12);
    transform: translateY(-3px);
}
.nbt-bespaar__process-step::before {
    content: '';
    display: block;
    height: 4px;
    background: var(--nbt-border);
    position: absolute;
    top: 0; left: 0; right: 0;
    border-radius: 16px 16px 0 0;
    transition: background .2s;
}
.nbt-bespaar__process-step:hover::before,
.nbt-bespaar__process-step--highlight::before {
    background: var(--nbt-orange);
}
.nbt-bespaar__process-num {
    position: absolute;
    bottom: 16px; right: 20px;
    font-size: 52px;
    font-weight: 900;
    color: var(--nbt-bg-light);
    line-height: 1;
    letter-spacing: -2px;
    pointer-events: none;
    user-select: none;
}
.nbt-bespaar__process-step--highlight .nbt-bespaar__process-num {
    color: rgba(232,77,28,.08);
}
.nbt-bespaar__process-icon {
    width: 44px;
    height: 44px;
    background: var(--nbt-bg-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
    margin-bottom: 18px;
    transition: background .2s, color .2s;
}
.nbt-bespaar__process-step:hover .nbt-bespaar__process-icon {
    background: var(--nbt-cobalt);
    color: #fff;
}
.nbt-bespaar__process-step h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--nbt-cobalt);
    margin: 0 0 10px;
}
.nbt-bespaar__process-step p {
    font-size: 14px;
    color: var(--nbt-body);
    line-height: 1.6;
    margin: 0;
    position: relative;
    z-index: 1;
}
.nbt-bespaar__process-step--highlight {
    background: var(--nbt-cobalt);
    border-color: var(--nbt-cobalt);
}
.nbt-bespaar__process-step--highlight .nbt-bespaar__process-icon {
    background: rgba(255,255,255,.12);
    color: #fff;
}
.nbt-bespaar__process-step--highlight h3 {
    color: #fff;
}
.nbt-bespaar__process-step--highlight p {
    color: rgba(255,255,255,.8);
}
.nbt-bespaar__process-step--highlight:hover {
    box-shadow: 0 8px 32px rgba(12,31,78,.25);
}

/* Portal hoe grid — 3 columns instead of 4 */
.nbt-portal-hoe__grid {
    grid-template-columns: repeat(3, 1fr);
}

/* Bespaar hoe dark variant */
.nbt-bespaar-hoe--dark {
    background: var(--nbt-navy);
    position: relative;
    overflow: hidden;
}
.nbt-bespaar-hoe--dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 80% at 90% 30%, rgba(0,82,204,.2) 0%, transparent 70%),
                radial-gradient(ellipse 40% 50% at 10% 80%, rgba(232,77,28,.1) 0%, transparent 60%);
    pointer-events: none;
}
.nbt-bespaar-hoe--dark .nbt-section-tag { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.2); }
.nbt-bespaar-hoe--dark .nbt-section-title { color: #fff; }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.12);
}
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step::before { background: rgba(255,255,255,.1); }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step:hover::before,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight::before { background: var(--nbt-orange); }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-icon {
    background: rgba(255,255,255,.1);
    color: var(--nbt-orange);
}
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step:hover .nbt-bespaar__process-icon {
    background: var(--nbt-orange);
    color: #fff;
}
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step h3 { color: #fff; }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step p { color: rgba(255,255,255,.72); }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-num { color: rgba(255,255,255,.05); }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight {
    background: var(--nbt-orange);
    border-color: var(--nbt-orange);
}
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight .nbt-bespaar__process-icon {
    background: rgba(255,255,255,.15);
    color: #fff;
}
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight h3 { color: #fff; }
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight p { color: rgba(255,255,255,.85); }

/* ── SIM keuze cards (SIM-only page) ── */
.nbt-sim-keuze {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0;
    align-items: stretch;
    max-width: 820px;
    margin: 0 auto;
}
.nbt-sim-keuze__card {
    border-radius: 20px;
    padding: 40px 36px;
    position: relative;
}
.nbt-sim-keuze__card--fysiek {
    background: #f5f7fc;
    border: 2px solid var(--nbt-border);
}
.nbt-sim-keuze__card--esim {
    background: var(--nbt-cobalt);
    border: 2px solid var(--nbt-cobalt);
}
.nbt-sim-keuze__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.nbt-sim-keuze__card--fysiek .nbt-sim-keuze__icon {
    background: #e8edf6;
    color: var(--nbt-cobalt);
}
.nbt-sim-keuze__card--esim .nbt-sim-keuze__icon {
    background: rgba(255,255,255,.13);
    color: #fff;
}
.nbt-sim-keuze__card h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 18px;
}
.nbt-sim-keuze__card--fysiek h3 { color: var(--nbt-cobalt); }
.nbt-sim-keuze__card--esim  h3 { color: #fff; }
.nbt-sim-keuze__card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nbt-sim-keuze__card li {
    font-size: 15px;
    line-height: 1.5;
    padding-left: 22px;
    position: relative;
}
.nbt-sim-keuze__card li::before {
    content: '✓';
    position: absolute;
    left: 0;
    font-weight: 700;
}
.nbt-sim-keuze__card--fysiek li { color: var(--nbt-body); }
.nbt-sim-keuze__card--fysiek li::before { color: var(--nbt-cobalt); }
.nbt-sim-keuze__card--esim  li { color: rgba(255,255,255,.85); }
.nbt-sim-keuze__card--esim  li::before { color: rgba(255,255,255,.6); }
.nbt-sim-keuze__tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 100px;
}
.nbt-sim-keuze__card--fysiek .nbt-sim-keuze__tag {
    background: var(--nbt-border);
    color: var(--nbt-cobalt);
}
.nbt-sim-keuze__card--esim .nbt-sim-keuze__tag {
    background: rgba(255,255,255,.18);
    color: #fff;
}
.nbt-sim-keuze__bridge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    z-index: 2;
}
.nbt-sim-keuze__bridge span {
    background: #fff;
    border: 2px solid var(--nbt-border);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--nbt-body);
    text-transform: uppercase;
    letter-spacing: .05em;
    flex-shrink: 0;
}

/* ── Business partner hero text flex fix ── */
.nbt-partner-hero__text {
    flex: 1;
    min-width: 280px;
}
.nbt-partner-hero {
    padding-top: 130px !important;
}

/* ── Responsive v4.4.0 ── */
@media (max-width: 900px) {
    .nbt-bespaar__process {
        grid-template-columns: repeat(2, 1fr);
    }
    .nbt-sim-keuze {
        grid-template-columns: 1fr;
        max-width: 480px;
    }
    .nbt-sim-keuze__bridge {
        padding: 8px 0;
    }
}
@media (max-width: 600px) {
    .nbt-bespaar__process {
        grid-template-columns: 1fr;
    }
}

/* ── Travel SIM stap nodes ── */
.nbt-travel__stap-node {
    width: 56px;
    height: 56px;
    background: var(--nbt-bg-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nbt-cobalt);
    margin: 0 auto 16px;
    position: relative;
    transition: background .2s, color .2s;
    border: 2px solid var(--nbt-border);
}
.nbt-travel__stap-node span {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--nbt-cobalt);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
}
.nbt-travel__stap:hover .nbt-travel__stap-node,
.nbt-travel__stap--active .nbt-travel__stap-node {
    background: var(--nbt-cobalt);
    color: #fff;
    border-color: var(--nbt-cobalt);
}
.nbt-travel__stap--active .nbt-travel__stap-node span {
    background: var(--nbt-orange);
}
.nbt-travel__stap {
    text-align: center;
}
.nbt-travel__stap-connector {
    flex-shrink: 0;
    width: 32px;
    height: 2px;
    border-top: 2px dashed var(--nbt-border);
    margin-top: 28px;
    align-self: flex-start;
}
@media (max-width: 700px) {
    .nbt-travel__stap-connector { display: none; }
}

/* ── Global Travel SIM: stappen als rustige homepage-kaarten ─────────────── */
.nbt-travel-stappen--cards {
    background: var(--nbt-bg-light);
}

.nbt-travel-stappen--cards .nbt-section-title {
    color: var(--nbt-cobalt);
}

.nbt-travel-stappen--cards .nbt-section-sub {
    max-width: 680px;
}

.nbt-travel__guide-actions {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

.nbt-travel-stappen--cards .nbt-travel__stappen {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    margin-top: 42px;
}

.nbt-travel-stappen--cards .nbt-travel__stap,
.nbt-travel-stappen--cards .nbt-travel__stap--active {
    text-align: left;
    background: #fff;
    border: 1px solid #dfe7f1;
    border-radius: 12px;
    padding: 28px 24px;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
    transition: box-shadow .2s, transform .2s;
}

.nbt-travel-stappen--cards .nbt-travel__stap:hover,
.nbt-travel-stappen--cards .nbt-travel__stap--active:hover {
    box-shadow: 0 14px 30px rgba(12,31,78,0.08);
    transform: translateY(-2px);
}

.nbt-travel-stappen--cards .nbt-travel__stap-node,
.nbt-travel-stappen--cards .nbt-travel__stap:hover .nbt-travel__stap-node,
.nbt-travel-stappen--cards .nbt-travel__stap--active .nbt-travel__stap-node {
    width: 46px;
    height: 46px;
    margin: 0 0 18px;
    border: 1px solid #dce4ee;
    border-radius: 10px;
    background: #fff;
    color: var(--nbt-cobalt);
    box-shadow: 0 4px 14px rgba(12,31,78,0.07);
}

.nbt-travel-stappen--cards .nbt-travel__stap-node span {
    display: none;
}

.nbt-travel-stappen--cards .nbt-travel__stap-node svg {
    width: 26px;
    height: 26px;
    color: var(--nbt-cobalt);
}

.nbt-travel-stappen--cards .nbt-travel__stap h3,
.nbt-travel-stappen--cards .nbt-travel__stap--active h3 {
    color: var(--nbt-cobalt);
    font-size: 17px;
    margin-bottom: 10px;
}

.nbt-travel-stappen--cards .nbt-travel__stap p,
.nbt-travel-stappen--cards .nbt-travel__stap--active p {
    color: var(--nbt-body);
    font-size: 14px;
    line-height: 1.65;
}

.nbt-travel-stappen--cards .nbt-travel__stap-connector {
    display: none;
}

@media (max-width: 900px) {
    .nbt-travel-stappen--cards .nbt-travel__stappen {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .nbt-travel-stappen--cards .nbt-travel__stappen {
        grid-template-columns: 1fr;
    }
}

/* ── Consistentie: FAQ onderaan (na contactformulier) op alle pagina's ─────── */
.nbt-travel-faq,
.nbt-iot-faq,
.nbt-bespaar-faq,
.nbt-partner-faq,
.nbt-so-faq {
    padding: 80px 0;
    background: #fff;
}

/* ── Over nobotel: testimonials marquee ─────────────────────────────────────── */
.nbt-about-quotes { padding: 64px 0; }

/* ── CTA cobalt: nooit transform-gap boven donkere secties ── */
.nbt-cta-cobalt.nbt-reveal { transform: none !important; }

/* ── CTA lichte variant — na donkere testimonials voor contrast ── */
.nbt-so-cta {
    background: var(--nbt-bg-light) !important;
}
.nbt-so-cta .nbt-cta-cobalt__title { color: var(--nbt-cobalt); }
.nbt-so-cta .nbt-cta-cobalt__sub   { color: var(--nbt-body); }

/* ── SIM-only: testimonials herstellen naar cobalt (globale bg-light override ongedaan) ── */
.nbt-so-testimonials {
    background: var(--nbt-cobalt) !important;
}
.nbt-so-testimonials .nbt-section-title { color: #fff; }
.nbt-so-testimonials .nbt-section-tag  { color: rgba(232,77,28,0.9); }
.nbt-so-testimonials .nbt-testimonial-panel {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: none !important;
}
.nbt-so-testimonials .nbt-testimonial-panel__quote      { color: rgba(255,255,255,0.85); }
.nbt-so-testimonials .nbt-testimonial-panel__quote-icon { color: var(--nbt-orange); opacity: .7; }
.nbt-so-testimonials .nbt-testimonial-panel__name       { color: #fff; }
.nbt-so-testimonials .nbt-testimonial-panel__role       { color: rgba(255,255,255,0.5); }
.nbt-so-testimonials .nbt-testimonial-panel__avatar     { background: rgba(232,77,28,0.4); color: #fff; }

/* ── Blocksy mobile menu in nobotel huisstijl ─────────────────────────────── */
#offcanvas {
    --theme-link-initial-color: rgba(255,255,255,0.88);
    --theme-link-hover-color: #fff;
    --theme-icon-color: rgba(255,255,255,0.78);
    --theme-icon-hover-color: #fff;
    --mobile-menu-divider: 1px solid rgba(255,255,255,0.09);
}

#offcanvas .ct-panel-inner {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0) 38%),
        var(--nbt-navy) !important;
    box-shadow: -18px 0 46px rgba(6,25,46,0.28);
}

#offcanvas .ct-panel-inner::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--nbt-orange);
    opacity: 0.82;
}

#offcanvas .ct-panel-content {
    padding: 36px clamp(30px, 6vw, 48px) 38px;
}

#offcanvas .ct-panel-content-inner {
    position: relative;
    z-index: 1;
}

#offcanvas .ct-panel-content-inner::before {
    content: 'nobotel';
    display: inline-block;
    margin-bottom: 28px;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

#offcanvas .ct-toggle-close {
    top: 24px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,0.06);
    transition: background .2s ease, transform .2s ease;
}

#offcanvas .ct-toggle-close:hover {
    background: rgba(232,77,28,0.92);
    transform: rotate(90deg);
}

#offcanvas .mobile-menu {
    --items-vertical-spacing: 4px;
}

#offcanvas .mobile-menu > ul {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 0;
}

#offcanvas .mobile-menu li,
#offcanvas .mobile-menu .menu-item-has-children > a,
#offcanvas .mobile-menu .dropdown-active > .ct-sub-menu-parent {
    border-bottom: 0;
}

#offcanvas .mobile-menu .ct-menu-link,
#offcanvas .mobile-menu .ct-sub-menu-parent {
    color: rgba(255,255,255,0.88);
    border-radius: 10px;
}

#offcanvas .mobile-menu .ct-menu-link {
    min-height: 38px;
    padding: 6px 0;
    font-size: clamp(22px, 4.8vw, 30px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
}

#offcanvas .mobile-menu .ct-sub-menu-parent {
    column-gap: 14px;
}

#offcanvas .mobile-menu li:hover > .ct-menu-link,
#offcanvas .mobile-menu li:hover > .ct-sub-menu-parent,
#offcanvas .mobile-menu li[class*='current-menu-'] > .ct-menu-link,
#offcanvas .mobile-menu li.dropdown-active > .ct-sub-menu-parent {
    color: #fff;
}

#offcanvas .mobile-menu li:hover > .ct-menu-link,
#offcanvas .mobile-menu li:hover > .ct-sub-menu-parent {
    transform: translateX(2px);
}

#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
    color: rgba(255,255,255,0.76);
    background: transparent;
    border-radius: 999px;
}

#offcanvas .mobile-menu li.dropdown-active > .ct-sub-menu-parent .ct-toggle-dropdown-mobile {
    color: #fff;
    background: rgba(232,77,28,0.92);
}

#offcanvas .mobile-menu .sub-menu {
    margin: 2px 0 8px;
    padding: 6px 0 6px 16px !important;
    border-left: 1px solid rgba(232,77,28,0.7);
}

#offcanvas .mobile-menu .sub-menu .ct-menu-link {
    min-height: 30px;
    font-size: 15px;
    font-weight: 600;
    color: rgba(255,255,255,0.72);
}

#offcanvas .mobile-menu .sub-menu .ct-menu-link:hover {
    color: #fff;
}

#offcanvas .mobile-menu a[href*='login'],
#offcanvas .mobile-menu a[href*='inloggen'] {
    width: fit-content;
    margin-top: 8px;
    padding: 10px 16px;
    background: var(--nbt-orange);
    color: #fff !important;
    border-radius: 8px;
    font-size: 18px;
    box-shadow: 0 10px 24px rgba(232,77,28,0.2);
}

#offcanvas .mobile-menu a[href*='login']:hover,
#offcanvas .mobile-menu a[href*='inloggen']:hover {
    background: #f06432;
}

@media (max-width: 480px) {
    #offcanvas .ct-panel-content {
        padding: 30px 28px 34px;
    }

    #offcanvas .mobile-menu .ct-menu-link {
        font-size: 25px;
    }
}

/* ── Homepage: rustiger, dichter bij het toekomstige portal ─────────────── */
.nbt-portal .nbt-hub2__list li::before {
    color: #26a269;
}

.nbt-portal {
    background: #f7fafc;
}

.nbt-portal .nbt-section-tag {
    color: #697586;
}

.nbt-portal .nbt-hub2 {
    align-items: center;
}
@media (min-width: 769px) {
    .nbt-portal .nbt-hub2 {
        grid-template-columns: minmax(0, 380px) minmax(0, 482px);
        justify-content: center;
        gap: 48px;
    }
}

.nbt-portal .nbt-hub2__visual {
    background: #ffffff;
    border: 1px solid #e1e6ed;
    border-radius: 18px;
    padding: 14px;
    box-shadow: 0 18px 48px rgba(12,31,78,0.08);
}

.nbt-hub__dash--v3 {
    background: #ffffff;
    border: 1px solid #e1e6ed;
    border-radius: 13px;
    box-shadow: none;
}

.nbt-hub__dash--v3 .nbt-hub__dash-bar {
    background: #ffffff;
    border-bottom: 1px solid #e5e9ef;
    padding: 7px 14px;
}

.nbt-hub__dash--v3 .nbt-hub__dash-url {
    color: #697586;
    font-size: 11px;
    font-weight: 500;
}

.nbt-pdash__body {
    background: #fbfcfe;
    padding: 16px;
}

.nbt-pdash__nav {
    display: grid;
    grid-template-columns: 118px 1fr auto;
    align-items: center;
    padding: 10px 16px;
    gap: 18px;
}

.nbt-pdash__nav-links {
    justify-content: center;
    gap: 8px;
}

.nbt-pdash__nav-links span {
    color: #111;
    border-radius: 8px;
    padding: 5px 9px;
    font-size: 10.5px;
    font-weight: 600;
}

.nbt-pdash__nav-logo {
    display: flex;
    align-items: center;
    gap: 7px;
}

.nbt-pdash__nav-brand-text strong {
    display: block;
    color: #111;
    font-size: 15px;
    line-height: .95;
    font-weight: 800;
}

.nbt-pdash__nav-brand-text em {
    display: block;
    color: #555;
    font-size: 7.5px;
    line-height: 1.05;
    font-style: normal;
}

.nbt-hub2__visual .nbt-pdash__nav {
    grid-template-columns: 106px 1fr auto;
    gap: 8px;
}

.nbt-hub2__visual .nbt-pdash__nav-links {
    justify-content: flex-start;
}

.nbt-hub2__visual .nbt-pdash__nav-links span {
    font-size: 8px;
    padding: 4px 6px;
}

.nbt-hub2__visual .nbt-pdash__nav-links span:nth-child(n+3) {
    display: none;
}

.nbt-hub2__visual .nbt-pdash__user {
    font-size: 8px;
}

.nbt-pdash__nav,
.nbt-pdash__kpi,
.nbt-pdash__chart-card,
.nbt-pdash__table-card,
.nbt-pdash__sim-list,
.nbt-pdash__cost-table {
    border-color: #e1e6ed;
}

.nbt-pdash__kpi,
.nbt-pdash__chart-card,
.nbt-pdash__table-card,
.nbt-pdash__sim-list,
.nbt-pdash__cost-table {
    background: #ffffff;
    border-radius: 11px;
    box-shadow: 0 2px 8px rgba(12,31,78,0.04);
}

.nbt-pdash__kpi--warn {
    background: #ffffff;
    border-color: #e1e6ed;
}

.nbt-pdash__kpi--warn .nbt-pdash__kpi-val {
    color: var(--nbt-cobalt);
}

.nbt-pdash__tab--active {
    background: #f1f4f8;
    border-bottom-color: transparent;
    color: #111827 !important;
    font-weight: 700;
    padding-bottom: 5px;
}

.nbt-pdash__kpi-val,
.nbt-pdash__donut-val,
.nbt-pdash__table-row span:last-child,
.nbt-pdash__cost-row span:not(:first-child),
.nbt-pdash__usage-row span:last-child {
    color: #111827;
}

.nbt-pdash__card-title,
.nbt-pdash__kpi-lbl,
.nbt-pdash__donut-unit,
.nbt-pdash__donut-sub,
.nbt-pdash__bar-col span {
    color: #7b8794;
}

.nbt-pdash__bar {
    background: #d8e3ee;
}

.nbt-pdash__usage-track {
    background: #edf1f6;
}

/* ── Mobile Portal pagina: mockups dichter bij het echte portaal ───────────── */
.nbt-hero--portal .nbt-hub__dash--v3 {
    background: #eef6fb;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(17, 24, 39, 0.11);
    overflow: hidden;
}
@media (min-width: 769px) {
    .nbt-hero--portal .nbt-hero__left { flex: 1; }
    .nbt-hero--portal .nbt-hero__right { flex: 1.2; }
}

.nbt-pdash__app-nav {
    display: grid;
    grid-template-columns: 118px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 9px 14px;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    font-family: var(--nbt-font);
}

.nbt-pdash__brand {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #111;
    min-width: 0;
}

.nbt-pdash__brand-mark {
    width: 24px;
    height: 24px;
    display: block;
    color: #020202;
    flex: 0 0 auto;
}

.nbt-pdash__brand-mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

.nbt-pdash__brand strong,
.nbt-pdash__brand-text strong {
    display: block;
    font-size: 15px;
    line-height: .95;
    font-weight: 800;
}

.nbt-pdash__brand em,
.nbt-pdash__brand-text em {
    display: block;
    font-size: 7.5px;
    line-height: 1.05;
    font-style: normal;
    color: #555;
}

.nbt-pdash__app-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    overflow: hidden;
}

.nbt-pdash__app-links span {
    padding: 5px 8px;
    border-radius: 7px;
    color: #111;
    font-size: 8.5px;
    font-weight: 600;
    white-space: nowrap;
}

.nbt-pdash__app-links .is-active {
    background: #f7f7f7;
}

.nbt-pdash__user {
    color: #111;
    font-size: 8.5px;
    font-weight: 600;
    white-space: nowrap;
}

.nbt-pdash__app-body {
    margin: 9px;
    padding: 16px;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 1px 4px rgba(17,24,39,.08);
    font-family: var(--nbt-font);
}

.nbt-pdash__app-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.nbt-pdash__app-head h3 {
    margin: 0;
    color: #111;
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
}

.nbt-pdash__actions {
    display: flex;
    gap: 8px;
}

.nbt-pdash__actions span {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 11px;
    border-radius: 6px;
    background: #ff9816;
    color: #fff;
    font-size: 8.5px;
    font-weight: 700;
}

.nbt-pdash__filters {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 9px;
    margin-bottom: 10px;
}

.nbt-pdash__filters label {
    min-width: 0;
}

.nbt-pdash__filters span {
    display: block;
    margin-bottom: 4px;
    color: #111;
    font-size: 8.5px;
    font-weight: 700;
}

.nbt-pdash__filters b,
.nbt-pdash__filters em {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 0 8px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #757575;
    background: #fff;
    font-size: 8.5px;
    font-weight: 400;
    font-style: normal;
    box-shadow: 0 1px 2px rgba(17,24,39,.03);
}

.nbt-pdash__filters b {
    width: 58px;
    margin-right: 4px;
    color: #111;
}

.nbt-pdash__filters em {
    width: calc(100% - 66px);
}

.nbt-pdash__filters label:not(:first-child) em {
    width: 100%;
}

.nbt-pdash__toggles {
    display: flex;
    gap: 6px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ececec;
}

.nbt-pdash__toggles span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 8px;
    border: 1px solid #e5e7eb;
    border-radius: 7px;
    color: #111;
    font-size: 8.5px;
    box-shadow: 0 1px 3px rgba(17,24,39,.06);
}

.nbt-pdash__toggles i {
    width: 18px;
    height: 10px;
    border-radius: 999px;
    background: #ececec;
    position: relative;
}

.nbt-pdash__toggles i::after {
    content: '';
    width: 8px;
    height: 8px;
    position: absolute;
    top: 1px;
    left: 1px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
}

.nbt-pdash__real-table {
    border: 1px solid #e5e7eb;
    border-radius: 7px;
    overflow: hidden;
}

.nbt-pdash__real-row {
    display: grid;
    grid-template-columns: .62fr 1.2fr 1.25fr .95fr .45fr .78fr .62fr;
    gap: 8px;
    align-items: center;
    padding: 8px 7px;
    border-bottom: 1px solid #ececec;
    color: #111;
    font-size: 8.5px;
}

.nbt-pdash__real-row:last-child {
    border-bottom: 0;
}

.nbt-pdash__real-row--head {
    color: #111;
    font-weight: 700;
    background: #fff;
}

.nbt-pdash__ok {
    color: #24a56a;
    font-size: 12px;
}

.nbt-pdash__provider-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 18px;
    padding: 0 7px;
    border-radius: 5px;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.nbt-pdash__provider-logo--kpn {
    color: #019b4f;
    background: #ddf7e9;
}

.nbt-pdash__provider-logo--voda {
    color: #e60000;
    background: #ffe5e5;
}

.nbt-pdash__provider-logo--odido {
    color: #7b45d9;
    background: #eee7ff;
}

/* ── Provider Sim Only pagina's ──────────────────────────────────────────── */
.nbt-provider-page {
    --provider-accent: var(--nbt-cobalt);
    --provider-soft: #eef4fb;
}

.nbt-provider-hero {
    padding: 88px 0 72px;
    background:
        radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--provider-accent) 15%, transparent), transparent 32%),
        linear-gradient(135deg, var(--provider-soft) 0%, #ffffff 74%);
}

.nbt-provider-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr);
    gap: 64px;
    align-items: center;
}

.nbt-provider-hero .nbt-section-tag {
    color: var(--provider-accent);
}

.nbt-provider-hero__profit {
    color: var(--nbt-body);
    font-size: 16px;
    line-height: 1.7;
    margin: -6px 0 28px;
}

.nbt-provider-card {
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(12,31,78,.08);
    border-radius: 16px;
    padding: 38px;
    box-shadow: 0 24px 60px rgba(12,31,78,.12);
    position: relative;
    overflow: hidden;
}

.nbt-provider-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: var(--provider-accent);
}

.nbt-provider-card img {
    display: block;
    max-width: 230px;
    max-height: 88px;
    object-fit: contain;
    margin: 0 auto 32px;
}

.nbt-provider-page--vodafone .nbt-provider-card img {
    background: #fff;
    padding: 8px 12px;
    border-radius: 8px;
}

.nbt-provider-card__stats {
    display: grid;
    gap: 10px;
}

.nbt-provider-card__stats span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--nbt-cobalt);
    font-size: 14px;
    font-weight: 700;
}

.nbt-provider-card__stats span::before,
.nbt-provider-checks li::before {
    content: '';
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--provider-accent);
    flex: 0 0 auto;
}

.nbt-provider-benefits {
    padding: 34px 0;
    background: #fff;
}

.nbt-provider-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.nbt-provider-benefit {
    padding: 16px 18px;
    background: #f5f6f8;
    border-left: 3px solid var(--provider-accent);
    border-radius: 8px;
    color: var(--nbt-cobalt);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 700;
}

.nbt-provider-content,
.nbt-provider-roaming,
.nbt-provider-more,
.nbt-provider-flex {
    padding: 88px 0;
}
.nbt-provider-content,
.nbt-provider-flex {
    background: #fafbfc;
}
.nbt-provider-more {
    background: #fafbfc;
}
.nbt-provider-page .nbt-testimonials {
    background: #ffffff;
}
@media (min-width: 769px) {
    .nbt-provider-more .nbt-provider-split {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    }
    .nbt-provider-more .nbt-provider-split > div:first-child { order: 2; }
    .nbt-provider-more .nbt-provider-split > div:last-child  { order: 1; }
}

.nbt-provider-split,
.nbt-provider-roaming__inner {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 72px;
    align-items: start;
}

.nbt-provider-split .nbt-section-tag,
.nbt-provider-roaming .nbt-section-tag {
    color: var(--provider-accent);
}

.nbt-provider-split__copy p,
.nbt-provider-roaming p {
    color: var(--nbt-body);
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 18px;
}

.nbt-provider-plans {
    display: grid;
    margin-top: 54px;
    border-top: 1px solid #dfe7f1;
    border-bottom: 1px solid #dfe7f1;
}

.nbt-provider-plan {
    display: grid;
    grid-template-columns: 1.1fr .9fr .9fr;
    gap: 20px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #dfe7f1;
}

.nbt-provider-plan:last-child {
    border-bottom: 0;
}

.nbt-provider-plan strong {
    color: var(--nbt-cobalt);
    font-size: 16px;
}

.nbt-provider-plan span {
    color: var(--nbt-body);
    font-size: 14px;
}

.nbt-provider-plan em {
    justify-self: end;
    color: var(--provider-accent);
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
}

.nbt-provider-roaming {
    background: #ffffff;
}

.nbt-provider-checks {
    list-style: none;
    margin: 0;
    padding: 8px 0 0;
    display: grid;
    gap: 14px;
}

.nbt-provider-checks li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(12,31,78,.1);
    color: var(--nbt-cobalt);
    font-size: 15px;
    font-weight: 700;
}

.nbt-provider-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 38px;
}

.nbt-provider-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid #dfe7f1;
    border-radius: 8px;
    background: #fff;
    color: var(--nbt-cobalt);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.nbt-provider-links a:hover {
    border-color: var(--provider-accent);
    color: var(--provider-accent);
}

.nbt-provider-cta {
    background: #fff;
}

.nbt-provider-cta .nbt-cta-cobalt__title {
    color: var(--nbt-cobalt);
}

.nbt-provider-cta .nbt-cta-cobalt__sub {
    color: var(--nbt-body);
}

@media (max-width: 900px) {
    .nbt-provider-hero__inner,
    .nbt-provider-split,
    .nbt-provider-roaming__inner {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .nbt-provider-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .nbt-provider-hero {
        padding-top: 60px;
    }

    .nbt-provider-benefits__grid {
        grid-template-columns: 1fr;
    }

    /* Prijstabel: kolommen naast elkaar houden zoals op desktop, alleen compacter */
    .nbt-provider-plan {
        grid-template-columns: 1fr 1fr auto;
        gap: 10px;
        padding: 14px 0;
    }
    .nbt-provider-plan strong { font-size: 14px; }
    .nbt-provider-plan span   { font-size: 13px; }
    .nbt-provider-plan em      { font-size: 12px; }
}

@media (max-width: 900px) {
    .nbt-hero--portal .nbt-hero__inner {
        display: flex;
        flex-direction: column;
    }

    .nbt-hero--portal .nbt-hero__left {
        order: -1;
    }

    .nbt-hero--portal .nbt-hero__right {
        order: 0;
    }
}

@media (max-width: 640px) {
    .nbt-hero--portal .nbt-hero__right {
        width: 100%;
        transform: none;
    }

    .nbt-pdash__app-nav {
        grid-template-columns: 1fr auto;
    }

    .nbt-pdash__app-links,
    .nbt-pdash__user {
        display: none;
    }

    .nbt-pdash__app-body {
        padding: 12px;
    }

    .nbt-pdash__filters {
        grid-template-columns: 1fr;
    }

    .nbt-pdash__toggles {
        flex-wrap: wrap;
    }

    .nbt-pdash__real-row {
        grid-template-columns: 1fr 1.2fr .8fr;
    }

    .nbt-pdash__real-row span:nth-child(2),
    .nbt-pdash__real-row span:nth-child(4),
    .nbt-pdash__real-row span:nth-child(5) {
        display: none;
    }
}

/* ── Mobiel menu: lichte variant, compacter en dichter bij de site ────────── */
#offcanvas {
    --theme-link-initial-color: #12234d;
    --theme-link-hover-color: #0c1f4e;
    --theme-icon-color: #526070;
    --theme-icon-hover-color: #0c1f4e;
    --mobile-menu-divider: 1px solid rgba(12,31,78,0.08);
}

#offcanvas .ct-panel-inner {
    background:
        linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%) !important;
    box-shadow: -18px 0 46px rgba(12,31,78,0.12);
}

#offcanvas .ct-panel-inner::before {
    background: #e5edf5;
    opacity: 1;
}

#offcanvas .ct-panel-content-inner::before {
    color: var(--nbt-cobalt);
    font-size: 15px;
    margin-bottom: 22px;
}

#offcanvas .ct-toggle-close {
    color: #26364a !important;
    background: #ffffff !important;
    border: 1px solid #dfe7f1 !important;
    box-shadow: 0 8px 22px rgba(12,31,78,0.10) !important;
}

#offcanvas .ct-toggle-close:hover {
    color: #fff;
}

#offcanvas .ct-toggle-close svg,
#offcanvas .ct-toggle-close .ct-icon {
    color: currentColor !important;
    fill: currentColor !important;
}

#offcanvas .mobile-menu .ct-menu-link,
#offcanvas .mobile-menu .ct-sub-menu-parent {
    color: #12234d !important;
}

#offcanvas .mobile-menu .ct-menu-link {
    min-height: 34px;
    padding: 5px 0;
    font-size: clamp(18px, 4.2vw, 24px);
    font-weight: 600;
}

#offcanvas .mobile-menu li:hover > .ct-menu-link,
#offcanvas .mobile-menu li:hover > .ct-sub-menu-parent,
#offcanvas .mobile-menu li[class*='current-menu-'] > .ct-menu-link,
#offcanvas .mobile-menu li.dropdown-active > .ct-sub-menu-parent {
    color: var(--nbt-cobalt) !important;
}

#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
    color: #526070 !important;
}

#offcanvas .mobile-menu li.dropdown-active > .ct-sub-menu-parent .ct-toggle-dropdown-mobile {
    color: var(--nbt-cobalt) !important;
}

/* Uitklap-pijl in mobiel menu ALTIJD tonen (geen hover-only — op touch is hover er niet) */
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile,
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg,
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile .ct-icon,
#offcanvas .mobile-menu .menu-item-has-children > .ct-sub-menu-parent .ct-toggle-dropdown-mobile {
    opacity: 1 !important;
    visibility: visible !important;
}

#offcanvas .mobile-menu .sub-menu {
    border-left-color: rgba(232,77,28,0.45);
}

#offcanvas .mobile-menu .sub-menu .ct-menu-link {
    color: #526070 !important;
    font-size: 14px;
}

#offcanvas .mobile-menu .sub-menu .ct-menu-link:hover {
    color: var(--nbt-cobalt) !important;
}

#offcanvas .mobile-menu a[href*='login'],
#offcanvas .mobile-menu a[href*='inloggen'] {
    font-size: 15px;
    padding: 9px 14px;
}

body.nbt-dark-hero #offcanvas,
body.nbt-dark-hero #offcanvas a,
body.nbt-dark-hero #offcanvas button,
body.nbt-dark-hero #offcanvas .ct-menu-link,
body.nbt-dark-hero #offcanvas .ct-sub-menu-parent {
    color: #12234d !important;
}

body.nbt-dark-hero #offcanvas .ct-panel-inner {
    background:
        linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%) !important;
}

body.nbt-dark-hero #offcanvas .ct-toggle-close,
body.nbt-dark-hero #offcanvas .ct-toggle-close .ct-icon,
body.nbt-dark-hero #offcanvas .ct-toggle-dropdown-mobile {
    color: #526070 !important;
}

body.nbt-dark-hero #offcanvas .mobile-menu li:hover > .ct-menu-link,
body.nbt-dark-hero #offcanvas .mobile-menu li:hover > .ct-sub-menu-parent,
body.nbt-dark-hero #offcanvas .mobile-menu li[class*='current-menu-'] > .ct-menu-link,
body.nbt-dark-hero #offcanvas .mobile-menu li.dropdown-active > .ct-sub-menu-parent,
body.nbt-dark-hero #offcanvas .mobile-menu li.dropdown-active > .ct-sub-menu-parent .ct-toggle-dropdown-mobile {
    color: var(--nbt-cobalt) !important;
}

.nbt-why__cards .nbt-why__item {
    background: #f6f9fd;
    border: 1px solid #dfe7f1;
    border-top: 1px solid #dfe7f1 !important;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
}

.nbt-why__cards .nbt-why__item:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(12,31,78,0.08);
}

.nbt-why__cards .nbt-why__icon-wrap {
    background: #ffffff !important;
    border-color: #dce4ee !important;
    box-shadow: 0 4px 14px rgba(12,31,78,0.07) !important;
}

.nbt-why__cards .nbt-why__icon-wrap svg {
    color: var(--nbt-cobalt) !important;
    stroke: var(--nbt-cobalt) !important;
}

/* ── Mobile Portal: kaarten gelijk aan de homepage, zonder oranje accenten ─ */
.nbt-portal-features .nbt-portal__feature-card {
    border: 1px solid #dfe7f1;
    border-top: 1px solid #dfe7f1;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
}

.nbt-portal-features .nbt-portal__feature-card:hover {
    box-shadow: 0 14px 30px rgba(12,31,78,0.08);
    transform: translateY(-2px);
}

.nbt-portal-features .nbt-portal__feature-icon {
    width: 46px;
    height: 46px;
    padding: 9px;
    color: var(--nbt-cobalt);
    background: #fff;
    border: 1px solid #dce4ee;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(12,31,78,0.07);
}

.nbt-portal-features .nbt-portal__feature-icon svg {
    stroke: currentColor;
}

.nbt-portal-hoe .nbt-bespaar__process-step,
.nbt-portal-hoe .nbt-bespaar__process-step--highlight {
    background: #fff;
    border: 1px solid #dfe7f1;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
}

.nbt-portal-hoe .nbt-bespaar__process-step::before,
.nbt-portal-hoe .nbt-bespaar__process-step--highlight::before {
    display: none;
}

.nbt-portal-hoe .nbt-bespaar__process-step:hover,
.nbt-portal-hoe .nbt-bespaar__process-step--highlight:hover {
    box-shadow: 0 14px 30px rgba(12,31,78,0.08);
    transform: translateY(-2px);
}

.nbt-portal-hoe .nbt-bespaar__process-num {
    display: none;
}

.nbt-portal-hoe .nbt-bespaar__process-icon,
.nbt-portal-hoe .nbt-bespaar__process-step:hover .nbt-bespaar__process-icon,
.nbt-portal-hoe .nbt-bespaar__process-step--highlight .nbt-bespaar__process-icon {
    background: #fff;
    border: 1px solid #dce4ee;
    color: var(--nbt-cobalt);
    box-shadow: 0 4px 14px rgba(12,31,78,0.07);
}

.nbt-portal-hoe .nbt-bespaar__process-step h3,
.nbt-portal-hoe .nbt-bespaar__process-step--highlight h3 {
    color: var(--nbt-cobalt);
}

.nbt-portal-hoe .nbt-bespaar__process-step p,
.nbt-portal-hoe .nbt-bespaar__process-step--highlight p {
    color: var(--nbt-body);
}

/* ── Sitebreed: vergelijkbare kaarten ook zonder oranje bovenrand ───────── */
.nbt-so__voordeel,
.nbt-so__uitleg-card,
.nbt-travel__voor-card,
.nbt-about__value {
    border: 1px solid #dfe7f1;
    border-top: 1px solid #dfe7f1;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
}

.nbt-so__voordeel:hover,
.nbt-so__uitleg-card:hover,
.nbt-travel__voor-card:hover,
.nbt-about__value:hover {
    box-shadow: 0 14px 30px rgba(12,31,78,0.08);
    transform: translateY(-2px);
}

.nbt-so__voordeel-icon,
.nbt-so__uitleg-card-icon,
.nbt-travel__voor-icon,
.nbt-about__value-icon {
    color: var(--nbt-cobalt);
}

.nbt-bespaar__process-step,
.nbt-bespaar__process-step--highlight,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight {
    background: #fff;
    border: 1px solid #dfe7f1;
    box-shadow: 0 8px 22px rgba(12,31,78,0.06);
}

.nbt-bespaar__process-step::before,
.nbt-bespaar__process-step--highlight::before,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step::before,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight::before {
    display: none;
}

.nbt-bespaar__process-step:hover,
.nbt-bespaar__process-step--highlight:hover,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step:hover,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight:hover {
    box-shadow: 0 14px 30px rgba(12,31,78,0.08);
    transform: translateY(-2px);
}

.nbt-bespaar__process-num,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-num {
    display: none;
}

.nbt-bespaar__process-icon,
.nbt-bespaar__process-step:hover .nbt-bespaar__process-icon,
.nbt-bespaar__process-step--highlight .nbt-bespaar__process-icon,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-icon,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step:hover .nbt-bespaar__process-icon,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight .nbt-bespaar__process-icon {
    background: #fff;
    border: 1px solid #dce4ee;
    color: var(--nbt-cobalt);
    box-shadow: 0 4px 14px rgba(12,31,78,0.07);
}

.nbt-bespaar__process-step h3,
.nbt-bespaar__process-step--highlight h3,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step h3,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight h3 {
    color: var(--nbt-cobalt);
}

.nbt-bespaar__process-step p,
.nbt-bespaar__process-step--highlight p,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step p,
.nbt-bespaar-hoe--dark .nbt-bespaar__process-step--highlight p {
    color: var(--nbt-body);
}

.nbt-bespaar__process--journey {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.nbt-bespaar__process--journey .nbt-bespaar__process-step {
    min-height: 230px;
}

.nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight {
    grid-column: 1 / -1;
    min-height: 0;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 24px 28px;
    background: var(--nbt-cobalt);
    border-color: var(--nbt-cobalt);
}

.nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight .nbt-bespaar__process-icon {
    margin: 0;
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.22);
    color: #fff;
}

.nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight h3 {
    color: #fff;
    margin: 0 0 5px;
}

.nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight p {
    color: rgba(255,255,255,0.78);
}

.nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight::after {
    content: '30-50%';
    color: #fff;
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
}

@media (max-width: 760px) {
    .nbt-bespaar__audit {
        grid-template-columns: 1fr;
    }

    .nbt-bespaar__process--journey {
        grid-template-columns: 1fr;
    }

    .nbt-bespaar__process--journey .nbt-bespaar__process-step,
    .nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight {
        min-height: 0;
    }
}

/* ── Aanleverdeal: content-aligned redesign ──────────────────────────────── */
.nbt-deal-hero--redesign {
    padding: 136px 0 84px !important;
    background: linear-gradient(150deg, #f7fbff 0%, #e8f1fb 74%, #ffffff 100%);
    border-bottom: 0;
}

.nbt-deal-hero--redesign .nbt-deal-hero__inner {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 1240px;
    margin: 0 auto;
}

.nbt-deal-hero--redesign .nbt-deal-hero__left {
    display: grid;
    grid-template-columns: minmax(620px, 1fr) minmax(320px, 420px);
    column-gap: 78px;
    align-items: center;
}

.nbt-deal-hero--redesign .nbt-section-tag,
.nbt-deal-hero--redesign .nbt-deal-hero__title,
.nbt-deal-hero--redesign .nbt-deal-hero__sub,
.nbt-deal-hero--redesign .nbt-deal-hero__actions {
    grid-column: 1;
}

.nbt-deal-hero--redesign .nbt-deal-hero__title {
    max-width: 720px;
    font-size: clamp(42px, 3.35vw, 56px);
    line-height: 1.08;
}

.nbt-deal-hero--redesign .nbt-deal-hero__sub {
    max-width: 720px;
    margin: 24px 0 30px;
    color: var(--nbt-text-light);
    font-size: 18px;
    line-height: 1.65;
}

.nbt-deal-hero__image {
    display: block;
    grid-column: 2;
    grid-row: 1 / 5;
    width: 100%;
    max-height: 460px;
    object-fit: contain;
    margin: 0;
    filter: drop-shadow(0 22px 34px rgba(12, 31, 78, .14));
}

.nbt-deal-hero--redesign .nbt-deal-hero__right,
.nbt-deal-hero--redesign .nbt-deal__reward,
.nbt-deal-hero--redesign .nbt-deal__reward-row,
.nbt-deal-hero--redesign .nbt-deal__highlights,
.nbt-deal-hero--redesign .nbt-deal-hero__eyebrow,
.nbt-deal-hero--redesign .nbt-deal-hero__bullets {
    display: none !important;
}

.nbt-deal-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.nbt-deal__reward {
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nbt-deal__reward img {
    display: block;
    width: min(100%, 760px);
    max-height: 520px;
    object-fit: contain;
    margin: 0 auto 20px;
    filter: drop-shadow(0 22px 34px rgba(12, 31, 78, .14));
}

.nbt-deal__reward-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    max-width: 720px;
    margin: 0 auto;
}

.nbt-deal__reward-row div {
    padding: 18px;
    border-radius: 8px;
    background: #eef4fb;
}

.nbt-deal__reward-row div:nth-child(2) {
    background: var(--nbt-navy);
    color: #fff;
}

.nbt-deal__reward-row span {
    display: block;
    margin-bottom: 4px;
    color: var(--nbt-text-light);
    font-size: 13px;
}

.nbt-deal__reward-row div:nth-child(2) span {
    color: rgba(255, 255, 255, .72);
}

.nbt-deal__reward-row strong {
    color: var(--nbt-navy);
    font-size: 21px;
}

.nbt-deal__reward-row div:nth-child(2) strong {
    color: #fff;
}

.nbt-deal__reward p {
    margin: 16px auto 0;
    max-width: 720px;
    color: var(--nbt-text-light);
    font-size: 14px;
    line-height: 1.55;
    text-align: center;
}

.nbt-deal__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: 780px;
    margin: 22px auto 0;
}

.nbt-deal__highlights div {
    padding: 18px 20px;
    border: 1px solid #d9e4f1;
    border-radius: 8px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 14px 30px rgba(12, 31, 78, .06);
}

.nbt-deal__highlights span {
    display: block;
    margin-bottom: 6px;
    color: var(--nbt-orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
}

.nbt-deal__highlights strong {
    display: block;
    color: var(--nbt-navy);
    font-size: 16px;
    line-height: 1.35;
}

.nbt-deal-intro {
    padding: 92px 0;
    background: #fff;
}

.nbt-deal__intro {
    display: grid;
    grid-template-columns: minmax(320px, .85fr) minmax(0, 1fr);
    gap: 72px;
    max-width: 1040px;
    margin: 0 auto;
    align-items: start;
}

.nbt-deal__intro p {
    margin: 0 0 18px;
    color: var(--nbt-text-light);
    font-size: 18px;
    line-height: 1.75;
}

.nbt-deal__intro strong {
    color: var(--nbt-navy);
}

.nbt-deal-steps {
    padding: 92px 0;
}

.nbt-deal__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: 1080px;
    margin: 0 auto;
    border-top: 1px solid #cfddeb;
    border-bottom: 1px solid #cfddeb;
}

.nbt-deal__steps div {
    position: relative;
    padding: 30px 26px;
    border-radius: 8px;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nbt-deal__steps div:hover {
    z-index: 1;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 18px 38px rgba(12, 31, 78, .12);
    transform: translateY(-4px);
}

.nbt-deal__steps div + div {
    border-left: 1px solid #cfddeb;
}

.nbt-deal__steps span {
    display: block;
    margin-bottom: 22px;
    color: var(--nbt-orange);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .16em;
}

.nbt-deal__steps h3 {
    margin: 0 0 14px;
    color: var(--nbt-navy);
    font-size: 21px;
}

.nbt-deal__steps p {
    margin: 0;
    color: var(--nbt-text-light);
    line-height: 1.65;
}

.nbt-deal-quotes {
    padding: 88px 0;
    background: var(--nbt-bg-light);
    overflow: hidden;
}

.nbt-deal-quotes .nbt-testimonials__track-wrap {
    margin-top: 16px;
}

.nbt-deal-quotes .nbt-deal__quotes {
    display: flex;
    gap: 24px;
    width: max-content;
    max-width: none;
    margin: 0;
    padding: 0 40px;
    animation: nbt-scroll 55s linear infinite;
}

.nbt-deal-quotes .nbt-deal__quotes:hover {
    animation-play-state: paused;
}

.nbt-deal__quotes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    max-width: 1000px;
    margin: 0 auto;
}

.nbt-deal-faq {
    padding: 88px 0;
}

@media (max-width: 1024px) {
    .nbt-deal__intro {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .nbt-deal-hero--redesign .nbt-deal-hero__inner {
        max-width: 840px;
    }

    .nbt-deal-hero--redesign .nbt-deal-hero__left {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .nbt-deal-hero--redesign .nbt-section-tag,
    .nbt-deal-hero--redesign .nbt-deal-hero__title,
    .nbt-deal-hero--redesign .nbt-deal-hero__sub,
    .nbt-deal-hero--redesign .nbt-deal-hero__actions,
    .nbt-deal-hero__image {
        grid-column: 1;
    }

    .nbt-deal-hero__image {
        grid-row: auto;
        width: min(100%, 680px);
        margin: 30px auto 0;
    }

    .nbt-deal__steps,
    .nbt-deal__quotes {
        grid-template-columns: 1fr 1fr;
    }

    .nbt-deal__steps div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #cfddeb;
    }

    .nbt-deal__steps div:nth-child(4) {
        border-top: 1px solid #cfddeb;
    }
}

@media (max-width: 760px) {
    .nbt-deal-hero--redesign {
        padding: 96px 0 58px !important;
    }

    .nbt-deal-hero--redesign .nbt-deal-hero__title {
        font-size: clamp(34px, 9vw, 48px);
        line-height: 1.08;
    }

    .nbt-deal-hero--redesign .nbt-deal-hero__sub {
        margin-top: 20px;
        font-size: 17px;
        line-height: 1.6;
    }

    .nbt-deal-hero__image {
        width: min(100%, 520px);
        max-height: 390px;
        margin-top: 24px;
    }

    .nbt-deal__reward {
        padding: 0;
    }

    .nbt-deal__reward-row,
    .nbt-deal__highlights,
    .nbt-deal__steps,
    .nbt-deal__quotes {
        grid-template-columns: 1fr;
    }

    .nbt-deal__steps div,
    .nbt-deal__steps div + div,
    .nbt-deal__steps div:nth-child(3),
    .nbt-deal__steps div:nth-child(4) {
        border-left: 0;
        border-top: 1px solid #cfddeb;
    }

    .nbt-deal__steps div:first-child {
        border-top: 0;
    }
}

/* ── Over nobotel: simplified old-page structure ─────────────────────────── */
.nbt-about-intro {
    padding-top: 98px !important;
    padding-bottom: 98px !important;
}

.nbt-about__intro-copy {
    max-width: 1020px !important;
    grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr) !important;
    gap: 68px !important;
}

.nbt-about__intro-copy p {
    font-size: 17px;
    line-height: 1.75;
}

.nbt-about-unique {
    padding-top: 92px;
    padding-bottom: 92px;
}

.nbt-about__unique-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: 1060px;
    margin: 0 auto;
    border-top: 1px solid #cfddeb;
    border-bottom: 1px solid #cfddeb;
}

.nbt-about__unique-list div {
    padding: 30px 26px;
    border-radius: 8px;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nbt-about__unique-list div:hover {
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 14px 34px rgba(12, 31, 78, .08);
    transform: translateY(-3px);
}

.nbt-about__unique-list div + div {
    border-left: 1px solid #cfddeb;
}

.nbt-about__unique-list h3 {
    margin: 0 0 14px;
    color: var(--nbt-navy);
    font-size: 21px;
    line-height: 1.25;
}

.nbt-about__unique-list p {
    margin: 0;
    color: var(--nbt-text-light);
    line-height: 1.65;
}

.nbt-about-switch {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #fff;
}

.nbt-about__switch {
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
}

.nbt-about__switch p {
    margin: 0 auto 18px;
    max-width: 720px;
    color: var(--nbt-text-light);
    font-size: 18px;
    line-height: 1.75;
}

.nbt-about__switch .nbt-about__btns {
    justify-content: center;
    margin-top: 30px;
}

.nbt-about-story,
.nbt-about-values,
.nbt-about__network-panel {
    display: none !important;
}

@media (max-width: 1024px) {
    .nbt-about__intro-copy {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        max-width: 760px !important;
    }

    .nbt-about__unique-list {
        grid-template-columns: 1fr 1fr;
    }

    .nbt-about__unique-list div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #cfddeb;
    }

    .nbt-about__unique-list div:nth-child(4) {
        border-top: 1px solid #cfddeb;
    }
}

@media (max-width: 760px) {
    .nbt-about-intro,
    .nbt-about-unique,
    .nbt-about-switch {
        padding-top: 70px !important;
        padding-bottom: 70px !important;
    }

    .nbt-about__unique-list {
        grid-template-columns: 1fr;
    }

    .nbt-about__unique-list div,
    .nbt-about__unique-list div + div,
    .nbt-about__unique-list div:nth-child(3),
    .nbt-about__unique-list div:nth-child(4) {
        border-left: 0;
        border-top: 1px solid #cfddeb;
    }

    .nbt-about__unique-list div:first-child {
        border-top: 0;
    }

    .nbt-about__switch {
        text-align: left;
    }

    .nbt-about__switch .nbt-about__btns {
        justify-content: flex-start;
    }
}

/* ── Over nobotel: final timeline and advisory strip ─────────────────────── */
.nbt-about__network-panel {
    display: grid !important;
    grid-template-columns: minmax(280px, .82fr) minmax(420px, 1fr) !important;
    gap: 36px !important;
    align-items: center !important;
    max-width: 1020px !important;
    margin: 54px auto 0 !important;
    padding: 0 0 34px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe6f2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.nbt-about__network-head {
    max-width: 460px !important;
}

.nbt-about__network-head h3 {
    max-width: 430px;
}

.nbt-about__network-flow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.nbt-about__provider-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.nbt-about__provider-row span {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe6f2;
    border-radius: 8px;
    background: #fff;
    color: var(--nbt-navy);
    font-size: 15px;
    font-weight: 800;
}

.nbt-about__advice-card {
    display: grid;
    grid-template-columns: minmax(210px, .7fr) 1fr;
    gap: 18px;
    align-items: center;
    padding: 22px 24px;
    border-radius: 8px;
    background: var(--nbt-navy);
    color: #fff;
}

.nbt-about__advice-card strong {
    font-size: 18px;
    line-height: 1.3;
}

.nbt-about__advice-card span {
    color: rgba(255, 255, 255, .76);
    line-height: 1.55;
}

.nbt-about__network-logos,
.nbt-about__network-grid,
.nbt-about__network-result {
    display: none !important;
}

.nbt-about-story {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
}

.nbt-about-story .nbt-section-header {
    margin-bottom: 72px !important;
}

.nbt-about__milestones {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 34px 0 0 !important;
    text-align: left !important;
}

.nbt-about__milestones::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 7px !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: #c8d8e9 !important;
}

.nbt-about__milestone {
    position: relative !important;
    display: block !important;
    padding: 42px 26px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

.nbt-about__milestone::before {
    content: "" !important;
    position: absolute !important;
    top: -36px !important;
    left: 0 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 5px solid var(--nbt-cobalt) !important;
    box-shadow: 0 0 0 10px #eaf3fb !important;
}

.nbt-about__milestone span {
    display: block !important;
    margin: 0 0 16px !important;
    color: var(--nbt-orange) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.nbt-about__milestone h3 {
    margin: 0 0 16px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
}

.nbt-about__milestone p {
    max-width: 250px !important;
    margin: 0 !important;
    grid-column: auto !important;
    line-height: 1.65 !important;
}

@media (max-width: 1024px) {
    .nbt-about__network-panel,
    .nbt-about__advice-card {
        grid-template-columns: 1fr !important;
    }

    .nbt-about__milestones {
        grid-template-columns: 1fr !important;
        max-width: 760px !important;
        padding-top: 0 !important;
    }

    .nbt-about__milestones::before {
        left: 8px !important;
        right: auto !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 2px !important;
        height: auto !important;
    }

    .nbt-about__milestone {
        padding: 0 0 42px 46px !important;
    }

    .nbt-about__milestone::before {
        top: 2px !important;
        left: 0 !important;
    }

    .nbt-about__milestone p {
        max-width: none !important;
    }
}

@media (max-width: 760px) {
    .nbt-about__provider-row {
        grid-template-columns: 1fr !important;
    }
}

/* ── Over nobotel: calmer page rhythm ────────────────────────────────────── */
.nbt-about-intro {
    padding-bottom: 86px;
}

.nbt-about__network-panel {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1fr);
    gap: 34px 42px;
    padding: 36px;
    background: linear-gradient(135deg, #f7fbff 0%, #eef5fc 100%);
    border: 1px solid #dce8f4;
    box-shadow: 0 20px 54px rgba(12, 34, 78, .08);
}

.nbt-about__network-head {
    margin: 0;
}

.nbt-about__network-logos {
    align-self: start;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 4px 0 0;
}

.nbt-about__network-logos span {
    min-width: 0;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid #dbe6f2;
    border-radius: 8px;
    color: var(--nbt-navy);
    font-weight: 800;
}

.nbt-about__network-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-top: 6px;
    border-top: 1px solid #d8e5f2;
}

.nbt-about__network-grid div {
    padding: 18px 24px 12px 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.nbt-about__network-grid div + div {
    padding-left: 24px;
    border-left: 1px solid #d8e5f2;
}

.nbt-about__network-result {
    grid-column: 1 / -1;
    grid-template-columns: minmax(240px, .62fr) 1fr;
    margin-top: 0;
    padding: 22px 24px;
    border-radius: 10px;
}

.nbt-about-story {
    padding-top: 92px;
    padding-bottom: 92px;
}

.nbt-about__milestones {
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
    max-width: 1080px;
    padding-top: 32px;
}

.nbt-about__milestones::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    height: 1px;
    background: #cfddeb;
}

.nbt-about__milestone {
    position: relative;
    display: block;
    padding: 42px 0 0;
    border: 0;
}

.nbt-about__milestone::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid var(--nbt-cobalt);
    box-shadow: 0 0 0 8px #eaf3fb;
}

.nbt-about__milestone span {
    display: block;
    margin: 0 0 16px;
    color: var(--nbt-orange);
    font-size: 13px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.nbt-about__milestone p {
    grid-column: auto;
    max-width: 230px;
}

.nbt-about-values {
    padding-top: 92px;
}

@media (max-width: 1024px) {
    .nbt-about__network-panel,
    .nbt-about__network-result {
        grid-template-columns: 1fr;
    }

    .nbt-about__network-grid {
        grid-template-columns: 1fr;
    }

    .nbt-about__network-grid div,
    .nbt-about__network-grid div + div {
        padding: 18px 0;
        border-left: 0;
        border-top: 1px solid #d8e5f2;
    }

    .nbt-about__network-grid div:first-child {
        border-top: 0;
    }

    .nbt-about__milestones {
        grid-template-columns: 1fr 1fr;
    }

    .nbt-about__milestones::before {
        display: none;
    }
}

@media (max-width: 760px) {
    .nbt-about__network-panel {
        padding: 26px;
    }

    .nbt-about__milestones {
        grid-template-columns: 1fr;
        padding-top: 0;
    }

    .nbt-about__milestone {
        padding: 0 0 0 34px;
        text-align: left;
        border-left: 1px solid #cfddeb;
    }

    .nbt-about__milestone::before {
        top: 2px;
        left: -9px;
    }

    .nbt-about__milestone p {
        max-width: none;
    }
}

@media (max-width: 640px) {
    .nbt-bespaar__audit-main,
    .nbt-bespaar__audit-side {
        padding: 24px;
    }

    .nbt-bespaar__audit-stats {
        grid-template-columns: 1fr;
    }

    .nbt-bespaar__audit-side li {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight {
        grid-template-columns: auto 1fr;
    }

    .nbt-bespaar__process--journey .nbt-bespaar__process-step--highlight::after {
        grid-column: 1 / -1;
        font-size: 28px;
    }
}

/* ── Homepage: Global Travel SIM tablet/mobile alignment ─────────────────── */
.nbt-wave--bp svg path {
    fill: var(--nbt-bg-light);
}

@media (max-width: 900px) {
    .nbt-bp__inner {
        align-items: center;
        gap: 38px;
        text-align: center;
    }

    .nbt-bp__left,
    .nbt-bp__right {
        width: 100%;
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-bp__sub {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-bp__perks {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-bp__cards {
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
    }

    .nbt-bp__card {
        text-align: left;
    }
}

@media (max-width: 560px) {
    .nbt-bp__cards {
        grid-template-columns: 1fr;
        max-width: 360px;
    }
}

/* ── Over nobotel: lichter, rustiger en minder blokkerig ─────────────────── */
.nbt-about-hero {
    min-height: auto;
    display: block;
    padding: 118px 0 86px;
    background:
        radial-gradient(circle at 78% 20%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0) 34%),
        linear-gradient(135deg, #f7fbff 0%, #eaf3ff 54%, #ddebf9 100%);
    overflow: hidden;
}

.nbt-about-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
    gap: 58px;
    align-items: center;
}

.nbt-about-hero__content {
    position: relative;
    z-index: 1;
    padding: 0;
}

.nbt-about-hero__title {
    max-width: 560px;
    margin: 14px 0 22px;
    color: var(--nbt-navy);
    font-size: clamp(42px, 4vw, 62px);
    line-height: 1.08;
    font-weight: 800;
}

.nbt-about-hero__sub {
    max-width: 560px;
    margin: 0 0 34px;
    color: var(--nbt-body);
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.55;
}

.nbt-about-hero__visual {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(12,31,78,0.16);
}

.nbt-about-hero__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,31,78,0.08), rgba(12,31,78,0.2));
    pointer-events: none;
}

.nbt-about-hero__img {
    width: 100%;
    height: clamp(350px, 33vw, 490px);
    object-fit: cover;
    display: block;
}

.nbt-about-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(112px, 1fr));
    gap: 12px;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    max-width: 620px;
}

.nbt-about-hero__stat {
    gap: 4px;
    padding: 16px 14px;
    border: 1px solid #dce6f3;
    border-radius: 10px;
    background: rgba(255,255,255,0.74);
    box-shadow: 0 10px 24px rgba(12,31,78,0.06);
}

.nbt-about-hero__stat strong {
    color: var(--nbt-navy);
    font-size: clamp(22px, 1.8vw, 28px);
    word-break: keep-all;
    overflow-wrap: normal;
}

.nbt-about-hero__stat span {
    color: var(--nbt-text-light);
    font-size: 12px;
    letter-spacing: .06em;
}

.nbt-about__intro-copy {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: 64px;
    align-items: start;
}

.nbt-about__intro-copy p {
    color: var(--nbt-text-light);
    line-height: 1.72;
    margin-bottom: 16px;
}

.nbt-about__network-panel {
    margin-top: 46px;
    padding: 34px;
    border: 1px solid #dce6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5fd 100%);
    box-shadow: 0 18px 46px rgba(12,31,78,0.08);
}

.nbt-about__network-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.nbt-about__network-logos span {
    min-width: 132px;
    padding: 12px 18px;
    border: 1px solid #dce6f3;
    border-radius: 8px;
    background: #fff;
    color: var(--nbt-navy);
    font-weight: 700;
    text-align: center;
}

.nbt-about__network-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.nbt-about__network-grid div {
    padding: 22px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e0e8f3;
}

.nbt-about__network-grid span,
.nbt-about__network-result span {
    display: block;
    color: var(--nbt-text-light);
    font-size: 14px;
}

.nbt-about__network-grid strong,
.nbt-about__network-result strong {
    display: block;
    margin-top: 6px;
    color: var(--nbt-navy);
    font-size: 18px;
    line-height: 1.35;
}

.nbt-about__network-result {
    margin-top: 14px;
    padding: 22px 24px;
    border-radius: 10px;
    background: var(--nbt-cobalt);
}

.nbt-about__network-result strong {
    margin-top: 0;
    color: #fff;
}

.nbt-about__network-result span {
    margin-top: 6px;
    color: rgba(255,255,255,0.76);
}

.nbt-about__milestones {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.nbt-about__milestone {
    padding: 26px;
    border: 1px solid #dce6f3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(12,31,78,0.06);
}

.nbt-about__milestone--wide {
    grid-column: span 3;
    display: grid;
    grid-template-columns: 120px 1fr;
    column-gap: 26px;
    align-items: start;
}

.nbt-about__milestone span {
    display: inline-flex;
    margin-bottom: 18px;
    color: var(--nbt-orange);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nbt-about__milestone--wide span {
    margin-bottom: 0;
}

.nbt-about__milestone h3 {
    margin: 0 0 10px;
    color: var(--nbt-navy);
    font-size: 20px;
    line-height: 1.25;
}

.nbt-about__milestone p {
    margin: 0;
    color: var(--nbt-text-light);
    line-height: 1.62;
}

.nbt-about__approach {
    display: grid;
    grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
    gap: 46px;
    align-items: stretch;
}

.nbt-about__approach-lead {
    padding: 34px;
    border-radius: 14px;
    background: var(--nbt-cobalt);
    color: #fff;
}

.nbt-about__approach-lead h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 30px;
    line-height: 1.15;
}

.nbt-about__approach-lead p {
    margin: 0;
    color: rgba(255,255,255,0.78);
    line-height: 1.7;
}

.nbt-about__approach-list {
    display: grid;
    gap: 12px;
}

.nbt-about__approach-list div {
    padding: 20px 22px;
    border: 1px solid #dce6f3;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(12,31,78,0.05);
}

.nbt-about__approach-list strong {
    display: block;
    color: var(--nbt-navy);
    font-size: 17px;
}

.nbt-about__approach-list span {
    display: block;
    margin-top: 5px;
    color: var(--nbt-text-light);
}

.nbt-about__services {
    grid-template-columns: minmax(320px, .95fr) minmax(0, 1fr);
    gap: 18px;
}

.nbt-about__service-card {
    border-radius: 10px;
    border-color: #dce6f3;
    box-shadow: 0 10px 26px rgba(12,31,78,0.05);
}

.nbt-about__service-card--featured {
    grid-row: span 3;
    justify-content: center;
    padding: 44px;
    background: var(--nbt-cobalt);
}

.nbt-about__service-card--featured h3,
.nbt-about__service-card--featured p,
.nbt-about__service-card--featured .nbt-about__service-link {
    color: #fff;
}

.nbt-about__service-card--featured p {
    color: rgba(255,255,255,0.78);
}

.nbt-about__service-card--featured .nbt-about__service-icon {
    background: rgba(255,255,255,0.14);
    color: #fff;
}

@media (max-width: 1024px) {
    .nbt-about-hero__inner,
    .nbt-about__intro-copy,
    .nbt-about__approach {
        grid-template-columns: 1fr;
    }

    .nbt-about-hero__title,
    .nbt-about-hero__sub,
    .nbt-about-hero__stats {
        max-width: 720px;
    }

    .nbt-about__services {
        grid-template-columns: 1fr;
    }

    .nbt-about__service-card--featured {
        grid-row: auto;
    }
}

@media (max-width: 760px) {
    .nbt-about-hero {
        padding: 118px 0 70px;
    }

    .nbt-about-hero__inner {
        gap: 34px;
    }

    .nbt-about-hero__stats,
    .nbt-about__network-grid,
    .nbt-about__milestones {
        grid-template-columns: 1fr;
    }

    .nbt-about__milestone--wide {
        grid-column: auto;
        display: block;
    }

    .nbt-about__milestone--wide span {
        margin-bottom: 18px;
    }

    .nbt-about__network-panel,
    .nbt-about__approach-lead,
    .nbt-about__service-card--featured {
        padding: 26px;
    }

    .nbt-about-hero__img {
        height: 320px;
    }
}

/* ── Over nobotel: desktop polish pass ───────────────────────────────────── */
.nbt-about-hero {
    padding: 142px 0 74px;
}

.nbt-about-hero__inner {
    grid-template-columns: minmax(360px, .82fr) minmax(480px, 1fr);
    gap: 56px 64px;
}

.nbt-about-hero__title {
    max-width: 620px;
    font-size: clamp(46px, 3.7vw, 64px);
    line-height: 1.08;
}

.nbt-about-hero__sub {
    max-width: 590px;
    margin-bottom: 0;
}

.nbt-about-hero__visual {
    align-self: stretch;
}

.nbt-about-hero__img {
    height: 100%;
    min-height: 430px;
    max-height: 520px;
}

.nbt-about-hero__stats {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
    gap: 16px;
    margin-top: 0;
}

.nbt-about-hero__stat {
    min-height: 92px;
    justify-content: center;
}

.nbt-about-intro {
    background: #fff;
}

.nbt-about__intro-copy {
    grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr);
    gap: 72px;
    align-items: start;
    max-width: 1020px;
    margin: 0 auto;
}

.nbt-about__intro-copy .nbt-section-title {
    max-width: 470px;
}

.nbt-about__intro-copy p {
    max-width: 620px;
}

.nbt-about__network-panel {
    max-width: 1020px;
    margin: 44px auto 0;
    padding: 28px;
    border-radius: 12px;
}

.nbt-about__network-head {
    max-width: 720px;
    margin-bottom: 24px;
}

.nbt-about__network-head h3 {
    margin: 8px 0 10px;
    color: var(--nbt-navy);
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.18;
}

.nbt-about__network-head p {
    margin: 0;
    color: var(--nbt-text-light);
    line-height: 1.65;
}

.nbt-about__network-logos {
    margin-bottom: 18px;
}

.nbt-about__network-grid div {
    padding: 18px;
}

.nbt-about__network-result {
    display: grid;
    grid-template-columns: minmax(260px, .75fr) 1fr;
    gap: 18px;
    align-items: center;
    padding: 20px 22px;
}

.nbt-about__network-result span {
    margin-top: 0;
}

.nbt-about-story {
    padding-top: 82px;
    padding-bottom: 82px;
    text-align: center;
}

.nbt-about__milestones {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 64px;
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}

.nbt-about__milestone {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 20px;
    padding: 24px 0;
    border: 0;
    border-top: 1px solid #d8e3ef;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nbt-about__milestone span {
    margin: 4px 0 0;
    font-size: 13px;
}

.nbt-about__milestone h3 {
    margin-bottom: 8px;
    font-size: 20px;
}

.nbt-about__milestone p {
    grid-column: 2;
}

.nbt-about-values {
    background: #fff;
}

.nbt-about__approach {
    max-width: 1020px;
    margin: 0 auto;
    grid-template-columns: minmax(280px, .55fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.nbt-about__approach-lead {
    min-height: 0;
    padding: 30px;
    border-radius: 10px;
}

.nbt-about__approach-lead h3 {
    font-size: 28px;
}

.nbt-about__approach-list {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.nbt-about__approach-list div {
    min-height: 128px;
    padding: 22px;
}

.nbt-about-services {
    padding-top: 82px;
    padding-bottom: 82px;
}

.nbt-about__services {
    max-width: 1020px;
    margin: 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.nbt-about__service-card,
.nbt-about__service-card--featured {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 10px 18px;
    align-items: start;
    min-height: 164px;
    padding: 24px;
    background: #fff;
    color: inherit;
}

.nbt-about__service-card h3,
.nbt-about__service-card--featured h3 {
    grid-column: 2 / 4;
    color: var(--nbt-navy);
    margin: 0;
}

.nbt-about__service-card p,
.nbt-about__service-card--featured p {
    grid-column: 2 / 4;
    color: var(--nbt-text-light);
    margin: 0;
}

.nbt-about__service-card .nbt-about__service-link,
.nbt-about__service-card--featured .nbt-about__service-link {
    grid-column: 2 / 4;
    color: var(--nbt-cobalt);
}

.nbt-about__service-card .nbt-about__service-icon,
.nbt-about__service-card--featured .nbt-about__service-icon {
    grid-row: 1 / 4;
    background: #eef2fb;
    color: var(--nbt-cobalt);
}

@media (min-width: 1180px) {
    .nbt-about-hero .nbt-container,
    .nbt-about-intro .nbt-container,
    .nbt-about-story .nbt-container,
    .nbt-about-values .nbt-container,
    .nbt-about-services .nbt-container {
        max-width: 1180px;
    }
}

@media (max-width: 1024px) {
    .nbt-about-hero__inner,
    .nbt-about__intro-copy,
    .nbt-about__approach,
    .nbt-about__network-result {
        grid-template-columns: 1fr;
    }

    .nbt-about-hero__img {
        height: 360px;
        min-height: 0;
    }

    .nbt-about__milestones,
    .nbt-about__approach-list,
    .nbt-about__services {
        grid-template-columns: 1fr;
    }

    .nbt-about__intro-copy {
        gap: 26px;
        max-width: 760px;
    }

    .nbt-about__intro-copy .nbt-section-title,
    .nbt-about__intro-copy p {
        max-width: none;
    }

    .nbt-about__network-panel {
        max-width: 760px;
        margin-top: 34px;
    }

    .nbt-about__network-grid {
        grid-template-columns: 1fr;
    }

    .nbt-about__milestones {
        max-width: 760px;
    }
}

@media (max-width: 760px) {
    .nbt-about-hero {
        padding: 128px 0 62px;
    }

    .nbt-about-hero__stats {
        grid-template-columns: 1fr 1fr;
    }

    .nbt-about__milestone {
        grid-template-columns: 1fr;
        gap: 8px;
        text-align: center;
    }

    .nbt-about__milestone p {
        grid-column: 1;
    }

    .nbt-about__service-card,
    .nbt-about__service-card--featured {
        grid-template-columns: 48px 1fr;
    }

    .nbt-about__service-card .nbt-about__service-icon,
    .nbt-about__service-card--featured .nbt-about__service-icon {
        grid-row: auto;
    }

    .nbt-about__service-card h3,
    .nbt-about__service-card p,
    .nbt-about__service-card .nbt-about__service-link,
    .nbt-about__service-card--featured h3,
    .nbt-about__service-card--featured p,
    .nbt-about__service-card--featured .nbt-about__service-link {
        grid-column: 1 / -1;
    }
}

/* ── Business Partner: page rhythm and premium section balance ───────────── */
.nbt-page--business-partner {
    background: #fff;
}

.nbt-page--business-partner .nbt-partner-hero {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.74) 0%, rgba(255,255,255,0) 42%),
        linear-gradient(135deg, #f7fbff 0%, #eaf3fb 58%, #dde9f6 100%);
    padding-bottom: 90px !important;
}

.nbt-page--business-partner .nbt-partner-hero__visual img {
    border-radius: 14px;
    box-shadow: 0 24px 58px rgba(12,31,78,0.17);
}

.nbt-page--business-partner .nbt-partner-solution {
    background: #fff;
    padding: 92px 0 96px;
}

.nbt-page--business-partner .nbt-partner-solution__card {
    background: #fff;
    border: 1px solid #dfe8f2;
    border-top: 3px solid var(--nbt-orange);
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(12,31,78,0.07);
}

.nbt-page--business-partner .nbt-partner-model {
    background: #edf5fc;
    padding: 92px 0;
}

.nbt-page--business-partner .nbt-partner-model .nbt-section-header {
    margin-bottom: 0;
}

.nbt-page--business-partner .nbt-partner__model-cards {
    margin-top: 46px;
}

.nbt-page--business-partner .nbt-partner-usps {
    background: var(--nbt-navy) !important;
    padding: 92px 0;
}

.nbt-page--business-partner .nbt-partner-usps .nbt-section-title {
    color: #fff;
}

.nbt-page--business-partner .nbt-partner-usps .nbt-section-tag {
    color: rgba(255,255,255,0.62);
}

.nbt-page--business-partner .nbt-partner__usps {
    gap: 18px;
}

.nbt-page--business-partner .nbt-partner__usp {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 10px;
    box-shadow: none;
}

.nbt-page--business-partner .nbt-partner__usp-icon {
    background: rgba(255,255,255,0.09);
    color: #fff;
}

.nbt-page--business-partner .nbt-partner__usp h3 {
    color: #fff;
}

.nbt-page--business-partner .nbt-partner__usp p {
    color: rgba(255,255,255,0.74);
}

.nbt-page--business-partner .nbt-partner-sim {
    background: #fff;
    padding: 96px 0;
}

.nbt-page--business-partner .nbt-partner-sim__panel {
    background: #f7fbff;
    border: 1px solid #d8e4f0;
    border-radius: 10px;
    box-shadow: 0 18px 42px rgba(12,31,78,0.08);
}

.nbt-page--business-partner .nbt-partner-network {
    background: #edf5fc;
    padding: 86px 0;
}

.nbt-page--business-partner .nbt-partner__name-item {
    border-color: #d8e4f0;
    box-shadow: 0 8px 20px rgba(12,31,78,0.04);
}

.nbt-page--business-partner .nbt-partner-quote {
    background: var(--nbt-navy);
    padding: 82px 0 58px;
}

.nbt-page--business-partner .nbt-partner-quote .nbt-section-title {
    color: #fff;
}

.nbt-page--business-partner .nbt-partner-quote .nbt-section-tag {
    color: rgba(255,255,255,0.58);
}

.nbt-page--business-partner .nbt-partner-quote .nbt-testimonial-panel {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.13);
    box-shadow: none;
}

.nbt-page--business-partner .nbt-partner-quote .nbt-testimonial-panel__quote {
    color: rgba(255,255,255,0.84);
}

.nbt-page--business-partner .nbt-partner-quote .nbt-testimonial-panel__name {
    color: #fff;
}

.nbt-page--business-partner .nbt-partner-quote .nbt-testimonial-panel__role {
    color: rgba(255,255,255,0.6);
}

.nbt-page--business-partner .nbt-partner-program {
    background: #fff;
    padding: 94px 0;
}

.nbt-page--business-partner .nbt-partner-program__steps div {
    border-radius: 10px;
    border-left: 3px solid var(--nbt-orange);
    box-shadow: 0 10px 26px rgba(12,31,78,0.06);
}

.nbt-page--business-partner .nbt-partner-contact {
    background: #edf5fc;
    padding: 92px 0;
}

.nbt-page--business-partner .nbt-contact-split {
    align-items: start;
}

.nbt-page--business-partner .nbt-contact-split__form .nbt-eform {
    border-radius: 12px;
    box-shadow: 0 20px 48px rgba(12,31,78,0.1);
}

.nbt-page--business-partner .nbt-partner-faq {
    background: #fff;
    padding: 86px 0 96px;
}

@media (max-width: 900px) {
    .nbt-page--business-partner .nbt-partner-hero,
    .nbt-page--business-partner .nbt-partner-solution,
    .nbt-page--business-partner .nbt-partner-model,
    .nbt-page--business-partner .nbt-partner-usps,
    .nbt-page--business-partner .nbt-partner-sim,
    .nbt-page--business-partner .nbt-partner-network,
    .nbt-page--business-partner .nbt-partner-program,
    .nbt-page--business-partner .nbt-partner-contact,
    .nbt-page--business-partner .nbt-partner-faq {
        padding-top: 70px;
        padding-bottom: 72px;
    }

    .nbt-page--business-partner .nbt-partner-hero {
        padding-top: 126px !important;
    }

    .nbt-page--business-partner .nbt-partner-quote {
        padding-top: 68px;
        padding-bottom: 46px;
    }
}

@media (max-width: 640px) {
    .nbt-page--business-partner .nbt-partner-solution__card,
    .nbt-page--business-partner .nbt-partner__usp,
    .nbt-page--business-partner .nbt-partner-sim__panel,
    .nbt-page--business-partner .nbt-partner-program__steps div {
        border-radius: 8px;
    }

    .nbt-page--business-partner .nbt-partner-hero__visual img {
        border-radius: 10px;
    }

}

/* ── Lichtblauwe secties: uniforme kleur (#E8EFF8) + subtiele wit-gradient ── */
.nbt-bg-light,
.nbt-cta,
.nbt-portal,
.nbt-contact-header,
.nbt-deal-quotes,
.nbt-portal-testimonials,
.nbt-portal-overstap__banner,
.nbt-travel-stappen--cards,
.nbt-partner-program {
    background: var(--nbt-grad-light);
}
/* Bijna-witte secties → echt wit (consistent, geen losse lichtblauw-tinten) */
.nbt-travel-voor {
    background: #ffffff;
}
/* Knop-tekst altijd netjes gecentreerd (voorkomt te hoge tekst in outline-knoppen) */
.nbt-btn-primary,
.nbt-btn-outline,
.nbt-btn-outline-navy,
.nbt-btn-white,
.nbt-btn-white-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.nbt-so-cta {
    background: var(--nbt-grad-light) !important;
}
/* Testimonials: wit boven → lichtblauw onder (matcht de wave eronder) */
.nbt-testimonials {
    background: var(--nbt-grad-testi);
}

/* Business Partner "Jij verkoopt" sectie: zelfde lichtblauw + gradient */
.nbt-page--business-partner .nbt-partner-model {
    background: var(--nbt-grad-light);
}

/* ── Donkerblauwe secties: uniforme kleur + subtiele gradient ── */
.nbt-cta-cobalt,
.nbt-portal-hoe--dark,
.nbt-bp,
.nbt-travel-stappen--dark,
.nbt-iot-jasper--dark,
.nbt-bespaar-hoe--dark,
.nbt-video {
    background: var(--nbt-grad-dark);
}
.nbt-partner-usps,
.nbt-so-testimonials {
    background: var(--nbt-grad-dark) !important;
}
/* Bolling/wave boven .nbt-bp: vaste topkleur = naadloos met de sectie eronder */
.nbt-wave--bp {
    background: #0d2350;
}

/* Anker-doelen: ruimte onder de vaste header bij het springen naar een #sectie */
.nbt-section[id] {
    scroll-margin-top: 110px;
}

/* Business Partner voordeel-kaarten: subtiele hover */
.nbt-page--business-partner .nbt-partner__usp {
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.nbt-page--business-partner .nbt-partner__usp:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.28);
}

/* Travelsim "voor wie?"-kaarten: zelfde card-hover als elders (lift + schaduw) */
.nbt-travel__audience-list .nbt-travel__voor-card {
    border-radius: 12px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.nbt-travel__audience-list .nbt-travel__voor-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(12,31,78,0.12);
}

/* ── IoT hero-kaart: crisp wit i.p.v. grijzig (doorzichtig wit op lichte hero) ── */
.nbt-iot-hero .nbt-iot__hero-card {
    background: #ffffff;
    border: 1px solid #e1e6ed;
    box-shadow: 0 18px 48px rgba(12,31,78,0.10);
}
.nbt-iot-hero .nbt-iot__hero-devices {
    background: transparent;
}
.nbt-iot-hero .nbt-iot__hero-device {
    background: var(--nbt-bg-light);
    border: 1px solid #e1e6ed;
    color: var(--nbt-cobalt);
}
.nbt-iot-hero .nbt-iot__hero-range-label,
.nbt-iot-hero .nbt-iot__hero-range-bar {
    color: var(--nbt-body);
}

/* IoT usecase-lijst + main: simpele hover (lift + schaduw) */
.nbt-iot__usecase-row,
.nbt-iot__usecase-main {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nbt-iot__usecase-row {
    border-radius: 10px;
}
.nbt-iot__usecase-row:hover,
.nbt-iot__usecase-main:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(12,31,78,0.12);
}

/* IoT Jasper donkere kaarten: simpele hover (lift + brighten) */
.nbt-iot-jasper--dark .nbt-iot__jasper-stat {
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.nbt-iot-jasper--dark .nbt-iot__jasper-stat:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,0.3);
    box-shadow: 0 12px 30px rgba(0,0,0,0.25);
}

/* IoT "waarom"-rijen (01/02/03): simpele hover (lift + schaduw) */
.nbt-iot__benefit {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-radius: 10px;
}
.nbt-iot__benefit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(12,31,78,0.12);
}

/* IoT "tijdelijk"-blokken rechts: zelfde lichtblauwe gradient als de secties + kleine hover */
.nbt-iot__temp-steps {
    background: var(--nbt-grad-light);
    border-color: #d3deee;
}
.nbt-iot__temp-steps .nbt-iot__temp-step:hover {
    background: rgba(255,255,255,0.6);
}

/* IoT hero-tegels (Voertuigen/Alarmen/Netwerken/Tablets): kleine hover */
.nbt-iot-hero .nbt-iot__hero-device {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nbt-iot-hero .nbt-iot__hero-device:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(12,31,78,0.12);
}

/* Provider-CTA (KPN/Vodafone/Odido) blijft WIT — was per ongeluk donker geworden
   door de dark-sectie-unificatie, waardoor de donkere knoppen/tekst wegvielen */
.nbt-provider-cta {
    background: #ffffff;
}

/* BP testimonials: avatar zichtbaar maken op de donkere panels (oranje + wit) */
.nbt-page--business-partner .nbt-partner-quote .nbt-testimonial-panel__avatar {
    background: rgba(232,77,28,0.4);
    color: #ffffff;
}

/* ── Testimonials op mobiel: 1 per beeld, handmatig swipen (geen auto-scroll) ──
   Geldt voor alle testimonial-carousels gelijk. Zet de marquee uit en maakt er
   een touch-swipe slider van met scroll-snap, zodat elke quote leesbaar is. */
@media (max-width: 768px) {
    .nbt-testimonials__track-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 16px 0;
    }
    .nbt-testimonials__track-wrap::-webkit-scrollbar {
        display: none;
    }
    .nbt-testimonials__track {
        animation: none !important;
        gap: 14px;
        padding: 0 7vw;
        width: max-content;
    }
    .nbt-testimonial-panel {
        min-width: 86vw;
        max-width: 86vw;
        scroll-snap-align: center;
    }
    .nbt-testimonial-panel__quote {
        font-size: 15px;
        padding: 12px 0;
    }
}
