/* WooCommerce Modern Checkout - Highly Specific Astra-Proof Styles */

/* Hide default WordPress / Astra page title on checkout page */
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .ast-archive-description {
    display: none !important;
}

/* Hide login and coupon toggles & notices on checkout page */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-checkout-login,
.woocommerce-checkout .woocommerce-checkout-coupon {
    display: none !important;
}

/* Enforce Flexbox two-column grid on the checkout form, beating any theme specificity */
.wmc-checkout-wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.wmc-checkout-wrapper form.woocommerce-checkout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    align-items: start !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.wmc-checkout-wrapper form.woocommerce-checkout::before,
.wmc-checkout-wrapper form.woocommerce-checkout::after {
    display: none !important;
    content: none !important;
}

/* Ensure WooCommerce notices (errors) take full width at the top of the flex form */
.wmc-checkout-wrapper form.woocommerce-checkout .woocommerce-NoticeGroup,
.wmc-checkout-wrapper form.woocommerce-checkout .woocommerce-error {
    width: 100% !important;
    flex: 0 0 100% !important;
    order: -1 !important;
    margin-bottom: 20px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 9999 !important;
}

/* Left Form Column details */
.wmc-checkout-wrapper .wmc-form-column {
    flex: 1 1 55% !important;
    width: 55% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
    background: #ffffff !important;
    border: 1px solid var(--ast-border-color, #e2e8f0) !important;
    border-radius: var(--wmc-radius, 8px) !important;
    padding: 30px !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05) !important;
}

/* Right Sticky Column details */
.wmc-checkout-wrapper .wmc-review-column {
    flex: 1 1 38% !important;
    width: 38% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
}

.wmc-checkout-wrapper .wmc-review-sticky {
    position: sticky !important;
    top: 30px !important;
    background: #ffffff !important;
    border: 1px solid var(--ast-border-color, #e2e8f0) !important;
    border-radius: var(--wmc-radius, 8px) !important;
    padding: 30px !important;
    box-shadow: 0 4px 15px -3px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
}

/* Mobile & Tablet viewports */
@media (max-width: 991px) {
    .wmc-checkout-wrapper form.woocommerce-checkout {
        flex-direction: column !important;
    }
    
    .wmc-checkout-wrapper .wmc-form-column,
    .wmc-checkout-wrapper .wmc-review-column {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
    
    .wmc-checkout-wrapper .wmc-review-sticky {
        position: relative !important;
        top: 0 !important;
    }
}

/* Reset default Astra inner floats/widths on checkout parts */
.wmc-checkout-wrapper #customer_details,
.wmc-checkout-wrapper #order_review_heading,
.wmc-checkout-wrapper #order_review {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Stack Billing & Shipping forms vertically */
.wmc-checkout-wrapper .col2-set {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.wmc-checkout-wrapper #customer_details .col-1,
.wmc-checkout-wrapper #customer_details .col-2,
.wmc-checkout-wrapper .col2-set .col-1,
.wmc-checkout-wrapper .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    margin: 0 0 25px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
}

.wmc-checkout-wrapper #customer_details .col-2,
.wmc-checkout-wrapper .col2-set .col-2 {
    margin-bottom: 0 !important;
}

/* Fields Grid */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    width: 100% !important;
}

.woocommerce-checkout .form-row {
    float: none !important;
    margin: 0 0 5px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: calc(50% - 8px) !important;
}

@media (max-width: 600px) {
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100% !important;
    }
}

/* Clean Input Fields */
.woocommerce-checkout input.input-text, 
.woocommerce-checkout select, 
.woocommerce-checkout textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--wmc-radius, 8px) !important;
    background-color: #f8fafc !important;
    transition: all 0.2s ease !important;
    font-size: 15px !important;
    color: inherit !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Fix country select dropdown text clipping on mobile */
.woocommerce-checkout select {
    padding-right: 36px !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px !important;
    min-height: 44px !important;
}

.woocommerce-checkout input.input-text:focus, 
.woocommerce-checkout select:focus, 
.woocommerce-checkout textarea:focus {
    border-color: var(--wmc-primary) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(var(--wmc-primary-rgb), 0.15) !important;
}

/* Validation errors (red inputs/focus) */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea {
    border-color: var(--wmc-error) !important;
    background-color: #fdf2f2 !important;
}

