/* Premium Design Utility Classes - Fallback for Non-Compiled Environments */

.shadow-premium {
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.04), 0 20px 50px -12px rgba(0, 0, 0, 0.08);
}

.shadow-high-texture {
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.05),
        0 10px 15px -3px rgba(0, 0, 0, 0.05),
        0 20px 25px -5px rgba(0, 0, 0, 0.05),
        0 25px 50px -12px rgba(0, 0, 0, 0.1);
}

.glass-texture {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.btn-premium {
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.btn-premium:hover {
    transform: translateY(-5px) scale(1.02) !important;
    box-shadow: 0 20px 40px -10px rgba(24, 165, 227, 0.4) !important;
}

/* Custom Border Radius Scales */
.rounded-\[60px\] {
    border-radius: 60px !important;
}

.rounded-\[50px\] {
    border-radius: 50px !important;
}

.rounded-\[40px\] {
    border-radius: 40px !important;
}

.rounded-\[30px\] {
    border-radius: 30px !important;
}

/* Font Awesome Animations */
.fa-animate {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

a:hover .fa-animate {
    transform: scale(1.3) rotate(8deg) !important;
}

/* Header Scrolled Styles */
.header-scrolled {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* Nav Link Hover Effect */
.nav-link-effect {
    padding-bottom: 4px !important;
}

.nav-link-effect::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: #18A5E3;
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.nav-link-effect:hover::after,
.nav-link-effect.text-primary::after {
    width: 30px !important;
}

/* Aspect Ratios */
.aspect-\[4\/5\] {
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.aspect-video {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

/* Icon Box Backgrounds */
.bg-primary\/10 {
    background-color: rgba(24, 165, 227, 0.1) !important;
}

.bg-primary\/20 {
    background-color: rgba(24, 165, 227, 0.2) !important;
}

.bg-accent\/10 {
    background-color: rgba(14, 123, 171, 0.1) !important;
}

.bg-white\/5 {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.bg-white\/10 {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.bg-white\/20 {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.bg-dark\/40 {
    background-color: rgba(26, 26, 26, 0.4) !important;
}

.bg-dark\/80 {
    background-color: rgba(26, 26, 26, 0.8) !important;
}

.bg-dark\/90 {
    background-color: rgba(26, 26, 26, 0.9) !important;
}

/* Custom Blur Classes */
.blur-\[150px\] {
    filter: blur(150px) !important;
}

.blur-\[120px\] {
    filter: blur(120px) !important;
}

.blur-\[100px\] {
    filter: blur(100px) !important;
}

.blur-\[80px\] {
    filter: blur(80px) !important;
}

/* CSS-only Text Gradients */
.text-transparent {
    color: transparent !important;
}

.bg-clip-text {
    -webkit-background-clip: text !important;
    background-clip: text !important;
}

.bg-gradient-to-r {
    background-image: linear-gradient(to right, #18A5E3, #0E7BAB) !important;
}

.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important;
}

/* Animations */
@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

/* Hero Badge */
.hero-badge {
    background: rgba(24, 165, 227, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(24, 165, 227, 0.3);
}

/* Utility Overrides for Hero */
.leading-none {
    line-height: 1 !important;
}

.leading-tight {
    line-height: 1.25 !important;
}

.font-black {
    font-weight: 900 !important;
}

.tracking-\[0\.3em\] {
    letter-spacing: 0.3em !important;
}

.tracking-\[0\.2em\] {
    letter-spacing: 0.2em !important;
}

.tracking-tight {
    letter-spacing: -0.025em !important;
}