/* 
 * Masterpiece Global Styles
 * Loaded on all pages 
 */

:root {
    --brand-dark: #002B2B;
    --brand-gold: #D4AF37;
    --brand-gold-light: #e8c07e;
    --brand-gray-soft: #f8f9fa;
}

body {
    margin: 0;
    font-family: 'Tajawal', sans-serif;
    color: var(--brand-dark);
    overflow-x: hidden;
    cursor: none;
}

/* Base Utility Classes */
.bg-brand-dark { background-color: var(--brand-dark); }
.text-brand-dark { color: var(--brand-dark); }
.bg-brand-gold { background-color: var(--brand-gold); }
.text-brand-gold { color: var(--brand-gold); }
.border-brand-gold { border-color: var(--brand-gold); }
.bg-brand-graySoft { background-color: var(--brand-gray-soft); }

/* Custom Cursor */
.mouse-dot {
    position: fixed;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: var(--brand-gold);
    border-radius: 50%;
    pointer-events: none;
    z-index: 10000;
    transition: opacity 0.3s ease;
}

.mouse-follower {
    position: fixed;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border: 1.5px solid rgba(212, 175, 55, 0.6);
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}

.hovering-card .mouse-follower {
    width: 80px;
    height: 80px;
    background: rgba(212, 175, 55, 0.1);
    border-color: rgba(212, 175, 55, 0.8);
    backdrop-filter: blur(4px);
}

.hovering-card .mouse-dot {
    opacity: 0;
}

.in-spotlight .mouse-follower,
.in-spotlight .mouse-dot {
    opacity: 0 !important;
}

/* Loader */
#loader {
    position: fixed;
    inset: 0;
    background: #ffffff;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/* Header (Matches Original Site) */
.site-header {
    position: fixed;
    top: 1rem;
    left: 0;
    right: 0;
    z-index: 100;
    max-width: 1280px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 2rem;
    box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

/* Typography & General */
.font-black { font-weight: 900; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
.tracking-widest { letter-spacing: 0.1em; }
.lowercase { text-transform: lowercase; }
.uppercase { text-transform: uppercase; }

/* Mobile Menu Adjustments */
#mobile-menu {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
#mobile-menu.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
}
#mobile-menu:not(.hidden) {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
