/*
 * Cosmo Pharm V32 commerce system.
 * Robust reset + layout for classic WooCommerce and Woo Blocks.
 */

body.cp-commerce-v32,
body.cp-account-v32{
    --cp32-ink:#173d2d;
    --cp32-ink-2:#28583f;
    --cp32-gold:#b79a58;
    --cp32-paper:#faf8f3;
    --cp32-paper-2:#f4f1ea;
    --cp32-line:#dfe5e1;
    --cp32-text:#555e59;
    --cp32-muted:#7a827e;
    --cp32-red:#ef3129;
    --cp32-red-dark:#cc271f;
    --cp32-white:#fff;
}

/* Keep Astra from constraining commerce content. */
body.cp-commerce-v32 .site-content,
body.cp-commerce-v32 #content,
body.cp-commerce-v32 .ast-container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.cp-commerce-v32 .cp-v32-commerce-page{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:var(--cp32-text);
}

body.cp-commerce-v32 .cp-v32-commerce-shell{
    width:min(calc(100% - 64px),1320px) !important;
    max-width:1320px !important;
    margin:0 auto !important;
    padding:0 !important;
}

body.cp-commerce-v32 .cp-v32-commerce-hero{
    padding:48px 0 42px;
    border-bottom:1px solid var(--cp32-line);
    background:#fff;
}

body.cp-commerce-v32 .cp-v32-commerce-eyebrow{
    margin:0 0 10px;
    color:var(--cp32-gold);
    font:700 12px/1.2 Arial,sans-serif;
    letter-spacing:.19em;
    text-transform:uppercase;
}

body.cp-commerce-v32 .cp-v32-commerce-hero h1{
    max-width:760px;
    margin:0 !important;
    color:var(--cp32-ink) !important;
    font:400 clamp(38px,3.7vw,54px)/1.03 Georgia,"Times New Roman",serif !important;
    letter-spacing:-.028em;
}

body.cp-commerce-v32 .cp-v32-commerce-intro{
    max-width:680px;
    margin:14px 0 0 !important;
    color:#6f7773;
    font:400 16px/1.55 Arial,sans-serif;
}

body.cp-commerce-v32 .cp-v32-commerce-main{
    padding:56px 0 84px;
}

body.cp-commerce-v32 .cp-v32-commerce-content{
    min-width:0;
}

/* Strong reset of old Woo/Astra floats and widths inside our commerce shell. */
body.cp-commerce-v32 .cp-v32-commerce-content .woocommerce,
body.cp-commerce-v32 .cp-v32-commerce-content .woocommerce-page,
body.cp-commerce-v32 .cp-v32-commerce-content form,
body.cp-commerce-v32 .cp-v32-commerce-content table,
body.cp-commerce-v32 .cp-v32-commerce-content .cart-collaterals,
body.cp-commerce-v32 .cp-v32-commerce-content .cart_totals,
body.cp-commerce-v32 .cp-v32-commerce-content #customer_details,
body.cp-commerce-v32 .cp-v32-commerce-content #order_review,
body.cp-commerce-v32 .cp-v32-commerce-content #order_review_heading{
    box-sizing:border-box;
}

/* Notices */
body.cp-commerce-v32 .woocommerce-message,
body.cp-commerce-v32 .woocommerce-info,
body.cp-commerce-v32 .woocommerce-error,
body.cp-account-v32 .woocommerce-message,
body.cp-account-v32 .woocommerce-info,
body.cp-account-v32 .woocommerce-error{
    margin:0 0 24px !important;
    padding:15px 18px 15px 20px !important;
    border:0 !important;
    border-left:3px solid var(--cp32-gold) !important;
    border-radius:0 !important;
    background:var(--cp32-paper) !important;
    color:#424a46 !important;
    box-shadow:none !important;
    font:400 15px/1.5 Arial,sans-serif !important;
}

body.cp-commerce-v32 .woocommerce-message::before,
body.cp-commerce-v32 .woocommerce-info::before,
body.cp-commerce-v32 .woocommerce-error::before,
body.cp-account-v32 .woocommerce-message::before,
body.cp-account-v32 .woocommerce-info::before,
body.cp-account-v32 .woocommerce-error::before{
    display:none !important;
}

/* Forms */
body.cp-commerce-v32 .woocommerce label,
body.cp-account-v32 .woocommerce label{
    color:var(--cp32-ink) !important;
    font:700 13px/1.35 Arial,sans-serif !important;
}

body.cp-commerce-v32 .woocommerce input.input-text,
body.cp-commerce-v32 .woocommerce input[type="text"],
body.cp-commerce-v32 .woocommerce input[type="email"],
body.cp-commerce-v32 .woocommerce input[type="tel"],
body.cp-commerce-v32 .woocommerce textarea,
body.cp-commerce-v32 .woocommerce select,
body.cp-account-v32 .woocommerce input.input-text,
body.cp-account-v32 .woocommerce textarea,
body.cp-account-v32 .woocommerce select{
    min-height:52px;
    padding:12px 14px !important;
    border:1px solid #cfd7d2 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#303834 !important;
    box-shadow:none !important;
    font:400 15px/1.4 Arial,sans-serif !important;
}

