/* ==================================================================
   MOBILE ENHANCEMENTS - COMPREHENSIVE FIXES
   Addresses all mobile view issues and improvements
   Version: 2.1 - Mobile Enhancement Updates
   
   IMPORTANT: This file should be loaded LAST to override conflicts
   from other CSS files like styles.css, mobile-optimized.css, etc.
================================================================== */

/* ==================================================================
   0. CRITICAL OVERRIDES - DISABLED TO PREVENT CONFLICTS
   Language switcher styles moved to language-switcher-consolidated.css
================================================================== */

/* DISABLED - Language switcher styles now handled in consolidated CSS
@media (max-width: 768px) {
    
    .language-switcher {
        position: relative !important;
        z-index: 1001 !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0.75rem 0 !important;
    }
    
    .language-toggle {
        background: linear-gradient(135deg, #10b981, #059669) !important;
        color: white !important;
        border: 2px solid #059669 !important;
        border-radius: 8px !important;
        padding: 0.5rem 0.75rem !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        min-width: 100px !important;
        box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
    }
    
    .language-toggle:hover {
        background: linear-gradient(135deg, #059669, #047857) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 3px 8px rgba(16, 185, 129, 0.4) !important;
    }
    
    .language-toggle:active {
        transform: translateY(0) !important;
        box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3) !important;
    }
    
    .language-toggle.active {
        background: linear-gradient(135deg, #047857, #065f46) !important;
        border-color: #065f46 !important;
    }
    
    .language-dropdown {
        position: absolute !important;
        top: calc(100% + 0.5rem) !important;
        right: 0 !important;
        left: auto !important;
        transform: translateY(-10px) scale(0.95) !important;
        min-width: 200px !important;
        max-width: 280px !important;
        z-index: 999999 !important;
        border: 2px solid #10b981 !important;
        border-radius: 0.75rem !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
        background: white !important;
        
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    }
    
    .language-dropdown.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }
    
    .language-option {
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem !important;
        font-weight: 500 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        transition: all 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
    }
    
    .language-option:hover {
        background: #f0fdf4 !important;
        color: #059669 !important;
    }
    
    .language-option:active {
        background: #dcfce7 !important;
        transform: scale(0.98) !important;
    }
    
    .language-option .flag {
        font-size: 1.1rem !important;
        margin-right: 0.5rem !important;
        width: 1.3rem !important;
    }
}
*/