.woocommerce-checkout .woocommerce-invalid input.input-text:focus,
.woocommerce-checkout .woocommerce-invalid select:focus,
.woocommerce-checkout .woocommerce-invalid textarea:focus {
    border-color: var(--wmc-error) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

.woocommerce-checkout .woocommerce-invalid#terms_field label,
.woocommerce-checkout .woocommerce-invalid label.checkbox {
    color: #b91c1c !important;
}

.woocommerce-checkout .woocommerce-invalid #terms {
    border-color: var(--wmc-error) !important;
    outline: 1px solid var(--wmc-error) !important;
}

/* Inline field error messages */
.woocommerce-checkout .wmc-field-error,
.woocommerce-checkout .wmc-terms-error-msg {
    display: block !important;
    color: var(--wmc-error) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.woocommerce-checkout .form-row label {
    font-weight: 500 !important;
    font-size: 14px !important;
    color: inherit !important;
    margin-bottom: 6px !important;
    display: inline-block !important;
}

/* VAT Invoice Checkbox row */
.woocommerce-checkout .wmc-invoice-checkbox-row {
    background: var(--ast-global-color-4, #f1f5f9) !important;
    padding: 15px 20px !important;
    border-radius: var(--wmc-radius, 8px) !important;
    border: 1px dashed #cbd5e1 !important;
    margin: 20px 0 10px !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce-checkout .wmc-invoice-checkbox-row label.checkbox {
    margin: 0 !important;
    font-weight: 600 !important;
    color: inherit !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.woocommerce-checkout .wmc-invoice-checkbox-row input[type="checkbox"] {
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    border: 2px solid #cbd5e1 !important;
    cursor: pointer !important;
}

/* Order Review table styles */
#order_review_heading {
    margin-top: 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: inherit !important;
    border-bottom: 2px solid var(--ast-global-color-4, #f1f5f9) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}

table.shop_table.woocommerce-checkout-review-order-table {
    border: none !important;
    background: transparent !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

@media (min-width: 769px) {
    /* Force standard table layout on desktop to prevent Astra theme from collapsing price totals column */
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table {
        display: table !important;
        width: 100% !important;
    }
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead {
        display: table-header-group !important;
    }
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody,
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot {
        display: table-row-group !important;
    }
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr {
        display: table-row !important;
    }
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th,
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td {
        display: table-cell !important;
    }
}

table.shop_table.woocommerce-checkout-review-order-table th, 
table.shop_table.woocommerce-checkout-review-order-table td {
    padding: 12px 0 !important;
    border-top: none !important;
    border-bottom: 1px solid var(--ast-global-color-4, #f1f5f9) !important;
    font-size: 14px !important;
    background: transparent !important;
}

table.shop_table.woocommerce-checkout-review-order-table tr.order-total th,
table.shop_table.woocommerce-checkout-review-order-table tr.order-total td {
    border-bottom: none !important;
    padding-top: 18px !important;
    white-space: normal !important; /* Changed to normal to allow tax text to wrap to new line */
    word-break: keep-all !important;
}

table.shop_table.woocommerce-checkout-review-order-table tr.order-total .amount {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--wmc-primary) !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
}

table.shop_table.woocommerce-checkout-review-order-table td.product-total,
table.shop_table.woocommerce-checkout-review-order-table td.product-total .amount {
    white-space: nowrap !important;
    word-break: keep-all !important;
    text-align: right !important;
}

/* Prevent price wrapping in cart subtotals and grand totals to avoid breaking shipping/tax layouts */
table.shop_table.woocommerce-checkout-review-order-table td.product-total,
table.shop_table.woocommerce-checkout-review-order-table td.product-total .amount,
table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal .amount {
    white-space: nowrap !important;
    word-break: keep-all !important;
}

/* Payment Gateways Panel */
#payment {
    background: #f8fafc !important;
    border-radius: var(--wmc-radius, 8px) !important;
    border: 1px solid var(--ast-border-color, #e2e8f0) !important;
    padding: 20px !important;
    margin-top: 25px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
}

#payment ul.payment_methods li {
    line-height: 2 !important;
    text-align: left !important;
    margin: 0 !important;
    font-weight: 500 !important;
    color: inherit !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--ast-border-color, #e2e8f0) !important;
}

#payment ul.payment_methods li:last-child {
    border-bottom: none !important;
}

#payment ul.payment_methods li input {
    margin: 0 10px 0 0 !important;
    vertical-align: middle !important;
}

#payment div.payment_box {
    background: #ffffff !important;
    border: 1px solid var(--ast-border-color, #e2e8f0) !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    margin: 10px 0 0 0 !important;
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}

#payment div.payment_box::before {
    display: none !important;
}

/* Order button */
.woocommerce-checkout #place_order {
    width: 100% !important;
    background-color: var(--wmc-primary) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 15px 30px !important;
    border-radius: var(--wmc-radius, 8px) !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 6px -1px rgba(var(--wmc-primary-rgb), 0.2), 0 2px 4px -1px rgba(var(--wmc-primary-rgb), 0.1) !important;
    border: none !important;
    cursor: pointer !important;
    display: block !important;
}

.woocommerce-checkout #place_order:hover {
    filter: brightness(0.88) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
    background-color: var(--wmc-primary) !important;
}


