/*
 * MANSA - Atelier v3 | Full replacement for the uploaded mansa-v2.css.
 * Load AFTER the Easy Orders theme CSS. Do NOT load v2 and v3 together.
 *
 * Uses the existing <img> logos from store settings, not hard-coded masks.
 * Header/footer logo files must retain a transparent background.
 * Logo colour filters preserve the original green/gold palette.
 * No font files, external image URLs, scripts or @import rules are added.
 *
 * Preserves the supplied layout, typography, palette and accessibility rules.
 * Reduces touch-device decoration; keeps desktop texture and hover styles.
 * Does NOT change <img loading>, fetchpriority, theme JavaScript or tracking.
 * Test against the real theme after installation; LCP is not guaranteed.
 */

:root {
  --mn-twill: #C9A22E;
  --mn-twill-d: #AE8A20;
  --mn-thread: #333F26;
  --mn-thread-2: rgba(51, 63, 38, 0.58);
  --mn-thread-3: rgba(51, 63, 38, 0.26);
  --mn-deep: #1E2515;
  --mn-calico: #F3EEE0;
  --mn-chalk: #FBF8F0;
  --mn-tailor: #B84A2E;
  --mn-weave: repeating-linear-gradient(63deg, rgba(51,63,38,.045) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(63deg, rgba(255,255,255,.055) 1px 2px, transparent 2px 5px),
    repeating-linear-gradient(0deg,  rgba(51,63,38,.028) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(51,63,38,.022) 0 1px, transparent 1px 3px);
  --mn-stitch-h: repeating-linear-gradient(90deg, var(--mn-thread-2) 0 7px, transparent 7px 13px);
  --mn-stitch-v: repeating-linear-gradient(180deg, var(--mn-thread-2) 0 7px, transparent 7px 13px);
  --mn-display: "Newsreader", Georgia, "Times New Roman", serif;
  --mn-ui: "Jost", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --body-bg: var(--mn-calico) !important;
  --body-text: var(--mn-thread) !important;
  --hd-bg: var(--mn-calico) !important;
  --hd-text: var(--mn-thread) !important;
  --ann-bg: var(--mn-thread) !important;
  --ann-text: var(--mn-twill) !important;
  --ft-bg: var(--mn-deep) !important;
  --ft-text: var(--mn-twill) !important;
  --product-badge-bg: var(--mn-tailor) !important;
  --product-badge-text: #FBF8F0 !important;
  --product-name-text: var(--mn-thread) !important;
  --product-price-text: var(--mn-thread) !important;
  --product-sale-price-text: var(--mn-tailor-ink) !important;
  --buy-btn-bg: var(--mn-thread) !important;
  --buy-btn-text: var(--mn-calico) !important;
  --buy-btn-border: var(--mn-thread) !important;
  --crt-btn-bg: var(--mn-twill) !important;
  --crt-btn-text: var(--mn-thread) !important;
  --crt-btn-border: var(--mn-thread) !important;
  --input-bg: var(--mn-chalk) !important;
  --input-text: var(--mn-thread) !important;
  --input-border: var(--mn-thread-3) !important;
  --section-heading-font: var(--mn-display) !important;
  --color-primary: 51, 63, 38 !important;
  --mn-twill-ink: #836615;
  --mn-tailor-ink: #9A3B22;
  --mn-thread-text: rgba(51, 63, 38, .76);
  --mn-thread-quiet: rgba(51, 63, 38, .75);
  --mn-slate-text: rgba(33, 42, 47, .82);
  --mn-logo-header-filter: brightness(0) saturate(100%) invert(18.9240%) sepia(100%) saturate(147.3659%) hue-rotate(46.3027deg);
  --mn-logo-footer-filter: brightness(0) saturate(100%) invert(52.2587%) sepia(100%) saturate(296.5153%) hue-rotate(7.3696deg);
}

body {
  font-family: var(--mn-ui);
  -webkit-font-smoothing: antialiased;
}

.app_container,
.content_container {
  background-image: var(--mn-weave) !important;
}

.home_section_container.home_section_container {
  padding: 0 !important;
  margin-block: 0 !important;
  border-radius: 0 !important;
}

.ab-announce {
  font-family: var(--mn-ui);
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.ab-announce::before,
.ab-announce::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-image: repeating-linear-gradient(90deg, rgba(201,162,46,.5) 0 5px, transparent 5px 10px);
  z-index: 2;
  pointer-events: none;
}

.ab-announce::before {
  top: 3px;
}

.ab-announce::after {
  bottom: 3px;
}

.ab-ann-marquee-sep {
  color: var(--mn-twill);
  opacity: .65;
}

.ab-header {
  background-image: var(--mn-weave);
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.ab-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-image: var(--mn-stitch-h);
  opacity: .5;
  transition: opacity .2s ease;
}

html.ab-route-home .ab-theme:not(.scrolled) .ab-header::after {
  opacity: 0;
}

.ab-logo.ab-logo {
  display: inline-flex;
  align-items: center;
  background-color: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.ab-logo.ab-logo img,
html.ab-route-home .ab-theme:not(.scrolled) .ab-logo.ab-logo img {
  opacity: 1 !important;
  visibility: visible !important;
  filter: var(--mn-logo-header-filter) !important;
  object-fit: contain;
}

.ab-footer-logo.ab-footer-logo {
  display: inline-flex;
  align-items: center;
  background-color: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.ab-footer-logo.ab-footer-logo img {
  opacity: 1 !important;
  visibility: visible !important;
  filter: var(--mn-logo-footer-filter) !important;
  object-fit: contain;
}

.ab-nav a,
.ab-mobile-nav a {
  position: relative;
  font-family: var(--mn-ui);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--mn-thread);
}

.ab-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background-image: var(--mn-stitch-h);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .32s cubic-bezier(.7,0,.3,1);
}

.ab-nav a:focus-visible::after {
  transform: scaleX(1);
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-nav a:hover::after {
    transform: scaleX(1);
  }
}

.ab-cart-count {
  background: var(--mn-tailor) !important;
  color: var(--mn-chalk) !important;
  border-radius: 0 !important;
  font-family: var(--mn-ui);
  font-variant-numeric: tabular-nums;
}

.ab-marquee-section {
  --mq-bg: var(--mn-twill) !important;
  --mq-color: var(--mn-thread) !important;
  position: relative;
}

.ab-marquee-band {
  background-image: var(--mn-weave);
  position: relative;
}

.ab-marquee-band::before,
.ab-marquee-band::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background-image: var(--mn-stitch-h);
  opacity: .45;
}

