/**
 * HangNgoaiShop 3.9.55.64.1
 * Commerce Foundation + Cart Quiet Premium
 *
 * Presentation-only layer for:
 * - CheckoutWC Side Cart on storefront surfaces
 * - WooCommerce / Flatsome Cart page
 *
 * Checkout page redesign is intentionally deferred to 3.9.55.65.
 */

:root{
  --yhn-commerce-bg:#faf9f7;
  --yhn-commerce-surface:#ffffff;
  --yhn-commerce-surface-soft:#f7f5f2;
  --yhn-commerce-text:#303137;
  --yhn-commerce-text-2:#515159;
  --yhn-commerce-muted:#8a878d;
  --yhn-commerce-border:#e8e5e1;
  --yhn-commerce-border-soft:#efedea;
  --yhn-commerce-accent:#d3136d;
  --yhn-commerce-accent-hover:#b9105d;
  --yhn-commerce-accent-soft:#fff4f8;
  --yhn-commerce-shadow:0 10px 28px rgba(35,32,34,.045);
}

/* =========================================================
   1) CHECKOUTWC SIDE CART — GLOBAL QUIET PREMIUM
   ========================================================= */

body.yhn-cfw-sidecart-target .header-wrapper .cart-item .nav-dropdown,
body.yhn-cfw-sidecart-target .header .cart-item .nav-dropdown,
body.yhn-cfw-sidecart-ready .header-wrapper .cart-item .nav-dropdown,
body.yhn-cfw-sidecart-ready .header .cart-item .nav-dropdown{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#cfw-side-cart-overlay{
  background:rgba(27,28,31,.38)!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

#cfw-side-cart{
  width:min(420px,100vw)!important;
  max-width:420px!important;
  background:var(--yhn-commerce-surface)!important;
  color:var(--yhn-commerce-text)!important;
  font-family:inherit!important;
  box-shadow:-18px 0 42px rgba(27,28,31,.14)!important;
}

#cfw-side-cart,
#cfw-side-cart *{
  text-rendering:optimizeLegibility;
}

#cfw-side-cart .cfw-side-cart-contents-header{
  min-height:72px!important;
  padding:18px 22px 14px!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--yhn-commerce-border)!important;
  position:sticky!important;
  top:0!important;
  z-index:8!important;
}

#cfw-side-cart .cfw-side-cart-contents-header h2,
#cfw-side-cart .cfw-side-cart-contents-header .cfw-side-cart-quantity{
  color:var(--yhn-commerce-text)!important;
}

#cfw-side-cart .cfw-side-cart-quantity-wrap{
  gap:7px!important;
  color:var(--yhn-commerce-muted)!important;
}

#cfw-side-cart .cfw-side-cart-quantity-wrap svg{
  width:21px!important;
  height:21px!important;
  stroke-width:1.5!important;
}

#cfw-side-cart .cfw-side-cart-quantity{
  font-size:16px!important;
  font-weight:650!important;
}

#cfw-side-cart .cfw-side-cart-close-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  height:36px!important;
  top:18px!important;
  right:20px!important;
  padding:0!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--yhn-commerce-text-2)!important;
  transition:border-color .18s ease,background .18s ease,color .18s ease!important;
}

#cfw-side-cart .cfw-side-cart-close-btn:hover,
#cfw-side-cart .cfw-side-cart-close-btn:focus-visible{
  border-color:#ddd8d3!important;
  background:var(--yhn-commerce-surface-soft)!important;
  color:var(--yhn-commerce-text)!important;
}

#cfw-side-cart .cfw-side-cart-close-btn svg{
  width:18px!important;
  height:18px!important;
}

#cfw-side-cart .cfw-side-cart-contents{
  padding:4px 22px 0!important;
  background:#fff!important;
}

#cfw-side-cart .cfw-side-cart-contents .cart-item-row td,
#cfw-side-cart .cfw-side-cart-contents .cart-item-row th{
  padding:16px 0!important;
  vertical-align:top!important;
  border-bottom:1px solid var(--yhn-commerce-border-soft)!important;
  background:#fff!important;
}

#cfw-side-cart .cfw-cart-item-image{
  width:76px!important;
  min-width:76px!important;
}

