/* Jarvis Warranty System - Modern Styles */
body { 
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif; 
    line-height: 1.6; 
    color: #333; 
    background-color: #f4f7f6; 
    margin: 0; 
    padding: 0; 
}
.container.warranty-check, .container.warranty-registration { max-width: 700px; margin: 2rem auto; padding: 0 1rem; }
.warranty-inner { background-color: #ffffff; border-radius: 12px; padding: 2.5rem; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); border: 1px solid #e0e0e0; }
h2, h3 { color: #2c3e50; margin-bottom: 1.5rem; font-weight: 500; }
.warranty-inner h2 { text-align: center; font-size: 1.8rem; margin-bottom: 2rem; }
.message-box { padding: 1rem 1.5rem; margin-bottom: 1.5rem; border-radius: 8px; font-size: 0.95rem; border-left-width: 5px; border-left-style: solid; }
.message-box::before { content: none; } /* Remove default before pseudo element */

/* Modern message box styles */
.modern-message {
    display: block;
    padding: 1.5rem;
    border-left: none;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.modern-message .message-title {
    display: flex;
    align-items: center;
    margin-bottom: 0.8rem;
}
.modern-message .message-title h4 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: inherit;
}
.modern-message .message-icon {
    margin-right: 0.8rem;
    font-size: 1.5rem;
}
.modern-message .message-content p {
    margin: 0;
    line-height: 1.5;
    font-size: 1rem;
}

/* Message box variants */
.success-message { background-color: #f0f9f4; color: #2e7d32; border-color: #4CAF50; } 
.success-message .message-icon:before { content: "\f147"; color: #4CAF50; }

.error-message { background-color: #fef5f5; color: #c62828; border-color: #f44336; } 
.error-message .message-icon:before { content: "\f534"; color: #f44336; }

.info-message { background-color: #f2f9ff; color: #1565c0; border-color: #2196F3; } 
.info-message .message-icon:before { content: "\f348"; color: #2196F3; }

.warning-message { background-color: #fffdf2; color: #b08800; border-color: #ffc107; } 
.warning-message .message-icon:before { content: "\f536"; color: #ffc107; }

.form-group { margin-bottom: 1.75rem; }
label { display: block; margin-bottom: 0.6rem; font-weight: 500; color: #555; font-size: 0.9rem; }
input[type="text"], input[type="tel"], input[type="email"], input[type="file"], textarea { width: 100%; padding: 0.85rem 1rem; border: 1px solid #ccc; border-radius: 6px; background-color: #fdfdfd; box-sizing: border-box; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; font-size: 0.95rem; }
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus { border-color: #0073aa; box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.15); outline: none; }
textarea { min-height: 100px; resize: vertical; }
input[type="file"] { padding: 0.6rem 1rem; background-color: #f0f0f0; cursor: pointer; }
input[type="file"]::-webkit-file-upload-button { background: #0073aa; color: white; border: none; padding: 0.6rem 1rem; border-radius: 4px; cursor: pointer; margin-right: 10px; }
.button, button[type="submit"] { display: inline-block; background-color: #0073aa; color: white; padding: 0.8rem 1.8rem; border: none; border-radius: 6px; cursor: pointer; font-size: 1rem; font-weight: 500; text-decoration: none; transition: background-color 0.2s ease-in-out, transform 0.1s ease; text-align: center; width: 100%; box-sizing: border-box; }
.button:hover, button[type="submit"]:hover { background-color: #005177; color: white; transform: translateY(-1px); }
.button:active, button[type="submit"]:active { transform: translateY(0px); }
a.button { width: auto; display: inline-block; }
.warranty-check-form { max-width: 500px; margin: 2rem auto; padding: 2rem; background-color: #ffffff; border-radius: 12px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); border: 1px solid #e0e0e0; }
.warranty-check-form h3 { text-align: center; margin-bottom: 1.5rem; font-size: 1.5rem; }
.warranty-check-form form { display: flex; flex-direction:column; gap: 15px; align-items: stretch; } /* Changed to column */
.warranty-check-form input[type="text"] { flex-grow: 1; }
.warranty-check-form button[type="submit"] { width: 100%; padding: 0.85rem 1.5rem; } /* Full width button */
.product-details-wrapper { margin-top: 2rem; padding: 1.5rem; background-color: #f9f9f9; border-radius: 12px; border: 1px solid #eee; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); }
.product-details-wrapper h3 { font-size: 1.4rem; margin-bottom: 1rem; color: #333; }
.product-description { background-color: #f0f0f0; padding: 1rem; border-radius: 6px; margin-bottom: 1.5rem; font-size: 0.95rem; color: #444; line-height: 1.7; }
.registration-type { margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px dashed #ddd; }
.registration-type label:first-of-type { margin-bottom: 1rem; }
.radio-buttons { display: flex; gap: 25px; align-items: center; }
.radio-label { display: flex; align-items: center; cursor: pointer; font-weight: normal; font-size: 0.95rem; color: #444; }
.radio-label input[type="radio"] { margin-right: 8px; transform: scale(1.1); accent-color: #0073aa; }
#individual-fields, #corporate-fields, .common-fields { padding-top: 1rem; margin-top: 1rem; }
#individual-fields, #corporate-fields { border-top: 1px solid #eee; }
input[type="text"]#purchase-date { max-width: 200px; }
@media (max-width: 768px) {
    .container.warranty-check, .container.warranty-registration { margin: 1rem auto; padding: 0 0.5rem; }
    .warranty-inner { padding: 1.5rem; } .warranty-inner h2 { font-size: 1.5rem; }
    .radio-buttons { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (max-width: 480px) {
    .warranty-inner { padding: 1rem; } .warranty-inner h2 { font-size: 1.3rem; }
    .button, button[type="submit"] { padding: 0.7rem 1.2rem; font-size: 0.9rem; }
    input[type="text"], input[type="tel"], input[type="email"], textarea { padding: 0.75rem 0.8rem; font-size: 0.9rem; }
}