/* Two Store 7.6.5 — final responsive storefront system. */
:root {
  --tw-pro-blue: #246cf4;
  --tw-pro-ink: #091a35;
  --tw-pro-muted: #66758c;
  --tw-pro-line: #dce5f1;
  --tw-pro-surface: #f6f8fc;
  --tw-pro-radius: 15px;
  --tw-pro-shadow: 0 12px 34px rgba(13, 39, 80, .075);
}

/* 7.6.6: compact, app-like WooCommerce cart on phones. */
@media (max-width: 720px) {
  body.woocommerce-cart .tw-page,
  body.woocommerce-cart .tw-section {
    padding-block: 24px 42px !important;
  }
  body.woocommerce-cart .tw-section > .tw-wrap {
    width: calc(100% - 22px) !important;
  }
  body.woocommerce-cart .tw-section > .tw-wrap > .tw-kicker {
    display: none !important;
  }
  body.woocommerce-cart .tw-section > .tw-wrap > h2 {
    margin: 0 0 18px !important;
    color: var(--tw-text, #0a1934) !important;
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.25 !important;
    text-align: start !important;
  }
  body.woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.woocommerce-cart table.shop_table.cart,
  body.woocommerce-cart table.shop_table.cart tbody {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: block !important;
    overflow: visible !important;
  }
  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item {
    width: 100% !important;
    min-height: 176px !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    padding-inline-start: 116px !important;
    padding-inline-end: 43px !important;
    position: relative !important;
    border: 1px solid var(--tw-line, #d8e1ee) !important;
    border-radius: 14px !important;
    background: var(--tw-card, #fff) !important;
    box-shadow: 0 8px 24px rgba(10, 35, 72, .07) !important;
    display: block !important;
    overflow: hidden !important;
  }
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item > td {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: block !important;
    float: none !important;
    text-align: start !important;
  }
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item > td::before {
    margin: 0 !important;
    float: none !important;
    color: var(--tw-muted, #68778d) !important;
    font-weight: 600 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    width: 90px !important;
    height: 146px !important;
    padding: 8px !important;
    position: absolute !important;
    top: 14px !important;
    inset-inline-start: 14px !important;
    border: 1px solid var(--tw-line, #d8e1ee) !important;
    border-radius: 11px !important;
    background: #f7f9fc !important;
    display: grid !important;
    place-items: center !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail a {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #fff !important;
    object-fit: contain !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-remove {
    width: 30px !important;
    position: absolute !important;
    top: 12px !important;
    inset-inline-end: 10px !important;
    z-index: 2 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 30px !important;
    height: 30px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    color: #8a98aa !important;
    background: transparent !important;
    display: grid !important;
    place-items: center !important;
    font: 700 22px/1 Arial, sans-serif !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: rgba(222, 62, 75, .2) !important;
    background: rgba(222, 62, 75, .1) !important;
    color: #de3e4b !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-name {
    min-height: 45px !important;
    padding-inline-end: 2px !important;
    overflow: hidden !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-name::before {
    content: none !important;
    display: none !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: var(--tw-text, #0a1934) !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.65 !important;
    text-align: start !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-price {
    margin-top: 7px !important;
    color: var(--tw-muted, #68778d) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-price::before {
    content: "الوحدة: " !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-price .amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: 700 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    margin-top: 4px !important;
    color: var(--tw-pro-blue, #246cf4) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-subtotal::before {
    content: "الإجمالي: " !important;
    color: var(--tw-pro-blue, #246cf4) !important;
    font-weight: 800 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity {
    margin-top: 10px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity::before {
    content: none !important;
    display: none !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    width: 126px !important;
    height: 38px !important;
    border: 1px solid var(--tw-line, #d8e1ee) !important;
    border-radius: 9px !important;
    background: var(--tw-surface-2, #f6f8fc) !important;
    display: flex !important;
    align-items: center !important;
    direction: rtl !important;
    overflow: hidden !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity .qty {
    width: 48px !important;
    min-width: 48px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--tw-text, #0a1934) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity .qty::-webkit-inner-spin-button,
  body.woocommerce-cart table.shop_table.cart td.product-quantity .qty::-webkit-outer-spin-button {
    margin: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }
  body.woocommerce-cart .tw-cart-qty-button {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tw-muted, #68778d) !important;
    display: grid !important;
    place-items: center !important;
    font: 700 19px/1 Arial, sans-serif !important;
    cursor: pointer !important;
  }
  body.woocommerce-cart .tw-cart-qty-button:hover,
  body.woocommerce-cart .tw-cart-qty-button:focus-visible {
    background: rgba(36, 108, 244, .1) !important;
    color: var(--tw-pro-blue, #246cf4) !important;
  }
  body.woocommerce-cart table.shop_table.cart tr:last-child:not(.cart_item) {
    width: 100% !important;
    margin: 5px 0 0 !important;
    padding: 12px !important;
    border: 1px solid var(--tw-line, #d8e1ee) !important;
    border-radius: 12px !important;
    background: var(--tw-card, #fff) !important;
    display: block !important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions {
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    display: grid !important;
    gap: 8px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] {
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
  }
  body.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    margin: 16px 0 0 !important;
    float: none !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    margin: 0 !important;
    padding: 17px !important;
    float: none !important;
    border: 1px solid var(--tw-line, #d8e1ee) !important;
    border-radius: 14px !important;
    background: var(--tw-card, #fff) !important;
    box-shadow: 0 10px 28px rgba(10, 35, 72, .07) !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals h2 {
    margin: 0 0 12px !important;
    font-size: 20px !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals table {
    margin: 0 0 14px !important;
    border: 0 !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals tr {
    border-bottom: 1px solid var(--tw-line, #d8e1ee) !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals th,
  body.woocommerce-cart .cart-collaterals .cart_totals td {
    padding: 12px 4px !important;
    border: 0 !important;
    color: var(--tw-text, #0a1934) !important;
    font-size: 13px !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals tr.fee th,
  body.woocommerce-cart .cart-collaterals .cart_totals tr.fee td {
    color: var(--tw-pro-blue, #246cf4) !important;
    font-weight: 900 !important;
  }
  body.woocommerce-cart .cart-collaterals .order-total th,
  body.woocommerce-cart .cart-collaterals .order-total td {
    color: var(--tw-text, #0a1934) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }
  body.woocommerce-cart .wc-proceed-to-checkout {
    margin: 0 !important;
    padding: 0 !important;
  }
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item {
    min-height: 166px !important;
    padding: 12px !important;
    padding-inline-start: 105px !important;
    padding-inline-end: 39px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    width: 82px !important;
    height: 140px !important;
    top: 12px !important;
    inset-inline-start: 12px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-name a {
    font-size: 12px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    width: 114px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-quantity .qty {
    width: 42px !important;
    min-width: 42px !important;
  }
  body.woocommerce-cart .tw-cart-qty-button {
    width: 36px !important;
    min-width: 36px !important;
  }
}

html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
body { min-width: 320px; }
body .tw-wrap {
  width: min(1480px, calc(100% - 48px)) !important;
  max-width: 1480px !important;
}

/* Shared catalogue rhythm. */
body .tw-shop-section,
body.woocommerce-page .tw-page {
  padding-block: clamp(34px, 4vw, 64px) !important;
}
body.woocommerce-page .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce-page .woocommerce::after {
  content: "";
  display: table;
  clear: both;
}
body.woocommerce-page .woocommerce-products-header,
body.woocommerce-page .tw-shop-head {
  margin-bottom: clamp(20px, 2.4vw, 34px) !important;
}
body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-page .tw-shop-head h1 {
  margin: 0 0 8px !important;
  font-size: clamp(32px, 3.2vw, 56px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}

/* Ordering and brand selectors use the same visual language. */
body.woocommerce-page .woocommerce-ordering,
body.tax-product_cat form.tw-category-brand-filter {
  width: min(100%, 274px) !important;
}
body.woocommerce-page .woocommerce-ordering select,
body.tax-product_cat form.tw-category-brand-filter select {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 9px !important;
  background-color: var(--tw-card, #fff) !important;
  color: var(--tw-text, var(--tw-pro-ink)) !important;
  font-family: Cairo, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 5px 18px rgba(13, 39, 80, .035) !important;
}
body.woocommerce-page .woocommerce-result-count {
  color: var(--tw-muted, var(--tw-pro-muted)) !important;
  font-size: 13px !important;
  line-height: 50px !important;
}
body.tax-product_cat form.tw-category-brand-filter {
  margin-top: 8px !important;
  margin-bottom: 24px !important;
}

/* WooCommerce archive/search cards. */
body .tw-shop-section .woocommerce ul.products,
body.woocommerce-page main .woocommerce ul.products,
body.woocommerce-page .tw-page .woocommerce ul.products {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: both !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.35vw, 22px) !important;
}
body .tw-shop-section .woocommerce ul.products::before,
body .tw-shop-section .woocommerce ul.products::after,
body.woocommerce-page main .woocommerce ul.products::before,
body.woocommerce-page main .woocommerce ul.products::after {
  display: none !important;
  content: none !important;
}
body .tw-shop-section .woocommerce ul.products li.product,
body.woocommerce-page main .woocommerce ul.products li.product,
body.woocommerce-page .tw-page .woocommerce ul.products li.product {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 455px !important;
  margin: 0 !important;
  padding: 12px !important;
  float: none !important;
  position: relative !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: var(--tw-pro-radius) !important;
  background: var(--tw-card, #fff) !important;
  box-shadow: var(--tw-pro-shadow) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
body .tw-shop-section .woocommerce ul.products li.product:hover,
body.woocommerce-page main .woocommerce ul.products li.product:hover {
  border-color: rgba(36, 108, 244, .38) !important;
  box-shadow: 0 18px 42px rgba(13, 39, 80, .12) !important;
  transform: translateY(-3px) !important;
}
body .tw-shop-section .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
body.woocommerce-page main .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
body .tw-shop-section .woocommerce ul.products li.product a img,
body.woocommerce-page main .woocommerce ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1.16 / 1 !important;
  margin: 0 0 15px !important;
  padding: clamp(18px, 1.7vw, 28px) !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--tw-surface-2, var(--tw-pro-surface)) !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
body .woocommerce ul.products li.product .onsale {
  min-width: 48px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  top: 22px !important;
  right: auto !important;
  left: 22px !important;
  z-index: 3 !important;
  border-radius: 999px !important;
  background: #e94152 !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 18px !important;
}
[dir="ltr"] body .woocommerce ul.products li.product .onsale {
  right: 22px !important;
  left: auto !important;
}
body .woocommerce ul.products li.product .tw-loop-context {
  min-height: 22px !important;
  margin: 0 2px 7px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px 8px !important;
  color: var(--tw-muted, var(--tw-pro-muted)) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}
body .woocommerce ul.products li.product .tw-loop-brand {
  color: var(--tw-pro-blue) !important;
  font-weight: 900 !important;
}
body .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 58px !important;
  max-height: 66px !important;
  margin: 0 2px 10px !important;
  padding: 0 !important;
  color: var(--tw-text, var(--tw-pro-ink)) !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  font-size: clamp(13px, .92vw, 15px) !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}
body .woocommerce ul.products li.product .price {
  margin: auto 2px 0 !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  color: var(--tw-text, var(--tw-pro-ink)) !important;
  display: block !important;
  font-size: clamp(15px, 1.05vw, 18px) !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}
body .woocommerce ul.products li.product .price del {
  margin-inline-end: 6px !important;
  color: var(--tw-muted, var(--tw-pro-muted)) !important;
  font-size: .8em !important;
  opacity: .75 !important;
}
body .woocommerce ul.products li.product .tw-loop-benefits {
  min-height: 28px !important;
  margin: 10px 2px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
body .woocommerce ul.products li.product .tw-loop-benefits span {
  padding: 4px 7px !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 999px !important;
  color: var(--tw-muted, var(--tw-pro-muted)) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
body .woocommerce ul.products li.product > .button,
body .woocommerce ul.products li.product > a.added_to_cart {
  width: 100% !important;
  min-height: 44px !important;
  margin: auto 0 0 !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--tw-pro-blue) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

/* Custom home cards and product rails use fluid content, not fixed card heights. */
body .tw-client-home .tw-products:not(.tw-product-rail) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.35vw, 22px) !important;
}
body .tw-client-home .tw-product,
body .tw-client-home .tw-product-rail > .tw-product {
  min-width: 0 !important;
  height: auto !important;
  min-height: 390px !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: var(--tw-pro-radius) !important;
  background: var(--tw-card, #fff) !important;
  box-shadow: var(--tw-pro-shadow) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
body .tw-client-home .tw-product .tw-product-img,
body .tw-client-home .tw-product-rail > .tw-product .tw-product-img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1.2 / 1 !important;
  padding: clamp(18px, 1.6vw, 26px) !important;
  background: var(--tw-surface-2, var(--tw-pro-surface)) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
body .tw-client-home .tw-product .tw-product-img img,
body .tw-client-home .tw-product-rail > .tw-product .tw-product-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
body .tw-client-home .tw-product .tw-product-copy,
body .tw-client-home .tw-product-rail > .tw-product .tw-product-copy {
  min-height: 0 !important;
  height: auto !important;
  padding: 14px 16px 16px !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
body .tw-client-home .tw-product h3,
body .tw-client-home .tw-product-rail > .tw-product h3 {
  min-height: 60px !important;
  max-height: 66px !important;
  margin: 6px 0 12px !important;
  color: var(--tw-text, var(--tw-pro-ink)) !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
}
body .tw-client-home .tw-product .tw-product-meta {
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
body .tw-client-home .tw-product .tw-product-meta strong {
  color: var(--tw-text, var(--tw-pro-ink)) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}
body .tw-client-home .tw-product .tw-add {
  width: auto !important;
  min-width: 42px !important;
  max-width: 52% !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 7px 11px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}
body .tw-client-home .tw-products.tw-product-rail {
  gap: 18px !important;
  align-items: stretch !important;
}
body .tw-client-home .tw-product-rail > .tw-product {
  flex: 0 0 calc((100% - 54px) / 4) !important;
  width: calc((100% - 54px) / 4) !important;
}

/* Single product page. */
body.single-product div.product {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  align-items: start !important;
  gap: clamp(28px, 4vw, 64px) !important;
}
body.single-product div.product::before,
body.single-product div.product::after { display: none !important; content: none !important; }
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}
body.single-product div.product .woocommerce-product-gallery {
  padding: clamp(16px, 2vw, 28px) !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 18px !important;
  background: var(--tw-card, #fff) !important;
  box-shadow: var(--tw-pro-shadow) !important;
}
body.single-product div.product .woocommerce-product-gallery__image a {
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1.12 / 1 !important;
  border-radius: 12px !important;
  background: var(--tw-surface-2, var(--tw-pro-surface)) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
body.single-product div.product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 680px !important;
  padding: clamp(18px, 3vw, 44px) !important;
  object-fit: contain !important;
  object-position: center !important;
}
body.single-product div.product .summary {
  padding: clamp(22px, 2.8vw, 40px) !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 18px !important;
  background: var(--tw-card, #fff) !important;
  box-shadow: var(--tw-pro-shadow) !important;
}
body.single-product div.product .product_title {
  margin: 0 0 18px !important;
  color: var(--tw-text, var(--tw-pro-ink)) !important;
  overflow-wrap: anywhere !important;
  font-size: clamp(30px, 2.7vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 1.28 !important;
  letter-spacing: -.02em !important;
}
body.single-product div.product .summary .price {
  margin: 0 0 20px !important;
  color: var(--tw-pro-blue) !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  font-weight: 900 !important;
}
body.single-product div.product form.cart {
  margin: 22px 0 !important;
  padding: 16px !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 12px !important;
  background: var(--tw-surface-2, var(--tw-pro-surface)) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body.single-product div.product form.cart .quantity .qty {
  width: 74px !important;
  min-height: 48px !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 9px !important;
  background: var(--tw-card, #fff) !important;
  color: var(--tw-text, var(--tw-pro-ink)) !important;
}
body.single-product div.product form.cart .single_add_to_cart_button {
  min-height: 48px !important;
  padding: 10px 24px !important;
  border-radius: 9px !important;
  flex: 1 1 auto !important;
  background: var(--tw-pro-blue) !important;
  font-family: Cairo, sans-serif !important;
  font-weight: 900 !important;
}
body.single-product .tw-single-confidence {
  width: 100% !important;
  margin: 18px 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
body.single-product .tw-single-confidence > * {
  min-width: 0 !important;
  min-height: 64px !important;
  padding: 10px !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 10px !important;
  background: var(--tw-surface-2, var(--tw-pro-surface)) !important;
}
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related,
body.single-product div.product .upsells {
  width: 100% !important;
  grid-column: 1 / -1 !important;
}
body.single-product div.product .woocommerce-tabs {
  margin-top: 14px !important;
  padding: clamp(20px, 3vw, 38px) !important;
  border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 16px !important;
  background: var(--tw-card, #fff) !important;
}

/* Cart and checkout controls remain usable at every width. */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
  color: var(--tw-text, var(--tw-pro-ink)) !important;
}
body.woocommerce-cart .shop_table,
body.woocommerce-checkout .shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order {
  border-color: var(--tw-line, var(--tw-pro-line)) !important;
  border-radius: 14px !important;
  background: var(--tw-card, #fff) !important;
  overflow: hidden !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-checkout #place_order {
  min-height: 50px !important;
  border-radius: 9px !important;
  background: var(--tw-pro-blue) !important;
  font-family: Cairo, sans-serif !important;
  font-weight: 900 !important;
}

@media (min-width: 721px) and (max-width: 1280px) {
  body .tw-shop-section .woocommerce ul.products,
  body.woocommerce-page main .woocommerce ul.products,
  body.woocommerce-page .tw-page .woocommerce ul.products,
  body .tw-client-home .tw-products:not(.tw-product-rail) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body .tw-client-home .tw-product-rail > .tw-product {
    flex-basis: calc((100% - 28px) / 3) !important;
    width: calc((100% - 28px) / 3) !important;
  }
  body .tw-client-home .tw-products.tw-product-rail { gap: 14px !important; }
  body.single-product div.product {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 720px) {
  body .tw-wrap { width: calc(100% - 24px) !important; }
  body .tw-shop-section,
  body.woocommerce-page .tw-page { padding-block: 28px 42px !important; }
  body.woocommerce-page .woocommerce-products-header__title,
  body.woocommerce-page .tw-shop-head h1 { font-size: clamp(31px, 10vw, 44px) !important; }
  body.woocommerce-page .woocommerce-ordering,
  body.tax-product_cat form.tw-category-brand-filter {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
  }
  body.woocommerce-page .woocommerce-result-count {
    width: 100% !important;
    margin: 0 0 8px !important;
    float: none !important;
    line-height: 1.6 !important;
  }
  body.tax-product_cat form.tw-category-brand-filter { margin: 10px 0 20px !important; }
  body .tw-shop-section .woocommerce ul.products,
  body.woocommerce-page main .woocommerce ul.products,
  body.woocommerce-page .tw-page .woocommerce ul.products,
  body .tw-client-home .tw-products:not(.tw-product-rail) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body .tw-shop-section .woocommerce ul.products li.product,
  body.woocommerce-page main .woocommerce ul.products li.product,
  body.woocommerce-page .tw-page .woocommerce ul.products li.product {
    min-height: 365px !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }
  body .tw-shop-section .woocommerce ul.products li.product:hover,
  body.woocommerce-page main .woocommerce ul.products li.product:hover { transform: none !important; }
  body .tw-shop-section .woocommerce ul.products li.product a img,
  body.woocommerce-page main .woocommerce ul.products li.product a img {
    aspect-ratio: 1 / 1 !important;
    margin-bottom: 10px !important;
    padding: 12px !important;
    border-radius: 9px !important;
  }
  body .woocommerce ul.products li.product .onsale {
    top: 14px !important;
    left: 14px !important;
  }
  body .woocommerce ul.products li.product .tw-loop-context {
    min-height: 18px !important;
    margin-bottom: 5px !important;
    font-size: 8px !important;
  }
  body .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 57px !important;
    max-height: 63px !important;
    margin-bottom: 8px !important;
    font-size: 11.5px !important;
    line-height: 1.65 !important;
  }
  body .woocommerce ul.products li.product .price {
    padding-top: 9px !important;
    font-size: 13px !important;
  }
  body .woocommerce ul.products li.product .tw-loop-benefits {
    min-height: 24px !important;
    margin: 7px 0 !important;
    gap: 3px !important;
  }
  body .woocommerce ul.products li.product .tw-loop-benefits span {
    padding: 3px 5px !important;
    font-size: 7px !important;
  }
  body .woocommerce ul.products li.product > .button,
  body .woocommerce ul.products li.product > a.added_to_cart {
    min-height: 40px !important;
    padding: 8px !important;
    font-size: 10px !important;
  }
  body .tw-client-home .tw-product,
  body .tw-client-home .tw-product-rail > .tw-product { min-height: 315px !important; }
  body .tw-client-home .tw-product .tw-product-img,
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img {
    aspect-ratio: 1 / 1 !important;
    padding: 13px !important;
  }
  body .tw-client-home .tw-product .tw-product-copy,
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-copy { padding: 10px !important; }
  body .tw-client-home .tw-product h3,
  body .tw-client-home .tw-product-rail > .tw-product h3 {
    min-height: 54px !important;
    max-height: 58px !important;
    margin: 5px 0 9px !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
  }
  body .tw-client-home .tw-product .tw-product-meta strong { font-size: 12px !important; }
  body .tw-client-home .tw-product .tw-add {
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding-inline: 8px !important;
    font-size: 0 !important;
  }
  body .tw-client-home .tw-product .tw-add::before {
    content: "+" !important;
    font: 900 20px/1 Arial, sans-serif !important;
  }
  body .tw-client-home .tw-product-rail > .tw-product {
    flex: 0 0 calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
  }
  body .tw-client-home .tw-products.tw-product-rail { gap: 10px !important; }
  body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary {
    padding: 14px !important;
    border-radius: 13px !important;
  }
  body.single-product div.product .woocommerce-product-gallery__image a { aspect-ratio: 1 / 1 !important; }
  body.single-product div.product .woocommerce-product-gallery__image img { padding: 18px !important; }
  body.single-product div.product .product_title {
    margin-bottom: 13px !important;
    font-size: clamp(25px, 7.5vw, 33px) !important;
    line-height: 1.35 !important;
  }
  body.single-product div.product .summary .price { font-size: 23px !important; }
  body.single-product div.product form.cart {
    padding: 10px !important;
    align-items: stretch !important;
  }
  body.single-product div.product form.cart .quantity { flex: 0 0 68px !important; }
  body.single-product div.product form.cart .quantity .qty { width: 68px !important; }
  body.single-product .tw-single-confidence { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.single-product div.product .woocommerce-tabs { padding: 16px !important; }
  body.woocommerce-cart table.shop_table_responsive tr,
  body.woocommerce-page table.shop_table_responsive tr {
    margin-bottom: 12px !important;
    padding: 10px !important;
    border: 1px solid var(--tw-line, var(--tw-pro-line)) !important;
    border-radius: 10px !important;
  }
}

@media (max-width: 390px) {
  body .tw-shop-section .woocommerce ul.products,
  body.woocommerce-page main .woocommerce ul.products,
  body.woocommerce-page .tw-page .woocommerce ul.products,
  body .tw-client-home .tw-products:not(.tw-product-rail) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body .tw-shop-section .woocommerce ul.products li.product,
  body.woocommerce-page main .woocommerce ul.products li.product,
  body.woocommerce-page .tw-page .woocommerce ul.products li.product {
    min-height: 340px !important;
    padding: 7px !important;
  }
  body .tw-shop-section .woocommerce ul.products li.product a img,
  body.woocommerce-page main .woocommerce ul.products li.product a img {
    aspect-ratio: 1 / 1 !important;
    padding: 10px !important;
  }
  body .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 54px !important;
    max-height: 58px !important;
    font-size: 10.5px !important;
  }
  body .woocommerce ul.products li.product .price { font-size: 12px !important; }
  body .tw-client-home .tw-product-rail > .tw-product {
    flex: 0 0 calc((100% - 8px) / 2) !important;
    width: calc((100% - 8px) / 2) !important;
    min-height: 292px !important;
  }
  body .tw-client-home .tw-products.tw-product-rail { gap: 8px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img {
    aspect-ratio: 1 / 1 !important;
    padding: 10px !important;
  }
  body .tw-client-home .tw-product-rail > .tw-product h3 { font-size: 10px !important; }
}

/* Dark storefront surfaces remain calm and legible. */
body:not(.tw-light) .tw-shop-section .woocommerce ul.products li.product,
body:not(.tw-light).woocommerce-page main .woocommerce ul.products li.product,
body:not(.tw-light) .tw-client-home .tw-product,
body:not(.tw-light).single-product div.product .woocommerce-product-gallery,
body:not(.tw-light).single-product div.product .summary,
html[data-tw-theme="dark"] body .tw-shop-section .woocommerce ul.products li.product,
html[data-tw-theme="dark"] body.single-product div.product .summary {
  border-color: #293b57 !important;
  background: #0f1a2c !important;
}
body:not(.tw-light) .tw-shop-section .woocommerce ul.products li.product a img,
body:not(.tw-light) .tw-client-home .tw-product .tw-product-img,
body:not(.tw-light).single-product div.product .woocommerce-product-gallery__image a,
html[data-tw-theme="dark"] body .tw-shop-section .woocommerce ul.products li.product a img {
  background: #152238 !important;
}

/* 7.6.1: compact phone composition — content begins without a full-screen hero. */
@media (max-width: 720px) {
  body .tw-header,
  body .tw-header .tw-mainbar {
    height: 116px !important;
    min-height: 116px !important;
  }
  body .tw-header .tw-mainbar-inner {
    width: 100% !important;
    min-height: 116px !important;
    height: 116px !important;
    padding: 0 10px !important;
  }
  body .tw-header .tw-brand {
    top: 2px !important;
    right: 10px !important;
  }
  [dir="ltr"] body .tw-header .tw-brand {
    right: auto !important;
    left: 10px !important;
  }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 44px !important;
    max-height: 44px !important;
  }
  body .tw-header .tw-actions {
    top: 0 !important;
    left: 10px !important;
    min-height: 48px !important;
  }
  [dir="ltr"] body .tw-header .tw-actions {
    right: 10px !important;
    left: auto !important;
  }
  body .tw-header .tw-search {
    right: 10px !important;
    bottom: 7px !important;
    left: 10px !important;
  }
  body .tw-header .tw-search,
  body .tw-header .tw-search input {
    height: 44px !important;
    min-height: 44px !important;
  }
  body .tw-header .tw-search-icon { top: 13px !important; }

  /* Categories button sits directly beside the cart on phones only. */
  body .tw-header .tw-cart { order: 1 !important; }
  body .tw-header .tw-menu-toggle {
    order: 2 !important;
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 7px !important;
    border: 1px solid var(--tw-line, #d8e1ee) !important;
    border-radius: 9px !important;
    background: var(--tw-card, #fff) !important;
    color: var(--tw-text, #0a1934) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }
  body .tw-header .tw-theme-toggle { order: 3 !important; }
  body .tw-header .tw-language-switch { order: 4 !important; }
  body .tw-header .tw-menu-toggle > .tw-menu-toggle-icon {
    width: 18px !important;
    min-width: 18px !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    background: transparent !important;
    display: grid !important;
    align-content: space-between !important;
  }
  body .tw-header .tw-menu-toggle > .tw-menu-toggle-icon i {
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
    display: block !important;
  }
  body .tw-header .tw-menu-toggle > small {
    color: inherit !important;
    display: block !important;
    font-family: Cairo, sans-serif !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body .tw-header .tw-mobile-categories {
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 4px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #243650 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.tw-light .tw-header .tw-mobile-categories,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-categories {
    border-color: #e0e7f1 !important;
  }

  body .tw-client-home .tw-home-hero {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
    overflow: hidden !important;
  }
  body .tw-client-home .tw-home-hero .tw-hero-grid {
    width: 100% !important;
    height: 160px !important;
    min-height: 160px !important;
  }
  body .tw-client-home .tw-home-hero .tw-hero-content,
  [dir="ltr"] body .tw-client-home .tw-home-hero .tw-hero-content {
    width: 100% !important;
    max-width: none !important;
    height: 160px !important;
    min-height: 160px !important;
    padding: 12px !important;
    right: 0 !important;
    left: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body .tw-client-home .tw-home-hero h1 {
    margin: 0 0 11px !important;
    font-size: clamp(31px, 9.2vw, 39px) !important;
    line-height: 1.02 !important;
  }
  body .tw-client-home .tw-btn.tw-primary {
    width: 174px !important;
    min-width: 174px !important;
    max-width: 174px !important;
    min-height: 46px !important;
    height: 46px !important;
    padding-inline: 17px !important;
    border-radius: 9px !important;
    flex: 0 0 174px !important;
    font-size: 14px !important;
  }
  body .tw-client-home .tw-home-hero .tw-photo-stage {
    inset: 160px 0 auto !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
  }
  body .tw-client-home .tw-home-hero .tw-photo-stage > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 68% center !important;
  }
}

@media (max-width: 390px) {
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
  }
  body .tw-header .tw-menu-toggle {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    padding-inline: 5px !important;
    gap: 4px !important;
  }
  body .tw-client-home .tw-home-hero {
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
  }
  body .tw-client-home .tw-home-hero .tw-hero-grid,
  body .tw-client-home .tw-home-hero .tw-hero-content,
  [dir="ltr"] body .tw-client-home .tw-home-hero .tw-hero-content {
    height: 150px !important;
    min-height: 150px !important;
  }
  body .tw-client-home .tw-home-hero h1 { font-size: 30px !important; }
  body .tw-client-home .tw-home-hero .tw-photo-stage {
    inset: 150px 0 auto !important;
    height: 170px !important;
    min-height: 170px !important;
  }
}

/* 7.6.4: every phone catalogue and every dynamic category keeps two products per row. */
@media (max-width: 720px) {
  html body .tw-shop-section .woocommerce ul.products,
  html body.woocommerce-page main .woocommerce ul.products,
  html body.woocommerce-page .tw-page .woocommerce ul.products {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 12px !important;
  }
  html body .tw-shop-section .woocommerce ul.products > li.product,
  html body.woocommerce-page main .woocommerce ul.products > li.product,
  html body.woocommerce-page .tw-page .woocommerce ul.products > li.product {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
  }

  html body .tw-client-home .tw-products.tw-product-rail {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 2px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
  }
  html body .tw-client-home .tw-products.tw-product-rail > article.tw-product {
    width: calc((100% - 8px) / 2) !important;
    min-width: calc((100% - 8px) / 2) !important;
    max-width: calc((100% - 8px) / 2) !important;
    flex: 0 0 calc((100% - 8px) / 2) !important;
    margin: 0 !important;
  }
  html body .tw-client-home .tw-rail-arrow { display: none !important; }
}