/* ==================================================================
   1. MOBILE HEADER ENHANCEMENTS - FIXED ALIGNMENT
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced header container with better alignment */
    .header-container {
        padding: 1rem !important;
        background: linear-gradient(135deg, #ffffff, #f8fafc) !important;
        border-bottom: 2px solid #e2e8f0 !important;
        margin-bottom: 1rem !important;
        position: relative !important;
        z-index: 100 !important;
        text-align: center !important;
    }
    
    /* Improved organization info with centered alignment */
    .org-info {
        text-align: center !important;
        margin-bottom: 1rem !important;
        padding: 0 0.5rem !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .org-info h1,
    .org-name {
        font-size: 1.5rem !important;
        line-height: 1.2 !important;
        margin-bottom: 0.5rem !important;
        font-weight: 700 !important;
        color: #1e293b !important;
        text-align: center !important;
    }
    
    .org-subtitle,
    .campaign-title {
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        color: #059669 !important;
        margin-bottom: 0.75rem !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }
    
    /* Enhanced campaign description */
    .campaign-description {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
        color: #64748b !important;
        margin-bottom: 1rem !important;
        padding: 0 0.5rem !important;
        text-align: center !important;
    }
    
    /* Logo and branding improvements - BIGGER LOGO */
    .org-logo {
        width: 80px !important; /* Increased from 50px */
        height: 80px !important; /* Increased from 50px */
        margin: 0 auto 0.75rem !important;
        display: block !important;
        border-radius: 12px !important; /* Increased from 10px */
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important; /* Enhanced shadow */
    }
}

/* ==================================================================
   2. LANGUAGE SWITCHER MOBILE FIXES - DISABLED
   All language switcher styles moved to language-switcher-consolidated.css
================================================================== */

/* DISABLED - Language switcher styles now handled in consolidated CSS
@media (max-width: 768px) {
    
    .language-switcher {
        position: relative !important;
        z-index: 1001 !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0.75rem 0 !important;
    }
    
    .language-toggle {
        background: linear-gradient(135deg, #10b981, #059669) !important;
        color: white !important;
        border: 2px solid #059669 !important;
        border-radius: 8px !important;
        padding: 0.5rem 0.75rem !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        min-width: 100px !important;
        box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
    }
    
    .language-toggle:hover {
        background: linear-gradient(135deg, #059669, #047857) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 3px 8px rgba(16, 185, 129, 0.4) !important;
    }
    
    .language-toggle:active {
        transform: translateY(0) !important;
        box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3) !important;
    }
    
    .language-toggle.active {
        background: linear-gradient(135deg, #047857, #065f46) !important;
        border-color: #065f46 !important;
    }
    
    /* Mobile dropdown positioning - responsive design */
    .language-dropdown {
        position: absolute !important;
        top: calc(100% + 0.5rem) !important;
        right: 0 !important;
        left: auto !important;
        transform: translateY(-10px) scale(0.95) !important;
        min-width: 200px !important;
        max-width: 280px !important;
        z-index: 999999 !important;
        border: 2px solid #10b981 !important;
        border-radius: 0.75rem !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
        background: white !important;
        
        /* Ensure visibility */
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    }
    
    .language-dropdown.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }
    
    /* Enhanced language options for mobile */
    .language-option {
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem !important;
        font-weight: 500 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        transition: all 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
    }
    
    .language-option:hover {
        background: #f0fdf4 !important;
        color: #059669 !important;
    }
    
    .language-option:active {
        background: #dcfce7 !important;
        transform: scale(0.98) !important;
    }
    
    .language-option .flag {
        font-size: 1.1rem !important; /* Reduced from 1.2rem */
        margin-right: 0.5rem !important; /* Reduced from 0.75rem */
        width: 1.3rem !important; /* Reduced from 1.5rem */
    }
    
    /* Mobile backdrop overlay - DISABLED */
    /* Overlay removed to prevent page blur */
    
    /* Overlay functionality - DISABLED */
    /* Overlay removed to prevent page blur */


