/* Mobile Touch Enhancements CSS */

/* Touch feedback for mobile cards */
.mobile-news-card.touch-active,
.news-card.touch-active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}

/* Mobile form optimizations */
.contact-form.mobile-optimized {
    padding: 1rem;
}

@media (max-width: 768px) {
    .contact-form.mobile-optimized .form-group {
        margin-bottom: 1.5rem;
    }
    
    .contact-form.mobile-optimized input,
    .contact-form.mobile-optimized textarea {
        font-size: 16px; /* Prevent zoom on iOS */
        padding: 0.875rem;
        border-radius: 8px;
        border: 2px solid #e2e8f0;
        transition: border-color 0.3s ease;
    }
    
    .contact-form.mobile-optimized input:focus,
    .contact-form.mobile-optimized textarea:focus {
        border-color: #3b82f6;
        outline: none;
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    }
    
    .contact-form.mobile-optimized button {
        width: 100%;
        padding: 1rem;
        font-size: 16px;
        border-radius: 8px;
        background: linear-gradient(135deg, #3b82f6, #1d4ed8);
        border: none;
        color: white;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    
    .contact-form.mobile-optimized button:hover,
    .contact-form.mobile-optimized button:focus {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    }
}

/* Enhanced mobile card styles */
@media (max-width: 768px) {
    .card-header-mobile {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem;
        border-bottom: 1px solid #f1f5f9;
        gap: 0.5rem;
        flex-wrap: wrap;
    }
    
    .card-image-mobile {
        position: relative;
        height: 200px;
        overflow: hidden;
    }
    
    .card-image-mobile img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }
    
    .mobile-news-card:hover .card-image-mobile img {
        transform: scale(1.02);
    }
    
    .image-overlay {
        position: absolute;
        top: 0.5rem;
        right: 0.5rem;
        background: rgba(0, 0, 0, 0.7);
        color: white;
        padding: 0.5rem;
        border-radius: 50%;
        opacity: 0;
        transition: opacity 0.3s ease;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .mobile-news-card:hover .image-overlay {
        opacity: 1;
    }
    
    .card-content-mobile {
        padding: 1rem;
    }
    
    .card-title a {
        color: #1e293b;
        text-decoration: none;
        font-size: 1.125rem;
        font-weight: 700;
        line-height: 1.4;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    .card-title a:hover {
        color: #3b82f6;
    }
    
    .card-excerpt {
        color: #64748b;
        line-height: 1.6;
        margin: 0.75rem 0 1rem 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    .card-meta-mobile {
        margin-bottom: 1rem;
    }
    
    .meta-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0.5rem;
    }
    
    .meta-row:last-child {
        margin-bottom: 0;
    }
    
    .meta-item {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        font-size: 0.75rem;
        color: #64748b;
    }
    
    .meta-item i {
        font-size: 0.625rem;
    }
    
    .card-actions {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.75rem;
    }
    
    .read-more-btn {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
        background: linear-gradient(135deg, #3b82f6, #1d4ed8);
        color: white;
        text-decoration: none;
        border-radius: 8px;
        font-weight: 600;
        font-size: 0.875rem;
        transition: all 0.3s ease;
    }
    
    .read-more-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    }
    
    .share-btn {
        padding: 0.75rem;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        color: #64748b;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    
    .share-btn:hover {
        background: #e2e8f0;
        color: #3b82f6;
        transform: translateY(-1px);
    }
}

@media (max-width: 480px) {
    .card-header-mobile {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    
    .urgency-badge,
    .category-badge {
        text-align: center;
    }
    
    .meta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .card-actions {
        flex-direction: column;
    }
    
    .share-btn {
        width: 100%;
    }
}

/* Loading states */
.loading-link {
    opacity: 0.7;
    pointer-events: none;
}

/* Mobile device class utilities */
.mobile-device .desktop-only {
    display: none !important;
}

.mobile-device .mobile-only {
    display: block !important;
}

/* Touch device specific styles */
.touch-device .hover-only {
    display: none !important;
}