/* assets/css/style.css */
/* 
 * Luxury Brand Theme Custom Styles
 * Al-Namaa Al-Sharqi (النماء الشرقي)
 */

:root {
    --glass-bg: rgba(11, 15, 14, 0.45);
    --glass-border: rgba(212, 175, 55, 0.15); /* Gold tinted border */
    --gold: #EBC351; /* Brighter gold for better contrast */
    --emerald-dark: #064E3B;
    --dark-bg: #0B0F0E;
}

body {
    background-color: var(--dark-bg);
    /* Improve font rendering for high-end feel */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Premium Text Selection */
::selection {
    background: rgba(212, 175, 55, 0.9);
    color: var(--dark-bg);
}

/* -------------------------------------
 * Glassmorphism Utilities
 * ------------------------------------- */
.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

/* Navigation specific glass effect */
.glass-nav {
    background: rgba(11, 15, 14, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-nav.scrolled {
    background: rgba(11, 15, 14, 0.85); /* Slightly more transparent glass */
    border-bottom: 1px solid var(--glass-border);
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.8);
}

.glass-nav.nav-hidden {
    transform: translateY(-100%);
    opacity: 0;
}

.glass-nav.nav-transparent {
    background: transparent !important;
    border-bottom-color: transparent !important;
    backdrop-filter: blur(0px) !important;
    -webkit-backdrop-filter: blur(0px) !important;
    box-shadow: none !important;
    padding-top: 1.5rem; /* Larger padding at top for 'mixed' look */
    padding-bottom: 1.5rem;
}

.active-filter {
    color: var(--gold) !important;
    border-color: rgba(212, 175, 55, 0.5) !important;
    background: rgba(212, 175, 55, 0.05);
}

/* Refined Scroll Dot Animation */
@keyframes scrollDot {
    0% { transform: translateY(0); opacity: 0; }
    30% { opacity: 1; }
    100% { transform: translateY(18px); opacity: 0; }
}

.animate-scroll-dot {
    animation: scrollDot 2.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}

/* -------------------------------------
 * Visual Textures & Utilities
 * ------------------------------------- */
/* Noise Texture for subtle grit/premium feel */
.bg-noise {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='1'/%3E%3C/svg%3E");
    mix-blend-mode: overlay;
}

/* -------------------------------------
 * Hero Typography Fixes
 * ------------------------------------- */
.hero-title span {
    display: block;
    padding-bottom: 0.15em; /* Space for Arabic descenders */
    padding-top: 0.1em;
    margin-bottom: -0.15em;
    line-height: 1.2;
}

/* -------------------------------------
 * Custom Premium Scrollbar
 * ------------------------------------- */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #050808;
    border-left: 1px solid rgba(255, 255, 255, 0.05);
}
::-webkit-scrollbar-thumb {
    background: #1a2421;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--gold);
}

/* -------------------------------------
 * Active Navigation Link Style
 * ------------------------------------- */
.nav-link {
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--gold);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link.active {
    color: var(--gold) !important;
}

.nav-link.active::after {
    width: 100%;
}

/* -------------------------------------
 * Performance Optimizations
 * ------------------------------------- */
#about, #gallery, #contact {
    content-visibility: auto;
    contain-intrinsic-size: 1px 1000px; /* Placeholder size for layout stability */
}

.glass-nav {
    will-change: transform, background-color, backdrop-filter;
}

#mobile-menu {
    will-change: opacity;
}

.mobile-nav-link {
    will-change: opacity, transform;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes pulse-slow {
    0%, 100% { opacity: 0.2; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.1); }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

.animate-pulse-slow {
    animation: pulse-slow 3s ease-in-out infinite;
}

@keyframes simple-glow {
    0%, 100% { 
        box-shadow: 0 5px 15px rgba(24, 119, 242, 0.4);
        transform: scale(1);
    }
    50% { 
        box-shadow: 0 10px 30px rgba(24, 119, 242, 0.7);
        transform: scale(1.05);
    }
}

.animate-simple-glow {
    animation: simple-glow 3s ease-in-out infinite;
}

/* -------------------------------------
 * Custom Notifications (Luxury Alert)
 * ------------------------------------- */
.notification-container {
    position: fixed;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse; /* New alerts at bottom */
    gap: 1rem;
    pointer-events: none;
    width: max-content;
}

.luxury-alert {
    pointer-events: auto;
    min-width: 380px;
    max-width: 90vw;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-bottom: 4px solid var(--gold);
    border-radius: 2rem;
    padding: 1.25rem 2rem;
    color: #1a2421;
    box-shadow: 0 20px 60px -10px rgba(0, 0, 0, 0.15), 
                0 0 40px rgba(212, 175, 55, 0.05);
    transform: translateY(150%) scale(0.9);
    transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    display: flex;
    align-items: center;
    gap: 1.5rem;
    overflow: hidden;
    position: relative;
    opacity: 0;
}

.luxury-alert.show {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.luxury-alert.error {
    border-bottom-color: #ef4444;
}

.luxury-alert-icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    background: #fbf8f0;
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.1);
}

.error .luxury-alert-icon {
    background: #fef2f2;
    border-color: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.luxury-alert-content {
    flex-grow: 1;
}

.luxury-alert-title {
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: 1rem;
    margin-bottom: 0.1rem;
    color: #0b0f0e;
}

.luxury-alert-message {
    font-size: 0.85rem;
    color: #4b5563;
    line-height: 1.5;
    font-weight: 500;
}

.luxury-alert-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(to right, transparent, var(--gold), transparent);
    width: 100%;
    transform-origin: left;
    opacity: 0.6;
}

.error .luxury-alert-progress {
    background: linear-gradient(to right, transparent, #ef4444, transparent);
}

.close-alert {
    color: #1a2421;
    background: #f3f4f6;
    border-radius: 50%;
    width: 1.75rem;
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.close-alert:hover {
    background: #e5e7eb;
    transform: rotate(90deg);
    color: var(--gold);
    border-color: rgba(212, 175, 55, 0.1);
}

@keyframes progress {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

/* For RTL */
[dir="rtl"] .notification-container {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

[dir="rtl"] .luxury-alert {
    transform: translateY(150%) scale(0.9);
}

[dir="rtl"] .luxury-alert.show {
    transform: translateY(0) scale(1);
}



