/* ============================================================
   ARAZY DIGITAL — Custom Stylesheet
   ============================================================ */

/* Material Symbols icon settings */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    user-select: none;
}

/* Glassmorphism cards */
.glass-card,
.glass-panel {
    background: rgba(18, 18, 20, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(42, 42, 46, 1);
    transition: border-color 0.2s ease;
}

.glass-card:hover,
.glass-panel:hover {
    border-color: rgba(64, 224, 208, 0.4);
}

/* Scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Focus styles for accessibility */
:focus-visible {
    outline: 2px solid #66fdec;
    outline-offset: 2px;
}

/* Remove default outline on elements that have custom focus */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
    outline: none;
}

/* Input field focus animation */
input,
select,
textarea {
    transition: border-color 0.2s ease;
    background-color: transparent;
}

/* Contact form status messages */
#form-status.success {
    border-color: #66fdec;
    color: #66fdec;
    background-color: rgba(102, 253, 236, 0.05);
    display: block !important;
}

#form-status.error {
    border-color: #ffb4ab;
    color: #ffb4ab;
    background-color: rgba(255, 180, 171, 0.05);
    display: block !important;
}

/* Portfolio filter active state */
.portfolio-filter.active {
    border-color: #40e0d0;
    color: #66fdec;
    background-color: rgba(64, 224, 208, 0.05);
}

/* Portfolio item hide animation */
.portfolio-item {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.portfolio-item.hidden-filter {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    visibility: hidden;
}

/* Mobile menu transition */
#mobile-menu {
    transition: all 0.2s ease;
}

/* Pulse animation for status indicators */
@keyframes pulse-glow {
    0%, 100% { opacity: 1; box-shadow: 0 0 4px #66fdec; }
    50%       { opacity: 0.5; box-shadow: 0 0 8px #66fdec; }
}

.pulse-glow {
    animation: pulse-glow 2s ease-in-out infinite;
}

/* Scroll-based nav opacity */
.nav-scrolled {
    background-color: rgba(2, 6, 23, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Text selection color */
::selection {
    background-color: #40e0d0;
    color: #003732;
}

/* Custom scrollbar for WebKit */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #0e0e0f;
}

::-webkit-scrollbar-thumb {
    background: #3c4a47;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #40e0d0;
}

/* Loading spinner for form submit */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 55, 50, 0.3);
    border-top-color: #003732;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

/* Responsive display adjustments */
@media (max-width: 768px) {
    .text-display {
        font-size: 48px !important;
        line-height: 1.1;
    }

    .text-headline-lg {
        font-size: 36px !important;
    }
}

@media (max-width: 480px) {
    .text-display {
        font-size: 36px !important;
    }

    .text-headline-lg {
        font-size: 28px !important;
    }
}
