/* ==========================================================================
   HANDZOM UI KIT - CUSTOM RESPONSIVE CHECKOUT PAGE
   Strictly Scoped under .hz-checkout-page / .handzom-checkout-wrapper
   ========================================================================== */

/* Main Container Scope */
.hz-checkout-page,
.handzom-checkout-wrapper {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 20px 15px 60px !important;
    font-family: "Ysabeau Office", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    color: #111111 !important;
    box-sizing: border-box !important;
    position: relative !important;
    clear: both !important;
    display: block !important;
}

.hz-checkout-page *,
.hz-checkout-page *::before,
.hz-checkout-page *::after {
    box-sizing: border-box !important;
}

/* Header & Progress Bar */
.hz-checkout-page .hz-checkout-header {
    text-align: center !important;
    margin-bottom: 30px !important;
}

.hz-checkout-page .hz-checkout-title {
    font-size: 30px !important;
    font-weight: 300 !important;
    letter-spacing: 2.5px !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
}

.hz-checkout-page .hz-checkout-progress {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 12.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #777777 !important;
}

.hz-checkout-page .hz-progress-step.active {
    color: #111111 !important;
    font-weight: 700 !important;
}

.hz-checkout-page .hz-progress-sep {
    color: #cccccc !important;
}

/* --------------------------------------------------------------------------
   WOOCOMMERCE NOTICES & ERROR BANNER OVERRIDES (HANDZOM MINIMAL DESIGN)
   -------------------------------------------------------------------------- */
body .hz-checkout-page .woocommerce-NoticeGroup-checkout,
body .hz-checkout-page .hz-checkout-notices,
body .hz-checkout-page .woocommerce-form-login-toggle,
body .hz-checkout-page .woocommerce-form-register-toggle,
body .hz-checkout-page .woocommerce-form-coupon-toggle {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    clear: both !important;
}

/* Base Notice Container */
body .hz-checkout-page .woocommerce-info,
body .hz-checkout-page .woocommerce-notice,
body .hz-checkout-page .woocommerce-message,
body .hz-checkout-page .woocommerce-error,
body .hz-checkout-page p.woocommerce-info,
body .hz-checkout-page p.woocommerce-notice,
body .hz-checkout-page ul.woocommerce-error {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    margin: 0 0 14px 0 !important;
    padding: 13px 18px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    border-radius: 2px !important;
    background-color: #fafafa !important;
    border: 1px solid #e5e5e5 !important;
    border-top: 1px solid #e5e5e5 !important;
    border-right: 1px solid #e5e5e5 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    border-left: 3px solid #111111 !important;
    color: #222222 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    text-align: left !important;
}

/* Neutralize & Replace Default WooCommerce / Astra Icon */
body .hz-checkout-page .woocommerce-info::before,
body .hz-checkout-page .woocommerce-notice::before,
body .hz-checkout-page .woocommerce-message::before,
body .hz-checkout-page .woocommerce-error::before,
body .hz-checkout-page p.woocommerce-info::before,
body .hz-checkout-page p.woocommerce-notice::before,
body .hz-checkout-page ul.woocommerce-error::before,
body.woocommerce-checkout .hz-checkout-page .woocommerce-info::before,
body.woocommerce-checkout .hz-checkout-page .woocommerce-error::before {
    content: "" !important;
    position: static !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    top: auto !important;
    left: auto !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 1 !important;
    color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Login Notice (User Icon) */
body .hz-checkout-page .woocommerce-form-login-toggle .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E") !important;
}

/* Register Notice (User Plus Icon) */
body .hz-checkout-page .woocommerce-form-register-toggle .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='8.5' cy='7' r='4'%3E%3C/circle%3E%3Cline x1='20' y1='8' x2='20' y2='14'%3E%3C/line%3E%3Cline x1='23' y1='11' x2='17' y2='11'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* Coupon Notice (Tag/Ticket Icon) */
body .hz-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* General Info Icon */
body .hz-checkout-page .woocommerce-info::before,
body .hz-checkout-page p.woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* Links inside Notices (Login, Register & Coupon triggers) */
body .hz-checkout-page .woocommerce-info a,
body .hz-checkout-page .woocommerce-notice a,
body .hz-checkout-page .woocommerce-form-login-toggle a.showlogin,
body .hz-checkout-page .woocommerce-form-register-toggle a.showregister,
body .hz-checkout-page .woocommerce-form-coupon-toggle a.showcoupon {
    display: inline-block !important;
    font-weight: 600 !important;
    color: #111111 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
    margin-left: 6px !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease, color 0.2s ease !important;
}

body .hz-checkout-page .woocommerce-info a:hover,
body .hz-checkout-page .woocommerce-notice a:hover,
body .hz-checkout-page .woocommerce-form-login-toggle a.showlogin:hover,
body .hz-checkout-page .woocommerce-form-register-toggle a.showregister:hover,
body .hz-checkout-page .woocommerce-form-coupon-toggle a.showcoupon:hover {
    color: #000000 !important;
    opacity: 0.75 !important;
}

/* --------------------------------------------------------------------------
   ACCOUNT ALREADY REGISTERED / ERROR NOTICES
   -------------------------------------------------------------------------- */
body .hz-checkout-page .woocommerce-error,
body .hz-checkout-page ul.woocommerce-error {
    background-color: #fdfbfb !important;
    border: 1px solid #eddcdb !important;
    border-left: 3px solid #8e2020 !important;
    color: #2b2b2b !important;
    padding: 13px 18px !important;
    display: flex !important;
    align-items: flex-start !important;
}

body .hz-checkout-page .woocommerce-error::before,
body .hz-checkout-page ul.woocommerce-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238e2020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") !important;
    margin-top: 2px !important;
}

body .hz-checkout-page .woocommerce-error li,
body .hz-checkout-page ul.woocommerce-error li {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #2b2b2b !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex: 1 1 auto !important;
}

body .hz-checkout-page .woocommerce-error li a,
body .hz-checkout-page ul.woocommerce-error li a {
    font-weight: 600 !important;
    color: #111111 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    margin-left: 4px !important;
}

body .hz-checkout-page .woocommerce-error li a:hover,
body .hz-checkout-page ul.woocommerce-error li a:hover {
    color: #8e2020 !important;
}

/* --------------------------------------------------------------------------
   SUCCESS MESSAGES
   -------------------------------------------------------------------------- */
body .hz-checkout-page .woocommerce-message,
body .hz-checkout-page ul.woocommerce-message {
    border: 1px solid #d4ebd9 !important;
    border-left: 3px solid #1e7e34 !important;
    background-color: #f7fcf8 !important;
    color: #155724 !important;
    padding: 13px 18px !important;
    display: flex !important;
    align-items: center !important;
}

body .hz-checkout-page .woocommerce-message::before,
body .hz-checkout-page ul.woocommerce-message::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231e7e34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'%3E%3C/path%3E%3Cpolyline points='22 4 12 14.01 9 11.01'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

body .hz-checkout-page .woocommerce-message li,
body .hz-checkout-page ul.woocommerce-message li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    color: inherit !important;
    display: inline-block !important;
    flex: 1 1 auto !important;
}

/* --------------------------------------------------------------------------
   TOGGLE LOGIN FORM (SLIDE-DOWN LOGIN)
   -------------------------------------------------------------------------- */
