/**
 * Zoraya Shipping & Checkout Notice Styling
 * Journal 3 Quick Checkout & Standard Theme Compatible
 */
/* =========================================================
 * Journal 3 Quick Checkout Direct Customization
 * ========================================================= */
/* 0. Replace "PAYMENT ADDRESS" with "ALAMAT PENGIRIMAN" with 100% instant CSS display */
.checkout-section.payment-address > .title,
.checkout-section.payment-address > .section-title,
.payment-address > .title,
.payment-address > .section-title,
.journal-checkout-section.payment-address > .title,
.journal-checkout-section.payment-address > .section-title,
.checkout-payment-address > .title,
.checkout-payment-address > .section-title,
div[class*="payment-address"] > .title,
div[class*="payment-address"] > .section-title,
div[class*="payment-address"] .journal-checkout-section-title {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    position: relative !important;
}

.checkout-section.payment-address > .title::after,
.checkout-section.payment-address > .section-title::after,
.payment-address > .title::after,
.payment-address > .section-title::after,
.journal-checkout-section.payment-address > .title::after,
.journal-checkout-section.payment-address > .section-title::after,
.checkout-payment-address > .title::after,
.checkout-payment-address > .section-title::after,
div[class*="payment-address"] > .title::after,
div[class*="payment-address"] > .section-title::after,
div[class*="payment-address"] .journal-checkout-section-title::after {
    content: "ALAMAT PENGIRIMAN" !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #ffffff !important;
    display: block !important;
    visibility: visible !important;
    text-align: center !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* 1. Hide "Same shipping and payment address" checkbox and container completely */
.checkout-same-address,
.journal-same-address,
.checkbox.shipping_address_same,
.shipping_address_same,
.shipping-address-same,
input[name="shipping_address_same"],
input[name="same_address"],
#shipping_address_same_as_payment,
#input-payment-address-same,
input[name*="shipping_address_same"],
input[name*="same_address"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
}

/* 1b. Sequential Address Field Ordering: Alamat 1 (di atas Negara) -> Negara -> Provinsi -> Kota -> Kecamatan -> Kelurahan -> Kodepos */
.journal-checkout-section.payment-address .journal-checkout-section-body,
.journal-checkout-section.payment-address form,
.payment-address form,
.payment-address .section-body {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.payment-address .address-firstname,
.payment-address .address-lastname {
    order: 1 !important;
}
.payment-address .address-company {
    order: 2 !important;
}

/* 3. ALAMAT 1 DI ATAS NEGARA */
.payment-address .address-address-1,
.payment-address .form-group.address-address-1,
.payment-address .journal-field.address-address-1,
.payment-address .form-group:has(input[name*="address_1"]),
.payment-address .journal-field:has(input[name*="address_1"]) {
    order: 5 !important; /* 1. Alamat 1 (DI ATAS NEGARA) */
}
.payment-address .address-address-2,
.payment-address .form-group.address-address-2,
.payment-address .journal-field.address-address-2,
.payment-address .form-group:has(input[name*="address_2"]),
.payment-address .journal-field:has(input[name*="address_2"]) {
    order: 6 !important; /* 2. Alamat 2 */
}

/* 4. NEGARA */
.payment-address .address-country,
.payment-address .form-group.address-country,
.payment-address .journal-field.address-country,
.payment-address .form-group:has(select[name*="country_id"]),
.payment-address .journal-field:has(select[name*="country_id"]) {
    order: 10 !important; /* 3. Negara */
}

/* 5. PROVINSI */
.payment-address .address-zone,
.payment-address .form-group.address-zone,
.payment-address .journal-field.address-zone,
.payment-address .form-group:has(select[name*="zone_id"]),
.payment-address .journal-field:has(select[name*="zone_id"]) {
    order: 20 !important; /* 4. Provinsi */
}

/* 6. KOTA */
.payment-address .address-city,
.payment-address .form-group.address-city,
.payment-address .journal-field.address-city,
.payment-address .form-group:has(#input-payment-city-id),
.payment-address .journal-field:has(#input-payment-city-id),
.payment-address .form-group:has(select.zoraya-select-city),
.payment-address .journal-field:has(select.zoraya-select-city) {
    order: 30 !important; /* 5. Kota */
}

/* 7. KECAMATAN */
.payment-address .zoraya-row-payment-subdistrict,
.payment-address .zoraya-row-subdistrict {
    order: 40 !important; /* 6. Kecamatan */
}

/* 8. KELURAHAN */
.payment-address .zoraya-row-payment-village,
.payment-address .zoraya-row-village {
    order: 50 !important; /* 7. Kelurahan / Desa */
}

/* 9. KODEPOS */
.payment-address .address-postcode,
.payment-address .form-group.address-postcode,
.payment-address .journal-field.address-postcode,
.payment-address .form-group:has(input[name*="postcode"]),
.payment-address .journal-field:has(input[name*="postcode"]) {
    order: 60 !important; /* 8. Kodepos */
}

/* 1c. Form Field Alignment & Neatness: Sejajar, Rapi, Bersih */
.payment-address .form-group,
.payment-address .journal-field,
.payment-address .zoraya-row-subdistrict,
.payment-address .zoraya-row-village,
.payment-address .zoraya-row-payment-subdistrict,
.payment-address .zoraya-row-payment-village {
    width: 100% !important;
    margin-bottom: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.payment-address .form-group > label,
.payment-address .journal-field > label,
.payment-address .control-label {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
    float: none !important;
}

/* Prevent double red asterisk on Kecamatan and Kelurahan */
.payment-address .required .control-label:after,
.payment-address .form-group.required > label:after,
.payment-address .journal-field.required > label:after {
    content: ' *' !important;
    color: #ef4444 !important;
    font-weight: bold !important;
}
.payment-address .form-group.required .control-label span.text-danger,
.payment-address .journal-field.required .control-label span.text-danger,
.payment-address .zoraya-row-subdistrict .control-label span.text-danger,
.payment-address .zoraya-row-village .control-label span.text-danger {
    display: none !important;
}

/* Clean, uniform input and select styling */
.payment-address input[type="text"],
.payment-address input[type="email"],
.payment-address input[type="tel"],
.payment-address select,
.payment-address .form-control,
select.zoraya-select-city,
select.zoraya-select-subdistrict,
select.zoraya-select-village {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    line-height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    font-size: 14px !important;
    color: #0f172a !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.payment-address input:focus,
.payment-address select:focus,
select.zoraya-select-city:focus,
select.zoraya-select-subdistrict:focus,
select.zoraya-select-village:focus {
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15) !important;
}

/* 2. Hide separate Shipping Address block (always same as payment/shipping) */
.journal-checkout-section.shipping-address,
#shipping-address.collapse,
#collapse-shipping-address,
#shipping-address {
    display: none !important;
}

/* 3. Ensure Kecamatan & Kelurahan rows are ALWAYS visible and styled */
.zoraya-row-subdistrict,
.zoraya-row-village,
.zoraya-row-payment-subdistrict,
.zoraya-row-payment-village {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    clear: both !important;
    margin-bottom: 14px !important;
    width: 100% !important;
}

.zoraya-row-subdistrict select,
.zoraya-row-village select {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.zoraya-cascading-widget {
    margin: 12px 0 16px 0;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.zoraya-cascading-widget .zoraya-field {
    margin-bottom: 14px;
}

.zoraya-cascading-widget .zoraya-label {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.zoraya-cascading-widget .zoraya-required {
    color: #ef4444;
    font-weight: bold;
}

.zoraya-cascading-widget .zoraya-subtext {
    font-size: 11px;
    font-weight: normal;
    color: #64748b;
}

.zoraya-cascading-widget .zoraya-search-wrapper {
    position: relative;
}

.zoraya-cascading-widget .zoraya-autocomplete-input {
    border-color: #38bdf8;
    background-color: #f0f9ff;
    font-size: 13px;
    box-shadow: 0 0 0 1px #bae6fd inset;
}

.zoraya-cascading-widget .zoraya-autocomplete-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    list-style: none;
    padding: 0;
    margin: 4px 0 0 0;
}

.zoraya-cascading-widget .zoraya-autocomplete-results li a:hover {
    background-color: #f1f5f9;
}

.zoraya-cascading-widget .zoraya-selected-badge {
    margin-top: 10px;
    padding: 8px 12px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 6px;
    color: #065f46;
    font-size: 12px;
}

/* Informational Notice Styling for Payment and Shipping */
.zoraya-payment-pending-notice,
.zoraya-shipping-pending-notice {
    display: block !important;
    padding: 10px 14px !important;
    background: #fdfaf3 !important;
    border: 1px dashed #e2d9c8 !important;
    border-radius: 8px !important;
    color: #786542 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: default !important;
    margin: 4px 0 !important;
}

.zoraya-payment-pending-notice input[type="radio"],
.zoraya-shipping-pending-notice input[type="radio"],
input[value="zoraya_pending_shipping"],
input[value="zoraya_payment_info"],
input[value="zoraya_shipping.info"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
}

/* Explicit rule: ensure real payment methods always have normal radio buttons */
input[value="zoraya_va"],
input[value="zoraya_qrisly"] {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* Explicit rule: ensure all real shipping courier options always have normal radio buttons */
input[name="shipping_method"]:not([value="zoraya_shipping.info"]),
input[name="shipping_code"]:not([value="zoraya_shipping.info"]),
.shipping-method input[type="radio"]:not([value="zoraya_shipping.info"]) {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* =========================================================
 * Zoraya Checkout Dark Loading Overlay & Main Menu Isolation
 * ========================================================= */
.zoraya-checkout-loading-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(15, 23, 42, 0.55) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
    z-index: 999998 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
    transition: opacity 0.2s ease-in-out !important;
    cursor: wait !important;
}

.zoraya-checkout-loading-overlay.zoraya-loading-active {
    display: flex !important;
}

.zoraya-loading-card {
    background: #ffffff !important;
    padding: 24px 32px !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.2) !important;
    text-align: center !important;
    max-width: 380px !important;
    width: 90% !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    animation: zorayaPopIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes zorayaPopIn {
    0% { transform: scale(0.92); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.zoraya-spinner {
    width: 44px !important;
    height: 44px !important;
    margin: 0 auto 16px auto !important;
    border: 3.5px solid #e2e8f0 !important;
    border-top: 3.5px solid #0284c7 !important;
    border-radius: 50% !important;
    animation: zorayaSpin 0.75s linear infinite !important;
}

@keyframes zorayaSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.zoraya-loading-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 6px !important;
    font-family: inherit !important;
}

.zoraya-loading-subtext {
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
}

/* Scope header and overlay ONLY during active checkout loading on checkout page */
body.zoraya-checkout-loading-locked header,
body.zoraya-checkout-loading-locked .journal-header,
body.zoraya-checkout-loading-locked .site-header,
body.zoraya-checkout-loading-locked .desktop-header {
    z-index: 999999 !important;
    pointer-events: auto !important;
}

/* Lock interactions on checkout elements while loading is active */
body.zoraya-checkout-loading-locked #content,
body.zoraya-checkout-loading-locked .journal-checkout,
body.zoraya-checkout-loading-locked #checkout-checkout,
body.zoraya-checkout-loading-locked .quick-checkout-wrapper,
body.zoraya-checkout-loading-locked #quickcheckout {
    pointer-events: none !important;
    user-select: none !important;
}

/* Prevent loading overlay, spinners, or blocking UI while user is typing in Alamat 1 (Address 1) */
body.zoraya-typing-address-1 #zoraya-checkout-overlay,
body.zoraya-typing-address-1 .zoraya-checkout-loading-overlay,
body.zoraya-typing-address-1 .journal-loading-overlay,
body.zoraya-typing-address-1 .checkout-loading::before,
body.zoraya-typing-address-1 .checkout-loading::after,
body.zoraya-typing-address-1 .blockUI,
body.zoraya-typing-address-1 .loading-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.zoraya-typing-address-1 #content,
body.zoraya-typing-address-1 .journal-checkout,
body.zoraya-typing-address-1 #checkout-checkout,
body.zoraya-typing-address-1 .quick-checkout-wrapper,
body.zoraya-typing-address-1 #quickcheckout {
    pointer-events: auto !important;
    user-select: auto !important;
}

input[name*="address_1"],
#input-payment-address-1,
#input-shipping-address-1,
#input-address-1 {
    pointer-events: auto !important;
}

input[name*="address_1"]:focus,
#input-payment-address-1:focus,
#input-shipping-address-1:focus,
#input-address-1:focus {
    position: relative !important;
    z-index: 1000 !important;
    pointer-events: auto !important;
    background-color: #ffffff !important;
}

/* =========================================================
 * Clean, Organized Solid Form Layout for OpenCart & Journal 3
 * (Fixes transparent background, floating labels, jumping legends)
 * ========================================================= */
#account-register #content,
#account-address #content,
#account-edit #content,
.account-register #content,
.account-address #content {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 30px 35px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    max-width: 920px !important;
    margin: 15px auto 35px auto !important;
}

/* Clear float and format legend section headers */
#account-register legend,
#account-address legend,
#account-edit legend,
.account-register legend,
.account-address legend,
.form-horizontal legend {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding-bottom: 10px !important;
    margin-top: 24px !important;
    margin-bottom: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Standardized row spacing and float clearance */
.form-horizontal .form-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 16px !important;
    clear: both !important;
    display: block !important;
}

.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
    content: " " !important;
    display: table !important;
    clear: both !important;
}

@media (min-width: 768px) {
    .form-horizontal .control-label {
        width: 22% !important;
        float: left !important;
        text-align: right !important;
        padding-top: 8px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #334155 !important;
    }
    .form-horizontal .col-sm-10 {
        width: 78% !important;
        float: left !important;
        padding-left: 15px !important;
    }
    .form-horizontal .col-sm-offset-2 {
        margin-left: 22% !important;
    }
}

@media (max-width: 767px) {
    .form-horizontal .control-label {
        text-align: left !important;
        margin-bottom: 6px !important;
        display: block !important;
        width: 100% !important;
        float: none !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #334155 !important;
    }
    .form-horizontal .col-sm-10 {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
    }
    .form-horizontal .col-sm-offset-2 {
        margin-left: 0 !important;
    }
}

/* Form input fields & select dropdowns */
.form-horizontal .form-control,
select.zoraya-select-city,
select.zoraya-select-subdistrict,
select.zoraya-select-village {
    height: 42px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    font-size: 13px !important;
    padding: 6px 12px !important;
    background-color: #ffffff !important;
    color: #1e293b !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 10 !important;
}

.form-horizontal .form-control:focus,
select.zoraya-select-city:focus,
select.zoraya-select-subdistrict:focus,
select.zoraya-select-village:focus {
    border-color: #0284c7 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

.form-horizontal select.form-control[disabled],
select.zoraya-select-subdistrict[disabled],
select.zoraya-select-village[disabled] {
    background-color: #f8fafc !important;
    color: #94a3b8 !important;
    cursor: not-allowed !important;
    border-color: #e2e8f0 !important;
}

/* =========================================================
 * Clean Dropdown Select Styling for Quick Checkout Shipping & Payment
 * ========================================================= */
.zoraya-shipping-select-wrapper,
.zoraya-payment-select-wrapper {
    margin-bottom: 16px !important;
    width: 100% !important;
    display: block !important;
    clear: both !important;
}

.zoraya-shipping-select-wrapper label,
.zoraya-payment-select-wrapper label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 6px !important;
}

select.zoraya-select-shipping,
select.zoraya-select-payment {
    width: 100% !important;
    height: 44px !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    border: 1.5px solid #cbd5e1 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;
    background-position: right 0.75rem center !important;
    background-repeat: no-repeat !important;
    background-size: 1.5em 1.5em !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    cursor: pointer !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

select.zoraya-select-shipping:hover,
select.zoraya-select-payment:hover {
    border-color: #94a3b8 !important;
}

select.zoraya-select-shipping:focus,
select.zoraya-select-payment:focus {
    border-color: #5A5A40 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(90, 90, 64, 0.15) !important;
}

.zoraya-hidden-method-radio {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* =========================================================
 * Sequential Address Form Ordering for OpenCart & Journal 3
 * Hierarchy:
 * Nama (1, 2) -> Alamat (10, 15 - DI ATAS NEGARA) -> Negara (20) -> Provinsi (30) -> Kota (40) -> Kecamatan (50) -> Kelurahan (60) -> Kodepos (70) -> Perusahaan (80)
 * ========================================================= */
.route-checkout-checkout .form-horizontal,
.checkout-checkout .form-horizontal,
#checkout-checkout .form-horizontal,
#collapse-payment-address form,
#collapse-shipping-address form,
.journal-checkout .payment-address,
.journal-checkout .shipping-address,
.journal-checkout-section.payment-address,
.journal-checkout-section.shipping-address,
.route-account-register #address,
.route-account-address #address,
#account-register #address,
#account-address #address,
#address,
fieldset#address,
.quick-checkout-wrapper .payment-address .section-body > div,
.quick-checkout-wrapper .shipping-address .section-body > div,
.quick-checkout-wrapper .payment-address .section-body,
.quick-checkout-wrapper .shipping-address .section-body,
.quick-checkout-wrapper .section-body {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
}

#address > legend,
fieldset#address > legend {
    order: 1 !important;
    width: 100% !important;
    margin-bottom: 16px !important;
}

select.zoraya-select-city,
select.zoraya-select-subdistrict,
select.zoraya-select-village,
#input-zone,
select[name="zone_id"] {
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.biteship-autocomplete-dropdown,
.ui-autocomplete {
    display: none !important;
}

.quick-checkout-wrapper .address-firstname,
.form-group.address-firstname,
div.address-firstname {
    order: 1 !important;
}

.quick-checkout-wrapper .address-lastname,
.form-group.address-lastname,
div.address-lastname {
    order: 2 !important;
}

.route-account-register .address-address-1,
#account-address .address-address-1,
.quick-checkout-wrapper .address-address-1,
.quick-checkout-wrapper .section-body .address-address-1,
.form-group.address-address-1,
div.address-address-1 {
    order: 10 !important;
}

.route-account-register .address-address-2,
#account-address .address-address-2,
.quick-checkout-wrapper .address-address-2,
.quick-checkout-wrapper .section-body .address-address-2,
.form-group.address-address-2,
div.address-address-2 {
    order: 15 !important;
}

.route-account-register .address-country,
#account-address .address-country,
.quick-checkout-wrapper .address-country,
.quick-checkout-wrapper .section-body .address-country,
.form-group.address-country,
div.address-country {
    order: 20 !important;
}

.route-account-register .address-zone,
#account-address .address-zone,
.quick-checkout-wrapper .address-zone,
.quick-checkout-wrapper .section-body .address-zone,
.form-group.address-zone,
div.address-zone {
    order: 30 !important;
}

.route-account-register .address-city,
#account-address .address-city,
.quick-checkout-wrapper .address-city,
.quick-checkout-wrapper .section-body .address-city,
.form-group.address-city,
div.address-city {
    order: 40 !important;
}

.route-account-register .zoraya-row-payment-subdistrict,
.route-account-register .zoraya-row-shipping-subdistrict,
.route-account-register .zoraya-row-subdistrict,
#account-address .zoraya-row-subdistrict,
.quick-checkout-wrapper .zoraya-row-subdistrict,
.quick-checkout-wrapper .section-body .zoraya-row-subdistrict,
.zoraya-row-payment-subdistrict,
.zoraya-row-shipping-subdistrict,
.zoraya-row-subdistrict {
    order: 50 !important;
}

.route-account-register .zoraya-row-payment-village,
.route-account-register .zoraya-row-shipping-village,
.route-account-register .zoraya-row-village,
#account-address .zoraya-row-village,
.quick-checkout-wrapper .zoraya-row-village,
.quick-checkout-wrapper .section-body .zoraya-row-village,
.zoraya-row-payment-village,
.zoraya-row-shipping-village,
.zoraya-row-village {
    order: 60 !important;
}

.route-account-register .address-postcode,
#account-address .address-postcode,
.quick-checkout-wrapper .address-postcode,
.quick-checkout-wrapper .section-body .address-postcode,
.form-group.address-postcode,
div.address-postcode {
    order: 70 !important;
}

.route-account-register .address-company,
#account-address .address-company,
.quick-checkout-wrapper .address-company,
.quick-checkout-wrapper .section-body .address-company,
.form-group.address-company,
div.address-company {
    order: 80 !important;
}

/* =========================================================
 * Cart Page Shipping Widget (checkout/cart):
 * Strict Single Auto-Suggest Input without Auto Select Dropdowns
 * ========================================================= */
.checkout-cart #collapse-shipping select,
.checkout-cart .cart-shipping select,
.checkout-cart #collapse-shipping .zoraya-select-city,
.checkout-cart #collapse-shipping .zoraya-select-subdistrict,
.checkout-cart #collapse-shipping .zoraya-select-village,
.checkout-cart .zoraya-cart-native-row {
    display: none !important;
}

.checkout-cart #collapse-shipping .zoraya-cart-search-group {
    display: block !important;
    width: 100% !important;
}

.zoraya-cart-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1050;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    max-height: 260px;
    overflow-y: auto;
    list-style: none;
    padding: 0;
    margin: 4px 0 0 0;
}

.zoraya-cart-dropdown-menu li.active a,
.zoraya-cart-dropdown-menu li a:hover {
    background-color: #f0fdf4 !important;
    color: #15803d !important;
}

/* =========================================================
 * Checkout Page: Explicit Address 1 & 2 Above Country Rules
 * ========================================================= */
.route-checkout-checkout .address-address-1,
#checkout-checkout .address-address-1,
.journal-checkout .address-address-1,
.journal-checkout-section .address-address-1,
.checkout-section .address-address-1 {
    order: 10 !important;
}

.route-checkout-checkout .address-address-2,
#checkout-checkout .address-address-2,
.journal-checkout .address-address-2,
.journal-checkout-section .address-address-2,
.checkout-section .address-address-2 {
    order: 15 !important;
}

.route-checkout-checkout .address-country,
#checkout-checkout .address-country,
.journal-checkout .address-country,
.journal-checkout-section .address-country,
.checkout-section .address-country {
    order: 20 !important;
}
