/* Tonies Responsive Styles */
/* All media queries and responsive design rules */

/* Desktop only - vertical centering */
@media (min-width: 769px) {
    .tonies-main-container {
        justify-content: center !important;
        padding: var(--spacing-xl) 0 !important;
    }
}

/* Tablet and mobile breakpoint (768px and below) */
@media (max-width: 768px) {
    /* Alert message positioning for mobile */
    .alert {
        position: fixed !important;
        top: 16px !important;
        left: 16px !important;
        right: 16px !important;
        margin: 0 !important;
        max-width: none !important;
        z-index: 1000 !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        border-radius: 12px !important;
        width: auto !important;
    }

    .tonies-main-container {
        justify-content: flex-start !important;
        padding: 121px 16px 24px 16px !important;
        gap: 16px !important;
        max-width: 375px !important;
        margin: 0 auto !important;
        min-height: auto !important;
    }
    
    .tonies-content-frame {
        width: 343px !important;
        gap: 16px !important;
    }
    
    .tonies-white-container {
        width: 100% !important;
        max-width: 343px !important;
        margin: 0 auto !important;
        padding: 24px !important;
        gap: 24px !important;
    }
    
    .tonies-header-text {
        gap: 4px !important;
    }
    
    .tonies-headline {
        font-size: 24px !important;
        line-height: 1.5em !important;
        text-align: center !important;
    }
    
    .tonies-subheadline {
        width: 327px !important;
        font-size: 16px !important;
        line-height: 1.5em !important;
        text-align: center !important;
        margin: 0 auto !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
    }
    
    .tonies-input-container {
        gap: 8px !important;
    }
    
    .tonies-label-container {
        gap: 2px !important;
        padding: 0 8px !important;
    }
    
    .tonies-input-field {
        padding: 12px 16px !important;
        gap: 6px !important;
        border-radius: var(--corner-smooth-md) !important;
        border: 2px solid var(--tonies-border) !important;
    }
    
    .tonies-input-field.error {
        border-color: var(--tonies-error) !important;
    }
    
    .tonies-input-field.error:focus-within {
        border-color: var(--tonies-error) !important;
    }
    
    .tonies-button-container {
        gap: 10px !important;
    }
    
    .tonies-primary-button {
        border-radius: var(--corner-smooth-md) !important;
        height: auto !important;
        padding: 18px 24px !important;
    }
    
    .tonies-primary-button span {
        font-size: 18px !important;
        line-height: 1em !important;
        letter-spacing: 0.444444434510337% !important;
    }
    
    .tonies-info-content {
        gap: 20px !important;
    }
    
    .tonies-message-text {
        font-size: 15px !important;
        line-height: 1.5em !important;
    }
    
    .tonies-icon-container svg {
        width: 56px !important;
        height: 56px !important;
    }
    
    #kc-locale {
        top: 16px !important;
        right: 16px !important;
    }

    /* Only move language selector down when alert is present */
    .alert ~ * #kc-locale,
    body:has(.alert) #kc-locale {
        top: 70px !important;
    }
    
    .tonies-logo-container {
        width: 120px !important;
        height: auto !important;
    }

    /* Secondary action container responsive */
    .tonies-secondary-action {
        width: 100% !important;
        max-width: 343px !important;
    }
    
    .tonies-signup-text {
        width: 100% !important;
        max-width: 327px !important;
    }
}

/* Small mobile breakpoint (375px and below) */
@media (max-width: 375px) {
    .alert {
        left: 12px !important;
        right: 12px !important;
    }

    .tonies-main-container {
        max-width: 100% !important;
        padding: 80px 12px 24px 12px !important;
    }
    
    .tonies-content-frame {
        width: calc(100% - 8px) !important;
    }
    
    .tonies-subheadline {
        width: 100% !important;
        max-width: 327px !important;
    }

    /* Secondary action container for very small screens */
    .tonies-secondary-action {
        width: 100% !important;
        max-width: calc(100% - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }
    
    .tonies-signup-text {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 8px !important;
        box-sizing: border-box !important;
    }
}

/* Very small mobile breakpoint (480px and below) for info pages */
@media (max-width: 480px) {
    .tonies-info-content {
        gap: 16px !important;
    }
    
    .tonies-icon-container svg {
        width: 48px !important;
        height: 48px !important;
    }
    
    .tonies-message-text {
        font-size: 14px !important;
    }
} 