body.cp-commerce-v32 .woocommerce textarea,
body.cp-account-v32 .woocommerce textarea{
    min-height:120px;
}

body.cp-commerce-v32 .select2-container--default .select2-selection--single,
body.cp-account-v32 .select2-container--default .select2-selection--single{
    height:52px !important;
    border:1px solid #cfd7d2 !important;
    border-radius:0 !important;
    background:#fff !important;
}

body.cp-commerce-v32 .select2-container--default .select2-selection--single .select2-selection__rendered,
body.cp-account-v32 .select2-container--default .select2-selection--single .select2-selection__rendered{
    padding:10px 40px 10px 14px !important;
    line-height:30px !important;
}

body.cp-commerce-v32 .select2-container--default .select2-selection--single .select2-selection__arrow,
body.cp-account-v32 .select2-container--default .select2-selection--single .select2-selection__arrow{
    height:50px !important;
}

/* Buttons */
body.cp-commerce-v32 .woocommerce a.button,
body.cp-commerce-v32 .woocommerce button.button,
body.cp-commerce-v32 .woocommerce input.button,
body.cp-account-v32 .woocommerce a.button,
body.cp-account-v32 .woocommerce button.button,
body.cp-account-v32 .woocommerce input.button{
    min-height:48px;
    padding:14px 22px !important;
    border:1px solid var(--cp32-ink) !important;
    border-radius:0 !important;
    background:var(--cp32-ink) !important;
    color:#fff !important;
    box-shadow:none !important;
    font:700 13px/1 Arial,sans-serif !important;
    letter-spacing:.025em;
    text-transform:uppercase;
}

body.cp-commerce-v32 .woocommerce a.button:hover,
body.cp-commerce-v32 .woocommerce button.button:hover,
body.cp-commerce-v32 .woocommerce input.button:hover,
body.cp-account-v32 .woocommerce a.button:hover,
body.cp-account-v32 .woocommerce button.button:hover,
body.cp-account-v32 .woocommerce input.button:hover{
    border-color:var(--cp32-gold) !important;
    background:var(--cp32-gold) !important;
    color:var(--cp32-ink) !important;
}

/* =========================================================
   CART, classic WooCommerce
   ========================================================= */
body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce,
body.cp-commerce-v32-cart .cp-v32-commerce-content > div.woocommerce{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:0 54px !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
}

body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce > .woocommerce-notices-wrapper,
body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce > .woocommerce-message,
body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce > .woocommerce-info,
body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce > .woocommerce-error{
    grid-column:1 / -1 !important;
}

body.cp-commerce-v32-cart .woocommerce-cart-form{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    float:none !important;
    margin:0 !important;
}

/* Let cross-sells and totals become independent grid items. */
body.cp-commerce-v32-cart .cart-collaterals{
    display:contents !important;
    width:auto !important;
    float:none !important;
    margin:0 !important;
}

body.cp-commerce-v32-cart .cart_totals{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    float:none !important;
    margin:0 !important;
    padding:28px !important;
    border:1px solid var(--cp32-line) !important;
    background:var(--cp32-paper) !important;
    position:sticky;
    top:24px;
}

body.cp-commerce-v32-cart .cross-sells{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    max-width:none !important;
    float:none !important;
    margin:64px 0 0 !important;
    padding:0 !important;
}

body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table{
    width:100% !important;
    table-layout:fixed !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    border-collapse:collapse !important;
}

body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table thead th{
    padding:0 12px 14px !important;
    border:0 !important;
    border-bottom:1px solid var(--cp32-line) !important;
    background:transparent !important;
    color:#7a817d !important;
    font:700 11px/1.3 Arial,sans-serif !important;
    letter-spacing:.12em;
    text-transform:uppercase;
}

body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table td{
    padding:24px 12px !important;
    border:0 !important;
    border-bottom:1px solid var(--cp32-line) !important;
    background:#fff !important;
    vertical-align:middle !important;
}

body.cp-commerce-v32-cart .woocommerce-cart-form th.product-remove,
body.cp-commerce-v32-cart .woocommerce-cart-form td.product-remove{width:42px !important;padding-left:0 !important;padding-right:6px !important;}
body.cp-commerce-v32-cart .woocommerce-cart-form th.product-thumbnail,
body.cp-commerce-v32-cart .woocommerce-cart-form td.product-thumbnail{width:116px !important;}
body.cp-commerce-v32-cart .woocommerce-cart-form th.product-price,
body.cp-commerce-v32-cart .woocommerce-cart-form td.product-price{width:116px !important;}
body.cp-commerce-v32-cart .woocommerce-cart-form th.product-quantity,
body.cp-commerce-v32-cart .woocommerce-cart-form td.product-quantity{width:146px !important;}
body.cp-commerce-v32-cart .woocommerce-cart-form th.product-subtotal,
body.cp-commerce-v32-cart .woocommerce-cart-form td.product-subtotal{width:120px !important;}

