/* =====================================================
   AZKIWEB Animated Logo
   ===================================================== */

:root {
    --color-blue: #27AAE1;
    --color-pink: #EC008C;
    --color-dark-pink: #EC008C;
    --color-yellow: #F9ED32;
    --color-gray: #555;
    --color-white: #fff;
    --speed-base: 111ms;
    --speed-logo: calc(var(--speed-base) * 3);
}

/* Logo SVG Container */
.logo-svg {
    display: block;
    position: relative;
    right: -50px;
    transform: translateX(0);
    transition: transform var(--speed-logo) ease-out, right var(--speed-logo) ease-out;
    transition-delay: calc(var(--speed-base) * 2);
    max-width: 180px;
    height: auto;
}

[class*="logo-"] {
    transition: all var(--speed-logo) ease-out;
}

/* Icon Parts */
.logo-c {
    fill: var(--color-gray);
    transition-delay: calc(var(--speed-base) * 4);
}

.logo-m-left-1 {
    fill: var(--color-gray);
    transition-delay: calc(var(--speed-base) * 3.5);
}

.logo-m-left-2 {
    fill: var(--color-gray);
    opacity: 0.4;
    transition-delay: calc(var(--speed-base) * 3.5);
}

.logo-m-right {
    fill: var(--color-gray);
    transition-delay: calc(var(--speed-base) * 3);
}

/* Text Parts */
.logo-text {
    font-family: 'Montserrat', sans-serif;
    opacity: 0;
    transition-delay: 0ms;
}

.logo-text-azki {
    font-size: 26px;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.logo-text-web {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.15em;
}

/* Hover State */
.logo-svg:hover {
    transform: translateX(-3.5em);
    transition-delay: 0ms;
}

.logo-svg:hover .logo-c {
    fill: var(--color-blue);
    transition-delay: calc(var(--speed-base) * 2);
}

.logo-svg:hover .logo-m-left-1 {
    fill: var(--color-pink);
    transition-delay: calc(var(--speed-base) * 2.5);
}

.logo-svg:hover .logo-m-left-2 {
    fill: var(--color-dark-pink);
    opacity: 0.4;
    transition-delay: calc(var(--speed-base) * 2.5);
}

.logo-svg:hover .logo-m-right {
    fill: var(--color-yellow);
    transition-delay: calc(var(--speed-base) * 3);
}

.logo-svg:hover .logo-type {
    fill: var(--color-white);
    opacity: 1;
}

/* AZKI Animation */
.logo-svg:hover .logo-type-azki-a {
    transition-delay: calc(var(--speed-base) * 3.5);
}

.logo-svg:hover .logo-type-azki-z {
    transition-delay: calc(var(--speed-base) * 4);
}

.logo-svg:hover .logo-type-azki-k {
    transition-delay: calc(var(--speed-base) * 4.25);
}

.logo-svg:hover .logo-type-azki-i {
    transition-delay: calc(var(--speed-base) * 4.5);
}

/* WEB Animation */
.logo-svg:hover .logo-type-web-w {
    transition-delay: calc(var(--speed-base) * 4);
}

.logo-svg:hover .logo-type-web-e {
    transition-delay: calc(var(--speed-base) * 4.5);
}

.logo-svg:hover .logo-type-web-b {
    transition-delay: calc(var(--speed-base) * 5);
}

/* Responsive */
@media (max-width: 768px) {
    .logo-svg {
        max-width: 150px;
        right: -40px;
        transform: translateX(0);
    }
    
    .logo-svg:hover {
        transform: translateX(-3.5em);
    }
    
    .logo-text-azki {
        font-size: 20px;
    }
    
    .logo-text-web {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .logo-svg {
        max-width: 120px;
        right: -30px;
        transform: translateX(0);
    }
    
    .logo-svg:hover {
        transform: translateX(-3.5em);
    }
    
    .logo-text-azki {
        font-size: 18px;
    }
    
    .logo-text-web {
        font-size: 16px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .logo-svg,
    [class*="logo-"] {
        transition: none;
    }
}

.logo-svg:focus {
    outline: 2px solid var(--color-blue);
    outline-offset: 4px;
}

/* Fix for menu positioning - prevent logo from affecting menu */
.modern-header__logo {
    overflow: visible;
    position: relative;
    width: 180px;
    flex-shrink: 0;
}

.modern-header__logo-link {
    display: block;
    overflow: visible;
}
