/**
 * Elementor Flip Cards BD - Styles
 */

.flip-card-container-bd {
    width: 100%;
    box-sizing: border-box;
}

.flip-card-bd {
    position: relative;
    /* Force hardware acceleration for better performance */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.flip-card-inner-bd {
    cursor: pointer;
    /* Ensure 3D context is maintained */
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    /* Smooth transition */
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
}

/* Ensure both sides maintain 3D positioning */
.flip-card-front-bd,
.flip-card-back-bd {
    /* Critical for 3D flip effect */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    /* Hardware acceleration */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    transform: translateZ(0);
}

/* Ensure images don't have any default margins */
.flip-card-front-bd img {
    display: block;
    margin: 0;
    padding: 0;
}

/* Smooth transition for all properties */
.flip-card-bd * {
    box-sizing: border-box;
}

/* Editor specific styles */
.elementor-editor-active .flip-card-bd:hover .flip-card-inner-bd {
    /* Allow flip in editor for preview */
    /* transform is handled inline */
}

/* Touch device support */
@media (hover: none) {
    .flip-card-bd.touch-flip .flip-card-inner-bd {
        -webkit-transform: rotateY(180deg);
        -moz-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }
    
    .flip-card-bd.touch-flip-vertical .flip-card-inner-bd {
        -webkit-transform: rotateX(180deg);
        -moz-transform: rotateX(180deg);
        transform: rotateX(180deg);
    }
}

/* Accessibility */
.flip-card-inner-bd:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .flip-card-inner-bd {
        transform: none !important;
        -webkit-transform: none !important;
    }
    
    .flip-card-back-bd {
        transform: none !important;
        -webkit-transform: none !important;
        position: relative !important;
        margin-top: 20px;
    }
}

/* Fix for Safari and iOS */
@supports (-webkit-touch-callout: none) {
    .flip-card-bd {
        -webkit-transform: translate3d(0, 0, 0);
    }
    
    .flip-card-front-bd,
    .flip-card-back-bd {
        -webkit-transform: translate3d(0, 0, 0);
    }
}