body.cp-commerce-v32-cart td.product-thumbnail img{
    width:92px !important;
    max-width:92px !important;
    height:108px !important;
    object-fit:contain !important;
    background:#f7f7f5 !important;
}

body.cp-commerce-v32-cart td.product-name{
    min-width:0 !important;
}

body.cp-commerce-v32-cart td.product-name a,
body.cp-commerce-v32-cart td.product-name span{
    color:var(--cp32-ink) !important;
    text-decoration:none !important;
    font:400 19px/1.25 Georgia,"Times New Roman",serif !important;
}

body.cp-commerce-v32-cart td.product-price,
body.cp-commerce-v32-cart td.product-subtotal{
    color:var(--cp32-red) !important;
    font:700 15px/1.3 Arial,sans-serif !important;
    white-space:nowrap;
}

body.cp-commerce-v32-cart td.product-remove a.remove{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    border:1px solid #d7ddda !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#8b928e !important;
    font-size:17px !important;
    line-height:1 !important;
}

body.cp-commerce-v32-cart td.product-remove a.remove:hover{
    border-color:var(--cp32-red) !important;
    background:#fff !important;
    color:var(--cp32-red) !important;
}

body.cp-commerce-v32-cart .quantity{
    display:inline-grid !important;
    grid-template-columns:40px 58px 40px !important;
    align-items:stretch !important;
    width:auto !important;
}

body.cp-commerce-v32-cart .quantity .minus,
body.cp-commerce-v32-cart .quantity .plus,
body.cp-commerce-v32-cart .quantity .qty{
    width:auto !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d3dad6 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:var(--cp32-ink) !important;
    text-align:center !important;
    box-shadow:none !important;
}

body.cp-commerce-v32-cart .quantity .plus{border-left:0 !important;}
body.cp-commerce-v32-cart .quantity .qty{border-left:0 !important;}

body.cp-commerce-v32-cart .woocommerce-cart-form .actions{
    padding:22px 0 0 !important;
    border:0 !important;
}

body.cp-commerce-v32-cart .coupon{
    display:flex !important;
    gap:10px !important;
    align-items:stretch !important;
}

body.cp-commerce-v32-cart .coupon #coupon_code{
    width:200px !important;
    min-width:0 !important;
}

body.cp-commerce-v32-cart .cart_totals h2{
    margin:0 0 20px !important;
    color:var(--cp32-ink) !important;
    font:400 29px/1.08 Georgia,"Times New Roman",serif !important;
}

body.cp-commerce-v32-cart .cart_totals table.shop_table{
    width:100% !important;
    margin:0 0 22px !important;
    border:0 !important;
    border-collapse:collapse !important;
    table-layout:auto !important;
}

body.cp-commerce-v32-cart .cart_totals table.shop_table th,
body.cp-commerce-v32-cart .cart_totals table.shop_table td{
    padding:14px 0 !important;
    border:0 !important;
    border-bottom:1px solid #d8dfda !important;
    background:transparent !important;
    color:#4b534f !important;
    vertical-align:top !important;
}

body.cp-commerce-v32-cart .cart_totals table.shop_table th{
    width:34% !important;
    padding-right:16px !important;
    color:var(--cp32-ink) !important;
    font:700 13px/1.4 Arial,sans-serif !important;
}

body.cp-commerce-v32-cart .cart_totals table.shop_table td{
    text-align:right !important;
    font:400 14px/1.5 Arial,sans-serif !important;
}

body.cp-commerce-v32-cart .cart_totals .order-total th,
body.cp-commerce-v32-cart .cart_totals .order-total td,
body.cp-commerce-v32-cart .cart_totals .order-total .amount{
    color:var(--cp32-red) !important;
    font-weight:700 !important;
}

body.cp-commerce-v32-cart .wc-proceed-to-checkout{
    padding:0 !important;
}

body.cp-commerce-v32-cart .wc-proceed-to-checkout a.checkout-button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:56px !important;
    margin:0 !important;
    border-color:var(--cp32-red) !important;
    background:var(--cp32-red) !important;
    color:#fff !important;
    font-size:14px !important;
}

body.cp-commerce-v32-cart .wc-proceed-to-checkout a.checkout-button:hover{
    border-color:var(--cp32-red-dark) !important;
    background:var(--cp32-red-dark) !important;
    color:#fff !important;
}

/* Cross-sells, deliberately compact and finite. */
body.cp-commerce-v32-cart .cross-sells > h2{
    margin:0 0 26px !important;
    color:var(--cp32-ink) !important;
    font:400 31px/1.1 Georgia,"Times New Roman",serif !important;
}

body.cp-commerce-v32-cart .cross-sells ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:22px !important;
    margin:0 !important;
    padding:0 !important;
}

body.cp-commerce-v32-cart .cross-sells ul.products::before,
body.cp-commerce-v32-cart .cross-sells ul.products::after{display:none !important;}

