/**
 * 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);
    }
}

/* Couples-specific styles */
.flip-card-back-couples {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 30px 20px !important;
    gap: 15px !important;
}

.person-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    text-align: center !important;
}

/* Horizontal divider line between person 1 and person 2 */
.person-row-1 {
    padding-bottom: 15px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.person-row-2 {
    padding-top: 15px !important;
}

.person-name {
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.person-separator {
    opacity: 0.7 !important;
    padding: 0 4px !important;
}

.person-role {
    font-weight: 500 !important;
}

.person-country {
    font-weight: 400 !important;
    opacity: 0.9 !important;
}

/* Mobile adjustments for couples */
@media (max-width: 767px) {
    .flip-card-back-couples {
        padding: 20px 15px !important;
        gap: 12px !important;
    }
    
    .person-row {
        gap: 6px !important;
        font-size: 13px !important;
    }
    
    .person-row-1 {
        padding-bottom: 12px !important;
    }
    
    .person-row-2 {
        padding-top: 12px !important;
    }
    
    .person-separator {
        padding: 0 3px !important;
    }
}