.ab-marquee-band::before {
  top: 8px;
}

.ab-marquee-band::after {
  bottom: 8px;
}

.ab-marquee-item {
  font-family: var(--mn-ui);
}

.ab-pgrid-title,
.ab-plist-title,
.ab-featured-section-title,
.ab-categories-title,
.ab-reviews-title,
.ab-pd-name,
.ab-thanks-title {
  font-family: var(--mn-display) !important;
  font-weight: 400 !important;
  font-style: italic;
  letter-spacing: -.01em;
  color: var(--mn-thread);
  text-wrap: balance;
}

.ab-pgrid-header,
.ab-plist-header,
.ab-categories-header,
.ab-reviews-header {
  position: relative;
  padding-bottom: 14px;
}

.ab-pgrid-header::after,
.ab-plist-header::after,
.ab-categories-header::after,
.ab-reviews-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-image: var(--mn-stitch-h);
  opacity: .35;
}

.ab-pgrid-subtitle,
.ab-plist-subtitle,
.ab-featured-subtitle {
  font-family: var(--mn-ui);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--mn-thread-2);
}

.ab-pgrid-card,
.ab-plist-card,
.ab-featured-card,
.ab-cat-card {
  position: relative;
  background: var(--mn-chalk);
  background-image: var(--mn-weave);
  border: 0;
  border-radius: 0 !important;
  overflow: visible;
  transition: transform .4s cubic-bezier(.2,.8,.25,1);
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-pgrid-card:hover,
  .ab-plist-card:hover,
  .ab-featured-card:hover {
    transform: translateY(-4px);
  }
}

.ab-pgrid-card::after,
.ab-plist-card::after,
.ab-featured-card::after {
  content: "";
  position: absolute;
  inset: -7px;
  pointer-events: none;
  background-image: var(--mn-stitch-h), var(--mn-stitch-h), var(--mn-stitch-v), var(--mn-stitch-v);
  background-size: 100% 2px, 100% 2px, 2px 100%, 2px 100%;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity .35s ease;
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-pgrid-card:hover::after,
  .ab-plist-card:hover::after,
  .ab-featured-card:hover::after {
    opacity: .5;
  }
}

