/* Animation Delay Utilities */
.animation-delay-100 { animation-delay: 0.1s !important; }
.animation-delay-200 { animation-delay: 0.2s !important; }
.animation-delay-300 { animation-delay: 0.3s !important; }
.animation-delay-400 { animation-delay: 0.4s !important; }
.animation-delay-500 { animation-delay: 0.5s !important; }
.animation-delay-600 { animation-delay: 0.6s !important; }
.animation-delay-700 { animation-delay: 0.7s !important; }
.animation-delay-800 { animation-delay: 0.8s !important; }
.animation-delay-900 { animation-delay: 0.9s !important; }
.animation-delay-1000 { animation-delay: 1s !important; }
.animation-delay-1100 { animation-delay: 1.1s !important; }
.animation-delay-1200 { animation-delay: 1.2s !important; }

/* Dynamic animation delays for loops */
[data-animation-delay="0"] { animation-delay: 0s !important; }
[data-animation-delay="1"] { animation-delay: 0.1s !important; }
[data-animation-delay="2"] { animation-delay: 0.2s !important; }
[data-animation-delay="3"] { animation-delay: 0.3s !important; }
[data-animation-delay="4"] { animation-delay: 0.4s !important; }
[data-animation-delay="5"] { animation-delay: 0.5s !important; }
[data-animation-delay="6"] { animation-delay: 0.6s !important; }
[data-animation-delay="7"] { animation-delay: 0.7s !important; }
[data-animation-delay="8"] { animation-delay: 0.8s !important; }
[data-animation-delay="9"] { animation-delay: 0.9s !important; }
[data-animation-delay="10"] { animation-delay: 1.0s !important; }

/* Icon Size Utilities */
.icon-xs {
    width: 14px !important;
    height: 14px !important;
}

.icon-sm {
    width: 16px !important;
    height: 16px !important;
}

.icon-md {
    width: 20px !important;
    height: 20px !important;
}

.icon-lg {
    width: 28px !important;
    height: 28px !important;
}

.icon-xl {
    width: 48px !important;
    height: 48px !important;
}

.icon-xxl {
    width: 64px !important;
    height: 64px !important;
}

.icon-xxxl {
    width: 80px !important;
    height: 80px !important;
}

/* Progress Bar Utilities */
.progress-bar-init {
    width: 0%;
    transition: width 0.3s ease;
}

/* Hero Section Utilities */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.hero-media-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.hero-min-height {
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Card Placeholder Utilities */
.card-placeholder {
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-placeholder-sm {
    min-height: 280px;
}

.card-placeholder-lg {
    min-height: 600px;
}

/* Disabled State Utilities */
.card-disabled {
    cursor: not-allowed;
    opacity: 0.7;
}

/* Image Utilities */
.img-avatar {
    width: 180px;
    height: 180px;
    object-fit: cover;
}

.img-avatar-sm {
    width: 48px;
    height: 48px;
    object-fit: cover;
}

/* Z-Index Utilities */
.z-neg-3 { z-index: -3 !important; }
.z-neg-2 { z-index: -2 !important; }
.z-neg-1 { z-index: -1 !important; }

/* Pointer Events */
.pointer-events-none {
    pointer-events: none;
}

/* Font Size Utilities for Icons in Text */
.fs-icon-sm { font-size: 2rem !important; }
.fs-icon-md { font-size: 3rem !important; }
.fs-icon-lg { font-size: 4rem !important; }

/* Service Hero Utilities */
.hero-gradient-overlay {
    background: linear-gradient(135deg, rgba(0,0,0,0.7), rgba(0,0,0,0.3));
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.hero-image-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -3;
}

.service-pillar-gradient {
    background: linear-gradient(135deg, var(--bs-primary), var(--bs-secondary));
}

/* Disabled Card States */
.tool-card-disabled {
    cursor: not-allowed;
    opacity: 0.7;
}

/* Calendar Widget */
.embedded-calendar {
    min-height: 600px;
}

.calendly-widget {
    min-width: 320px;
    height: 630px;
}