/* Royal Boutique approved design. Every rule is inert until the importer applies tre-active.
 * Repeating tre-active intentionally raises selector specificity above Elementor's generated
 * document/element selectors (usually three or four classes), while normal inline user styles
 * retain precedence. Only hero responsive visibility and reduced-motion rules need !important.
 */
body.tre-active.tre-active.tre-active {
  --tre-ink: #1b1b1b;
  --tre-gold: #bc9b55;
  --tre-line: #e7e7e7;
  --tre-soft: #f5f5f5;
  --tre-card-gap: 10px;
  --tre-card-count: 4;
  color: var(--tre-ink);
  background: #fff;
  font-family: Heebo, Arial, sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
}
body.tre-active.tre-active.tre-active *, body.tre-active.tre-active.tre-active *::before, body.tre-active.tre-active.tre-active *::after { box-sizing: border-box; }
body.tre-active.tre-active.tre-active :is(button, input, select, textarea) { font-family: Heebo, Arial, sans-serif; font-size: 18px; }
body.tre-active.tre-active.tre-active :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--tre-gold);
  outline-offset: 4px;
}
body.tre-active.tre-active.tre-active :is(.tre-page, .tre-product-archive, .tre-product-single) { width: 100%; max-width: none; overflow: clip; }
body.tre-active.tre-active.tre-active :is(.tre-page, .tre-header, .tre-footer, .tre-product-archive, .tre-product-single) .elementor-heading-title {
  font-family: Heebo, Arial, sans-serif;
  font-weight: 400;
  color: inherit;
}
body.tre-active.tre-active.tre-active :is(.tre-page, .tre-header, .tre-footer, .tre-product-archive, .tre-product-single) a { text-decoration: none; }
body.tre-active.tre-active.tre-active :is(.tre-page, .tre-header, .tre-footer, .tre-product-archive, .tre-product-single) .elementor-widget { min-width: 0; }
body.tre-active.tre-active.tre-active :is(.tre-page, .tre-product-archive, .tre-product-single) .elementor-widget-text-editor { font-size: 18px; }
body.tre-active.tre-active.tre-active :is(.tre-page, .tre-header, .tre-footer, .tre-product-archive, .tre-product-single) img { max-width: 100%; }
body.tre-active.tre-active.tre-active :is(.elementor-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button) {
  border: 1px solid var(--tre-ink);
  border-radius: 0;
  background: var(--tre-ink);
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  padding: 12px 28px;
  min-height: 48px;
  box-shadow: none;
  transition: background-color .2s ease, color .2s ease;
}
body.tre-active.tre-active.tre-active :is(.elementor-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button):hover {
  border-color: #333;
  background: #333;
  color: #fff;
}

