/* PMS Address Fields Enhancement - Frontend Styles */
/* Floating Label System for PMS Premium Form Designs */

/* ================================================================
   SHIPPING ADDRESS FIELDS - FLOATING LABELS FOR PREMIUM FORMS
   Using EXACT PMS Implementation - No Transforms!
   ================================================================ */

/* EXTEND PMS NATIVE SELECTORS TO INCLUDE OUR FIELDS */
.pms-form-design-wrapper .pms-field:not(.pms-field-subscriptions, .pms-gdpr-field, .pms-field-type-card_expiration_date) label {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    padding: 0 15px;
    line-height: 56px;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    color: #6E7A86;
    pointer-events: none;
    text-indent: 0 !important;
}

.pms-form-design-wrapper .pms-field:not(.pms-field-subscriptions) label.active {
    margin: 0;
    top: 0;
    font-size: 12px;
    transition: all ease-in-out 50ms;
    line-height: 30px;
}

.pms-form-design-wrapper .pms-field:not(.pms-field-subscriptions) label.focused {
    color: #1079F3!important;
}

/* Field Container Positioning */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] {
    position: relative !important;
    margin-bottom: 30px !important;
}

/* Labels - Default State (Inside Field) */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] label {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: auto !important;
    padding: 0 15px !important;
    line-height: 56px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #6E7A86 !important;
    pointer-events: none !important;
    text-indent: 0 !important;
    transition: all ease-in-out 150ms !important;
    background: transparent !important;
    z-index: 2 !important;
}

/* Labels - Active State (Floating) */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] label.active {
    margin: 0 !important;
    top: 0 !important;
    font-size: 12px !important;
    transition: all ease-in-out 50ms !important;
    line-height: 30px !important;
}

/* Labels - Focused State (Blue Color) */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] label.focused {
    color: #1079F3 !important;
}

/* Labels - Error State (Red Color) */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-error label {
    color: #C62828 !important;
}

/* Input Fields - Default State */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    outline: none !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #090A0B !important;
    height: 56px !important;
    padding: 15px 15px 0 15px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

/* Textarea Fields - Default State */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] textarea {
    width: 100% !important;
    max-width: 100% !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    outline: none !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #090A0B !important;
    min-height: 80px !important;
    padding: 20px 15px 15px 15px !important;
    resize: vertical !important;
    font-family: inherit !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

/* Select Fields - Default State */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-type-select select {
    width: 100% !important;
    max-width: 100% !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    outline: none !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #090A0B !important;
    height: 56px !important;
    padding: 15px 15px 0 15px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23666' d='M8 11l-4-4h8z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 16px !important;
}

/* Hover States */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] input[type="text"]:hover,
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] textarea:hover,
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-type-select select:hover {
    border-color: #1079F3 !important;
}

/* Focus States */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] input[type="text"]:focus,
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"] textarea:focus,
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-type-select select:focus {
    border-color: #1079F3 !important;
    box-shadow: 0 0 0 2px rgba(16, 121, 243, 0.1) !important;
}

/* Error States */
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-error input[type="text"],
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-error textarea,
.pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-error select {
    border-color: #C62828 !important;
}

/* ================================================================
   DIRECT SELECTORS FOR MAXIMUM COMPATIBILITY
   ================================================================ */

/* Phone Field */
input#pms_shipping_phone,
input[name="pms_shipping_phone"] {
    width: 100% !important;
    height: 56px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 15px 15px 0 15px !important;
}

/* Address Fields */
input#pms_shipping_address_line_1,
input[name="pms_shipping_address_line_1"],
input#pms_shipping_address_line_2,
input[name="pms_shipping_address_line_2"],
input#pms_shipping_city,
input[name="pms_shipping_city"],
input#pms_shipping_state,
input[name="pms_shipping_state"],
input#pms_shipping_postal_code,
input[name="pms_shipping_postal_code"] {
    width: 100% !important;
    height: 56px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 15px 15px 0 15px !important;
}

/* Country Select */
select#pms_shipping_country,
select[name="pms_shipping_country"] {
    width: 100% !important;
    height: 56px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 15px 15px 0 15px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23666' d='M8 11l-4-4h8z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 16px !important;
}

/* Observations Textarea */
textarea#pms_shipping_observations,
textarea[name="pms_shipping_observations"] {
    width: 100% !important;
    min-height: 80px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 20px 15px 15px 15px !important;
    resize: vertical !important;
    font-family: inherit !important;
}

/* Label Positioning for All Shipping Fields */
label[for="pms_shipping_phone"],
label[for="pms_shipping_address_line_1"],
label[for="pms_shipping_address_line_2"],
label[for="pms_shipping_city"],
label[for="pms_shipping_state"],
label[for="pms_shipping_postal_code"],
label[for="pms_shipping_country"],
label[for="pms_shipping_observations"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    padding: 0 15px !important;
    line-height: 56px !important;
    font-size: 16px !important;
    color: #6E7A86 !important;
    pointer-events: none !important;
    transition: all ease-in-out 150ms !important;
    background: transparent !important;
    z-index: 2 !important;
}