#cfw-side-cart .cfw-cart-item-image-wrap{
  margin-top:0!important;
}

#cfw-side-cart .cfw-cart-item-image-wrap > span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:64px!important;
  height:64px!important;
  overflow:hidden!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}

#cfw-side-cart .cfw-cart-item-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:10px!important;
}

#cfw-side-cart .cfw-cart-item-description{
  padding-right:10px!important;
}

#cfw-side-cart .cfw-cart-item-title,
#cfw-side-cart .cfw-cart-item-title a,
#cfw-side-cart .cfw-cart-item-title span{
  color:var(--yhn-commerce-text)!important;
  font-size:14px!important;
  line-height:1.42!important;
  font-weight:650!important;
  text-decoration:none!important;
}

#cfw-side-cart .cfw-cart-item-title span{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}

#cfw-side-cart .cfw-items-summary-item-discount{
  margin:3px 0 7px!important;
  color:var(--yhn-commerce-muted)!important;
  font-size:12px!important;
  line-height:1.35!important;
}

#cfw-side-cart .cfw_side_cart_item_after_data{
  margin-top:7px!important;
}

#cfw-side-cart .cfw-quantity-stepper{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  overflow:hidden!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}

#cfw-side-cart .cfw-quantity-stepper-btn-minus,
#cfw-side-cart .cfw-quantity-stepper-btn-plus{
  width:30px!important;
  height:30px!important;
  border:0!important;
  background:var(--yhn-commerce-surface-soft)!important;
  color:#6d6a70!important;
}

#cfw-side-cart .cfw-quantity-stepper-value-label{
  width:34px!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-align:center!important;
}

#cfw-side-cart .cfw-cart-item-subtotal,
#cfw-side-cart .cfw-cart-item-subtotal .amount{
  width:96px!important;
  min-width:96px!important;
  color:var(--yhn-commerce-accent)!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:700!important;
  text-align:right!important;
  white-space:nowrap!important;
}

#cfw-side-cart .cfw-remove-item-button{
  width:20px!important;
  height:20px!important;
  top:8px!important;
  right:0!important;
  border-radius:50%!important;
  color:#9a979c!important;
  opacity:.72!important;
}

#cfw-side-cart tr:hover .cfw-remove-item-button,
#cfw-side-cart .cfw-remove-item-button:hover,
#cfw-side-cart .cfw-remove-item-button:focus-visible{
  background:var(--yhn-commerce-accent-soft)!important;
  color:var(--yhn-commerce-accent)!important;
  opacity:1!important;
}

#cfw-side-cart .cfw-side-cart-contents-footer{
  padding:16px 22px 20px!important;
  background:#fff!important;
  border-top:1px solid var(--yhn-commerce-border)!important;
  position:sticky!important;
  bottom:0!important;
  z-index:7!important;
}

#cfw-side-cart .cfw-side-cart-contents-footer-border-shim{
  display:none!important;
}

#cfw-side-cart .cfw-coupon-wrap{
  margin:0 0 12px!important;
}

#cfw-side-cart .cfw-show-coupons-module{
  color:var(--yhn-commerce-text-2)!important;
  font-size:13px!important;
  font-weight:600!important;
  text-decoration:none!important;
}

#cfw-side-cart .cfw-show-coupons-module:hover,
#cfw-side-cart .cfw-show-coupons-module:focus-visible{
  color:var(--yhn-commerce-accent)!important;
}

#cfw-side-cart .cfw-promo-row .input-text{
  min-height:42px!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}

#cfw-side-cart .cfw-secondary-btn,
#cfw-side-cart button.cfw-secondary-btn{
  min-height:42px!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:8px!important;
  background:var(--yhn-commerce-surface-soft)!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:13px!important;
  font-weight:650!important;
  box-shadow:none!important;
}

#cfw-side-cart .cfw-side-cart-totals{
  margin:8px 0 0!important;
  padding-top:10px!important;
  border-top:1px solid var(--yhn-commerce-border-soft)!important;
}

#cfw-side-cart .cfw-side-cart-totals table{
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

#cfw-side-cart .cfw-side-cart-totals table tr{
  padding:6px 0!important;
  border:0!important;
}

