/* Haute Bathrooms - Custom Styles */
/* This file contains custom CSS that works alongside Tailwind CDN */

/* ========================================
   Custom Animations
   ======================================== */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

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

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

.animate-fade-in {
    animation: fadeIn 0.5s ease-out;
}

.animate-slide-up {
    animation: slideUp 0.5s ease-out;
}

.animate-slide-in-right {
    animation: slideInRight 0.3s ease-out;
}

/* ========================================
   Aspect Ratios
   ======================================== */
.aspect-product {
    aspect-ratio: 4 / 5;
}

.aspect-hero {
    aspect-ratio: 16 / 7;
}

.aspect-banner {
    aspect-ratio: 21 / 9;
}

/* ========================================
   Typography
   ======================================== */
.font-display {
    font-family: 'Playfair Display', ui-serif, Georgia, serif;
}

/* ========================================
   Hero Slider Styles (Swiper)
   ======================================== */
.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: 100% !important;
}

.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-slider .swiper-button-prev:after,
.hero-slider .swiper-button-next:after {
    display: none;
}

.hero-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
    transition: all 0.3s ease;
}

.hero-slider .swiper-pagination-bullet-active {
    width: 30px;
    border-radius: 5px;
    background: #9D8468;
}

/* ========================================
   Alpine.js Cloak
   ======================================== */
[x-cloak] {
    display: none !important;
}

/* ========================================
   Custom Scrollbar
   ======================================== */
html {
    scroll-behavior: smooth;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #F5F5F4;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ========================================
   Quote Cart Sidebar
   ======================================== */
#quote-cart-overlay {
    transition: opacity 0.3s ease;
}

#quote-cart-sidebar {
    transition: transform 0.3s ease;
}

/* ========================================
   Form Styles
   ======================================== */
input:focus,
textarea:focus,
select:focus {
    outline: none;
    ring: 2px;
    ring-color: #9D8468;
}

/* Loading spinner animation */
.animate-spin {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
