/* =============================================================================
   GASTROLINE — B2B HEADER REDESIGN
   All new header overrides go here. Loaded after style.css.
   ============================================================================= */

/* ─── VARIABLES ─────────────────────────────────────────────────────────────── */
:root {
    --hdr-red:      #b80000;
    --hdr-navy:     #003b6b;
    --hdr-navy-dk:  #002a4f;
    --hdr-dark:     #0c1c2e;
    --hdr-nav-bg:   #0c1c2e;
    --hdr-white:    #ffffff;
    --hdr-gray-bg:  #f5f6f7;
    --hdr-gray-brd: #e2e4e7;
    --hdr-text-sm:  #5a6270;
    --hdr-body:     #1a2333;
    --hdr-muted:    #5d6b7a;
    --hdr-font:     "Avenir Next", "Avenir", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --hdr-radius:   4px;
    --hdr-transition: 0.2s ease;
    /* Top utility bar — navy gradient (brand #003b6b). */
    --hdr-topbar-gradient: linear-gradient(135deg, #002a4f 0%, #003b6b 42%, #0a5690 100%);
    /* Fluid base copy — min ~16px, max 24px (= 1.5rem when root is 16px). Use for body or em-based scaling. */
    --gl-body-font: clamp(16px, 14px + 0.55vw, 24px);
    --gl-site-max: 1280px;
    --gl-page-footer-gap: 25px;

    /* ── Z-INDEX SCALE ───────────────────────────────────────────────────────
       Single ladder for every stacked layer in the theme. Always reference the
       token (with the literal as var() fallback) rather than a bare number, so
       collisions stay visible in one place.

         100   in-page overlays (badges, ribbons, mobile sticky bars)
         1000  sticky header                    .hdr-main
         1010  header dropdown owners           .hdr-actions / .hdr-user-menu
         9999  header search dropdown (docked)  .hdr-search-form__dropdown
         99999 third-party search suggestions   .dgwt-wcas-suggestions-wrapp
        100002 header search dropdown (fixed)   .hdr-search-form__dropdown.is-fixed
        100050 auth modal — must outrank every dropdown above
        100100 skip link — declared in style.css, must stay top of the ladder
       ───────────────────────────────────────────────────────────────────── */
    --gl-z-header-sticky:   1000;
    --gl-z-header-dropdown: 1010;
    --gl-z-dropdown:        9999;
    --gl-z-dropdown-plugin: 99999;
    --gl-z-dropdown-fixed:  100002;
    --gl-z-modal:           100050;
    --gl-z-skip-link:       100100;
    --gl-z-toast:           100110;
}

/* Site container — 1280px max (replaces style.css width: 95%) */
.wrapper {
    max-width: var(--gl-site-max) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* ─── Body copy — fluid up to 1.5rem (24px); html may stay 62.5% from style.css ─────
   Clamp in px so maximum matches standard 1.5rem regardless of legacy root font. */
html {
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--hdr-font, "Avenir Next", "Avenir", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif);
    font-weight: 400;
    font-size: var(--gl-body-font);
    line-height: 1.65;
    color: var(--hdr-body, #1a2333);
}

/* Spesialtilbud badge graphic removed site-wide (category hidden in functions.php). */
.special-img {
	display: none !important;
}

/* ─── RESET OLD HEADER STRUCTURAL STYLES ────────────────────────────────────── */
.header { margin: 0; padding: 0; background: transparent; }
.top-header-box { display: none; } /* replaced by .hdr-topbar */
.logo-box { background: var(--hdr-white); padding: 0; border-bottom: 1px solid var(--hdr-gray-brd); position: relative; z-index: 2; }
.logo-box:has(.hdr-user-menu.is-open) {
    z-index: 1010;
}
.logo-box-cust { display: flex; align-items: center; gap: 24px; padding: 16px 0; flex-wrap: nowrap; }
.social-top-box { display: none; } /* social moved out of main header row */

/* ─── TOP UTILITY BAR ────────────────────────────────────────────────────────── */
.hdr-topbar {
    background: var(--hdr-topbar-gradient);
    color: var(--hdr-white);
    font-family: var(--hdr-font);
    border-bottom: 2px solid var(--hdr-navy-dk);
}
.hdr-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 80px;
    height: auto;
    padding: 12px 0;
    gap: 16px;
}
.hdr-topbar__contact {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;
    gap: clamp(20px, 3vw, 48px);
    min-width: 0;
}
.hdr-topbar__item {
    display: flex;
    align-items: center;
    gap: clamp(8px, 1vw, 12px);
    min-width: 0;
    color: var(--hdr-white);
    text-decoration: none;
    transition: opacity var(--hdr-transition);
}
a.hdr-topbar__item--link:hover {
    opacity: 0.88;
}
.hdr-topbar__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hdr-topbar__icon img {
    display: block;
    width: clamp(26px, 2.5vw, 32px);
    height: auto;
}
.hdr-topbar__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 0;
}
.hdr-topbar__line {
    display: block;
    line-height: 1.35;
    white-space: nowrap;
}
.hdr-topbar__line--primary {
    font-size: clamp(1.5rem, 1.25vw, 1.7rem);
    font-weight: 600;
    color: var(--hdr-white);
    text-decoration: none;
}
a.hdr-topbar__line--primary:hover {
    color: var(--hdr-white);
    opacity: 0.88;
}
.hdr-topbar__line--secondary {
    font-size: clamp(1.35rem, 1.15vw, 1.55rem);
    font-weight: 500;
    color: rgba(255, 255, 255, 0.92);
}
.hdr-topbar__links {
    display: flex;
    align-items: center;
    gap: 4px;
}
.hdr-topbar__links a,
.hdr-topbar__link-btn {
    color: rgba(255,255,255,0.82);
    text-decoration: none;
    padding: 4px 10px;
    border-radius: var(--hdr-radius);
    font-size: 1.3rem;
    transition: background var(--hdr-transition), color var(--hdr-transition);
    white-space: nowrap;
}
.hdr-topbar__link-btn {
    background: none;
    border: none;
    font-family: var(--hdr-font, 'Open Sans', sans-serif);
    cursor: pointer;
    display: inline;
    line-height: inherit;
}
.hdr-topbar__links a:hover,
.hdr-topbar__link-btn:hover {
    color: var(--hdr-white);
    background: rgba(255,255,255,0.12);
}
.hdr-topbar__sep {
    color: rgba(255,255,255,0.25);
    font-size: 11px;
    user-select: none;
}
/* Blog / News + Min konto live in topbar on tablet/desktop; injected into hamburger on mobile */
.hdr-nav-mobile-only {
    display: none !important;
}
.hdr-b2b-badge {
    display: inline-flex;
    align-items: center;
    background: var(--hdr-red);
    color: var(--hdr-white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 2px 8px;
    border-radius: 3px;
    margin-left: 8px;
    text-transform: uppercase;
}

/* ─── MAIN HEADER (logo + search + cart) ────────────────────────────────────── */
.hdr-logo-link {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.hdr-logo-link img { width: auto; height: 65px; display: block; }

.hdr-search-wrap {
    flex: 1 1 auto;
    max-width: 600px;
    position: relative;
    overflow: visible;
    z-index: 1;
}
.hdr-search-wrap:focus-within {
    z-index: 10001;
}
.hdr-search-wrap .hdr-search-form,
.hdr-search-wrap .hdr-search-form__field,
.hdr-search-wrap .dgwt-wcas-search-wrapp,
.small-search .hdr-search-form,
.small-search .hdr-search-form__field {
    width: 100%;
    max-width: 100%;
}
/* FiboSearch (DGWT) — fill header search slot */
.hdr-search-wrap .dgwt-wcas-search-wrapp {
    display: block;
}
.hdr-search-wrap .dgwt-wcas-sf-wrapp {
    width: 100%;
    position: relative;
}
.hdr-search-wrap .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
.small-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
    height: 48px;
    font-size: 15px;
    border: 2px solid var(--hdr-navy, #003b6b);
    border-radius: var(--hdr-radius, 4px);
    box-sizing: border-box;
    /* Clear the in-field circular magnifier (right) */
    padding: 0 48px 0 16px;
}
.hdr-search-wrap .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus,
.small-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus {
    border-color: var(--hdr-red, #b80000);
    outline: none;
    box-shadow: 0 0 0 3px rgba(184, 0, 0, 0.12);
}
/* Circular red search icon — equal box + centered SVG (overrides style.css oval) */
.hdr-search-wrap .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier,
.small-search .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier {
    width: 32px;
    height: 32px;
    max-width: 32px;
    max-height: 32px;
    /* Asymmetric padding optically centers FiboSearch’s handle-heavy viewBox */
    padding: 8px 6px 6px 8px;
    box-sizing: border-box;
    border-radius: 50%;
    background: var(--hdr-red, #b80000);
    opacity: 1;
    top: 0;
    bottom: 0;
    left: auto;
    right: 8px;
    margin: auto 0;
    display: block;
}
.hdr-search-wrap .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier path,
.small-search .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier path {
    fill: #fff !important;
    stroke: none;
}
.hdr-search-wrap .dgwt-wcas-preloader,
.small-search .dgwt-wcas-preloader {
    right: 44px;
}
.small-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
    height: 40px;
    font-size: 14px;
    padding: 0 42px 0 12px;
}
.small-search .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier {
    width: 28px;
    height: 28px;
    max-width: 28px;
    max-height: 28px;
    padding: 7px 5px 5px 7px;
    right: 6px;
}
.small-search .dgwt-wcas-preloader {
    right: 38px;
}
.hdr-search-form__field {
    display: flex;
    align-items: stretch;
    width: 100%;
}
.hdr-search-wrap .hdr-search-form__input,
.hdr-search-wrap input[type="search"],
.small-search .hdr-search-form__input {
    flex: 1;
    min-width: 0;
    height: 48px;
    font-size: 15px;
    font-family: var(--hdr-font, inherit);
    color: var(--hdr-dark, #0c1c2e);
    background: var(--hdr-white, #fff);
    border: 2px solid var(--hdr-navy, #003b6b);
    border-right: 0;
    border-radius: var(--hdr-radius) 0 0 var(--hdr-radius);
    padding: 0 16px;
    box-sizing: border-box;
}
.hdr-search-wrap .hdr-search-form__input:focus,
.hdr-search-wrap input[type="search"]:focus,
.small-search .hdr-search-form__input:focus {
    border-color: var(--hdr-red, #b80000);
    outline: none;
    box-shadow: 0 0 0 3px rgba(184, 0, 0, 0.12);
}
.hdr-search-wrap .hdr-search-form__submit,
.hdr-search-wrap button[type="submit"],
.small-search .hdr-search-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 48px;
    padding: 0;
    background: var(--hdr-red, #b80000);
    border: 2px solid var(--hdr-red, #b80000);
    border-radius: 0 var(--hdr-radius) var(--hdr-radius) 0;
    color: var(--hdr-white, #fff);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.hdr-search-wrap .hdr-search-form__submit:hover,
.hdr-search-wrap button[type="submit"]:hover,
.small-search .hdr-search-form__submit:hover {
    background: #9a0000;
    border-color: #9a0000;
}
.hdr-search-wrap .hdr-search-form__submit:focus-visible,
.hdr-search-wrap button[type="submit"]:focus-visible,
.small-search .hdr-search-form__submit:focus-visible {
    outline: 2px solid var(--hdr-red, #b80000);
    outline-offset: 3px;
}

/* Search suggestions dropdown */
.hdr-search-form__combo {
    position: relative;
    width: 100%;
}
.hdr-search-form__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: min(520px, 90vw);
    right: auto;
    z-index: var(--gl-z-dropdown, 9999);
    background: var(--hdr-white, #fff);
    border: 1px solid var(--hdr-border, #e2e6ea);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.6) inset,
        0 4px 8px rgba(12, 28, 46, 0.06),
        0 16px 40px rgba(12, 28, 46, 0.16);
    overflow: clip;
}
.hdr-search-form__dropdown.is-fixed {
    /* Escapes the header's stacking context, so it must clear the sticky nav —
       but it stays below --gl-z-modal. */
    z-index: var(--gl-z-dropdown-fixed, 100002);
}
.hdr-search-form__combo.is-open .hdr-search-form__dropdown:not([hidden]) {
    animation: glSearchDropIn 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}
@supports (overflow: clip) {
    .hdr-search-form__dropdown {
        max-width: min(600px, 96vw);
    }
}
@keyframes glSearchDropIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.hdr-search-form__loading[hidden] {
    display: none !important;
}
.hdr-search-form__loading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 14px 18px;
    font-size: 13px;
    font-weight: 600;
    color: var(--hdr-muted, #5d6b7a);
}
.hdr-search-form__combo.is-loading .hdr-search-form__suggestions {
    min-height: 52px;
}
.hdr-search-form__loading::before {
    content: '';
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border: 2px solid var(--hdr-border, #e2e6ea);
    border-top-color: var(--hdr-red, #b80000);
    border-radius: 50%;
    animation: glSearchSpin 0.65s linear infinite;
}
@keyframes glSearchSpin {
    to { transform: rotate(360deg); }
}
.hdr-search-form__suggestions {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    max-height: min(420px, 60vh);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 59, 107, 0.35) transparent;
}
.hdr-search-form__suggestions::-webkit-scrollbar {
    width: 6px;
}
.hdr-search-form__suggestions::-webkit-scrollbar-thumb {
    background: rgba(0, 59, 107, 0.28);
    border-radius: 999px;
}
.hdr-search-form__group-label {
    padding: 10px 18px 6px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--hdr-muted, #5d6b7a);
}
.hdr-search-form__group-label:not(:first-child) {
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--hdr-border, #e2e6ea);
}
.hdr-search-form__option {
    margin: 0 6px;
}
.hdr-search-form__option-link {
    display: flex;
    align-items: center;
    gap: 12px;
    overflow: hidden;
    padding: 10px 12px;
    border-radius: 6px;
    border-left: 3px solid transparent;
    color: var(--hdr-dark, #0c1c2e);
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.hdr-search-form__option-link:hover,
.hdr-search-form__option.is-active .hdr-search-form__option-link {
    background: var(--hdr-bg, #f4f6f9);
    border-left-color: var(--hdr-red, #b80000);
    box-shadow: inset 0 0 0 1px rgba(0, 59, 107, 0.06);
}
.hdr-search-form__option-link:focus-visible {
    outline: 2px solid var(--hdr-red, #b80000);
    outline-offset: -2px;
}
.hdr-search-form__thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 6px;
    background: var(--hdr-bg, #f4f6f9);
    border: 1px solid var(--hdr-border, #e2e6ea);
}
.hdr-search-form__thumb--placeholder {
    display: block;
}
.hdr-search-form__option-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: rgba(0, 59, 107, 0.08);
    color: var(--hdr-navy, #003b6b);
}
.hdr-search-form__option-icon svg {
    width: 20px;
    height: 20px;
}
.hdr-search-form__option-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.hdr-search-form__option-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}
.hdr-search-form__title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--hdr-navy, #003b6b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hdr-search-form__price {
    font-size: 13px;
    font-weight: 700;
    color: var(--hdr-red, #b80000);
}
.hdr-search-form__sku,
.hdr-search-form__count {
    font-size: 11.5px;
    color: var(--hdr-muted, #5d6b7a);
}
.hdr-search-form__sku::before {
    content: '·';
    margin-right: 6px;
    color: var(--hdr-border, #e2e6ea);
}
.hdr-search-form__option-meta .hdr-search-form__sku::before {
    content: none;
    margin-right: 0;
}
.hdr-search-form__badge {
    display: inline-flex;
    align-self: flex-start;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--hdr-navy, #003b6b);
    background: rgba(0, 59, 107, 0.08);
}
.hdr-search-form__empty {
    padding: 20px 18px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--hdr-muted, #5d6b7a);
    text-align: center;
}
/* Request failed (expired nonce, server error) — distinct from "no results". */
.hdr-search-form__empty--error {
    color: var(--hdr-red, #b80000);
}
.hdr-search-form__footer {
    border-top: 1px solid var(--hdr-border, #e2e6ea);
    padding: 12px;
    background: linear-gradient(180deg, #f8fafc 0%, var(--hdr-bg, #f4f6f9) 100%);
}
.hdr-search-form__view-all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 700;
    color: var(--hdr-white, #fff);
    text-decoration: none;
    background: var(--hdr-navy, #003b6b);
    border-radius: 6px;
    box-sizing: border-box;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.hdr-search-form__view-all::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    flex-shrink: 0;
}
.hdr-search-form__view-all:hover {
    color: var(--hdr-white, #fff);
    background: var(--hdr-red, #b80000);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(184, 0, 0, 0.28);
}
.hdr-search-form__view-all:focus-visible {
    outline: 2px solid var(--hdr-red, #b80000);
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    .hdr-search-form__combo.is-open .hdr-search-form__dropdown:not([hidden]),
    .hdr-search-form__loading::before {
        animation: none;
    }
    .hdr-search-form__view-all:hover {
        transform: none;
    }
}

/* account + cart action buttons */
.hdr-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.hdr-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: var(--hdr-radius);
    text-decoration: none;
    font-family: var(--hdr-font);
    font-size: 13.5px;
    font-weight: 600;
    transition: background var(--hdr-transition), color var(--hdr-transition), border-color var(--hdr-transition);
    white-space: nowrap;
    line-height: 1.2;
}
.hdr-action-btn svg { width: 20px; height: 20px; flex-shrink: 0; }

/* account button — navy outline */
.hdr-action-btn--account {
    color: var(--hdr-navy);
    border: 1.5px solid var(--hdr-navy);
    background: transparent;
}
.hdr-action-btn--account:hover {
    background: var(--hdr-navy);
    color: var(--hdr-white);
}

/* cart button — red solid */
.hdr-action-btn--cart {
    background: var(--hdr-red);
    color: var(--hdr-white);
    border: 1.5px solid var(--hdr-red);
    position: relative;
    min-width: 130px;
}
.hdr-action-btn--cart:hover { background: #9a0000; border-color: #9a0000; color: var(--hdr-white); }

.hdr-cart__meta { display: flex; flex-direction: column; }
.hdr-cart__label { font-size: 10.5px; font-weight: 400; opacity: 0.88; }
.hdr-cart__total { font-size: 14px; font-weight: 700; }

.hdr-cart__badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: var(--hdr-navy);
    color: var(--hdr-white);
    font-size: 10px;
    font-weight: 700;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--hdr-white);
}

/* SEO H1 — present in DOM but visually hidden on all pages */
.hdr-seo-title {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* ─── NAV BAR (keep .header-nav-bg & .fixed-navbar for JS) ──────────────────── */
.header-nav-bg {
    background: var(--hdr-nav-bg, #0c1c2e);
    min-height: 52px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.header-custom-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    gap: 12px;
}
.header-nav-bg .nav {
    flex: 1 1 auto;
    min-width: 0;
}
/*
 * Primary nav — theme filter sets wp_nav_menu container=false, so markup is nav > ul (no wrapper div).
 * Also match nav > div > ul when container is enabled elsewhere.
 */
.header-nav-bg nav.nav > ul > li,
.header-nav-bg nav.nav > div > ul > li,
.header-nav-bg nav.nav > ul > li.current-menu-item,
.header-nav-bg nav.nav > div > ul > li.current-menu-item,
.header-nav-bg nav.nav > ul > li:hover,
.header-nav-bg nav.nav > div > ul > li:hover {
    margin: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-bottom: none !important;
}
.header-nav-bg nav.nav > ul,
.header-nav-bg nav.nav > div > ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    text-transform: uppercase;
    gap: 2px;
    align-items: center;
}
.header-nav-bg nav.nav > ul > li,
.header-nav-bg nav.nav > div > ul > li {
    margin: 0;
    padding: 0;
    border-bottom: none;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.03em;
}
.header-nav-bg nav.nav > ul > li > a,
.header-nav-bg nav.nav > div > ul > li > a {
    display: flex;
    align-items: center;
    height: 54px;
    padding: 0 14px;
    color: var(--hdr-white);
    border-radius: 6px;
    border-bottom: none !important;
    box-shadow: inset 0 -2px 0 transparent;
    transition: background var(--hdr-transition), box-shadow var(--hdr-transition), color var(--hdr-transition);
}
.header-nav-bg nav.nav > ul > li > a:hover,
.header-nav-bg nav.nav > div > ul > li > a:hover,
.header-nav-bg nav.nav > ul > li.current-menu-item > a,
.header-nav-bg nav.nav > div > ul > li.current-menu-item > a {
    background: rgba(0,0,0,0.18);
    box-shadow: inset 0 -2px 0 rgba(255,255,255,0.95);
    font-weight: 700;
}
.header-nav-bg nav.nav > ul > li.current-menu-item,
.header-nav-bg nav.nav > div > ul > li.current-menu-item { border-bottom: none !important; }
.header-nav-bg nav.nav > ul > li:hover,
.header-nav-bg nav.nav > div > ul > li:hover { border-bottom: none !important; }
.header-nav-bg nav.nav > ul > li > a:focus-visible,
.header-nav-bg nav.nav > div > ul > li > a:focus-visible {
    outline: 2px solid rgba(255,255,255,0.95);
    outline-offset: 2px;
}

.small-search {
    flex: 0 1 290px;
    max-width: 290px;
    margin-left: auto;
    /* Fix: style.css sets transform:translateX(-24px) which creates a new stacking
       context and breaks position:absolute/fixed children (DGWT plugin dropdown).
       Reset to none; margin-left:auto handles alignment. */
    transform: none;
    /* Explicit position:relative so the suggestions dropdown anchors here */
    position: relative;
    overflow: visible;
    z-index: 1;
}
.small-search:focus-within {
    z-index: 10001;
}
.small-search .hdr-search-form__combo.is-open .hdr-search-form__field {
    box-shadow: 0 0 0 3px rgba(184, 0, 0, 0.14);
    border-radius: 6px;
}
.small-search .hdr-search-form__dropdown:not(.is-fixed) {
    right: 0;
    left: auto;
    min-width: min(520px, calc(100vw - 24px));
}
.small-search .hdr-search-form__input,
.small-search .hdr-search-form__submit {
    height: 40px;
}
.small-search .hdr-search-form__input {
    font-size: 14px;
    padding: 0 12px;
}
.small-search .hdr-search-form__submit {
    flex-basis: 44px;
    width: 44px;
}

.header-text-custom {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: rgba(245,158,11,0.15);
    border: 1px solid rgba(245,158,11,0.45);
    border-radius: 20px;
    color: #fcd34d;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    flex-shrink: 0;
    white-space: nowrap;
    padding-left: 16px;
    border-left: 1px solid rgba(255,255,255,0.25);
    line-height: 1;
}

/* hamburger — now red bars on white bg */
.hamburger-icon {
    width: 26px;
    height: 3px;
    background-color: var(--hdr-white);
    margin: 5px 0;
    border-radius: 2px;
}
#toggle { display: none; }

/* ─── Smart sticky header (mobile + desktop) ─────────────────────────────── */
.hdr-sticky-spacer {
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

body.hdr-is-sticky .hdr-main,
body.hdr-is-sticky .hdr-nav-strip {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.2s ease;
    will-change: transform;
}

body.hdr-is-sticky .hdr-main {
    top: var(--hdr-sticky-admin, 0px);
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    overflow: visible;
}

body.hdr-is-sticky .hdr-nav-strip {
    top: calc(var(--hdr-sticky-admin, 0px) + var(--hdr-sticky-main-h, 0px));
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
    overflow: visible;
}

/* Hide on scroll-down; reveal on scroll-up */
body.hdr-is-sticky.hdr-sticky-hide .hdr-main,
body.hdr-is-sticky.hdr-sticky-hide .hdr-nav-strip {
    transform: translateY(calc(-1 * (var(--hdr-sticky-stack-h, 0px) + var(--hdr-sticky-admin, 0px))));
    box-shadow: none;
}

/* Homepage: the header overlays the hero and is out of flow. It must STAY out
   of flow when sticky engages — dropping it back into the flow inserts the
   topbar plus the sticky spacer above the hero and shoves the page down by the
   full header height. Only the stacking order needs raising so the pinned rows
   paint above page content. */
body.page-template-home-new-may-2026.hdr-is-sticky .site-header {
    z-index: 1000;
}

body.page-template-home-new-may-2026.hdr-is-sticky .hdr-main {
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Legacy class kept inert (old scripts.js sticky removed) */
.stick-header.fixed-navbar {
    /* no-op — smart sticky uses body.hdr-is-sticky */
}

/* ─── AJAX SEARCH DROPDOWN — STACKING & OVERFLOW FIXES ──────────────────────
   Root causes addressed:
   1. .logo-box creates a stacking context at z-index:2. Any DGWT plugin dropdown
      inside it is confined to that context and paints below the sticky nav
      (z-index:1000). Raising .logo-box when search is focused fixes this.
   2. .header-nav-bg / .header-custom-nav must stay overflow:visible so the
      .small-search dropdown is never clipped at the nav bar's bottom edge.
   3. DGWT suggestions wrapper needs an explicit high z-index override to clear
      any other positioned elements on the page.
   ──────────────────────────────────────────────────────────────────────────── */

/* Nav containers: explicit overflow:visible (defensive; prevents dropdown clipping) */
.header-nav-bg,
.header-custom-nav {
    overflow: visible;
}

/* Raise logo-box stacking context when the search field has focus. */
.logo-box:focus-within,
body.hdr-is-sticky .hdr-main:focus-within {
    z-index: 10000;
}

/* DGWT WCAS plugin: ensure suggestions dropdown always paints above sticky nav.
   The plugin's own CSS typically uses z-index:9999, but that value is relative
   to the nearest stacking context. Boosting with !important guarantees it wins
   regardless of the context depth. */
.dgwt-wcas-suggestions-wrapp {
    z-index: var(--gl-z-dropdown-plugin, 99999) !important;
}

/* Small-search sticky state: belt-and-braces overflow:visible */
body.hdr-is-sticky .hdr-nav-strip .small-search,
body.hdr-is-sticky .hdr-main .small-search {
    overflow: visible;
    position: relative;
}

@media (prefers-reduced-motion: reduce) {
    body.hdr-is-sticky .hdr-main,
    body.hdr-is-sticky .hdr-nav-strip {
        transition: none;
    }
}

/* ─── TRUST / CONTACT BAR ────────────────────────────────────────────────────── */
.under-slider-box {
    background: var(--hdr-navy);
    border-top: 2px solid rgba(255,255,255,0.08);
    margin-top: 0 !important;
}
/* Override legacy style.css (.under-slider-box-cust { width: 65% }) */
.hdr-contact-bar .wrapper.under-slider-box-cust,
.hdr-contact-bar .wrapper.hdr-contact-bar__grid,
.under-slider-box.hdr-contact-bar .under-slider-box-cust {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
    max-width: var(--gl-site-max, 1280px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.hdr-contact-bar .under-slider-item,
.hdr-contact-bar .hdr-contact-bar__cell {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(8px, 1.2vw, 12px) !important;
    padding: clamp(12px, 1.5vw, 16px) clamp(10px, 1.8vw, 20px) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    box-sizing: border-box;
    transition: background var(--hdr-transition);
}

.hdr-contact-bar .under-slider-item:last-child,
.hdr-contact-bar .hdr-contact-bar__cell:last-child {
    border-right: none;
}

.hdr-contact-bar .under-slider-item:hover {
    background: rgba(255, 255, 255, 0.05);
}

.hdr-contact-bar .under-slider-icon {
    flex-shrink: 0;
    margin: 0 !important;
}

.hdr-contact-bar .under-slider-icon img {
    height: 28px;
    width: auto;
    display: block;
}

.hdr-contact-bar .under-slider-box-cst {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-width: 0;
    flex: 0 1 auto;
    gap: 4px;
}

.hdr-contact-bar .under-slider-text {
    font-size: clamp(1.4rem, 1.35vw, 1.7rem) !important; /* was clamp(12px, 1.1vw, 14px) — primary title line */
    font-weight: 600 !important;
    color: var(--hdr-white) !important;
    line-height: 1.4;
    width: auto;
    max-width: 100%;
    text-align: center;
    overflow-wrap: anywhere;
    word-break: break-word;
    margin: 0;
    padding: 0;
}

.hdr-contact-bar .under-slider-text:last-child {
    font-size: clamp(11px, 1vw, 12px) !important;
    font-weight: 400 !important;
    opacity: 0.75;
}

.hdr-contact-bar .under-slider-text a {
    color: var(--hdr-white) !important;
    font: inherit;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit;
    letter-spacing: inherit;
    text-decoration: none;
    display: inline;
    padding: 0;
    margin: 0;
    vertical-align: baseline;
}

.hdr-contact-bar .under-slider-text a:hover,
.hdr-contact-bar .under-slider-text a:focus-visible {
    color: var(--hdr-white) !important;
    font-weight: inherit !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Legacy selectors (non–hdr-contact-bar contexts) */
.under-slider-box-cust {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    gap: 0;
    padding: 0;
    width: 100%;
}

.under-slider-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 28px;
    border-right: 1px solid rgba(255,255,255,0.12);
    transition: background var(--hdr-transition);
}

.under-slider-item:last-child { border-right: none; }
.under-slider-item:hover { background: rgba(255,255,255,0.05); }
.under-slider-icon { flex-shrink: 0; }
.under-slider-icon img { height: 28px; width: auto; display: block; }
.under-slider-box-cst { display: flex; flex-direction: column; }
.under-slider-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--hdr-white);
    line-height: 1.3;
}
.under-slider-text:last-child { font-size: 12px; font-weight: 400; opacity: 0.75; }
.under-slider-text a { color: var(--hdr-white); text-decoration: none; font: inherit; font-weight: inherit; }
.under-slider-text a:hover { text-decoration: underline; text-underline-offset: 2px; font-weight: inherit; }

/* ─── USER MENU DROPDOWN ─────────────────────────────────────────────────────── */
.hdr-actions {
    position: relative;
    z-index: 1010;
}

.hdr-user-menu {
    position: relative;
    z-index: 1010;
}

.hdr-user-menu.is-open {
    z-index: 1010;
}

/* Trigger button */
.hdr-user-menu__trigger {
    cursor: pointer;
    background: transparent;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}
.hdr-user-menu__trigger > svg:not(.hdr-user-menu__chevron) {
    order: 0;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}
.hdr-user-menu__trigger .hdr-account-label {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}
.hdr-user-menu__trigger .hdr-user-menu__chevron {
    order: 2;
    margin-left: auto;
}
.hdr-user-menu__chevron {
    flex-shrink: 0;
    transition: transform 0.22s ease;
}
.hdr-user-menu.is-open .hdr-user-menu__chevron {
    transform: rotate(180deg);
}

/* Dropdown panel */
.hdr-user-menu__dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 260px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.08);
    border: 1px solid var(--hdr-gray-brd);
    z-index: 1011;
    /* hidden state */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    pointer-events: none;
}
.hdr-user-menu.is-open .hdr-user-menu__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Arrow pointer at top-right */
.hdr-user-menu__dropdown::before {
    content: '';
    position: absolute;
    top: -7px;
    right: 22px;
    width: 13px;
    height: 13px;
    background: #fff;
    border-left: 1px solid var(--hdr-gray-brd);
    border-top: 1px solid var(--hdr-gray-brd);
    transform: rotate(45deg);
}

/* Logged-in header */
.hdr-user-menu__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 16px 14px;
}
.hdr-user-menu__avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
    border: 2px solid var(--hdr-gray-brd);
}
.hdr-user-menu__info {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.hdr-user-menu__info strong {
    font-size: 13.5px;
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hdr-user-menu__info span {
    font-size: 11.5px;
    color: var(--hdr-text-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Divider */
.hdr-user-menu__divider {
    height: 1px;
    background: var(--hdr-gray-brd);
    margin: 0;
}

/* Menu list */
.hdr-user-menu__list {
    list-style: none;
    margin: 6px 0;
    padding: 0;
}
.hdr-user-menu__list li a,
.hdr-user-menu__list li .hdr-user-menu__link-btn {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    column-gap: 11px;
    align-items: center;
    justify-items: start;
    padding: 10px 16px;
    font-size: 13.5px;
    color: #2d2d2d;
    text-decoration: none;
    text-align: left;
    transition: background 0.15s, color 0.15s;
    border-radius: 0;
}
.hdr-user-menu__list li .hdr-user-menu__link-btn {
    width: 100%;
    background: none;
    border: none;
    font-family: var(--hdr-font, 'Open Sans', sans-serif);
    cursor: pointer;
}
.hdr-user-menu__list li a svg,
.hdr-user-menu__list li .hdr-user-menu__link-btn svg {
    grid-column: 1;
    grid-row: 1;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--hdr-text-sm);
    transition: color 0.15s;
}
.hdr-user-menu__list li a:hover,
.hdr-user-menu__list li .hdr-user-menu__link-btn:hover {
    background: var(--hdr-gray-bg);
    color: var(--hdr-navy);
}
.hdr-user-menu__list li a:hover svg,
.hdr-user-menu__list li .hdr-user-menu__link-btn:hover svg { color: var(--hdr-navy); }

/* Logout */
.hdr-user-menu__logout {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    column-gap: 11px;
    align-items: center;
    justify-items: start;
    padding: 12px 16px;
    font-size: 13px;
    color: var(--hdr-red);
    text-decoration: none;
    font-weight: 600;
    text-align: left;
    transition: background 0.15s;
    border-radius: 0 0 8px 8px;
}
.hdr-user-menu__logout svg {
    grid-column: 1;
    grid-row: 1;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.hdr-user-menu__logout:hover { background: #fff5f5; color: var(--hdr-red); }

/* Guest state */
.hdr-user-menu__guest {
    padding: 14px 16px 6px;
    font-size: 12.5px;
    color: var(--hdr-text-sm);
    line-height: 1.5;
}
.hdr-user-menu__guest p { margin: 0; }

/* Guest CTA button */
.hdr-user-menu__cta {
    display: block;
    margin: 10px 14px 14px;
    text-align: center;
    background: var(--hdr-navy);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 0;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.2s;
}
.hdr-user-menu__cta:hover { background: var(--hdr-navy-dk); color: #fff; }


/* no-sidebar layout (main-wrap) */
.main-wrap--no-sidebar {
    display: block !important;
}
.main-wrap--no-sidebar .sidebar { display: none !important; }
.content--full { width: 100% !important; max-width: 100%; }
.main-special-right--full { width: 100% !important; max-width: 100%; }

/* Cancel the 30px margin-top new-home.css adds to .main-wrap on the no-sidebar home layout */
.preveda-page-content .main-wrap--no-sidebar {
    margin-top: 0 !important;
    padding-top: 0;
}
/* Cancel new-home.css 45px/55px padding on home-desc-con — about-section handles its own */
.preveda-page-content .home-desc-con.about-section,
.home-desc-con.about-section {
    padding: clamp(52px, 7vw, 88px) 0 !important;
}
.preveda-page-content .categerisection {
    padding: clamp(30px, 4.2vw, 56px) 0;
}
.preveda-page-content .video-hero-box.threebox.card,
.preveda-page-content .home-desc-con,
.preveda-page-content .custom-posts-container,
.preveda-page-content .info-bottom-box {
    margin-top: clamp(28px, 4vw, 52px);
}


/* hide old mobile/desktop split classes */
.mobile-show { display: none !important; }
.desktop-show { display: block; }



/* ═══════════════════════════════════════════════════════════════
   KITCHEN PLANNING SERVICE SECTION — "Prosjektering av storkjøkken"
   Scandinavian · Premium · Industrial · B2B
════════════════════════════════════════════════════════════════ */

.kplan-section {
    background: #fff;
    overflow: hidden;
    position: relative;
}

/* ── Inner two-column layout ── */
.kplan-inner {
    max-width: 1280px;
    width: 95%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 35%;
    gap: 80px;
    align-items: center;
    padding: 96px 0 0;
}

/* ════ LEFT: CONTENT ════ */
.kplan-content {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.kplan-content.kplan-visible {
    opacity: 1;
    transform: none;
}

/* Eyebrow */
.kplan-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #b80000;
    margin-bottom: 20px;
}
.kplan-eyebrow svg { width: 15px; height: 15px; }

/* Heading */
.kplan-heading {
    font-size: clamp(32px, 3.8vw, 52px);
    font-weight: 900;
    color: #0c1c2e;
    line-height: 1.13;
    margin: 0 0 22px;
    letter-spacing: -0.02em;
}
.kplan-heading em {
    font-style: normal;
    color: #003b6b;
    background: linear-gradient(135deg, #003b6b 0%, #0068c0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Subheading */
.kplan-sub {
    font-size: 17px;
    color: #4a5568;
    line-height: 1.75;
    max-width: 480px;
    margin: 0 0 40px;
}

/* Feature list */
.kplan-features {
    list-style: none;
    margin: 0 0 44px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.kplan-feature {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 10px;
    background: #f8f9fb;
    border: 1px solid #e8ecf0;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.kplan-feature:hover {
    border-color: #c8d9ea;
    box-shadow: 0 6px 24px rgba(0,59,107,0.09);
    transform: translateX(4px);
}
.kplan-feature__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, #003b6b 0%, #005299 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.kplan-feature__icon svg { width: 18px; height: 18px; }
.kplan-feature__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.kplan-feature__body strong {
    font-size: 14.5px;
    font-weight: 700;
    color: #0c1c2e;
}
.kplan-feature__body span {
    font-size: 13px;
    color: #5d6b7a;
    line-height: 1.5;
}

/* CTAs */
.kplan-ctas {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.kplan-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.22s;
    white-space: nowrap;
}
.kplan-btn svg { width: 17px; height: 17px; }
.kplan-btn--primary {
    background: linear-gradient(135deg, #b80000 0%, #e01515 100%);
    color: #fff;
    box-shadow: 0 4px 16px rgba(184,0,0,0.28);
}
.kplan-btn--primary:hover {
    background: linear-gradient(135deg, #9a0000 0%, #c01010 100%);
    box-shadow: 0 8px 28px rgba(184,0,0,0.36);
    transform: translateY(-2px);
    color: #fff;
}
.kplan-btn--outline {
    border: 2px solid #c8d9ea;
    color: #003b6b;
    background: #fff;
}
.kplan-btn--outline:hover {
    border-color: #003b6b;
    background: #eef3f9;
    transform: translateY(-2px);
    color: #003b6b;
}

/* ════ RIGHT: VISUAL ════ */
.kplan-visual {
    position: relative;
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.7s 0.15s ease, transform 0.7s 0.15s ease;
}
.kplan-visual.kplan-visible {
    opacity: 1;
    transform: none;
}

/* Main image */
.kplan-img-wrap {
    position: relative;
    border-radius: 20px;
    overflow: visible;
}
.kplan-img {
    width: 100%;
    height: 540px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    box-shadow: 0 32px 80px rgba(12,28,46,0.22);
    transition: transform 0.6s ease;
}
.kplan-img-wrap:hover .kplan-img { transform: scale(1.015); }
/* kplan slider removed — single static image used instead */

.kplan-img-overlay {
    position: absolute;
    inset: 0;
    border-radius: 20px;
    background: linear-gradient(
        160deg,
        rgba(12,28,46,0.05) 0%,
        rgba(0,59,107,0.15) 100%
    );
    pointer-events: none;
}

/* Floating glassmorphism cards */
.kplan-float {
    position: absolute;
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,0.9);
    border-radius: 14px;
    padding: 14px 18px;
    box-shadow: 0 8px 32px rgba(12,28,46,0.14);
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 210px;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.5s 0.45s ease, transform 0.5s 0.45s ease;
}
.kplan-float.kplan-visible {
    opacity: 1;
    transform: none !important;
}
/* Top-left card */
.kplan-float--tl {
    top: -18px;
    left: -28px;
    transform: translateY(10px);
}
/* Bottom-right card */
.kplan-float--br {
    bottom: -18px;
    right: -24px;
    transform: translateY(10px);
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.kplan-float:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 48px rgba(12,28,46,0.18);
}
.kplan-float__icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.kplan-float__icon svg { width: 19px; height: 19px; }
.kplan-float__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.kplan-float__text strong { font-size: 13px; font-weight: 700; color: #0c1c2e; }
.kplan-float__text span   { font-size: 11.5px; color: #5d6b7a; }
.kplan-float__check {
    margin-left: auto;
    width: 24px;
    height: 24px;
    background: #e8f5e9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2e7d32;
    flex-shrink: 0;
}
.kplan-float__check svg { width: 12px; height: 12px; }

/* Progress bar inside bottom-right card */
.kplan-float--br .kplan-float__text + .kplan-float__bar { display: none; }
.kplan-float__bar {
    width: 100%;
    height: 5px;
    background: #e8ecf0;
    border-radius: 3px;
    overflow: hidden;
}
.kplan-float__bar-fill {
    height: 100%;
    width: 0;
    border-radius: 3px;
    background: linear-gradient(90deg, #e65100, #ff8c00);
    transition: width 1.2s 0.8s ease;
}
.kplan-float.kplan-visible .kplan-float__bar-fill { width: 72%; }

/* Stat badge */
.kplan-badge {
    position: absolute;
    top: 50%;
    right: -36px;
    transform: translateY(-50%) scale(0.8);
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: linear-gradient(135deg, #b80000 0%, #e01515 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 8px 28px rgba(184,0,0,0.35);
    z-index: 11;
    opacity: 0;
    transition: opacity 0.5s 0.6s ease, transform 0.5s 0.6s ease;
}
.kplan-badge.kplan-visible {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}
.kplan-badge__num {
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}
.kplan-badge__num sup { font-size: 12px; }
.kplan-badge__label {
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.85;
    line-height: 1.3;
}

/* Background glow */
.kplan-glow {
    position: absolute;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,82,153,0.12) 0%, transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

/* ════ TRUST BAR ════ */
.kplan-trust {
    margin-top: 80px;
    border-top: 1px solid #e8ecf0;
    background: #f8f9fb;
    padding: 50px 0;
}
.kplan-trust__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}
.kplan-trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    flex: 1 1 180px;
    justify-content: center;
}
.kplan-trust-item svg { width: 24px; height: 24px; color: #003b6b; flex-shrink: 0; }
.kplan-trust-item strong { font-size: clamp(17px, 1.05vw, 20px); font-weight: 800; color: #0c1c2e; line-height: 1.25; }
.kplan-trust-item span   { font-size: clamp(14px, 0.9vw, 15px); color: #5d6b7a; line-height: 1.35; }
.kplan-trust-sep {
    width: 1px;
    height: 42px;
    background: #e2e6ea;
    flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .kplan-inner     { gap: 48px; }
    .kplan-img       { height: 440px; }
    .kplan-badge     { right: -20px; }
}
@media (max-width: 900px) {
    .kplan-inner     { grid-template-columns: 1fr; gap: 56px; padding: 64px 0 0; }
    .kplan-visual    { order: -1; }
    .kplan-img       { height: 320px; }
    .kplan-badge     { right: 12px; top: auto; bottom: -20px; transform: scale(1) !important; }
    .kplan-badge.kplan-visible { transform: scale(1) !important; }
    .kplan-float--tl { top: -14px; left: 12px; }
    .kplan-float--br { bottom: -14px; right: 12px; }
    .kplan-trust-sep { display: none; }
    .kplan-trust-item { flex: 1 1 45%; padding: 12px 16px; }
    .kplan-glow      { display: none; }
    /* mobile sticky CTA */
    .kplan-mobile-sticky {
        display: flex !important;
    }
}
@media (max-width: 600px) {
    .kplan-heading   { font-size: 28px; }
    .kplan-img       { height: 240px; }
    .kplan-float     { min-width: 160px; }
    .kplan-ctas      { flex-direction: column; align-items: stretch; }
    .kplan-btn       { justify-content: center; }
    .kplan-trust-item { flex: 1 1 100%; }
}

/* Mobile sticky CTA */
.kplan-mobile-sticky {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 200;
    background: #fff;
    border-top: 1px solid #e2e6ea;
    padding: 12px 16px;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.10);
}
.kplan-mobile-sticky .kplan-btn {
    width: 100%;
    justify-content: center;
    font-size: 15px;
    padding: 14px 20px;
}


/* ═══════════════════════════════════════════════════════════════
   SHARED SECTION HEADER
════════════════════════════════════════════════════════════════ */
.section-header {
    text-align: center;
    margin-bottom: 48px;
}
.section-header__eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--hdr-red, #b80000);
    margin-bottom: 10px;
}
.section-header__title {
    font-size: 30px;
    font-weight: 800;
    color: var(--hdr-navy, #003b6b);
    margin: 0 0 14px;
    line-height: 1.25;
}
.section-header__sub {
    font-size: 15px;
    color: #5d6b7a;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}
.section-header--light .section-header__title { color: #fff; }
.section-header--light .section-header__sub   { color: rgba(255,255,255,0.7); }

/* ═══════════════════════════════════════════════════════════════
   ABOUT / COMPANY DESCRIPTION SECTION
════════════════════════════════════════════════════════════════ */
.about-section {
    background: #fff;
    padding: clamp(52px, 7vw, 88px) 0;
    border-top: 1px solid var(--hdr-border, #e2e6ea);
}
/* Override old new-home.css padding that stomps this section */
.term-description .about-section,
.about-section.home-desc-con {
    padding: clamp(52px, 7vw, 88px) 0 !important;
}

.about-inner {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: clamp(40px, 6vw, 80px);
    align-items: start;
}

/* ── Left column ── */
.about-content { min-width: 0; }
.about-title {
    font-size: clamp(22px, 2.6vw, 32px);
    font-weight: 800;
    color: var(--hdr-navy, #003b6b);
    margin: 8px 0 18px;
    line-height: 1.2;
}
.about-text p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #374151;
    margin: 0 0 14px;
}
.about-text p:last-child { margin-bottom: 0; }

.about-why {
    margin: 20px 0 0;
    font-size: 15px;
    color: #1e2a36;
}

.about-usps {
    list-style: none;
    padding: 0;
    margin: 14px 0 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.about-usps li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #1e2a36;
}
.about-usps li svg {
    width: 16px; height: 16px;
    color: var(--hdr-red, #b80000);
    flex-shrink: 0;
}

.about-ctas {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.about-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 13px 26px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.about-btn svg { width: 15px; height: 15px; }
.about-btn--primary {
    background: var(--hdr-navy, #003b6b);
    color: #fff;
}
.about-btn--primary:hover {
    background: #002a4f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,59,107,0.25);
    color: #fff;
}
.about-btn--outline {
    background: transparent;
    color: var(--hdr-navy, #003b6b);
    border: 2px solid var(--hdr-navy, #003b6b);
}
.about-btn--outline:hover {
    background: var(--hdr-navy, #003b6b);
    color: #fff;
    transform: translateY(-2px);
}

/* ── Right column ── */
.about-features {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #f7f9fc;
    border: 1px solid var(--hdr-border, #e2e6ea);
    border-radius: 14px;
    overflow: hidden;
}
.about-feat {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--hdr-border, #e2e6ea);
    transition: background 0.15s;
}
.about-feat:hover { background: #fff; }
.about-feat__icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.about-feat__icon svg { width: 18px; height: 18px; }
.about-feat div strong {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--hdr-navy, #003b6b);
    margin-bottom: 2px;
}
.about-feat div span {
    font-size: 12px;
    color: var(--hdr-muted, #5d6b7a);
    line-height: 1.5;
}
.about-callout {
    padding: 20px 22px;
    background: var(--hdr-navy, #003b6b);
}
.about-callout blockquote {
    margin: 0;
    border: none;
    padding: 0;
}
.about-callout blockquote p {
    font-size: 13.5px !important;
    font-style: italic;
    color: rgba(255,255,255,0.88);
    line-height: 1.65;
    margin: 0 0 8px !important;
}
.about-callout blockquote footer {
    font-size: 11.5px;
    font-weight: 700;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Responsive */
@media (max-width: 900px) {
    .about-inner { grid-template-columns: 1fr; }
    .about-features { display: grid; grid-template-columns: 1fr 1fr; }
    .about-callout { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .about-features { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   HOME — Editorial split sections (image + copy, after Om Gastroline)
════════════════════════════════════════════════════════════════ */
.home-split-band {
    padding: clamp(48px, 8vw, 96px) 0;
    border-top: 1px solid var(--hdr-border, #e2e6ea);
    background: #fff;
}
.home-split-band--alt {
    background: var(--hdr-bg, #f4f6f9);
}
.home-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 60px);
    align-items: center;
}
.home-split--reverse .home-split__media {
    order: 2;
}
.home-split--reverse .home-split__body {
    order: 1;
}
.home-split__media {
    min-width: 0;
    /* Consistent aspect ratio reserves space so lazy-load triggers correctly */
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: var(--hdr-radius, 8px);
    box-shadow: var(--hdr-shadow, 0 2px 12px rgba(0, 0, 0, 0.07));
    border: 1px solid var(--hdr-border, #e2e6ea);
    background: var(--hdr-bg, #f4f6f9); /* placeholder while image loads */
}
.home-split__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
}
.home-split__body {
    min-width: 0;
}
.home-split__title {
    font-size: clamp(1.25rem, 2.2vw, 1.85rem);
    font-weight: 700;
    color: var(--hdr-navy, #003b6b);
    margin: 8px 0 16px;
    line-height: 1.2;
}
.home-split__text p {
    font-size: 15px;
    line-height: 1.75;
    color: #374151;
    margin: 0;
}
.home-split__text p + p {
    margin-top: 14px;
}
@media (max-width: 900px) {
    .home-split {
        grid-template-columns: 1fr;
    }
    .home-split--reverse .home-split__media,
    .home-split--reverse .home-split__body {
        order: unset;
    }
    /* On single-column mobile keep a sensible landscape height */
    .home-split__media {
        aspect-ratio: 16 / 7;
        max-height: clamp(180px, 45vw, 280px);
    }
}

/* ═══════════════════════════════════════════════════════════════
   SMART QUOTE BUILDER
════════════════════════════════════════════════════════════════ */
.quote-section {
    background: linear-gradient(135deg, #0c1c2e 0%, #003b6b 100%);
    padding: 80px 0;
}
.quote-builder {
    background: #fff;
    border-radius: 16px;
    padding: 48px;
    max-width: 820px;
    margin: 0 auto;
    box-shadow: 0 24px 64px rgba(0,0,0,0.22);
}

/* Step indicator */
.quote-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 40px;
}
.quote-step {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    position: relative;
}
.quote-step__num {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #e2e6ea; color: #5d6b7a;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 800;
    transition: background 0.25s, color 0.25s;
}
.quote-step__label { font-size: 11px; color: #5d6b7a; font-weight: 600; white-space: nowrap; }
.quote-step.active .quote-step__num  { background: var(--hdr-navy, #003b6b); color: #fff; }
.quote-step.active .quote-step__label { color: var(--hdr-navy, #003b6b); }
.quote-step.done .quote-step__num    { background: #2e7d32; color: #fff; }
.quote-step__connector {
    height: 2px; flex: 1; min-width: 60px; max-width: 120px;
    background: #e2e6ea; margin-bottom: 20px;
}

/* Step heading */
.quote-form__step-title {
    font-size: 18px; font-weight: 700;
    color: var(--hdr-navy, #003b6b);
    margin: 0 0 24px;
    border: none; padding: 0;
}

/* Kitchen type cards */
.quote-type-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}
.quote-type-card {
    display: flex; flex-direction: column; align-items: center;
    gap: 8px; padding: 18px 10px;
    border: 2px solid #e2e6ea;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s, transform 0.15s;
    user-select: none;
    background: #fff;
}
.quote-type-card input { position: absolute; opacity: 0; pointer-events: none; }
.quote-type-card__icon { font-size: 26px; line-height: 1; }
.quote-type-card__label { font-size: 12px; font-weight: 700; color: #4a5568; text-align: center; }
.quote-type-card:hover { border-color: var(--hdr-navy, #003b6b); transform: translateY(-2px); }
.quote-type-card.selected,
.quote-type-card:has(input:checked) {
    border-color: var(--hdr-navy, #003b6b);
    background: #eef3f9;
}
.quote-type-card.selected .quote-type-card__label,
.quote-type-card:has(input:checked) .quote-type-card__label { color: var(--hdr-navy, #003b6b); }

/* Inputs */
.quote-form__row { margin-bottom: 20px; }
.quote-form__two-col {
    display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px;
}
.quote-label {
    display: flex; align-items: center; gap: 7px;
    font-size: 12px; font-weight: 700;
    color: #5d6b7a; text-transform: uppercase;
    letter-spacing: 0.06em; margin-bottom: 7px;
}
.quote-label svg { width: 14px; height: 14px; color: var(--hdr-navy, #003b6b); }
.quote-input {
    width: 100%; box-sizing: border-box;
    padding: 11px 14px;
    border: 1.5px solid #e2e6ea; border-radius: 6px;
    font-size: 14px; font-family: inherit; color: #1e2a36;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.quote-input:focus {
    outline: none;
    border-color: var(--hdr-navy, #003b6b);
    box-shadow: 0 0 0 3px rgba(0,59,107,0.10);
}
textarea.quote-input { resize: vertical; }

/* File upload zone */
.quote-upload-zone {
    border: 2px dashed #c8d0da; border-radius: 8px;
    background: #f9fafc; cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    position: relative; overflow: hidden;
}
.quote-upload-zone.dragover { border-color: var(--hdr-navy, #003b6b); background: #eef3f9; }
.quote-upload-zone__inner {
    display: flex; flex-direction: column; align-items: center;
    gap: 8px; padding: 28px 20px; text-align: center;
    pointer-events: none;
}
.quote-upload-zone__inner svg { width: 32px; height: 32px; color: #c8d0da; }
.quote-upload-zone__inner p { margin: 0; font-size: 14px; color: #5d6b7a; }
.quote-upload-zone__inner span { font-size: 12px; color: #a0aab4; }
.quote-upload-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.quote-upload-zone__preview {
    padding: 12px 16px;
    font-size: 13px; font-weight: 600; color: #2e7d32;
    text-align: center;
}

/* Info notice */
.quote-form__notice {
    display: flex; align-items: flex-start; gap: 10px;
    background: #eef3f9; border-left: 4px solid var(--hdr-navy, #003b6b);
    border-radius: 0 6px 6px 0;
    padding: 14px 16px; font-size: 13px; color: #4a5568;
    margin-bottom: 24px;
}
.quote-form__notice svg { width: 16px; height: 16px; color: var(--hdr-navy, #003b6b); flex-shrink: 0; margin-top: 1px; }

/* Nav buttons */
.quote-form__nav {
    display: flex; align-items: center; justify-content: flex-end; gap: 12px;
    margin-top: 8px;
}
.quote-btn-back {
    background: none; border: 1.5px solid #e2e6ea;
    color: #5d6b7a; padding: 10px 20px;
    border-radius: 6px; font-size: 13.5px; font-weight: 600;
    cursor: pointer; transition: border-color 0.18s, color 0.18s;
}
.quote-btn-back:hover { border-color: #003b6b; color: #003b6b; }
.quote-btn-next {
    background: var(--hdr-navy, #003b6b); color: #fff;
    border: none; padding: 11px 26px;
    border-radius: 6px; font-size: 14px; font-weight: 700;
    cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center;
    transition: background 0.2s, transform 0.15s;
}
.quote-btn-next:hover { background: #002a4f; transform: translateY(-1px); }
.quote-btn-submit {
    background: var(--hdr-red, #b80000); color: #fff;
    border: none; padding: 13px 30px;
    border-radius: 6px; font-size: 14px; font-weight: 700;
    cursor: pointer; display: flex; align-items: center; gap: 8px;
    transition: background 0.2s, transform 0.15s;
}
.quote-btn-submit svg { width: 16px; height: 16px; }
.quote-btn-submit:hover { background: #9a0000; transform: translateY(-1px); }
.quote-btn-submit:disabled { opacity: 0.6; cursor: default; transform: none; }

/* Success state */
.quote-form__success {
    text-align: center; padding: 40px 20px;
}
.quote-success-icon {
    width: 72px; height: 72px; border-radius: 50%;
    background: #e8f5e9; color: #2e7d32;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px;
}
.quote-success-icon svg { width: 36px; height: 36px; }
.quote-form__success h3 { font-size: 22px; font-weight: 800; color: #003b6b; margin: 0 0 12px; }
.quote-form__success p  { color: #5d6b7a; font-size: 15px; line-height: 1.65; margin: 0; }

/* Responsive */
@media (max-width: 900px) {
    .quote-builder { padding: 32px 24px; }
    .quote-type-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
    .quote-form__two-col { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .section-header__title { font-size: 22px; }
    .quote-type-grid { grid-template-columns: repeat(2, 1fr); }
    .quote-builder { padding: 24px 16px; }
    .quote-step__connector { min-width: 32px; }
}

/* ─── HOME PAGE — no sidebar ────────────────────────────────────────────────── */
.home-no-sidebar .wrapper {
    display: block;   /* override the flex that puts left+right side by side */
}
.main-special-right--full {
    width: 100%;
    max-width: 100%;
}

/* ─── HERO / BANNER — full-width grid ───────────────────────────────────────── */
.gm-baner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 4px;                    /* tight seams look sharp on B2B sites */
    width: 100%;
    margin: 0;                   /* flush: no gap above/below */
    min-height: 520px;
}
.gm-baner1 { grid-area: 1 / 1 / 3 / 3; min-height: 520px; }
.gm-baner2 { grid-area: 1 / 3 / 2 / 4; }
.gm-baner3 { grid-area: 1 / 4 / 2 / 5; }
.gm-baner4 { grid-area: 2 / 3 / 3 / 5; }

.gm-baner div { overflow: hidden; }
.gm-baner div a { display: block; width: 100%; height: 100%; }
.gm-baner div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}
.gm-baner div img:hover { transform: scale(1.04); }

/* under-slider-box immediately after the hero — no gap */
.home .under-slider-box,
section > .under-slider-box:first-of-type {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .gm-baner { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; min-height: unset; }
    .gm-baner1 { grid-area: 1 / 1 / 2 / 3; min-height: 260px; }
    .gm-baner2 { grid-area: 2 / 1 / 3 / 2; }
    .gm-baner3 { grid-area: 2 / 2 / 3 / 3; }
    .gm-baner4 { grid-area: 3 / 1 / 4 / 3; }
}

@media (max-width: 500px) {
    .gm-baner { grid-template-columns: 1fr; }
    .gm-baner1, .gm-baner2, .gm-baner3, .gm-baner4 { grid-area: unset; min-height: 220px; }
}

/* ─── RESPONSIVE ─────────────────────────────────────────────────────────────── */
@media (max-width: 1200px) {
    .header-text-custom { font-size: 10.5px; padding: 4px 10px; }
    .hdr-action-btn--account .hdr-account-label { display: none; }
}

@media (min-width: 768px) and (max-width: 1040px) {
    .under-slider-item { padding: 14px 16px; }
    .under-slider-box-cust { justify-content: space-around; }
}

@media (max-width: 767px) {
    .logo-box-cust { flex-wrap: wrap; padding: 14px 0; gap: 14px; }
    .hdr-search-wrap { max-width: 100%; }
}

@media (max-width: 900px) {
    .header-text-custom { display: none; }
}

@media (max-width: 767px) {
    .hdr-topbar__inner {
        flex-direction: column;
        align-items: stretch;
        padding: 6px 0;
        gap: 4px;
    }
    .hdr-topbar__contact {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        width: 100%;
    }
    .hdr-topbar__item {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 2px;
        min-width: 0;
        padding: 4px 8px;
        border-right: 1px solid rgba(255, 255, 255, 0.15);
    }
    .hdr-topbar__item:last-child {
        border-right: none;
    }
    .hdr-topbar__text {
        align-items: center;
        min-width: 0;
        max-width: 100%;
    }
    .hdr-topbar__line {
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: normal;
    }
    .hdr-topbar__line--primary {
        font-size: 1.2rem; /* 12px — readable on 62.5% rem base */
        letter-spacing: -0.01em;
    }
    /* Drop secondary lines on phones — saves header height */
    .hdr-topbar__line--secondary {
        display: none !important;
    }
    .hdr-topbar__icon {
        width: 22px;
        height: 22px;
    }
    /* Fit inside the 22px box without forcing a square: the mail icon is 4:3
       and a fixed 22x22 distorted it (Lighthouse image-aspect-ratio). */
    .hdr-topbar__icon img {
        width: auto;
        height: auto;
        max-width: 22px;
        max-height: 22px;
        object-fit: contain;
    }
    .hdr-topbar__links {
        display: none !important;
    }
    .hdr-nav-mobile-only {
        display: list-item !important;
    }
    .hdr-nav-mobile-only__btn {
        display: flex;
        align-items: center;
        width: 100%;
        height: 48px;
        margin: 0;
        padding: 0 24px;
        border: none;
        border-left: 3px solid transparent;
        border-radius: 0;
        background: transparent;
        color: var(--hdr-white, #fff);
        font: inherit;
        font-weight: 600;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: inherit;
        cursor: pointer;
        box-sizing: border-box;
    }
    .hdr-nav-mobile-only__btn:hover,
    .hdr-nav-mobile-only__btn:focus-visible {
        border-left-color: var(--hdr-white, #fff);
        outline: none;
    }
    .header-nav-bg nav.nav > ul > li,
    .header-nav-bg nav.nav > div > ul > li { border-bottom: none !important; }
    .header-nav-bg nav.nav > ul,
    .header-nav-bg nav.nav > div > ul {
        flex-direction: column;
        margin-left: 0;
        display: none;
        position: absolute;
        left: 0; right: 0;
        background: var(--hdr-red);
        z-index: 100;
        padding: 8px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.2);
        border-top: 1px solid rgba(255,255,255,0.16);
    }
    .header-nav-bg nav.nav > ul > li > a,
    .header-nav-bg nav.nav > div > ul > li > a {
        height: 48px;
        width: 100%;
        border-radius: 0;
        padding: 0 24px;
        border-bottom: none !important;
        border-left: 3px solid transparent;
        box-shadow: none;
    }
    .header-nav-bg nav.nav > ul > li > a:hover,
    .header-nav-bg nav.nav > div > ul > li > a:hover,
    .header-nav-bg nav.nav > ul > li.current-menu-item > a,
    .header-nav-bg nav.nav > div > ul > li.current-menu-item > a {
        border-bottom: none !important;
        border-left-color: var(--hdr-white);
        background: rgba(0,0,0,0.14);
    }
    #toggle { display: flex; flex-direction: column; cursor: pointer; padding: 8px; }
    .header-custom-nav { position: relative; }
    .under-slider-box-cust { flex-direction: column; gap: 0; }
    .under-slider-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .under-slider-item:last-child { border-bottom: none; }
    .small-search { max-width: 200px; }
}

@media (max-width: 500px) {
    .hdr-action-btn { padding: 8px 12px; font-size: 12px; }
    .hdr-action-btn--cart { min-width: unset; }
    .hdr-cart__meta { display: none; }
}

/* ── WOOCOMMERCE ACCOUNT PAGES — no sidebar, full-width content ────────────── */
body.woocommerce-account .main-special-left,
body.woocommerce-account .sidebar-widget {
    display: none !important;
}
body.woocommerce-account .main-special-category > .wrapper {
    display: block !important;      /* kill any flex/grid that creates columns */
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
body.woocommerce-account .main-special-right {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    float: none !important;
}
body.woocommerce-account .main-special-category {
    padding: 0 !important;
    background: #f4f6f9;
}
/* Remove the breadcrumb bar on account pages — hero takes over */
body.woocommerce-account .bread-bg {
    display: none;
}
/* Hide page title on account pages */
body.woocommerce-account .single-header,
body.woocommerce-account .page-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .entry-title {
    display: none !important;
}

/* ─── Page content → footer gap (site-wide) ─────────────────────────────────── */
body:not(.home):not(.gl-checkout-page) .hdr-contact-bar--below-header {
    position: relative;
    z-index: 2;
    margin-top: var(--gl-page-footer-gap) !important;
}

/* Desktop home: contact bar lives in footer markup but stays hidden (mobile/tablet show it) */
@media (min-width: 1181px) {
	body.home .hdr-contact-bar--below-header {
		display: none !important;
	}
}

@media (max-width: 1180px) {
	body.home .hdr-contact-bar--below-header {
		margin-top: var(--gl-page-footer-gap) !important;
	}
}

body.home .preveda-page-content,
body.home .main-special-category {
    margin-bottom: var(--gl-page-footer-gap);
}

/* ═══════════════════════════════════════════════════════════════
   B2B FOOTER
════════════════════════════════════════════════════════════════ */

/* Pre-footer CTA strip — removed. .ftr-cta-strip* is emitted by no PHP or JS;
   the banner was taken out of footer.php. */

/* Main footer wrapper */
.ftr-main {
    background: #0c1c2e;
    color: rgba(255,255,255,0.75);
    padding: 60px 0 0;
    font-size: 13.5px;
    line-height: 1.65;
}

/* Four-column grid */
.ftr-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Column heading */
.ftr-col__heading {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    /* Lightened from #f00 (4.3:1) to clear WCAG AA on the navy footer. */
    color: #ff5252;
    margin: 0 0 18px;
    padding: 0;
    border: none;
}

/* Brand column */
.ftr-logo { display: inline-block; margin-bottom: 16px; }
.ftr-logo img { filter: brightness(0) invert(1); opacity: 0.9; }
.ftr-tagline {
    font-size: 15px;
    color: rgb(255 255 255);
    margin: 0 0 22px;
    line-height: 1.7;
}

/* Social icons */
.ftr-social { display: flex; gap: 10px; flex-wrap: wrap; }
.ftr-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.10);
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.ftr-social a:hover { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.25); transform: translateY(-2px); }
.ftr-social img { width: 16px; height: 16px; filter: brightness(0) invert(1); }

/* Link lists */
.ftr-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ftr-links li { margin: 0; }
.ftr-links a {
    color: rgb(255 255 255);
    text-decoration: none;
    font-size: 13.5px;
    transition: color 0.18s, padding-left 0.18s;
    display: block;
}
.ftr-links a:hover { color: #fff; padding-left: 4px; }

/* Contact list */
.ftr-contact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ftr-contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
}
.ftr-contact svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: rgb(255, 255, 255);
    margin-top: 3px;
}
.ftr-contact div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ftr-contact a { color: rgba(255,255,255,0.85); text-decoration: none; font-weight: 600; display: flex; flex-direction: column; gap: 2px; }
.ftr-contact a:hover { color: #fff; }
.ftr-contact a:hover span { color: #fff; }
.ftr-contact span { color:rgb(255 252 252); font-size: 12px; }
.ftr-contact span:first-child { color: rgba(255,255,255,0.75); font-size: 13.5px; font-weight: 500; }

/* Bottom bar */
.ftr-bottom {
    background: #07111f;
    padding: 18px 0;
}
.ftr-bottom__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px 24px;
}
.ftr-bottom__copy {
    font-size: 12.5px;
    color: rgb(255, 255, 255);
    justify-self: start;
    min-width: 0;
}
.ftr-bottom__copy a { color: rgb(255, 0, 0); text-decoration: none; }
.ftr-bottom__copy a:hover { color: #fff; }
/* .ftr-bottom__credit removed — emitted by no PHP or JS. */
.ftr-bottom__links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-self: end;
    justify-content: flex-end;
}
.ftr-bottom__links a {
    font-size: 12.5px;
    color: rgb(255, 255, 255);
    text-decoration: none;
    transition: color 0.18s;
}
.ftr-bottom__links a:hover { color: rgb(255, 0, 0); }

/* Floating contact buttons (email + phone) */
.gl-float-contact-btn {
    position: fixed;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
    z-index: 900;
}
.gl-float-contact-btn svg { width: 19px; height: 19px; flex-shrink: 0; }
.gl-float-contact-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
    color: #fff;
    text-decoration: none;
}
.gl-float-contact-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Email — bottom slot */
.gl-float-contact-btn--email {
    bottom: 28px;
    background: var(--hdr-navy, #003b6b);
}
.gl-float-contact-btn--email:hover { background: #002a50; }

/* Phone — middle slot */
.gl-float-contact-btn--phone {
    bottom: 82px; /* 28px + 44px + 10px gap */
    background: #2e7d32;
}
.gl-float-contact-btn--phone:hover { background: #1b5e20; }

/* Responsive */
@media (max-width: 767px) {
    /* Keep page content clear of fixed contact FABs (+ common sticky CTA plugins). */
    body {
        padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    }

    .gl-float-contact-btn {
        right: max(12px, env(safe-area-inset-right, 0px));
        width: 42px;
        height: 42px;
    }

    .gl-float-contact-btn--email {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    }

    .gl-float-contact-btn--phone {
        bottom: calc(68px + env(safe-area-inset-bottom, 0px));
    }

    /* Home mobile sticky CTA — lift FABs above the red Kontakt bar */
    body.page-template-home-new-may-2026 {
        padding-bottom: calc(140px + env(safe-area-inset-bottom, 0px));
    }

    body.page-template-home-new-may-2026 .gl-float-contact-btn--email {
        bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    }

    body.page-template-home-new-may-2026 .gl-float-contact-btn--phone {
        bottom: calc(128px + env(safe-area-inset-bottom, 0px));
    }

    /* Product buy card — clear FAB column so dropdowns stay tappable */
    body.gl-sp-reference .gl-sp__buy-card {
        padding-right: max(60px, calc(20px + env(safe-area-inset-right, 0px)));
    }

    body.gl-sp-reference .gl-sp__buy h1.product_title,
    body.gl-sp-reference .gl-sp__buy .price,
    body.gl-sp-reference .gl-sp__purchase {
        max-width: calc(100% - 4px);
    }

    /* Footer grid: single column — see mobile-responsive.css */

    /* .ftr-cta-strip* removed — emitted by no PHP or JS. */
}
