/* ViVa Computers Belgium, set 01. Colour overrides only; retain RepairIT layout. */
:root {
    --primary-color: #102c46 !important;
    --primary-color-hover: #193e60 !important;
    --color-1st: #102c46 !important;
    --secondary-color: #f7f5f0;
    --accent-color: #efc46b;
    --divider-color: #102c461a;
}

.hero {
    background-image: linear-gradient(110deg, rgba(10, 31, 52, .94), rgba(24, 59, 87, .80)), url('../images/be22-viva-home-background.webp') !important;
}
.page-header,
.page-header.viva-shop-header {
    background-color: #102c46;
    background-image: linear-gradient(110deg, rgba(10,31,52,.86), rgba(16,44,70,.66)), var(--viva-banner-image, url('../images/be22-viva-diensten-header.webp')) !important;
    background-position: center, center 52%;
    background-size: cover;
    background-repeat: no-repeat;
}
.page-header.viva-services-header{--viva-banner-image:url('../images/be22-viva-diensten-header.webp')}
.page-header.viva-repair-header{--viva-banner-image:url('../images/be22-viva-service-computerreparatie.webp')}
.page-header.viva-contact-header,.page-header.viva-about-header,.page-header.viva-reviews-header{--viva-banner-image:url('../images/be22-viva-about-advice.webp');background-position:center,center 38%}
.page-header.viva-hours-header,.page-header.viva-local-header{--viva-banner-image:url('../images/be22-viva-contact-header.webp')}
.page-header.viva-faq-header{--viva-banner-image:url('../images/be22-viva-service-laptopreparatie.webp')}
.page-header.viva-blog-header{--viva-banner-image:url('../images/be22-viva-project-ssd-upgrade.webp')}
.page-header.viva-blog-article-header{--viva-banner-image:var(--viva-blog-cover)}
.page-header.viva-shop-header,.page-header.viva-shop-eset-header{--viva-banner-image:url('../images/be22-viva-service-software-beveiliging.webp')}
.page-header.viva-shop-hosting-header{--viva-banner-image:url('../images/be22-viva-project-backup-data.webp')}
.page-header.viva-legal-header{--viva-banner-image:url('../images/be22-viva-about-background.webp')}
.page-header .page-header-box h1,.page-header .breadcrumb-item,.page-header .breadcrumb-item.active,.page-header .breadcrumb-item a{color:#fff;text-shadow:0 2px 10px #06182755}
.page-header .breadcrumb-item+.breadcrumb-item::before{color:#efc46b}
@media(max-width:767px){.page-header,.page-header.viva-shop-header{background-position:center,center}}
.why-choose-us {
    background-image: linear-gradient(rgba(10, 31, 52, .85), rgba(16, 44, 70, .90)), url('../images/be22-viva-waarom-ons-achtergrond.webp') !important;
}
.main-footer,
.our-testimonials,
.viva-shop-lead,
.viva-shop-products,
.viva-shop-categories,
.viva-shop-help,
.viva-eset-hero,
.viva-eset-business,
.viva-eset-training-hero,
.viva-eset-training-stage,
.viva-hosting-hero {
    background-color: #102c46;
    background-image: radial-gradient(ellipse at 90% 10%, rgba(239, 196, 107, .10), transparent 50%), linear-gradient(120deg, #102c46, #193e60);
}
.viva-wordmark-icon { background: #efc46b; color: #102c46; }
.viva-footer-bottom nav .viva-cookie-settings { background: #efc46b; border-color: #efc46b; color: #102c46; }
.btn-default { color: #102c46; }
.our-testimonials .section-title > p { color: #e4ebf1; }
a:focus-visible, button:focus-visible { outline: 3px solid #bd8424; outline-offset: 4px; }

/* Keep the remote-support additions consistent with the Belgian identity. */
.viva-remote-support__brand { background: linear-gradient(125deg, #102c46, #244c6a); }
.viva-remote-support__device a { color: #193e60; }
.viva-remote-support__brand-name small { color: #efc46b; }

/* Belgian shell around the matching ViVa Support intake. */
.viva-ticket-dialog { background: #102c46; }
.viva-ticket-dialog-topbar { background: #193e60; color: #fff; border-bottom: 1px solid #efc46b55; }
.viva-ticket-dialog-topbar a { color: #efc46b; }
.viva-ticket-dialog-topbar button { color: #fff; }
.viva-contact-ticket {
    background-image: linear-gradient(110deg, rgba(16, 44, 70, .96), rgba(25, 62, 96, .92)), url('../images/be22-viva-contact-ticket-achtergrond.webp');
}
.viva-contact-ticket-heading p, .viva-contact-ticket-fallback { color: #e4ebf1; }
.viva-contact-ticket-heading span, .viva-contact-ticket-fallback a { color: #efc46b; }

/* Blog and regional pages share the Belgian palette without changing layout. */
.page-blog { background-color: #102c46; background-image: linear-gradient(120deg, #102c46ee, #244c6add), url('../images/viva-blog-pattern.svg'); }
.viva-blog-intro { background: linear-gradient(110deg, #102c46ee, #244c6acc), url('../images/viva-blog-pattern.svg') center / cover; }
.viva-local-lead { background: linear-gradient(110deg, #102c46, #244c6a); }
.viva-local-main__aside { background: #193e60; }
.viva-belgium-blog-advice { margin-top: 32px; padding: 26px; border-left: 4px solid #bd8424; border-radius: 12px; background: #f7f5f0; color: #102c46; }
.viva-belgium-blog-advice a { color: #193e60; text-decoration: underline; }
.viva-local-landing .post-item a { color: #193e60; text-decoration: underline; }
.viva-local-landing .post-item { height: 100%; }

/* Complete the Belgian palette across the remaining public sections. */
.viva-about-intro, .viva-about-story, .page-testimonials,
.viva-hours-intro, .viva-hours-schedule, .viva-hours-prepare,
.page-faqs, .viva-legal-page {
    background-color: #102c46;
    background-image: linear-gradient(115deg, #102c46f5, #244c6ae8), var(--viva-section-art, none);
    color: #e4ebf1;
}
.viva-hours-bottom, .viva-faq-bottom, .page-faqs .faq-contact-box,
.viva-legal-summary, .viva-shop-feature-panel, .viva-eset-training-poster,
.viva-eset-jump, .viva-hosting-jump, .viva-hosting-cloud {
    background: linear-gradient(115deg, #102c46, #193e60);
    color: #e4ebf1;
}
.viva-about-intro p, .viva-about-story p, .viva-reviews-intro p,
.viva-hours-intro p, .viva-hours-prepare > .container > p,
.viva-hours-schedule .viva-hours-section-head p { color: #e4ebf1; }
.viva-hours-bottom h2, .viva-faq-bottom h2, .page-faqs .faq-contact-box h3,
.viva-shop-feature-panel h2, .viva-hosting-cloud h2 { color: #fff; }
.viva-legal-content { background: #f7f5f0; color: #102c46; }
.viva-legal-content h2, .viva-legal-content h3 { color: #102c46; }
.viva-legal-content > a, .viva-legal-content p > a,
.page-testimonials .testimonial-content a { color: #193e60; }
.viva-legal-summary h2, .viva-legal-summary p { color: #fff; }
.viva-legal-content .viva-legal-summary a { color: #efc46b; }
.viva-legal-switch a { color: #193e60; }
.viva-legal-switch a.active, .viva-legal-switch a:hover { color: #102c46; background: #efc46b; border-color: #efc46b; }
.viva-hours-ticket-card { background: #193e60; color: #fff; }
.viva-hours-ticket-card h3, .viva-hours-ticket-card p { color: #fff; }
.viva-hours-ticket-card a, .viva-hours-bottom a:not(.btn-default) { color: #efc46b; }
.viva-shop-page { color: #102c46; }
.viva-shop-feature .viva-shop-text-link, .viva-shop-product-fit,
.viva-eset-home-info .viva-shop-text-link { color: #193e60; }
.viva-eset-table thead th { background: #193e60; }
.viva-eset-table tbody td { color: #193e60; }
.viva-eset-sales .viva-shop-product-art { background: radial-gradient(circle at center, #efc46b22, transparent 65%), linear-gradient(135deg, #102c46, #244c6a); }
.viva-shop-product-badge { background: #e4eaf0; color: #193e60; }

.viva-eset-training [hidden] { display: none !important; }
.viva-training-controls { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 20px; color: #e4ebf1; }
.viva-training-controls p { flex: 1 1 300px; margin: 0; }
.viva-training-fullscreen { border: 0; cursor: pointer; }
.viva-eset-training-frame iframe:fullscreen { width: 100vw; height: 100vh; border: 0; background: #102c46; }

/* All three support actions remain available on phones. */
@media (max-width: 1439px) {
    .main-header .navbar .main-menu { display: none !important; }
    .main-header .navbar-toggle, .main-header .responsive-menu { display: block; }
}
@media (max-width: 767px) {
    .viva-header-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .viva-header-actions .header-btn { display: block; grid-column: 1 / -1; }
    .viva-header-actions .header-btn .btn-default { display: block; width: 100%; text-align: center; }
    #viva-remote-support-devices { scroll-margin-top: 240px; }
}
.viva-skip-link{position:fixed;top:12px;left:12px;z-index:100000;padding:14px 20px;border-radius:8px;background:#102c46;color:#fff;font-weight:700;transform:translateY(-180%)}
.viva-skip-link:focus{transform:translateY(0);color:#fff;outline:3px solid #f3c86b;outline-offset:3px}
#page-wrap:focus{outline:none}
input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #bd8424;outline-offset:4px}
.viva-contact-prepare{display:flex;align-items:center;gap:28px;padding:24px 28px;margin:28px 0 40px;border:1px solid #dce3e9;border-radius:16px;background:#fff;color:#405568}
.viva-contact-prepare h2{font-size:1.25rem;line-height:1.4;color:#102c46;margin:0 0 10px}
.viva-contact-prepare p{margin:0 0 8px}
.viva-contact-prepare a{flex:0 0 auto;color:#163e5b;text-decoration:underline;font-weight:700}
@media(max-width:767px){.viva-contact-prepare{align-items:flex-start;flex-direction:column;padding:22px;gap:12px}}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto!important}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
    .wow,.reveal,.reveal img,.text-anime-style-1 div,.text-anime-style-2 div,.text-anime-style-3 div{opacity:1!important;visibility:visible!important;transform:none!important}
    .preloader,.mouse-cursor,.cb-cursor{display:none!important}
}
.viva-next-step{padding:64px 0;background:#f7f5f0;color:#405568}
.viva-next-step-heading{max-width:850px;margin-bottom:28px}
.viva-next-step-heading>span{display:block;margin-bottom:12px;color:#80601d;font-size:.75rem;font-weight:700;letter-spacing:.09em}
.viva-next-step h2{color:#102c46;font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0 0 16px}
.viva-next-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.viva-next-step-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid #dce3e9;border-radius:16px;background:#fff;min-width:0}
.viva-next-step-number{font-size:1.6rem;color:#80601d;font-weight:700;margin-bottom:12px}
.viva-next-step h3{color:#102c46;font-size:1.2rem;line-height:1.35;margin:0 0 12px}
.viva-next-step p{line-height:1.75}
.viva-next-step-grid article>a{margin-top:auto;padding-top:14px}
.viva-next-step a,.viva-service-preparation a{color:#163e5b;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.viva-next-step-note{margin:24px 0 0;max-width:1000px}
.viva-service-preparation{padding:26px;margin:28px 0;border:1px solid #dce3e9;border-left:4px solid #efc46b;border-radius:12px;background:#fff;color:#405568}
.viva-service-preparation h2{font-size:1.4rem;line-height:1.35;color:#102c46;margin:0 0 12px}
.viva-service-preparation p{line-height:1.75;margin-bottom:16px}
.viva-local-directory{background:#fff;color:#405568}
.viva-local-directory h2{color:#102c46}
.viva-local-directory__links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.viva-local-directory__links a{border:1px solid #dce3e9;background:#f7f5f0;color:#163e5b;border-radius:8px;padding:12px 16px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:991px){.viva-next-step-grid{grid-template-columns:1fr}.viva-next-step{padding:44px 0}.viva-next-step-grid article{padding:24px}}
.viva-faq-contact-card .viva-service-phone{margin-top:16px;color:#405568;font-size:.95rem;line-height:1.8}
.viva-faq-contact-card .viva-service-phone a{color:#163e5b;text-decoration:underline;white-space:nowrap}
.viva-service-help-box .viva-service-phone,.viva-blog-aside-contact .viva-service-phone{line-height:1.8}
.viva-service-phone a{display:inline-block;text-underline-offset:3px}
.our-scrolling-ticker .scrolling-content{color:#102c46}
@media(max-width:767px){.viva-service-help-box .viva-service-phone a{display:block}}
.viva-consent-banner[hidden],.viva-external-placeholder[hidden],iframe[hidden]{display:none!important}
.viva-consent-banner{position:fixed;inset:auto 18px 18px auto;z-index:100000;width:min(560px,calc(100% - 36px));max-height:85vh;overflow:auto;padding:26px;background:#102c46;color:#fff;border:1px solid #efc46b;border-radius:16px;box-shadow:0 12px 50px #0004}
.viva-consent-banner h2{color:#fff;font-size:1.5rem;margin:0 0 12px}
.viva-consent-banner p,.viva-consent-dialog p{line-height:1.6;margin:0 0 14px}
.viva-consent-banner a{color:#efc46b;text-decoration:underline}
.viva-consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.viva-consent-actions button{flex:1 1 140px;min-height:48px;padding:12px;border:2px solid #efc46b;border-radius:8px;background:#efc46b;color:#102c46;font:inherit;font-weight:700;cursor:pointer}
.viva-consent-dialog{width:min(720px,calc(100% - 32px));max-height:90vh;overflow:auto;padding:30px;border:1px solid #efc46b;border-radius:16px;background:#fff;color:#405568}
.viva-consent-dialog::backdrop{background:#102c46bb}
.viva-consent-dialog h2,.viva-consent-dialog legend{color:#102c46}
.viva-consent-dialog fieldset{padding:16px;margin:18px 0;border:1px solid #dce3e9;border-radius:10px}
.viva-consent-dialog legend{font-size:1.1rem;font-weight:700;float:none;width:auto;padding:0 8px}
.viva-consent-dialog label{display:flex;gap:12px;align-items:flex-start;color:#102c46}
.viva-consent-dialog input{width:20px;height:20px;flex:0 0 20px;accent-color:#102c46}
.viva-consent-status{position:fixed;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.viva-external-placeholder{padding:22px;background:#f7f5f0;color:#405568;border:1px solid #dce3e9;border-radius:12px;line-height:1.7}
.viva-external-placeholder button{padding:8px 12px;border:1px solid #163e5b;border-radius:6px;background:#fff;color:#163e5b;font:inherit;cursor:pointer}
.viva-legal-table-wrap{overflow-x:auto;margin:24px 0}
.viva-legal-table-wrap table{width:100%;min-width:600px;border-collapse:collapse}
.viva-legal-table-wrap th,.viva-legal-table-wrap td{padding:14px;vertical-align:top;border:1px solid #dce3e9}
.viva-legal-table-wrap th{background:#102c46;color:#fff}
.viva-legal-tools{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.viva-legal-tools a,.viva-legal-tools button{padding:12px 18px;min-height:48px;border:1px solid #163e5b;border-radius:8px;background:#fff;color:#163e5b;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.viva-legal-index[hidden]{display:none}
.viva-legal-index{padding:24px;margin:24px 0;border:1px solid #dce3e9;border-radius:12px;background:#fff}
.viva-legal-index h2{font-size:1.2rem;color:#102c46;margin:0 0 14px}
.viva-legal-index ol{columns:2;column-gap:30px;padding-left:24px;margin:0}
.viva-legal-index li{break-inside:avoid;padding:4px 0}
.viva-legal-index a{color:#163e5b;text-decoration:underline;text-underline-offset:3px}
.viva-legal-content>h2{scroll-margin-top:160px}
.viva-ticket-load-status{color:#405568;font-size:.95rem;line-height:1.6}
@media(max-width:767px){.viva-legal-index ol{columns:1}.viva-legal-content>h2{scroll-margin-top:240px}}
@media print{
    @page{margin:18mm}
    html,body,#page-wrap,.viva-legal-page{background:#fff!important;color:#000!important;overflow:visible!important}
    .main-header,.main-footer,.page-header,.viva-legal-tools,.viva-legal-switch,.viva-legal-index,.viva-legal-help,.viva-consent-banner,.viva-consent-dialog,.viva-skip-link,.preloader,.grecaptcha-badge,.viva-ticket-dialog,.viva-consent-status,#admin_bar,.admin-bar{display:none!important}
    .viva-legal-page{padding:0!important}
    .viva-legal-page .container{max-width:none!important;width:100%!important;padding:0!important}
    .viva-legal-page h2,.viva-legal-page h3{color:#000!important;break-after:avoid}
    .viva-legal-content{font-size:11pt;line-height:1.5}
    .viva-legal-summary{background:#fff!important;color:#000!important;border:1px solid #999;padding:12pt}
    .viva-legal-content a{color:#000!important;text-decoration:underline}
    .viva-legal-content a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;overflow-wrap:anywhere}
    .viva-legal-table-wrap{overflow:visible}
    .viva-legal-table-wrap table{min-width:0;font-size:9pt}
}
.viva-legal-print-title{display:none}
@media print{
    .viva-legal-print-title{display:block;font-size:16pt;font-weight:700;margin:0 0 18pt;color:#000}
    .viva-legal-page[data-viva-print-source]::after{display:block;content:"Online bron: " attr(data-viva-print-source);font-size:9pt;color:#000;border-top:1px solid #999;margin-top:20pt;padding-top:8pt;overflow-wrap:anywhere}
    .viva-legal-content button{border:0!important;background:none!important;color:#000!important;padding:0!important;font:inherit}
    .viva-legal-table-wrap th{background:#eee!important;color:#000!important}
    .viva-legal-table-wrap thead{display:table-header-group}
    .viva-legal-table-wrap tr{break-inside:avoid}
}
.viva-footer-bottom .viva-footer-area-note{margin:22px 0 18px}
.viva-footer-bottom .viva-footer-area-link{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;padding:10px 14px;border:1px solid #efc46b66;border-radius:8px;background:#ffffff05;color:#efc46b;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.viva-footer-bottom .viva-footer-area-link svg{flex:0 0 18px}
.viva-footer-bottom .viva-footer-area-link span:first-of-type{text-align:left}
.viva-footer-bottom .viva-footer-area-link:hover{background:#efc46b14;border-color:#efc46b;color:#ffe0a0}
.viva-footer-bottom .viva-footer-area-link:focus-visible{outline:3px solid #efc46b;outline-offset:4px;color:#ffe0a0}
.viva-footer-area-arrow{margin-left:4px;flex:0 0 auto}
@media(max-width:480px){.viva-footer-bottom .viva-footer-area-link{font-size:13px;gap:8px;padding:10px 12px}}
/* Complete Belgian section colours, including inherited secondary action blocks. */
.viva-reviews-cta,.viva-about-values,.viva-about-visit{background:linear-gradient(105deg,rgba(16,44,70,.97),rgba(36,76,106,.89)),url('../images/be22-viva-waarom-ons-achtergrond.webp') center/cover;color:#e4ebf1}
.viva-reviews-cta h2,.viva-about-values h2,.viva-about-visit h2{color:#fff}
.viva-reviews-cta p,.viva-about-visit p{color:#e4ebf1}
.viva-reviews-cta .viva-reviews-eyebrow,.viva-about-values .viva-about-eyebrow,.viva-about-visit .viva-about-eyebrow{color:#efc46b}
.viva-faq-contact-card,.viva-about-photo-caption,.viva-eset-training-hero-art{background:#193e60;color:#fff}
.viva-faq-contact-card .viva-service-phone{color:#e4ebf1}
.viva-faq-contact-card .viva-service-phone a{color:#efc46b}
.viva-contact-map,.viva-hosting-steps,.viva-eset-training-teaser{background:radial-gradient(ellipse at 90% 10%,#efc46b14,transparent 50%),linear-gradient(120deg,#102c46,#193e60);color:#e4ebf1}
.viva-eset-training-teaser p,.viva-eset-training-teaser small{color:#e4ebf1}
.viva-contact-inline-link,.viva-hours-contact-card>a{color:#193e60}
.viva-reviews-list-heading a{color:#efc46b}
.viva-hours-intro-photo>div{background:linear-gradient(0deg,#102c46f5,#102c4680);color:#fff}
.viva-blog-categories,.viva-blog-tags a{background:#f7f5f0;color:#193e60}
.viva-blog-category-links a{color:#193e60}
.viva-blog-category-links a:hover,.viva-blog-category-links a.active{background:#efc46b;color:#102c46}
.service-image figure::before{background:linear-gradient(180deg,#102c4600 40%,#102c46c7 79%,#102c46f5 100%)}
.viva-belgium-directory{margin-top:0;padding:64px 0;background:#f7f5f0}
.viva-belgium-directory-heading{max-width:860px;margin-bottom:30px}
.viva-belgium-directory-heading>span,.viva-next-step-contact>div>span{display:block;font-size:12px;letter-spacing:.1em;font-weight:700;color:#80601d;margin-bottom:12px}
.viva-belgium-directory-heading h2{font-size:clamp(28px,3vw,38px);line-height:1.25;margin:0 0 16px}
.viva-belgium-directory-heading p{line-height:1.75;margin:0}
.viva-belgium-directory .viva-belgium-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 28px}
.viva-belgium-directory .viva-belgium-place-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:170px;padding:24px;background:#fff;border:1px solid #dce3e9;border-radius:14px;text-decoration:none;color:#102c46;box-shadow:0 8px 22px #102c4606}
.viva-belgium-place-card>span{font-size:13px;font-weight:400;color:#526477}
.viva-belgium-place-card strong{font-size:23px;line-height:1.2}
.viva-belgium-place-card small{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;font-size:13px;color:#193e60;font-weight:600}
.viva-belgium-directory .viva-belgium-place-card:hover{border-color:#bd8424;background:#fffaf0}
.viva-belgium-directory .viva-belgium-place-card--area{background:#102c46;color:#fff;border-color:#102c46}
.viva-belgium-place-card--area>span,.viva-belgium-place-card--area small{color:#efc46b}
.viva-belgium-directory .viva-belgium-place-card--area:hover{background:#193e60;color:#fff}
.viva-belgium-directory-note{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px;border-left:3px solid #efc46b;border-radius:0 12px 12px 0;background:#fff}
.viva-belgium-directory-note p{max-width:850px;margin:0;line-height:1.7;font-size:14px}
.viva-belgium-directory-note>a{flex:0 0 auto;color:#193e60;text-decoration:underline;font-weight:700}
.viva-next-step-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding:28px 32px;border:1px solid #dce3e9;border-radius:14px;background:#fff}
.viva-next-step-contact h3{font-size:24px;margin-bottom:8px}
.viva-next-step-contact p{margin:0}
.viva-next-step-contact>.btn-default{flex:0 0 auto;text-decoration:none;color:#102c46}
@media(max-width:991px){.viva-belgium-directory .viva-belgium-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viva-belgium-directory-note{align-items:flex-start;flex-direction:column;gap:16px}.viva-next-step-contact{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:575px){.viva-belgium-directory{padding:44px 0}.viva-belgium-directory .viva-belgium-directory-grid{grid-template-columns:1fr}.viva-belgium-directory .viva-belgium-place-card{min-height:145px;padding:22px}.viva-next-step-contact{padding:24px}.viva-next-step-contact>.btn-default{width:100%;text-align:center}}

/* Set 24: Belgian pc choice helper and finishing. */
.viva-pc-builder__jump{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 25px 0;
    padding: 13px 19px;
    border-radius: 10px;
    background: var(--accent-color);
    color: var(--primary-color);
    font-weight: 700;
}
.viva-pc-builder{
    scroll-margin-top: 130px;
    margin-top: 55px;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid #dce3e9;
    border-radius: 22px;
    background: #f7f5f0;
}
.viva-pc-builder__eyebrow{
    display: block;
    margin-bottom: 10px;
    color: #80601d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.viva-pc-builder h2{
    margin-bottom: 14px;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
}
.viva-pc-builder__intro p{max-width: 760px;}
.viva-pc-builder__open{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 12px;
    padding: 14px 20px;
    border: 0;
    border-radius: 10px;
    background: var(--accent-color);
    color: var(--primary-color);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.viva-pc-builder__dialog{
    width: min(980px, calc(100vw - 28px));
    max-width: none;
    max-height: min(92vh, 1100px);
    padding: 0;
    border: 1px solid #dce3e9;
    border-radius: 20px;
    background: #f7f5f0;
    color: var(--primary-color);
    overflow: auto;
    box-shadow: 0 30px 90px rgba(0,0,0,.4);
}
.viva-pc-builder__dialog::backdrop{background: rgba(10,31,52,.8);}
.viva-pc-builder__dialog-topbar{
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 28px;
    border-bottom: 1px solid #dce3e9;
    background: #f7f5f0;
}
.viva-pc-builder__dialog-topbar .viva-pc-builder__eyebrow{margin-bottom: 3px;}
.viva-pc-builder__dialog-topbar h2{margin: 0; font-size: clamp(22px, 3vw, 30px);}
.viva-pc-builder__dialog-topbar > button{
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border: 1px solid #c9d4de;
    border-radius: 50%;
    background: #fff;
    color: var(--primary-color);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.viva-pc-builder__dialog-body{padding: 0 28px 28px;}
.viva-pc-builder__form{
    display: grid;
    gap: 18px;
    margin-top: 26px;
}
.viva-pc-builder__fields{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.viva-pc-builder__form label{
    display: grid;
    gap: 8px;
    color: var(--primary-color);
    font-weight: 700;
}
.viva-pc-builder__group{
    min-width: 0;
    margin: 2px 0;
    padding: 22px;
    border: 1px solid #dce3e9;
    border-radius: 16px;
    background: #fff;
}
.viva-pc-builder__group legend{
    padding: 0 8px;
    color: var(--primary-color);
    font-size: 22px;
    font-weight: 800;
}
.viva-pc-builder__group > p{margin: 0 0 18px;}
.viva-pc-builder__routes{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;}
.viva-pc-builder__routes label{
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-height: 116px;
    padding: 16px;
    border: 1px solid #c9d4de;
    border-radius: 12px;
    background: #f7f5f0;
    cursor: pointer;
    font-weight: 400;
}
.viva-pc-builder__routes label:has(input:checked){border-color: #193e60; background: #fff7e3; box-shadow: inset 0 0 0 1px #193e60;}
.viva-pc-builder__routes input{flex: 0 0 auto; width: 18px !important; min-height: 18px !important; margin: 3px 0 0; padding: 0; accent-color: #193e60;}
.viva-pc-builder__routes span{display: grid; gap: 5px; line-height: 1.45;}
.viva-pc-builder__routes strong{font-size: 16px;}
.viva-pc-builder__form select,
.viva-pc-builder__form input,
.viva-pc-builder__form textarea{
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #c9d4de;
    border-radius: 10px;
    background: #fff;
    color: var(--primary-color);
    font: inherit;
    font-weight: 400;
}
.viva-pc-builder__form textarea{resize: vertical;}
.viva-pc-builder__result{
    display: grid;
    gap: 12px;
    padding: 22px;
    border-radius: 16px;
    background: #102c46;
    color: #fff;
}
.viva-pc-builder__result label{color: #fff;}
.viva-pc-builder__result textarea{background: #fff;}
.viva-pc-builder__actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.viva-pc-builder__actions button,
.viva-pc-builder__actions a,
.viva-pc-builder__external > a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 45px;
    padding: 10px 17px;
    border: 0;
    border-radius: 10px;
    background: var(--accent-color);
    color: var(--primary-color);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.viva-pc-builder__actions a{
    border: 1px solid var(--accent-color);
    background: transparent;
    color: var(--accent-color);
}
.viva-pc-builder__result p{margin: 0; color: #e4ebf1; font-size: 13px;}
.viva-pc-builder__external{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 20px;
    padding: 23px;
    border: 1px solid #dce3e9;
    border-radius: 16px;
    background: #fff;
}
.viva-pc-builder__external h3{margin-bottom: 8px; font-size: 23px;}
.viva-pc-builder__external p{margin: 0;}
.viva-pc-builder__external > a{flex: 0 0 auto; white-space: nowrap;}
.viva-pc-builder__note{margin: 18px 0 0; font-size: 13px;}


.viva-pc-builder__group legend{float:none;width:auto;line-height:1.4}
.viva-pc-builder__dialog h2,.viva-pc-builder__dialog h3{color:#102c46}
.viva-pc-builder__compare{display:inline-block;margin:14px 0 0 16px;color:#193e60;text-decoration:underline;font-weight:700}
.viva-pc-builder__actions a:hover{background:#efc46b;color:#102c46}
.viva-pc-builder__dialog input,.viva-pc-builder__dialog textarea{min-width:0}
.viva-pc-builder__dialog a{overflow-wrap:anywhere}
@media(max-width:767px){
.viva-pc-builder__dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:16px}
.viva-pc-builder__dialog-topbar{padding:16px}
.viva-pc-builder__dialog-body{padding:0 16px 24px}
.viva-pc-builder__fields,.viva-pc-builder__routes{grid-template-columns:1fr}
.viva-pc-builder__routes label{min-height:0}
.viva-pc-builder__group{padding:16px}
.viva-pc-builder__external{align-items:flex-start;flex-direction:column;padding:18px}
.viva-pc-builder__compare{display:block;margin:16px 0 0}
.viva-pc-builder__actions>*{width:100%}
}

/* A quiet, practical reassurance panel, keeping the existing page structure. */
.viva-be-assurance{display:grid;grid-template-columns:1fr 1.35fr;overflow:hidden;margin:40px 0;border:1px solid #dce3e9;border-radius:20px;background:#fff;color:#405568}
.viva-be-assurance>img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center 40%}
.viva-be-assurance__body{padding:clamp(24px,4vw,42px)}
.viva-be-assurance__body>span{display:block;margin-bottom:12px;color:#80601d;font-size:12px;letter-spacing:.09em;font-weight:700}
.viva-be-assurance h2{color:#102c46;font-size:clamp(26px,3vw,34px);line-height:1.2;margin:0 0 18px}
.viva-be-assurance ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.viva-be-assurance li{padding-left:22px;position:relative;line-height:1.7}
.viva-be-assurance li:before{content:'✓';position:absolute;left:0;color:#80601d;font-weight:700}
.viva-be-assurance strong{color:#102c46}
.viva-be-assurance a{display:inline-block;margin-top:22px;color:#193e60;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.viva-be-service-intro{max-width:850px;margin:0 0 32px;color:#405568;line-height:1.75}
.viva-be-service-intro h2{font-size:clamp(28px,3vw,38px);line-height:1.2;color:#102c46;margin-bottom:14px}
@media(max-width:767px){.viva-be-assurance{grid-template-columns:1fr;margin:28px 0}.viva-be-assurance>img{height:210px;min-height:0;object-position:center 35%}.service-image img{object-position:center}.viva-next-step-grid article>a{min-height:44px;display:inline-flex;align-items:center}.viva-footer-area-link{width:100%}}

.viva-be-research{margin:40px 0;padding:clamp(22px,4vw,36px);background:#fff;border:1px solid #dce3e9;border-radius:18px;color:#405568}
.viva-be-research__eyebrow{display:block;color:#80601d;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}
.viva-be-research h2{color:#102c46;font-size:clamp(26px,3vw,34px);line-height:1.25;margin:0 0 16px}
.viva-be-research p{line-height:1.75}
.viva-be-research__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.viva-be-research__grid>div{padding:22px;background:#f7f5f0;border-radius:12px}
.viva-be-research__grid h3{font-size:18px;line-height:1.4;color:#102c46;margin:0 0 14px}
.viva-be-research__grid strong{display:block;font-size:32px;color:#102c46;line-height:1.2;margin-bottom:10px}
.viva-be-research__grid span{font-size:13px;line-height:1.6;display:block}
.viva-be-research .viva-be-research__note{font-size:14px;margin:0}
@media(max-width:575px){.viva-be-research__grid{grid-template-columns:1fr}.viva-be-research{margin:28px 0}}

/* Set 25: Belgian tariff overview. */
.viva-tarieven{background: #f7f5f0; color: #102c46;}
.viva-tarieven__hero{padding: clamp(65px, 8vw, 110px) 0; background: radial-gradient(circle at 82% 20%, #244c6a 0, transparent 34%), linear-gradient(135deg, #102c46, #193e60); color: #fff;}
.viva-tarieven__hero-grid{display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); align-items: center; gap: clamp(30px, 6vw, 90px);}
.viva-tarieven__eyebrow{display: block; margin-bottom: 14px; color: #efc46b; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;}
.viva-tarieven__hero h2{max-width: 680px; margin: 0 0 20px; color: #fff; font-size: clamp(42px, 5vw, 70px); line-height: 1.04;}
.viva-tarieven__hero p{max-width: 660px; margin-bottom: 27px; color: #e4ebf1; font-size: 17px; line-height: 1.7;}
.viva-tarieven__button{display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 12px 19px; border-radius: 10px; background: #efc46b; color: #102c46; font-weight: 800; text-decoration: none;}
.viva-tarieven__button:hover{background: #ffe29a; color: #102c46;}
.viva-tarieven__promise{display: grid; gap: 12px;}
.viva-tarieven__promise > div{display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; padding: 17px 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(255,255,255,.07);}
.viva-tarieven__promise span{grid-row: span 2; color: #efc46b; font-weight: 900;}
.viva-tarieven__promise strong{color: #fff; font-size: 17px;}
.viva-tarieven__promise p{margin: 3px 0 0; font-size: 14px;}
.viva-tarieven__nav{display: flex; flex-wrap: wrap; gap: 9px; padding: 30px 0;}
.viva-tarieven__nav a{padding: 8px 12px; border: 1px solid #dce3e9; border-radius: 100px; background: #fff; color: #193e60; font-size: 13px; font-weight: 700; text-decoration: none;}
.viva-tarieven__nav a:hover{border-color: #193e60; color: #193e60;}
.viva-tarieven__notice{padding: 23px 27px; border-left: 5px solid #efc46b; border-radius: 0 13px 13px 0; background: #edf1f5;}
.viva-tarieven__notice strong{font-size: 20px;}
.viva-tarieven__notice p{margin: 8px 0 0; line-height: 1.7;}
.viva-tarieven__section{scroll-margin-top: 120px; padding: 70px 0 0;}
.viva-tarieven__section-head{display: grid; grid-template-columns: 65px 1fr; gap: 16px; max-width: 850px; margin-bottom: 25px;}
.viva-tarieven__section-head > span{color: #80601d; font-size: 20px; font-weight: 900;}
.viva-tarieven__section-head h2{margin: 0 0 9px; font-size: clamp(30px, 3vw, 42px); line-height: 1.15;}
.viva-tarieven__section-head p{margin: 0; line-height: 1.7;}
.viva-tarieven__items{display: grid; gap: 10px;}
.viva-tarieven__item{display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 25px; border: 1px solid #dce3e9; border-radius: 14px; background: #fff;}
.viva-tarieven__item h3{margin: 0 0 5px; font-size: 18px; line-height: 1.3;}
.viva-tarieven__item p{margin: 0; color: #405568; font-size: 14px; line-height: 1.55;}
.viva-tarieven__amount{flex: 0 0 165px; display: grid; justify-items: end; gap: 5px; text-align: right;}
.viva-tarieven__amount span{padding: 3px 8px; border-radius: 100px; background: #fff7e3; color: #193e60; font-size: 11px; font-weight: 800; text-transform: uppercase;}
.viva-tarieven__amount strong{font-size: 22px; white-space: nowrap;}
.viva-tarieven__closing{display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: 75px 0; padding: clamp(25px, 4vw, 45px); border-radius: 20px; background: #102c46; color: #fff;}
.viva-tarieven__closing h2{margin: 0 0 8px; color: #fff; font-size: clamp(28px, 3vw, 40px);}
.viva-tarieven__closing p{max-width: 650px; margin: 0; color: #e4ebf1;}
.viva-tarieven__closing .viva-tarieven__button{flex: 0 0 auto;}
.viva-service-tarieven-link{display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 25px; padding: 16px 18px; border: 1px solid #dce3e9; border-radius: 12px; background: #f7f5f0; color: #102c46; text-decoration: none;}
.viva-service-tarieven-link span:first-child{display: grid; gap: 4px;}
.viva-service-tarieven-link strong{font-size: 16px;}
.viva-service-tarieven-link small{font-size: 13px;}
.viva-service-tarieven-link:hover{border-color: #193e60; color: #193e60;}
@media(max-width:767px){
    .viva-tarieven__hero-grid{grid-template-columns: 1fr;}
    .viva-tarieven__hero{padding: 60px 0;}
    .viva-tarieven__nav{padding: 20px 0;}
    .viva-tarieven__section{padding-top: 52px;}
    .viva-tarieven__section-head{grid-template-columns: 42px 1fr;}
    .viva-tarieven__item{align-items: flex-start; flex-direction: column; gap: 14px;}
    .viva-tarieven__amount{flex: 0 0 auto; justify-items: start; text-align: left;}
    .viva-tarieven__closing{align-items: flex-start; flex-direction: column; margin: 55px 0;}
}

.viva-tarieven__hero{background:linear-gradient(110deg,#102c46ed,#193e60d9),url('../images/be22-viva-about-background.webp') center/cover}
.viva-tarieven__section-head h2,.viva-tarieven__item h3{color:#102c46}
.viva-tarieven__button:focus-visible,.viva-tarieven__nav a:focus-visible{outline:3px solid #80601d;outline-offset:4px}
.viva-tarieven__nav a{min-height:44px;display:inline-flex;align-items:center}
.viva-be-research__all{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:18px;color:#193e60;font-weight:700;text-decoration:underline;text-underline-offset:4px}
#tarieven-overzicht{scroll-margin-top:130px}
@media(max-width:767px){.viva-tarieven__section{scroll-margin-top:220px}#tarieven-overzicht{scroll-margin-top:220px}.viva-tarieven__hero h2{font-size:clamp(32px,8vw,46px)}.viva-tarieven__hero-grid{min-width:0}.viva-tarieven__item,.viva-tarieven__notice{padding:20px}.viva-tarieven__amount strong{white-space:normal}}


/* Set 26: quick contact stays reachable on phones, without covering dialogs or the menu. */
.viva-mobile-contact{display:none}
@media(max-width:767px){
body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.viva-mobile-contact{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;position:fixed;inset:auto 0 0;z-index:900;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #efc46b55;background:#102c46;box-shadow:0 -4px 18px #102c4622}
.viva-mobile-contact a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:1px solid #efc46b;border-radius:9px;color:#efc46b;font-size:14px;line-height:1.4;font-weight:700;text-decoration:none}
.viva-mobile-contact a:last-child{background:#efc46b;color:#102c46}
.viva-mobile-contact a:focus-visible{outline:3px solid #fff;outline-offset:3px}
body:has(dialog[open]) .viva-mobile-contact,body:has(.slicknav_nav[aria-hidden="false"]) .viva-mobile-contact{display:none}
}
@media print{body{padding-bottom:0!important}.viva-mobile-contact{display:none!important}}

/* Set 27: answers sit on pale cards, independently of the dark section colour. */
.page-faq-accordion .accordion-item{background:#fff;color:#405568}
.page-faq-accordion .accordion-item .accordion-body{background:#fff;color:#405568}
.page-faq-accordion .accordion-item .accordion-body p,
.page-faqs .page-faq-accordion .accordion-item .accordion-body p{color:#405568}
.page-faq-accordion .accordion-item .accordion-body a{color:#193e60;text-decoration:underline;text-underline-offset:3px}
.page-faq-accordion .accordion-item .accordion-button{color:#102c46}
.page-faq-accordion .accordion-item .accordion-button:not(.collapsed){color:#102c46;background:#ffefd0}

/* Set 28: clear local pricing links and explicit local FAQ contrast. */
.viva-local-cost-link{margin:20px 0 0}
.viva-local-cost-link a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#efc46b;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.viva-local-faq details p{color:#405568}
.viva-local-faq details p a{color:#193e60;text-decoration:underline;text-underline-offset:3px}
.viva-local-lead__image img{height:100%;object-fit:cover}
@media(max-width:767px){.viva-local-lead__image img{height:auto}.viva-local-cost-link a{font-size:14px}}
