/* Icon Promo Box - CSS */
.ipb-card-78eeb8c7 {
    position: relative;
    overflow: hidden;
    transition: transform var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease), padding var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease), margin var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease), background-color var(--ipb-transition-speed, 0.4s);
    background-color: #fff;
    border-radius: 8px;
    z-index: 1;
    transform-origin: bottom center; /* Anchor to bottom */
    transform: translateY(0);
}

/* Expand Up (Anchor Bottom) */
.ipb-dir-up .ipb-card-78eeb8c7:hover {
    transform: translateY(calc(-1 * var(--ipb-translate-y, 15px)));
    padding-bottom: var(--ipb-translate-y, 15px); /* Add padding to push content up without moving bottom edge visually */
    margin-bottom: calc(-1 * var(--ipb-translate-y, 15px)); /* Offset padding */
}

/* Expand Down */
.ipb-dir-down .ipb-card-78eeb8c7:hover {
    transform: translateY(var(--ipb-translate-y, 15px));
}

.ipb-card-content-78eeb8c7 {
    position: relative;
    z-index: 2;
    padding: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Expand Down orders */
.ipb-dir-down .ipb-card-content-78eeb8c7 {
    justify-content: flex-start;
}

.ipb-card-bg-overlay-78eeb8c7 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0;
    transition: opacity var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease);
}
.ipb-card-78eeb8c7:hover .ipb-card-bg-overlay-78eeb8c7 {
    opacity: 1;
}

.ipb-icon-wrapper-78eeb8c7 {
    display: inline-block;
    transition: all var(--ipb-transition-speed, 0.4s) ease;
    margin-bottom: 20px;
}
.ipb-icon-wrapper-78eeb8c7 i {
    display: inline-flex;
}
.ipb-icon-wrapper-78eeb8c7 svg {
    display: inline-block;
    fill: currentColor;
}

.ipb-title-78eeb8c7 {
    margin: 0 0 10px 0;
    transition: color var(--ipb-transition-speed, 0.4s) ease;
}

.ipb-reveal-78eeb8c7 {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease);
}

.ipb-card-78eeb8c7:hover .ipb-reveal-78eeb8c7 {
    grid-template-rows: 1fr;
}

.ipb-reveal-inner-78eeb8c7 {
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease), visibility var(--ipb-transition-speed, 0.4s) step-end;
}

.ipb-card-78eeb8c7:hover .ipb-reveal-inner-78eeb8c7 {
    opacity: 1;
    visibility: visible;
    transition: opacity var(--ipb-transition-speed, 0.4s) var(--ipb-transition-easing, ease), visibility 0s step-start;
}

.ipb-description-78eeb8c7 {
    margin-bottom: 20px;
}

.ipb-btn-78eeb8c7 {
    display: inline-block;
    padding: 10px 20px;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
    border-radius: 4px;
}