/* ==================================================================
   3. PRIVACY SECTION MOBILE ENHANCEMENTS - SIMPLIFIED FIELDS
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced privacy section */
    .donor-section {
        background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;
        border: 2px solid #e2e8f0 !important;
        border-radius: 12px !important;
        padding: 1.25rem !important;
        margin-bottom: 1.5rem !important;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05) !important;
    }
    
    /* Improved privacy cards with better alignment */
    .privacy-option-card {
        background: white !important;
        border: 2px solid #e5e7eb !important;
        border-radius: 10px !important;
        padding: 1.25rem !important;
        margin-bottom: 0.75rem !important;
        cursor: pointer !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        position: relative !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
        user-select: none !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* Privacy option header with proper alignment */
    .privacy-option-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-bottom: 0.75rem !important;
        position: relative !important;
    }
    
    /* Privacy option icon */
    .privacy-option-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 50% !important;
        background: #f3f4f6 !important;
        margin-right: 0.75rem !important;
    }
    
    .privacy-option-icon i {
        font-size: 18px !important;
        color: #6b7280 !important;
    }
    
    /* Privacy option radio button container */
    .privacy-option-radio {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 24px !important;
        min-height: 24px !important;
    }
    
    /* Hide the actual radio input */
    .privacy-option-radio input[type="radio"] {
        position: absolute !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Radio checkmark styling */
    .radio-checkmark {
        position: relative !important;
        width: 24px !important;
        height: 24px !important;
        border: 2px solid #d1d5db !important;
        border-radius: 50% !important;
        background: white !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease !important;
    }
    
    /* Radio checkmark when selected */
    .privacy-option-card.selected .radio-checkmark {
        border-color: #3b82f6 !important;
        background: #3b82f6 !important;
    }
    
    /* Radio checkmark inner circle when selected */
    .privacy-option-card.selected .radio-checkmark::after {
        content: "" !important;
        position: absolute !important;
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: white !important;
        display: block !important;
    }
    
    /* Privacy option content */
    .privacy-option-content {
        flex: 1 !important;
    }
    
    .privacy-option-content h5 {
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        color: #374151 !important;
        margin: 0 0 0.5rem 0 !important;
        line-height: 1.3 !important;
    }
    
    .privacy-option-content p {
        font-size: 0.9rem !important;
        color: #6b7280 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }
    
    /* Selected state styling */
    .privacy-option-card.selected {
        border-color: #3b82f6 !important;
        background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
        box-shadow: 0 6px 25px rgba(59, 130, 246, 0.2) !important;
        transform: translateY(-2px) !important;
    }
    
    .privacy-option-card.selected .privacy-option-icon {
        background: #3b82f6 !important;
    }
    
    .privacy-option-card.selected .privacy-option-icon i {
        color: white !important;
    }
    
    .privacy-option-card.selected .privacy-option-content h5 {
        color: #1e40af !important;
    }
    
    .privacy-option-card.selected .privacy-option-content p {
        color: #3b82f6 !important;
    }
    
    /* Hover state */
    .privacy-option-card:hover {
        border-color: #10b981 !important;
        background: #f8fafc !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 20px rgba(16, 185, 129, 0.15) !important;
    }
    
    .privacy-option-card:hover .privacy-option-icon {
        background: #10b981 !important;
    }
    
    .privacy-option-card:hover .privacy-option-icon i {
        color: white !important;
    }
    
    /* Remove the conflicting ::after pseudo-element */
    .privacy-option-card.selected::after {
        display: none !important;
    }
    
    /* RTL Support for Arabic language */
    html[dir="rtl"] .privacy-option-header {
        flex-direction: row-reverse !important;
    }
    
    html[dir="rtl"] .privacy-option-icon {
        margin-right: 0 !important;
        margin-left: 0.75rem !important;
    }
    
    html[dir="rtl"] .privacy-option-content h5 {
        text-align: right !important;
    }
    
    html[dir="rtl"] .privacy-option-content p {
        text-align: right !important;
    }
    
    /* Enhanced donor fields visibility - SINGLE ROW LAYOUT */
    .donor-fields {
        background: white !important;
        border: 2px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 1.25rem !important;
        margin-top: 1rem !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        opacity: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    }
    
    .donor-fields.visible {
        opacity: 1 !important;
        max-height: 2000px !important;
        border-color: #3b82f6 !important;
        box-shadow: 0 3px 10px rgba(59, 130, 246, 0.1) !important;
        margin-top: 1rem !important;
        padding: 1.25rem !important;
    }
    
    /* Force visibility when named option is selected */
    .donor-fields[style*="display: block"] {
        opacity: 1 !important;
        max-height: 2000px !important;
        border-color: #3b82f6 !important;
        box-shadow: 0 3px 10px rgba(59, 130, 246, 0.1) !important;
    }
    
    /* SINGLE ROW LAYOUT FOR MOBILE - REMOVED ADDRESS FIELDS */
    .donor-fields .form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    

    
    /* Enhanced form inputs */
    .form-input {
        padding: 0.875rem !important;
        font-size: 16px !important;
        border: 2px solid #e5e7eb !important;
        border-radius: 8px !important;
        transition: all 0.2s ease !important;
    }
    
    .form-input:focus {
        border-color: #3b82f6 !important;
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
    }
    
    .form-label {
        font-weight: 600 !important;
        color: #374151 !important;
        margin-bottom: 0.5rem !important;
        font-size: 0.95rem !important;
    }
}

/* ==================================================================
   4. DONATION SUMMARY MOBILE ENHANCEMENTS - FORCE VISIBILITY
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced donation summary */
    .donation-summary {
        background: linear-gradient(135deg, #ffffff, #f8fafc) !important;
        border: 2px solid #e2e8f0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 3px 15px rgba(15, 23, 42, 0.08) !important;
        margin-bottom: 1.25rem !important;
        /* FORCE VISIBILITY */
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Improved summary header */
    .summary-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 1.25rem !important;
        cursor: pointer !important;
        background: rgba(16, 185, 129, 0.05) !important;
        transition: background 0.2s ease !important;
        -webkit-tap-highlight-color: transparent !important;
        border-bottom: 1px solid #e2e8f0 !important;
    }
    
    .summary-header:hover {
        background: rgba(16, 185, 129, 0.1) !important;
    }
    
    .summary-header:active {
        background: rgba(16, 185, 129, 0.15) !important;
    }
    
    .summary-header h3 {
        margin: 0 !important;
        font-size: 1.2rem !important;
        font-weight: 700 !important;
        color: #1e293b !important;
    }
    
    /* Enhanced summary toggle */
    .summary-toggle {
        width: 36px !important;
        height: 36px !important;
        background: #10b981 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: white !important;
        font-size: 1rem !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
    }
    
    .summary-toggle:hover {
        background: #059669 !important;
        transform: scale(1.05) !important;
    }
    
    .summary-toggle:active {
        transform: scale(0.95) !important;
    }
    
    .summary-toggle.expanded i {
        transform: rotate(180deg) !important;
    }
    
    /* Enhanced summary content - AUTO EXPAND ON MOBILE */
    .summary-content {
        max-height: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        background: white !important;
    }
    
    .summary-content.expanded {
        max-height: 500px !important;
        opacity: 1 !important;
        padding: 1.25rem !important;
    }
    
    /* FORCE SUMMARY CONTENT TO BE VISIBLE ON MOBILE */
    .donation-summary .summary-content {
        max-height: 500px !important;
        opacity: 1 !important;
        padding: 1.25rem !important;
        display: block !important;
        visibility: visible !important;
    }
    
    /* Enhanced summary rows */
    .summary-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0.875rem 0 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }
    
    .summary-row:last-child {
        border-bottom: none !important;
        font-weight: 700 !important;
        font-size: 1.1rem !important;
        color: #1e293b !important;
        padding-top: 1rem !important;
        margin-top: 0.5rem !important;
        border-top: 2px solid #e2e8f0 !important;
    }
    
    /* Force summary visibility on mobile */
    .donation-summary {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .summary-content {
        display: block !important;
    }
    
    /* Auto-expand summary on mobile for better UX */
    .summary-content.expanded,
    .summary-content[style*="display: block"] {
        max-height: 500px !important;
        opacity: 1 !important;
        padding: 1.25rem !important;
    }
}

/* ==================================================================
   5. PAYMENT METHODS MOBILE ENHANCEMENTS - FIX DUPLICATE ICONS
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced payment methods grid - Improved Mobile Layout */
    .payment-methods-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem !important;
        margin: 1.5rem 0 !important;
        padding: 0 0.5rem !important;
    }
    
    /* Enhanced payment method cards - Modern Mobile Design */
    .payment-method {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 1.25rem 0.75rem !important;
        border: 2px solid #e5e7eb !important;
        border-radius: 12px !important;
        background: white !important;
        cursor: pointer !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        min-height: 100px !important;
        text-align: center !important;
        position: relative !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
        user-select: none !important;
        backdrop-filter: blur(10px) !important;
    }
    
    .payment-method:hover {
        border-color: #10b981 !important;
        background: #f8fafc !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(16, 185, 129, 0.15) !important;
    }
    
    .payment-method:active {
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2) !important;
    }
    
    .payment-method.selected {
        border-color: #10b981 !important;
        background: linear-gradient(135deg, #f0fdf4, #ecfdf5) !important;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2) !important;
        transform: translateY(-1px) !important;
    }
    
    .payment-method.selected::after {
        content: '✓' !important;
        position: absolute !important;
        top: 6px !important;
        right: 6px !important;
        width: 20px !important;
        height: 20px !important;
        background: #10b981 !important;
        color: white !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 12px !important;
        font-weight: bold !important;
        box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
    }
    
    /* Modern Payment Icons - Mobile Optimized */
    .modern-payment-icon {
        width: 36px !important;
        height: 26px !important;
        margin-bottom: 0.75rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .modern-payment-icon .brand-text {
        font-size: 10px !important;
        font-weight: 700 !important;
    }
    
    .modern-payment-icon i {
        font-size: 14px !important;
    }
    
    /* Allow FontAwesome fallback icons to show with their colors */
    .payment-method-icon i {
        font-size: 20px !important; /* Slightly smaller for better fit */
        display: inline-block !important; /* Changed from none to allow fallbacks */
    }
    
    /* Show Mollie images when available */
    .payment-method-icon img {
        display: block !important;
        width: 32px !important;
        height: 24px !important;
        object-fit: contain !important;
    }
    
    /* When image fails to load, fallback icon shows with original colors */
    .payment-method-icon img[style*="display: none"] + i {
        display: inline-block !important;
    }
    
    .payment-method.selected .payment-method-icon {
        color: #059669 !important;
    }
    
    .payment-method-name {
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        color: #374151 !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }
    
    .payment-method.selected .payment-method-name {
        color: #059669 !important;
    }
    
    /* Single column for very small screens */
    @media (max-width: 400px) {
        .payment-methods-grid {
            grid-template-columns: 1fr !important;
            gap: 0.75rem !important;
        }
        
        .payment-method {
            flex-direction: row !important;
            justify-content: flex-start !important;
            text-align: left !important;
            padding: 1rem !important;
            min-height: 80px !important;
            gap: 1rem !important;
        }
        
        .modern-payment-icon {
            width: 32px !important;
            height: 24px !important;
            margin-bottom: 0 !important;
        }
        
        .modern-payment-icon .brand-text {
            font-size: 9px !important;
        }
        
        .modern-payment-icon i {
            font-size: 12px !important;
        }
        
        .payment-method-name {
            font-size: 0.95rem !important;
        }
    }
}

/* ==================================================================
   6. MOLLIE COMPONENTS MOBILE ENHANCEMENTS - ENSURE FIELDS WORK
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced Mollie components container */
    .mollie-components-container {
        background: white !important;
        border: 2px solid #e2e8f0 !important;
        border-radius: 12px !important;
        padding: 1.25rem !important;
        margin-top: 1rem !important;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05) !important;
        transition: all 0.3s ease !important;
    }
    
    .mollie-components-container.visible {
        border-color: #10b981 !important;
        box-shadow: 0 4px 15px rgba(16, 185, 129, 0.1) !important;
    }
    
    /* Enhanced Mollie component fields */
    .mollie-component {
        margin-bottom: 1rem !important;
        position: relative !important;
    }
    
    .mollie-component:last-child {
        margin-bottom: 0 !important;
    }
    
    /* Enhanced component labels */
    .mollie-component-label {
        display: block !important;
        font-weight: 600 !important;
        color: #374151 !important;
        margin-bottom: 0.5rem !important;
        font-size: 0.95rem !important;
    }
    
    /* Enhanced component containers */
    .mollie-component-container {
        position: relative !important;
        border: 2px solid #e5e7eb !important;
        border-radius: 8px !important;
        transition: all 0.2s ease !important;
        background: white !important;
        min-height: 48px !important; /* Ensure minimum touch target */
    }
    
    .mollie-component-container.focused {
        border-color: #10b981 !important;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
    }
    
    .mollie-component-container.error {
        border-color: #ef4444 !important;
        box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
    }
    
    /* Enhanced component inputs */
    .mollie-component input {
        width: 100% !important;
        padding: 0.875rem !important;
        font-size: 16px !important; /* Prevent zoom on iOS */
        border: none !important;
        background: transparent !important;
        outline: none !important;
        color: #1f293b !important;
        font-family: inherit !important;
    }
    
    .mollie-component input::placeholder {
        color: #9ca3af !important;
    }
    
    /* Enhanced component validation states */
    .mollie-component-container.valid {
        border-color: #10b981 !important;
    }
    
    .mollie-component-container.invalid {
        border-color: #ef4444 !important;
    }
    
    /* Enhanced error messages */
    .mollie-component-error {
        color: #ef4444 !important;
        font-size: 0.875rem !important;
        margin-top: 0.25rem !important;
        display: block !important;
    }
    
    /* Enhanced success messages */
    .mollie-component-success {
        color: #10b981 !important;
        font-size: 0.875rem !important;
        margin-top: 0.25rem !important;
        display: block !important;
    }
    
    /* Enhanced component icons */
    .mollie-component-icon {
        position: absolute !important;
        right: 0.75rem !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #9ca3af !important;
        font-size: 1rem !important;
        pointer-events: none !important;
    }
    
    .mollie-component-container.valid .mollie-component-icon {
        color: #10b981 !important;
    }
    
    .mollie-component-container.invalid .mollie-component-icon {
        color: #ef4444 !important;
    }
    
    /* Enhanced component animations */
    .mollie-component-container {
        transform: translateZ(0) !important; /* Force hardware acceleration */
        will-change: border-color, box-shadow !important;
    }
    
    /* Enhanced component focus states */
    .mollie-component-container:focus-within {
        border-color: #10b981 !important;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
    }
}