body.cp-commerce-v32-cart .cross-sells ul.products li.product{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    float:none !important;
    margin:0 !important;
    padding:0 0 18px !important;
    border:0 !important;
    border-bottom:1px solid var(--cp32-line) !important;
    background:#fff !important;
}

body.cp-commerce-v32-cart .cross-sells ul.products li.product a img{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    margin:0 0 16px !important;
    padding:18px !important;
    object-fit:contain !important;
    background:#f7f7f5 !important;
}

body.cp-commerce-v32-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
body.cp-commerce-v32-cart .cross-sells ul.products li.product h2,
body.cp-commerce-v32-cart .cross-sells ul.products li.product h3{
    min-height:48px;
    margin:0 0 10px !important;
    padding:0 !important;
    color:var(--cp32-ink) !important;
    font:400 18px/1.25 Georgia,"Times New Roman",serif !important;
}

body.cp-commerce-v32-cart .cross-sells ul.products li.product .price{
    margin:auto 0 14px !important;
    color:var(--cp32-red) !important;
    font:700 15px/1.25 Arial,sans-serif !important;
}

body.cp-commerce-v32-cart .cross-sells ul.products li.product .button{
    align-self:flex-start !important;
    min-height:44px !important;
    padding:13px 18px !important;
    border-color:var(--cp32-red) !important;
    background:var(--cp32-red) !important;
    color:#fff !important;
}

/* Woo Blocks cart */
body.cp-commerce-v32-cart .wc-block-cart{
    margin:0 !important;
}
body.cp-commerce-v32-cart .wc-block-components-sidebar{
    padding:28px !important;
    border:1px solid var(--cp32-line) !important;
    background:var(--cp32-paper) !important;
}
body.cp-commerce-v32-cart .wc-block-components-product-name{
    color:var(--cp32-ink) !important;
    font:400 19px/1.25 Georgia,"Times New Roman",serif !important;
}
body.cp-commerce-v32-cart .wc-block-cart__submit-button{
    min-height:56px !important;
    border-radius:0 !important;
    background:var(--cp32-red) !important;
    color:#fff !important;
    font:700 14px/1 Arial,sans-serif !important;
    text-transform:uppercase !important;
}

/* =========================================================
   CHECKOUT, classic WooCommerce
   ========================================================= */
body.cp-commerce-v32-checkout .cp-v32-commerce-content > .woocommerce{
    width:100% !important;
    max-width:none !important;
}

body.cp-commerce-v32-checkout form.checkout.woocommerce-checkout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 430px !important;
    grid-template-areas:
        "customer review-title"
        "customer review" !important;
    gap:0 58px !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

body.cp-commerce-v32-checkout #customer_details{
    grid-area:customer !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    float:none !important;
    margin:0 !important;
}

body.cp-commerce-v32-checkout #customer_details .col-1,
body.cp-commerce-v32-checkout #customer_details .col-2{
    width:100% !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.cp-commerce-v32-checkout #customer_details .col-2{
    margin-top:38px !important;
}

body.cp-commerce-v32-checkout #order_review_heading{
    grid-area:review-title !important;
    align-self:end !important;
    width:100% !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    margin:0 0 18px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--cp32-ink) !important;
    font:400 30px/1.08 Georgia,"Times New Roman",serif !important;
    letter-spacing:-.018em !important;
}

body.cp-commerce-v32-checkout #order_review{
    grid-area:review !important;
    position:sticky !important;
    top:24px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:26px 28px 28px !important;
    border:1px solid var(--cp32-line) !important;
    background:var(--cp32-paper) !important;
}

body.cp-commerce-v32-checkout .woocommerce-billing-fields > h3,
body.cp-commerce-v32-checkout .woocommerce-shipping-fields h3,
body.cp-commerce-v32-checkout .woocommerce-additional-fields > h3{
    margin:0 0 24px !important;
    color:var(--cp32-ink) !important;
    font:400 30px/1.08 Georgia,"Times New Roman",serif !important;
    letter-spacing:-.018em !important;
}

/* Stable two-column field rhythm on desktop. */
body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper,
body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper,
body.cp-commerce-v32-checkout .woocommerce-additional-fields__field-wrapper{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px 20px !important;
}

body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
body.cp-commerce-v32-checkout .woocommerce-additional-fields__field-wrapper > .form-row{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
}

body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first{
    grid-column:1 !important;
}
body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last{
    grid-column:2 !important;
}

body.cp-commerce-v32-checkout #order_review table.shop_table{
    width:100% !important;
    table-layout:auto !important;
    margin:0 0 22px !important;
    border:0 !important;
    border-radius:0 !important;
    border-collapse:collapse !important;
    background:transparent !important;
}

body.cp-commerce-v32-checkout #order_review table.shop_table th,
body.cp-commerce-v32-checkout #order_review table.shop_table td{
    padding:13px 0 !important;
    border:0 !important;
    border-bottom:1px solid #d7dfda !important;
    background:transparent !important;
    color:#4b534f !important;
    vertical-align:top !important;
    font:400 14px/1.45 Arial,sans-serif !important;
}

