/* ===============================
   Invomize Header
   =============================== */

:root {
    --inv-header-bg: #F0F8FD;
    --inv-header-height: 90px;
    --inv-header-height-shrink: 68px;
    --inv-header-pad: 32px;
    --inv-header-transition: 0.3s ease;
}

/* Base header – sticky reserves its own space */
.inv-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--inv-header-bg);
    height: var(--inv-header-height);
    overflow: hidden;
    transition: height var(--inv-header-transition),
                box-shadow var(--inv-header-transition),
                background var(--inv-header-transition);
}

.inv-header.is-shrunk {
    height: var(--inv-header-height-shrink);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

/* Inner flex container */
.inv-header__inner {
    max-width: 1440px;
    height: 100%;
    margin: 0 auto;
    padding: 0 var(--inv-header-pad);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-sizing: border-box;
}

/* ---------- Logo (not a link) ---------- */
.inv-header__logo {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    transition: transform var(--inv-header-transition);
}

.inv-header.is-shrunk .inv-header__logo {
    transform: scale(0.9);
}

.inv-header__logo-icon {
    height: 42px;
    width: auto;
    display: block;
    transition: height var(--inv-header-transition);
}

.inv-header__logo-text {
    height: 26px;
    width: auto;
    display: block;
    transition: height var(--inv-header-transition);
}

.inv-header.is-shrunk .inv-header__logo-icon { height: 34px; }
.inv-header.is-shrunk .inv-header__logo-text { height: 22px; }

/* ---------- Right side review badges ---------- */
.inv-header__right {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.inv-review {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.inv-review:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

.inv-review img {
    height: 48px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
    transition: height var(--inv-header-transition);
}

.inv-header.is-shrunk .inv-review img {
    height: 40px;
}

/* ===============================
   Admin bar offset (logged-in users)
   Desktop: bar is fixed 32px
   601–782px: bar is fixed 46px
   600px and below: WordPress makes the bar scroll away,
   so the header must stick to the very top (0)
   =============================== */

body.admin-bar .inv-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .inv-header {
        top: 46px;
    }
}

@media (max-width: 600px) {
    body.admin-bar .inv-header {
        top: 0;
    }
}

/* ===============================
   Tablet
   =============================== */

@media (max-width: 1024px) {
    :root {
        --inv-header-pad: 20px;
        --inv-header-height: 78px;
        --inv-header-height-shrink: 60px;
    }

    .inv-header__logo-icon { height: 36px; }
    .inv-header__logo-text { height: 22px; }
    .inv-header.is-shrunk .inv-header__logo-icon { height: 32px; }
    .inv-header.is-shrunk .inv-header__logo-text { height: 20px; }

    .inv-header__right { gap: 10px; }

    .inv-review img { height: 42px; max-width: 160px; }
    .inv-header.is-shrunk .inv-review img { height: 36px; }
}

/* ===============================
   Mobile (768px and below)
   Sizes scale with screen width (vw), so one block covers
   every phone. Edit the variables to resize.
   =============================== */

@media (max-width: 768px) {
    :root {
        --inv-header-height: 74px;
        --inv-header-height-shrink: 64px;
        --inv-header-pad: 12px;

        /* review badges (Trustpilot / Google) */
        --inv-m-badge-h: clamp(32px, 9.8vw, 48px);
        --inv-m-badge-h-shrink: clamp(28px, 8.6vw, 42px);

        /* logo */
        --inv-m-icon-h: clamp(24px, 7vw, 34px);
        --inv-m-icon-h-shrink: clamp(22px, 6.2vw, 30px);
        --inv-m-text-h: clamp(13px, 3.9vw, 19px);
        --inv-m-text-h-shrink: clamp(12px, 3.5vw, 17px);
    }

    .inv-header__inner {
        gap: 8px;
        padding: 0 var(--inv-header-pad);
        flex-wrap: nowrap;
    }

    /* logo */
    .inv-header__logo { gap: 5px; }
    .inv-header.is-shrunk .inv-header__logo { transform: none; }
    .inv-header__logo-icon { height: var(--inv-m-icon-h); }
    .inv-header__logo-text { height: var(--inv-m-text-h); }
    .inv-header.is-shrunk .inv-header__logo-icon { height: var(--inv-m-icon-h-shrink); }
    .inv-header.is-shrunk .inv-header__logo-text { height: var(--inv-m-text-h-shrink); }

    /* badges */
    .inv-header__right {
        gap: 5px;
        flex-shrink: 1;
        min-width: 0;
    }

    .inv-review {
        flex-shrink: 1;
        min-width: 0;
    }

    .inv-review img {
        height: var(--inv-m-badge-h);
        width: auto;
        max-width: 100%;
        object-fit: contain;
    }

    .inv-header.is-shrunk .inv-review img {
        height: var(--inv-m-badge-h-shrink);
    }
}