/* Vendor Prefixes for Better Browser Compatibility */

/* Transform properties */
*[style*="transform"],
.hero-btn:hover,
.sidebar-btn:hover,
.btn-service-cta:hover,
.btn-new-cars-cta:hover,
.gallery-item:hover,
.product-card:hover,
.new-car-card:hover,
.price-card:hover,
.service-card:hover,
.dropdown-menu a:hover {
    -webkit-transform: var(--transform-value, translateY(-2px));
    -moz-transform: var(--transform-value, translateY(-2px));
    -ms-transform: var(--transform-value, translateY(-2px));
    transform: var(--transform-value, translateY(-2px));
}

/* Transition properties */
* {
    -webkit-transition-property: inherit;
    -moz-transition-property: inherit;
    transition-property: inherit;
}

.hero-btn,
.sidebar-btn,
.btn-service-cta,
.btn-new-cars-cta,
.btn-editorial,
.gallery-item,
.product-card,
.price-card,
.service-card,
button,
a,
input,
textarea,
select {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* Box-shadow properties */
.hero-btn:hover,
.btn-service-cta:hover,
.btn-new-cars-cta:hover,
.product-card:hover,
.new-car-card:hover,
.contact-form,
.success-modal {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Border-radius properties */
.hero-btn,
.btn-editorial,
.btn-service-cta,
.btn-new-cars-cta,
.product-card,
.price-card,
.contact-form,
.success-modal {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

/* Flexbox properties */
.nav-links,
.hero-contact-buttons,
.sidebar-contact-buttons,
.contact-buttons,
.gallery-grid,
.price-grid,
.services-grid,
.products-grid,
.brand-grid,
.process-grid,
.promotion-grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.hero-btn,
.sidebar-btn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* Grid properties */
.gallery-grid,
.price-grid,
.services-grid,
.products-grid,
.brand-grid,
.new-cars-grid {
    display: -ms-grid;
    display: grid;
}

/* Animation keyframes with prefixes */
@-webkit-keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@-moz-keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@-o-keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@-webkit-keyframes fadeUp {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@-moz-keyframes fadeUp {
    from {
        opacity: 0;
        -moz-transform: translateY(20px);
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        -moz-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animation properties */
.fade-up,
.fade-in,
img.loaded {
    -webkit-animation: fadeIn 0.5s ease;
    -moz-animation: fadeIn 0.5s ease;
    -o-animation: fadeIn 0.5s ease;
    animation: fadeIn 0.5s ease;
}

/* Appearance properties */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* User-select properties */
.btn-number,
.price-amount,
.product-price {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Background-size properties */
.hero-visual,
.gallery-image {
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

/* Backdrop-filter for modern blur effects */
.dropdown-menu {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* Text-size-adjust for mobile */
html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Smooth scrolling */
html {
    -webkit-scroll-behavior: smooth;
    -moz-scroll-behavior: smooth;
    scroll-behavior: smooth;
}

/* Touch-action for better mobile interaction */
.gallery-nav button,
.menu-toggle,
.filter-btn {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

/* Hyphens for text breaking */
.product-desc,
.service-desc,
.hero-excerpt {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

/* Placeholder styling with vendor prefixes */
::-webkit-input-placeholder {
    color: #999;
    opacity: 1;
}

::-moz-placeholder {
    color: #999;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #999;
    opacity: 1;
}

::placeholder {
    color: #999;
    opacity: 1;
}

/* Selection styling */
::-webkit-selection {
    background: var(--accent);
    color: var(--paper);
}

::-moz-selection {
    background: var(--accent);
    color: var(--paper);
}

::selection {
    background: var(--accent);
    color: var(--paper);
}