/* ==================================================================
   7. AMOUNT SELECTION MOBILE ENHANCEMENTS
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced amount grid */
    .amount-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    /* Enhanced amount options */
    .amount-option {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 1rem 0.75rem !important;
        border: 2px solid #e5e7eb !important;
        border-radius: 10px !important;
        background: white !important;
        cursor: pointer !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        min-height: 90px !important;
        text-align: center !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
        user-select: none !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    }
    
    .amount-option:hover {
        border-color: #10b981 !important;
        background: #f8fafc !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(16, 185, 129, 0.15) !important;
    }
    
    .amount-option:active {
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2) !important;
    }
    
    .amount-option.selected {
        border-color: #10b981 !important;
        background: linear-gradient(135deg, #f0fdf4, #ecfdf5) !important;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2) !important;
        transform: translateY(-1px) !important;
    }
    
    .amount-value {
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        color: #10b981 !important;
        margin-bottom: 0.25rem !important;
    }
    
    .amount-description {
        font-size: 0.8rem !important;
        color: #64748b !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }
    
    /* Custom amount enhancement */
    .custom-amount {
        grid-column: 1 / -1 !important;
        margin-top: 0.75rem !important;
    }
    
    .custom-amount-input {
        width: 100% !important;
        padding: 0.875rem !important;
        font-size: 16px !important;
        border: 2px solid #e5e7eb !important;
        border-radius: 8px !important;
        text-align: center !important;
        font-weight: 600 !important;
        color: #1e293b !important;
    }
    
    .custom-amount-input:focus {
        border-color: #10b981 !important;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
    }
}

/* ==================================================================
   8. SUBMIT BUTTON MOBILE ENHANCEMENTS
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced submit button */
    .donate-button {
        width: 100% !important;
        padding: 1.125rem !important;
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        border: none !important;
        border-radius: 10px !important;
        background: linear-gradient(135deg, #10b981, #059669) !important;
        color: white !important;
        cursor: pointer !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        margin-top: 1.5rem !important;
        min-height: 56px !important;
        box-shadow: 0 3px 10px rgba(16, 185, 129, 0.3) !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
        position: relative !important;
        overflow: hidden !important;
    }
    
    .donate-button:hover {
        background: linear-gradient(135deg, #059669, #047857) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4) !important;
    }
    
    .donate-button:active {
        transform: translateY(0) !important;
        box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
    }
    
    .donate-button:disabled {
        background: #9ca3af !important;
        cursor: not-allowed !important;
        transform: none !important;
        box-shadow: none !important;
    }
    
    .btn-content {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.5rem !important;
    }
    
    .btn-content i {
        font-size: 1rem !important;
    }
}

/* ==================================================================
   9. TRUST INDICATORS MOBILE ENHANCEMENTS
================================================================== */

@media (max-width: 768px) {
    
    /* Enhanced trust indicators */
    .trust-indicators {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.75rem !important;
        margin-top: 1.5rem !important;
        padding-top: 1.25rem !important;
        border-top: 1px solid #e2e8f0 !important;
    }
    
    .trust-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        font-size: 0.8rem !important;
        color: #64748b !important;
        gap: 0.375rem !important;
        padding: 0.375rem !important;
    }
    
    .trust-item i {
        font-size: 1.2rem !important;
        color: #10b981 !important;
    }
    
    /* Hide ANBI Register on mobile to save space */
    .trust-item:has(span[data-i18n="anbi_registered"]) {
        display: none !important;
    }
}

/* ==================================================================
   10. RTL SUPPORT FOR MOBILE
================================================================== */

@media (max-width: 768px) {
    
    html[dir="rtl"] .language-dropdown {
        left: 50% !important;
        right: auto !important;
        transform: translate(-50%, -50%) scale(0.9) !important;
    }
    
    html[dir="rtl"] .language-dropdown.active {
        transform: translate(-50%, -50%) scale(1) !important;
    }
    
    html[dir="rtl"] .language-option {
        text-align: right !important;
        flex-direction: row-reverse !important;
    }
    
    html[dir="rtl"] .language-option .flag {
        margin-right: 0 !important;
        margin-left: 0.75rem !important;
    }
    
    html[dir="rtl"] .payment-methods-grid {
        direction: rtl !important;
    }
    
    html[dir="rtl"] .payment-method {
        text-align: center !important;
    }
    
    @media (max-width: 400px) {
        html[dir="rtl"] .payment-method {
            flex-direction: row-reverse !important;
            text-align: right !important;
        }
    }
    
    html[dir="rtl"] .summary-header {
        flex-direction: row-reverse !important;
    }
    
    html[dir="rtl"] .summary-row {
        flex-direction: row-reverse !important;
    }
    
    html[dir="rtl"] .donor-fields .form-grid {
        direction: rtl !important;
    }
}

/* ==================================================================
   11. ACCESSIBILITY & PERFORMANCE
================================================================== */

@media (max-width: 768px) {
    
    /* Focus indicators */
    .language-toggle:focus-visible,
    .privacy-option-card:focus-visible,
    .payment-method:focus-visible,
    .amount-option:focus-visible,
    .summary-header:focus-visible,
    .donate-button:focus-visible {
        outline: 3px solid #10b981 !important;
        outline-offset: 2px !important;
    }
    
    /* Minimum touch targets */
    .language-toggle,
    .language-option,
    .privacy-option-card,
    .payment-method,
    .amount-option,
    .summary-header,
    .donate-button {
        min-height: 44px !important;
        min-width: 44px !important;
    }
    
    /* High contrast mode */
    @media (prefers-contrast: high) {
        .payment-method,
        .privacy-option-card,
        .amount-option,
        .donation-summary,
        .language-dropdown {
            border-width: 3px !important;
        }
    }
    
    /* Reduced motion */
    @media (prefers-reduced-motion: reduce) {
        .language-dropdown,
        .payment-method,
        .privacy-option-card,
        .amount-option,
        .summary-content,
        .donate-button {
            transition: none !important;
            animation: none !important;
        }
    }
    
    /* Force hardware acceleration */
    .language-dropdown,
    .payment-method,
    .privacy-option-card,
    .amount-option,
    .summary-header {
        transform: translateZ(0) !important;
        will-change: auto !important;
    }
}

/* ==================================================================
   12. DESKTOP PROTECTION - ENSURE MOBILE STYLES DON'T LEAK
================================================================== */

@media (min-width: 769px) {
    
    /* Reset mobile-specific enhancements on desktop */
    .language-toggle {
        background: white !important;
        color: #374151 !important;
        border: 2px solid #e2e8f0 !important;
        box-shadow: none !important;
        transform: none !important;
    }
    
    .language-dropdown {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        transform: none !important;
        min-width: 200px !important;
        max-width: none !important;
    }
    
    .language-dropdown.active {
        transform: none !important;
    }
    
    .payment-method,
    .amount-option,
    .privacy-option-card {
        transform: none !important;
        transition: all 0.2s ease !important;
    }
    
    .payment-method:hover,
    .amount-option:hover {
        transform: translateY(-2px) !important;
    }
    
    .donate-button {
        background: #10b981 !important;
        transform: none !important;
    }
    
    .donate-button:hover {
        background: #059669 !important;
        transform: translateY(-1px) !important;
    }
    
    /* Restore desktop donor fields layout */
    .donor-fields .form-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }
    
    .donor-fields .form-group.full-width {
        grid-column: 1 / -1 !important;
    }
    

    
    /* Reset mobile logo size on desktop */
    .org-logo {
        width: 50px !important;
        height: 50px !important;
        border-radius: 10px !important;
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1) !important;
    }
    
    /* Reset mobile language switcher size on desktop */
    .language-toggle {
        padding: 0.75rem 1rem !important;
        font-size: 0.95rem !important;
        min-width: 120px !important;
        border-radius: 10px !important;
        box-shadow: 0 3px 8px rgba(16, 185, 129, 0.3) !important;
    }
    
    /* Reset mobile payment method icons on desktop - Allow both images and fallbacks */
    .payment-method-icon i {
        display: inline-block !important;
    }
    
    .payment-method-icon img {
        display: block !important;
        width: 32px !important;
        height: 24px !important;
        object-fit: contain !important;
    }
}