/* Active Label States */
label[for="pms_shipping_phone"].active,
label[for="pms_shipping_address_line_1"].active,
label[for="pms_shipping_address_line_2"].active,
label[for="pms_shipping_city"].active,
label[for="pms_shipping_state"].active,
label[for="pms_shipping_postal_code"].active,
label[for="pms_shipping_country"].active,
label[for="pms_shipping_observations"].active {
    margin: 0 !important;
    top: 0 !important;
    font-size: 12px !important;
    transition: all ease-in-out 50ms !important;
    line-height: 30px !important;
}

/* Focused Label States */
label[for="pms_shipping_phone"].focused,
label[for="pms_shipping_address_line_1"].focused,
label[for="pms_shipping_address_line_2"].focused,
label[for="pms_shipping_city"].focused,
label[for="pms_shipping_state"].focused,
label[for="pms_shipping_postal_code"].focused,
label[for="pms_shipping_country"].focused,
label[for="pms_shipping_observations"].focused {
    color: #1079F3 !important;
}

/* ================================================================
   UNIVERSAL PATTERNS FOR ANY MISSED FIELDS
   ================================================================ */

/* Universal Input Pattern */
input[name^="pms_shipping_"] {
    width: 100% !important;
    height: 56px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 15px 15px 0 15px !important;
    box-sizing: border-box !important;
}

/* Universal Textarea Pattern */
textarea[name^="pms_shipping_"] {
    width: 100% !important;
    min-height: 80px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 20px 15px 15px 15px !important;
    resize: vertical !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
}

/* Universal Select Pattern */
select[name^="pms_shipping_"] {
    width: 100% !important;
    height: 56px !important;
    background: #FFFFFF !important;
    border: 1px solid #CFD4DE !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    color: #090A0B !important;
    padding: 15px 15px 0 15px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23666' d='M8 11l-4-4h8z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 16px !important;
    box-sizing: border-box !important;
}

/* Universal Label Pattern */
label[for^="pms_shipping_"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    padding: 0 15px !important;
    line-height: 56px !important;
    font-size: 16px !important;
    color: #6E7A86 !important;
    pointer-events: none !important;
    transition: all ease-in-out 150ms !important;
    background: transparent !important;
    z-index: 2 !important;
}

/* Universal Active Label Pattern */
label[for^="pms_shipping_"].active {
    margin: 0 !important;
    top: 0 !important;
    font-size: 12px !important;
    transition: all ease-in-out 50ms !important;
    line-height: 30px !important;
}

/* Universal Focused Label Pattern */
label[for^="pms_shipping_"].focused {
    color: #1079F3 !important;
}

/* ================================================================
   ACCOUNT TAB STYLES (Non-Premium Forms)
   ================================================================ */

/* Legacy Styles for Account Tab */
.pms-shipping-address-group {
    margin-top: 20px;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
}

.pms-field-group-title {
    margin: 0 0 15px 0;
    padding: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    border-bottom: 2px solid #007cba;
    padding-bottom: 8px;
}

.pms-account-tabs {
    display: flex;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

.pms-account-tab {
    display: block;
    padding: 12px 20px;
    text-decoration: none;
    color: #555;
    background: #f9f9f9;
    border-right: 1px solid #ddd;
    transition: all 0.3s ease;
}

.pms-account-tab:hover {
    background: #007cba;
    color: #fff;
    text-decoration: none;
}

.pms-account-tab.pms-tab-active {
    background: #007cba;
    color: #fff;
    font-weight: 600;
}

.pms-account-tab:last-child {
    border-right: none;
}

.pms-account-tab-content {
    background: #fff;
    padding: 25px;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 5px 5px;
}

.pms-account-tab-content h3 {
    margin: 0 0 20px 0;
    color: #333;
    font-size: 22px;
}

/* ================================================================
   RESPONSIVE DESIGN
   ================================================================ */

@media (max-width: 768px) {
    .pms-form-design-wrapper .pms-field[class*="pms_shipping_"] {
        margin-bottom: 20px !important;
    }
    
    .pms-form-design-wrapper .pms-field[class*="pms_shipping_"] label {
        font-size: 14px !important;
        line-height: 48px !important;
        padding: 0 12px !important;
    }
    
    .pms-form-design-wrapper .pms-field[class*="pms_shipping_"] label.active {
        margin: 0 !important;
        top: 0 !important;
        font-size: 11px !important;
        transition: all ease-in-out 50ms !important;
        line-height: 26px !important;
    }
    
    .pms-form-design-wrapper .pms-field[class*="pms_shipping_"] input[type="text"],
    .pms-form-design-wrapper .pms-field[class*="pms_shipping_"].pms-field-type-select select {
        height: 48px !important;
        padding: 12px 12px 0 12px !important;
        font-size: 14px !important;
    }
} 