/**
 * CNPA Responsive Styles
 *
 * Mobile-first media queries for progressive enhancement.
 */

/* ========================================
   Mobile (Base) - 0px and up
   Default styles are already mobile-first
   ======================================== */

/* ========================================
   Tablet - 768px and up
   ======================================== */

@media (min-width: 768px) {

    /* Header */
    .header-title {
        font-size: var(--text-3xl);
    }

    .header-subtitle {
        font-size: var(--text-lg);
    }

    /* Form */
    .form-container {
        padding: var(--space-8);
    }

    .form-container form {
        padding: var(--space-10);
    }

    .form-title {
        font-size: var(--text-2xl);
    }

    /* Form Row - Side by side on tablet+ */
    .form-row {
        flex-direction: row;
    }

    .form-row .form-group {
        flex: 1;
        margin-bottom: 0;
    }

    /* Terms section */
    .form-section--terms {
        margin-left: calc(var(--space-10) * -1);
        margin-right: calc(var(--space-10) * -1);
        padding: var(--space-8);
    }

    .termo-content {
        flex-direction: row;
        align-items: flex-start;
    }

    .termo-text {
        flex: 2;
        max-height: 200px;
    }

    .termo-checkbox {
        flex: 1;
        border-top: none;
        border-left: 1px solid var(--gray-100);
        padding-top: 0;
        padding-left: var(--space-4);
    }

    /* Alert */
    .alert {
        padding: var(--space-6);
    }

    /* Success card */
    .success-card {
        padding: var(--space-12);
    }

    .success-icon {
        width: 100px;
        height: 100px;
    }

    .success-title {
        font-size: var(--text-3xl);
    }
}

/* ========================================
   Desktop - 1024px and up
   ======================================== */

@media (min-width: 1024px) {

    /* Header */
    .app-header {
        padding: var(--space-10) var(--space-6);
    }

    .header-title {
        font-size: var(--text-4xl);
    }

    /* Form */
    .form-container {
        max-width: var(--container-lg);
    }

    .form-container form {
        padding: var(--space-12) var(--space-16);
    }

    .section-title {
        font-size: var(--text-xl);
    }

    /* Button hover effects stronger on desktop */
    .btn--primary:hover:not(:disabled) {
        box-shadow: var(--shadow-lg);
    }

    /* Terms section */
    .form-section--terms {
        margin-left: calc(var(--space-16) * -1);
        margin-right: calc(var(--space-16) * -1);
    }
}

/* ========================================
   Large Desktop - 1280px and up
   ======================================== */

@media (min-width: 1280px) {
    .form-container {
        max-width: var(--container-xl);
    }
}

/* ========================================
   Reduced Motion
   ======================================== */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ========================================
   Print Styles
   ======================================== */

@media print {

    .app-header,
    .app-footer,
    .form-actions,
    .recaptcha-container,
    .alert {
        display: none !important;
    }

    .form-container form {
        box-shadow: none;
        padding: 0;
    }

    body {
        background-color: white;
    }
}