/* ============================================
   PREMIUM CARDS STYLES (Homepage Section)
   ============================================ */

/* Main Card Container */
.ix_card-change-width {
    animation: fadeInUp 0.8s ease-out 0.2s both;
}

/* Primary Card with Content */
.card_body {
    background: linear-gradient(135deg,
            var(--glass-white-95) 0%,
            var(--glass-white-90) 100%);
    backdrop-filter: blur(var(--blur-md)) saturate(180%);
    -webkit-backdrop-filter: blur(var(--blur-md)) saturate(180%);
    border-radius: var(--radius-2xl);
    padding: 3rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: all var(--transition-slow);
    position: relative;
    overflow: hidden;
}

.card_body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
            var(--premium-primary) 0%,
            var(--premium-primary-hover) 50%,
            var(--premium-primary) 100%);
    background-size: 200% 100%;
    animation: shimmer 3s ease-in-out infinite;
    opacity: 0;
    transition: opacity var(--transition-base);
}

.card_body:hover::before {
    opacity: 1;
}

.card_body::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at top right,
            rgba(255, 77, 0, 0.05) 0%,
            transparent 60%);
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--transition-slow);
}

.card_body:hover::after {
    opacity: 1;
}

.card_body:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-premium), inset 0 1px 0 rgba(255, 255, 255, 1);
    border-color: rgba(255, 77, 0, 0.2);
}

/* Card Headings */
.card_body .heading,
.card_body .heading-2,
.card_body .heading-3 {
    color: var(--text-primary);
    transition: color var(--transition-base);
    position: relative;
    z-index: 1;
}

.card_body:hover .heading,
.card_body:hover .heading-2,
.card_body:hover .heading-3 {
    color: var(--text-primary-hover);
}

/* Card Paragraphs */
.card_body .paragraph_large {
    color: var(--text-secondary);
    transition: color var(--transition-base);
    position: relative;
    z-index: 1;
}

.card_body:hover .paragraph_large {
    color: var(--text-primary-hover);
}

/* Background Card with Image */
.ix_card-change-width-background {
    position: relative;
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    animation: fadeInUp 0.8s ease-out 0.4s both;
}

.ix_card-change-width-background img {
    transition: transform var(--transition-slow);
}

.ix_card-change-width-background:hover img {
    transform: scale(1.1);
}

.overlay_opacity-middle {
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.3) 0%,
            rgba(0, 0, 0, 0.6) 100%);
    transition: background var(--transition-base);
}

.ix_card-change-width-background:hover .overlay_opacity-middle {
    background: linear-gradient(180deg,
            rgba(255, 77, 0, 0.2) 0%,
            rgba(0, 0, 0, 0.5) 100%);
}

/* Side Content Cards */
.ix_card-change-side-content {
    animation: fadeInUp 0.8s ease-out 0.6s both;
}

.background_white {
    background: linear-gradient(135deg,
            var(--glass-white-95) 0%,
            var(--glass-white-90) 100%);
    backdrop-filter: blur(var(--blur-md));
    -webkit-backdrop-filter: blur(var(--blur-md));
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base);
}

.background_white:hover {
    transform: translateX(8px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(255, 77, 0, 0.2);
}

/* Buttons in Cards */
.card_body .button,
.background_white .button {
    position: relative;
    z-index: 1;
}

/* Responsive Cards */
@media (max-width: 991px) {
    .card_body {
        padding: 2rem;
    }

    .ix_card-change-width-background {
        margin-bottom: 2rem;
    }
}

@media (max-width: 479px) {

    /* 
       FORCE FLEX LAYOUT to override Webflow Grid overlapping 
       This ensures elements stack vertically with proper gap
    */
    .ix_card-change-width .w-layout-grid {
        display: flex !important;
        flex-direction: column;
        gap: 3rem !important;
        /* Large gap to separate content */
        margin-bottom: 2rem;
    }

    .card_body {
        padding: 1.5rem;
        border-radius: var(--radius-lg);
        background: var(--glass-white-95);
        position: relative;
        z-index: 2;
        width: 100%;
        margin: 0 !important;
        /* Reset margins, let gap handle it */
        order: 1;
        /* Ensure text is first */
    }

    .ix_card-change-width-background {
        border-radius: var(--radius-lg);
        min-height: 250px;
        position: relative;
        z-index: 1;
        width: 100%;
        margin: 0 !important;
        order: 2;
        /* Ensure image is second */
    }

    .card_body .heading,
    .card_body .heading-2,
    .card_body .heading-3 {
        font-size: 1.5rem;
    }

    .card_body .paragraph_large {
        font-size: 0.95rem;
        line-height: 1.5;
    }
}