body.cp-commerce-v32-checkout #order_review table.shop_table th{
    color:var(--cp32-ink) !important;
    font-weight:700 !important;
}

body.cp-commerce-v32-checkout #order_review table.shop_table th.product-name,
body.cp-commerce-v32-checkout #order_review table.shop_table td.product-name{
    width:68% !important;
    padding-right:18px !important;
}
body.cp-commerce-v32-checkout #order_review table.shop_table th.product-total,
body.cp-commerce-v32-checkout #order_review table.shop_table td.product-total{
    width:32% !important;
    text-align:right !important;
    white-space:nowrap !important;
}

body.cp-commerce-v32-checkout #order_review .product-name a{
    color:var(--cp32-ink) !important;
    text-decoration:none !important;
}

body.cp-commerce-v32-checkout #order_review .order-total th,
body.cp-commerce-v32-checkout #order_review .order-total td,
body.cp-commerce-v32-checkout #order_review .order-total .amount{
    color:var(--cp32-red) !important;
    font-weight:700 !important;
}

body.cp-commerce-v32-checkout #payment{
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
}

body.cp-commerce-v32-checkout #payment ul.payment_methods{
    margin:0 !important;
    padding:0 0 18px !important;
    border:0 !important;
    border-bottom:1px solid #d7dfda !important;
    list-style:none !important;
}

body.cp-commerce-v32-checkout #payment ul.payment_methods > li{
    margin:0 !important;
    padding:12px 0 !important;
    border:0 !important;
    color:var(--cp32-ink) !important;
    font:700 14px/1.5 Arial,sans-serif !important;
}

body.cp-commerce-v32-checkout #payment div.payment_box{
    width:100% !important;
    max-width:none !important;
    margin:12px 0 0 !important;
    padding:15px 16px !important;
    border:1px solid #e1e5e2 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#555d59 !important;
    font:400 14px/1.55 Arial,sans-serif !important;
}
body.cp-commerce-v32-checkout #payment div.payment_box::before{display:none !important;}

body.cp-commerce-v32-checkout #payment .place-order{
    width:100% !important;
    margin:0 !important;
    padding:22px 0 0 !important;
    color:#4d5551 !important;
    font:400 13px/1.65 Arial,sans-serif !important;
}

body.cp-commerce-v32-checkout #payment .woocommerce-privacy-policy-text,
body.cp-commerce-v32-checkout #payment .woocommerce-terms-and-conditions-wrapper{
    width:100% !important;
    max-width:none !important;
    color:#59615d !important;
    font:400 13px/1.6 Arial,sans-serif !important;
}

body.cp-commerce-v32-checkout #payment .validate-required{
    display:block !important;
    width:100% !important;
    margin:14px 0 0 !important;
}

body.cp-commerce-v32-checkout #place_order{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:56px !important;
    margin:18px 0 0 !important;
    border-color:var(--cp32-red) !important;
    background:var(--cp32-red) !important;
    color:#fff !important;
    font-size:14px !important;
}
body.cp-commerce-v32-checkout #place_order:hover{
    border-color:var(--cp32-red-dark) !important;
    background:var(--cp32-red-dark) !important;
    color:#fff !important;
}

body.cp-commerce-v32-checkout .woocommerce-form-coupon-toggle,
body.cp-commerce-v32-checkout .woocommerce-form-login-toggle{
    margin:0 0 26px !important;
}

body.cp-commerce-v32-checkout form.checkout_coupon,
body.cp-commerce-v32-checkout form.login{
    margin:0 0 34px !important;
    padding:22px !important;
    border:1px solid var(--cp32-line) !important;
    border-radius:0 !important;
    background:var(--cp32-paper) !important;
}

/* Woo Blocks checkout */
body.cp-commerce-v32-checkout .wc-block-checkout{margin:0 !important;}
body.cp-commerce-v32-checkout .wc-block-checkout__main{padding-right:48px !important;}
body.cp-commerce-v32-checkout .wc-block-checkout__sidebar{
    padding:28px !important;
    border:1px solid var(--cp32-line) !important;
    background:var(--cp32-paper) !important;
}
body.cp-commerce-v32-checkout .wc-block-components-title,
body.cp-commerce-v32-checkout .wc-block-components-checkout-step__title{
    color:var(--cp32-ink) !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-weight:400 !important;
}
body.cp-commerce-v32-checkout .wc-block-components-button.wc-block-components-checkout-place-order-button{
    min-height:56px !important;
    border:1px solid var(--cp32-red) !important;
    border-radius:0 !important;
    background:var(--cp32-red) !important;
    color:#fff !important;
    font:700 14px/1 Arial,sans-serif !important;
    text-transform:uppercase !important;
}

/* =========================================================
   ORDER RECEIVED / ORDER PAY
   ========================================================= */