body .hz-checkout-page form.woocommerce-form-login.login {
    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 2px !important;
    padding: 24px 24px 18px !important;
    margin: -4px 0 20px 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .hz-checkout-page form.woocommerce-form-login.login p {
    margin: 0 0 14px 0 !important;
    font-size: 13px !important;
    color: #555555 !important;
}

body .hz-checkout-page form.woocommerce-form-login.login .form-row {
    margin-bottom: 14px !important;
}

body .hz-checkout-page form.woocommerce-form-login.login .form-row label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #111111 !important;
    margin-bottom: 6px !important;
}

body .hz-checkout-page form.woocommerce-form-login.login input.input-text {
    width: 100% !important;
    height: 46px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 2px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    color: #111111 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

body .hz-checkout-page form.woocommerce-form-login.login input.input-text:focus {
    border-color: #111111 !important;
    outline: none !important;
}

body .hz-checkout-page form.woocommerce-form-login.login .button {
    background-color: #111111 !important;
    color: #ffffff !important;
    height: 46px !important;
    padding: 0 24px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border: none !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

body .hz-checkout-page form.woocommerce-form-login.login .button:hover {
    background-color: #000000 !important;
}



/* --------------------------------------------------------------------------
   1. DESKTOP GRID LAYOUT (≥ 1024px)
   Forcing side-by-side 2-column layout starting at the exact same top position
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
    .hz-checkout-page .hz-checkout-grid-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 380px !important;
        gap: 40px !important;
        align-items: start !important;
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }

    /* Left Column: Form Fields */
    .hz-checkout-page .hz-checkout-form-column {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
        align-self: start !important;
    }

    /* Right Column: Sticky Summary Card */
    .hz-checkout-page .hz-checkout-summary-column {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important; /* Top offset below Handzom sticky header */
        align-self: start !important;
        z-index: 10 !important;
        float: none !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 1280px) {
    .hz-checkout-page .hz-checkout-grid-container {
        grid-template-columns: minmax(0, 1fr) 400px !important;
        gap: 45px !important;
    }
}

/* --------------------------------------------------------------------------
   2. MOBILE & TABLET STACK (< 1024px)
   Single column layout with normal page scrolling
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
    .hz-checkout-page .hz-checkout-grid-container {
        display: block !important;
        width: 100% !important;
    }

    .hz-checkout-page .hz-checkout-form-column,
    .hz-checkout-page .hz-checkout-summary-column {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        position: static !important;
        top: auto !important;
        margin-bottom: 26px !important;
    }
}

/* --------------------------------------------------------------------------
   3. LEFT FORM SECTIONS & TYPOGRAPHY
   -------------------------------------------------------------------------- */
.hz-checkout-page .hz-checkout-section {
    margin-bottom: 24px !important;
}

.hz-checkout-page .hz-section-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding-bottom: 10px !important;
    margin: 0 0 16px 0 !important;
    color: #111111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.hz-checkout-page .hz-optional-tag {
    font-size: 11px !important;
    font-weight: 400 !important;
    text-transform: lowercase !important;
    color: #666666 !important;
    letter-spacing: 0 !important;
}

/* Form Fields Grid */
.hz-checkout-page .hz-fields-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px 16px !important;
}

.hz-checkout-page .form-row {
    margin: 0 0 14px 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.hz-checkout-page .form-row-first,
.hz-checkout-page .form-row-last {
    width: calc(50% - 8px) !important;
    display: inline-flex !important;
}

.hz-checkout-page .form-row-wide {
    width: 100% !important;
}

/* Labels & Asterisk Visibility */
.hz-checkout-page label {
    display: block !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 6px !important;
    color: #111111 !important; /* Visible dark black label */
}

.hz-checkout-page label .required,
.hz-checkout-page label abbr.required {
    color: #111111 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-left: 3px !important;
}

.hz-checkout-page .woocommerce-input-wrapper {
    width: 100% !important;
    display: block !important;
}

/* Inputs & Textareas */
.hz-checkout-page input[type="text"],
.hz-checkout-page input[type="email"],
.hz-checkout-page input[type="tel"],
.hz-checkout-page input[type="password"],
.hz-checkout-page select,
.hz-checkout-page textarea {
    width: 100% !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    color: #222222 !important; /* Dark readable input text */
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 2px !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
}

.hz-checkout-page input::placeholder,
.hz-checkout-page textarea::placeholder {
    color: #777777 !important; /* Readable medium-light gray */
    opacity: 1 !important;
}

.hz-checkout-page select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23111111' d='M0 0l5 6 5-6z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 32px !important;
}

.hz-checkout-page textarea {
    height: 90px !important;
    padding: 12px 14px !important;
    resize: vertical !important;
}

.hz-checkout-page input:focus,
.hz-checkout-page select:focus,
.hz-checkout-page textarea:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 1px #111111 !important;
}

/* Field Validation Error Highlight */
.hz-checkout-page .woocommerce-invalid input,
.hz-checkout-page .woocommerce-invalid select,
.hz-checkout-page .woocommerce-invalid textarea {
    border-color: #d32f2f !important;
    background-color: #fffcfc !important;
}

.hz-checkout-page .woocommerce-invalid label {
    color: #d32f2f !important;
}

/* Select2 / Country & State Dropdown Selection Box */
.hz-checkout-page .select2-container--default .select2-selection--single {
    height: 44px !important;
    border: 1px solid #cccccc !important;
    border-radius: 2px !important;
    padding: 7px 14px !important;
    background-color: #ffffff !important;
    transition: border-color 0.2s ease !important;
}

.hz-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px !important;
    color: #222222 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding-left: 0 !important;
}

.hz-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    right: 10px !important;
}

.hz-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #111111 transparent transparent transparent !important;
    border-width: 5px 4px 0 4px !important;
}

.hz-checkout-page .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #111111 transparent !important;
    border-width: 0 4px 5px 4px !important;
}

.hz-checkout-page .select2-container--default.select2-container--open .select2-selection--single,
.hz-checkout-page .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #111111 !important;
    outline: none !important;
}

.hz-checkout-page .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Select2 Dropdown Container (Appended to body, so styled globally for Handzom look) */
.select2-container--default .select2-dropdown {
    border: 1px solid #111111 !important;
    border-radius: 0 0 2px 2px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
    background-color: #ffffff !important;
    font-family: "Ysabeau Office", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    z-index: 999999 !important;
}

.select2-container--default .select2-dropdown--below {
    border-top: none !important;
    border-radius: 0 0 2px 2px !important;
}

/* Dropdown Search Input Field */
.select2-container--default .select2-search--dropdown {
    padding: 8px 10px !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #e0e0e0 !important;
    border-radius: 2px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    outline: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #111111 !important;
}

/* Dropdown Options List Container */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 220px !important;
    overflow-y: auto !important;
    padding: 4px 0 !important;
}

/* Custom Scrollbar for Options List */
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar {
    width: 6px;
}
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-track {
    background: #f9f9f9;
}
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-thumb {
    background: #cccccc;
    border-radius: 3px;
}
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-thumb:hover {
    background: #999999;
}

/* Base Option Item */
.select2-container--default .select2-results__option {
    padding: 9px 14px !important;
    font-size: 13.5px !important;
    color: #222222 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

/* Selected Option Item */
html body .select2-container--default .select2-results__option[aria-selected="true"],
html body .select2-container--default .select2-results__option[data-selected="true"],
html body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"],
html body.woocommerce-checkout .select2-container--default .select2-results__option[data-selected="true"],
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
    background-color: #f4f4f4 !important;
    color: #111111 !important;
    font-weight: 600 !important;
}

