/* Vast Bijoux Atelier v0.5 – cart and checkout styling.
 * Supports shortcode pages and WooCommerce Cart/Checkout blocks. */
.vbj-checkout-shell{padding-top:58px;padding-bottom:100px}
.vbj-checkout-shell .vbj-page-content{max-width:1140px}
.vbj-commerce-heading{max-width:740px;margin-bottom:34px}
.vbj-commerce-heading .vbj-eyebrow{margin:0 0 12px}
.vbj-commerce-heading .vbj-page-title{margin:0 0 12px;font-size:clamp(40px,4.7vw,66px)}
.vbj-commerce-heading p{margin:0;color:var(--vbj-muted);font-size:15px;line-height:1.85}
.vbj-commerce-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f8f3ec;border:1px solid var(--vbj-line);margin-bottom:37px}
.vbj-commerce-promises>div{display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:center;padding:18px 22px;min-width:0}
.vbj-commerce-promises>div+div{border-left:1px solid var(--vbj-line)}
.vbj-commerce-promises span{grid-row:1/3;color:var(--vbj-gold);font:26px/1 var(--vbj-serif);text-align:center}
.vbj-commerce-promises strong{color:var(--vbj-ink);font-size:12px;line-height:1.5;font-weight:600}
.vbj-commerce-promises small{color:var(--vbj-muted);font-size:11px;line-height:1.6}
.vbj-commerce-content{max-width:100%;min-width:0}
.vbj-commerce-content a.button,.vbj-commerce-content .button,.vbj-commerce-content .wc-block-components-button{text-decoration:none!important}
.vbj-commerce-content .wp-block-woocommerce-cart,.vbj-commerce-content .wp-block-woocommerce-checkout{max-width:100%;margin:0}
.vbj-commerce-content .woocommerce,.vbj-commerce-content .wc-block-cart,.vbj-commerce-content .wc-block-checkout{font-size:14px;line-height:1.6}
.vbj-commerce-content .woocommerce h2,.vbj-commerce-content .woocommerce h3{font:400 30px/1.15 var(--vbj-serif);letter-spacing:-.025em}
.vbj-commerce-content .woocommerce a:not(.button){color:var(--vbj-ink);text-underline-offset:3px}
.vbj-commerce-content .woocommerce .woocommerce-info,
.vbj-commerce-content .woocommerce .woocommerce-message,
.vbj-commerce-content .woocommerce .woocommerce-error{padding:17px 18px 17px 45px!important;line-height:1.6}
/* Classic cart */
.vbj-commerce-content .woocommerce-cart-form{background:#fffdf9;padding:22px;border:1px solid var(--vbj-line)}
.vbj-commerce-content table.shop_table{background:#fffdf9;border-collapse:separate;border-spacing:0}
.vbj-commerce-content table.shop_table th{background:#f8f3ec;color:#6b5b4a;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}
.vbj-commerce-content table.shop_table td{border-color:#ece3d8!important}
.vbj-commerce-content .woocommerce table.shop_table img{width:84px;aspect-ratio:1;object-fit:cover;border:1px solid #eee2d3;background:#f8f2e8}
.vbj-commerce-content .woocommerce a.remove{border:1px solid #dfd0c1;color:#796553!important;font-size:18px!important;line-height:20px!important;width:24px;height:24px}
.vbj-commerce-content .woocommerce a.remove:hover{background:#796553!important;color:white!important}
.vbj-commerce-content .cart-collaterals .cart_totals{background:#faf6ef;border:1px solid var(--vbj-line);padding:26px}
.vbj-commerce-content .cart-collaterals .cart_totals h2{margin:0 0 18px}
.vbj-commerce-content .woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;display:flex;align-items:center;justify-content:center;min-height:54px}
.vbj-commerce-content .woocommerce-cart-form .coupon .input-text{width:165px!important;min-height:45px!important}
/* Classic checkout */
.vbj-commerce-content .woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.vbj-commerce-content .woocommerce-checkout .col2-set>.col-1,
.vbj-commerce-content .woocommerce-checkout .col2-set>.col-2{float:none;width:100%;max-width:100%;background:#fffdf9;border:1px solid var(--vbj-line);padding:24px}
.vbj-commerce-content .woocommerce-checkout .form-row label{display:block;font-size:12px;color:#62564d}
.vbj-commerce-content .woocommerce-checkout .form-row label .required{color:var(--vbj-gold)}
.vbj-commerce-content .woocommerce-checkout .form-row input,
.vbj-commerce-content .woocommerce-checkout .form-row textarea{border:1px solid #dcd0c2!important;background:#fff!important}
.vbj-commerce-content .woocommerce-checkout #order_review_heading{margin:35px 0 16px}
.vbj-commerce-content .woocommerce-checkout #order_review{background:#faf6ef;border:1px solid var(--vbj-line);padding:22px}
.vbj-commerce-content .woocommerce-checkout #payment{background:#fffdf9;border:1px solid var(--vbj-line);border-radius:0}
.vbj-commerce-content .woocommerce-checkout #payment .payment_box{background:#f6efe5;border-radius:0}
.vbj-commerce-content .woocommerce-checkout #payment .payment_box:before{border-bottom-color:#f6efe5}
.vbj-commerce-content .woocommerce-checkout #place_order{float:none;display:block;width:100%;min-height:54px}
.vbj-commerce-content .woocommerce form .form-row{margin-bottom:14px}
/* WooCommerce blocks: style stable published component elements, do not alter block DOM. */
.vbj-commerce-content .wc-block-components-title,.vbj-commerce-content .wc-block-components-checkout-step__title,
.vbj-commerce-content .wc-block-cart__totals-title{font-family:var(--vbj-serif);font-weight:400;color:var(--vbj-ink)}
.vbj-commerce-content .wc-block-components-button:not(.is-link){background:var(--vbj-ink);color:white;border:1px solid var(--vbj-ink);border-radius:0;min-height:54px;letter-spacing:.04em;font-weight:600;text-decoration:none!important}
.vbj-commerce-content .wc-block-components-button:not(.is-link):hover{background:var(--vbj-gold);border-color:var(--vbj-gold);color:white}
.vbj-commerce-content .wc-block-components-text-input input,
.vbj-commerce-content .wc-block-components-combobox-control input,
.vbj-commerce-content .wc-block-components-textarea{border-radius:0!important;border-color:#dcd0c2!important;background:#fff!important}
.vbj-commerce-content .wc-block-components-product-name{text-decoration:none!important;color:var(--vbj-ink);font-family:var(--vbj-serif);font-size:18px}
.vbj-commerce-content .wc-block-components-order-summary-item__quantity{background:#f8f2e8;color:#5b4b3c;border-color:#cdbba6;box-shadow:0 0 0 2px #f8f2e8}
.vbj-commerce-content .wc-block-cart__submit-container{background:#fffefa}
.vbj-commerce-content .wc-block-components-totals-wrapper{border-color:var(--vbj-line)}
/* Order confirmation, classic account pages */
.vbj-commerce-content .woocommerce-order{max-width:960px;margin-inline:auto}
.vbj-commerce-content .woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;list-style:none;padding:16px!important;background:#f8f3ec;border:1px solid var(--vbj-line);margin:22px 0 34px!important}
.vbj-commerce-content .woocommerce-order-overview li{float:none!important;width:auto;line-height:1.65;padding:10px!important;border:0!important;margin:0!important;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.vbj-commerce-content .woocommerce-order-overview li strong{display:block;color:var(--vbj-ink);font-size:15px;text-transform:none;letter-spacing:0}
.vbj-commerce-content .woocommerce-MyAccount-navigation{background:#f8f3ec;border:1px solid var(--vbj-line);padding:18px}
.vbj-commerce-content .woocommerce-MyAccount-content{background:#fffdf9;border:1px solid var(--vbj-line);padding:25px}
@media(max-width:850px){
 .vbj-commerce-promises>div{padding:15px 10px}
 .vbj-commerce-content .woocommerce-checkout .col2-set{grid-template-columns:1fr;gap:16px}
 .vbj-commerce-content .woocommerce-checkout .col2-set>.col-1,.vbj-commerce-content .woocommerce-checkout .col2-set>.col-2{padding:18px}
}
@media(max-width:650px){
 .vbj-checkout-shell{padding-top:36px;padding-bottom:62px}
 .vbj-commerce-heading{margin-bottom:24px}
 .vbj-commerce-heading .vbj-page-title{font-size:41px}
 .vbj-commerce-heading p{font-size:13px}
 .vbj-commerce-promises{grid-template-columns:1fr;margin-bottom:25px}
 .vbj-commerce-promises>div{padding:11px 14px}
 .vbj-commerce-promises>div+div{border-left:0;border-top:1px solid var(--vbj-line)}
 .vbj-commerce-content .woocommerce-cart-form{padding:10px}
 .vbj-commerce-content .woocommerce table.shop_table img{width:65px}
 .vbj-commerce-content .woocommerce-cart-form .coupon .input-text{width:min(42%,150px)!important}
 .vbj-commerce-content .cart-collaterals .cart_totals,.vbj-commerce-content .woocommerce-checkout #order_review{padding:15px}
 .vbj-commerce-content .woocommerce-checkout #payment{padding:0}
 .vbj-commerce-content .woocommerce-order-overview{grid-template-columns:1fr 1fr}
 .vbj-commerce-content .woocommerce-MyAccount-navigation,.vbj-commerce-content .woocommerce-MyAccount-content{padding:15px}
}
