/* Cart and checkout: isolated from the catalogue/product rules to keep the theme small. */
.woocommerce-cart .tx-commerce,
.woocommerce-checkout .tx-commerce,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area{
  background:linear-gradient(180deg,#fff4f7 0,#fffafc 55%,#fff 100%);
  padding:clamp(24px,4vw,58px) 0 70px;
}
.woocommerce-cart .tx-commerce>.wrap,
.woocommerce-checkout .tx-commerce>.wrap,
.woocommerce-cart .content-area>.wrap,
.woocommerce-checkout .content-area>.wrap{
  max-width:1180px;
  padding:clamp(22px,4vw,50px);
  border:1px solid rgba(60,34,95,.07);
  border-radius:32px;
  box-shadow:0 28px 70px -52px rgba(60,34,95,.55);
}
.woocommerce-cart .content-area article,
.woocommerce-checkout .content-area article{max-width:1180px}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .tx-commerce h1,
.woocommerce-checkout .tx-commerce h1{
  margin:0 0 28px;
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.08;
  color:#3c225f;
}

/* Classic WooCommerce cart. */
.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
  padding:clamp(18px,2.5vw,30px);
  border:1px solid #eadbea;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 40px -34px rgba(60,34,95,.55);
}
.woocommerce-cart .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);
  gap:28px;
  align-items:start;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .return-to-shop,