/* THEME HOVER / HIGHLIGHTED OPTION (Overrides default bright blue with Handzom luxury black) */
html body .select2-container--default .select2-results__option--highlighted,
html body .select2-container--default .select2-results__option--highlighted[aria-selected],
html body .select2-container--default .select2-results__option--highlighted[data-selected],
html body .select2-container--default .select2-results__option--highlighted[data-selected="true"],
html body .select2-container--default .select2-results__option--highlighted[data-selected="false"],
html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted,
html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected],
html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected="true"],
html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected="false"],
.woocommerce .select2-container--default .select2-results__option--highlighted,
.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce .select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-results__option--highlighted {
    background-color: #111111 !important;
    color: #ffffff !important;
}

/* Disabled Option */
.select2-container--default .select2-results__option[aria-disabled="true"] {
    color: #aaaaaa !important;
    background-color: transparent !important;
    cursor: not-allowed !important;
}

/* Shipping Toggle Checkbox */
.hz-checkout-page .hz-shipping-toggle-wrapper {
    margin-bottom: 18px !important;
    padding: 12px 0 !important;
    border-top: 1px dashed #e5e5e5 !important;
    border-bottom: 1px dashed #e5e5e5 !important;
}

.hz-checkout-page .hz-checkbox-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

.hz-checkout-page input[type="checkbox"],
.hz-checkout-page input[type="radio"] {
    accent-color: #111111 !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* --------------------------------------------------------------------------
   4. RIGHT COLUMN - YOUR ORDER SUMMARY CARD
   -------------------------------------------------------------------------- */
.hz-checkout-page .hz-checkout-summary-card {
    background: #fafafa !important;
    border: 1px solid #e5e5e5 !important;
    padding: 24px 22px !important;
    border-radius: 2px !important;
}

.hz-checkout-page .hz-summary-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.8px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding-bottom: 12px !important;
    margin: 0 0 18px 0 !important;
    color: #111111 !important;
}

/* Cart Items List */
.hz-checkout-page .hz-cart-items-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
    max-height: 380px !important;
    overflow-y: auto !important;
    padding-right: 4px !important;
}

.hz-checkout-page .hz-summary-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid #eaeaea !important;
}

.hz-checkout-page .hz-summary-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Product Thumbnail Container (72px W x 88px H) */
.hz-checkout-page .hz-summary-item-img-wrap,
.handzom-checkout-wrapper .hz-summary-item-img-wrap,
.hz-summary-item-img-wrap {
    width: 72px !important;
    height: 88px !important;
    flex-shrink: 0 !important;
    background: #f9f9f9 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    position: relative !important;
    display: block !important;
}

.hz-checkout-page .hz-summary-item-img-wrap a,
.handzom-checkout-wrapper .hz-summary-item-img-wrap a,
.hz-summary-item-img-wrap a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.hz-checkout-page .hz-summary-thumb,
.hz-checkout-page .hz-summary-item-img-wrap img,
.handzom-checkout-wrapper .hz-summary-thumb,
.handzom-checkout-wrapper .hz-summary-item-img-wrap img,
.hz-summary-item-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
}

.hz-checkout-page .hz-summary-item-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.hz-checkout-page .hz-summary-item-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
}

/* Product Variation Attributes - Inline label and value (Color: Beige / Size: L) */
.hz-checkout-page .hz-summary-item-details dl.variation {
    display: block !important;
    margin: 4px 0 6px 0 !important;
    padding: 0 !important;
    font-size: 12.5px !important;
}

.hz-checkout-page .hz-summary-item-details dl.variation dt {
    display: inline !important;
    float: none !important;
    font-weight: 600 !important;
    color: #555555 !important;
    margin: 0 4px 0 0 !important;
    padding: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

.hz-checkout-page .hz-summary-item-details dl.variation dd {
    display: inline !important;
    float: none !important;
    color: #222222 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

.hz-checkout-page .hz-summary-item-details dl.variation dd p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Force each attribute pair onto its OWN line */
.hz-checkout-page .hz-summary-item-details dl.variation dd::after {
    content: "" !important;
    display: block !important;
}

.hz-checkout-page .hz-summary-item-qty {
    font-size: 12px !important;
    color: #555555 !important;
    font-weight: 500 !important;
    margin-top: 2px !important;
}

.hz-checkout-page .hz-summary-item-price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    white-space: nowrap !important;
    text-align: right !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
}

/* Coupon Box Area */
.hz-checkout-page .hz-checkout-coupon-area {
    margin-bottom: 18px !important;
    border-top: 1px solid #eaeaea !important;
    border-bottom: 1px solid #eaeaea !important;
    padding: 14px 0 !important;
}

.hz-checkout-page .hz-coupon-toggle {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 12.5px !important;
}

.hz-checkout-page .hz-coupon-label {
    color: #333333 !important;
    font-weight: 500 !important;
}

.hz-checkout-page .hz-toggle-coupon-btn {
    background: transparent !important;
    border: none !important;
    color: #111111 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    padding: 0 !important;
}

.hz-checkout-page .hz-coupon-form-box {
    margin-top: 10px !important;
}

.hz-checkout-page .hz-coupon-input-group {
    display: flex !important;
    gap: 0 !important;
}

.hz-checkout-page .hz-coupon-input {
    flex: 1 1 auto !important;
    border: 1px solid #cccccc !important;
    border-right: none !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    border-radius: 2px 0 0 2px !important;
}

.hz-checkout-page .hz-apply-coupon-btn {
    background-color: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
    height: 38px !important;
    padding: 0 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    border-radius: 0 2px 2px 0 !important;
    transition: background-color 0.2s ease !important;
}

.hz-checkout-page .hz-apply-coupon-btn:hover {
    background-color: #333333 !important;
}

.hz-checkout-page .hz-coupon-message {
    font-size: 12px !important;
    margin-top: 6px !important;
}
.hz-checkout-page .hz-coupon-message.success {
    color: #62d2a2 !important;
}
.hz-checkout-page .hz-coupon-message.error {
    color: #d32f2f !important;
}

/* Order Totals Table */
.hz-checkout-page .hz-totals-table {
    margin-bottom: 18px !important;
}

.hz-checkout-page .hz-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13.5px !important;
    margin-bottom: 10px !important;
    color: #333333 !important;
}

.hz-checkout-page .hz-total-value {
    font-weight: 600 !important;
    color: #111111 !important;
}

.hz-checkout-page .hz-discount-row {
    color: #62d2a2 !important;
}
.hz-checkout-page .hz-discount-row .hz-total-value {
    color: #62d2a2 !important;
}

.hz-checkout-page .hz-remove-coupon-link {
    color: #777777 !important;
    font-size: 11px !important;
    margin-left: 6px !important;
    text-decoration: none !important;
}
.hz-checkout-page .hz-remove-coupon-link:hover {
    color: #d32f2f !important;
}

.hz-checkout-page .hz-shipping-methods-wrapper {
    margin: 12px 0 !important;
    padding: 10px 0 !important;
    border-top: 1px dashed #eaeaea !important;
    border-bottom: 1px dashed #eaeaea !important;
}

.hz-checkout-page .hz-shipping-heading {
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
    color: #111111 !important;
}

.hz-checkout-page #shipping_method,
.hz-checkout-page ul.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.hz-checkout-page ul.woocommerce-shipping-methods li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
}

