/* =========================================
   Base Utilities & Helper Classes (Compiled)
   ========================================= */

.text-primary {
    color: var(--site-primary, #ffb600) !important;
}

.bg-primary {
    background-color: var(--site-primary, #ffb600) !important;
}

.border-primary {
    border-color: var(--site-primary, #ffb600) !important;
}

.hover-primary:hover {
    color: var(--site-primary, #ffb600) !important;
}

.transition-header {
    transition: all 0.3s ease-in-out;
}

.transition-img {
    transition: transform 0.5s ease-in-out;
}

.transition-hover {
    transition: all 0.3s ease-in-out;
}
.transition-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}

.transition-hover-x {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.transition-hover-x:hover {
    transform: translateX(5px);
    opacity: 1 !important;
        color: var(--site-primary, #ffb600) !important;
}

.transition-transform {
    transition: transform 0.3s ease;
}

.group:hover .transition-img {
    transform: scale(1.08);
}

.group:hover .project-overlay {
    opacity: 1 !important;
}

.group:hover .transition-transform {
    transform: translateX(5px);
}

.group-hover-btn:hover {
    background-color: var(--site-dark, #222222);
    color: white;
}

.bg-gradient-dark {
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 100%);
}

.tracking-wide {
    letter-spacing: 0.05em;
}

.shrink-0 {
    flex-shrink: 0;
}

.read-more-link:hover {
    color: var(--site-dark, #222222) !important;
    border-color: var(--site-dark, #222222) !important;
}

/* Custom shadow sizes */
.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
}
.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important;
}