/* Native Elementor Pro header: original logo, real navigation, product search and menu cart. */
body.tre-active.tre-active.tre-active .tre-header { position: relative; z-index: 20; background: #fff; border-bottom: 1px solid #f0f0f0; padding: 0; gap: 0; }
body.tre-active.tre-active.tre-active .tre-header-shell {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-height: 86px;
  gap: 35px;
  padding: 7px 4.3%;
  width: 100%;
  max-width: none;
}
body.tre-active.tre-active.tre-active .tre-brand { flex: 0 0 auto; width: auto; }
body.tre-active.tre-active.tre-active .elementor-element.tre-brand img { display: block; width: 93px; height: 65px; object-fit: contain; }
body.tre-active.tre-active.tre-active .tre-nav-menu { flex: 1 1 auto; width: auto; }
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--main .elementor-nav-menu { display: flex; justify-content: center; flex-wrap: nowrap; gap: clamp(17px, 2.25vw, 36px); }
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--main .elementor-item {
  font-family: Heebo, Arial, sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  padding: 10px 0;
  white-space: nowrap;
  color: var(--tre-ink);
}
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-item:is(:hover, .elementor-item-active) { color: var(--tre-gold); background: transparent; }
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-item::before, body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-item::after { background: var(--tre-gold); }
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--dropdown {
  background: #fff;
  border: 1px solid var(--tre-line);
  border-radius: 0;
  box-shadow: 0 12px 20px #0000000b;
}
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--dropdown a { padding: 13px 20px; color: var(--tre-ink); font-size: 18px; font-weight: 300; line-height: 1.5; }
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--dropdown a:hover { background: #f8f8f8; color: var(--tre-gold); }
body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-menu-toggle { color: var(--tre-ink); background: transparent; width: 44px; height: 44px; padding: 8px; }
body.tre-active.tre-active.tre-active .tre-header-tools { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 5px; width: auto; flex: 0 0 auto; }
body.tre-active.tre-active.tre-active .tre-header-tools > .elementor-widget { width: auto; }
body.tre-active.tre-active.tre-active .tre-search .elementor-search-form__toggle { display: grid; place-items: center; width: 44px; height: 44px; color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .tre-search .elementor-search-form__toggle i, body.tre-active.tre-active.tre-active .tre-search .elementor-search-form__toggle svg { font-size: 22px; width: 22px; }
body.tre-active.tre-active.tre-active .tre-search .elementor-search-form__input { font-size: 18px; font-weight: 300; }
body.tre-active.tre-active.tre-active .tre-menu-cart .elementor-menu-cart__toggle .elementor-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: none;
  padding: 8px;
  min-height: 44px;
  width: 44px;
  height: 44px;
  color: var(--tre-ink);
  background: transparent;
}
body.tre-active.tre-active.tre-active .tre-menu-cart .elementor-menu-cart__toggle .elementor-button-icon { font-size: 22px; }
body.tre-active.tre-active.tre-active .tre-menu-cart .elementor-menu-cart__toggle .elementor-button-icon-qty { background: var(--tre-gold); color: #fff; font-family: Heebo, Arial, sans-serif; font-size: 18px; font-weight: 400; min-width: 21px; min-height: 21px; line-height: 21px; }

/* Native editable hero slides. Branded first slide is supplied by the original artwork. */
body.tre-active.tre-active.tre-active .tre-hero { width: 100%; max-width: none; padding: 0; margin: 0; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-widget-container { margin: 0; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-slides-wrapper { width: 100%; height: auto; aspect-ratio: 1942 / 809; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-slides { height: 100%; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-bg { background-size: cover; background-position: center; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-inner { padding: 40px 7%; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-contents { max-width: 620px; text-align: right; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-slide-heading { color: #fff; font-family: Heebo, Arial, sans-serif; font-size: clamp(32px, 4.5vw, 66px); font-weight: 400; line-height: 1.2; margin-bottom: 18px; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-slide-description { color: #fff; font-family: Heebo, Arial, sans-serif; font-size: 20px; font-weight: 300; line-height: 1.5; margin-bottom: 25px; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-button.elementor-slide-button { background: #fff; color: var(--tre-ink); border: 1px solid #fff; border-radius: 0; min-height: 48px; padding: 10px 28px; font-size: 18px; font-weight: 400; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-button.elementor-slide-button:hover { background: var(--tre-ink); border-color: var(--tre-ink); color: #fff; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-swiper-button { color: #fff; font-size: 28px; padding: 8px; background: #1b1b1b45; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-pagination-bullet { border: 1px solid #fff; background: transparent; opacity: 1; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-pagination-bullet-active { background: #fff; }
body.tre-active.tre-active.tre-active .tre-hero-desktop { display: block !important; }
body.tre-active.tre-active.tre-active .tre-hero-mobile { display: none !important; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-slides :is(.swiper-wrapper, .swiper-slide) { height: 100%; }

/* Three original promotional panels and four category photographs. */
body.tre-active.tre-active.tre-active .tre-promo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 10px 0 0; max-width: none; }
body.tre-active.tre-active.tre-active .tre-promo-card { display: block; min-width: 0; position: relative; overflow: hidden; padding: 0; gap: 0; }
body.tre-active.tre-active.tre-active .tre-promo-card::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #0005); pointer-events: none; }
body.tre-active.tre-active.tre-active .tre-promo-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; transition: transform .55s ease; }
body.tre-active.tre-active.tre-active .tre-promo-card:hover .tre-promo-image img, body.tre-active.tre-active.tre-active .tre-category-card:hover img { transform: scale(1.025); }
body.tre-active.tre-active.tre-active .tre-promo-title { position: absolute; z-index: 1; bottom: 20px; right: 20px; left: 20px; width: auto; margin: 0; text-align: center; }
body.tre-active.tre-active.tre-active .tre-promo-title .elementor-heading-title { color: #fff; font-size: 28px; font-weight: 300; line-height: 1.4; }
body.tre-active.tre-active.tre-active .tre-section { width: 100%; max-width: 1580px; margin: 0 auto; padding: 66px 4.3%; gap: 0; }
body.tre-active.tre-active.tre-active .tre-section-title { width: 100%; margin: 0 0 32px; text-align: center; }
body.tre-active.tre-active.tre-active .tre-section-title .elementor-heading-title { font-size: 34px; font-weight: 400; line-height: 1.35; }
body.tre-active.tre-active.tre-active .tre-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; width: 100%; padding: 0; }
body.tre-active.tre-active.tre-active .tre-category-card { display: block; min-width: 0; padding: 0; gap: 0; overflow: hidden; }
body.tre-active.tre-active.tre-active .tre-category-image img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; transition: transform .55s ease; }
body.tre-active.tre-active.tre-active .tre-category-title { text-align: center; margin: 14px 0 0; }
body.tre-active.tre-active.tre-active .tre-category-title .elementor-heading-title { font-size: 26px; font-weight: 300; line-height: 1.4; }
body.tre-active.tre-active.tre-active .tre-editorial { width: 100%; padding: 0; margin: 0; }
body.tre-active.tre-active.tre-active .tre-editorial img { display: block; width: 100%; height: auto; aspect-ratio: 1942 / 809; object-fit: cover; }

/* Product content is supplied by WooCommerce; styles do not generate names or prices. */
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products { padding: 0; margin: 0; list-style: none; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products::before,
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products::after { display: none; content: none; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product { position: relative; float: none; width: auto; min-width: 0; margin: 0; padding: 0; border: none; border-radius: 0; background: transparent; text-align: right; box-shadow: none; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product a.woocommerce-loop-product__link { display: block; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product a img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; margin: 0 0 12px; border: none; border-radius: 0; background: var(--tre-soft); transition: opacity .25s ease; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product a:hover img { opacity: .94; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product :is(.woocommerce-loop-product__title, h2, h3) {
  color: var(--tre-ink);
  font-family: Heebo, Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  padding: 0;
  margin: 0 0 5px;
}
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product .price { color: var(--tre-ink); font-size: 18px; font-weight: 400; line-height: 1.5; margin: 0; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product .price del { color: #929292; opacity: 1; font-weight: 300; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product .price ins { color: inherit; font-weight: 400; background: transparent; text-decoration: none; margin-inline-start: 8px; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product .onsale {
  position: absolute;
  inset: 12px 12px auto auto;
  z-index: 2;
  min-width: 0;
  min-height: 0;
  border-radius: 0;
  background: var(--tre-gold);
  color: #fff;
  font-family: Heebo, Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  padding: 5px 12px;
  margin: 0;
}
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product .button { display: inline-flex; align-items: center; justify-content: center; margin-top: 12px; padding: 8px 16px; min-height: 44px; max-width: 100%; font-size: 18px; font-weight: 400; white-space: normal; }
body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product .added_to_cart { display: inline-block; margin-top: 8px; padding: 5px 0; color: var(--tre-ink); font-size: 18px; text-decoration: underline; }
body.tre-active.tre-active.tre-active .tre-product-carousel { width: 100%; }
body.tre-active.tre-active.tre-active .tre-product-carousel ul.products {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--tre-card-count) - 1) * var(--tre-card-gap)) / var(--tre-card-count));
  grid-template-columns: none;
  gap: var(--tre-card-gap);
  overflow-x: auto;
  overflow-y: hidden;
  direction: rtl;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  padding: 4px 0 8px;
}
body.tre-active.tre-active.tre-active .tre-product-carousel ul.products::-webkit-scrollbar { display: none; }
body.tre-active.tre-active.tre-active .tre-product-carousel ul.products li.product { scroll-snap-align: start; }
body.tre-active.tre-active.tre-active .tre-carousel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; margin: -72px 0 32px; min-height: 40px; }
body.tre-active.tre-active.tre-active .tre-carousel-button { display: inline-grid; place-items: center; width: 40px; height: 40px; min-width: 40px; border: 1px solid var(--tre-line); border-radius: 0; background: #fff; color: var(--tre-ink); padding: 8px; cursor: pointer; }
body.tre-active.tre-active.tre-active .tre-carousel-button svg { display: block; width: 18px; height: 18px; }
body.tre-active.tre-active.tre-active .tre-carousel-button:hover { background: #f5f5f5; }
body.tre-active.tre-active.tre-active .tre-carousel-button:disabled { opacity: .35; cursor: default; }
body.tre-active.tre-active.tre-active .tre-carousel-actions[hidden] { display: none; }
/* Homepage playback uses the existing product track; its separate control leaves the arrows in place. */
body.tre-active.tre-active.tre-active .tre-home .tre-product-carousel { position: relative; }
body.tre-active.tre-active.tre-active .tre-home .tre-carousel-autoplay { position: absolute; top: -44px; right: 0; z-index: 6; display: inline-flex; align-items: center; justify-content: center; min-height: 36px; margin: 0; padding: 4px 10px; border: 1px solid var(--tre-line); border-radius: 0; background: #fff; color: #555; font-size: 18px; font-weight: 300; line-height: 1.4; cursor: pointer; }
body.tre-active.tre-active.tre-active .tre-home .tre-carousel-autoplay:hover { background: var(--tre-soft); color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .tre-home .tre-carousel-autoplay[hidden] { display: none; }
@media (max-width: 600px) {
  body.tre-active.tre-active.tre-active .tre-home .tre-carousel-autoplay { top: -8px; min-height: 32px; font-size: 17px; }
}

/* Black and gold footer, kept as native Elementor text/menu/image elements. */
body.tre-active.tre-active.tre-active .tre-footer { background: #000; color: #fff; padding: 55px 6% 20px; border: 0; gap: 0; }
body.tre-active.tre-active.tre-active .tre-footer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 55px; max-width: 1300px; margin: 0 auto; padding: 0; width: 100%; }
body.tre-active.tre-active.tre-active .tre-footer-column { display: flex; flex-direction: column; align-items: stretch; gap: 9px; padding: 0; min-width: 0; }
body.tre-active.tre-active.tre-active .tre-footer-column .elementor-heading-title { color: var(--tre-gold); font-size: 26px; font-weight: 300; margin: 0 0 15px; }
body.tre-active.tre-active.tre-active .tre-footer-column :is(.elementor-widget-text-editor, .elementor-icon-list-text, a) { color: #fff; font-size: 18px; font-weight: 300; line-height: 1.6; }
body.tre-active.tre-active.tre-active .tre-footer-column a { overflow-wrap: anywhere; }
body.tre-active.tre-active.tre-active .tre-footer-column a:hover { color: #fff; text-decoration: underline; }
body.tre-active.tre-active.tre-active .tre-footer-column .elementor-icon-list-items { margin: 0; padding: 0; }
body.tre-active.tre-active.tre-active .tre-footer-column .elementor-icon-list-item { padding: 0 0 9px; }
body.tre-active.tre-active.tre-active .tre-footer-column .elementor-social-icons-wrapper { display: flex; gap: 18px; margin-top: 15px; }
body.tre-active.tre-active.tre-active .tre-footer-column .elementor-social-icon { color: #fff; background: transparent; font-size: 22px; border-radius: 0; padding: 0; }
body.tre-active.tre-active.tre-active .tre-footer-column .elementor-social-icon i { color: #fff; }
body.tre-active.tre-active.tre-active .tre-footer-bottom { display: flex; flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px solid #333; margin-top: 40px; padding: 20px 0 0; width: 100%; gap: 20px; }
body.tre-active.tre-active.tre-active .tre-footer-brand { width: auto; }
body.tre-active.tre-active.tre-active .elementor-element.tre-footer-brand img { display: block; width: 66px; height: 52px; object-fit: contain; }
body.tre-active.tre-active.tre-active .tre-copyright { width: auto; font-size: 18px; color: #ddd; }
body.tre-active.tre-active.tre-active .tre-copyright p { margin: 0; }

/* Real WooCommerce archive and native pagination/sorting. */
body.tre-active.tre-active.tre-active .tre-archive-banner { background: var(--tre-ink); color: #fff; text-align: center; padding: 32px 20px; width: 100%; gap: 10px; }
body.tre-active.tre-active.tre-active .tre-archive-banner .elementor-heading-title { margin: 0; font-size: 32px; font-weight: 400; line-height: 1.35; }
body.tre-active.tre-active.tre-active .tre-archive-banner .woocommerce-breadcrumb { color: #fff; margin: 0; font-size: 18px; line-height: 1.5; }
body.tre-active.tre-active.tre-active .tre-archive-banner .woocommerce-breadcrumb a { color: #fff; }
body.tre-active.tre-active.tre-active .tre-archive-products { width: 100%; }
body.tre-active.tre-active.tre-active .tre-archive-products ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 35px 10px; width: 100%; clear: both; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-result-count { font-size: 18px; line-height: 1.5; margin: 10px 0 30px; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-ordering { margin-bottom: 30px; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-ordering select { color: var(--tre-ink); background: #fff; border: 1px solid var(--tre-line); border-radius: 0; padding: 10px 15px; font-size: 18px; min-height: 48px; max-width: 100%; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-pagination { padding-top: 35px; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-pagination ul { border: none; display: inline-flex; gap: 6px; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-pagination ul li { border: 1px solid var(--tre-line); }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-pagination ul li :is(a, span) { min-width: 44px; min-height: 44px; display: grid; place-items: center; background: #fff; color: var(--tre-ink); font-size: 18px; padding: 8px; }
body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-pagination ul li span.current { background: var(--tre-ink); color: #fff; }

/* Native WooCommerce single-product gallery, variation form and data tabs. */
body.tre-active.tre-active.tre-active .tre-product-single { max-width: 1440px; margin: auto; padding: 45px 4.3% 65px; }
body.tre-active.tre-active.tre-active .tre-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; padding: 0; align-items: start; direction: ltr; }
body.tre-active.tre-active.tre-active .tre-detail-images { min-width: 0; width: 100%; padding: 0; }
body.tre-active.tre-active.tre-active .tre-detail-images .woocommerce-product-gallery { float: none; width: 100%; margin: 0; }
body.tre-active.tre-active.tre-active .tre-detail-images .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
body.tre-active.tre-active.tre-active .tre-detail-images .woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
body.tre-active.tre-active.tre-active .tre-detail-images .woocommerce-product-gallery .flex-control-thumbs li { float: none; width: auto; }
body.tre-active.tre-active.tre-active .tre-detail-images .woocommerce-product-gallery .flex-control-thumbs img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
body.tre-active.tre-active.tre-active .tre-detail-copy { min-width: 0; width: 100%; padding: 20px 0 0; direction: rtl; gap: 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy .product_title { color: var(--tre-ink); font-family: Heebo, Arial, sans-serif; font-size: 32px; font-weight: 400; line-height: 1.35; margin: 0 0 16px; padding: 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy .price { color: var(--tre-ink); font-size: 24px; font-weight: 400; margin: 0 0 30px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .price ins { font-weight: 400; background: transparent; text-decoration: none; margin-inline-start: 8px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .price del { color: #929292; opacity: 1; font-weight: 300; }
body.tre-active.tre-active.tre-active .tre-detail-copy :is(.woocommerce-product-details__short-description, .product_meta, .woocommerce-variation-description, .woocommerce-variation-availability, .stock) { font-size: 18px; line-height: 1.8; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-product-details__short-description { margin-bottom: 24px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy .variations { border: none; width: 100%; margin: 0 0 20px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .variations :is(td, th) { border: none; padding: 0 0 12px; vertical-align: middle; background: transparent; }
body.tre-active.tre-active.tre-active .tre-detail-copy .variations th { width: 70px; text-align: right; font-weight: 300; color: #777; padding-inline-end: 14px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .variations label { font-weight: 300; font-size: 18px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .variations select { width: 100%; max-width: 100%; min-width: 0; min-height: 48px; padding: 10px 15px; border: 1px solid var(--tre-line); border-radius: 0; background: #fff; color: var(--tre-ink); font-size: 18px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .reset_variations { display: inline-block; color: #777; font-size: 18px; padding: 6px 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy .quantity .qty { min-height: 48px; width: 74px; max-width: 100%; border: 1px solid var(--tre-line); border-radius: 0; font-size: 18px; text-align: center; background: #fff; color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .tre-detail-copy :is(form.cart:not(.variations_form), .woocommerce-variation-add-to-cart) { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 25px 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy form.cart .quantity { float: none; margin: 0; flex: 0 0 74px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .single_add_to_cart_button { flex: 1 1 180px; min-height: 48px; float: none; background: var(--tre-ink); border-color: var(--tre-ink); color: #fff; border-radius: 0; padding: 12px 28px; font-size: 18px; font-weight: 400; }
body.tre-active.tre-active.tre-active .tre-detail-copy .single_add_to_cart_button.disabled { opacity: .5; }
body.tre-active.tre-active.tre-active .tre-detail-copy .product_meta { border-top: 1px solid var(--tre-line); padding: 18px 0; margin-top: 15px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .product_meta > span { display: block; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs { margin-top: 18px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 15px; padding: 0; margin: 0 0 20px; border-bottom: 1px solid var(--tre-line); }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs::before { display: none; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs li { background: transparent; border: none; border-radius: 0; margin: 0; padding: 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs li::before, body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs li::after { display: none; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs li a { font-size: 18px; font-weight: 400; padding: 12px 0; color: #777; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs ul.tabs li.active a { color: var(--tre-ink); box-shadow: 0 1px 0 var(--tre-ink); }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs .panel { font-size: 18px; line-height: 1.8; margin: 0; padding: 0; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-tabs .panel :is(h2, h3) { font-size: 24px; font-weight: 400; margin: 0 0 16px; line-height: 1.4; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-product-attributes { width: 100%; border: none; border-collapse: collapse; font-size: 18px; }
body.tre-active.tre-active.tre-active .tre-detail-copy .woocommerce-product-attributes :is(th, td) { border-bottom: 1px solid var(--tre-line); padding: 12px 0; text-align: right; font-weight: 300; background: transparent; }
body.tre-active.tre-active.tre-active .tre-product-single :is(.related, .upsells) { width: 100%; margin-top: 50px; }
body.tre-active.tre-active.tre-active .tre-product-single :is(.related, .upsells) > h2 { text-align: center; font-size: 30px; font-weight: 400; margin-bottom: 30px; }
body.tre-active.tre-active.tre-active .tre-product-single :is(.related, .upsells) ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }

/* Real Elementor/WooCommerce floating cart. No duplicate products or checkout data. */
body.tre-active.tre-active.tre-active .elementor-menu-cart__container { color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .elementor-menu-cart__main { background: #fff; color: var(--tre-ink); width: min(90vw, 420px); max-width: 100vw; padding: 30px 24px; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__close-button { color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .elementor-menu-cart__products { scrollbar-width: thin; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__product { border-bottom: 1px solid var(--tre-line); padding: 16px 0; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__product-image img { aspect-ratio: 2 / 3; object-fit: cover; width: 100%; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__product-name, body.tre-active.tre-active.tre-active .elementor-menu-cart__product-name a { color: var(--tre-ink); font-size: 18px; font-weight: 400; line-height: 1.5; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__product-price { color: var(--tre-ink); font-size: 18px; font-weight: 300; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__subtotal { border-top: 1px solid var(--tre-line); color: var(--tre-ink); font-size: 18px; font-weight: 400; padding: 20px 0; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__footer-buttons { display: grid; grid-template-columns: 1fr; gap: 10px; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__footer-buttons .elementor-button { background: var(--tre-ink); color: #fff; border: 1px solid var(--tre-ink); border-radius: 0; padding: 12px 20px; min-height: 48px; font-size: 18px; font-weight: 400; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__footer-buttons .elementor-button:hover { background: #333; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__footer-buttons .elementor-button.elementor-button--view-cart { background: #fff; color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .elementor-menu-cart__footer-buttons .elementor-button.elementor-button--view-cart:hover { background: #f5f5f5; }
body.tre-active.tre-active.tre-active .elementor-menu-cart__main :is(.woocommerce-mini-cart__empty-message, .variation, .variation p, .quantity) { font-size: 18px; }
body.tre-active.tre-active.tre-active .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { font-size: 18px; line-height: 1.6; }

@media (max-width: 1100px) {
  body.tre-active.tre-active.tre-active { --tre-card-count: 3; }
  body.tre-active.tre-active.tre-active .tre-header-shell { gap: 20px; padding-inline: 3%; }
  body.tre-active.tre-active.tre-active .elementor-element.tre-brand img { width: 76px; }
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--main .elementor-nav-menu { gap: 14px; }
  body.tre-active.tre-active.tre-active .tre-detail-grid { gap: 35px; }
}
@media (max-width: 900px) {
  body.tre-active.tre-active.tre-active { --tre-card-count: 2; }
  body.tre-active.tre-active.tre-active .tre-footer-grid { gap: 25px; }
}
/* Match the owned header to Elementor's native tablet menu mode, including its resize behavior. */
@media (max-width: 1024px) {
  body.tre-active.tre-active.tre-active .tre-header-shell { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; min-height: 74px; padding: 7px 15px; }
  body.tre-active.tre-active.tre-active .tre-brand { grid-area: 1 / 2; justify-self: center; }
  body.tre-active.tre-active.tre-active .elementor-element.tre-brand img { width: 76px; height: 58px; }
  body.tre-active.tre-active.tre-active .tre-nav-menu { grid-area: 1 / 1; justify-self: start; }
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--main { display: none; }
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-menu-toggle { display: flex; }
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute; inset-inline: 0; width: 100%; margin-top: 14px; }
  body.tre-active.tre-active.tre-active .tre-header-tools { grid-area: 1 / 3; justify-self: end; justify-content: flex-end; gap: 0; }
  body.tre-active.tre-active.tre-active .tre-header-tools .elementor-search-form__toggle,
  body.tre-active.tre-active.tre-active .tre-menu-cart .elementor-menu-cart__toggle .elementor-button { width: 38px; min-width: 38px; }
}
@media (min-width: 1025px) {
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--main { display: block; }
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-menu-toggle { display: none; }
  /* The measured image center keeps side controls clear of headings and variable-height card copy. */
  body.tre-active.tre-active.tre-active .tre-product-carousel,
  body.tre-active.tre-active.tre-active .tre-product-carousel .woocommerce { position: relative; }
  body.tre-active.tre-active.tre-active .tre-product-carousel .tre-carousel-actions { position: absolute; inset: 0; z-index: 5; margin: 0; min-height: 0; pointer-events: none; }
  body.tre-active.tre-active.tre-active .tre-product-carousel .tre-carousel-button { position: absolute; top: var(--tre-carousel-image-center, 50%); transform: translateY(-50%); pointer-events: auto; }
  body.tre-active.tre-active.tre-active .tre-product-carousel .tre-carousel-previous { right: -20px; left: auto; }
  body.tre-active.tre-active.tre-active .tre-product-carousel .tre-carousel-next { left: -20px; right: auto; }
}
@media (max-width: 600px) {
  body.tre-active.tre-active.tre-active { --tre-card-count: 1; font-size: 17px; }
  body.tre-active.tre-active.tre-active :is(button, input, select, textarea) { font-size: 17px; }
  body.tre-active.tre-active.tre-active :is(.tre-page, .tre-product-archive, .tre-product-single) .elementor-widget-text-editor { font-size: 17px; }
  body.tre-active.tre-active.tre-active :is(.elementor-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button) { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-nav-menu .elementor-nav-menu--dropdown a { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-hero-desktop { display: none !important; }
  body.tre-active.tre-active.tre-active .tre-hero-mobile { display: block !important; }
  body.tre-active.tre-active.tre-active .tre-hero-mobile .elementor-slides-wrapper { aspect-ratio: 941 / 1672; }
  body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-inner { align-items: flex-end; padding: 25px 25px 75px; }
  body.tre-active.tre-active.tre-active .tre-hero .elementor-slide-heading { font-size: 36px; max-width: 320px; }
  body.tre-active.tre-active.tre-active .tre-hero .elementor-slide-description, body.tre-active.tre-active.tre-active .tre-hero .elementor-button.elementor-slide-button { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-promo-grid { gap: 5px; margin-top: 5px; }
  body.tre-active.tre-active.tre-active .tre-promo-image img { aspect-ratio: 3 / 4; }
  body.tre-active.tre-active.tre-active .tre-promo-title { bottom: 12px; inset-inline: 5px; }
  body.tre-active.tre-active.tre-active .tre-promo-title .elementor-heading-title { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-section { padding: 44px 16px; }
  body.tre-active.tre-active.tre-active .tre-section-title { margin-bottom: 25px; }
  body.tre-active.tre-active.tre-active .tre-section-title .elementor-heading-title { font-size: 28px; }
  body.tre-active.tre-active.tre-active .tre-product-carousel ul.products { grid-auto-columns: calc(100% - 70px); }
  body.tre-active.tre-active.tre-active .tre-carousel-actions { justify-content: center; margin: -12px 0 20px; }
  body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product :is(.woocommerce-loop-product__title, h2, h3, .price, .onsale, .button, .added_to_cart) { font-size: 17px; }
  body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-product-single) ul.products li.product a img { margin-bottom: 10px; }
  body.tre-active.tre-active.tre-active .tre-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 8px; }
  body.tre-active.tre-active.tre-active .tre-category-title { margin-top: 10px; }
  body.tre-active.tre-active.tre-active .tre-category-title .elementor-heading-title { font-size: 21px; }
  body.tre-active.tre-active.tre-active .tre-footer { padding: 40px 22px 20px; }
  body.tre-active.tre-active.tre-active .tre-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px 20px; }
  body.tre-active.tre-active.tre-active .tre-footer-contact { grid-column: 1 / -1; }
  body.tre-active.tre-active.tre-active .tre-footer-column .elementor-heading-title { font-size: 23px; margin-bottom: 8px; }
  body.tre-active.tre-active.tre-active .tre-footer-column :is(.elementor-widget-text-editor, .elementor-icon-list-text, a), body.tre-active.tre-active.tre-active .tre-copyright { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-archive-banner { padding: 25px 15px; }
  body.tre-active.tre-active.tre-active .tre-archive-banner .elementor-heading-title { font-size: 28px; }
  body.tre-active.tre-active.tre-active .tre-archive-banner .woocommerce-breadcrumb { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-archive-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 8px; }
  body.tre-active.tre-active.tre-active .tre-archive-products ul.products li.product .onsale { inset: 8px 8px auto auto; padding: 4px 8px; }
  body.tre-active.tre-active.tre-active .tre-archive-products :is(.woocommerce-result-count, .woocommerce-ordering select) { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-result-count { float: none; margin: 0 0 12px; }
  body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-ordering { float: none; display: block; margin-bottom: 25px; }
  body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-ordering select { width: 100%; }
  body.tre-active.tre-active.tre-active .tre-archive-products .woocommerce-pagination ul li :is(a, span) { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-product-single { padding: 25px 16px 45px; }
  body.tre-active.tre-active.tre-active .tre-detail-grid { grid-template-columns: 1fr; gap: 25px; }
  body.tre-active.tre-active.tre-active .tre-detail-copy { padding-top: 0; }
  body.tre-active.tre-active.tre-active .tre-detail-copy .product_title { font-size: 28px; }
  body.tre-active.tre-active.tre-active .tre-detail-copy .price { font-size: 22px; }
  body.tre-active.tre-active.tre-active .tre-detail-copy :is(.woocommerce-product-details__short-description, .product_meta, .woocommerce-variation-description, .woocommerce-variation-availability, .stock, .variations label, .variations select, .reset_variations, .quantity .qty, .single_add_to_cart_button, .woocommerce-tabs ul.tabs li a, .woocommerce-tabs .panel, .woocommerce-product-attributes) { font-size: 17px; }
  body.tre-active.tre-active.tre-active .tre-product-single :is(.related, .upsells) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 8px; }
  body.tre-active.tre-active.tre-active .elementor-menu-cart__main { padding: 24px 20px; }
  body.tre-active.tre-active.tre-active :is(.elementor-menu-cart__product-name, .elementor-menu-cart__product-name a, .elementor-menu-cart__product-price, .elementor-menu-cart__subtotal, .elementor-menu-cart__footer-buttons .elementor-button) { font-size: 17px; }
  body.tre-active.tre-active.tre-active .elementor-menu-cart__main :is(.woocommerce-mini-cart__empty-message, .variation, .variation p, .quantity) { font-size: 17px; }
  body.tre-active.tre-active.tre-active .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  body.tre-active.tre-active.tre-active *, body.tre-active.tre-active.tre-active *::before, body.tre-active.tre-active.tre-active *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* Existing legal/content pages and live WooCommerce cart/checkout use the same typography. */
body.tre-active.tre-active.tre-active .tre-content-page { width: 100%; max-width: 1300px; margin: 0 auto; padding: 55px 4.3% 65px; }
body.tre-active.tre-active.tre-active .tre-content-page .elementor-heading-title { font-family: Heebo, Arial, sans-serif; font-size: 34px; font-weight: 400; line-height: 1.35; }
body.tre-active.tre-active.tre-active :is(.tre-content-page, .tre-post-content, .tre-page-content) { color: var(--tre-ink); font-family: Heebo, Arial, sans-serif; font-size: 18px; line-height: 1.8; }
body.tre-active.tre-active.tre-active :is(.tre-content-page, .tre-post-content, .tre-page-content) :is(p, li, td, th, label, input, select, textarea) { font-size: 18px; }
body.tre-active.tre-active.tre-active :is(.tre-content-page, .tre-post-content, .tre-page-content) :is(h1, h2, h3, h4, h5, h6) { font-family: Heebo, Arial, sans-serif; font-weight: 400; line-height: 1.4; }
body.tre-active.tre-active.tre-active :is(.tre-content-page, .tre-post-content, .tre-page-content) :is(h4, h5, h6) { font-size: 20px; }
body.tre-active.tre-active.tre-active .tre-socials .elementor-icon-list-items { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
body.tre-active.tre-active.tre-active .tre-socials .elementor-icon-list-item { padding: 0; }
body.tre-active.tre-active.tre-active .tre-socials .elementor-icon-list-icon :is(i, svg) { color: #fff; fill: #fff; font-size: 22px; }
body.tre-active.tre-active.tre-active :is(.woocommerce-cart-form, .cart-collaterals, form.checkout, .woocommerce-order) { font-size: 18px; line-height: 1.6; color: var(--tre-ink); }
body.tre-active.tre-active.tre-active :is(.woocommerce-cart-form, .cart-collaterals, form.checkout, .woocommerce-order) :is(h2, h3) { font-family: Heebo, Arial, sans-serif; font-size: 28px; font-weight: 400; line-height: 1.4; }
body.tre-active.tre-active.tre-active .woocommerce table.shop_table { border: 1px solid var(--tre-line); border-radius: 0; border-collapse: collapse; font-size: 18px; }
body.tre-active.tre-active.tre-active .woocommerce table.shop_table :is(th, td) { border-color: var(--tre-line); background: transparent; padding: 14px 12px; font-weight: 300; }
body.tre-active.tre-active.tre-active .woocommerce table.shop_table th { font-weight: 400; }
body.tre-active.tre-active.tre-active .woocommerce table.shop_table .product-thumbnail img { width: 68px; aspect-ratio: 2 / 3; object-fit: cover; }
body.tre-active.tre-active.tre-active .woocommerce :is(.woocommerce-cart-form, form.checkout) :is(.input-text, select, textarea) { border: 1px solid var(--tre-line); border-radius: 0; background: #fff; color: var(--tre-ink); font-size: 18px; min-height: 48px; padding: 10px 12px; }
body.tre-active.tre-active.tre-active .woocommerce .select2-container .select2-selection--single { min-height: 48px; border: 1px solid var(--tre-line); border-radius: 0; background: #fff; }
body.tre-active.tre-active.tre-active .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { font-size: 18px; line-height: 46px; padding-inline: 12px; }
body.tre-active.tre-active.tre-active .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
body.tre-active.tre-active.tre-active .woocommerce form.checkout .form-row label { font-size: 18px; font-weight: 400; }
body.tre-active.tre-active.tre-active .woocommerce #payment { background: #f9f9f9; border-radius: 0; }
body.tre-active.tre-active.tre-active .woocommerce #payment div.payment_box { background: #eee; color: var(--tre-ink); font-size: 18px; }
body.tre-active.tre-active.tre-active .woocommerce #payment div.payment_box::before { border-bottom-color: #eee; }
body.tre-active.tre-active.tre-active .woocommerce #place_order { float: none; width: 100%; }
body.tre-active.tre-active.tre-active .woocommerce .cart-collaterals .cart_totals { border: 1px solid var(--tre-line); padding: 24px; }
body.tre-active.tre-active.tre-active .woocommerce .checkout-button { display: block; text-align: center; font-size: 18px; }
@media (max-width: 600px) {
  body.tre-active.tre-active.tre-active .tre-content-page { padding: 35px 16px 45px; }
  body.tre-active.tre-active.tre-active .tre-content-page .elementor-heading-title { font-size: 28px; }
  body.tre-active.tre-active.tre-active :is(.tre-content-page, .tre-post-content, .tre-page-content),
  body.tre-active.tre-active.tre-active :is(.tre-content-page, .tre-post-content, .tre-page-content) :is(p, li, td, th, label, input, select, textarea),
  body.tre-active.tre-active.tre-active :is(.woocommerce-cart-form, .cart-collaterals, form.checkout, .woocommerce-order),
  body.tre-active.tre-active.tre-active .woocommerce table.shop_table,
  body.tre-active.tre-active.tre-active .woocommerce :is(.woocommerce-cart-form, form.checkout) :is(.input-text, select, textarea),
  body.tre-active.tre-active.tre-active .woocommerce form.checkout .form-row label,
  body.tre-active.tre-active.tre-active .woocommerce #payment div.payment_box,
  body.tre-active.tre-active.tre-active .woocommerce .checkout-button,
  body.tre-active.tre-active.tre-active .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { font-size: 17px; }
  body.tre-active.tre-active.tre-active .woocommerce .cart-collaterals .cart_totals { padding: 20px 16px; }
  body.tre-active.tre-active.tre-active .woocommerce .cart .coupon { display: flex; flex-wrap: wrap; gap: 10px; }
  body.tre-active.tre-active.tre-active .woocommerce .cart .coupon .input-text { float: none; flex: 1 1 120px; width: auto; margin: 0; }
  body.tre-active.tre-active.tre-active .woocommerce .cart .coupon .button { float: none; flex: 1 1 120px; width: auto; }
}
body.tre-active.tre-active.tre-active .tre-product-breadcrumbs { margin-bottom: 25px; }
body.tre-active.tre-active.tre-active .tre-product-breadcrumbs .woocommerce-breadcrumb { font-size: 18px; color: #777; margin: 0; }
body.tre-active.tre-active.tre-active .tre-product-breadcrumbs .woocommerce-breadcrumb a { color: var(--tre-ink); }
body.tre-active.tre-active.tre-active .tre-blog-posts :is(.elementor-post__title, .elementor-post__title a) { color: var(--tre-ink); font-family: Heebo, Arial, sans-serif; font-size: 26px; font-weight: 400; line-height: 1.4; }
body.tre-active.tre-active.tre-active .tre-blog-posts :is(.elementor-post__excerpt, .elementor-post__excerpt p, .elementor-post__read-more, .elementor-post__meta-data) { color: var(--tre-ink); font-family: Heebo, Arial, sans-serif; font-size: 18px; font-weight: 300; line-height: 1.6; }
body.tre-active.tre-active.tre-active .tre-blog-posts .elementor-post__read-more { font-weight: 400; text-decoration: underline; }
body.tre-active.tre-active.tre-active .tre-blog-image img { width: 100%; height: auto; }
@media (max-width: 600px) {
  body.tre-active.tre-active.tre-active .tre-product-breadcrumbs .woocommerce-breadcrumb,
  body.tre-active.tre-active.tre-active .tre-blog-posts :is(.elementor-post__excerpt, .elementor-post__excerpt p, .elementor-post__read-more, .elementor-post__meta-data) { font-size: 17px; }
}

@media (max-width: 600px) { body.tre-active.tre-active.tre-active .tre-menu-cart .elementor-menu-cart__toggle .elementor-button-icon-qty { font-size: 17px; } }
/* Color dots use only the real WooCommerce color attribute resolved by the importer hook. */
body.tre-active.tre-active.tre-active .tre-card-colors { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding-top: 5px; }
body.tre-active.tre-active.tre-active .tre-card-colors .tre-color-dot { display: block; flex: 0 0 14px; width: 14px; height: 14px; border: 1px solid #ddd; border-radius: 50%; background-color: var(--tre-swatch, transparent); }
/* Native slide controls follow the approved bottom-center arrangement. */
body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-inner { justify-content: flex-end; direction: ltr; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-contents { direction: rtl; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-slides-wrapper:has(> .swiper-pagination)::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 16px;
  width: 144px;
  height: 36px;
  transform: translateX(-50%);
  background: #1b1b1b70;
  pointer-events: none;
}
body.tre-active.tre-active.tre-active .tre-hero .elementor-swiper-button {
  position: absolute;
  top: auto;
  bottom: 20px;
  z-index: 4;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  margin: 0;
  transform: none;
  background: transparent;
  color: #fff;
  font-size: 20px;
}
body.tre-active.tre-active.tre-active .tre-hero .elementor-swiper-button svg { width: 20px; height: 20px; fill: currentColor; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-swiper-button-prev { left: calc(50% + 34px); right: auto; }
body.tre-active.tre-active.tre-active .tre-hero .elementor-swiper-button-next { left: calc(50% - 62px); right: auto; }
body.tre-active.tre-active.tre-active .tre-hero .swiper-pagination {
  position: absolute;
  z-index: 3;
  left: 50%;
  right: auto;
  top: auto;
  bottom: 16px;
  width: 39px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0;
  margin: 0;
  transform: translateX(-50%);
}
body.tre-active.tre-active.tre-active .tre-hero .swiper-pagination .swiper-pagination-bullet { flex: 0 0 7px; width: 7px; height: 7px; margin: 0; border-radius: 50%; }
/* This button controls the existing native desktop Swiper autoplay, with a readable accessible name. */
body.tre-active.tre-active.tre-active .tre-hero-desktop .tre-hero-autoplay-toggle {
  position: absolute;
  z-index: 5;
  left: calc(50% + 82px);
  right: auto;
  top: auto;
  bottom: 16px;
  display: inline-grid;
  place-items: center;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  margin: 0;
  padding: 8px;
  border: 0;
  border-radius: 0;
  background: #1b1b1b70;
  color: #fff;
  cursor: pointer;
}
body.tre-active.tre-active.tre-active .tre-hero-desktop .tre-hero-autoplay-toggle:hover { background: #1b1b1ba8; }
body.tre-active.tre-active.tre-active .tre-hero-desktop .tre-hero-autoplay-toggle svg { display: block; width: 20px; height: 20px; }
@media (max-width: 600px) {
  body.tre-active.tre-active.tre-active .tre-hero .swiper-slide-inner { align-items: flex-end; padding: 25px 25px 75px; }
  body.tre-active.tre-active.tre-active .tre-hero .elementor-slides-wrapper:has(> .swiper-pagination)::after,
  body.tre-active.tre-active.tre-active .tre-hero .swiper-pagination { bottom: 15px; }
  body.tre-active.tre-active.tre-active .tre-hero .elementor-swiper-button { bottom: 19px; }
}
/* Keep native product actions readable in browsers without container-query units. */
body.tre-active.tre-active.tre-active .tre-native-product-button .tre-button-icon { display: none; }
@supports (container-type: inline-size) and (top: 1cqw) {
  body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-related-products) ul.products li.product.tre-compact-card { container-type: inline-size; }
  body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-related-products) ul.products li.product .button.tre-native-product-button {
    position: absolute;
    inset-block-start: calc(150cqw - 52px);
    inset-block-end: auto;
    inset-inline-end: 12px;
    inset-inline-start: auto;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    color: var(--tre-ink);
    background: #ffffffde;
    box-shadow: none;
    line-height: 1;
  }
  body.tre-active.tre-active.tre-active :is(.tre-product-carousel, .tre-archive-products, .tre-related-products) ul.products li.product .button.tre-native-product-button:hover { background: #fff; color: var(--tre-ink); }
  body.tre-active.tre-active.tre-active .tre-native-product-button .tre-button-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  body.tre-active.tre-active.tre-active .tre-native-product-button .tre-button-icon { display: block; width: 20px; height: 20px; }
  body.tre-active.tre-active.tre-active .tre-native-product-button:is(.loading, .added) .tre-button-icon { opacity: .35; }
}