.hz-checkout-page .hz-grand-total-row {
    border-top: 1px solid #eaeaea !important;
    padding-top: 14px !important;
    margin-top: 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

.hz-checkout-page .hz-grand-total-row .hz-total-value {
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* Payment Gateway Box */
.hz-checkout-page .hz-checkout-payment-box {
    margin-top: 18px !important;
    border-top: 1px solid #eaeaea !important;
    padding-top: 16px !important;
}

.hz-checkout-page .hz-payment-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin: 0 0 14px 0 !important;
    color: #111111 !important;
}

.hz-checkout-page ul.wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}

.hz-checkout-page ul.wc_payment_methods li.wc_payment_method {
    margin-bottom: 10px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 2px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.hz-checkout-page ul.wc_payment_methods li.wc_payment_method label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #111111 !important;
}

.hz-checkout-page ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
    margin-right: 6px !important;
}

.hz-checkout-page div.payment_box {
    background: #f7f7f7 !important;
    padding: 12px 14px !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: #444444 !important;
    border-top: 1px solid #eaeaea !important;
}

/* Place Order Primary Handzom Button */
.hz-checkout-page .hz-place-order-wrapper {
    margin-top: 18px !important;
}

.hz-checkout-page .hz-place-order-btn,
.handzom-checkout-wrapper .hz-place-order-btn,
.hz-checkout-page #place_order,
.handzom-checkout-wrapper #place_order,
#place_order.hz-place-order-btn,
button#place_order {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    line-height: 1 !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    cursor: pointer !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
}

.hz-checkout-page .hz-place-order-btn:hover,
.hz-checkout-page .hz-place-order-btn:focus,
.handzom-checkout-wrapper .hz-place-order-btn:hover,
.handzom-checkout-wrapper .hz-place-order-btn:focus,
.hz-checkout-page #place_order:hover,
.hz-checkout-page #place_order:focus,
#place_order.hz-place-order-btn:hover,
#place_order.hz-place-order-btn:focus,
button#place_order:hover,
button#place_order:focus {
    background-color: #ffffff !important;
    color: #111111 !important;
    border-color: #111111 !important;
    outline: none !important;
}

.hz-checkout-page .hz-place-order-btn:active,
.handzom-checkout-wrapper .hz-place-order-btn:active,
.hz-checkout-page #place_order:active,
#place_order.hz-place-order-btn:active,
button#place_order:active {
    background-color: #f0f0f0 !important;
}

/* Place Order Loading / Processing State */
.hz-checkout-page .hz-place-order-btn.hz-loading,
.handzom-checkout-wrapper .hz-place-order-btn.hz-loading,
.hz-checkout-page #place_order.hz-loading,
#place_order.hz-place-order-btn.hz-loading,
button#place_order.hz-loading {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: 0.92 !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
}

.hz-checkout-page .hz-btn-spinner,
.handzom-checkout-wrapper .hz-btn-spinner {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    margin-right: 10px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;
    animation: hz-btn-spin 0.75s linear infinite !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

@keyframes hz-btn-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.hz-checkout-page .hz-btn-text,
.handzom-checkout-wrapper .hz-btn-text {
    display: inline-block !important;
    letter-spacing: 2px !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* Mobile Screen Small Tweaks (< 600px) */
@media (max-width: 600px) {
    .hz-checkout-page {
        padding: 15px 10px 40px !important;
    }

    .hz-checkout-page .hz-checkout-title {
        font-size: 22px !important;
        letter-spacing: 1.5px !important;
    }

    .hz-checkout-page .form-row-first,
    .hz-checkout-page .form-row-last {
        width: 100% !important;
        display: flex !important;
    }

    .hz-checkout-page .hz-checkout-summary-card {
        padding: 18px 14px !important;
    }

    .hz-checkout-page .hz-summary-item-img-wrap,
    .handzom-checkout-wrapper .hz-summary-item-img-wrap,
    .hz-summary-item-img-wrap {
        width: 64px !important;
        height: 78px !important;
    }

    .hz-checkout-page .hz-summary-item-name {
        font-size: 13.5px !important;
    }

    .hz-checkout-page .hz-place-order-btn,
    .handzom-checkout-wrapper .hz-place-order-btn,
    .hz-checkout-page #place_order,
    .handzom-checkout-wrapper #place_order,
    #place_order.hz-place-order-btn,
    button#place_order {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        line-height: 1 !important;
        padding: 0 15px !important;
        font-size: 12px !important;
    }
}

/* ==========================================================================
   HANDZOM UI KIT - CUSTOM RESPONSIVE ORDER PAY PAGE
   Scoped specifically to WooCommerce Order Pay page (.hz-order-pay-page / body.woocommerce-order-pay)
   ========================================================================== */

.hz-order-pay-page,
body.woocommerce-order-pay .hz-checkout-page {
    padding: 30px 16px 60px !important;
    min-height: 40vh !important;
    box-sizing: border-box !important;
}

.hz-order-pay-page .hz-order-pay-header,
body.woocommerce-order-pay .hz-order-pay-header {
    margin-bottom: 28px !important;
    text-align: center !important;
}

.hz-order-pay-page .hz-order-pay-card,
body.woocommerce-order-pay .hz-order-pay-card {
    max-width: 560px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #eaeaea !important;
    border-radius: 3px !important;
    padding: 36px 32px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
}

/* Order Summary Section */
.hz-order-pay-page .hz-order-pay-summary,
body.woocommerce-order-pay .hz-order-pay-summary {
    margin-bottom: 22px !important;
}

.hz-order-pay-page .hz-order-pay-number,
body.woocommerce-order-pay .hz-order-pay-number {
    text-align: center !important;
    margin-bottom: 16px !important;
}

.hz-order-pay-page .hz-pay-order-title,
body.woocommerce-order-pay .hz-pay-order-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    display: inline-block !important;
}

.hz-order-pay-page .hz-order-pay-divider,
body.woocommerce-order-pay .hz-order-pay-divider {
    height: 1px !important;
    background: #eeeeee !important;
    margin: 18px 0 !important;
    border: none !important;
    width: 100% !important;
}

.hz-order-pay-page .hz-order-pay-meta-grid,
body.woocommerce-order-pay .hz-order-pay-meta-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 20px !important;
    box-sizing: border-box !important;
}

