/**
 * Safari Compatibility Fixes
 * Include this in all HTML pages: <link rel="stylesheet" href="safari-fixes.css">
 */

/* Backdrop filter - Safari requires -webkit prefix */
.glass-effect,
.backdrop-blur,
.backdrop-blur-sm,
.backdrop-blur-md,
.backdrop-blur-lg,
.backdrop-blur-xl {
    -webkit-backdrop-filter: blur(10px);
}

/* Form element normalization for Safari */
input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
}

/* Preserve native checkbox and radio appearance */
input[type="checkbox"],
input[type="radio"] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: auto;
}

input[type="radio"] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
}

/* Range input styling for Safari */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
}

input[type="range"]::-webkit-slider-runnable-track {
    background: #e2e8f0;
    border-radius: 8px;
    height: 8px;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    margin-top: -6px;
    width: 20px;
    height: 20px;
    background: #2563eb;
    border-radius: 50%;
    cursor: pointer;
}

/* Firefox range input */
input[type="range"]::-moz-range-track {
    background: #e2e8f0;
    border-radius: 8px;
    height: 8px;
}

input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #2563eb;
    border-radius: 50%;
    border: none;
    cursor: pointer;
}

/* Color input fix for Safari */
input[type="color"] {
    -webkit-appearance: none;
    appearance: none;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
}

input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 4px;
}

input[type="color"]::-webkit-color-swatch {
    border-radius: 4px;
    border: none;
}

/* Fix Safari button tap highlight */
button,
a {
    -webkit-tap-highlight-color: transparent;
}

/* Flex gap fallback hint - Safari 14.1+ supports gap natively */
/* For older Safari, you may need margin-based spacing */

/* Transform animation webkit prefix for older Safari */
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(5px);
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* Custom toggle switch Safari fix */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider:before {
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

input:checked + .slider:before {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
}
