/* M2: tokens from design/system/tokens.json. */
.woocommerce .lp-personalization {
    width: 100%;
    max-width: 360px;
    margin-top: 16px;
    margin-bottom: 16px;
}
.woocommerce .lp-personalization label {
    display: block;
    margin-bottom: 8px;
}
.woocommerce .lp-personalization input {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
}
.woocommerce .lp-personalization input:focus-visible {
    outline: 2px solid #C2255C;
    outline-offset: 2px;
}
.woocommerce .lp-personalization [data-lp-char-count] {
    display: block;
    text-align: right;
    color: #5B4A6E;
    font-size: 14px;
}
.woocommerce-cart .woocommerce a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
}
.woocommerce .quantity .qty {
    min-height: 44px;
}
.woocommerce table.shop_table_responsive .lp-tax-row td::before {
    content: none;
    display: none;
}
.woocommerce form .form-row .checkout-inline-error-message {
    font-size: 14px;
}

.woocommerce [data-lp-quote-required] {
    display: block;
    background: #FFFFFF;
    border: 2px solid #C0262D;
    border-left-width: 6px;
    border-radius: 8px;
    padding: 12px 16px;
    color: var(--lp-color-ink);
    font-size: 16px;
    font-weight: 600;
}
.woocommerce [data-lp-quote-required]::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    vertical-align: middle;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23C0262D'/%3E%3Cpath d='M12 5v9' stroke='%23FFFFFF' stroke-width='2'/%3E%3Ccircle cx='12' cy='18' r='1.2' fill='%23FFFFFF'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce button#place_order:disabled,
.woocommerce button#place_order:disabled:hover {
    background: #EADFCB;
    color: #5B4A6E;
    cursor: not-allowed;
    opacity: 1;
}

.woocommerce .woocommerce-thankyou-order-received {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #1F7A50;
    font-size: 20px;
    font-weight: 700;
}
.woocommerce .woocommerce-thankyou-order-received::before {
    content: "";
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%232E9E6B'/%3E%3Cpath d='m8 16 5 5 11-11' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Outrank WooCommerce's .woocommerce ul.order_details li strong. */
.woocommerce ul.order_details li.woocommerce-order-overview__order strong {
    font-size: 28px;
}
.woocommerce a.button.lp-continue,
.woocommerce a.button.lp-continue:hover {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    background: #FFE3EC;
    color: #C2255C;
}
/* Hello reset paints odd cells with translucent gray over the cream page. */
body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-cart .woocommerce table.shop_table tbody>tr>td,
body.woocommerce-cart .woocommerce table.shop_table tbody>tr>th,
body.woocommerce-cart .woocommerce table.shop_table tbody>tr:nth-child(odd)>td,
body.woocommerce-cart .woocommerce table.shop_table tbody>tr:nth-child(odd)>th { background:var(--lp-color-white); }

body.woocommerce-cart .woocommerce .cart_totals {
    background:var(--lp-color-white);
    border-radius:var(--lp-radius-sm);
    padding:16px;
    box-sizing:border-box;
}
body.woocommerce-cart .woocommerce .cart_totals > h2,
body.woocommerce-cart .woocommerce .cart_totals > .wc-proceed-to-checkout { background:transparent; }
/* Outrank woo.css body .woocommerce table.shop_table and Woo cart cell borders. */
body.woocommerce-cart .woocommerce .cart_totals table.shop_table {
    border:0;
    border-radius:0;
    box-shadow:none;
}
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tbody > tr:first-child > th,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tbody > tr:first-child > td { border-top:0; }
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tbody > tr + tr > th,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tbody > tr + tr > td { border-top:1px solid var(--lp-color-line); }
@media (min-width:768px) {
    /* Outrank Woo .woocommerce .col2-set .col-1/.col-2, preserving DOM order. */
    body.woocommerce-checkout form.checkout .col2-set .col-1,
    body.woocommerce-checkout form.checkout .col2-set .col-2 { float:none; width:100%; }
}
