/* ============================================
   CMR Custom Checkout & Cart Styles
   ============================================ */

/* ---- CHECKOUT LAYOUT ---- */
.cmr-checkout-wrap {
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 40px !important;
    max-width: 1280px !important;
    width: 100% !important;
    margin: 40px auto !important;
    padding: 0 24px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.cmr-checkout-wrap[style*="display: none"],
#cmr-checkout-main-form[style*="display: none"],
#cmr-pre-checkout-login-grid[style*="display: none"] {
    display: none !important;
}

.cmr-checkout-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Custom Grouped Billing Form Styles */
.cmr-custom-billing-wrapper {
    width: 100% !important;
}
.cmr-field-group {
    margin-bottom: 24px !important;
}
.cmr-group-label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    color: #374151 !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
}
.cmr-grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}
@media (max-width: 600px) {
    .cmr-grid-2 {
        grid-template-columns: 1fr !important;
    }
}
.cmr-grid-2 .form-row,
.cmr-field-group .form-row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.cmr-custom-billing-wrapper input.input-text,
.cmr-custom-billing-wrapper select,
.cmr-custom-billing-wrapper textarea {
    width: 100% !important;
    height: 48px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    padding: 0 16px !important;
    font-size: 15px !important;
    color: #111827 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.cmr-custom-billing-wrapper input.input-text:focus,
.cmr-custom-billing-wrapper select:focus {
    border-color: #4820B0 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(72, 32, 176, 0.1) !important;
}
.cmr-custom-billing-wrapper .form-row label {
    display: none !important;
}
.cmr-phone-row {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
}
.cmr-phone-prefix {
    width: 76px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    background: #f9fafb !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111827 !important;
}
.cmr-phone-input-wrap {
    flex: 1 !important;
}

/* ---- LEFT COLUMN CARD ---- */
.cmr-checkout-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 32px;
}

.cmr-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin: 0 0 24px 0;
}

/* ---- FIELD GROUPS ---- */
.woocommerce-billing-fields h3 {
    display: none;
}

.woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
    align-items: end; /* Aligns inputs to the bottom even if label is missing */
}

/* Force specific grid columns and order to override WooCommerce JS DOM manipulation */
#billing_first_name_field { order: 1; grid-column: 1; }
#billing_last_name_field  { order: 2; grid-column: 2; }
#billing_address_1_field  { order: 3; grid-column: 1 / -1; }
#billing_address_2_field  { display: none !important; }
#billing_city_field       { order: 4; grid-column: 1; }
#billing_state_field      { order: 5; grid-column: 2; }
#billing_country_field    { order: 6; grid-column: 1; }
#billing_postcode_field   { order: 7; grid-column: 2; }
#billing_phone_field      { order: 8; grid-column: 1 / -1; }
#billing_email_field      { order: 9; grid-column: 1 / -1; }

