/* Mobile-specific styles */
@media (max-width: 768px) {
    /* Navigation adjustments */
    .nav-container {
        padding: 0 var(--spacing-md);
    }
    
    /* Hero section mobile optimization */
    .hero-section {
        padding: 100px 0 40px;
    }
    
    .hero-title {
        font-size: 1.75rem;
        line-height: 1.3;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    /* Card preview mobile sizing */
    .card-preview {
        width: 300px;
        height: 450px;
        transform: scale(0.9);
    }
    
    .card {
        padding: var(--spacing-lg);
    }
    
    .card-photo {
        width: 100px;
        height: 125px;
    }
    
    .card-name {
        font-size: 1.125rem;
    }
    
    .qr-code {
        width: 150px;
        height: 150px;
    }
    
    /* Features grid mobile */
    .features-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }
    
    .feature-card {
        padding: var(--spacing-xl);
    }
    
    /* Card types mobile */
    .card-types {
        grid-template-columns: 1fr;
    }
    
    /* Demo section mobile */
    .demo-card {
        padding: var(--spacing-lg);
    }
    
    #demoQRCode {
        width: 150px;
        height: 150px;
    }
    
    /* Contact form mobile */
    .contact-form {
        padding: var(--spacing-lg);
    }
    
    /* Modal mobile */
    .modal-content {
        width: 95%;
        margin: var(--spacing-md);
    }
}

/* Small mobile devices */
@media (max-width: 360px) {
    .card-preview {
        width: 280px;
        height: 420px;
        transform: scale(0.85);
    }
    
    .hero-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-primary, .btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

/* Tablet portrait */
@media (min-width: 769px) and (max-width: 1024px) {
    .card-preview {
        width: 350px;
        height: 525px;
    }
    
    .hero-features {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* High-resolution mobile */
@media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape) {
    .hero-section {
        grid-template-columns: 1fr 1fr;
        text-align: left;
    }
    
    .hero-actions {
        justify-content: flex-start;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    :root {
        --white: #1a1a1a;
        --gray-50: #2d2d2d;
        --gray-100: #3d3d3d;
        --gray-200: #4d4d4d;
        --gray-300: #5d5d5d;
        --gray-400: #6d6d6d;
        --gray-500: #7d7d7d;
        --gray-600: #8d8d8d;
        --gray-700: #9d9d9d;
        --gray-800: #adadad;
        --gray-900: #cdcdcd;
        --black: #ffffff;
    }
    
    .navbar {
        background-color: #2d2d2d;
    }
    
    .nav-link {
        color: var(--gray-800);
    }
    
    .feature, .feature-card, .type-card, .contact-form {
        background-color: var(--gray-100);
    }
    
    .footer {
        background-color: #121212;
    }
}

/* Print styles */
@media print {
    .navbar,
    .hero-actions,
    .card-flip-btn,
    .demo-actions,
    .contact-form,
    .footer {
        display: none !important;
    }
    
    .container {
        max-width: 100%;
        padding: 0;
    }
    
    .hero-section,
    .features-section,
    .cards-section,
    .demo-section,
    .contact-section {
        padding: 20px 0;
        page-break-inside: avoid;
    }
    
    .card-preview {
        transform: none !important;
    }
    
    a {
        text-decoration: none;
        color: black;
    }
}