/* Minimal four-line pyramid icon for Inspiro menu toggles. */
.ipm-ready {
    position: relative;
}

.ipm-ready .ipm-pyramid {
    --ipm-line-height: 2px;
    --ipm-gap: 4px;
    --ipm-width-1: 12px;
    --ipm-width-2: 16px;
    --ipm-width-3: 20px;
    --ipm-width-4: 24px;
    --ipm-duration: 320ms;
    --ipm-ease: cubic-bezier(.22, .61, .36, 1);

    display: inline-flex;
    width: 28px;
    height: 26px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ipm-gap);
    vertical-align: middle;
    pointer-events: none;
}

.ipm-ready .ipm-pyramid__line {
    display: block;
    height: var(--ipm-line-height);
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
    transition:
        width var(--ipm-duration) var(--ipm-ease),
        transform var(--ipm-duration) var(--ipm-ease),
        opacity var(--ipm-duration) var(--ipm-ease);
    will-change: width, transform;
}

.ipm-ready .ipm-pyramid__line:nth-child(1) { width: var(--ipm-width-1); }
.ipm-ready .ipm-pyramid__line:nth-child(2) { width: var(--ipm-width-2); }
.ipm-ready .ipm-pyramid__line:nth-child(3) { width: var(--ipm-width-3); }
.ipm-ready .ipm-pyramid__line:nth-child(4) { width: var(--ipm-width-4); }

/* Reverse the pyramid from top-heavy to bottom-heavy on hover/focus. */
.ipm-ready:hover .ipm-pyramid__line:nth-child(1),
.ipm-ready:focus-visible .ipm-pyramid__line:nth-child(1) { width: var(--ipm-width-4); }
.ipm-ready:hover .ipm-pyramid__line:nth-child(2),
.ipm-ready:focus-visible .ipm-pyramid__line:nth-child(2) { width: var(--ipm-width-3); }
.ipm-ready:hover .ipm-pyramid__line:nth-child(3),
.ipm-ready:focus-visible .ipm-pyramid__line:nth-child(3) { width: var(--ipm-width-2); }
.ipm-ready:hover .ipm-pyramid__line:nth-child(4),
.ipm-ready:focus-visible .ipm-pyramid__line:nth-child(4) { width: var(--ipm-width-1); }

/* Hide common original Inspiro hamburger artwork while preserving labels and click behavior. */
.ipm-ready > .icon-bar,
.ipm-ready > .hamburger,
.ipm-ready > .hamburger-box,
.ipm-ready > .menu-icon,
.ipm-ready > .navbar-toggle-icon,
.ipm-ready > svg:not(.ipm-keep),
.ipm-ready > i[class*="icon-menu"],
.ipm-ready > i[class*="fa-bars"] {
    display: none !important;
}

.ipm-ready .screen-reader-text,
.ipm-ready .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
    .ipm-ready .ipm-pyramid__line {
        transition-duration: 1ms;
    }
}