.ab-pgrid-media,
.ab-plist-media,
.ab-featured-media,
.ab-cat-image-wrapper {
  border-radius: 0 !important;
}

.ab-pgrid-img-primary,
.ab-plist-img-primary,
.ab-featured-img-primary {
  filter: saturate(.9) contrast(1.02);
  transition: filter .5s ease, transform .7s cubic-bezier(.2,.8,.25,1);
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-pgrid-card:hover .ab-pgrid-img-primary,
  .ab-plist-card:hover .ab-plist-img-primary,
  .ab-featured-card:hover .ab-featured-img-primary {
    filter: saturate(1.05);
  }
}

.ab-pgrid-name,
.ab-plist-name,
.ab-featured-name {
  font-family: var(--mn-ui) !important;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--mn-thread);
}

.ab-pgrid-price,
.ab-plist-price,
.ab-featured-price,
.ab-pd-price,
.ab-price-sale,
.ab-price-old,
.ab-fixed-buy-price {
  font-family: var(--mn-ui) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: .03em;
}

.ab-price-old,
.ab-pd-price-old,
.ab-fixed-buy-price-old {
  color: var(--mn-thread-3) !important;
}

.ab-pgrid-badge,
.ab-plist-badge,
.ab-featured-badge,
.ab-out-of-stock-badge {
  border-radius: 0 !important;
  font-family: var(--mn-ui) !important;
  font-weight: 700;
  font-size: 9px !important;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 5px 9px !important;
}

.ab-out-of-stock-badge {
  background: var(--mn-thread) !important;
  color: var(--mn-calico) !important;
}

.ab-pgrid-add-btn,
.ab-plist-add-btn,
.ab-featured-add-btn,
.ab-pgrid-viewall-btn,
.ab-plist-viewall-btn,
.ab-pgrid-loadmore-btn,
.ab-fixed-buy-btn,
.ab-reviews-write-btn,
.ab-review-submit-btn,
.ab-thanks-home-btn,
.ab-featured-hero-cta,
.ab-pgrid-hero-cta,
.ab-invoice-track-btn {
  position: relative;
  border-radius: 0 !important;
  font-family: var(--mn-ui) !important;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
}

.ab-pgrid-add-btn::after,
.ab-plist-add-btn::after,
.ab-featured-add-btn::after,
.ab-pgrid-viewall-btn::after,
.ab-plist-viewall-btn::after,
.ab-pgrid-loadmore-btn::after,
.ab-fixed-buy-btn::after,
.ab-reviews-write-btn::after,
.ab-featured-hero-cta::after,
.ab-pgrid-hero-cta::after {
  content: "";
  position: absolute;
  inset: 4px;
  pointer-events: none;
  background-image: repeating-linear-gradient(90deg,  currentColor 0 6px, transparent 6px 11px),
    repeating-linear-gradient(90deg,  currentColor 0 6px, transparent 6px 11px),
    repeating-linear-gradient(180deg, currentColor 0 6px, transparent 6px 11px),
    repeating-linear-gradient(180deg, currentColor 0 6px, transparent 6px 11px);
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity .3s ease;
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-pgrid-add-btn:hover::after,
  .ab-plist-add-btn:hover::after,
  .ab-featured-add-btn:hover::after,
  .ab-pgrid-viewall-btn:hover::after,
  .ab-plist-viewall-btn:hover::after,
  .ab-pgrid-loadmore-btn:hover::after,
  .ab-fixed-buy-btn:hover::after,
  .ab-reviews-write-btn:hover::after,
  .ab-featured-hero-cta:hover::after,
  .ab-pgrid-hero-cta:hover::after {
    opacity: .6;
  }
}

.ab-nav a:focus-visible,
.ab-icon-btn:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--mn-thread);
  outline-offset: 3px;
}

.ab-footer-subscribe-input,
.ab-review-input,
.ab-review-textarea {
  border-radius: 0 !important;
  font-family: var(--mn-ui);
  letter-spacing: .06em;
}