#cfw-side-cart .cfw-side-cart-totals table tr.order-total{
  margin-top:5px!important;
  padding-top:11px!important;
  border-top:1px solid var(--yhn-commerce-border)!important;
}

#cfw-side-cart .cfw-side-cart-totals th,
#cfw-side-cart .cfw-side-cart-totals td{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:13.5px!important;
  font-weight:550!important;
}

#cfw-side-cart .cfw-side-cart-totals td,
#cfw-side-cart .cfw-side-cart-totals td .amount{
  color:var(--yhn-commerce-text)!important;
  font-weight:650!important;
}

#cfw-side-cart .cfw-side-cart-totals .order-total th{
  color:var(--yhn-commerce-text)!important;
  font-weight:700!important;
}

#cfw-side-cart .cfw-side-cart-totals .order-total td,
#cfw-side-cart .cfw-side-cart-totals .order-total .amount{
  color:var(--yhn-commerce-accent)!important;
  font-size:17px!important;
  font-weight:750!important;
}

#cfw-side-cart .wc-proceed-to-checkout{
  margin-top:14px!important;
  padding:0!important;
}

#cfw-side-cart .wc-proceed-to-checkout .cfw-primary-btn,
#cfw-side-cart .cfw-primary-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  padding:0 18px!important;
  border:1px solid var(--yhn-commerce-accent)!important;
  border-radius:8px!important;
  background:var(--yhn-commerce-accent)!important;
  background-image:none!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

#cfw-side-cart .wc-proceed-to-checkout .cfw-primary-btn:hover,
#cfw-side-cart .cfw-primary-btn:hover,
#cfw-side-cart .cfw-primary-btn:focus-visible{
  border-color:var(--yhn-commerce-accent-hover)!important;
  background:var(--yhn-commerce-accent-hover)!important;
  color:#fff!important;
}

/* Header is the intentional cart entry point; avoid a second floating cart UI. */
#cfw-side-cart-floating-button{
  display:none!important;
}

/* =========================================================
   2) CART PAGE — QUIET PREMIUM FOUNDATION
   ========================================================= */

body.woocommerce-cart{
  background:var(--yhn-commerce-bg)!important;
}

body.woocommerce-cart #main{
  background:var(--yhn-commerce-bg)!important;
}

body.woocommerce-cart #content.content-area.page-wrapper{
  max-width:1220px!important;
  padding:24px 20px 46px!important;
}

body.woocommerce-cart .checkout-page-title{
  margin-bottom:18px!important;
}

body.woocommerce-cart .checkout-breadcrumbs,
body.woocommerce-cart .checkout-page-title .breadcrumbs{
  color:#a09da1!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:.015em!important;
}

body.woocommerce-cart .checkout-breadcrumbs .current,
body.woocommerce-cart .checkout-breadcrumbs a,
body.woocommerce-cart .checkout-page-title .breadcrumbs a{
  color:var(--yhn-commerce-text-2)!important;
}

