.site[class*="theme-"] {
    --fz-vendor-button: color-mix(in srgb, var(--site-primary, #1d4ed8) 58%, #0b1729);
    --fz-vendor-ink: color-mix(in srgb, var(--site-accent, #0f172a) 55%, #09203a);
    background: #fff;
}

.site[class*="theme-"] .fz-theme-top { padding: 0; }
.site .fz-theme-top__inner { display: flex; justify-content: space-between; align-items: center; gap: 8px 20px; min-height: 42px; padding-block: 7px; font-size: .83rem; }
.site .fz-theme-top__details { display: flex; flex-wrap: wrap; gap: 6px 20px; overflow-wrap: anywhere; }
.site .fz-theme-top a, .site .fz-theme-top .fz-language-switcher a { color: inherit; }
.site .fz-theme-top a:hover { text-decoration: underline; }
.site .fz-theme-top .fz-language-switcher { padding: 0; }
.site .fz-theme-menu { margin: 0; padding: 0; background: #fff; }
.site .fz-theme-menu .fz-header__inner { position: relative; }
.site .fz-theme-menu .fz-header__action { background: var(--fz-vendor-button); color: #fff; text-decoration: none; }
.site .fz-theme-menu .fz-brand { color: var(--fz-ink); }
.site .fz-theme-menu .fz-nav a { color: var(--fz-ink); }
.site .fz-theme-menu .fz-nav a:hover, .site .fz-theme-menu .fz-nav a[aria-current="page"] { color: var(--fz-vendor-button); }

.site .fz-theme-hero { position: relative; overflow: hidden; margin: 0; isolation: isolate; background: var(--fz-vendor-ink); }
.site .fz-theme-photo { position: absolute; inset: 0; margin: 0; z-index: 0; pointer-events: none; }
.site .fz-theme-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.site .fz-theme-photo figcaption { position: absolute; z-index: 4; right: clamp(12px, 4vw, 38px); bottom: 12px; background: #0b172bea; color: #fff; padding: 3px 9px; font-size: .69rem; line-height: 1.5; }
.site .fz-theme-hero .wrap { position: relative; z-index: 2; }
.site .fz-theme-hero h1 { margin: 0; font-family: var(--fz-display); font-size: clamp(2.4rem, 6vw, 5.3rem); line-height: 1.05; letter-spacing: -.035em; text-transform: none; overflow-wrap: anywhere; }
.site .fz-theme-hero .fz-lead { margin: 20px 0 0; }
.site .fz-theme-hero .fz-kicker { margin: 0 0 15px; }
.site .fz-theme-hero .fz-button { background: var(--fz-vendor-button); color: #fff; text-decoration: none; }
.site .fz-theme-hero .fz-text-link { color: inherit; }
.site .fz-catalogue__layout .fz-section__heading { max-width: none; }
.site .fz-services .fz-service { height: 100%; margin: 0; }

/* Allbiz uses the package's centered full-width slider, two-tier header and outlined service panels. */
.site.theme-allbiz .fz-theme-top { background: #072948; color: #fff; }
.site.theme-allbiz .single-slide { position: relative; }
.site.theme-allbiz .slider-wrapper { display: grid; align-items: center; width: 100%; min-height: clamp(470px, 50vw, 650px); padding-block: clamp(60px, 9vw, 120px); }
.site.theme-allbiz .slider-overlay { background: linear-gradient(100deg, #07192de8, #102b43ac 52%, #081c30bc); }
.site.theme-allbiz .fz-theme-photo { z-index: auto; }
.site.theme-allbiz .slider-text { top: auto; transform: none; color: #fff; }
.site.theme-allbiz .slider-caption { width: min(100%, 820px); }
.site.theme-allbiz .slider-caption h1, .site.theme-allbiz .slider-caption p { color: #fff; }
.site.theme-allbiz .fz-lead { margin-inline: auto; }
.site.theme-allbiz .fz-actions { justify-content: center; }
.site.theme-allbiz .fz-theme-hero .fz-button { border-radius: 2px; background: #fff; color: var(--fz-vendor-ink); }
.site.theme-allbiz .fz-service.inner { text-align: center; border: 1px solid #d9e6f0; border-top: 3px solid var(--fz-vendor-button); padding: clamp(20px, 3.3vw, 40px) 24px; }
.site.theme-allbiz .page-hero { background: #e8f2fb; text-align: center; }
.site.theme-allbiz .page-hero h1, .site.theme-allbiz .page-hero p { margin-inline: auto; }
.site.theme-allbiz .fz-cta { background: #072948; }

/* Plumer's diagonal overlay, left-aligned hero and white service cards follow the supplied package. */
.site.theme-plumer .fz-theme-top { background: #eff5fa; color: #142f48; }
.site.theme-plumer .fz-theme-top::before, .site.theme-plumer .fz-theme-menu::before { display: none; }
.site.theme-plumer .fz-theme-menu { background: #15283a; }
.site.theme-plumer .fz-theme-menu .fz-brand, .site.theme-plumer .fz-theme-menu .fz-nav a { color: #fff; }
.site.theme-plumer .fz-theme-menu .fz-nav a:hover, .site.theme-plumer .fz-theme-menu .fz-nav a[aria-current="page"] { color: #fff; text-decoration: underline; }
.site.theme-plumer .fz-theme-menu .fz-header__action { background: #fff; color: #15283a; }
.site.theme-plumer .themeholy-hero-slide { position: relative; }
.site.theme-plumer .themeholy-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #142638 0%, #142638d6 29%, transparent 79%), url("/website-themes/plumer/hero-overlay.png") center / 100% 100% no-repeat; }
.site.theme-plumer .themeholy-hero-bg img { object-position: 65% 50%; }
.site.theme-plumer .hero-style1 { max-width: min(690px, 63%); min-height: clamp(470px, 49vw, 670px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-block: clamp(60px, 9vw, 118px); color: #fff; }
.site.theme-plumer .hero-style1 h1, .site.theme-plumer .hero-style1 .fz-lead, .site.theme-plumer .hero-style1 .fz-kicker { color: #fff; }
.site.theme-plumer .hero-style1 .fz-button { background: #fff; color: #15283a; }
.site.theme-plumer .fz-catalogue { background: #f1f5f9; }
.site.theme-plumer .fz-catalogue__layout { display: block; }
.site.theme-plumer .fz-services { display: grid; border: 0; }
.site.theme-plumer .fz-service.service-card { display: block; padding: 0; text-align: left; background: #fff; border: 1px solid #dce6ef; border-radius: 10px; }
.site.theme-plumer .fz-service .service-card_content { height: 100%; padding: 27px; border-left: 4px solid var(--fz-vendor-button); border-radius: inherit; filter: none; }
.site.theme-plumer .fz-service .service-card_content::before, .site.theme-plumer .fz-service .service-card_content::after { display: none; }
.site.theme-plumer .fz-service:hover .service-card_text { color: var(--fz-muted); }
.site.theme-plumer .page-hero { background: #15283a; color: #fff; }

/* Beakai pairs its pale top bar and blue-accented service boxes with a light split hero. */
.site.theme-beakai .fz-theme-top { background: #f3f6ff; color: #243b55; }
.site.theme-beakai .fz-theme-hero { background: #eff4f9; color: #132b42; }
.site.theme-beakai .single-slider { position: relative; min-height: auto; }
.site.theme-beakai .fz-theme-photo { inset: 0 0 0 42%; }
.site.theme-beakai .fz-theme-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #eff4f9 8%, #eff4f970 24%, transparent 47%); }
.site.theme-beakai .hero-text { max-width: min(600px, 48%); min-height: clamp(490px, 53vw, 720px); display: flex; flex-direction: column; justify-content: center; padding-block: clamp(60px, 10vw, 130px); }
.site.theme-beakai .hero-text h1 { color: #132b42; }
.site.theme-beakai .hero-text .fz-lead { color: #243e54; max-width: 49ch; }
.site.theme-beakai .hero-text .fz-actions { justify-content: flex-start; }
.site.theme-beakai .fz-button { border-radius: 5px; }
.site.theme-beakai .fz-local-details { border-radius: 0 0 9px 9px; background: #e6eef9; }
.site.theme-beakai .fz-catalogue { background: #f5f7fb; }
.site.theme-beakai .fz-section__heading { justify-content: center; text-align: center; display: block; }
.site.theme-beakai .fz-section__heading p { margin: 12px auto 0; }
.site.theme-beakai .fz-services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site.theme-beakai .fz-service.service-box { background: #fff; padding: 30px; border: 1px solid #dfe8f3; border-radius: 4px; text-align: center; }
.site.theme-beakai .fz-service.service-box:hover { background: #fff; box-shadow: 0 16px 38px #163a6512; }
.site.theme-beakai .page-hero { background: #f0f4fa; }
.site.theme-beakai .fz-cta { background: #223645; border-radius: 5px; }

@media (max-width: 920px) {
    .site.theme-beakai .fz-services, .site.theme-plumer .fz-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .site .fz-theme-top__inner { flex-wrap: wrap; font-size: .74rem; }
    .site .fz-theme-top__details { gap: 3px 12px; }
    .site .fz-theme-menu .fz-header__action { display: none; }
    .site .fz-theme-hero h1 { font-size: clamp(2.25rem, 10vw, 3.4rem); }
    .site.theme-allbiz .slider-wrapper { min-height: 435px; }
    .site.theme-plumer .hero-style1, .site.theme-beakai .hero-text { min-height: auto; max-width: none; padding-block: 45px 30px; }
    .site.theme-plumer .themeholy-hero-bg, .site.theme-beakai .fz-theme-photo { position: relative; inset: auto; height: auto; }
    .site.theme-plumer .themeholy-hero-bg img, .site.theme-beakai .fz-theme-photo img { aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
    .site.theme-plumer .themeholy-hero-bg::after, .site.theme-beakai .fz-theme-photo::after { display: none; }
    .site.theme-plumer .themeholy-hero-slide, .site.theme-beakai .single-slider { display: flex; flex-direction: column-reverse; }
    .site.theme-beakai .fz-services, .site.theme-plumer .fz-services { grid-template-columns: minmax(0, 1fr); }
}