body.cp-commerce-v32-order-received .cp-v32-commerce-content > .woocommerce,
body.cp-commerce-v32-order-pay .cp-v32-commerce-content > .woocommerce{
    width:100% !important;
    max-width:1040px !important;
    margin:0 auto !important;
}

body.cp-commerce-v32-order-received .woocommerce-order,
body.cp-commerce-v32-order-pay .woocommerce{
    width:100% !important;
    max-width:none !important;
}

body.cp-commerce-v32-order-received .woocommerce-thankyou-order-received,
body.cp-commerce-v32-order-received .woocommerce-notice--success{
    margin:0 0 28px !important;
    padding:20px 22px !important;
    border-left:3px solid var(--cp32-gold) !important;
    background:var(--cp32-paper) !important;
    color:var(--cp32-ink) !important;
    font:400 22px/1.35 Georgia,"Times New Roman",serif !important;
}

body.cp-commerce-v32-order-received ul.woocommerce-order-overview{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    width:100% !important;
    margin:0 0 46px !important;
    padding:0 !important;
    border:1px solid var(--cp32-line) !important;
    list-style:none !important;
}

body.cp-commerce-v32-order-received ul.woocommerce-order-overview li{
    min-width:0 !important;
    margin:0 !important;
    padding:18px !important;
    border:0 !important;
    border-right:1px solid var(--cp32-line) !important;
    color:#737b77 !important;
    font:700 10px/1.45 Arial,sans-serif !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}
body.cp-commerce-v32-order-received ul.woocommerce-order-overview li:last-child{border-right:0 !important;}
body.cp-commerce-v32-order-received ul.woocommerce-order-overview strong{
    display:block !important;
    margin-top:7px !important;
    color:var(--cp32-ink) !important;
    font:700 15px/1.35 Arial,sans-serif !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    overflow-wrap:anywhere;
}

body.cp-commerce-v32-order-received .woocommerce-order-details,
body.cp-commerce-v32-order-received .woocommerce-customer-details,
body.cp-commerce-v32-order-received .wc-bacs-bank-details{
    margin:46px 0 0 !important;
}

body.cp-commerce-v32-order-received .woocommerce-order-details__title,
body.cp-commerce-v32-order-received .woocommerce-column__title,
body.cp-commerce-v32-order-received .wc-bacs-bank-details-heading,
body.cp-commerce-v32-order-pay h2,
body.cp-commerce-v32-order-pay h3{
    margin:0 0 20px !important;
    color:var(--cp32-ink) !important;
    font:400 30px/1.1 Georgia,"Times New Roman",serif !important;
}

body.cp-commerce-v32-order-received table.shop_table,
body.cp-commerce-v32-order-pay table.shop_table{
    width:100% !important;
    margin:0 !important;
    border:1px solid var(--cp32-line) !important;
    border-radius:0 !important;
    border-collapse:collapse !important;
}

body.cp-commerce-v32-order-received table.shop_table th,
body.cp-commerce-v32-order-received table.shop_table td,
body.cp-commerce-v32-order-pay table.shop_table th,
body.cp-commerce-v32-order-pay table.shop_table td{
    padding:15px 17px !important;
    border-color:var(--cp32-line) !important;
    background:#fff !important;
    color:#4e5752 !important;
    font:400 14px/1.5 Arial,sans-serif !important;
}
body.cp-commerce-v32-order-received table.shop_table th,
body.cp-commerce-v32-order-pay table.shop_table th{
    background:var(--cp32-paper) !important;
    color:var(--cp32-ink) !important;
    font-weight:700 !important;
}

body.cp-commerce-v32-order-received .woocommerce-columns--addresses{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px !important;
    width:100% !important;
}

body.cp-commerce-v32-order-received .woocommerce-column{
    width:100% !important;
    float:none !important;
    margin:0 !important;
    padding:24px !important;
    border:1px solid var(--cp32-line) !important;
    background:#fff !important;
}

body.cp-commerce-v32-order-received address{
    margin:0 !important;
    color:#56605b !important;
    font:400 14px/1.7 Arial,sans-serif !important;
}

body.cp-commerce-v32-order-received .cp-v32-thankyou-actions{
    margin:40px 0 0 !important;
}
body.cp-commerce-v32-order-received .cp-v32-continue-shopping{
    border-color:var(--cp32-ink) !important;
    background:var(--cp32-ink) !important;
    color:#fff !important;
}

/* =========================================================
   MY ACCOUNT, preserve V30 shell but use one coherent Woo nav
   ========================================================= */
body.cp-account-v32.cp-support-v30-account .cp-v30-support-aside,
body.cp-account-v32.cp-support-v30-account .cp-v30-support-mobile-menu{
    display:none !important;
}
body.cp-account-v32.cp-support-v30-account .cp-v30-support-layout{display:block !important;}
body.cp-account-v32.cp-support-v30-account .cp-v30-support-content,
body.cp-account-v32.cp-support-v30-account .cp-v30-account-panel{width:100% !important;max-width:none !important;}

