/* Styles for YPN Warranty Activation Form */
.ypn-warranty-activation-form-wrapper {
    max-width: 600px; margin: 20px auto; padding: 25px;
    border: 1px solid #e0e0e0; border-radius: 8px;
    font-family: inherit; background-color: #f9f9f9;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    direction: rtl; text-align: right;
}
.ypn-form-steps {
    display: flex; justify-content: space-around; margin-bottom: 30px;
    padding-bottom: 20px; border-bottom: 1px solid #eee;
}
.ypn-step-icon {
    display: flex; flex-direction: column; align-items: center;
    color: #adb5bd; font-size: 0.9em; text-align: center; flex: 1;
}
.ypn-step-icon i, .ypn-step-icon svg {
    font-size: 24px; margin-bottom: 5px; border: 2px solid #ccc;
    border-radius: 50%; width: 44px; height: 44px;
    line-height: 40px; text-align: center; color: #aaa;
    transition: all 0.3s ease;
}
.ypn-step-icon svg { padding: 8px; box-sizing: border-box; }
.ypn-step-icon.active { color: #007bff; }
.ypn-step-icon.active i, .ypn-step-icon.active svg { border-color: #007bff; color: #007bff; }
.ypn-form-step h3 {
    margin-top: 0; margin-bottom: 20px; font-size: 1.4em; color: #333;
    border-bottom: 1px solid #eee; padding-bottom: 10px;
}
.ypn-form-field { margin-bottom: 15px; }
.ypn-form-field label { display: block; margin-bottom: 5px; font-weight: bold; color: #555; }
.ypn-form-field input[type="text"], .ypn-form-field input[type="tel"],
.ypn-form-field input[type="email"], .ypn-form-field textarea {
    width: 100%; padding: 10px; border: 1px solid #ccc;
    border-radius: 4px; box-sizing: border-box; font-family: inherit;
}
.ypn-form-field textarea { min-height: 80px; }
.ypn-button {
    background-color: #007bff; color: white; padding: 10px 20px;
    border: none; border-radius: 4px; cursor: pointer;
    font-size: 1em; transition: background-color 0.3s ease;
    display: inline-block; margin-top: 10px;
}
.ypn-button:hover { background-color: #0056b3; }
.ypn-button:disabled { background-color: #ccc; cursor: not-allowed; }
.ypn-form-message { margin-top: 15px; padding: 10px; border-radius: 4px; display: none; text-align: center; }
.ypn-success-message { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.ypn-error-message { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.ypn-product-info-display { text-align: center; margin-bottom: 20px; }
.ypn-product-info-display img { max-width: 150px; height: auto; border-radius: 4px; margin-bottom: 10px; border: 1px solid #eee;}
.ypn-product-info-display h4 { margin: 5px 0; font-size: 1.2em; }
.ypn-product-info-display p { margin: 5px 0; font-size: 1em; color: #555; }
.ypn-date-picker {
    text-align: left; /* For LTR date input */
    direction: ltr;
}
.ypn-form-field .description {
    font-size: 0.85em;
    color: #777;
    margin-top: 5px;
}

/* Controls for OTP input and actions */
.ypn-otp-controls {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px dashed #eee;
}
.ypn-otp-actions {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 10px; /* فاصله بین دکمه تایید و ارسال مجدد */
}

.ypn-resend-otp-btn {
    background-color: #6c757d !important; /* رنگ متفاوت برای ارسال مجدد */
    font-size: 0.9em !important;
    padding: 8px 15px !important;
}
.ypn-resend-otp-btn:hover {
    background-color: #5a6268 !important;
}
.ypn-resend-otp-timer-text {
    font-size: 0.9em;
    color: #555;
}

/* Change phone number button/link style */
.ypn-link-button {
    background: none !important;
    border: none;
    padding: 0 !important;
    color: #007bff;
    text-decoration: underline;
    cursor: pointer;
    font-size: 0.9em;
}
.ypn-link-button:hover {
    color: #0056b3;
}
.ypn-phone-number-field-group { /* برای گروه کردن فیلد تلفن و دکمه تغییر */
    position: relative;
}