/* ============================================
   GUESTOS - Common Styles
   Stili condivisi tra tutte le pagine
   ============================================ */

/* ==========================================
   SMOOTH TRANSITIONS
   ========================================== */

:root {
    --primary-gradient: linear-gradient(135deg, #FF0080 0%, #FF3399 25%, #00D4FF 75%, #00E5FF 100%);
    --primary-color: #FF0080;
    --secondary-color: #00D4FF;
    --accent-color: #FF3399;
    --glass-bg: rgba(255, 255, 255, 0.15);
    --glass-border: rgba(255, 255, 255, 0.3);
    --text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.25);
    --bubble-gradient: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.6), rgba(0, 212, 255, 0.3));
}

* {
    -webkit-tap-highlight-color: transparent;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var(--primary-gradient);
    min-height: 100vh;
}

/* ==========================================
   LOADING ANIMATIONS
   ========================================== */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

body {
    animation: fadeIn 0.3s ease;
}

/* ==========================================
   BUTTON INTERACTIONS
   ========================================== */

button, .action-card, .menu-item, .tour-card, .treatment-card {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
}

button:active, 
.action-card:active, 
.tour-card:active,
.treatment-card:active {
    opacity: 0.9;
}

/* ==========================================
   RIPPLE EFFECT (optional enhancement)
   ========================================== */

.ripple {
    position: relative;
    overflow: hidden;
}

.ripple::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.ripple:active::after {
    width: 300px;
    height: 300px;
}

/* ==========================================
   NOTIFICATION/TOAST (per future notifications)
   ========================================== */

.toast-notification {
    position: fixed;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 15px 25px;
    border-radius: 25px;
    font-weight: 700;
    font-size: 14px;
    z-index: 9999;
    animation: slideUp 0.3s ease;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

@keyframes slideUp {
    from {
        transform: translateX(-50%) translateY(100px);
        opacity: 0;
    }
    to {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
    }
}

/* ==========================================
   MOBILE OPTIMIZATIONS
   ========================================== */

@media (max-width: 768px) {
    /* Migliora il touch su mobile */
    button,
    .action-card,
    .tour-card,
    .treatment-card {
        min-height: 44px; /* Apple's recommended minimum touch target */
    }
}

/* ==========================================
   SAFE AREA (per iPhone con notch)
   ========================================== */

body {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
}

.bottom-cta {
    padding-bottom: calc(15px + env(safe-area-inset-bottom));
}

/* ==========================================
   FIX STICKY BOTTOM BAR
   ========================================== */

/* Assicura che il content non vada sotto la bottom bar */
.content {
    padding-bottom: 100px !important; /* Spazio per la bottom bar */
}

/* Bottom CTA deve essere fixed e pulito (senza background) */
.bottom-cta {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
    padding: 15px 20px !important;
}

.bottom-cta .cta-btn {
    pointer-events: auto !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

/* ==========================================
   DARK MODE SUPPORT (futuro)
   ========================================== */

@media (prefers-color-scheme: dark) {
    /* Verrà implementato in futuro se necessario */
}