.woocommerce-cart .cart-empty{
  grid-column:1/-1;
}
.woocommerce-cart .cart-collaterals{width:auto}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:auto}
.woocommerce table.shop_table{border-collapse:separate;border-spacing:0}
.woocommerce table.shop_table th{color:#3c225f;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.woocommerce-cart table.cart img{width:82px;border-radius:16px;background:#f5edff}
.woocommerce-cart table.cart td.product-name a{color:#3c225f;font-weight:700;text-decoration:none}
.woocommerce-cart table.cart .quantity .qty{min-height:44px;border:1px solid #ddcfdf;border-radius:12px}
.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:auto;min-width:180px;min-height:44px;border:1px solid #ddcfdf;border-radius:999px;padding:0 16px}
.woocommerce-cart .cart_totals h2{font-size:1.25rem}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{margin:12px 0 0;padding:16px 22px;background:linear-gradient(90deg,#e1668d,#d34f7a);box-shadow:0 14px 25px -16px rgba(211,79,122,.85)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:linear-gradient(90deg,#3c225f,#5b347c)}

/* Classic WooCommerce checkout, including Vietnam Checkout fields. */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  gap:28px;
  align-items:start;
}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 3}
.woocommerce-checkout #order_review_heading{grid-column:2;margin:0;padding:0 6px;font-size:1.35rem}
.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout .col2-set{width:100%}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{float:none;width:100%}
.woocommerce-checkout .col2-set .col-2{margin-top:26px;padding-top:20px;border-top:1px dashed #e0cfdf}
.woocommerce-checkout h3{color:#3c225f}
.woocommerce form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label{margin:0 0 7px;color:#604d6d;font-size:.87rem;font-weight:700}
.woocommerce form .form-row .required{color:#d34f7a}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  min-height:50px;
  border:1px solid #ddcfdf;
  border-radius:14px;
  background:#fff;
  color:#3c225f;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea{padding:13px 15px}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{padding:10px 38px 10px 15px;line-height:28px;color:#3c225f}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{top:12px;right:10px}
.woocommerce-checkout-review-order-table .product-name{color:#3c225f;font-weight:700}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{padding:14px 8px!important}
.woocommerce-checkout #payment{border-radius:20px;background:#fff4f7}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:#eadbea}
.woocommerce-checkout #payment div.payment_box{border-radius:14px;background:#fff}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce-checkout #place_order{width:100%;min-height:54px;background:linear-gradient(90deg,#e1668d,#d34f7a);font-size:1rem;box-shadow:0 14px 25px -16px rgba(211,79,122,.85)}
.woocommerce-checkout #place_order:hover{background:linear-gradient(90deg,#3c225f,#5b347c)}

/* WooCommerce Blocks fallback, so the pages stay polished before/after migration. */
.wc-block-cart,
.wc-block-checkout{color:#3c225f}
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar{box-sizing:border-box}
.wc-block-cart__main,
.wc-block-checkout__main{padding-right:clamp(18px,3vw,42px)!important}
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar .wc-block-components-sidebar-layout__sidebar{
  padding:22px!important;
  border:1px solid #eadbea;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 40px -34px rgba(60,34,95,.55);
}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-blocks-components-select .wc-blocks-components-select__select{
  border-color:#cdbfd1!important;
  border-radius:14px!important;
  color:#3c225f!important;
}
.wc-block-components-button:not(.is-link){border-radius:999px!important;background:linear-gradient(90deg,#e1668d,#d34f7a)!important;color:#fff!important}
.wc-block-components-button:not(.is-link):hover{background:linear-gradient(90deg,#3c225f,#5b347c)!important}
.wc-block-components-order-summary-item__image img{border-radius:14px}
.wc-block-components-totals-wrapper{border-top-color:#eadbea!important}

@media(max-width:900px){
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
  .wc-block-cart__main,
  .wc-block-checkout__main{padding-right:0!important}
}
@media(max-width:600px){
  .woocommerce-cart .tx-commerce>.wrap,
  .woocommerce-checkout .tx-commerce>.wrap{padding:18px 14px;border-radius:22px}
  .woocommerce-cart-form,
  .cart-collaterals .cart_totals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review{padding:16px;border-radius:18px}
  .woocommerce-cart table.cart td.product-thumbnail{display:block!important;text-align:left!important}
  .woocommerce-cart table.cart td.actions .coupon{float:none!important;width:100%;flex-wrap:wrap}
  .woocommerce-cart table.cart td.actions .coupon .input-text{flex:1;min-width:0}
  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last{float:none;width:100%}
}

/* 0.6.6 cart layout — follows cart.html while retaining the real WooCommerce form. */
.woocommerce-cart main.content-area.wrap{width:100%;max-width:none;margin:0;padding:clamp(48px,6vw,88px) 0 80px;background:#e1668d}
.woocommerce-cart main.content-area>article{width:min(1180px,calc(100% - 40px));max-width:none;margin-inline:auto;padding:clamp(22px,4vw,42px);border-radius:32px;background:#fff4f7;box-shadow:0 28px 60px -44px rgba(42,20,69,.7)}
.woocommerce-cart .entry-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1.72fr) minmax(300px,.78fr);gap:clamp(20px,3vw,36px)}
.woocommerce-cart .woocommerce-cart-form{padding:0;border:0;background:transparent;box-shadow:none}
.woocommerce-cart table.shop_table.cart{display:block;margin:0;border:0;background:transparent}
.woocommerce-cart table.shop_table.cart thead{display:none}
.woocommerce-cart table.shop_table.cart tbody{display:grid;gap:14px}
.woocommerce-cart table.shop_table.cart tr.cart_item{position:relative;display:grid;grid-template-columns:44px 92px minmax(0,1fr) 112px 118px;grid-template-areas:"remove image name qty total";gap:16px;align-items:center;padding:15px 16px;border:0;border-radius:24px;background:#fff;box-shadow:0 16px 28px -22px rgba(42,20,69,.5)}
.woocommerce-cart table.shop_table.cart tr.cart_item td{display:block!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important}
.woocommerce-cart table.shop_table.cart td.product-remove{grid-area:remove}.woocommerce-cart table.shop_table.cart td.product-thumbnail{grid-area:image}.woocommerce-cart table.shop_table.cart td.product-name{grid-area:name}.woocommerce-cart table.shop_table.cart td.product-price{display:none!important}.woocommerce-cart table.shop_table.cart td.product-quantity{grid-area:qty}.woocommerce-cart table.shop_table.cart td.product-subtotal{grid-area:total;text-align:right!important;font-size:1.08rem;font-weight:700;color:#b02a5a}
.woocommerce-cart table.shop_table.cart td.product-remove a{display:grid!important;place-items:center;width:42px;height:42px;border-radius:50%;color:#3c225f!important;font-size:1.4rem;font-weight:700;text-decoration:none}.woocommerce-cart table.shop_table.cart td.product-remove a:hover{background:#fff4f7;color:#b02a5a!important}
.woocommerce-cart table.cart img{display:block;width:92px!important;height:92px;object-fit:cover;border-radius:18px;background:#cdb9f3;transform:rotate(-1.5deg)}
.woocommerce-cart table.cart td.product-name a{font-size:1.08rem;line-height:1.25}.woocommerce-cart table.cart td.product-name .variation{margin-top:7px;font-size:.85rem}
.woocommerce-cart table.cart .quantity .qty{width:100%!important;min-height:48px;border:2px solid #3c225f;border-radius:12px;background:#fff;color:#3c225f;font-weight:700}
.woocommerce-cart table.shop_table.cart tr:not(.cart_item){display:block;border:0}.woocommerce-cart table.shop_table.cart td.actions{display:flex!important;justify-content:space-between;gap:12px;margin-top:2px;padding:16px 20px!important;border:0!important;border-radius:22px;background:#fff}
.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:10px}.woocommerce-cart table.cart td.actions .coupon .input-text{min-height:48px;border:2px solid #3c225f;background:#fff4f7}.woocommerce-cart table.cart td.actions button.button{min-height:48px;border-radius:999px;background:#e1668d;color:#fff;font-weight:700}.woocommerce-cart table.cart td.actions button[name="update_cart"]{margin-left:auto;background:#3c225f}
.woocommerce-cart .cart-collaterals{align-self:start}.woocommerce-cart .cart-collaterals .cart_totals{position:sticky;top:100px;padding:clamp(22px,3vw,30px);border:0;border-radius:28px;background:#fff;box-shadow:0 20px 30px -16px rgba(42,20,69,.5)}
.woocommerce-cart .cart_totals h2{margin:0 0 15px;color:#3c225f;font-size:1.5rem}.woocommerce-cart .cart_totals table{border:0!important}.woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{padding:13px 0!important;border-color:#eadbea!important}.woocommerce-cart .cart_totals .order-total td{color:#b02a5a;font-size:1.35rem}
.woocommerce-cart .wc-proceed-to-checkout{padding:0}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;justify-content:center;min-height:54px;margin-top:20px!important;border-radius:14px!important;background:#3c225f!important;color:#fff4f7!important;box-shadow:none}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:#b02a5a!important}
.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop{padding:24px;border-radius:22px;background:#fff;text-align:center}.woocommerce-cart .return-to-shop .button{border-radius:999px;background:#3c225f;color:#fff}
@media(max-width:980px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}.woocommerce-cart .cart-collaterals .cart_totals{position:static}}
@media(max-width:720px){.woocommerce-cart main.content-area>article{width:min(100% - 24px,1180px);padding:18px 14px;border-radius:24px}.woocommerce-cart table.shop_table.cart tr.cart_item{grid-template-columns:76px minmax(0,1fr);grid-template-areas:"image name" "qty total";gap:10px 14px;padding:14px}.woocommerce-cart table.shop_table.cart td.product-remove{position:absolute;right:4px;top:4px}.woocommerce-cart table.shop_table.cart td.product-name{padding-right:34px!important}.woocommerce-cart table.cart img{width:76px!important;height:76px}.woocommerce-cart table.shop_table.cart td.actions{display:grid!important}.woocommerce-cart table.cart td.actions .coupon{width:100%;flex-wrap:wrap}.woocommerce-cart table.cart td.actions button[name="update_cart"]{width:100%;margin:0}.woocommerce-cart .tx-recommend ul.products{grid-template-columns:1fr 1fr}}
.woocommerce-cart .tx-cart-flow{grid-column:1/-1;display:flex;justify-content:center;gap:0;margin:0 0 4px;padding:0;list-style:none}.woocommerce-cart .tx-cart-flow li{position:relative;display:grid;place-items:center;gap:6px;min-width:150px;color:#8b7b92;font-size:.85rem}.woocommerce-cart .tx-cart-flow li:not(:last-child):after{content:"";position:absolute;left:calc(50% + 25px);top:20px;width:calc(100% - 50px);height:3px;background:#dbcde3}.woocommerce-cart .tx-cart-flow span{display:grid;place-items:center;z-index:1;width:42px;height:42px;border:3px solid #dbcde3;border-radius:50%;background:#fff4f7;font-weight:700}.woocommerce-cart .tx-cart-flow .is-current,.woocommerce-cart .tx-cart-flow .is-done{color:#3c225f}.woocommerce-cart .tx-cart-flow .is-current span,.woocommerce-cart .tx-cart-flow .is-done span{border-color:#3c225f;background:#3c225f;color:#fff}.woocommerce-cart .tx-cart-flow .is-done:after{background:#3c225f!important}
.woocommerce-cart .tx-cart-ship{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:16px 20px;border-radius:22px;background:#ffdc7a}.woocommerce-cart .tx-cart-ship>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;font-size:1.5rem}.woocommerce-cart .tx-cart-ship>div{flex:1;min-width:0}.woocommerce-cart .tx-cart-ship p{margin:0;font-weight:600;line-height:1.4}.woocommerce-cart .tx-cart-ship>div>span{display:block;height:9px;margin-top:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.8)}.woocommerce-cart .tx-cart-ship>div>span>i{display:block;height:100%;border-radius:inherit;background:#3c225f}.woocommerce-cart .tx-cart-ship p span,.woocommerce-cart .tx-cart-ship p bdi{display:inline!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;border-radius:0!important;background:transparent!important;color:inherit!important}
.woocommerce-cart .tx-cart-perks{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none;color:#3c225f;font-weight:600}.woocommerce-cart .tx-cart-back{text-align:center;margin:14px 0 0}.woocommerce-cart .tx-cart-back a{color:#3c225f;font-weight:700;text-underline-offset:4px}
@media(max-width:720px){.woocommerce-cart .tx-cart-flow{justify-content:space-between}.woocommerce-cart .tx-cart-flow li{min-width:0;flex:1}.woocommerce-cart .tx-cart-flow li b{display:none}.woocommerce-cart .tx-cart-flow li:not(:last-child):after{left:calc(50% + 20px);width:calc(100% - 40px)}}

/* 0.9.3 cart/checkout alignment with the supplied prototypes. */
.woocommerce-cart .tx-cart-flow,.woocommerce-checkout .tx-cart-flow{grid-column:1/-1;display:flex;justify-content:center;width:min(920px,100%);gap:0;margin:0 auto 24px;padding:0;list-style:none}
.woocommerce-cart .tx-cart-flow li,.woocommerce-checkout .tx-cart-flow li{position:relative;display:grid;flex:1;place-items:center;gap:6px;min-width:0;color:#8b7b92;font-size:.85rem}
.woocommerce-cart .tx-cart-flow li:not(:last-child):after,.woocommerce-checkout .tx-cart-flow li:not(:last-child):after{content:"";position:absolute;left:calc(50% + 25px);top:20px;width:calc(100% - 50px);height:3px;background:#dbcde3}
.woocommerce-cart .tx-cart-flow span,.woocommerce-checkout .tx-cart-flow span{display:grid;place-items:center;z-index:1;width:42px;height:42px;border:3px solid #dbcde3;border-radius:50%;background:#fff4f7;font-weight:700}
.woocommerce-cart .tx-cart-flow .is-current,.woocommerce-cart .tx-cart-flow .is-done,.woocommerce-checkout .tx-cart-flow .is-current,.woocommerce-checkout .tx-cart-flow .is-done{color:#3c225f}
.woocommerce-cart .tx-cart-flow .is-current span,.woocommerce-cart .tx-cart-flow .is-done span,.woocommerce-checkout .tx-cart-flow .is-current span,.woocommerce-checkout .tx-cart-flow .is-done span{border-color:#3c225f;background:#3c225f;color:#fff}
.woocommerce-cart .tx-cart-flow .is-done:after,.woocommerce-checkout .tx-cart-flow .is-done:after{background:#3c225f!important}
.woocommerce-cart .tx-cart-ribbon{grid-column:1/-1;width:100%;margin:36px 0 18px;border-radius:18px;transform:none}

.woocommerce-checkout main.content-area.wrap{width:100%;max-width:none;margin:0;padding:clamp(48px,6vw,88px) 0 86px;background:#e1668d}
.woocommerce-checkout main.content-area>article{width:100%;max-width:none;margin:0;padding:0;background:transparent}
.woocommerce-checkout .entry-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.woocommerce-checkout .entry-content>.woocommerce{width:100%;max-width:none}
.woocommerce-checkout .woocommerce-notices-wrapper,.woocommerce-checkout .tx-checkout-flow,.woocommerce-checkout form.checkout{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.woocommerce-checkout form.checkout{padding:0;border-radius:0;background:transparent;box-shadow:none}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{border:0;border-radius:26px;box-shadow:0 18px 36px -28px rgba(42,20,69,.55)}
.woocommerce-checkout #payment{margin-top:14px;background:#fff}
.woocommerce-checkout #payment ul.payment_methods li{margin:8px 0;padding:12px;border:2px solid #eadbea;border-radius:18px}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:#e1668d;background:#fff4f7}

@media(max-width:760px){
  .woocommerce-cart .tx-cart-flow b,.woocommerce-checkout .tx-cart-flow b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .woocommerce-cart .tx-cart-flow .is-current b,.woocommerce-checkout .tx-cart-flow .is-current b{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .woocommerce-checkout .woocommerce-notices-wrapper,.woocommerce-checkout .tx-checkout-flow,.woocommerce-checkout form.checkout{width:min(100% - 24px,1180px)}
  .woocommerce-checkout form.checkout{padding:0;border-radius:0}
}
