/* AsanWP commerce flow — Retail-inspired cart / mini-cart / checkout */
:root {
  --awp-commerce-surface: #fff;
  --awp-commerce-soft: #f7f7f8;
  --awp-commerce-border: #e0e0e2;
  --awp-commerce-muted: #81858b;
  --awp-commerce-text: #23254e;
  --awp-commerce-radius: 12px;
}

/* Mini cart dropdown styles are defined once in the scoped block at the end of this file. */

/* Cart page */

.woocommerce-cart .cart-collaterals { width:340px; flex:0 0 340px; }
.woocommerce-cart .cart-collaterals .cart_totals { position:sticky; top:90px; padding:20px; border:1px solid var(--awp-commerce-border); border-radius:var(--awp-commerce-radius); background:var(--awp-commerce-surface); box-shadow:none; }
.woocommerce-cart .cart-collaterals .cart_totals > h2 { font-size:15px; font-weight:800; padding:0 0 14px; margin:0 0 8px; border-color:var(--awp-commerce-border); }
.woocommerce-cart .cart-collaterals .shop_table tr { border-color:var(--awp-commerce-border); }
.woocommerce-cart .cart-collaterals .shop_table th,
.woocommerce-cart .cart-collaterals .shop_table td { padding:12px 0; font-size:12px; line-height:1.8; }
.woocommerce-cart .cart-collaterals .shop_table td { text-align:left; font-weight:600; }
.woocommerce-cart .cart-collaterals .shop_table .order-total th { font-size:13px; font-weight:700; }
.woocommerce-cart .cart-collaterals .shop_table .order-total td { font-size:18px; font-weight:800; color:var(--awp-commerce-text); }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { margin-top:14px; }
.woocommerce-cart .cart-collaterals .checkout-button { width:100%; min-height:48px; border-radius:8px; justify-content:center; font-size:13px; font-weight:800; color:#fff; background:var(--theme-primary-color); border-color:var(--theme-primary-color); }
.woocommerce-cart .cart-collaterals .checkout-button:hover { background:var(--theme-primary-hover-color, var(--theme-primary-color)); }

/* Responsive commerce */
@media (max-width: 991.98px) {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .woocommerce-cart .cart-collaterals { width:100%; margin-top:12px; }
  .woocommerce-cart .cart-collaterals .cart_totals { position:static; padding:16px; border-radius:10px; }
  .woocommerce-cart .cart-collaterals { padding-bottom:74px; }
  .woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { position:fixed; z-index:1000; right:0; left:0; bottom:0; margin:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--awp-commerce-border); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
  .woocommerce-cart .cart-collaterals .checkout-button { margin:0; min-height:48px; }

  
  
  
  
  
  
  
  
  
  
  
}

/* Dark mode */
body[data-theme="dark"] {
  --awp-commerce-surface: #202124;
  --awp-commerce-soft: #2b2d31;
  --awp-commerce-border: #3a3d42;
  --awp-commerce-muted: #a6a8ad;
  --awp-commerce-text: #f2f2f3;
}

body[data-theme="dark"] .awp-mini-cart__footer .woocommerce-mini-cart__buttons .button:not(.checkout) { background:transparent; }

/* Commerce pages use their own page heading, like the reference flow. */
.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb { display:none; }

/* ================================================================
 * Commerce flow v2 — tighter retail-style rhythm and robust layout
 * ================================================================ */
/* All commerce CTAs follow the theme main color, never a separate mini-cart palette. */

/* Cart page: keep the content inside the viewport and match the reference card rhythm. */
.woocommerce-cart .cart-collaterals { min-width:0; max-width:100%; }

.woocommerce-cart .cart-collaterals .cart_totals { padding:20px 18px; }
.woocommerce-cart .cart-collaterals .checkout-button { min-height:50px; }

@media (max-width:991.98px) {
  body.woocommerce-cart { max-width:100%; overflow-x:clip; }
  .woocommerce-cart .site-content,
.woocommerce-cart .container,
.woocommerce-cart .woocommerce { width:100%; max-width:100%; min-width:0; }
  
  
  
  
  
  
  
  
  
  
  .woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { box-sizing:border-box; }

  
  
}

/* ================================================================
 * Header Builder dropdown mini cart
 * Scoped to dropdown mode so it cannot affect the side drawer.
 * ================================================================ */
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-menu {
  width:min(500px,calc(100vw - 24px));
  max-width:500px;
  padding:0;
  border:1px solid var(--awp-commerce-border);
  border-radius:10px;
  background:var(--awp-commerce-surface);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  overflow:hidden;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-body {
  padding:0;
  background:var(--awp-commerce-surface);
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-body::before,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-body::after {
  content:none;
  display:none;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:62px;
  padding:15px 16px 9px;
  border:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__title {
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__title strong {
  color:var(--awp-commerce-text);
  font-size:17px;
  line-height:1.6;
  font-weight:800;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__title span {
  color:var(--awp-commerce-muted);
  font-size:12px;
  line-height:1.6;
  white-space:nowrap;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__view-cart {
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  margin-inline-start:auto;
  color:var(--theme-primary-color);
  font-size:12px;
  line-height:1.6;
  font-weight:600;
  white-space:nowrap;
  text-decoration:none;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__view-cart:hover {
  color:var(--theme-primary-hover-color);
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart {
  max-height:330px;
  margin:0;
  padding:0 16px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item {
  display:block;
  margin:0;
  padding:16px 0 17px;
  border:0;
  border-bottom:1px solid var(--awp-commerce-border);
  background:transparent;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item:last-child { border-bottom:0; }
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item-grid {
  display:grid;
  grid-template-columns:80px minmax(0,1fr);
  align-items:start;
  gap:13px;
  min-width:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .thumbnail-wrapper {
  width:80px;
  height:80px;
  margin:0;
  padding:0;
  border-radius:9px;
  overflow:hidden;
  background:var(--awp-commerce-soft);
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .thumbnail-wrapper a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .thumbnail-wrapper img {
  display:block;
  width:80px;
  height:80px;
  max-width:100%;
  margin:0;
  object-fit:contain;
  border-radius:9px;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__content {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:80px;
  padding:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .product-title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  height:auto;
  min-height:23px;
  margin:0 0 4px;
  overflow:hidden;
  color:var(--awp-commerce-text);
  font-size:12.5px;
  line-height:1.85;
  font-weight:600;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .product-title a { color:inherit; }
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__meta {
  min-height:0;
  margin:0;
  color:var(--awp-commerce-muted);
  font-size:10.5px;
  line-height:1.75;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__meta:empty { display:none; }
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__meta dl.variation {
  display:flex;
  flex-wrap:wrap;
  gap:2px 7px;
  margin:2px 0 0;
  font-size:10.5px;
  line-height:1.7;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__meta dl.variation dt,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__meta dl.variation dd {
  margin:0;
  padding:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item-bottom {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  margin-top:10px;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__quantity-wrap { flex:0 0 auto; }
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .quantity {
  --qty-size:28px;
  --qty-form:34px;
  --qty-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:96px;
  height:42px;
  min-height:42px;
  margin:0;
  padding:0 3px;
  border:1px solid var(--awp-commerce-border);
  border-radius:22px;
  background:var(--awp-commerce-surface);
  box-shadow:none;
  overflow:hidden;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .quantity input.qty {
  width:34px;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  color:var(--theme-primary-color);
  font-size:13px;
  font-weight:700;
  text-align:center;
  pointer-events:none;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .quantity .quantity-button {
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  width:28px;
  height:38px;
  min-height:38px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--theme-primary-color);
  font-size:14px;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .quantity.ajax-quantity .minus::before,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .quantity.ajax-quantity .plus::before {
  background:transparent;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .quantity .quantity-button:hover {
  background:transparent;
  color:var(--theme-primary-hover-color,var(--theme-primary-color));
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__price {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  min-width:112px;
  line-height:1.5;
  text-align:left;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__price-old,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-old {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:19px;
  color:var(--awp-commerce-muted);
  font-size:10.5px;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__price-old del,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-old del {
  color:var(--awp-commerce-muted);
  opacity:.72;
  font-size:10.5px;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__discount-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:20px;
  padding:0 5px;
  border-radius:10px;
  background:var(--theme-primary-color);
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:700;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__price > strong,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-summary > strong {
  display:block;
  margin-top:2px;
  color:var(--awp-commerce-text);
  font-size:14px;
  line-height:1.6;
  font-weight:800;
  white-space:nowrap;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__price .woocommerce-Price-currencySymbol,
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-summary .woocommerce-Price-currencySymbol {
  margin-inline-start:3px;
  font-size:10px;
  font-weight:500;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer {
  display:block;
  min-height:84px;
  padding:12px 16px 9px;
  border-top:0;
  background:var(--awp-commerce-surface);
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer > .awp-free-shipping {
  width:100%;
  margin:0 0 12px;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-main {
  direction:ltr;
  display:grid;
  grid-template-columns:175px minmax(0,1fr);
  align-items:end;
  gap:16px;
  width:100%;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-summary {
  grid-column:1;
  direction:rtl;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  min-width:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer .woocommerce-mini-cart__buttons {
  grid-column:2;
  direction:rtl;
  display:block;
  width:100%;
  margin:0;
  padding:0;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer .woocommerce-mini-cart__buttons .checkout {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  margin:0;
  padding:8px 18px;
  border:1px solid var(--theme-primary-color);
  border-radius:8px;
  background:var(--theme-primary-color);
  color:#fff;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
  box-shadow:none;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer .woocommerce-mini-cart__buttons .checkout:hover {
  border-color:var(--theme-primary-hover-color,var(--theme-primary-color));
  background:var(--theme-primary-hover-color,var(--theme-primary-color));
  color:#fff;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-body .cart-discount {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  margin:0;
  padding:9px 16px;
  border:0;
  border-top:1px dashed var(--awp-commerce-border);
  box-sizing:border-box;
  text-align:center;
}
.site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-body .cart-discount p {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:30px;
  margin:0;
  padding:0;
  line-height:1.7;
  text-align:center;
}

@media (max-width:575.98px) {
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .custom-dropdown-menu { width:min(94vw,500px); }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__head { min-height:54px; padding:12px 13px 7px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__title strong { font-size:15px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart { padding:0 13px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item-grid { grid-template-columns:68px minmax(0,1fr); gap:10px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .thumbnail-wrapper,
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item .thumbnail-wrapper img { width:68px; height:68px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__item-bottom { gap:8px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__price { min-width:96px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer { padding:10px 13px 9px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer-main { grid-template-columns:128px minmax(0,1fr); gap:10px; }
  .site-header .header-action.cart-button[data-mini-cart="dropdown"] .awp-mini-cart__footer .woocommerce-mini-cart__buttons .checkout { min-height:46px; padding-inline:10px; font-size:13px; }
}

/* Shared commerce loading system.
 * All asynchronous add-to-cart buttons and cart-backed quantity controls use
 * the same compact spinner, while each component keeps its own layout.
 */
@keyframes awp-commerce-loader-spin {
  to { transform:rotate(360deg); }
}

:where(
  a.ajax_add_to_cart,
  a.product_type_variable,
  .awp_add_to_cart,
  button.single_add_to_cart_button,
  .awp-type3-variable-cart-button,
  .awp-type3-grouped-cart-button,
  .awp-type3-compact-cart-action,
  .sticky_add_to_cart
).loading {
  position:relative;
  pointer-events:none;
  color:transparent;
  text-indent:-9999px;
  text-shadow:none;
  overflow:hidden;
}

:where(
  a.ajax_add_to_cart,
  a.product_type_variable,
  .awp_add_to_cart,
  button.single_add_to_cart_button,
  .awp-type3-variable-cart-button,
  .awp-type3-grouped-cart-button,
  .awp-type3-compact-cart-action,
  .sticky_add_to_cart
).loading::before {
  opacity:0;
}

:where(
  a.ajax_add_to_cart,
  a.product_type_variable,
  .awp_add_to_cart,
  button.single_add_to_cart_button,
  .awp-type3-variable-cart-button,
  .awp-type3-grouped-cart-button,
  .awp-type3-compact-cart-action,
  .sticky_add_to_cart
).loading > i,
:where(
  a.ajax_add_to_cart,
  a.product_type_variable,
  .awp_add_to_cart,
  button.single_add_to_cart_button,
  .awp-type3-variable-cart-button,
  .awp-type3-grouped-cart-button,
  .awp-type3-compact-cart-action,
  .sticky_add_to_cart
).loading > svg {
  opacity:0;
}

:where(
  a.ajax_add_to_cart,
  a.product_type_variable,
  .awp_add_to_cart,
  button.single_add_to_cart_button,
  .awp-type3-variable-cart-button,
  .awp-type3-grouped-cart-button,
  .awp-type3-compact-cart-action,
  .sticky_add_to_cart
).loading::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:16px;
  height:16px;
  margin:-8px 0 0 -8px;
  border:2px solid color-mix(in srgb,var(--awp-button-loader-color,var(--theme-primary-color)) 24%,transparent);
  border-top-color:var(--awp-button-loader-color,var(--theme-primary-color));
  border-radius:50%;
  pointer-events:none;
  animation:awp-commerce-loader-spin .65s linear infinite;
}

/* Archive cards can use a preset accent that differs from the global theme color. */
.products .awp-product-card :where(.ajax_add_to_cart,.product_type_variable,.awp_add_to_cart).loading {
  --awp-button-loader-color:var(--awp-card-accent,var(--theme-primary-color));
}

/* Filled primary add-to-cart buttons need a light spinner on top of the CTA. */
.single-product :where(button.single_add_to_cart_button,.sticky_add_to_cart).loading,
.awp-type3-purchase-card :where(.awp-type3-variable-cart-button,.awp-type3-grouped-cart-button,.awp-type3-compact-cart-action).loading,
.products .awp-product-card__cart--button :where(.ajax_add_to_cart,.product_type_variable,.awp_add_to_cart).loading,
.products .primary-button :where(.ajax_add_to_cart,.product_type_variable).loading {
  --awp-button-loader-color:#fff;
}

/* Quantity spinner: the number is replaced in-place while the AJAX request is
 * running. This works for archive cards, product pages, sticky purchase bars,
 * mini cart, side cart and the cart page. */
.quantity.is-updating,
.quantity.is-syncing {
  position:relative;
  pointer-events:none;
}
.quantity.is-updating input.qty,
.quantity.is-syncing input.qty {
  color:transparent;
  caret-color:transparent;
}
.quantity.is-updating .quantity-button,
.quantity.is-syncing .quantity-button {
  opacity:.34;
  pointer-events:none;
}
.quantity.is-updating::after,
.quantity.is-syncing::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  width:15px;
  height:15px;
  margin:-7.5px 0 0 -7.5px;
  border:2px solid color-mix(in srgb,var(--theme-primary-color) 24%,transparent);
  border-top-color:var(--theme-primary-color);
  border-radius:50%;
  pointer-events:none;
  animation:awp-commerce-loader-spin .65s linear infinite;
}