.ab-footer-subscribe-input::placeholder {
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: 11px;
}

.ab-footer {
  position: relative;
  background-image: var(--mn-weave);
}

.ab-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background-image: repeating-linear-gradient(90deg, var(--mn-twill) 0 14px, transparent 14px 26px);
  opacity: .85;
}

.ab-footer-heading {
  font-family: var(--mn-display) !important;
  font-style: italic;
  font-weight: 400 !important;
  color: var(--mn-twill);
}

.ab-footer-links a,
.ab-footer-contact-item,
.ab-footer-copy,
.ab-footer-powered,
.ab-footer-social-label {
  font-family: var(--mn-ui);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(201, 162, 46, .72);
}

.ab-footer-links a {
  transition: color .25s ease;
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-footer-links a:hover {
    color: var(--mn-twill);
  }
}

.ab-footer-bottom {
  border-top: 0 !important;
  position: relative;
  padding-top: 22px;
}

.ab-footer-bottom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, rgba(201,162,46,.45) 0 7px, transparent 7px 13px);
}

.ab-footer-subscribe-btn {
  border-radius: 0 !important;
}

.ab-footer-social-img {
  transition: transform .25s ease, opacity .25s ease;
  opacity: .8;
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .ab-footer-social-img:hover {
    transform: translateY(-2px);
    opacity: 1;
  }
}

.ab-review-card {
  background: var(--mn-chalk);
  background-image: var(--mn-weave);
  border-radius: 0 !important;
  border: 1px solid var(--mn-thread-3);
}

.ab-review-author {
  font-family: var(--mn-ui);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
}

.ab-review-comment {
  font-family: var(--mn-display);
  font-size: 15px;
  line-height: 1.65;
}

.ab-pd-star-filled,
.ab-review-rating-star,
.ab-reviews-avg-stars {
  color: var(--mn-twill) !important;
}

