/* ================================================
   Unsubscribe SMS Form Theme
   Custom theme for unsubscribe mobile number input
   ================================================ */

/* Form container - 746px max-width centered */
.unsubscribe-sms-form-container {
    font-family: "Open Sans", sans-serif;
    width: 100% !important;
    max-width: 746px !important;
    margin: 0 auto;
    padding: 20px 0;
    color: #333;
}

/* Form content */
.unsubscribe-sms-form-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100% !important;
}

/* Fieldsets */
.unsubscribe-sms-fieldset {
    border: none;
    padding: 0;
    margin: 0;
    width: 100% !important;
}

.unsubscribe-sms-legend {
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 18px;
}

.unsubscribe-sms-fieldset-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100% !important;
}

/* Field wrappers - FULL WIDTH */
.unsubscribe-sms-field-wrapper {
    margin-bottom: 0;
    width: 100% !important;
    max-width: 100% !important;
}

.unsubscribe-sms-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* Labels */
.unsubscribe-sms-field-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 14px;
    color: #333;
}

.form-required-indicator {
    color: #e53935;
    margin-left: 2px;
}

/* Tooltips */
.unsubscribe-sms-tooltip {
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
}

/* Validation messages */
.unsubscribe-sms-validation-message {
    display: block;
    color: #e53935;
    font-size: 12px;
    margin-top: 5px;
}

/* Input wrapper */
.unsubscribe-sms-input-wrapper {
    width: 100% !important;
    max-width: 100% !important;
}

/* ================================================
   Custom Mobile Number Input Field
   60px height with +61 prefix - FULL WIDTH
   ================================================ */

/* Main wrapper - FULL WIDTH, 60px height */
.unsubscribe-mobile-input-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    box-sizing: border-box !important;
}

.unsubscribe-mobile-input-wrapper:focus-within {
    border-color: #008fd5 !important;
    box-shadow: 0 0 0 3px rgba(0, 143, 213, 0.1) !important;
}

/* Country code prefix (+61) - MUST BE VISIBLE */
.unsubscribe-mobile-input-wrapper .country-code,
.country-code {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    min-height: 60px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    color: #000 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: "Open Sans", sans-serif !important;
    border-right: 1px solid #d1d5db !important;
    flex-shrink: 0 !important;
    user-select: none !important;
    background: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Input field - FULL WIDTH */
.unsubscribe-mobile-input-wrapper .unsubscribe-mobile-input,
.unsubscribe-mobile-input-wrapper input[type="tel"],
.unsubscribe-mobile-input-wrapper input[type="text"],
.unsubscribe-mobile-input-wrapper input,
.unsubscribe-mobile-input,
input.unsubscribe-mobile-input {
    flex: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 60px !important;
    max-height: 60px !important;
    border: none !important;
    outline: none !important;
    padding: 0 16px !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-family: "Open Sans", sans-serif !important;
    color: #374151 !important;
    background: transparent !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* Placeholder styling */
.unsubscribe-mobile-input-wrapper .unsubscribe-mobile-input::placeholder,
.unsubscribe-mobile-input-wrapper input[type="tel"]::placeholder,
.unsubscribe-mobile-input-wrapper input[type="text"]::placeholder,
.unsubscribe-mobile-input-wrapper input::placeholder,
.unsubscribe-mobile-input::placeholder {
    color: #9ca3af !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Focus states */
.unsubscribe-mobile-input-wrapper .unsubscribe-mobile-input:focus,
.unsubscribe-mobile-input-wrapper input[type="tel"]:focus,
.unsubscribe-mobile-input-wrapper input[type="text"]:focus,
.unsubscribe-mobile-input-wrapper input:focus,
.unsubscribe-mobile-input:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Ensure form is full width */
.unsubscribe-sms-form-container form,
form .unsubscribe-sms-form-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* Form navigation buttons */
.unsubscribe-sms-form-navigation {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 15px;
    width: 100% !important;
}

.unsubscribe-sms-btn {
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.unsubscribe-sms-btn-submit {
    background-color: #fcd34d;
    color: #1e3a8a;
    width: 100%;
}

.unsubscribe-sms-btn-submit:hover {
    background-color: #f59e0b;
}

.unsubscribe-sms-btn-prev,
.unsubscribe-sms-btn-next {
    background-color: #f1f1f3;
    color: #004185;
}

.unsubscribe-sms-btn-prev:hover,
.unsubscribe-sms-btn-next:hover {
    background-color: #e0e0e2;
}

/* Hidden class */
.hidden {
    display: none !important;
}

/* Honeypot field */
.honeypot-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Mobile responsive */
@media (max-width: 767.98px) {
    .unsubscribe-sms-form-container {
        padding: 15px 0;
        width: 100% !important;
    }

    .unsubscribe-mobile-input-wrapper {
        max-width: 100% !important;
        width: 100% !important;
    }

    .unsubscribe-sms-form-navigation {
        flex-direction: column;
    }

    .unsubscribe-sms-btn {
        width: 100%;
    }
}
