/* Two Store 6.2 — premium scale and real responsive layout. */
:root {
  --ts62-blue: #2267f5;
  --ts62-navy: #071633;
  --ts62-line: #dce5f2;
  --ts62-muted: #65748a;
}

html,
body { width: 100%; max-width: 100%; overflow-x: clip !important; }
body .tw-wrap,
body .tw-header .tw-mainbar-inner,
body .tw-client-home .tw-home-hero .tw-hero-grid {
  width: min(1480px, calc(100% - 48px)) !important;
}

/* Header: human-sized controls and navigation. */
body .tw-header,
body .tw-header .tw-mainbar { height: 82px !important; }
body .tw-header .tw-mainbar-inner {
  min-height: 82px !important;
  height: 82px !important;
  grid-template-columns: 180px minmax(500px, 1fr) minmax(300px, 390px) 260px !important;
  gap: 22px !important;
}
body .tw-header .tw-brand,
body .tw-header .tw-brand-logo { width: 170px !important; height: 56px !important; max-height: 56px !important; }
body .tw-header .tw-menu a { font-size: 13px !important; line-height: 1.35 !important; }
body .tw-header .tw-search,
body .tw-header .tw-search input { height: 48px !important; }
body .tw-header .tw-search input { padding-inline: 48px 16px !important; font-size: 13px !important; }
body .tw-header .tw-search-icon { top: 15px !important; }
body .tw-header .tw-language-switch,
body .tw-header .tw-header-icon small { font-size: 11px !important; }

