/* Premium UI Polish Override */

:root {
    /* Premium Design Tokens */
    --radius-lg: 1.25rem;
    --radius-xl: 2.25rem;
    --radius-2xl: 3.5rem;
    --shadow-sm: 0 4px 20px rgba(0, 0, 0, 0.03);
    --shadow-md: 0 10px 40px -10px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 24px 64px -16px rgba(0, 0, 0, 0.08);
    --border-soft: 1px solid rgba(0, 0, 0, 0.06);
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(255, 255, 255, 0.3);
}

/* Skeleton Loading Shimmer */
.skeleton {
    background: #eee;
    background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%);
    border-radius: var(--radius-lg);
    background-size: 200% 100%;
    animation: 1.5s shine linear infinite;
    min-height: 20px;
}

@keyframes shine {
    to {
        background-position-x: -200%;
    }
}

/* Premium Card Enhancements */
.service-card,
.faq-item,
.bg-white.rounded-lg,
.contact-card {
    border-radius: var(--radius-xl) !important;
    border: var(--border-soft) !important;
    box-shadow: var(--shadow-sm) !important;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.1) !important;
    overflow: hidden;
}

.service-card:hover,
.faq-item:hover,
.contact-card:hover {
    transform: translateY(-12px) scale(1.01) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* Rounded Utilities Override */
.rounded-lg {
    border-radius: var(--radius-lg) !important;
}

.rounded-xl {
    border-radius: var(--radius-xl) !important;
}

.rounded-2xl {
    border-radius: var(--radius-2xl) !important;
}

.rounded-full {
    border-radius: 9999px !important;
}

/* Micro-animations */
.btn,
.button-animated,
button,
.nav-link,
.announcement-cta {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.btn,
.button-animated,
.nav-link,
.announcement-cta {
    position: relative;
}

.btn:hover,
.button-animated:hover:not(:disabled),
button:hover:not(:disabled),
.announcement-cta:hover {
    transform: scale(1.05) translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn:active,
.button-animated:active,
button:active,
.announcement-cta:active {
    transform: scale(0.96);
}

/* Nav Link Hover Polish */
.nav-link {
    display: inline-block;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--color-primary);
    transition: all 0.3s ease;
    transform: translateX(-50%);
    border-radius: 2px;
}

.nav-link:hover::after {
    width: 100%;
}

/* Section Spacing breathing room */
section {
    padding-left: 5% !important;
    padding-right: 5% !important;
}

.container {
    max-width: 1200px !important;
}

/* Soften shadows on all white containers */
.bg-white {
    box-shadow: var(--shadow-sm);
}

@media (max-width: 768px) {
    section {
        padding-left: 4% !important;
        padding-right: 4% !important;
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .text-3xl {
        font-size: 1.875rem !important;
    }

    .text-4xl {
        font-size: 2.25rem !important;
    }
}
/* Mobile UI Positioning Fixes */
@media (max-width: 768px) {
    .hero-gradient {
        margin-top: 25vh !important;
    }

    #back-to-top {
        right: 1.5rem !important;
        bottom: 2rem !important;
        z-index: 999 !important;
    }
}
