/* City Pulse Maputo - Global Styles */

/* ============================================
   MOBILE-CENTERED LAYOUT FOR DESKTOP
   ============================================ */

/* Desktop: Center content at mobile width */
@media (min-width: 481px) {
    /* Body full-width with centered background */
    body {
        background: #e5e7eb;
    }
    
    /* Main content only - centered at 480px */
    main {
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
        background: #f9fafb;
        box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
    }
    
    /* Fixed navigation elements - centered but allow full internal width */
    nav.fixed {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        width: 480px !important;
        max-width: 480px;
    }
    
    /* Bottom navigation */
    body > nav.fixed:last-of-type {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        width: 480px !important;
        max-width: 480px;
    }
    
    /* FAB and other fixed buttons */
    button.fixed,
    .fixed[class*="bottom"] {
        left: auto !important;
        right: calc(50% - 240px + 16px) !important;
    }
    
    /* Modals and dialogs - centered at mobile width */
    div[id$="Modal"],
    div[id$="Dropdown"],
    div[id*="modal"],
    div[id*="Modal"],
    div[id*="dropdown"],
    div[id*="Dropdown"] {
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
    }
    
    /* Notifications dropdown - position relative to centered nav */
    #notificationsDropdown {
        left: auto !important;
        right: auto !important;
        margin-left: auto;
        margin-right: 16px;
        transform: translateX(calc(50vw - 240px));
    }
    
    /* Search modal - full screen within mobile container */
    #globalSearchModal > div {
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
    }
    
    /* Settings dialogs */
    div[id*="settings"],
    div[id*="Settings"],
    div[id*="Dialog"] {
        max-width: 480px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Mobile: Full width, no centering */
@media (max-width: 480px) {
    main {
        box-shadow: none;
    }
}

/* ============================================
   ICON & ELEMENT STYLES
   ============================================ */

/* Icon prefix reset */
:where([class^="ri-"])::before { 
    content: "\f3c2"; 
}

/* Hide scrollbar utility */
.hide-scrollbar::-webkit-scrollbar { 
    display: none; 
}

.hide-scrollbar { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

/* Remove number input spinners */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

/* Map placeholder background */
.map-container { 
    background-image: url('https://public.readdy.ai/gen_page/map_placeholder_1280x720.png'); 
    background-size: cover; 
    background-position: center; 
}

/* Profile avatar gradient */
.profile-avatar {
    background: linear-gradient(135deg, #E53E3E 0%, #FF6B35 100%);
}

/* Pull to refresh animation */
.pull-to-refresh {
    transition: transform 0.3s ease;
}

/* Event card interaction */
.event-card {
    transition: all 0.2s ease;
}

.event-card:active {
    transform: scale(0.98);
}

/* Tab button transitions */
.tab-button {
    transition: all 0.3s ease;
}

.tab-button.active {
    background: #E53E3E;
    color: white;
}

/* Settings item interaction */
.settings-item {
    transition: all 0.2s ease;
}

.settings-item:active {
    transform: scale(0.98);
    background: #f9fafb;
}

/* General card hover/active states */
.card-interactive {
    transition: transform 0.2s ease;
}

.card-interactive:active {
    transform: scale(0.98);
}