.hz-order-pay-page .hz-order-pay-meta-item,
body.woocommerce-order-pay .hz-order-pay-meta-item {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.hz-order-pay-page .hz-order-pay-meta-item.hz-meta-full,
body.woocommerce-order-pay .hz-order-pay-meta-item.hz-meta-full {
    grid-column: span 2 !important;
}

.hz-order-pay-page .hz-pay-label,
body.woocommerce-order-pay .hz-pay-label {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #888888 !important;
    margin-bottom: 4px !important;
    display: block !important;
}

.hz-order-pay-page .hz-pay-val,
body.woocommerce-order-pay .hz-pay-val {
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    line-height: 1.35 !important;
    display: block !important;
}

.hz-order-pay-page .hz-pay-val.hz-pay-total,
.hz-order-pay-page .hz-pay-val.hz-pay-total bdi,
.hz-order-pay-page .hz-pay-val.hz-pay-total .amount,
body.woocommerce-order-pay .hz-pay-val.hz-pay-total {
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

/* Secure Payment Section */
.hz-order-pay-page .hz-order-pay-secure-heading,
body.woocommerce-order-pay .hz-order-pay-secure-heading {
    text-align: left !important;
    margin-bottom: 18px !important;
}

.hz-order-pay-page .hz-secure-title,
body.woocommerce-order-pay .hz-secure-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #111111 !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
}

.hz-order-pay-page .hz-secure-subtitle,
body.woocommerce-order-pay .hz-secure-subtitle {
    font-size: 13.5px !important;
    color: #666666 !important;
    text-align: left !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Hide raw duplicate tables or lists inside WC output */
.hz-order-pay-page .hz-order-pay-wc-content ul.order_details,
.hz-order-pay-page .hz-order-pay-wc-content table.shop_table,
body.woocommerce-order-pay .hz-order-pay-wc-content ul.order_details,
body.woocommerce-order-pay .hz-order-pay-wc-content table.shop_table {
    display: none !important;
}

/* Payment Processing / Loader Notice */
body.woocommerce-order-pay .woocommerce-info,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-pay .payment_box,
body.woocommerce-order-pay p.processing,
.hz-order-pay-page .woocommerce-info,
.hz-order-pay-page .woocommerce-message,
.hz-order-pay-page .payment_box,
.hz-order-pay-page p.processing {
    background-color: #fafafa !important;
    background: #fafafa !important;
    border: 1px solid #e5e5e5 !important;
    border-top: 1px solid #e5e5e5 !important;
    border-left: 3px solid #111111 !important;
    border-radius: 2px !important;
    padding: 14px 18px !important;
    font-size: 13.5px !important;
    color: #333333 !important;
    line-height: 1.5 !important;
    margin: 0 0 20px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    box-sizing: border-box !important;
    width: 100% !important;
    list-style: none !important;
}

body.woocommerce-order-pay .woocommerce-info::before,
body.woocommerce-order-pay .woocommerce-message::before,
body.woocommerce-order-pay .payment_box p::before,
.hz-order-pay-page .woocommerce-info::before,
.hz-order-pay-page .payment_box p::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    margin-right: 12px !important;
    border: 2px solid #cccccc !important;
    border-top-color: #111111 !important;
    border-radius: 50% !important;
    animation: hz-btn-spin 0.75s linear infinite !important;
    flex-shrink: 0 !important;
    font-family: inherit !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
}

body.woocommerce-order-pay .payment_box p,
body.woocommerce-order-pay .woocommerce-info p,
.hz-order-pay-page .payment_box p,
.hz-order-pay-page .woocommerce-info p {
    text-align: left !important;
    margin: 0 !important;
    font-size: 13.5px !important;
    color: #333333 !important;
    line-height: 1.5 !important;
}

/* ==========================================================================
   RAZORPAY ORDER PAY BUTTONS & ACTIONS
   Strictly targets #btn-razorpay and #btn-razorpay-cancel
   ========================================================================== */

/* Neutralize the <br> tag between Razorpay buttons */
#btn-razorpay + br,
#btn-razorpay ~ br,
.hz-order-pay-wc-content br,
.hz-order-pay-page form#order_review br,
.hz-order-pay-page form#razorpay-payment-form br,
body.woocommerce-order-pay form#order_review br,
body.woocommerce-order-pay form#razorpay-payment-form br {
    display: none !important;
}

/* Button Container: Horizontal Flex Layout */
body.woocommerce-order-pay #payment,
body.woocommerce-order-pay #payment .form-row,
body.woocommerce-order-pay form#order_review,
body.woocommerce-order-pay form#order_review #payment .form-row,
body.woocommerce-order-pay form#razorpay-payment-form,
.hz-order-pay-page form#order_review,
.hz-order-pay-page form#order_review #payment .form-row,
.hz-order-pay-page form#razorpay-payment-form,
.hz-order-pay-page .hz-order-pay-wc-content form,
.hz-order-pay-page #payment,
.hz-order-pay-page #payment .form-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    float: none !important;
    clear: both !important;
    margin: 20px 0 0 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-pay #payment ul.payment_methods,
.hz-order-pay-page #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    border: none !important;
}

/* Shared Dimensions and Typography for Both Buttons */
#btn-razorpay,
#btn-razorpay-cancel,
body.woocommerce-order-pay #btn-razorpay,
body.woocommerce-order-pay #btn-razorpay-cancel,
.hz-order-pay-page #btn-razorpay,
.hz-order-pay-page #btn-razorpay-cancel {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    line-height: 46px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* ==========================================================================
   1. PAY NOW (#btn-razorpay) - SOLID BLACK
   ========================================================================== */
#btn-razorpay,
body.woocommerce-order-pay #btn-razorpay,
.hz-order-pay-page #btn-razorpay,
body.woocommerce-order-pay input#place_order,
body.woocommerce-order-pay button#place_order,
body.woocommerce-order-pay #submit_razorpay_payment_form,
.hz-order-pay-page input#place_order,
.hz-order-pay-page button#place_order,
.hz-order-pay-page #submit_razorpay_payment_form {
    background: #111111 !important;
    background-color: #111111 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
}