.cmr-checkout-wrap .form-row {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.cmr-label,
.cmr-checkout-wrap .form-row label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #374151;
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* Hide optional tag */
.cmr-checkout-wrap .optional {
    display: none !important;
}

/* Hide Shipping Fields Completely */
.woocommerce-shipping-fields {
    display: none !important;
}

/* Inputs */
.cmr-checkout-card input.input-text,
.cmr-checkout-card select {
    width: 100%;
    height: 48px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0 14px;
    font-size: 15px;
    color: #9ca3af;
    background: #fff;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.cmr-checkout-card input.input-text:focus,
.cmr-checkout-card select:focus {
    border-color: #6241ca;
    color: #111;
    outline: none;
}

.cmr-checkout-card input.input-text::placeholder {
    color: #9ca3af;
}

.cmr-checkout-card .form-row label:not(.cmr-label) {
    display: none !important;
}

/* Phone field with prefix */
.cmr-phone-wrap {
    display: flex;
    align-items: stretch;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
}

.cmr-phone-prefix {
    background: #f9fafb;
    border-right: 1px solid #e5e7eb;
    padding: 0 14px;
    font-size: 15px;
    color: #374151;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.cmr-phone-wrap input.input-text {
    border: none !important;
    border-radius: 0 !important;
}

/* Terms notice */
.cmr-terms-notice {
    font-size: 13px;
    color: #6b7280;
    margin-top: 24px;
    margin-bottom: 0;
}

.cmr-terms-notice a {
    color: #111;
    text-decoration: underline;
}

/* ---- RIGHT COLUMN ---- */
.cmr-checkout-right {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ---- PROMO CODE BOX ---- */
.cmr-promo-box {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 20px;
}

.cmr-promo-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
}

.cmr-applied-coupon {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.cmr-coupon-code {
    font-size: 14px;
    font-weight: 700;
    background: #f3f4f6;
    padding: 6px 12px;
    border-radius: 4px;
}

.cmr-coupon-applied {
    font-size: 13px;
    color: #16a34a;
    font-weight: 600;
}

.cmr-coupon-applied .dot {
    font-size: 8px;
    vertical-align: middle;
    margin-left: 2px;
}

.cmr-remove-coupon {
    margin-left: auto;
    font-size: 13px;
    color: #374151;
    background: #f3f4f6;
    border-radius: 4px;
    padding: 4px 10px;
    text-decoration: none;
    font-weight: 600;
}

.cmr-coupon-hints {
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 12px;
}

.cmr-coupon-form {
    display: flex;
    gap: 8px;
}

.cmr-coupon-input {
    flex: 1 !important;
    height: 44px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

.cmr-coupon-apply,
button.cmr-coupon-apply,
#apply_custom_coupon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 44px !important;
    background: #111827 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 20px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
}

/* ---- ORDER BOX ---- */
.cmr-order-box {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 20px;
}

/* Product item preview */
.cmr-order-item {
    display: flex;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
}

.cmr-product-thumb {
    flex: 0 0 75px !important;
    width: 75px !important;
    height: 104.1px !important;
}
.cmr-product-thumb img,
.cmr-order-item-img img {
    width: 75px !important;
    height: 104.1px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
}

.cmr-order-item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cmr-item-name {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    line-height: 1.4;
}

.cmr-item-author {
    font-size: 13px;
    color: #9ca3af;
}

/* Summary Table */
.cmr-summary-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 0 0 16px 0;
}

.cmr-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.cmr-summary-table td {
    padding: 8px 0;
    font-size: 14px;
    color: #374151;
    border: none;
}

.cmr-amount {
    text-align: right;
}

.cmr-discount {
    color: #16a34a;
}

.cmr-total-row td {
    border-top: 1px solid #e5e7eb;
    padding-top: 16px;
    margin-top: 4px;
    font-size: 20px;
    font-weight: 700;
    color: #111;
}

/* Hide default payment box styling and payment method selection list */
#payment, .woocommerce-checkout-payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#payment ul.wc_payment_methods,
#payment ul.payment_methods,
.woocommerce-checkout-payment ul.wc_payment_methods,
.woocommerce-checkout-payment ul.payment_methods,
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
    display: none !important;
}

/* Proceed to Checkout Button */
#place_order,
button#place_order,
.cmr-checkout-wrap #place_order {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    background: #4820B0 !important;
    color: #fff !important;
    border: none;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s;
}
#place_order:hover,
button#place_order:hover,
.cmr-checkout-wrap #place_order:hover {
    background: #3e1b99 !important;
}

/* Trust Badges */
.cmr-trust-badges {
    text-align: left !important;
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e5e7eb !important;
}
.cmr-trust-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin-bottom: 12px !important;
    text-align: left !important;
}
.cmr-trust-icons {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.cmr-icon-pill {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
}
.cmr-icon-pill img {
    height: 18px;
    width: auto;
}

/* Back to Report Button */
.cmr-back-link-wrap {
    margin-bottom: 16px !important;
}
.cmr-back-to-report-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #4820B0 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
}
.cmr-back-to-report-btn:hover {
    color: #3e1b99 !important;
    transform: translateX(-3px) !important;
}

.cmr-checkout-btn:hover {
    background: #581c87 !important;
    color: #fff !important;
}

/* ---- TRUST BADGES ---- */
.cmr-trust-badges {
    padding: 4px 0;
}

