/* Safari-specific fixes for better compatibility */

/* Text rendering improvements */
body {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Form element fixes for Safari */
input[type="text"], 
input[type="password"], 
input[type="email"], 
select, 
textarea {
    -webkit-appearance: none;
    appearance: none;
    -webkit-border-radius: 0.375rem;
    border-radius: 0.375rem;
}

/* Button fixes for Safari */
button, 
.btn {
    -webkit-appearance: none;
    appearance: none;
    -webkit-border-radius: 0.375rem;
    border-radius: 0.375rem;
}

/* Transform fixes */
.transform-fix {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

/* Flexbox fixes for Safari */
.d-flex {
    display: -webkit-flex;
    display: flex;
}

.flex-column {
    -webkit-flex-direction: column;
    flex-direction: column;
}

.justify-content-center {
    -webkit-justify-content: center;
    justify-content: center;
}

.align-items-center {
    -webkit-align-items: center;
    align-items: center;
}

/* Card shadow fixes */
.card {
    -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.shadow-lg {
    -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
}

/* Font rendering fixes */
h1, h2, h3, h4, h5, h6 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Icon fixes */
.fas, .far, .fab {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