#btn-razorpay:hover,
#btn-razorpay:focus,
body.woocommerce-order-pay #btn-razorpay:hover,
.hz-order-pay-page #btn-razorpay:hover,
body.woocommerce-order-pay input#place_order:hover,
body.woocommerce-order-pay button#place_order:hover,
body.woocommerce-order-pay #submit_razorpay_payment_form:hover,
.hz-order-pay-page input#place_order:hover,
.hz-order-pay-page button#place_order:hover,
.hz-order-pay-page #submit_razorpay_payment_form:hover {
    background: #000000 !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================================================
   2. CANCEL (#btn-razorpay-cancel) - WHITE / BORDER
   ========================================================================== */
#btn-razorpay-cancel,
body.woocommerce-order-pay #btn-razorpay-cancel,
.hz-order-pay-page #btn-razorpay-cancel,
body.woocommerce-order-pay a.button.cancel,
body.woocommerce-order-pay a.cancel,
.hz-order-pay-page a.button.cancel,
.hz-order-pay-page a.cancel {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #111111 !important;
    border: 1px solid #111111 !important;
}

#btn-razorpay-cancel:hover,
#btn-razorpay-cancel:focus,
body.woocommerce-order-pay #btn-razorpay-cancel:hover,
.hz-order-pay-page #btn-razorpay-cancel:hover,
body.woocommerce-order-pay a.button.cancel:hover,
body.woocommerce-order-pay a.cancel:hover,
.hz-order-pay-page a.button.cancel:hover,
.hz-order-pay-page a.cancel:hover {
    background: #111111 !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .hz-order-pay-page,
    body.woocommerce-order-pay .hz-checkout-page {
        padding: 20px 14px 48px !important;
    }

    .hz-order-pay-page .hz-order-pay-card,
    body.woocommerce-order-pay .hz-order-pay-card {
        padding: 28px 20px !important;
    }

    .hz-order-pay-page .hz-pay-order-title,
    body.woocommerce-order-pay .hz-pay-order-title {
        font-size: 18px !important;
    }
}

@media (max-width: 480px) {
    .hz-order-pay-page .hz-order-pay-card,
    body.woocommerce-order-pay .hz-order-pay-card {
        padding: 22px 16px !important;
    }

    .hz-order-pay-page .hz-order-pay-meta-grid,
    body.woocommerce-order-pay .hz-order-pay-meta-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .hz-order-pay-page .hz-order-pay-meta-item.hz-meta-full,
    body.woocommerce-order-pay .hz-order-pay-meta-item.hz-meta-full {
        grid-column: 1 !important;
    }

    body.woocommerce-order-pay #payment,
    body.woocommerce-order-pay #payment .form-row,
    body.woocommerce-order-pay form#order_review #payment .form-row,
    body.woocommerce-order-pay form#razorpay-payment-form,
    .hz-order-pay-page form#order_review #payment .form-row,
    .hz-order-pay-page form#razorpay-payment-form,
    .hz-order-pay-page #payment .form-row {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    #btn-razorpay,
    #btn-razorpay-cancel,
    body.woocommerce-order-pay #btn-razorpay,
    body.woocommerce-order-pay #btn-razorpay-cancel,
    .hz-order-pay-page #btn-razorpay,
    .hz-order-pay-page #btn-razorpay-cancel,
    body.woocommerce-order-pay input#place_order,
    body.woocommerce-order-pay button#place_order,
    body.woocommerce-order-pay #submit_razorpay_payment_form,
    body.woocommerce-order-pay a.button.cancel,
    body.woocommerce-order-pay a.cancel,
    .hz-order-pay-page input#place_order,
    .hz-order-pay-page button#place_order,
    .hz-order-pay-page #submit_razorpay_payment_form,
    .hz-order-pay-page a.button.cancel,
    .hz-order-pay-page a.cancel {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 46px !important;
        min-height: 46px !important;
        line-height: 44px !important;
        font-size: 12px !important;
        padding: 0 10px !important;
    }
}

/* ==========================================================================
   ORDER RECEIVED / THANK YOU PAGE - ORDER OVERVIEW & TRANSACTION ID
   ========================================================================== */
.woocommerce-order-overview.woocommerce-thankyou-order-details {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 24px !important;
    margin: 24px 0 32px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #888888 !important;
    border-right: 1px solid #e5e5e5 !important;
    padding-right: 24px !important;
    margin-right: 0 !important;
    line-height: 1.4 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li:last-child {
    border-right: none !important;
    padding-right: 0 !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li strong {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #111111 !important;
    margin-top: 4px !important;
    word-break: break-all !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
}

.woocommerce-order-overview__transaction-id.transaction-id {
    max-width: 260px !important;
}

.woocommerce-order-overview__transaction-id.transaction-id strong {
    font-family: inherit !important;
    font-size: 13.5px !important;
    color: #111111 !important;
}

@media (max-width: 768px) {
    .woocommerce-order-overview.woocommerce-thankyou-order-details {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
    }

    .woocommerce-order-overview.woocommerce-thankyou-order-details li {
        border-right: none !important;
        padding-right: 0 !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid #f2f2f2 !important;
    }

    .woocommerce-order-overview__transaction-id.transaction-id {
        grid-column: span 2 !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   HANDZOM MY ACCOUNT - LOGIN & REGISTRATION TWO-COLUMN LAYOUT
   ========================================================================== */
.hz-account-auth-container,
#customer_login.hz-account-auth-container {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 32px !important;
    max-width: 1040px !important;
    margin: 32px auto 60px auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.hz-account-auth-container .hz-auth-card {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 3px !important;
    padding: 28px 26px 24px 26px !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    display: block !important;
    height: auto !important;
    align-self: flex-start !important;
    float: none !important;
    width: auto !important;
}

/* Header - No extra divider lines or gaps */
.hz-auth-card-header {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
}

.hz-auth-card-header .hz-auth-title {
    font-size: 16.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    color: #111111 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
}

.hz-auth-card-header .hz-auth-subtitle {
    font-size: 13px !important;
    color: #666666 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

/* Form & Rows */
.hz-auth-form {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.hz-auth-form .hz-form-row,
.hz-auth-form .form-row {
    margin: 0 0 12px 0 !important;
    width: 100% !important;
    display: block !important;
    float: none !important;
    padding: 0 !important;
    border: none !important;
}

.hz-register-card .hz-new-password-row {
    margin-bottom: 10px !important;
}

.hz-register-card .hz-confirm-password-row {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

.hz-auth-form .hz-form-row label {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #111111 !important;
    margin-bottom: 5px !important;
    line-height: 1.2 !important;
}

.hz-auth-form .hz-form-row label .required {
    color: #111111 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-left: 2px !important;
}

/* Inputs */
.hz-auth-form .hz-input,
.woocommerce-account .hz-auth-card input[type="text"],
.woocommerce-account .hz-auth-card input[type="email"],
.woocommerce-account .hz-auth-card input[type="password"] {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    line-height: 42px !important;
    padding: 0 14px !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    font-family: inherit !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 2px !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.hz-auth-form .hz-input:focus,
.woocommerce-account .hz-auth-card input[type="text"]:focus,
.woocommerce-account .hz-auth-card input[type="email"]:focus,
.woocommerce-account .hz-auth-card input[type="password"]:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 1px #111111 !important;
}

.hz-auth-form .hz-input::placeholder,
.woocommerce-account .hz-auth-card input::placeholder {
    color: #888888 !important;
    opacity: 1 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

/* Hide default browser & WooCommerce / WordPress / Theme injected password reveal buttons */
.show-password-input,
button.show-password-input,
span.show-password-input,
.show-password-input:after,
.show-password-input:before,
.show-password-input::after,
.show-password-input::before,
.wp-hide-pw,
.woocommerce-password-toggle,
.password-input-toggle,
.dashicons-visibility,
.dashicons-hidden,
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear,
input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-contacts-auto-fill-button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
    content: none !important;
}

/* Password Visibility Wrapper & Toggle Button */
.hz-input-password-wrap {
    position: relative !important;
    width: 100% !important;
    display: block !important;
}

.hz-input-password-wrap .hz-password-input {
    padding-right: 44px !important;
}

.hz-password-toggle-btn {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #666666 !important;
    outline: none !important;
    z-index: 5 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: color 0.15s ease !important;
}

.hz-password-toggle-btn:hover {
    color: #111111 !important;
    background: transparent !important;
}

.hz-password-toggle-btn .hz-eye-icon {
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    line-height: 0 !important;
    pointer-events: none !important;
}

/* Default state (password hidden): Show ONLY closed eye */
.hz-password-toggle-btn .hz-eye-closed {
    display: inline-flex !important;
}

.hz-password-toggle-btn .hz-eye-open {
    display: none !important;
}

/* Active state (password revealed): Show ONLY open eye */
.hz-password-toggle-btn.is-showing-password .hz-eye-closed {
    display: none !important;
}

.hz-password-toggle-btn.is-showing-password .hz-eye-open {
    display: inline-flex !important;
}

.hz-password-toggle-btn svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.75px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
}

/* Password Strength Meter Clean Styling - Displayed cleanly BELOW the input */
.woocommerce-account .woocommerce-password-strength:empty,
.woocommerce-password-strength:empty,
.woocommerce-account .woocommerce-password-hint:empty,
.woocommerce-password-hint:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    height: 0 !important;
    min-height: 0 !important;
}

.woocommerce-account .woocommerce-password-strength:not(:empty),
.woocommerce-password-strength:not(:empty) {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin: 5px 0 0 0 !important;
    padding: 5px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border-radius: 2px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    position: static !important;
}

.woocommerce-account .woocommerce-password-strength.short,
.woocommerce-account .woocommerce-password-strength.bad,
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad {
    background-color: #fef2f2 !important;
    border: 1px solid #fee2e2 !important;
    color: #991b1b !important;
}

.woocommerce-account .woocommerce-password-strength.good,
.woocommerce-password-strength.good {
    background-color: #fffbeb !important;
    border: 1px solid #fef3c7 !important;
    color: #92400e !important;
}

.woocommerce-account .woocommerce-password-strength.strong,
.woocommerce-password-strength.strong {
    background-color: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    color: #166534 !important;
}

.woocommerce-account .woocommerce-password-hint:not(:empty),
.woocommerce-password-hint:not(:empty) {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin: 4px 0 0 0 !important;
    font-size: 11.5px !important;
    color: #666666 !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
    position: static !important;
}

/* Actions Row (Remember Me & Lost Password) */
.hz-auth-actions-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 12px 0 !important;
    font-size: 12.5px !important;
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.hz-rememberme-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-size: 12.5px !important;
    color: #333333 !important;
    text-transform: none !important;
    font-weight: 400 !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
}

.hz-rememberme-label input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    accent-color: #111111 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.hz-lost-password {
    margin: 0 !important;
    font-size: 12.5px !important;
}

.hz-lost-password a {
    color: #111111 !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
    text-underline-offset: 3px !important;
    transition: color 0.15s ease !important;
}

.hz-lost-password a:hover {
    color: #555555 !important;
}

/* Submit Row & Buttons */
.hz-submit-row {
    margin: 4px 0 0 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    clear: both !important;
}

.hz-login-card .hz-submit-row {
    margin-top: 0 !important;
}

.hz-auth-submit-btn,
.hz-btn-send-otp,
#hz-btn-send-otp,
.hz-btn-verify-otp,
#hz-btn-verify-otp,
.woocommerce-account .button.woocommerce-form-login__submit,
.woocommerce-account .button.woocommerce-form-register__submit {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
    border-radius: 2px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
    text-align: center !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.hz-auth-submit-btn *,
.hz-btn-send-otp *,
#hz-btn-send-otp *,
.hz-btn-verify-otp *,
#hz-btn-verify-otp *,
.hz-auth-submit-btn span,
.hz-btn-send-otp span,
#hz-btn-send-otp span,
.hz-btn-verify-otp span,
#hz-btn-verify-otp span {
    color: #ffffff !important;
}

.hz-auth-submit-btn:hover,
.hz-btn-send-otp:hover,
#hz-btn-send-otp:hover,
.hz-btn-verify-otp:hover,
#hz-btn-verify-otp:hover,
.woocommerce-account .button.woocommerce-form-login__submit:hover,
.woocommerce-account .button.woocommerce-form-register__submit:hover {
    background-color: #333333 !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

.hz-auth-submit-btn.hz-loading,
.woocommerce-account .button.woocommerce-form-register__submit.hz-loading {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: 0.9 !important;
}

/* ==========================================================================
   STAGE 1: EMAIL OTP REGISTRATION STYLING
   ========================================================================== */
#hz-reg-step-otp:not(.is-active) {
    display: none !important;
}

.hz-reg-stage2-fields:not(.is-active) {
    display: none !important;
}

.hz-auth-card-notice {
    margin: 0 0 14px 0 !important;
    padding: 10px 12px 10px 34px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    border-radius: 2px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.hz-auth-card-notice.is-hidden,
.hz-auth-card-notice:empty,
.hz-auth-card-notice[style*="display: none"],
.hz-auth-card-notice[style*="display:none"] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    min-height: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

.hz-auth-card-notice.is-hidden::before,
.hz-auth-card-notice:empty::before,
.hz-auth-card-notice[style*="display: none"]::before,
.hz-auth-card-notice[style*="display:none"]::before {
    display: none !important;
    content: none !important;
}

.hz-auth-card-notice.is-error:not(.is-hidden):not(:empty) {
    background: #fff9f9 !important;
    border: 1px solid #eddcdb !important;
    border-left: 3px solid #8e2020 !important;
    color: #222222 !important;
    display: block !important;
}

.hz-auth-card-notice.is-error:not(.is-hidden):not(:empty)::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 11px !important;
    left: 10px !important;
    width: 14px !important;
    height: 14px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238e2020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

.hz-auth-card-notice.is-success:not(.is-hidden):not(:empty) {
    background: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    border-left: 3px solid #166534 !important;
    color: #166534 !important;
    display: block !important;
}

.hz-auth-card-notice.is-success:not(.is-hidden):not(:empty)::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 11px !important;
    left: 10px !important;
    width: 14px !important;
    height: 14px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23166534' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

.hz-auth-card-notice.is-info:not(.is-hidden):not(:empty) {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 3px solid #0284c7 !important;
    color: #0f172a !important;
    display: block !important;
}

.hz-auth-card-notice.is-info:not(.is-hidden):not(:empty)::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 11px !important;
    left: 10px !important;
    width: 14px !important;
    height: 14px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230284c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

.hz-otp-info-box {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background-color: #fafafa !important;
    border: 1px solid #eeeeee !important;
    padding: 10px 12px !important;
    border-radius: 2px !important;
    margin: 0 0 14px 0 !important;
    font-size: 12px !important;
    color: #444444 !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.hz-otp-sent-text strong {
    color: #111111 !important;
    font-weight: 600 !important;
}

.hz-otp-change-email-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #111111 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    text-underline-offset: 2px !important;
    transition: color 0.15s ease !important;
}

.hz-otp-change-email-btn:hover {
    color: #666666 !important;
}

.hz-otp-input {
    letter-spacing: 4px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
}

.hz-otp-field-row {
    margin-bottom: 10px !important;
}

.hz-otp-timer-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    margin: 0 0 12px 0 !important;
    font-size: 12px !important;
    color: #555555 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 12px !important;
}

.hz-verify-otp-row {
    margin: 0 !important;
}

.hz-otp-countdown {
    color: #111111 !important;
    font-weight: 700 !important;
    font-family: monospace, inherit !important;
    font-size: 13px !important;
    transition: color 0.2s ease !important;
}

.hz-otp-countdown.is-expired {
    color: #dc2626 !important;
}

.hz-btn-verify-otp:disabled,
#hz-btn-verify-otp:disabled,
.hz-btn-verify-otp.is-disabled,
#hz-btn-verify-otp.is-disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.hz-otp-input:disabled {
    background-color: #f7f7f7 !important;
    color: #999999 !important;
    cursor: not-allowed !important;
}

.hz-otp-resend-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #111111 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    text-underline-offset: 2px !important;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}

.hz-otp-resend-btn:disabled,
.hz-otp-resend-btn.is-disabled {
    color: #999999 !important;
    cursor: not-allowed !important;
    text-decoration: none !important;
    opacity: 0.6 !important;
}

.hz-otp-resend-btn:not(:disabled):hover {
    color: #555555 !important;
}

/* ==========================================================================
   WOOCOMMERCE NOTICES & ALERTS ON MY ACCOUNT / LOGIN / CHECKOUT
   ========================================================================== */
.woocommerce-account .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce-NoticeGroup,
body.woocommerce-account .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce-NoticeGroup,
.woocommerce-page .woocommerce-notices-wrapper {
    max-width: 1040px !important;
    margin: 28px auto 0 auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-notice,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
ul.woocommerce-error,
ul.woocommerce-message,
ul.woocommerce-info,
div.woocommerce .woocommerce-error,
div.woocommerce .woocommerce-message,
div.woocommerce .woocommerce-info {
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto 24px auto !important;
    padding: 14px 18px 14px 44px !important;
    border-radius: 2px !important;
    list-style: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    position: relative !important;
}

/* 1. Error Notice - Refined Handzom Light Warm Red styling */
body.woocommerce-account .woocommerce-error,
body.woocommerce-page .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error,
ul.woocommerce-error,
div.woocommerce .woocommerce-error {
    background-color: #fff9f9 !important;
    background: #fff9f9 !important;
    border: 1px solid #eddcdb !important;
    border-left: 3px solid #8e2020 !important;
    border-top: 1px solid #eddcdb !important;
    color: #222222 !important;
}

body.woocommerce-account .woocommerce-error::before,
body.woocommerce-page .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-error::before,
ul.woocommerce-error::before,
div.woocommerce .woocommerce-error::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 15px !important;
    left: 16px !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238e2020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
}

/* 2. Success Message */
body.woocommerce-account .woocommerce-message,
body.woocommerce-page .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
ul.woocommerce-message,
div.woocommerce .woocommerce-message {
    background-color: #f7fcf8 !important;
    border: 1px solid #d4ebd9 !important;
    border-left: 3px solid #1e7e34 !important;
    border-top: 1px solid #d4ebd9 !important;
    color: #155724 !important;
}

body.woocommerce-account .woocommerce-message::before,
body.woocommerce-page .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-message::before,
ul.woocommerce-message::before,
div.woocommerce .woocommerce-message::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 15px !important;
    left: 16px !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231e7e34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'%3E%3C/path%3E%3Cpolyline points='22 4 12 14.01 9 11.01'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
}

/* 3. Info Notice */
body.woocommerce-account .woocommerce-info,
body.woocommerce-page .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info,
ul.woocommerce-info,
div.woocommerce .woocommerce-info {
    background-color: #fcfcfc !important;
    border: 1px solid #e8e8e8 !important;
    border-left: 3px solid #111111 !important;
    border-top: 1px solid #e8e8e8 !important;
    color: #222222 !important;
}

body.woocommerce-account .woocommerce-info::before,
body.woocommerce-page .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
ul.woocommerce-info::before,
div.woocommerce .woocommerce-info::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 15px !important;
    left: 16px !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
}