.cmr-trust-label {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 12px;
}

.cmr-trust-icons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cmr-icon-pill {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 5px 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmr-icon-pill img {
    height: 20px;
    width: auto;
}

/* ============================================
   Custom Cart Page Layout
   ============================================ */
.custom-cart-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 32px;
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
    align-items: start;
}

@media (max-width: 900px) {
    .custom-cart-grid {
        grid-template-columns: 1fr;
    }
}

.cart-left-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.woocommerce-cart-form {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    padding: 24px;
}

.cart-header-title h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #111;
}

.woocommerce-cart-form .coupon { display: none !important; }
.shop_table.cart thead { display: none; }

.shop_table.cart tr {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid #f3f4f6;
}
.shop_table.cart tr:last-child { border-bottom: none; }

.shop_table.cart td { border: none; padding: 0; }

.product-thumbnail img {
    width: 70px;
    height: auto;
    border-radius: 4px;
}

.product-name { flex: 1; }
.product-name a {
    font-weight: 700;
    font-size: 15px;
    color: #111;
    text-decoration: none;
}

.cart-product-author { font-size: 13px; color: #9ca3af; margin-top: 4px; }
.cart-product-sku {
    font-size: 13px;
    font-weight: 700;
    color: #374151;
    margin-top: 10px;
}

.product-price { font-size: 16px; font-weight: 700; color: #111; white-space: nowrap; }

.product-remove a {
    color: #ef4444;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 28px;
}

/* Login Form Box */
.cart-login-prompt {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    padding: 28px;
}

.cart-login-prompt h3 {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin: 0 0 4px;
}

.cart-login-prompt > p {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 20px;
}

.cart-login-prompt label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #374151;
    margin-bottom: 6px;
    display: block;
}

.cart-login-prompt input[type="text"],
.cart-login-prompt input[type="password"] {
    width: 100%;
    height: 44px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0 14px;
    font-size: 14px;
    margin-bottom: 14px;
    box-sizing: border-box;
}

.cart-login-prompt input[type="submit"],
.cart-login-prompt button[type="submit"],
.cart-login-prompt .woocommerce-form-login__submit {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    background: #4820B0 !important;
    color: #fff !important;
    border: none;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s !important;
}
.cart-login-prompt input[type="submit"]:hover,
.cart-login-prompt button[type="submit"]:hover,
.cart-login-prompt .woocommerce-form-login__submit:hover {
    background: #3e1b99 !important;
}

.forgot-password-link { font-size: 13px; color: #6b7280; text-decoration: none; }
.forgot-password-link:hover { color: #4820B0; text-decoration: underline; }

.login-separator {
    text-align: center;
    margin: 20px 0;
    position: relative;
}
.login-separator::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #e5e7eb;
}
.login-separator span {
    background: #fff;
    position: relative;
    padding: 0 12px;
    color: #9ca3af;
    font-size: 12px;
    font-style: italic;
}

.create-account-text {
    text-align: center;
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 14px;
}

.create-account-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    text-align: center;
    border: 1px solid #374151;
    border-radius: 30px;
    padding: 0 24px;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
    background: #fff;
    box-sizing: border-box;
    transition: all 0.2s !important;
}
.create-account-btn:hover {
    border-color: #4820B0;
    color: #4820B0;
    background: #f8fafc;
}

/* Right Column Cart */
.cart-right-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cart-promo-box {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    padding: 20px;
}

.cart-collaterals .cart_totals {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    padding: 20px;
    width: 100%;
}

.cart-collaterals .cart_totals h2 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 16px;
}