/* Dark header must be a complete theme, not a white header with white assets. */
body:not(.tw-light) .tw-header,
html[data-tw-theme="dark"] body .tw-header {
  background: rgba(7,13,24,.97) !important;
  box-shadow: 0 1px 0 #27364f !important;
  color: #f7f9fd !important;
}
body:not(.tw-light) .tw-header .tw-mainbar,
html[data-tw-theme="dark"] body .tw-header .tw-mainbar { background: transparent !important; }
body:not(.tw-light) .tw-header .tw-menu a,
body:not(.tw-light) .tw-header .tw-header-icon,
body:not(.tw-light) .tw-header .tw-header-icon small,
body:not(.tw-light) .tw-header .tw-language-switch,
html[data-tw-theme="dark"] body .tw-header .tw-menu a,
html[data-tw-theme="dark"] body .tw-header .tw-header-icon,
html[data-tw-theme="dark"] body .tw-header .tw-header-icon small,
html[data-tw-theme="dark"] body .tw-header .tw-language-switch { color: #f6f8fc !important; }
body:not(.tw-light) .tw-header .tw-search input,
html[data-tw-theme="dark"] body .tw-header .tw-search input {
  border-color: #31415d !important;
  background: #101b2e !important;
  color: #f7f9fd !important;
  box-shadow: none !important;
}
body:not(.tw-light) .tw-header .tw-search input::placeholder,
html[data-tw-theme="dark"] body .tw-header .tw-search input::placeholder { color: #98a8be !important; opacity: 1 !important; }
body:not(.tw-light) .tw-header .tw-search-icon,
html[data-tw-theme="dark"] body .tw-header .tw-search-icon { border-color: #d9e3f3 !important; }
body:not(.tw-light) .tw-header .tw-search-icon::after,
html[data-tw-theme="dark"] body .tw-header .tw-search-icon::after { background: #d9e3f3 !important; }
body:not(.tw-light) .tw-header .tw-brand-logo--primary,
html[data-tw-theme="dark"] body .tw-header .tw-brand-logo--primary { display: none !important; }
body:not(.tw-light) .tw-header .tw-brand-logo--reversed,
html[data-tw-theme="dark"] body .tw-header .tw-brand-logo--reversed { display: block !important; visibility: visible !important; opacity: 1 !important; }

/* Real wide hero, using a purpose-built 3:1 campaign image. */
body .tw-client-home .tw-home-hero {
  height: 520px !important;
  min-height: 520px !important;
  max-height: 520px !important;
}
body .tw-client-home .tw-home-hero .tw-photo-stage,
body .tw-client-home .tw-home-hero .tw-hero-grid {
  height: 405px !important;
  min-height: 405px !important;
}
body .tw-client-home .tw-home-hero .tw-photo-stage > img {
  object-fit: cover !important;
  object-position: center center !important;
}
body .tw-client-home .tw-home-hero .tw-hero-content {
  width: 42% !important;
  max-width: 610px !important;
  height: 405px !important;
  padding: 28px 0 !important;
}
body .tw-client-home .tw-home-hero h1 {
  margin-bottom: 26px !important;
  font-size: clamp(60px, 4.4vw, 78px) !important;
  line-height: 1.05 !important;
}
body .tw-client-home .tw-btn.tw-primary {
  min-width: 220px !important;
  min-height: 58px !important;
  padding-inline: 28px !important;
  border-radius: 10px !important;
  font-size: 17px !important;
}

/* Category rail. */
body .tw-client-home .tw-hero-categories { height: 115px !important; }
body .tw-client-home .tw-hero-categories .tw-category-grid { height: 115px !important; gap: 12px !important; }
body .tw-client-home .tw-hero-categories .tw-category {
  min-height: 115px !important;
  height: 115px !important;
  padding: 12px !important;
  grid-template-columns: 64px minmax(0,1fr) !important;
  gap: 10px !important;
  border-radius: 12px 12px 0 0 !important;
}
body .tw-client-home .tw-hero-categories .tw-category-media { width: 64px !important; height: 64px !important; }
body .tw-client-home .tw-hero-categories .tw-category-icon { width: 43px !important; height: 43px !important; }
body .tw-client-home .tw-hero-categories .tw-category-copy strong { font-size: 12px !important; line-height: 1.4 !important; }
body .tw-client-home .tw-hero-categories .tw-category-copy small { font-size: 9px !important; }

/* Offers and headings. */
body .tw-client-home .tw-offer-strip { padding-top: 16px !important; }
body .tw-client-home .tw-offer-strip-inner { height: 64px !important; padding-inline: 22px !important; border-radius: 10px !important; }
body .tw-client-home .tw-offer-strip strong { font-size: 25px !important; }
body .tw-client-home .tw-offer-strip strong b { font-size: 34px !important; }
body .tw-client-home .tw-offer-clock b { font-size: 17px !important; }
body .tw-client-home .tw-offer-clock small,
body .tw-client-home .tw-offer-strip a { font-size: 10px !important; }
body:not(.tw-light) .tw-client-home .tw-offer-strip-inner { border-color: #315a9e !important; background: #0e192b !important; }
body:not(.tw-light) .tw-client-home .tw-offer-strip a {
  border-color: #5484d2 !important;
  background: #172844 !important;
  color: #f3f7ff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
body:not(.tw-light) .tw-client-home .tw-offer-strip a:hover { border-color: #7babf8 !important; background: #2267f5 !important; color: #fff !important; }
body .tw-client-home .tw-section-products { padding: 22px 0 20px !important; }
body .tw-client-home .tw-section-head { min-height: 40px !important; margin-bottom: 12px !important; }
body .tw-client-home .tw-section-head h2,
body .tw-client-home .tw-builds-section h2 { font-size: 27px !important; }
body .tw-client-home .tw-view-all { font-size: 11px !important; }

/* Product cards large enough to sell the product. */
body .tw-client-home .tw-products { gap: 14px !important; }
body .tw-client-home .tw-product {
  height: 310px !important;
  border-radius: 13px !important;
  box-shadow: 0 8px 28px rgba(17,44,86,.055) !important;
}
body .tw-client-home .tw-product-img {
  height: 195px !important;
  padding: 18px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg,#fbfcff 0%,#f5f8fd 100%) !important;
}
body .tw-client-home .tw-product-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
body .tw-client-home .tw-product-copy { min-height: 115px !important; padding: 12px 14px 13px !important; }
body .tw-client-home .tw-product h3 {
  min-height: 46px !important;
  margin-bottom: 8px !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
}
body .tw-client-home .tw-product-meta strong { font-size: 14px !important; }
body .tw-client-home .tw-add { width: 38px !important; min-width: 38px !important; height: 38px !important; min-height: 38px !important; border-radius: 8px !important; }

/* Gaming bundles. */
body .tw-client-home .tw-builds-section { padding-bottom: 18px !important; }
body .tw-client-home .tw-builds-section h2 { margin-bottom: 12px !important; }
body .tw-client-home .tw-build-grid { gap: 14px !important; }
body .tw-client-home .tw-build-grid article { height: 205px !important; padding: 10px !important; border-radius: 13px !important; }
body .tw-client-home .tw-build-grid img { height: 183px !important; border-radius: 9px !important; }
body .tw-client-home .tw-build-grid article > div { padding-inline: 16px !important; }
body .tw-client-home .tw-build-grid strong,
body .tw-client-home .tw-build-grid article > div > b { font-size: 14px !important; }
body .tw-client-home .tw-build-grid ul { margin: 7px 0 !important; font-size: 10px !important; line-height: 1.65 !important; }
body .tw-client-home .tw-build-grid article > div > a { padding: 8px 12px !important; border-radius: 6px !important; font-size: 10px !important; }

/* Three useful category collections replace the old PC builds. */
body .tw-client-home .tw-collections-section { padding: 0 0 20px !important; background: #fff !important; }
body .tw-client-home .tw-collections-head { margin-bottom: 12px !important; display: flex !important; align-items: end !important; justify-content: space-between !important; gap: 20px !important; }
body .tw-client-home .tw-collections-head span { color: var(--ts62-blue) !important; font-size: 11px !important; font-weight: 800 !important; }
body .tw-client-home .tw-collections-head h2 { margin: 3px 0 0 !important; color: var(--ts62-navy) !important; font-size: 27px !important; line-height: 1.25 !important; }
body .tw-client-home .tw-collections-head > a { color: var(--ts62-blue) !important; font-size: 11px !important; font-weight: 800 !important; }
body .tw-client-home .tw-collection-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px !important; }
body .tw-client-home .tw-collection-card { min-width: 0 !important; min-height: 285px !important; position: relative !important; overflow: hidden !important; border: 1px solid #dce5f2 !important; border-radius: 14px !important; background: #071226 !important; box-shadow: 0 12px 34px rgba(11,34,73,.09) !important; color: #fff !important; isolation: isolate !important; }
body .tw-client-home .tw-collection-card::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,transparent 25%,rgba(3,10,24,.12) 52%,rgba(3,10,24,.94) 100%); }
body .tw-client-home .tw-collection-card img { width: 100% !important; height: 285px !important; display: block !important; object-fit: cover !important; object-position: center !important; transition: transform .35s ease !important; }
body .tw-client-home .tw-collection-card:hover img { transform: scale(1.025) !important; }
body .tw-client-home .tw-collection-card > span { position: absolute !important; z-index: 2 !important; right: 20px !important; bottom: 18px !important; left: 20px !important; display: grid !important; }
body .tw-client-home .tw-collection-card small { color: #b7ccf8 !important; font-size: 10px !important; }
body .tw-client-home .tw-collection-card strong { margin: 3px 0 7px !important; color: #fff !important; font-size: 23px !important; line-height: 1.25 !important; }
body .tw-client-home .tw-collection-card b { width: max-content !important; padding: 7px 11px !important; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 7px !important; background: rgba(34,103,245,.88) !important; color: #fff !important; font-size: 10px !important; }
body:not(.tw-light) .tw-client-home .tw-collections-section { background: #080d17 !important; }
body:not(.tw-light) .tw-client-home .tw-collections-head h2 { color: #f6f8fc !important; }
body:not(.tw-light) .tw-client-home .tw-product-img { background: linear-gradient(180deg,#17243a 0%,#111c2f 100%) !important; }

/* No ugly native horizontal scrollbar in the brand rail. */
body .tw-client-home .tw-brands {
  height: 78px !important;
  padding: 8px 14px !important;
  grid-auto-columns: minmax(150px, 1fr) !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
body .tw-client-home .tw-brands::-webkit-scrollbar { display: none !important; }
body .tw-client-home .tw-brand-tile { min-width: 150px !important; height: 60px !important; }
body .tw-client-home .tw-maker-logo { max-width: 116px !important; height: 34px !important; }
body:not(.tw-light) .tw-client-home .tw-maker-logo,
html[data-tw-theme="dark"] body .tw-client-home .tw-maker-logo { filter: grayscale(1) brightness(0) invert(1) !important; opacity: .86 !important; }
body:not(.tw-light) .tw-client-home .tw-brand-tile:hover .tw-maker-logo { opacity: 1 !important; }
body .tw-client-home .tw-benefit-grid,
body .tw-client-home .tw-benefit-grid > div { min-height: 82px !important; }
body .tw-client-home .tw-benefit-grid strong { font-size: 13px !important; }
body .tw-client-home .tw-benefit-grid small { font-size: 10px !important; }
body:not(.tw-light) .tw-client-home .tw-benefit-grid strong { color: #f8faff !important; }
body:not(.tw-light) .tw-client-home .tw-benefit-grid small { color: #aebdd0 !important; }
body:not(.tw-light) .tw-client-home .tw-benefit-grid > div > b { border-color: #527cc7 !important; background: #13223a !important; color: #6ca7ff !important; }

@media (max-width: 1280px) {
  body .tw-header .tw-mainbar-inner { grid-template-columns: 155px 1fr 300px 230px !important; gap: 14px !important; }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 150px !important; }
  body .tw-header .tw-menu a { font-size: 11px !important; }
  body .tw-client-home .tw-products { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  body .tw-client-home .tw-product { height: 330px !important; }
  body .tw-client-home .tw-product-img { height: 215px !important; }
  body .tw-client-home .tw-collection-card,
  body .tw-client-home .tw-collection-card img { min-height: 270px !important; height: 270px !important; }
}

@media (max-width: 1050px) {
  body .tw-header,
  body .tw-header .tw-mainbar { height: 78px !important; }
  body .tw-header .tw-mainbar-inner { min-height: 78px !important; height: 78px !important; grid-template-columns: 155px 1fr auto !important; }
  body .tw-client-home .tw-home-hero { height: 540px !important; min-height: 540px !important; max-height: 540px !important; }
  body .tw-client-home .tw-home-hero .tw-photo-stage,
  body .tw-client-home .tw-home-hero .tw-hero-grid,
  body .tw-client-home .tw-home-hero .tw-hero-content { height: 425px !important; min-height: 425px !important; }
  body .tw-client-home .tw-home-hero h1 { font-size: 58px !important; }
}

@media (max-width: 720px) {
  body .tw-wrap { width: calc(100% - 24px) !important; }
  body .tw-header,
  body .tw-header .tw-mainbar { height: 128px !important; }
  body .tw-header .tw-mainbar-inner {
    width: 100% !important;
    min-height: 128px !important;
    height: 128px !important;
    padding: 0 12px !important;
  }
  body .tw-header .tw-brand { right: 12px !important; top: 4px !important; }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 116px !important; min-width: 116px !important; max-width: 116px !important; height: 48px !important; }
  body .tw-header .tw-actions { left: 12px !important; top: 1px !important; }
  body .tw-header .tw-account { display: none !important; }
  body .tw-header .tw-language-switch { display: flex !important; }
  body .tw-header .tw-cart { order: 1 !important; display: flex !important; }
  body .tw-header .tw-theme-toggle { order: 2 !important; display: flex !important; }
  body .tw-header .tw-language-switch { order: 3 !important; }
  body .tw-header .tw-menu-toggle { order: 4 !important; }
  body .tw-header .tw-menu-toggle {
    display: grid !important;
    place-content: center !important;
    padding: 8px !important;
    border: 1px solid #d8e1ee !important;
    background: #fff !important;
  }
  body .tw-header .tw-menu-toggle span { width: 20px !important; height: 2px !important; margin: 2px 0 !important; display: block !important; }
  body .tw-header .tw-count { top: -3px !important; left: -3px !important; }
  body .tw-header .tw-search { right: 12px !important; bottom: 8px !important; left: 12px !important; }
  body .tw-header .tw-search,
  body .tw-header .tw-search input { height: 48px !important; }

  body .tw-client-home .tw-home-hero { height: 600px !important; min-height: 600px !important; max-height: 600px !important; }
  body .tw-client-home .tw-home-hero .tw-hero-grid { width: 100% !important; height: 250px !important; min-height: 250px !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: 250px !important;
    min-height: 250px !important;
    padding: 20px 12px 14px !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-bottom: 18px !important; font-size: clamp(40px,11vw,52px) !important; }
  body .tw-client-home .tw-btn.tw-primary { width: 210px !important; min-width: 210px !important; min-height: 56px !important; font-size: 16px !important; }
  body .tw-client-home .tw-home-hero .tw-photo-stage {
    inset: 250px 0 auto !important;
    height: 235px !important;
    min-height: 235px !important;
    background: #f7f9fd !important;
  }
  body .tw-client-home .tw-home-hero .tw-photo-stage > img {
    object-fit: cover !important;
    object-position: 68% center !important;
  }
  body .tw-client-home .tw-hero-categories { height: 115px !important; margin: 0 12px !important; }
  body .tw-client-home .tw-hero-categories .tw-category-grid { height: 115px !important; grid-auto-columns: 168px !important; }
  body .tw-client-home .tw-hero-categories .tw-category { width: 168px !important; min-width: 168px !important; max-width: 168px !important; height: 115px !important; }

  body .tw-client-home .tw-offer-strip { padding-top: 12px !important; }
  body .tw-client-home .tw-offer-strip-inner {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    min-height: 118px !important;
    height: auto !important;
    margin: 0 12px !important;
    padding: 13px !important;
  }
  body .tw-client-home .tw-offer-strip strong { font-size: 20px !important; }
  body .tw-client-home .tw-offer-strip strong b { font-size: 28px !important; }
  body .tw-client-home .tw-offer-clock i { min-width: 48px !important; }

  body .tw-client-home .tw-section-products { padding-top: 18px !important; }
  body .tw-client-home .tw-section-head h2,
  body .tw-client-home .tw-builds-section h2 { font-size: 25px !important; }
  body .tw-client-home .tw-products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  body .tw-client-home .tw-product { height: 300px !important; }
  body .tw-client-home .tw-product-img { height: 185px !important; }
  body .tw-client-home .tw-product-copy { min-height: 115px !important; padding: 10px !important; }
  body .tw-client-home .tw-product h3 { min-height: 48px !important; font-size: 12px !important; line-height: 1.7 !important; }
  body .tw-client-home .tw-product-meta strong { font-size: 13px !important; }
  body .tw-client-home .tw-build-grid { grid-template-columns: 1fr !important; }
  body .tw-client-home .tw-build-grid article { height: 205px !important; grid-template-columns: 46% 54% !important; }
  body .tw-client-home .tw-collections-head h2 { font-size: 25px !important; }
  body .tw-client-home .tw-collection-grid { grid-template-columns: 1fr !important; }
  body .tw-client-home .tw-collection-card,
  body .tw-client-home .tw-collection-card img { min-height: 280px !important; height: 280px !important; }
  body .tw-client-home .tw-collection-card img { object-position: center 52% !important; }
  body .tw-client-home .tw-collection-card strong { font-size: 22px !important; }
  body .tw-client-home .tw-benefit-grid { grid-template-columns: repeat(2,1fr) !important; }
}

@media (max-width: 420px) {
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 108px !important; min-width: 108px !important; max-width: 108px !important; }
  body .tw-header .tw-actions { max-width: calc(100% - 142px) !important; gap: 2px !important; }
  body .tw-client-home .tw-products { gap: 8px !important; }
  body .tw-client-home .tw-product { height: 280px !important; }
  body .tw-client-home .tw-product-img { height: 170px !important; }
  body .tw-client-home .tw-product-copy { min-height: 110px !important; padding: 9px !important; }
  body .tw-client-home .tw-product h3 { min-height: 46px !important; font-size: 11px !important; }
  body .tw-client-home .tw-product-meta strong { font-size: 12px !important; }
  body .tw-client-home .tw-build-grid article { grid-template-columns: 43% 57% !important; }
  body .tw-client-home .tw-collections-head { align-items: flex-start !important; flex-direction: column !important; gap: 6px !important; }
  body .tw-client-home .tw-collection-card,
  body .tw-client-home .tw-collection-card img { min-height: 245px !important; height: 245px !important; }
  body .tw-client-home .tw-collection-card > span { right: 15px !important; bottom: 14px !important; left: 15px !important; }
  body .tw-client-home .tw-collection-card strong { font-size: 20px !important; }
}

@media (max-width: 360px) {
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 96px !important; min-width: 96px !important; max-width: 96px !important; }
  body .tw-header .tw-actions { max-width: calc(100% - 125px) !important; }
  body .tw-header .tw-language-switch { display: none !important; }
  body .tw-client-home .tw-products { grid-template-columns: 1fr !important; }
  body .tw-client-home .tw-product { height: 410px !important; }
  body .tw-client-home .tw-product-img { height: 285px !important; }
  body .tw-client-home .tw-product h3 { font-size: 13px !important; }
  body .tw-client-home .tw-collection-card,
  body .tw-client-home .tw-collection-card img { min-height: 225px !important; height: 225px !important; }
  body .tw-client-home .tw-benefit-grid { grid-template-columns: 1fr !important; }
}

/* 6.6: desktop header columns stay isolated, even with seven bilingual links. */
@media (min-width: 1281px) {
  body .tw-client-home .tw-products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

/* 7.5.8: brand filtering uses the same compact dropdown as Woo sorting. */
body.tax-product_cat .tw-category-brands { display: none !important; }
body.tax-product_cat .tw-category-brand-filter {
  width: 274px !important;
  max-width: 100% !important;
  margin: 0 12px 18px 0 !important;
  padding: 0 !important;
  float: left !important;
  clear: none !important;
  display: block !important;
}
body.tax-product_cat .tw-category-brand-filter select {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid var(--tw-line) !important;
  border-radius: 6px !important;
  outline: 0 !important;
  background: var(--tw-card) !important;
  color: var(--tw-text) !important;
  font-family: Cairo, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
body.tax-product_cat .tw-category-brand-filter select:focus {
  border-color: #246cf4 !important;
  box-shadow: 0 0 0 3px rgba(36,108,244,.14) !important;
}
body.tax-product_cat .tw-category-brand-filter option {
  background: var(--tw-card) !important;
  color: var(--tw-text) !important;
}
body.tax-product_cat .woocommerce-ordering {
  width: 274px !important;
  max-width: 100% !important;
  margin-bottom: 18px !important;
  float: left !important;
}
body.tax-product_cat .woocommerce-ordering select {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  border-radius: 6px !important;
  font-family: Cairo, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
body.tax-product_cat ul.products { clear: both !important; }

@media (max-width: 720px) {
  body.tax-product_cat .tw-category-brand-filter,
  body.tax-product_cat .woocommerce-ordering {
    width: 100% !important;
    margin: 0 0 10px !important;
    float: none !important;
  }
}

@media (min-width: 1281px) {
  body .tw-header .tw-mainbar-inner {
    width: min(1660px, calc(100% - 48px)) !important;
    max-width: 1660px !important;
    grid-template-columns: 170px minmax(0, 1fr) minmax(290px, 350px) 245px !important;
    gap: 18px !important;
  }
  body .tw-header .tw-desktop-nav,
  body .tw-header .tw-menu,
  body .tw-header .tw-search,
  body .tw-header .tw-actions { min-width: 0 !important; }
  body .tw-header .tw-desktop-nav {
    width: 100% !important;
    overflow: hidden !important;
  }
  body .tw-header .tw-menu {
    width: 100% !important;
    justify-content: center !important;
    gap: clamp(12px, 1.05vw, 22px) !important;
  }
  body .tw-header .tw-menu a {
    display: block !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
  body .tw-header .tw-search {
    position: relative !important;
    z-index: 2 !important;
  }
}

@media (min-width: 1051px) and (max-width: 1550px) {
  body .tw-header .tw-mainbar-inner {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    grid-template-columns: 150px minmax(0, 1fr) minmax(235px, 285px) 215px !important;
    gap: 12px !important;
  }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 145px !important; }
  body .tw-header .tw-menu { gap: clamp(7px, .65vw, 11px) !important; }
  body .tw-header .tw-menu a { font-size: 10.5px !important; }
}

/* 6.7: WooCommerce-powered home product sliders. */
body .tw-client-home .tw-product-rail-section {
  padding: 38px 0 42px !important;
  border-top: 1px solid #e5ebf4 !important;
  background: #f8faff !important;
}
body .tw-client-home .tw-product-rail-section + .tw-product-rail-section { background: #fff !important; }
body .tw-client-home .tw-product-rail-section + .tw-product-rail-section + .tw-product-rail-section { background: #f8faff !important; }
body .tw-client-home .tw-product-rail-head {
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
}
body .tw-client-home .tw-product-rail-head h2 {
  margin: 0 0 5px !important;
  color: #081733 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
}
body .tw-client-home .tw-product-rail-head p {
  margin: 0 !important;
  color: #6b788d !important;
  font-size: 12px !important;
}
body .tw-client-home .tw-product-rail-head > a {
  padding: 8px 3px !important;
  color: #1464ee !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
body .tw-client-home .tw-product-rail-shell { position: relative !important; }
body .tw-client-home .tw-products.tw-product-rail {
  width: 100% !important;
  padding: 2px !important;
  display: flex !important;
  grid-template-columns: none !important;
  gap: 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  overscroll-behavior-inline: contain !important;
  scrollbar-width: none !important;
}
body .tw-client-home .tw-products.tw-product-rail::-webkit-scrollbar { display: none !important; }
body .tw-client-home .tw-product-rail > .tw-product {
  flex: 0 0 calc((100% - 54px) / 4) !important;
  width: calc((100% - 54px) / 4) !important;
  min-width: 0 !important;
  height: 350px !important;
  scroll-snap-align: start !important;
}
body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 225px !important; }
body .tw-client-home .tw-rail-arrow {
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  position: absolute !important;
  top: 50% !important;
  z-index: 4 !important;
  border: 1px solid #c9d7ec !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 8px 22px rgba(11,38,80,.14) !important;
  color: #1767f2 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  font-family: Arial,sans-serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}
body .tw-client-home .tw-rail-arrow:hover { border-color: #1767f2 !important; background: #1767f2 !important; color: #fff !important; }
body .tw-client-home .tw-rail-arrow--start { right: -19px !important; }
body .tw-client-home .tw-rail-arrow--end { left: -19px !important; }
[dir="ltr"] body .tw-client-home .tw-rail-arrow--start { right: auto !important; left: -19px !important; }
[dir="ltr"] body .tw-client-home .tw-rail-arrow--end { right: -19px !important; left: auto !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail-section,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail-section { border-color: #21314a !important; background: #091321 !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail-section + .tw-product-rail-section,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail-section + .tw-product-rail-section { background: #0b1728 !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail-section + .tw-product-rail-section + .tw-product-rail-section,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail-section + .tw-product-rail-section + .tw-product-rail-section { background: #091321 !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail-head h2,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail-head h2 { color: #f7f9fd !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail-head p,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail-head p { color: #9fb0c7 !important; }
body:not(.tw-light) .tw-client-home .tw-rail-arrow,
html[data-tw-theme="dark"] body .tw-client-home .tw-rail-arrow { border-color: #365077 !important; background: #13223a !important; color: #73a8ff !important; }

@media (min-width: 721px) and (max-width: 1280px) {
  body .tw-client-home .tw-product-rail > .tw-product {
    flex-basis: calc((100% - 28px) / 3) !important;
    width: calc((100% - 28px) / 3) !important;
    height: 330px !important;
  }
  body .tw-client-home .tw-products.tw-product-rail { gap: 14px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 215px !important; }
}

@media (max-width: 720px) {
  body .tw-client-home .tw-product-rail-section { padding: 28px 0 32px !important; }
  body .tw-client-home .tw-product-rail-head { margin-bottom: 14px !important; align-items: flex-start !important; }
  body .tw-client-home .tw-product-rail-head h2 { font-size: 23px !important; }
  body .tw-client-home .tw-product-rail-head p { max-width: 240px !important; font-size: 10px !important; }
  body .tw-client-home .tw-products.tw-product-rail { gap: 10px !important; }
  body .tw-client-home .tw-product-rail > .tw-product {
    flex: 0 0 calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
    height: 300px !important;
  }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 185px !important; }
  body .tw-client-home .tw-rail-arrow { width: 34px !important; height: 34px !important; font-size: 22px !important; }
  body .tw-client-home .tw-rail-arrow--start { right: -8px !important; }
  body .tw-client-home .tw-rail-arrow--end { left: -8px !important; }
}

@media (max-width: 380px) {
  body .tw-client-home .tw-product-rail > .tw-product { height: 280px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 170px !important; }
  body .tw-client-home .tw-product-rail-head h2 { font-size: 21px !important; }
}

/* 6.9: audited header sizing — every control owns its column without overflow. */
@media (min-width: 1551px) {
  body .tw-header .tw-mainbar-inner {
    width: min(1660px, calc(100% - 56px)) !important;
    max-width: 1660px !important;
    grid-template-columns: 170px minmax(0, 1fr) 350px 250px !important;
    gap: 20px !important;
  }
  body .tw-header .tw-menu {
    justify-content: center !important;
    gap: clamp(16px, 1.25vw, 25px) !important;
  }
  body .tw-header .tw-menu a { font-size: 12px !important; }
}

@media (min-width: 1181px) and (max-width: 1550px) {
  body .tw-header .tw-mainbar-inner {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    grid-template-columns: 148px minmax(0, 1fr) minmax(235px, 285px) 235px !important;
    gap: 12px !important;
  }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 145px !important; }
  body .tw-header .tw-menu {
    justify-content: center !important;
    gap: clamp(6px, .7vw, 12px) !important;
  }
  body .tw-header .tw-menu a { font-size: 9.5px !important; }
  body .tw-header .tw-search input { font-size: 11px !important; }
}

@media (min-width: 721px) and (max-width: 1180px) {
  body .tw-header,
  body .tw-header .tw-mainbar { height: 78px !important; }
  body .tw-header .tw-mainbar-inner {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    min-height: 78px !important;
    height: 78px !important;
    grid-template-columns: 145px minmax(220px, 1fr) 220px !important;
    gap: 16px !important;
  }
  body .tw-header .tw-desktop-nav { display: none !important; }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 142px !important; height: 50px !important; }
}

/* 7.3: center header labels vertically and keep typography medium-sized. */
@media (min-width: 1181px) {
  body .tw-header .tw-desktop-nav {
    height: 100% !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
  }
  body .tw-header .tw-menu {
    height: 100% !important;
    align-items: center !important;
  }
  body .tw-header .tw-menu li {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
  }
  body .tw-header .tw-menu a {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  body .tw-header .tw-menu a::after { bottom: 0 !important; }
  body .tw-header .tw-search,
  body .tw-header .tw-actions,
  body .tw-header .tw-brand { align-self: center !important; }
}

/* 7.5.0: dynamic WooCommerce categories in the header. */
@media (min-width: 1181px) {
  body .tw-header .tw-desktop-nav {
    overflow: visible !important;
    gap: clamp(10px, 1vw, 18px) !important;
  }
  body .tw-header .tw-header-category-menu {
    position: relative !important;
    width: auto !important;
    min-width: 86px !important;
    height: 100% !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    z-index: 120 !important;
  }
  body .tw-header .tw-header-category-menu > button {
    width: auto !important;
    min-width: 86px !important;
    height: 44px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--tw-text) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font: 800 clamp(11px, .74vw, 14px)/1.4 Cairo, sans-serif !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }
  body:not(.tw-light) .tw-header .tw-header-category-menu > button,
  html[data-tw-theme="dark"] body .tw-header .tw-header-category-menu > button {
    color: #f6f8fc !important;
  }
  body .tw-header .tw-header-category-menu > button:hover,
  body .tw-header .tw-header-category-menu > button:focus-visible,
  body .tw-header .tw-header-category-menu.is-open > button {
    background: rgba(38, 108, 246, .1) !important;
    color: #246cf4 !important;
  }
  body .tw-header .tw-header-category-menu > button b {
    font-size: 14px !important;
    line-height: 1 !important;
    transition: transform .18s ease !important;
  }
  body .tw-header .tw-header-category-menu.is-open > button b {
    transform: rotate(180deg) !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout {
    position: absolute !important;
    top: calc(100% - 3px) !important;
    inset-inline-start: 0 !important;
    width: 310px !important;
    max-height: min(68vh, 560px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 9px !important;
    border: 1px solid var(--tw-line) !important;
    border-radius: 12px !important;
    background: var(--tw-card) !important;
    box-shadow: 0 18px 45px rgba(3, 18, 42, .2) !important;
    z-index: 1000 !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout a {
    width: 100% !important;
    min-height: 42px !important;
    padding: 8px 11px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: var(--tw-text) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: start !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout a:hover,
  body .tw-header .tw-header-category-menu .tw-category-flyout a:focus-visible {
    background: var(--tw-surface-2) !important;
    color: #246cf4 !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout a small {
    min-width: 25px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(38, 108, 246, .1) !important;
    color: #246cf4 !important;
    font-size: 10px !important;
    text-align: center !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-depth-1 { padding-inline-start: 24px !important; }
  body .tw-header .tw-header-category-menu .tw-category-depth-2,
  body .tw-header .tw-header-category-menu .tw-category-depth-3 { padding-inline-start: 38px !important; }
}

/* Brands belonging to the current category, directly below default sorting. */
body .woocommerce .tw-category-brands {
  clear: both !important;
  width: 100% !important;
  margin: 18px 0 24px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--tw-line) !important;
  border-radius: 12px !important;
  background: var(--tw-card) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px 16px !important;
}
body .woocommerce .tw-category-brands > strong {
  color: var(--tw-text) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
body .woocommerce .tw-category-brand-list {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
body .woocommerce .tw-category-brand-list a {
  min-height: 38px !important;
  padding: 7px 13px !important;
  border: 1px solid var(--tw-line) !important;
  border-radius: 999px !important;
  background: var(--tw-surface-2) !important;
  color: var(--tw-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
body .woocommerce .tw-category-brand-list a:hover,
body .woocommerce .tw-category-brand-list a:focus-visible,
body .woocommerce .tw-category-brand-list a.is-active {
  border-color: #246cf4 !important;
  background: #246cf4 !important;
  color: #fff !important;
}
body .woocommerce .tw-category-brand-list a small {
  opacity: .75 !important;
  font-size: 10px !important;
}

@media (max-width: 1180px) {
  body .tw-header .tw-desktop-nav .tw-header-category-menu { display: none !important; }
}

@media (max-width: 720px) {
  body .woocommerce .tw-category-brands {
    margin: 14px 0 18px !important;
    padding: 12px !important;
    grid-template-columns: 1fr !important;
  }
  body .woocommerce .tw-category-brand-list {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 3px !important;
    scroll-snap-type: x proximity !important;
  }
  body .woocommerce .tw-category-brand-list a {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
  }
}

/* 7.5.1: deterministic category flyout and non-redirecting cart feedback. */
body .tw-header .tw-header-category-menu .tw-category-flyout {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
}
body .tw-header .tw-header-category-menu.is-open .tw-category-flyout {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
body .tw-add.loading {
  opacity: .62 !important;
  pointer-events: none !important;
  cursor: wait !important;
}
body .tw-add.added {
  background: #119c5b !important;
  color: #fff !important;
}
body .tw-add.tw-add-error {
  background: #d94343 !important;
  color: #fff !important;
}

@media (min-width: 1181px) {
  body .tw-header .tw-menu > li.tw-header-category-menu {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
  }
}

@media (min-width: 1181px) and (max-width: 1550px) {
  body .tw-header .tw-menu a { font-size: 11px !important; }
}

@media (min-width: 721px) {
  body .tw-header .tw-mainbar-inner { box-sizing: border-box !important; }
  body .tw-header .tw-brand,
  body .tw-header .tw-desktop-nav,
  body .tw-header .tw-search,
  body .tw-header .tw-actions { min-width: 0 !important; max-width: 100% !important; }
  body .tw-header .tw-actions {
    width: 100% !important;
    padding: 0 !important;
    justify-content: space-between !important;
    gap: 4px !important;
    overflow: visible !important;
  }
  body .tw-header .tw-language-switch {
    min-width: 58px !important;
    height: 38px !important;
    padding: 0 2px !important;
    gap: 5px !important;
    font-size: 9px !important;
  }
  body .tw-header .tw-theme-toggle,
  body .tw-header .tw-theme-track { width: 45px !important; min-width: 45px !important; }
  body .tw-header .tw-header-icon {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
  }
  body .tw-header .tw-cart {
    width: 40px !important;
    min-width: 40px !important;
  }
}

/* 7.0: premium typography and image-safe merchandising. */
@media (min-width: 1551px) {
  body .tw-header .tw-mainbar-inner {
    grid-template-columns: 170px minmax(690px, 1fr) minmax(320px, 360px) 250px !important;
  }
  body .tw-header .tw-menu { gap: clamp(20px, 1.45vw, 30px) !important; }
  body .tw-header .tw-menu a { font-size: 14px !important; line-height: 1.4 !important; font-weight: 800 !important; }
}

@media (min-width: 1281px) and (max-width: 1550px) {
  body .tw-header .tw-mainbar-inner {
    grid-template-columns: 148px minmax(580px, 1fr) minmax(245px, 285px) 235px !important;
  }
  body .tw-header .tw-menu { gap: clamp(9px, .8vw, 14px) !important; }
  body .tw-header .tw-menu a { font-size: 11.5px !important; line-height: 1.4 !important; }
}

@media (min-width: 1181px) and (max-width: 1280px) {
  body .tw-header .tw-mainbar-inner {
    grid-template-columns: 142px minmax(520px, 1fr) minmax(220px, 245px) 220px !important;
    gap: 10px !important;
  }
  body .tw-header .tw-menu { gap: 7px !important; }
  body .tw-header .tw-menu a { font-size: 10.5px !important; line-height: 1.4 !important; }
}

@media (min-width: 721px) {
  body .tw-header .tw-language-switch { font-size: 10px !important; }
  body .tw-header .tw-header-icon small { font-size: 10px !important; }
  body .tw-header .tw-search input { font-size: 13px !important; }
}

body .tw-client-home .tw-product-rail > .tw-product {
  height: 370px !important;
  border-color: #d9e3f1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(22,52,96,.07) !important;
}
body .tw-client-home .tw-product-rail > .tw-product .tw-product-img {
  height: 238px !important;
  padding: 24px !important;
  background: #f7f9fc !important;
}
body .tw-client-home .tw-product-rail > .tw-product .tw-product-img img {
  width: auto !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: 88% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}
body .tw-client-home .tw-product-rail > .tw-product .tw-product-copy {
  min-height: 132px !important;
  padding: 16px 17px !important;
}
body .tw-client-home .tw-product-rail > .tw-product h3 {
  min-height: 52px !important;
  margin: 0 0 10px !important;
  color: #0a1934 !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  font-weight: 800 !important;
}
body .tw-client-home .tw-product-rail > .tw-product .tw-product-meta strong { font-size: 15px !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail > .tw-product,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail > .tw-product { border-color: #293b57 !important; background: #0f1a2c !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail > .tw-product .tw-product-img,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { background: #152238 !important; }
body:not(.tw-light) .tw-client-home .tw-product-rail > .tw-product h3,
html[data-tw-theme="dark"] body .tw-client-home .tw-product-rail > .tw-product h3 { color: #f6f8fc !important; }

body .tw-shop-section .woocommerce ul.products li.product {
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(22,52,96,.065) !important;
}
body .tw-shop-section .woocommerce ul.products li.product a img {
  width: calc(100% - 24px) !important;
  height: 250px !important;
  max-height: 250px !important;
  margin: 12px 12px 16px !important;
  padding: 26px !important;
  border-radius: 10px !important;
  background: #f7f9fc !important;
  object-fit: contain !important;
  object-position: center !important;
}
body .tw-shop-section .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 70px !important;
  color: #0a1934 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
body .tw-shop-section .woocommerce ul.products li.product .price { color: #0a1934 !important; font-size: 16px !important; }

@media (min-width: 721px) and (max-width: 1280px) {
  body .tw-client-home .tw-product-rail > .tw-product { height: 350px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 220px !important; padding: 22px !important; }
  body .tw-client-home .tw-product-rail > .tw-product h3 { font-size: 13px !important; }
}

@media (max-width: 720px) {
  body .tw-client-home .tw-product-rail > .tw-product { height: 315px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 185px !important; padding: 16px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img img { max-width: 90% !important; max-height: 90% !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-copy { min-height: 130px !important; padding: 12px !important; }
  body .tw-client-home .tw-product-rail > .tw-product h3 { min-height: 58px !important; font-size: 12px !important; line-height: 1.6 !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-meta strong { font-size: 13px !important; }
  body .tw-shop-section .woocommerce ul.products li.product a img { height: 190px !important; max-height: 190px !important; padding: 18px !important; }
  body .tw-shop-section .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 62px !important; font-size: 12.5px !important; }
}

@media (max-width: 380px) {
  body .tw-client-home .tw-product-rail > .tw-product { height: 300px !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { height: 170px !important; }
}

/* 7.1: final header composition — readable navigation with zero clipping. */
@media (min-width: 1551px) {
  body .tw-header,
  body .tw-header .tw-mainbar { height: 90px !important; }
  body .tw-header .tw-mainbar-inner {
    width: min(1660px, calc(100% - 56px)) !important;
    max-width: 1660px !important;
    min-height: 90px !important;
    height: 90px !important;
    grid-template-columns: 182px minmax(0, 1fr) 330px 220px !important;
    gap: 18px !important;
  }
  body .tw-header .tw-brand,
  body .tw-header .tw-brand-logo { width: 178px !important; height: 60px !important; max-height: 60px !important; }
  body .tw-header .tw-desktop-nav {
    width: 100% !important;
    overflow: visible !important;
  }
  body .tw-header .tw-menu {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }
  body .tw-header .tw-menu a {
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
  }
  body .tw-header .tw-search,
  body .tw-header .tw-search input { height: 50px !important; }
  body .tw-header .tw-search input { font-size: 14px !important; }
  body .tw-header .tw-search-icon { top: 16px !important; }
  body .tw-header .tw-actions { width: 220px !important; }
  body .tw-header .tw-language-switch,
  body .tw-header .tw-header-icon small { font-size: 11px !important; }
}

@media (min-width: 1281px) and (max-width: 1550px) {
  body .tw-header .tw-mainbar-inner {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    grid-template-columns: 145px minmax(0, 1fr) minmax(245px, 275px) 210px !important;
    gap: 11px !important;
  }
  body .tw-header .tw-desktop-nav {
    width: 100% !important;
    overflow: visible !important;
  }
  body .tw-header .tw-menu {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  body .tw-header .tw-menu a { font-size: 10.5px !important; line-height: 1.45 !important; }
  body .tw-header .tw-actions { width: 210px !important; }
}

@media (min-width: 1181px) and (max-width: 1350px) {
  body .tw-header .tw-menu li:last-child { display: none !important; }
  body .tw-header .tw-menu a { font-size: 10.5px !important; }
}

@media (min-width: 721px) and (max-width: 1180px) {
  body .tw-header .tw-menu-toggle {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    display: grid !important;
    place-content: center !important;
  }
  body .tw-header .tw-account { display: none !important; }
}

/* 7.4: isolated mobile navigation and storefront polish.
 * Keep these rules mobile-only so the approved desktop composition is untouched. */
@media (max-width: 720px) {
  html,
  body { max-width: 100% !important; overflow-x: clip !important; }
  body.tw-nav-open { overflow: hidden !important; touch-action: none; }

  body .tw-header,
  body .tw-header .tw-mainbar { width: 100% !important; max-width: 100% !important; }
  body .tw-header .tw-desktop-nav { display: none !important; }

  body:not(.tw-light) .tw-header,
  body:not(.tw-light) .tw-header .tw-mainbar,
  html[data-tw-theme="dark"] body .tw-header,
  html[data-tw-theme="dark"] body .tw-header .tw-mainbar {
    border-color: #263750 !important;
    background: #07111f !important;
    color: #f7f9fd !important;
  }
  body:not(.tw-light) .tw-header .tw-menu-toggle,
  html[data-tw-theme="dark"] body .tw-header .tw-menu-toggle {
    border-color: #30435f !important;
    background: #101c2f !important;
    color: #f7f9fd !important;
  }
  body:not(.tw-light) .tw-header .tw-brand-logo--primary,
  html[data-tw-theme="dark"] body .tw-header .tw-brand-logo--primary { display: none !important; }
  body:not(.tw-light) .tw-header .tw-brand-logo--reversed,
  html[data-tw-theme="dark"] body .tw-header .tw-brand-logo--reversed {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.tw-light .tw-header .tw-brand-logo--primary,
  html[data-tw-theme="light"] body .tw-header .tw-brand-logo--primary {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.tw-light .tw-header .tw-brand-logo--reversed,
  html[data-tw-theme="light"] body .tw-header .tw-brand-logo--reversed { display: none !important; }

  body .tw-header .tw-mobile-nav {
    width: min(360px, calc(100vw - 20px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 20px) !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding: max(20px, env(safe-area-inset-top)) 16px max(26px, env(safe-area-inset-bottom)) !important;
    position: fixed !important;
    z-index: 1002 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    border: 0 !important;
    border-inline-start: 1px solid #243650 !important;
    border-radius: 0 !important;
    background: #0b1628 !important;
    color: #f7f9fd !important;
    box-shadow: -18px 0 45px rgba(0,0,0,.34) !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(105%) !important;
    transition: transform .25s ease, opacity .2s ease, visibility .25s ease !important;
  }
  [dir="ltr"] body .tw-header .tw-mobile-nav {
    right: auto !important;
    left: 0 !important;
    border-inline-start: 0 !important;
    border-inline-end: 1px solid #243650 !important;
    box-shadow: 18px 0 45px rgba(0,0,0,.34) !important;
    transform: translateX(-105%) !important;
  }
  body .tw-header .tw-mobile-nav.is-open,
  [dir="ltr"] body .tw-header .tw-mobile-nav.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }
  body.tw-light .tw-header .tw-mobile-nav,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-nav {
    border-color: #d9e3f0 !important;
    background: #fff !important;
    color: #0a1934 !important;
    box-shadow: -18px 0 45px rgba(19,42,76,.18) !important;
  }
  body .tw-header .tw-mobile-nav-head {
    min-height: 48px !important;
    margin: 0 0 14px !important;
    padding: 0 4px 12px !important;
    border-bottom: 1px solid #243650 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  body.tw-light .tw-header .tw-mobile-nav-head,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-nav-head { border-color: #e0e7f1 !important; }
  body .tw-header .tw-mobile-nav-head strong { color: inherit !important; font-size: 20px !important; line-height: 1.4 !important; }
  body .tw-header .tw-mobile-nav-head button {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid #314561 !important;
    border-radius: 10px !important;
    background: #13223a !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    font-size: 27px !important;
    line-height: 1 !important;
  }
  body.tw-light .tw-header .tw-mobile-nav-head button,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-nav-head button {
    border-color: #d9e3f0 !important;
    background: #f5f8fd !important;
    color: #0a1934 !important;
  }
  body .tw-header .tw-mobile-nav .tw-menu {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 6px !important;
    list-style: none !important;
  }
  body .tw-header .tw-mobile-nav .tw-menu li {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
  }
  body .tw-header .tw-mobile-nav .tw-menu a {
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    color: #edf3fc !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 800 !important;
    text-align: start !important;
    white-space: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.tw-light .tw-header .tw-mobile-nav .tw-menu a,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-nav .tw-menu a { color: #10213c !important; }
  body .tw-header .tw-mobile-nav .tw-menu a::after { display: none !important; content: none !important; }
  body .tw-header .tw-mobile-nav .tw-menu a:hover,
  body .tw-header .tw-mobile-nav .tw-menu a:focus-visible {
    border-color: #315a95 !important;
    background: #132541 !important;
    color: #fff !important;
  }
  body.tw-light .tw-header .tw-mobile-nav .tw-menu a:hover,
  body.tw-light .tw-header .tw-mobile-nav .tw-menu a:focus-visible,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-nav .tw-menu a:hover,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-nav .tw-menu a:focus-visible {
    border-color: #c5d8f4 !important;
    background: #eff5ff !important;
    color: #0d5fe8 !important;
  }
  body .tw-header .tw-mobile-categories {
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 17px 4px 0 !important;
    border-top: 1px solid #243650 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5px 12px !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-header .tw-mobile-categories strong { grid-column: 1 / -1 !important; margin: 0 0 6px !important; color: #5fa7ff !important; font-size: 17px !important; }
  body .tw-header .tw-mobile-categories a {
    min-height: 42px !important;
    padding: 8px 9px !important;
    border-radius: 8px !important;
    color: #aebed3 !important;
    display: flex !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
  body.tw-light .tw-header .tw-mobile-categories a,
  html[data-tw-theme="light"] body .tw-header .tw-mobile-categories a { color: #54657d !important; }
  body .tw-header .tw-nav-backdrop { z-index: 1001 !important; }

  body .tw-client-home .tw-product-rail-shell,
  body .tw-client-home .tw-products.tw-product-rail,
  body .tw-client-home .tw-hero-categories { max-width: 100% !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img { overflow: hidden !important; display: grid !important; place-items: center !important; }
  body .tw-client-home .tw-product-rail > .tw-product .tw-product-img img {
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 88% !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  body .tw-footer { padding-bottom: 72px !important; }
  body .tw-footer .tw-footer-grid { width: calc(100% - 32px) !important; padding-block: 40px 30px !important; gap: 28px 20px !important; }
  body .tw-footer .tw-footer-brand { min-width: 0 !important; padding-inline-end: 62px !important; }
  body .tw-footer .tw-brand,
  body .tw-footer .tw-brand-logo { width: 150px !important; min-width: 0 !important; max-width: 150px !important; height: auto !important; max-height: 52px !important; }
  body .tw-floating-whatsapp { width: 54px !important; height: 54px !important; right: auto !important; left: 14px !important; bottom: max(16px, env(safe-area-inset-bottom)) !important; }
  [dir="ltr"] body .tw-floating-whatsapp { right: 14px !important; left: auto !important; }
}

/* 7.4.4: compact, standard desktop navigation after retiring PC Builder. */
@media (min-width: 1181px) {
  body .tw-header .tw-desktop-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body .tw-header .tw-menu {
    width: auto !important;
    max-width: 100% !important;
    justify-content: center !important;
    gap: clamp(16px, 1.45vw, 30px) !important;
  }
  body .tw-header .tw-menu li:last-child { display: list-item !important; }
  body .tw-header .tw-menu a {
    font-size: clamp(11px, .74vw, 14px) !important;
    line-height: 1.4 !important;
  }
}

/* 7.5.2: final dynamic catalogue controls.
 * This block intentionally comes last so legacy header rules cannot hide the
 * WooCommerce categories button or its flyout. */
@media (min-width: 1181px) {
  body .tw-header .tw-desktop-nav,
  body .tw-header .tw-desktop-nav > .tw-menu {
    overflow: visible !important;
  }
  body .tw-header .tw-desktop-nav > .tw-menu {
    width: auto !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body .tw-header .tw-desktop-nav > .tw-menu > li {
    flex: 0 0 auto !important;
  }
  body .tw-header .tw-desktop-nav > .tw-menu > li.tw-header-category-menu {
    width: auto !important;
    min-width: 108px !important;
    max-width: none !important;
    height: 100% !important;
    position: relative !important;
    z-index: 1000 !important;
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body .tw-header .tw-header-category-menu > button {
    width: auto !important;
    min-width: 108px !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #0a1934 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: Cairo, sans-serif !important;
    font-size: clamp(11px, .74vw, 14px) !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }
  body:not(.tw-light) .tw-header .tw-header-category-menu > button,
  html[data-tw-theme="dark"] body .tw-header .tw-header-category-menu > button {
    color: #f7f9fd !important;
  }
  body .tw-header .tw-header-category-menu > button:hover,
  body .tw-header .tw-header-category-menu > button:focus-visible,
  body .tw-header .tw-header-category-menu.is-open > button {
    border-color: rgba(36,108,244,.25) !important;
    background: rgba(36,108,244,.10) !important;
    color: #246cf4 !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout {
    width: 320px !important;
    max-height: min(68vh, 560px) !important;
    padding: 9px !important;
    position: absolute !important;
    top: calc(100% - 3px) !important;
    inset-inline-start: 0 !important;
    z-index: 5000 !important;
    border: 1px solid var(--tw-line) !important;
    border-radius: 12px !important;
    background: var(--tw-card) !important;
    box-shadow: 0 18px 45px rgba(3,18,42,.22) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: none !important;
  }
  body .tw-header .tw-header-category-menu:hover .tw-category-flyout,
  body .tw-header .tw-header-category-menu:focus-within .tw-category-flyout,
  body .tw-header .tw-header-category-menu.is-open .tw-category-flyout {
    display: grid !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout > a {
    width: 100% !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 9px 11px !important;
    border-radius: 8px !important;
    color: var(--tw-text) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-flyout > a:hover,
  body .tw-header .tw-header-category-menu .tw-category-flyout > a:focus-visible {
    background: var(--tw-surface-2) !important;
    color: #246cf4 !important;
  }
  body .tw-header .tw-header-category-menu .tw-category-empty {
    padding: 13px 11px !important;
    color: var(--tw-muted) !important;
    font-size: 11px !important;
  }
}

/* The archive brand bar belongs directly below WooCommerce sorting. */
body.tax-product_cat .woocommerce .tw-category-brands {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin-block: 16px 24px !important;
}

/* AJAX add buttons stay on the current page and visibly confirm success. */
body a.ajax_add_to_cart.loading { opacity: .65 !important; pointer-events: none !important; }
body a.ajax_add_to_cart.added { background: #16a765 !important; color: #fff !important; }
body a.ajax_add_to_cart.tw-add-error { background: #e43f4f !important; color: #fff !important; }

/* Category archives: keep sorting first, brands second, then products. */
body.tax-product_cat .tw-shop-section .woocommerce,
body.tax-product_cat main .woocommerce {
  display: flow-root !important;
}
body.tax-product_cat .woocommerce .woocommerce-ordering {
  float: inline-start !important;
  margin-bottom: 0 !important;
}
body.tax-product_cat .woocommerce .woocommerce-result-count {
  float: inline-end !important;
}
body.tax-product_cat .woocommerce .tw-category-brands {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
}
body.tax-product_cat .woocommerce ul.products {
  clear: both !important;
}

@media (max-width: 720px) {
  body.tax-product_cat .woocommerce .tw-category-brands {
    grid-template-columns: 1fr !important;
  }
}

/* 7.5.7: category brands, cart feedback, and a stable header cart badge. */
body.tax-product_cat .tw-category-brands {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  margin: 18px 0 26px !important;
  padding: 14px 16px !important;
  position: relative !important;
  z-index: 2 !important;
  float: none !important;
  clear: both !important;
  border: 1px solid var(--tw-line) !important;
  border-radius: 12px !important;
  background: var(--tw-card) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
body.tax-product_cat .tw-category-brands > strong {
  flex: 0 0 auto !important;
  color: var(--tw-text) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}
body.tax-product_cat .tw-category-brand-list {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
body.tax-product_cat .tw-category-brand-list a {
  min-height: 38px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--tw-line) !important;
  border-radius: 999px !important;
  background: var(--tw-surface-2) !important;
  color: var(--tw-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
body.tax-product_cat .tw-category-brand-list a:hover,
body.tax-product_cat .tw-category-brand-list a:focus-visible,
body.tax-product_cat .tw-category-brand-list a.is-active {
  border-color: #246cf4 !important;
  background: #246cf4 !important;
  color: #fff !important;
}
body.tax-product_cat .tw-category-brand-list a small {
  color: inherit !important;
  font-size: 10px !important;
  opacity: .78 !important;
}
body.tax-product_cat .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count {
  margin-bottom: 16px !important;
}
body.tax-product_cat ul.products {
  width: 100% !important;
  clear: both !important;
}

body .tw-header .tw-header-icon.tw-cart {
  position: relative !important;
  overflow: visible !important;
}
body .tw-header .tw-cart .tw-count {
  width: auto !important;
  min-width: 17px !important;
  height: 17px !important;
  min-height: 17px !important;
  padding: 0 4px !important;
  position: absolute !important;
  top: -2px !important;
  right: auto !important;
  left: -2px !important;
  z-index: 3 !important;
  border: 2px solid var(--tw-card) !important;
  border-radius: 999px !important;
  background: #246cf4 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font: 900 9px/1 Outfit, Arial, sans-serif !important;
}

.tw-cart-toast {
  max-width: min(390px, calc(100vw - 28px)) !important;
  padding: 13px 17px !important;
  position: fixed !important;
  z-index: 10000 !important;
  right: 18px !important;
  bottom: 22px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 10px !important;
  background: #119c5b !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.25) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
.tw-cart-toast.is-error { background: #c93443 !important; }
.tw-cart-toast.is-visible {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (max-width: 720px) {
  body.tax-product_cat .tw-category-brands {
    padding: 12px !important;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  body.tax-product_cat .tw-category-brand-list {
    padding-bottom: 3px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  body.tax-product_cat .tw-category-brand-list::-webkit-scrollbar { display: none !important; }
  .tw-cart-toast {
    right: 14px !important;
    bottom: 76px !important;
  }
}

/* Final placement: brand dropdown sits beside the default sorting dropdown. */
body.tax-product_cat form.tw-category-brand-filter {
  width: 274px !important;
  max-width: calc(100% - 24px) !important;
  margin: 8px 0 18px !important;
  padding: 0 !important;
  float: left !important;
  clear: left !important;
  display: block !important;
}
body.tax-product_cat form.tw-category-brand-filter select {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  padding-inline: 14px 38px !important;
  border: 1px solid var(--tw-line) !important;
  border-radius: 6px !important;
  background-color: var(--tw-card) !important;
  color: var(--tw-text) !important;
  font: 700 14px/1.4 Cairo, sans-serif !important;
}
body.tax-product_cat form.woocommerce-ordering {
  width: 274px !important;
  max-width: calc(100% - 24px) !important;
  margin: 0 0 18px !important;
  float: left !important;
  clear: none !important;
}
body.tax-product_cat form.woocommerce-ordering select {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
}
body.tax-product_cat ul.products { clear: both !important; }

@media (max-width: 720px) {
  body.tax-product_cat form.tw-category-brand-filter,
  body.tax-product_cat form.woocommerce-ordering {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    float: none !important;
    clear: both !important;
  }
}