body.woocommerce-cart .yhn-cart-heading{
  margin:0 0 18px!important;
  padding:0 0 16px!important;
  border:0!important;
  border-bottom:1px solid var(--yhn-commerce-border)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.woocommerce-cart .yhn-cart-heading h1{
  margin:0!important;
  color:var(--yhn-commerce-text)!important;
  font-size:28px!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}

body.woocommerce-cart .yhn-cart-heading p{
  margin:6px 0 0!important;
  color:var(--yhn-commerce-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

body.woocommerce-cart .woocommerce > .row.row-large.row-divided{
  gap:32px!important;
}

body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-7.col{
  flex:0 0 calc(68% - 16px)!important;
  width:calc(68% - 16px)!important;
  max-width:calc(68% - 16px)!important;
}

body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-5.col,
body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .cart-collaterals{
  flex:0 0 calc(32% - 16px)!important;
  width:calc(32% - 16px)!important;
  max-width:calc(32% - 16px)!important;
}

body.woocommerce-cart .woocommerce-cart-form .cart-wrapper,
body.woocommerce-cart .cart-sidebar{
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:12px!important;
  background:var(--yhn-commerce-surface)!important;
  box-shadow:var(--yhn-commerce-shadow)!important;
}

body.woocommerce-cart .woocommerce-cart-form .cart-wrapper{
  overflow:hidden!important;
}

body.woocommerce-cart table.shop_table.cart{
  table-layout:auto!important;
}

body.woocommerce-cart table.shop_table.cart thead th{
  padding:14px 16px!important;
  border-bottom:1px solid var(--yhn-commerce-border)!important;
  background:var(--yhn-commerce-surface-soft)!important;
  color:#77747a!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  font-weight:650!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

body.woocommerce-cart table.shop_table.cart th.product-name{
  min-width:280px!important;
}

body.woocommerce-cart table.shop_table.cart th.product-price{
  width:118px!important;
}

body.woocommerce-cart table.shop_table.cart th.product-quantity{
  width:118px!important;
}

body.woocommerce-cart table.shop_table.cart th.product-subtotal{
  width:130px!important;
  min-width:130px!important;
}

body.woocommerce-cart table.shop_table.cart tbody td{
  padding:18px 16px!important;
  border-bottom:1px solid var(--yhn-commerce-border-soft)!important;
  background:#fff!important;
}

body.woocommerce-cart table.shop_table.cart td.product-thumbnail{
  width:104px!important;
}

body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{
  width:88px!important;
  height:88px!important;
  object-fit:cover!important;
  border:1px solid var(--yhn-commerce-border-soft)!important;
  border-radius:10px!important;
  background:#fff!important;
}

body.woocommerce-cart table.shop_table.cart td.product-name{
  min-width:250px!important;
  padding-right:22px!important;
}

body.woocommerce-cart table.shop_table.cart td.product-name a{
  color:var(--yhn-commerce-text)!important;
  font-size:14px!important;
  line-height:1.46!important;
  font-weight:650!important;
  text-decoration:none!important;
}

body.woocommerce-cart table.shop_table.cart td.product-name a:hover,
body.woocommerce-cart table.shop_table.cart td.product-name a:focus-visible{
  color:var(--yhn-commerce-accent)!important;
}

body.woocommerce-cart table.shop_table.cart td.product-price{
  color:var(--yhn-commerce-text-2)!important;
  font-size:13.5px!important;
  font-weight:600!important;
}

body.woocommerce-cart table.shop_table.cart td.product-subtotal,
body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount{
  color:var(--yhn-commerce-accent)!important;
  font-size:14px!important;
  font-weight:700!important;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a.remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  height:26px!important;
  line-height:1!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#99969b!important;
  font-size:16px!important;
  font-weight:400!important;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover,
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:focus-visible{
  border-color:#efd1df!important;
  background:var(--yhn-commerce-accent-soft)!important;
  color:var(--yhn-commerce-accent)!important;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity,
body.woocommerce-cart table.shop_table.cart td.product-quantity .ux-quantity{
  display:inline-flex!important;
  align-items:center!important;
  overflow:hidden!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity input.qty{
  width:46px!important;
  min-width:46px!important;
  height:38px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--yhn-commerce-text)!important;
  font-size:13px!important;
  font-weight:650!important;
  box-shadow:none!important;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity .button,
body.woocommerce-cart table.shop_table.cart td.product-quantity button,
body.woocommerce-cart table.shop_table.cart td.product-quantity input[type="button"]{
  min-width:30px!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--yhn-commerce-surface-soft)!important;
  color:#77747a!important;
  box-shadow:none!important;
}

body.woocommerce-cart table.shop_table.cart td.actions{
  padding:14px 16px!important;
  background:#fff!important;
}

body.woocommerce-cart .button-continue-shopping{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:12px!important;
  font-weight:650!important;
  letter-spacing:.025em!important;
  box-shadow:none!important;
}

body.woocommerce-cart .button-continue-shopping:hover,
body.woocommerce-cart .button-continue-shopping:focus-visible{
  border-color:#d9d5d0!important;
  background:var(--yhn-commerce-surface-soft)!important;
  color:var(--yhn-commerce-text)!important;
}

/* ===== Summary ===== */
body.woocommerce-cart .cart-sidebar{
  padding:20px!important;
}

@media (min-width:850px){
  body.woocommerce-cart .cart-sidebar{
    position:sticky!important;
    top:22px!important;
  }
}

body.woocommerce-cart .cart_totals > h2{
  margin:0 0 14px!important;
  padding:0 0 13px!important;
  border:0!important;
  border-bottom:1px solid var(--yhn-commerce-border)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--yhn-commerce-text)!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

body.woocommerce-cart .cart_totals > table.shop_table{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}

body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr > th,
body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr > td{
  padding:12px 0!important;
  border:0!important;
  border-bottom:1px solid var(--yhn-commerce-border-soft)!important;
  background:transparent!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:13px!important;
  line-height:1.5!important;
}

body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr > th{
  width:39%!important;
  padding-right:12px!important;
  font-weight:550!important;
}

body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr > td{
  width:61%!important;
  font-weight:600!important;
}

body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr.order-total > th,
body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr.order-total > td{
  padding-top:15px!important;
  padding-bottom:3px!important;
  border-bottom:0!important;
  color:var(--yhn-commerce-text)!important;
  font-weight:700!important;
}

body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr.order-total > td,
body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr.order-total .amount{
  color:var(--yhn-commerce-accent)!important;
  font-size:18px!important;
  font-weight:750!important;
}

/* Flatten the nested shipping table without changing shipping logic. */
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals > td.shipping__inner,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table tbody,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table tr,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table th,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table td{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table th,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals .shipping__table td{
  padding:5px 0!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:12.5px!important;
  line-height:1.48!important;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-destination{
  margin:6px 0 0!important;
  color:var(--yhn-commerce-muted)!important;
  font-size:12px!important;
  line-height:1.45!important;
}

body.woocommerce-cart .wc-proceed-to-checkout{
  margin:18px 0 0!important;
  padding:0!important;
}

body.woocommerce-cart .checkout-button,
body.woocommerce-cart .checkout-button.button,
body.woocommerce-cart .checkout-button.button.alt,
body.woocommerce-cart a.checkout-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 18px!important;
  border:1px solid var(--yhn-commerce-accent)!important;
  border-radius:8px!important;
  background:var(--yhn-commerce-accent)!important;
  background-image:none!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}

body.woocommerce-cart .checkout-button:hover,
body.woocommerce-cart .checkout-button:focus-visible{
  border-color:var(--yhn-commerce-accent-hover)!important;
  background:var(--yhn-commerce-accent-hover)!important;
  color:#fff!important;
}

/* ===== Coupon disclosure ===== */
body.woocommerce-cart .ux-cart-coupon,
body.woocommerce-cart .cart-sidebar .coupon{
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid var(--yhn-commerce-border-soft)!important;
  background:transparent!important;
}

body.woocommerce-cart .ux-cart-coupon .widget-title{
  position:relative!important;
  margin:0!important;
  padding:2px 24px 2px 0!important;
  color:var(--yhn-commerce-text-2)!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:600!important;
  cursor:pointer!important;
  outline:none!important;
}

body.woocommerce-cart .ux-cart-coupon .widget-title::after{
  content:"+";
  position:absolute;
  right:1px;
  top:50%;
  transform:translateY(-50%);
  color:#99969b;
  font-size:18px;
  font-weight:400;
}

body.woocommerce-cart .ux-cart-coupon.yhn-cart-coupon-disclosure:not(.is-collapsed) .widget-title::after{
  content:"−";
}

body.woocommerce-cart .ux-cart-coupon.yhn-cart-coupon-disclosure.is-collapsed > :not(.widget-title){
  display:none!important;
}

body.woocommerce-cart .ux-cart-coupon .input-text{
  min-height:42px!important;
  margin:12px 0 8px!important;
  border:1px solid var(--yhn-commerce-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--yhn-commerce-text)!important;
  font-size:13px!important;
  box-shadow:none!important;
}

body.woocommerce-cart .ux-cart-coupon .button{
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  border:1px solid #3e3e43!important;
  border-radius:8px!important;
  background:#3e3e43!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:650!important;
  box-shadow:none!important;
}

/* =========================================================
   3) MOBILE CART + SIDE CART
   ========================================================= */

@media (max-width:849px){
  #cfw-side-cart{
    width:100vw!important;
    max-width:100vw!important;
  }

  #cfw-side-cart .cfw-side-cart-contents-header{
    min-height:62px!important;
    padding:14px 16px 11px!important;
  }

  #cfw-side-cart .cfw-side-cart-close-btn{
    width:34px!important;
    height:34px!important;
    top:14px!important;
    right:14px!important;
  }

  #cfw-side-cart .cfw-side-cart-contents{
    padding:3px 16px 0!important;
  }

  #cfw-side-cart .cfw-side-cart-contents .cart-item-row td,
  #cfw-side-cart .cfw-side-cart-contents .cart-item-row th{
    padding:13px 0!important;
  }

  #cfw-side-cart .cfw-cart-item-image{
    width:68px!important;
    min-width:68px!important;
  }

  #cfw-side-cart .cfw-cart-item-image-wrap > span{
    width:58px!important;
    height:58px!important;
  }

  #cfw-side-cart .cfw-cart-item-title,
  #cfw-side-cart .cfw-cart-item-title a,
  #cfw-side-cart .cfw-cart-item-title span{
    font-size:13px!important;
    line-height:1.38!important;
  }

  #cfw-side-cart .cfw-cart-item-subtotal,
  #cfw-side-cart .cfw-cart-item-subtotal .amount{
    width:82px!important;
    min-width:82px!important;
    font-size:12.5px!important;
  }

  #cfw-side-cart .cfw-side-cart-contents-footer{
    padding:14px 16px 16px!important;
  }

  body.woocommerce-cart #content.content-area.page-wrapper{
    padding:16px 12px 30px!important;
  }

  body.woocommerce-cart .checkout-page-title{
    margin-bottom:12px!important;
  }

  body.woocommerce-cart .yhn-cart-heading{
    margin-bottom:14px!important;
    padding-bottom:13px!important;
  }

  body.woocommerce-cart .yhn-cart-heading h1{
    font-size:24px!important;
  }

  body.woocommerce-cart .yhn-cart-heading p{
    font-size:12.5px!important;
  }

  body.woocommerce-cart .woocommerce > .row.row-large.row-divided{
    display:block!important;
  }

  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-7.col,
  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-5.col,
  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .cart-collaterals{
    width:100%!important;
    max-width:100%!important;
    flex:none!important;
  }

  body.woocommerce-cart .woocommerce-cart-form .cart-wrapper,
  body.woocommerce-cart .cart-sidebar{
    border-radius:10px!important;
    box-shadow:none!important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item{
    grid-template-columns:28px 82px minmax(0,1fr)!important;
    gap:7px 11px!important;
    padding:14px 13px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid var(--yhn-commerce-border-soft)!important;
    border-radius:0!important;
    background:#fff!important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item:last-of-type{
    border-bottom:0!important;
  }

  body.woocommerce-cart td.product-remove{
    padding-top:3px!important;
  }

  body.woocommerce-cart td.product-remove a.remove{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
  }

  body.woocommerce-cart td.product-thumbnail img{
    width:82px!important;
    height:82px!important;
    border-radius:9px!important;
  }

  body.woocommerce-cart td.product-name a{
    color:var(--yhn-commerce-text)!important;
    font-size:13px!important;
    line-height:1.4!important;
  }

  body.woocommerce-cart td.product-price{
    margin:4px 0!important;
    color:var(--yhn-commerce-muted)!important;
    font-size:12px!important;
  }

  body.woocommerce-cart td.product-price .amount{
    color:var(--yhn-commerce-text-2)!important;
    font-weight:600!important;
  }

  body.woocommerce-cart td.product-quantity{
    margin:1px 0 4px!important;
  }

  body.woocommerce-cart td.product-quantity .ux-quantity,
  body.woocommerce-cart td.product-quantity .quantity{
    border:1px solid var(--yhn-commerce-border)!important;
    border-radius:8px!important;
  }

  body.woocommerce-cart td.product-quantity input.qty{
    width:42px!important;
    min-width:42px!important;
    height:34px!important;
    font-size:12.5px!important;
  }

  body.woocommerce-cart td.product-subtotal,
  body.woocommerce-cart td.product-subtotal .amount{
    color:var(--yhn-commerce-accent)!important;
    font-size:13.5px!important;
    font-weight:700!important;
  }

  body.woocommerce-cart tr:last-child td.actions{
    padding:10px 12px 12px!important;
  }

  body.woocommerce-cart .button-continue-shopping{
    min-height:42px!important;
    border-radius:8px!important;
    font-size:11.5px!important;
  }

  body.woocommerce-cart .cart-sidebar{
    margin-top:14px!important;
    padding:16px!important;
  }

  body.woocommerce-cart .cart_totals > h2{
    margin-bottom:10px!important;
    padding-bottom:10px!important;
    font-size:14px!important;
  }

  body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr > th,
  body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr > td{
    padding:10px 0!important;
    font-size:12.5px!important;
  }

  body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr.order-total > td,
  body.woocommerce-cart .cart_totals > table.shop_table > tbody > tr.order-total .amount{
    font-size:17px!important;
  }

  body.woocommerce-cart .checkout-button,
  body.woocommerce-cart .checkout-button.button,
  body.woocommerce-cart .checkout-button.button.alt,
  body.woocommerce-cart a.checkout-button{
    min-height:48px!important;
    border-radius:8px!important;
    font-size:12.5px!important;
  }

  body.woocommerce-cart .ux-cart-coupon{
    margin-top:14px!important;
    padding-top:12px!important;
  }

  body.woocommerce-cart .ft-chatbox{
    display:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #cfw-side-cart *,
  body.woocommerce-cart *{
    transition:none!important;
    animation:none!important;
  }
}

/* =========================================================
   3.9.55.64.1 — CART + SIDE CART INTEGRATION FINAL
   ========================================================= */

body.yhn-cfw-sidecart-target .header-wrapper .cart-item:hover > .nav-dropdown,
body.yhn-cfw-sidecart-target .header-wrapper .cart-item.current-dropdown > .nav-dropdown,
body.yhn-cfw-sidecart-target .header .cart-item:hover > .nav-dropdown,
body.yhn-cfw-sidecart-target .header .cart-item.current-dropdown > .nav-dropdown{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  transform:none!important;
  pointer-events:none!important;
}

@media (min-width:850px){
  body.woocommerce-cart #content.content-area.page-wrapper{
    max-width:1260px!important;
  }

  body.woocommerce-cart .woocommerce > .row.row-large.row-divided{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    gap:28px!important;
  }

  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-7.col{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-5.col,
  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .cart-collaterals{
    flex:0 0 330px!important;
    width:330px!important;
    max-width:330px!important;
    min-width:330px!important;
  }

  body.woocommerce-cart table.shop_table.cart{
    width:100%!important;
    table-layout:auto!important;
  }

  body.woocommerce-cart table.shop_table.cart thead th,
  body.woocommerce-cart table.shop_table.cart tbody td{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-name{
    min-width:315px!important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name{
    min-width:275px!important;
    padding-right:16px!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-price{
    width:104px!important;
    min-width:104px!important;
    white-space:nowrap!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-quantity{
    width:112px!important;
    min-width:112px!important;
    white-space:nowrap!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-subtotal,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal{
    width:138px!important;
    min-width:138px!important;
    white-space:nowrap!important;
    text-align:right!important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail{
    width:96px!important;
    min-width:96px!important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{
    width:80px!important;
    height:80px!important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove{
    width:36px!important;
    min-width:36px!important;
    text-align:center!important;
  }
}

@media (min-width:850px) and (max-width:1099px){
  body.woocommerce-cart .woocommerce > .row.row-large.row-divided{
    gap:22px!important;
  }

  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .large-5.col,
  body.woocommerce-cart .woocommerce > .row.row-large.row-divided > .cart-collaterals{
    flex-basis:300px!important;
    width:300px!important;
    max-width:300px!important;
    min-width:300px!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-name{
    min-width:250px!important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name{
    min-width:220px!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-price{
    width:94px!important;
    min-width:94px!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-quantity{
    width:104px!important;
    min-width:104px!important;
  }

  body.woocommerce-cart table.shop_table.cart th.product-subtotal,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal{
    width:122px!important;
    min-width:122px!important;
  }
}