.ab-breadcrumbs-list {
  font-family: var(--mn-ui);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.ab-breadcrumbs-sep {
  color: var(--mn-thread-3);
}

.ab-pd-description,
.lq-desc-content {
  font-family: var(--mn-ui);
  line-height: 1.75;
}

.lq-desc-toggle-label {
  font-family: var(--mn-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 12px;
}

.ab-fake-visitor,
.ab-fake-stock,
.ab-fake-counter {
  font-family: var(--mn-ui);
  letter-spacing: .08em;
}

.ab-fs-bar {
  border-radius: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .ab-pgrid-card,
  .ab-plist-card,
  .ab-featured-card { transition: none; }
  .ab-pgrid-card:hover,
  .ab-plist-card:hover,
  .ab-featured-card:hover { transform: none; }
  .ab-nav a::after { transition: none; transform: scaleX(1); opacity: .4; }
  [class*="add-btn"]:hover::after,
  [class*="viewall-btn"]:hover::after,
  [class*="hero-cta"]:hover::after { animation: none; }
}

html.ab-route-home .ab-theme:not(.scrolled) .ab-nav.ab-nav a,
html.ab-route-home .ab-theme:not(.scrolled) .ab-mobile-nav.ab-mobile-nav a,
html.ab-route-home .ab-theme:not(.scrolled) .ab-icon-btn.ab-icon-btn,
html.ab-route-home .ab-theme:not(.scrolled) .ab-hamburger.ab-hamburger,
html.ab-route-home .ab-theme:not(.scrolled) .ab-icon-btn.ab-icon-btn svg,
html.ab-route-home .ab-theme:not(.scrolled) .ab-hamburger.ab-hamburger span {
  color: var(--mn-thread) !important;
  stroke: var(--mn-thread) !important;
}

[titlecolor][titlecolor] > h3 {
  color: var(--mn-thread) !important;
  font-family: var(--mn-display) !important;
  font-weight: 400 !important;
  font-style: italic;
}

[titlecolor][titlecolor] > .description {
  color: var(--mn-thread-text) !important;
  font-family: var(--mn-ui) !important;
}

.ab-price-old.ab-price-old,
.ab-pd-price-old.ab-pd-price-old,
.ab-fixed-buy-price-old.ab-fixed-buy-price-old {
  color: var(--mn-thread-quiet) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.ab-price-sale.ab-price-sale,
.ab-pgrid-price.ab-price-sale,
.ab-pd-price-sale.ab-pd-price-sale,
.ab-fixed-buy-price-sale.ab-fixed-buy-price-sale {
  color: var(--mn-tailor-ink) !important;
}

.ab-footer-copy.ab-footer-copy,
.ab-footer-powered.ab-footer-powered,
.ab-footer-links.ab-footer-links a,
.ab-footer-contact-item.ab-footer-contact-item,
.ab-footer-social-label.ab-footer-social-label {
  color: var(--mn-twill) !important;
}

.ab-breadcrumbs-sep.ab-breadcrumbs-sep {
  color: var(--mn-thread-text) !important;
}

.ab-reviews-count.ab-reviews-count,
.ab-reviews-empty.ab-reviews-empty {
  color: var(--mn-slate-text) !important;
}

.ab-dg-counter.ab-dg-counter {
  color: var(--mn-calico) !important;
  background: rgba(30, 37, 21, .85) !important;
  padding: 3px 9px;
  border-radius: 0;
}

.ab-pgrid-subtitle.ab-pgrid-subtitle,
.ab-plist-subtitle.ab-plist-subtitle,
.ab-featured-subtitle.ab-featured-subtitle {
  color: var(--mn-thread-text) !important;
}

.ab-reviews-title.ab-reviews-title,
.ab-pgrid-title.ab-pgrid-title,
.ab-plist-title.ab-plist-title {
  color: var(--mn-thread) !important;
}

.ab-pgrid-badge.ab-pgrid-badge,
.ab-plist-badge.ab-plist-badge,
.ab-featured-badge.ab-featured-badge,
.ab-out-of-stock-badge.ab-out-of-stock-badge,
.ab-sale-badge.ab-sale-badge {
  font-size: 11px !important;
  padding: 5px 10px !important;
}

.mansa-drop__stack.mansa-drop__stack,
.mansa-drop__line.mansa-drop__line,
.mansa-drop__line > span {
  font-family: var(--mn-ui) !important;
  font-weight: 800 !important;
  -webkit-font-smoothing: antialiased;
}

.mansa-drop__sub.mansa-drop__sub {
  font-family: var(--mn-display) !important;
  font-weight: 400 !important;
  font-style: italic;
  font-size: clamp(17px, 1.4vw, 20px) !important;
}

.mansa-drop__selvedge.mansa-drop__selvedge {
  font-family: var(--mn-ui) !important;
  font-size: 11px !important;
}

.mansa-drop__edition.mansa-drop__edition,
.mansa-drop__label.mansa-drop__label {
  font-size: 11px !important;
}

.ab-breadcrumbs-list.ab-breadcrumbs-list {
  font-size: 11px !important;
}

.mansa-drop__edition.mansa-drop__edition,
.mansa-drop__label.mansa-drop__label,
.mansa-drop__sub.mansa-drop__sub {
  color: rgba(201, 162, 46, .85) !important;
}

.mansa-drop__selvedge.mansa-drop__selvedge {
  color: rgba(201, 162, 46, .5) !important;
}

.trust-promise__title.trust-promise__title {
  font-size: 16px !important;
}

.trust-promise__desc.trust-promise__desc {
  font-size: 14px !important;
  color: var(--mn-thread-text) !important;
}

.ab-icon-btn.ab-icon-btn,
.ab-hamburger.ab-hamburger,
.ab-mobile-close.ab-mobile-close,
.ab-logo.ab-logo,
.ab-footer-subscribe-btn.ab-footer-subscribe-btn,
.ab-footer-subscribe-input.ab-footer-subscribe-input,
.ab-dg-arrow.ab-dg-arrow,
.lq-desc-toggle.lq-desc-toggle,
.ab-reviews-write-btn.ab-reviews-write-btn,
.ab-pgrid-add-btn.ab-pgrid-add-btn,
.ab-plist-add-btn.ab-plist-add-btn,
.ab-featured-add-btn.ab-featured-add-btn {
  position: relative;
  min-width: 44px;
  min-height: 44px;
}

.ab-gallery-dot.ab-gallery-dot {
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent !important;
  border-radius: 0;
  position: relative;
}

.ab-gallery-dot.ab-gallery-dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #D4D4D4;
  transition: background-color .25s ease, transform .25s ease;
}

.ab-gallery-dot.ab-active.ab-active::before {
  background: var(--mn-thread);
  transform: translate(-50%, -50%) scale(1.222222);
}

.ab-gallery-dot.ab-gallery-dot::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  bottom: -10px;
}

.ab-gallery-dots.ab-gallery-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}