/* Trust Badges */
.wmc-trust-badges {
    margin-top: 30px !important;
    border-top: 2px dashed var(--ast-border-color, #e2e8f0) !important;
    padding-top: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.wmc-trust-badge {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.wmc-trust-badge .dashicons {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    color: var(--wmc-primary) !important;
    background-color: rgba(var(--wmc-primary-rgb), 0.1) !important;
    padding: 8px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wmc-trust-badge div {
    display: flex !important;
    flex-direction: column !important;
}

.wmc-trust-badge span:not(.dashicons) {
    font-size: 13px !important;
    color: inherit !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* Step Headers (Multi-step) */
.wmc-steps-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 35px !important;
    background: #f8fafc !important;
    padding: 15px 30px !important;
    border-radius: var(--wmc-radius, 8px) !important;
    border: 1px solid var(--ast-border-color, #e2e8f0) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .wmc-steps-header {
        padding: 12px 16px !important;
    }
}

.wmc-step-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    opacity: 0.4 !important;
    transition: all 0.3s ease !important;
}

.wmc-step-item.active {
    opacity: 1 !important;
    font-weight: 700 !important;
}

.wmc-step-item.completed {
    opacity: 0.8 !important;
}

.wmc-step-num {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    border-radius: 50% !important;
    background-color: #cbd5e1 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: bold !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.wmc-step-item.active .wmc-step-num {
    background-color: var(--wmc-primary) !important;
}

.wmc-step-item.completed .wmc-step-num {
    background-color: #10b981 !important;
}

.wmc-step-arrow {
    color: #cbd5e1 !important;
    font-size: 18px !important;
}

/* Buttons styles */
.wmc-step-buttons {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 30px !important;
    width: 100% !important;
}

.wmc-btn {
    padding: 12px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: var(--wmc-radius, 8px) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: none !important;
    display: inline-block !important;
}

.wmc-btn-next {
    background-color: var(--wmc-primary) !important;
    color: #ffffff !important;
}

.wmc-btn-next:hover {
    filter: brightness(0.88) !important;
    color: #ffffff !important;
    background-color: var(--wmc-primary) !important;
    transform: translateY(-1px) !important;
}


.wmc-step-prev-wrapper {
    margin-top: 20px !important;
    text-align: center !important;
}

.wmc-btn-prev {
    background-color: transparent !important;
    color: #64748b !important;
    border: 1px solid #cbd5e1 !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
}

.wmc-btn-prev:hover {
    background-color: var(--ast-global-color-4, #f1f5f9) !important;
    color: inherit !important;
}

/* Extra Product Options configuration item styling in checkout order review */
.pc-mini-configs-inline {
    display: block !important;
    font-size: 11.5px !important;
    color: #64748b !important;
    margin-top: 5px !important;
    line-height: 1.5 !important;
    border-left: 2px solid #cbd5e1 !important;
    padding-left: 8px !important;
    text-align: left !important;
    font-weight: normal !important;
}

.wmc-config-detail-item {
    display: block !important;
    margin-bottom: 5px !important;
    line-height: 1.4 !important;
}

.wmc-config-detail-item:last-child {
    margin-bottom: 0 !important;
}

/* Dynamic steps behavior via CSS */
.wmc-checkout-wrapper.step-1 .wmc-form-column {
    display: block !important;
}
.wmc-checkout-wrapper.step-1 .wmc-review-column {
    display: block !important;
}
.wmc-checkout-wrapper.step-1 #payment {
    display: none !important;
}

.wmc-checkout-wrapper.step-2 .wmc-form-column {
    display: none !important;
}
.wmc-checkout-wrapper.step-2 .wmc-review-column {
    display: block !important;
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 auto !important;
    flex: 1 1 100% !important;
}
.wmc-checkout-wrapper.step-2 #payment {
    display: block !important;
}
.wmc-checkout-wrapper.step-2 .wmc-btn-prev {
    display: inline-block !important;
}

/* ================================================================
   CHECKOUT ORDER REVIEW — Product quantity display cleanup
   ================================================================ */

/* Product name cell: block layout so qty badge appears below name */
table.shop_table.woocommerce-checkout-review-order-table .product-name {
    font-weight: 600 !important;
    color: inherit !important;
    line-height: 1.5 !important;
    word-break: break-word !important;
}

/* Quantity × badge inside product name — clean, delicately accented inline text */
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name strong.product-quantity,
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name strong.product-quantity,
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name .product-quantity,
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name .qty,
.woocommerce-checkout td.product-name strong.product-quantity,
.woocommerce-checkout td.product-name .product-quantity,
.woocommerce-checkout #order_review td.product-name strong.product-quantity,
.woocommerce-checkout #order_review td.product-name .product-quantity,
.woocommerce-checkout td.product-name strong.product-quantity {
    display: inline !important;
    float: none !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-left: 6px !important;
    padding: 0 !important;
    vertical-align: baseline !important;
    white-space: nowrap !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* Style the × character or text container if it's wrapped in a .quantity class */
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name .quantity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: 500 !important;
}

/* pc-mini configurator options in checkout review — vertical list */
table.shop_table.woocommerce-checkout-review-order-table .product-name .pc-mini-configs-inline {
    display: block !important;
    font-size: 11.5px !important;
    color: #64748b !important;
    margin-top: 5px !important;
    border-left: 2px solid var(--ast-border-color, #e2e8f0) !important;
    padding-left: 8px !important;
    line-height: 1.5 !important;
}

table.shop_table.woocommerce-checkout-review-order-table .product-name .pc-mini-configs-inline strong {
    font-weight: 600 !important;
    color: inherit !important;
    margin-right: 4px !important;
}

table.shop_table.woocommerce-checkout-review-order-table .product-name .pc-mini-configs-inline strong::after {
    content: ":" !important;
}

/* Standard WooCommerce variations display under product name in checkout review */
table.shop_table.woocommerce-checkout-review-order-table td.product-name .variation,




ul.woocommerce-error {
    background-color: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    border-left: 4px solid var(--wmc-error) !important;
    border-radius: var(--wmc-radius, 8px) !important;
    padding: 16px 20px 16px 45px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    position: relative !important;
    box-shadow: 0 1px 3px rgba(239, 68, 68, 0.05) !important;
}

ul.woocommerce-error::before {
    content: "\f158" !important; /* dashicons-warning */
    font-family: dashicons !important;
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    color: var(--wmc-error) !important;
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

ul.woocommerce-error li {
    font-size: 13.5px !important;
    color: #991b1b !important;
    line-height: 1.5 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

ul.woocommerce-error li:last-child {
    margin-bottom: 0 !important;
}

ul.woocommerce-error li strong,
ul.woocommerce-error li a {
    color: #7f1d1d !important;
    font-weight: 700 !important;
}

/* Info notices */
.woocommerce-info {
    background-color: #eff6ff !important;
    border: 1px solid #dbeafe !important;
    border-left: 4px solid #3b82f6 !important;
    border-radius: var(--wmc-radius, 8px) !important;
    padding: 16px 20px 16px 45px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    position: relative !important;
    font-size: 13.5px !important;
    color: #1e3a8a !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

.woocommerce-info::before {
    content: "\f348" !important; /* dashicons-info */
    font-family: dashicons !important;
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    color: #3b82f6 !important;
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Message notices (success) */
.woocommerce-message {
    background-color: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    border-left: 4px solid #22c55e !important;
    border-radius: var(--wmc-radius, 8px) !important;
    padding: 16px 20px 16px 45px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    position: relative !important;
    font-size: 13.5px !important;
    color: #14532d !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

.woocommerce-message::before {
    content: "\f147" !important; /* dashicons-yes */
    font-family: dashicons !important;
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    color: #22c55e !important;
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ================================================================
   MAIN CART PAGE — PC Configurator price column color differentiation
   Base: slate-gray, Options: primary blue, Total: near-black
   These rules use html body prefix + !important to beat frontend.css (no !important)
   ================================================================ */

html body.woocommerce-cart .pc-base-price-row,
html body.woocommerce-cart .pc-base-price-row .woocommerce-Price-amount,
html body.woocommerce-cart .pc-base-price-row .amount,
html body.woocommerce-cart .pc-base-subtotal-row,
html body.woocommerce-cart .pc-base-subtotal-row .woocommerce-Price-amount,
html body.woocommerce-cart .pc-base-subtotal-row .amount {
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

html body.woocommerce-cart .pc-options-price-row,
html body.woocommerce-cart .pc-options-price-row .woocommerce-Price-amount,
html body.woocommerce-cart .pc-options-price-row .amount,
html body.woocommerce-cart .pc-options-subtotal-row,
html body.woocommerce-cart .pc-options-subtotal-row .woocommerce-Price-amount,
html body.woocommerce-cart .pc-options-subtotal-row .amount {
    color: var(--wmc-primary, #2563eb) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

html body.woocommerce-cart .pc-total-price-row,
html body.woocommerce-cart .pc-total-price-row .woocommerce-Price-amount,
html body.woocommerce-cart .pc-total-price-row .amount,
html body.woocommerce-cart .pc-total-subtotal-row,
html body.woocommerce-cart .pc-total-subtotal-row .woocommerce-Price-amount,
html body.woocommerce-cart .pc-total-subtotal-row .amount {
    color: inherit !important;
    font-weight: 800 !important;
    font-size: 14px !important;
}

/* ================================================================
   CHECKOUT ORDER REVIEW — PC Configurator price breakdown colors
   ================================================================ */

.woocommerce-checkout .pc-checkout-base-price,
.woocommerce-checkout .pc-checkout-base-price .woocommerce-Price-amount,
.woocommerce-checkout .pc-checkout-base-price .amount {
    color: #64748b !important;
    font-weight: 500 !important;
}

.woocommerce-checkout .pc-checkout-options-price,
.woocommerce-checkout .pc-checkout-options-price .woocommerce-Price-amount,
.woocommerce-checkout .pc-checkout-options-price .amount {
    color: var(--wmc-primary, #2563eb) !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .pc-checkout-item-price,
.woocommerce-checkout .pc-checkout-item-price .woocommerce-Price-amount,
.woocommerce-checkout .pc-checkout-item-price .amount,
.woocommerce-checkout .pc-checkout-total-price,
.woocommerce-checkout .pc-checkout-total-price .woocommerce-Price-amount,
.woocommerce-checkout .pc-checkout-total-price .amount {
    color: inherit !important;
    font-weight: 800 !important;
}

/* ================================================================
   CHECKOUT ORDER REVIEW — Quantity badge "X szt."
   ================================================================ */
.wmc-review-qty-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(var(--wmc-primary-rgb), 0.08);
    color: var(--wmc-primary);
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
    padding: 2px 8px;
    margin-left: 6px;
    vertical-align: middle;
    letter-spacing: 0.02em;
    border: 1px solid rgba(var(--wmc-primary-rgb), 0.18);
    line-height: 1.6;
}

/* ================================================================
   MOBILE-ONLY CHECKOUT OPTIMIZATIONS (<= 767px)
   ================================================================ */
@media (max-width: 767px) {
    /* Reduce container padding on phones to give form inputs maximum width */
    .wmc-checkout-wrapper .wmc-form-column,
    .wmc-checkout-wrapper .wmc-review-column,
    .wmc-checkout-wrapper .wmc-review-sticky {
        padding: 16px 14px !important;
    }

    /* Multi-step mode: Hide order review column in Step 1 on mobile */
    /* Summary will only appear in Step 2 on mobile devices */
    .wmc-checkout-wrapper.step-1 .wmc-review-column {
        display: none !important;
    }

    /* Responsive Checkout Order Review Table — flex/block layout so prices never overflow */
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody,
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead {
        display: none !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr {
        display: block !important;
        width: 100% !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid var(--ast-border-color, #e2e8f0) !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr.cart_item {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        padding: 0 !important;
        border: none !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-total {
        width: 100% !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        padding: 6px 0 0 0 !important;
        border: none !important;
        text-align: right !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot tr {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot th,
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot td {
        display: block !important;
        padding: 0 !important;
        border: none !important;
        width: auto !important;
        white-space: normal !important;
    }

    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr.order-total .amount {
        font-size: 18px !important;
    }

    /* ---- Mobile variation display (dt/dd) in checkout review ---- */
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-name .variation{
        font-size: 11.5px !important;
        margin-top: 6px !important;
        border-left: 2px solid var(--ast-border-color, #e2e8f0) !important;
        padding-left: 8px !important;
        line-height: 1.6 !important;
    }









    /* ---- Mobile pc-mini-configs-inline in checkout review ---- */
    

    

    

/* ================================================================
   PC CONFIGURATOR OPTIONS IN CHECKOUT REVIEW — MOBILE ONLY
   No changes on desktop — all styling inherited from theme.
   ================================================================ */
@media (max-width: 768px) {
    /* Each option on its own line, children flow inline */
    .woocommerce-checkout-review-order-table .pc-cart-config-item {
        display: block !important;
        padding: 2px 0 !important;
        line-height: 1.5 !important;
        font-size: 12px !important;
    }

    /* All children inline so separator stays next to name */
    .woocommerce-checkout-review-order-table .pc-config-name,
    .woocommerce-checkout-review-order-table .pc-config-separator,
    .woocommerce-checkout-review-order-table .pc-config-value,
    .woocommerce-checkout-review-order-table .pc-config-price {
        display: inline !important;
    }

    /* Option label — bold, prominent */
    .woocommerce-checkout-review-order-table .pc-config-name {
        font-weight: 700 !important;
    }

    /* Option value — normal weight, less prominent */
    .woocommerce-checkout-review-order-table .pc-config-value {
        font-weight: 400 !important;
    }

    /* Option price — slight spacing from value */
    .woocommerce-checkout-review-order-table .pc-config-price {
        margin-left: 6px !important;
    }

    /* Prevent checkout review order table from squeezing shipping text by stacking */
    .woocommerce-checkout-review-order-table tr.shipping {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 12px 0 !important;
        width: 100% !important;
        border-bottom: 1px solid var(--ast-border-color, #e2e8f0) !important;
    }

    .woocommerce-checkout-review-order-table tr.shipping th {
        width: 100% !important;
        display: block !important;
        text-align: left !important;
        padding: 0 0 4px 0 !important;
        border-bottom: none !important;
    }

    .woocommerce-checkout-review-order-table tr.shipping td {
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        padding: 0 !important;
        text-align: left !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }

    /* ---- SHIPPING RADIO BUTTONS on checkout page — CSS Grid ---- */
    #shipping_method#shipping_method {
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    #shipping_method#shipping_method li {
        display: grid !important;
        grid-template-columns: 24px 1fr !important;
        gap: 0 8px !important;
        align-items: start !important;
        margin-bottom: 14px !important;
        padding: 0 !important;
        text-indent: 0 !important;
    }

    #shipping_method#shipping_method li input[type="radio"] {
        position: static !important;
        margin: 3px 0 0 0 !important;
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        -webkit-appearance: auto !important;
        appearance: auto !important;
        justify-self: center !important;
    }

    #shipping_method#shipping_method li label {
        display: block !important;
        line-height: 1.5 !important;
        cursor: pointer !important;
        margin: 0 !important;
        padding: 0 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
        text-align: left !important;
    }

    #shipping_method#shipping_method li input[type="radio"]::before,
    #shipping_method#shipping_method li input[type="radio"]::after,
    #shipping_method#shipping_method li label::before,
    #shipping_method#shipping_method li label::after {
        display: none !important;
        content: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    #shipping_method#shipping_method li button,
    #shipping_method#shipping_method li .button,
    #shipping_method#shipping_method li a.button,
    #shipping_method#shipping_method li > *:not(input):not(label) {
        grid-column: 1 / -1 !important;
        display: block !important;
        width: 100% !important;
        margin-top: 8px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}

/* ================================================================
   VAT SUFFIX & CHECKOUT TOTAL TAX DISPLAY
   ================================================================ */

/* Small gray suffix next to item subtotals and cart subtotal */
.wmc-vat-suffix {
    font-size: 0.8em !important;
    color: #9ca3af !important;
    font-weight: normal !important;
    margin-left: 4px !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
}

@media (max-width: 767px) {
    /* Mobile specific alignment for total column since standard mobile table is flex row */
    .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr.order-total {
        flex-wrap: wrap !important;
    }
}
