/* ===================================
   CUSTOMER AUTHENTICATION FIXES
   =================================== */

/* 1. Expandable Forms Styling */
.expandable-form-container {
    transition: all 0.3s ease;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
}

.expandable-form-container.show {
    max-height: 1000px;
    opacity: 1;
    transform: translateY(0);
}

.expandable-form-card {
    border: 2px solid #E67E22 !important;
    border-radius: 8px !important;
    background-color: white !important;
    box-shadow: 0 4px 12px rgba(230, 126, 34, 0.1) !important;
}

.expandable-form-header h6 {
    color: #E67E22 !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}

/* 2. Authentication Section Improvements */
#authenticationSection {
    border: 2px solid #E67E22 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
    box-shadow: 0 4px 16px rgba(230, 126, 34, 0.1) !important;
}

.auth-section-card {
    background: transparent !important;
    border: none !important;
}

/* 3. Button Styling */
.btn-auth-login,
.btn-auth-register {
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    border: 2px solid transparent !important;
}

.btn-auth-login:hover {
    background-color: #D35400 !important;
    border-color: #D35400 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(230, 126, 34, 0.3) !important;
}

.btn-auth-register:hover {
    background-color: #922B21 !important;
    border-color: #922B21 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(169, 50, 38, 0.3) !important;
}

/* 4. Form Controls */
.expandable-form-container .form-control {
    border: 2px solid #e9ecef !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    transition: all 0.3s ease !important;
}

.expandable-form-container .form-control:focus {
    border-color: #E67E22 !important;
    box-shadow: 0 0 0 0.2rem rgba(230, 126, 34, 0.25) !important;
}

/* 5. Customer Info Display with Logout Button */
#customerInfoDisplay .alert-success {
    border: 2px solid #28a745 !important;
    border-radius: 8px !important;
    background-color: #d4edda !important;
    margin-bottom: 1rem !important;
    padding: 1rem !important;
}

#customerInfoDisplay .d-flex {
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 1rem !important;
}

#customerInfoDisplay .btn-outline-danger {
    border: 2px solid #dc3545 !important;
    color: #dc3545 !important;
    background-color: transparent !important;
    border-radius: 6px !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

#customerInfoDisplay .btn-outline-danger:hover {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: white !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

#customerInfoDisplay .btn-outline-danger:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(220, 53, 69, 0.3) !important;
}

/* Ensure the user info section doesn't overflow */
#customerInfoDisplay .alert-success > div:first-child {
    flex-grow: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

#customerInfoDisplay .alert-success > div:last-child {
    flex-shrink: 0 !important;
}

/* 5. Order Summary Scroll Fix */
.checkout-order-summary {
    overflow: hidden !important;
}

.zara-summary-card {
    overflow: hidden !important;
}

.zara-summary-body {
    overflow: hidden !important;
    max-width: 100% !important;
}

#checkoutCartItems {
    overflow: hidden !important;
    max-width: 100% !important;
}

.zara-checkout-item {
    overflow: hidden !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    white-space: normal !important;
}

.zara-checkout-item:hover {
    overflow: hidden !important;
    transform: none !important;
}

.zara-item-main {
    overflow: hidden !important;
    max-width: calc(100% - 80px) !important;
}

.zara-item-name {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
}

.zara-item-details {
    overflow: hidden !important;
    max-width: 100% !important;
}

.zara-item-price {
    flex-shrink: 0 !important;
    min-width: 80px !important;
    text-align: right !important;
}

/* 6. Prevent horizontal scroll in modal */
#checkoutModal .modal-body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

#checkoutModal .modal-content {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* 7. Responsive Design */
@media (max-width: 768px) {
    .btn-auth-login,
    .btn-auth-register {
        padding: 10px 20px !important;
        font-size: 14px !important;
    }
    
    .expandable-form-container .form-control {
        padding: 8px 10px !important;
    }
    
    .zara-checkout-item {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    .zara-item-price {
        margin-top: 8px !important;
        text-align: left !important;
        min-width: auto !important;
    }
    
    /* Mobile responsive for logout button */
    #customerInfoDisplay .d-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
    }
    
    #customerInfoDisplay .btn-outline-danger {
        align-self: flex-end !important;
        font-size: 0.8rem !important;
        padding: 0.25rem 0.5rem !important;
    }
}

/* 8. Dark Mode Support */
body.dark-mode #authenticationSection {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #E67E22 !important;
    color: #f5f5dc !important;
}

body.dark-mode .expandable-form-card {
    background-color: #2d2d2d !important;
    color: #f5f5dc !important;
}

body.dark-mode .expandable-form-container .form-control {
    background-color: #1a1a1a !important;
    border-color: #404040 !important;
    color: #f5f5dc !important;
}

body.dark-mode .expandable-form-container .form-control:focus {
    border-color: #E67E22 !important;
    background-color: #2d2d2d !important;
}

/* Dark mode for customer info display */
body.dark-mode #customerInfoDisplay .alert-success {
    background-color: #1e3a2e !important;
    border-color: #28a745 !important;
    color: #d4edda !important;
}

body.dark-mode #customerInfoDisplay .btn-outline-danger {
    border-color: #dc3545 !important;
    color: #dc3545 !important;
    background-color: transparent !important;
}

body.dark-mode #customerInfoDisplay .btn-outline-danger:hover {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: white !important;
}

/* 9. Animation Improvements */
.expandable-form-container {
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.3s ease,
                transform 0.3s ease !important;
}

.btn-auth-login,
.btn-auth-register {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 10. Fix for disappearing forms */
.expandable-form-container[style*="display: block"] {
    display: block !important;
    max-height: 1000px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.expandable-form-container[style*="display: none"] {
    display: none !important;
}

/* 11. Ensure proper form visibility */
#loginFormContainer.show,
#registerFormContainer.show {
    display: block !important;
    max-height: 1000px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* 12. Additional scroll prevention */
.modal-body * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.checkout-order-summary * {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* 13. Specific fixes for order summary items */
.zara-checkout-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #e9ecef !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

.zara-checkout-item:last-child {
    border-bottom: none !important;
}

.zara-checkout-item:hover {
    background-color: transparent !important;
    transform: none !important;
    overflow: hidden !important;
}

/* 14. Text overflow handling */
.zara-item-name,
.zara-item-details,
.zara-size,
.zara-additionals,
.zara-notes {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
}

.zara-additionals,
.zara-notes {
    white-space: normal !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
}