/* Notice List Elements & Typography */
body.woocommerce-account .woocommerce-error li,
body.woocommerce-account .woocommerce-message li,
body.woocommerce-account .woocommerce-info li,
body.woocommerce-page .woocommerce-error li,
body.woocommerce-page .woocommerce-message li,
body.woocommerce-page .woocommerce-info li,
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-notices-wrapper .woocommerce-message li,
.woocommerce-notices-wrapper .woocommerce-info li,
ul.woocommerce-error li,
ul.woocommerce-message li,
ul.woocommerce-info li {
    display: block !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #222222 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* Remove all pseudo elements on li to prevent duplicate icons */
body.woocommerce-account .woocommerce-error li::before,
body.woocommerce-account .woocommerce-message li::before,
body.woocommerce-account .woocommerce-info li::before,
body.woocommerce-page .woocommerce-error li::before,
body.woocommerce-page .woocommerce-message li::before,
body.woocommerce-page .woocommerce-info li::before,
.woocommerce-notices-wrapper .woocommerce-error li::before,
.woocommerce-notices-wrapper .woocommerce-message li::before,
.woocommerce-notices-wrapper .woocommerce-info li::before,
ul.woocommerce-error li::before,
ul.woocommerce-message li::before,
ul.woocommerce-info li::before {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
}

body.woocommerce-account .woocommerce-error strong,
body.woocommerce-page .woocommerce-error strong,
ul.woocommerce-error strong {
    display: inline !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: #8e2020 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-right: 5px !important;
}

body.woocommerce-account .woocommerce-error a,
body.woocommerce-account .woocommerce-message a,
body.woocommerce-account .woocommerce-info a,
body.woocommerce-page .woocommerce-error a,
body.woocommerce-page .woocommerce-message a,
body.woocommerce-page .woocommerce-info a,
ul.woocommerce-error a,
ul.woocommerce-message a,
ul.woocommerce-info a,
a.hz-notice-link {
    font-weight: 600 !important;
    color: #111111 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    margin: 0 2px !important;
    transition: color 0.15s ease !important;
    display: inline !important;
}

body.woocommerce-account .woocommerce-error a:hover,
body.woocommerce-page .woocommerce-error a:hover,
ul.woocommerce-error a:hover,
a.hz-notice-link:hover {
    color: #8e2020 !important;
}

/* Responsive Breakpoints */
@media (max-width: 860px) {
    .hz-account-auth-container,
    #customer_login.hz-account-auth-container {
        flex-direction: column !important;
        gap: 24px !important;
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .woocommerce-account .woocommerce-notices-wrapper,
    .woocommerce-account .woocommerce-NoticeGroup,
    body.woocommerce-account .woocommerce-notices-wrapper,
    body.woocommerce-account .woocommerce-NoticeGroup {
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 16px !important;
        width: 100% !important;
    }

    .hz-account-auth-container {
        margin-top: 20px !important;
        margin-bottom: 48px !important;
    }

    .hz-account-auth-container .hz-auth-card {
        padding: 26px 20px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-account .woocommerce-notices-wrapper,
    .woocommerce-account .woocommerce-NoticeGroup,
    body.woocommerce-account .woocommerce-notices-wrapper,
    body.woocommerce-account .woocommerce-NoticeGroup {
        padding: 0 12px !important;
        margin-top: 14px !important;
    }

    body.woocommerce-account .woocommerce-error,
    body.woocommerce-account .woocommerce-message,
    body.woocommerce-account .woocommerce-info,
    .woocommerce-notices-wrapper .woocommerce-error,
    .woocommerce-notices-wrapper .woocommerce-message,
    .woocommerce-notices-wrapper .woocommerce-info,
    ul.woocommerce-error,
    ul.woocommerce-message,
    ul.woocommerce-info {
        padding: 12px 14px 12px 38px !important;
        margin-bottom: 16px !important;
    }

    body.woocommerce-account .woocommerce-error::before,
    body.woocommerce-account .woocommerce-message::before,
    body.woocommerce-account .woocommerce-info::before,
    .woocommerce-notices-wrapper .woocommerce-error::before,
    .woocommerce-notices-wrapper .woocommerce-message::before,
    .woocommerce-notices-wrapper .woocommerce-info::before,
    ul.woocommerce-error::before,
    ul.woocommerce-message::before,
    ul.woocommerce-info::before {
        left: 12px !important;
        top: 14px !important;
        width: 15px !important;
        height: 15px !important;
    }

    body.woocommerce-account .woocommerce-error li,
    body.woocommerce-account .woocommerce-message li,
    body.woocommerce-account .woocommerce-info li,
    .woocommerce-notices-wrapper .woocommerce-error li,
    .woocommerce-notices-wrapper .woocommerce-message li,
    .woocommerce-notices-wrapper .woocommerce-info li,
    ul.woocommerce-error li,
    ul.woocommerce-message li,
    ul.woocommerce-info li {
        font-size: 13px !important;
        line-height: 1.5 !important;
        padding: 0 !important;
    }

    .hz-account-auth-container .hz-auth-card {
        padding: 22px 16px !important;
    }

    .hz-auth-card-header .hz-auth-title {
        font-size: 15.5px !important;
    }

    .hz-auth-actions-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
}
