/* Salvati Salon Suites — Custom Styles */

/* Base overrides */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Smooth anchor scrolling with offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

/* Selection color */
::selection {
    background-color: #99f6e4;
    color: #134e4a;
}

/* Focus visible styles */
:focus-visible {
    outline: 2px solid #14b8a6;
    outline-offset: 2px;
}

/* Image loading placeholder */
img {
    background-color: #ccfbf1;
}

/* Subtle pattern for sections */
.section-pattern {
    background-image: radial-gradient(circle, rgba(20, 184, 166, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Gradient text utility */
.gradient-text {
    background: linear-gradient(135deg, #0d9488, #14b8a6, #5eead4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Custom card hover effect */
.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-4px);
}

/* Navbar scroll effect */
.nav-scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Stat card pulse on hover */
.stat-card:hover .stat-number {
    animation: pulse-number 0.6s ease;
}
@keyframes pulse-number {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Decorative wave divider */
.wave-divider {
    position: relative;
}
.wave-divider::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 40px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40'%3E%3Cpath fill='%23f0fdfa' d='M0,20 C360,40 720,0 1080,20 C1260,30 1380,20 1440,20 L1440,40 L0,40 Z'/%3E%3C/svg%3E") no-repeat center bottom;
    background-size: cover;
}