body.cp-account-v32 .woocommerce-account .woocommerce{
    display:grid !important;
    grid-template-columns:240px minmax(0,1fr) !important;
    gap:52px !important;
    align-items:start !important;
}
body.cp-account-v32 .woocommerce-MyAccount-navigation{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}
body.cp-account-v32 .woocommerce-MyAccount-navigation ul{
    margin:0 !important;
    padding:0 !important;
    border-top:1px solid var(--cp32-line) !important;
    list-style:none !important;
}
body.cp-account-v32 .woocommerce-MyAccount-navigation li{
    margin:0 !important;
    padding:0 !important;
    border-bottom:1px solid var(--cp32-line) !important;
}
body.cp-account-v32 .woocommerce-MyAccount-navigation a{
    display:flex !important;
    align-items:center !important;
    min-height:52px !important;
    padding:13px 12px !important;
    color:var(--cp32-ink) !important;
    text-decoration:none !important;
    font:600 14px/1.35 Arial,sans-serif !important;
}
body.cp-account-v32 .woocommerce-MyAccount-navigation .is-active a{
    padding-left:16px !important;
    border-left:3px solid var(--cp32-gold) !important;
    background:#f7f1e4 !important;
}
body.cp-account-v32 .woocommerce-MyAccount-content{
    width:100% !important;
    min-width:0 !important;
    float:none !important;
    color:var(--cp32-text) !important;
    font:400 15px/1.7 Arial,sans-serif !important;
}
body.cp-account-v32 .woocommerce-MyAccount-content h2,
body.cp-account-v32 .woocommerce-MyAccount-content h3{
    color:var(--cp32-ink) !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-weight:400 !important;
}
body.cp-account-v32 .woocommerce-MyAccount-content table.shop_table{
    width:100% !important;
    border:1px solid var(--cp32-line) !important;
    border-radius:0 !important;
    border-collapse:collapse !important;
}
body.cp-account-v32 .woocommerce-MyAccount-content table.shop_table th,
body.cp-account-v32 .woocommerce-MyAccount-content table.shop_table td{
    padding:14px 16px !important;
    border-color:var(--cp32-line) !important;
}
body.cp-account-v32 .woocommerce-MyAccount-content table.shop_table th{
    color:var(--cp32-ink) !important;
    background:var(--cp32-paper) !important;
    font-size:13px !important;
}

body.cp-account-v32 .woocommerce > .u-columns.col2-set,
body.cp-account-v32 #customer_login{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:34px !important;
}
body.cp-account-v32 .woocommerce > .u-columns.col2-set > .col-1,
body.cp-account-v32 .woocommerce > .u-columns.col2-set > .col-2,
body.cp-account-v32 #customer_login > .col-1,
body.cp-account-v32 #customer_login > .col-2{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}
body.cp-account-v32 .woocommerce-form-login,
body.cp-account-v32 .woocommerce-form-register{
    height:100% !important;
    margin:0 !important;
    padding:28px !important;
    border:1px solid var(--cp32-line) !important;
    border-radius:0 !important;
    background:#fff !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1100px){
    body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce,
    body.cp-commerce-v32-cart .cp-v32-commerce-content > div.woocommerce{
        grid-template-columns:minmax(0,1fr) 350px !important;
        gap:0 36px !important;
    }

    body.cp-commerce-v32-checkout form.checkout.woocommerce-checkout{
        grid-template-columns:minmax(0,1fr) 380px !important;
        gap:0 38px !important;
    }
}

@media (max-width:860px){
    body.cp-commerce-v32-cart .cp-v32-commerce-content > .woocommerce,
    body.cp-commerce-v32-cart .cp-v32-commerce-content > div.woocommerce{
        display:block !important;
    }
    body.cp-commerce-v32-cart .cart-collaterals{display:block !important;}
    body.cp-commerce-v32-cart .cart_totals{
        position:static !important;
        margin-top:36px !important;
    }
    body.cp-commerce-v32-cart .cross-sells{
        margin-top:52px !important;
    }

    body.cp-commerce-v32-checkout form.checkout.woocommerce-checkout{
        display:block !important;
    }
    body.cp-commerce-v32-checkout #order_review_heading{
        margin-top:46px !important;
    }
    body.cp-commerce-v32-checkout #order_review{
        position:static !important;
    }
}