.cart-collaterals table { width: 100%; border-collapse: collapse; }
.cart-collaterals th,
.cart-collaterals td {
    padding: 8px 0;
    border: none;
    font-size: 14px;
}
.cart-collaterals th { font-weight: normal; color: #6b7280; }

.cart-collaterals .order-total th,
.cart-collaterals .order-total td {
    border-top: 1px solid #e5e7eb;
    padding-top: 16px;
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

.cart-collaterals .checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    background: #ccc !important;
    color: #fff !important;
    border-radius: 30px !important;
    font-size: 15px;
    font-weight: 600;
    pointer-events: auto !important;
    cursor: pointer !important;
    text-decoration: none;
    transition: all 0.2s !important;
}

body.logged-in .cart-collaterals .checkout-button {
    background: #4820B0 !important;
}

body.logged-in .cart-collaterals .checkout-button:hover {
    background: #3e1b99 !important;
}

.checkout-trust-badges {
    padding: 4px 0;
}

.checkout-trust-badges strong {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 12px;
}

.trust-icons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.trust-icons img {
    height: 22px;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    padding: 3px 8px;
    background: #fff;
}

.cmr-trust-badges .trust-icons img { height: 20px; }

/* Custom Sleek WooCommerce Warning & Alert Message Boxes */
.cmr-checkout-wrap ul.woocommerce-error,
.cmr-checkout-wrap div.woocommerce-error,
/* Alert Containers */
.cmr-checkout-wrap ul.woocommerce-message,
.cmr-checkout-wrap div.woocommerce-message,
.cmr-checkout-wrap ul.woocommerce-info,
.cmr-checkout-wrap div.woocommerce-info,
ul.woocommerce-error,
div.woocommerce-error,
ul.woocommerce-message,
div.woocommerce-message,
ul.woocommerce-info,
div.woocommerce-info {
    list-style: none !important;
    margin: 0 auto 16px auto !important;
    padding: 14px 20px 14px 48px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1280px !important;
    border-top: none !important;
    border-right: 1px solid rgba(0,0,0,0.06) !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.cmr-checkout-wrap ul.woocommerce-error li,
.cmr-checkout-wrap ul.woocommerce-message li,
.cmr-checkout-wrap ul.woocommerce-info li,
ul.woocommerce-error li,
ul.woocommerce-message li,
ul.woocommerce-info li {
    list-style: none !important;
    list-style-type: none !important;
    list-style-image: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex: 1 1 250px !important;
}

ul.woocommerce-error li::marker,
ul.woocommerce-message li::marker,
ul.woocommerce-info li::marker,
.woocommerce-error li::marker,
.woocommerce-message li::marker,
.woocommerce-info li::marker,
.cmr-checkout-wrap ul.woocommerce-error li::marker,
.cmr-checkout-wrap ul.woocommerce-message li::marker,
.cmr-checkout-wrap ul.woocommerce-info li::marker {
    display: none !important;
    content: '' !important;
    font-size: 0 !important;
}

.cmr-checkout-wrap ul.woocommerce-error li::before,
.cmr-checkout-wrap ul.woocommerce-error li::after,
.cmr-checkout-wrap ul.woocommerce-error li:before,
.cmr-checkout-wrap ul.woocommerce-error li:after,
.cmr-checkout-wrap ul.woocommerce-message li::before,
.cmr-checkout-wrap ul.woocommerce-message li::after,
.cmr-checkout-wrap ul.woocommerce-message li:before,
.cmr-checkout-wrap ul.woocommerce-message li:after,
.cmr-checkout-wrap ul.woocommerce-info li::before,
.cmr-checkout-wrap ul.woocommerce-info li::after,
.cmr-checkout-wrap ul.woocommerce-info li:before,
.cmr-checkout-wrap ul.woocommerce-info li:after,
ul.woocommerce-error li::before,
ul.woocommerce-error li::after,
ul.woocommerce-error li:before,
ul.woocommerce-error li:after,
ul.woocommerce-message li::before,
ul.woocommerce-message li::after,
ul.woocommerce-message li:before,
ul.woocommerce-message li:after,
ul.woocommerce-info li::before,
ul.woocommerce-info li::after,
ul.woocommerce-info li:before,
ul.woocommerce-info li:after,
.page--content .woocommerce ul > li:after,
.page--content .woocommerce ul > li::after,
.page--content .woocommerce ul > li:before,
.page--content .woocommerce ul > li::before,
.woocommerce-checkout ul > li:after,
.woocommerce-checkout ul > li::after,
.woocommerce-checkout ul > li:before,
.woocommerce-checkout ul > li::before,
.cmr-checkout-wrap ul > li:after,
.cmr-checkout-wrap ul > li::after,
.cmr-cart-menu-item:after,
.cmr-cart-menu-item::after {
    display: none !important;
    content: none !important;
}

/* Alert Icons */
.cmr-checkout-wrap ul.woocommerce-error::before,
.cmr-checkout-wrap div.woocommerce-error::before,
ul.woocommerce-error::before,
div.woocommerce-error::before {
    content: '\f071' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ef4444 !important;
    width: 20px !important;
    height: 20px !important;
}
.cmr-checkout-wrap ul.woocommerce-error,
.cmr-checkout-wrap div.woocommerce-error,
ul.woocommerce-error,
div.woocommerce-error {
    border-left: 4px solid #ef4444 !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
    box-shadow: 0 2px 5px rgba(239, 68, 68, 0.08) !important;
}

.cmr-checkout-wrap ul.woocommerce-message,
.cmr-checkout-wrap div.woocommerce-message,
ul.woocommerce-message,
div.woocommerce-message {
    border-left: 4px solid #10b981 !important;
    background: #ecfdf5 !important;
    color: #065f46 !important;
    box-shadow: 0 2px 5px rgba(16, 185, 129, 0.08) !important;
}
.cmr-checkout-wrap ul.woocommerce-message::before,
.cmr-checkout-wrap div.woocommerce-message::before,
ul.woocommerce-message::before,
div.woocommerce-message::before {
    content: '\f00c' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #10b981 !important;
    width: 20px !important;
    height: 20px !important;
}

.cmr-checkout-wrap ul.woocommerce-info,
.cmr-checkout-wrap div.woocommerce-info,
ul.woocommerce-info,
div.woocommerce-info {
    border-left: 4px solid #3b82f6 !important;
    background: #eff6ff !important;
    color: #1e40af !important;
    box-shadow: 0 2px 5px rgba(59, 130, 246, 0.08) !important;
}
.cmr-checkout-wrap ul.woocommerce-info::before,
.cmr-checkout-wrap div.woocommerce-info::before,
ul.woocommerce-info::before,
div.woocommerce-info::before {
    content: '\f05a' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #3b82f6 !important;
    width: 20px !important;
    height: 20px !important;
}

/* Button inside Message / Info */
div.woocommerce-message .button,
ul.woocommerce-message .button,
div.woocommerce-info .button,
ul.woocommerce-info .button,
div.woocommerce-error .button,
ul.woocommerce-error .button {
    float: none !important;
    margin: 0 0 0 auto !important;
    background: #111827 !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    padding: 8px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    border: none !important;
    transition: all 0.2s !important;
    order: 2 !important;
}
div.woocommerce-message .button:hover,
ul.woocommerce-message .button:hover,
div.woocommerce-info .button:hover,
ul.woocommerce-info .button:hover {
    background: #4820B0 !important;
    color: #ffffff !important;
}

/* Login Form Slide Down on Checkout */
form.woocommerce-form-login {
    max-width: 1280px !important;
    margin: 0 auto 24px auto !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
}
form.woocommerce-form-login p {
    margin-bottom: 16px !important;
}
form.woocommerce-form-login input.input-text {
    width: 100% !important;
    max-width: 450px !important;
    height: 44px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
}
form.woocommerce-form-login input.input-text:focus {
    border-color: #4820B0 !important;
    outline: none !important;
}
form.woocommerce-form-login .button {
    background: #4820B0 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 24px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-right: 12px !important;
}
form.woocommerce-form-login .button:hover {
    background: #3e1b99 !important;
}

/* Ensure coupon input is strictly optional and has clean styling */
.cmr-coupon-input,
#coupon_code,
input[name="coupon_code"],
input#coupon_code.cmr-input-error,
.cmr-coupon-input.cmr-input-error {
    border: 1px solid #d1d5db !important;
    outline: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
    color: #111827 !important;
}

.cmr-coupon-input:focus,
#coupon_code:focus,
input[name="coupon_code"]:focus {
    border-color: #111827 !important;
    box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.08) !important;
}