.quantity_btn_container button {
  position: relative;
  min-width: 44px;
  min-height: 44px;
}

.ab-nav a::before,
.ab-mobile-nav a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 44px;
  transform: translateY(-50%);
}

.ab-breadcrumbs-list a,
.ab-footer-powered a {
  display: inline-block;
  padding-block: 10px;
}

.ab-pgrid-media.ab-pgrid-media,
.ab-plist-media.ab-plist-media,
.ab-featured-media.ab-featured-media {
  aspect-ratio: 5 / 6;
  overflow: hidden;
}

.ab-pgrid-media > img,
.ab-plist-media > img,
.ab-featured-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ab-cat-image-wrapper.ab-cat-image-wrapper {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.ab-cat-image-wrapper > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ab-gallery-main-media.ab-gallery-main-media,
.ab-gallery-slide.ab-gallery-slide,
.ab-gallery-thumb.ab-gallery-thumb {
  aspect-ratio: 1 / 1;
}

.ab-logo.ab-logo {
  aspect-ratio: 1 / 1;
}

a:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--mn-thread);
  outline-offset: 3px;
}

.ab-footer a:focus-visible,
.ab-footer button:focus-visible,
.ab-footer input:focus-visible,
.ab-announce a:focus-visible,
.mansa-drop a:focus-visible {
  outline-color: var(--mn-twill);
}

.ab-pgrid-card:focus-visible,
.ab-plist-card:focus-visible,
.ab-featured-card:focus-visible {
  outline: 2px solid var(--mn-thread);
  outline-offset: 7px;
}

.ab-pgrid-card:focus-visible::after,
.ab-plist-card:focus-visible::after,
.ab-featured-card:focus-visible::after {
  opacity: .5;
}

.home_section_container.home_section_container {
  background-color: transparent !important;
}

.carouselWrapper > .swiper {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.carouselWrapper .swiper-slide > div {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--mn-chalk);
  background-image: var(--mn-weave);
  border: 1px solid var(--mn-thread-3);
}

.carouselWrapper .swiper-pagination {
  box-shadow: none !important;
}

.carouselWrapper .swiper-pagination-bullet {
  border-radius: 0 !important;
  background: var(--mn-thread) !important;
}

.ab-pd-description,
.lq-desc-content,
.ab-review-comment {
  font-size: max(15px, 1rem);
}

@media (prefers-reduced-motion: reduce) {
  .ab-ann-marquee-track,
  .ab-marquee-band *,
  .mansa-drop__selvedge {
    animation: none !important;
    transform: none !important;
  }
  .ab-reveal { opacity: 1 !important; animation: none !important; }
}

/* Touch devices: lighter cloth and no product-image colour transitions. */
@media (max-width: 767px), (hover: none), (pointer: coarse) {
  :root {
    --mn-weave:
      repeating-linear-gradient(63deg, rgba(51,63,38,.045) 0 1px, transparent 1px 5px),
      repeating-linear-gradient(0deg, rgba(51,63,38,.028) 0 1px, transparent 1px 3px);
  }

  .ab-pgrid-img-primary,
  .ab-plist-img-primary,
  .ab-featured-img-primary {
    filter: none !important;
    transition: none !important;
  }

  .ab-pgrid-card,
  .ab-plist-card,
  .ab-featured-card,
  .ab-footer-social-img {
    transition: none;
  }
}

/* Reduced motion: preserve visible content and functional gallery controls. */
@media (prefers-reduced-motion: reduce) {
  .ab-header::after,
  .ab-pgrid-card,
  .ab-plist-card,
  .ab-featured-card,
  .ab-pgrid-card::after,
  .ab-plist-card::after,
  .ab-featured-card::after,
  .ab-pgrid-img-primary,
  .ab-plist-img-primary,
  .ab-featured-img-primary,
  .ab-gallery-dot.ab-gallery-dot::before,
  .ab-footer-social-img {
    transition: none !important;
  }
}