@media (max-width:767px){
    body.cp-commerce-v32 .cp-v32-commerce-shell{
        width:calc(100% - 36px) !important;
    }
    body.cp-commerce-v32 .cp-v32-commerce-hero{
        padding:38px 0 34px !important;
    }
    body.cp-commerce-v32 .cp-v32-commerce-hero h1{
        font-size:36px !important;
    }
    body.cp-commerce-v32 .cp-v32-commerce-intro{
        font-size:15px !important;
    }
    body.cp-commerce-v32 .cp-v32-commerce-main{
        padding:40px 0 62px !important;
    }

    /* Cart items become compact cards. */
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table,
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table tbody,
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table tr,
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table td{
        display:block !important;
        width:100% !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table thead{display:none !important;}
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table tr.cart_item{
        position:relative !important;
        display:grid !important;
        grid-template-columns:104px minmax(0,1fr) !important;
        gap:0 16px !important;
        padding:22px 0 !important;
        border-bottom:1px solid var(--cp32-line) !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form table.shop_table td{
        padding:4px 0 !important;
        border:0 !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-thumbnail{
        grid-column:1 !important;
        grid-row:1 / span 5 !important;
        padding:0 !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-thumbnail img{
        width:96px !important;
        max-width:96px !important;
        height:118px !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-name,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-price,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-quantity,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-subtotal{
        grid-column:2 !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-name::before,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-price::before,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-quantity::before,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-subtotal::before{display:none !important;}
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-remove{
        position:absolute !important;
        top:20px !important;
        right:0 !important;
        width:auto !important;
    }
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-name a,
    body.cp-commerce-v32-cart .woocommerce-cart-form td.product-name span{
        padding-right:34px !important;
        font-size:18px !important;
    }
    body.cp-commerce-v32-cart .coupon{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        gap:8px !important;
    }
    body.cp-commerce-v32-cart .coupon #coupon_code{width:100% !important;}
    body.cp-commerce-v32-cart .cart_totals{padding:22px !important;}
    body.cp-commerce-v32-cart .cross-sells ul.products{
        grid-template-columns:1fr !important;
        gap:24px !important;
    }
    body.cp-commerce-v32-cart .cross-sells ul.products li.product{
        display:grid !important;
        grid-template-columns:112px minmax(0,1fr) !important;
        gap:0 16px !important;
        align-items:start !important;
    }
    body.cp-commerce-v32-cart .cross-sells ul.products li.product a:first-child{
        grid-column:1 !important;
        grid-row:1 / span 4 !important;
    }
    body.cp-commerce-v32-cart .cross-sells ul.products li.product a img{
        width:112px !important;
        padding:10px !important;
        margin:0 !important;
    }
    body.cp-commerce-v32-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
    body.cp-commerce-v32-cart .cross-sells ul.products li.product h2,
    body.cp-commerce-v32-cart .cross-sells ul.products li.product h3{
        min-height:0 !important;
        font-size:17px !important;
    }

    /* Checkout becomes one clear vertical path. */
    body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper,
    body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper,
    body.cp-commerce-v32-checkout .woocommerce-additional-fields__field-wrapper{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }
    body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
    body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
    body.cp-commerce-v32-checkout .woocommerce-additional-fields__field-wrapper > .form-row,
    body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
    body.cp-commerce-v32-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
    body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
    body.cp-commerce-v32-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last{
        grid-column:1 !important;
    }
    body.cp-commerce-v32-checkout #order_review_heading,
    body.cp-commerce-v32-checkout .woocommerce-billing-fields > h3,
    body.cp-commerce-v32-checkout .woocommerce-shipping-fields h3,
    body.cp-commerce-v32-checkout .woocommerce-additional-fields > h3{
        font-size:27px !important;
    }
    body.cp-commerce-v32-checkout #order_review{
        padding:22px 18px !important;
    }
    body.cp-commerce-v32-checkout #order_review table.shop_table th.product-name,
    body.cp-commerce-v32-checkout #order_review table.shop_table td.product-name{
        width:64% !important;
        padding-right:12px !important;
    }
    body.cp-commerce-v32-checkout #order_review table.shop_table th.product-total,
    body.cp-commerce-v32-checkout #order_review table.shop_table td.product-total{
        width:36% !important;
    }
    body.cp-commerce-v32-checkout .wc-block-checkout__main{padding-right:0 !important;}
    body.cp-commerce-v32-checkout .wc-block-checkout__sidebar{
        margin-top:28px !important;
        padding:22px !important;
    }

    /* Order confirmation. */
    body.cp-commerce-v32-order-received ul.woocommerce-order-overview{
        grid-template-columns:1fr 1fr !important;
    }
    body.cp-commerce-v32-order-received ul.woocommerce-order-overview li{
        border-bottom:1px solid var(--cp32-line) !important;
    }
    body.cp-commerce-v32-order-received ul.woocommerce-order-overview li:nth-child(2n){border-right:0 !important;}
    body.cp-commerce-v32-order-received .woocommerce-columns--addresses{
        grid-template-columns:1fr !important;
    }

    /* Account */
    body.cp-account-v32 .woocommerce-account .woocommerce{display:block !important;}
    body.cp-account-v32 .woocommerce-MyAccount-navigation{margin:0 0 30px !important;}
    body.cp-account-v32 .woocommerce > .u-columns.col2-set,
    body.cp-account-v32 #customer_login{grid-template-columns:1fr !important;}
}

@media (max-width:430px){
    body.cp-commerce-v32-order-received ul.woocommerce-order-overview{
        grid-template-columns:1fr !important;
    }
    body.cp-commerce-v32-order-received ul.woocommerce-order-overview li{
        border-right:0 !important;
    }
    body.cp-commerce-v32-cart .quantity{
        grid-template-columns:36px 50px 36px !important;
    }
}
