/*
Theme Name: Elessi Theme Child
Theme URI: https://elessi.nasatheme.com
Description: Reem Stitches brand layer on Elessi — same theme, quieter and ours.
Author: Reem Stitches
Author URI: https://www.reemstitches.om
Template: elessi-theme
Version: 1.1
*/

/* =========================================================
   Reem Stitches — brand shell on Elessi
   Measured from atelier photos: paper, olive-brown, registration red.
   ========================================================= */

:root {
  --rs-paper: #F5F6F2;
  --rs-paper-deep: #E9EBE3;
  --rs-wash: #E4E7DC;
  --rs-red: #B81C31;
  --rs-red-deep: #8E1224;
  --rs-ink: #34342A;
  --rs-ink-soft: #5F5F4E;
  --rs-leaf: #6E8F49;
  --rs-gold: #A67619;

  /* Type: one family per language, one size scale for every page. */
  --rs-font-en: Archivo, "Helvetica Neue", Arial, sans-serif;
  --rs-font-ar: "Readex Pro", Tahoma, Arial, sans-serif;
  --rs-font: var(--rs-font-en);
  --rs-fs-h1: clamp(30px, 3.6vw, 40px);
  --rs-fs-h2: clamp(26px, 2.8vw, 32px);
  --rs-fs-h3: 18px;
  --rs-fs-lede: clamp(17px, 1.5vw, 18px);
  --rs-fs-body: 16px;
  --rs-fs-price: 15px;
  --rs-fs-small: 14px;
  --rs-fs-micro: 13px;
}

/* Arabic reads smaller than Latin at the same size: one step up. */
body.rs-lang-ar {
  --rs-font: var(--rs-font-ar);
  --rs-fs-body: 17px;
  --rs-fs-small: 15px;
  --rs-fs-micro: 14px;
}

/* Ground */
html body,
body .nasa-theme,
#wrapper,
#main-content,
.nasa-static-group-btn,
.bg-white {
  background-color: var(--rs-paper) !important;
  color: var(--rs-ink);
}

body,
button,
input,
select,
textarea {
  color: var(--rs-ink);
}

a {
  color: var(--rs-ink);
}
a:hover,
a:focus {
  color: var(--rs-red);
}

/* Header — compact boutique bar on paper */
.nasa-header,
.header-wrapper,
.nasa-header .header-container,
.sticky-wrapper,
.nasa-header-sticky,
#masthead,
.site-header,
.nasa-topbar-wrap,
.nasa-elements-wrap {
  background: var(--rs-paper) !important;
  color: var(--rs-ink) !important;
  border-color: rgba(52, 52, 42, 0.12) !important;
}

.header-wrapper.header-type-2,
.nasa-header-sticky .header-wrapper {
  border-bottom: 1px solid rgba(52, 52, 42, 0.12);
}

.header-wrapper.header-type-2 .nasa-elements-wrap {
  min-height: 0 !important;
  padding-top: 0.65rem !important;
  padding-bottom: 0.65rem !important;
}

.header-wrapper.header-type-2 .nasa-elements-wrap-main-menu {
  padding-top: 0.15rem !important;
  padding-bottom: 0.55rem !important;
  min-height: 0 !important;
}

.nasa-header a,
.nasa-header .nasa-icon,
.header-icons-wrap a,
.nasa-menus-icon a,
.nasa-main-menu a,
.nasa-main-menu-wrap a,
.nasa-menus-icon .nasa-icon,
.header-icons-wrap .nasa-icon,
.nasa-icon-text {
  color: var(--rs-ink) !important;
}

.nasa-main-menu > li > a {
  font-family: var(--rs-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  padding: 0.55rem 0.65rem !important;
  line-height: 1.35 !important;
  position: relative !important;
}

/* Kill Elessi’s mid-text hover bar; draw a clean underline under the word */
.nasa-main-menu > li > a::before,
.nasa-main-menu > li > a::after,
.nasa-main-menu > li > a.nasa-title-menu::before,
.nasa-main-menu > li > a.nasa-title-menu::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.nasa-main-menu a:hover,
.nasa-main-menu .current-menu-item > a,
.nasa-main-menu .current_page_item > a,
.header-icons-wrap a:hover {
  color: var(--rs-red) !important;
}

.nasa-main-menu > li > a:hover,
.nasa-main-menu .current-menu-item > a,
.nasa-main-menu .current_page_item > a {
  box-shadow: inset 0 -2px 0 var(--rs-red) !important;
}

.nasa-header .nasa-logo-img,
.nasa-logo img,
.nasa-header .logo img,
header .logo img,
.header-wrapper .nasa-logo img {
  max-height: 48px !important;
  height: auto !important;
  width: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  mix-blend-mode: multiply;
}

.nasa-header-icons-wrap .header-icons,
.nasa-menus-icon {
  gap: 0.15rem;
}

.nasa-header-icons-wrap .nasa-icon,
.nasa-menus-icon .nasa-icon {
  font-size: 1.15rem !important;
}

/* Boutique: wishlist / compare / search are noise for this catalogue */
.nasa-icon-wishlist,
.nasa-icon-compare,
.header-icons .nasa-icon-wishlist,
.header-icons .nasa-icon-compare,
.nasa-bot-item-wishlist,
.nasa-bot-item-compare,
.nasa-icon-search,
.nasa-search,
.desk-search,
.nasa-icon-search-a,
.header-icons .nasa-search,
.nasa-bot-item-search,
li.nasa-icon-search,
.nasa-show-search,
.single-product .btn-wishlist,
.single-product .nasa-wishlist,
.single-product .yith-wcwl-add-to-wishlist,
.single-product a[href*="wishlist"],
.product-interactions .wishlist,
.nasa-single-product-stock {
  display: none !important;
}

/* Primary actions */
.button,
button.button,
a.button,
.nasa-static-group-btn a.button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.add_to_cart_button,
.nasa-modern-1 .add-to-cart-grid,
.rs-cta {
  background: var(--rs-red) !important;
  border-color: var(--rs-red) !important;
  color: #fff !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.button:hover,
button.button:hover,
a.button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.woocommerce a.button.alt:hover,
.add_to_cart_button:hover,
.rs-cta:hover {
  background: var(--rs-red-deep) !important;
  border-color: var(--rs-red-deep) !important;
  color: #fff !important;
}

/* Prices */
.price,
.woocommerce .price,
.amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--rs-ink) !important;
  font-weight: 600;
}

/* Breadcrumb band */
.nasa-breadcrumb,
.bread nasa-breadcrumb,
.breadcrumbs,
.nasa-page-heading {
  background: var(--rs-paper-deep) !important;
  color: var(--rs-ink-soft) !important;
}

/* Product tiles — no heavy card chrome */
.product-item,
.product-warp-item,
.nasa-products-masonry .product-item {
  background: transparent;
}

.product-img,
.product-img-wrap,
.woocommerce ul.products li.product a img {
  border-radius: 2px;
}

/* Hide noisy demo / scarcity chrome if any slips through */
.nasa-sc-pdeal-countdown,
.nasa-fake-sold,
.nasa-fake-view,
.nasa-fake-purchased,
.nasa-promotion-show,
.nasa-bot-bar-mobile .nasa-bot-item.nasa-bot-item-compare {
  /* keep layout stable; fake modules are disabled in options */
}

/* ---------- Reem home ---------- */
.rs-home {
  color: var(--rs-ink);
}

.rs-is-home .nasa-breadcrumb,
.rs-is-home .breadcrumbs,
.rs-is-home .nasa-page-heading {
  display: none !important;
}

.rs-hero {
  position: relative;
  /* Fit the whole hero on screen below the ~180px header. */
  min-height: clamp(440px, calc(100svh - 180px), 860px);
  display: grid;
  align-items: end;
  /* Bias towards the bottom so the embroidery on the table stays in view. */
  background: var(--rs-paper-deep) center 85% / cover no-repeat;
  color: #fff;
  overflow: hidden;
}

.rs-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(20, 18, 14, 0.12) 0%, rgba(20, 18, 14, 0.42) 55%, rgba(20, 18, 14, 0.78) 100%);
  pointer-events: none;
}

.rs-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 0 0 clamp(2.75rem, 7vw, 5rem);
}

.rs-hero__headline,
.rs-hero__brand,
.rs-hero__lede,
.rs-hero__actions {
  animation: rs-hero-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rs-hero__lede {
  animation-delay: 0.08s;
}

.rs-hero__actions {
  animation-delay: 0.16s;
}

@keyframes rs-hero-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rs-hero__headline,
  .rs-hero__brand,
  .rs-hero__lede,
  .rs-hero__actions,
  .rs-piece__media img,
  .rs-proof__fig img {
    animation: none !important;
    transition: none !important;
  }
}

.rs-hero__headline,
.rs-hero__brand {
  font-family: var(--rs-font);
  font-weight: 760;
  font-stretch: 112%;
  font-size: clamp(2.2rem, 5.5vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  margin: 0 0 0.75rem;
  max-width: 14ch;
}

/* The home headline is a full sentence, not a two-word title. */
.rs-hero__headline {
  font-size: clamp(32px, 4.4vw, 56px);
  line-height: 1.04;
  max-width: 18ch;
}

.rs-hero__lede {
  font-family: var(--rs-font);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.55;
  max-width: 34ch;
  margin: 0 0 1.75rem;
  color: rgba(255, 255, 255, 0.92);
}

.rs-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}

.rs-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.75rem 1.5rem;
  text-decoration: none !important;
}

.rs-cta--ghost {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  color: #fff !important;
}

.rs-cta--ghost:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #fff !important;
  color: #fff !important;
}

.rs-section--wash .rs-cta--ghost,
.rs-atelier .rs-cta--ghost {
  border-color: rgba(52, 52, 42, 0.35) !important;
  color: var(--rs-ink) !important;
}

.rs-section--wash .rs-cta--ghost:hover,
.rs-atelier .rs-cta--ghost:hover {
  background: rgba(52, 52, 42, 0.06) !important;
  border-color: var(--rs-ink) !important;
  color: var(--rs-ink) !important;
}

.rs-section {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.rs-section--wash {
  width: 100%;
  background: var(--rs-wash);
}

.rs-section--wash > .rs-section__inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.rs-section__title {
  font-family: var(--rs-font);
  font-weight: 700;
  font-stretch: 108%;
  font-size: var(--rs-fs-h2);
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 0 0 0.5rem;
}

.rs-section__lede {
  margin: 0 0 2rem;
  max-width: 42ch;
  color: var(--rs-ink-soft);
  font-size: var(--rs-fs-lede);
  line-height: 1.65;
}

/* Home collection grid — photoed pieces only */
.rs-pieces__head {
  margin-bottom: 0.25rem;
}

.rs-pieces__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.75rem 1.25rem;
}

.rs-pieces__grid--featured {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.5rem) clamp(1rem, 2.5vw, 1.75rem);
}

@media (min-width: 901px) {
  .rs-pieces__grid--featured {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.rs-piece__fulfil {
  display: block;
  margin-top: 0.35rem;
  font-family: var(--rs-font);
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.04em;
  color: var(--rs-ink-soft);
  text-transform: uppercase;
}

.rs-piece__fulfil--ready {
  color: #3e5a2d;
}

.rs-piece__fulfil--made {
  color: #8a6115;
}

.rs-piece__link {
  display: block;
  color: inherit;
  text-decoration: none !important;
}

.rs-piece__media {
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--rs-paper-deep);
  border-radius: 2px;
  margin-bottom: 0.85rem;
}

.rs-piece__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-piece__link:hover .rs-piece__media img,
.rs-piece__link:focus-visible .rs-piece__media img {
  transform: scale(1.035);
}

.rs-piece__meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.rs-piece__name {
  font-family: var(--rs-font);
  font-weight: 650;
  font-size: var(--rs-fs-h3);
  letter-spacing: -0.02em;
  color: var(--rs-ink);
}

.rs-piece__price {
  font-family: var(--rs-font);
  font-size: var(--rs-fs-price);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--rs-ink-soft);
}

.rs-piece__price del,
.rs-piece__price .screen-reader-text {
  display: none;
}

.rs-piece__link:hover .rs-piece__name {
  color: var(--rs-red);
}

.rs-atelier {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}

.rs-atelier-section > .rs-section__inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.rs-atelier__img {
  margin: 0;
  overflow: hidden;
  border-radius: 2px;
}

.rs-atelier__img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.rs-atelier__copy p {
  margin: 0 0 1.25rem;
  color: var(--rs-ink-soft);
  line-height: 1.7;
  max-width: 38ch;
}

.rs-ig {
  text-align: center;
  padding: clamp(3rem, 7vw, 5rem) 1.25rem;
  background: var(--rs-paper-deep);
}

.rs-ig__inner {
  width: min(720px, 100%);
  margin: 0 auto;
}

.rs-ig__handle {
  display: inline-block;
  font-family: var(--rs-font);
  font-weight: 700;
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -0.02em;
  color: var(--rs-ink);
  text-decoration: none;
  margin-bottom: 0.75rem;
}

.rs-ig__handle:hover {
  color: var(--rs-red);
}

.rs-ig p {
  margin: 0 auto 1.5rem;
  max-width: 36ch;
  color: var(--rs-ink-soft);
}

.rs-ig__strip {
  list-style: none;
  margin: 0 auto 1.75rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.65rem;
  max-width: 520px;
}

.rs-ig__strip li {
  overflow: hidden;
  border-radius: 2px;
  aspect-ratio: 3 / 4;
  background: var(--rs-wash);
}

.rs-ig__strip img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Logo — kill white tile behind mark */
.nasa-header .nasa-logo-img,
.nasa-logo img,
.nasa-header .logo img,
header .logo img {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  mix-blend-mode: multiply;
}

/* Trust bar */
.rs-trust {
  background: var(--rs-ink);
  color: rgba(245, 246, 242, 0.88);
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
}

.rs-trust__inner {
  width: min(1120px, calc(100% - 1.5rem));
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 0.85rem;
  padding: 0.55rem 0;
  text-align: center;
}

.rs-trust__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(245, 246, 242, 0.35);
}

/* How ordering works */
.rs-how__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  counter-reset: rs-how;
}

.rs-how__steps li {
  position: relative;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(52, 52, 42, 0.15);
  counter-increment: rs-how;
}

.rs-how__steps li::before {
  content: counter(rs-how, decimal-leading-zero);
  display: block;
  font-family: var(--rs-font);
  font-weight: 700;
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.08em;
  color: var(--rs-red);
  margin-bottom: 0.65rem;
}

.rs-how__steps strong {
  display: block;
  font-size: var(--rs-fs-h3);
  margin-bottom: 0.4rem;
  color: var(--rs-ink);
}

.rs-how__steps span {
  display: block;
  color: var(--rs-ink-soft);
  line-height: 1.55;
  font-size: var(--rs-fs-body);
}

.rs-how__steps a {
  color: var(--rs-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rs-cta--ink {
  border-color: rgba(52, 52, 42, 0.35) !important;
  color: var(--rs-ink) !important;
}

.rs-cta--ink:hover {
  background: rgba(52, 52, 42, 0.06) !important;
  border-color: var(--rs-ink) !important;
  color: var(--rs-ink) !important;
}

.rs-section__more {
  margin: 2rem 0 0;
}

/* Product reassurance */
.rs-reassure {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(52, 52, 42, 0.12);
}

.rs-reassure__list {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.rs-reassure__list li {
  position: relative;
  padding: 0.25rem 0 0.25rem 1.1rem;
  color: var(--rs-ink-soft);
  font-size: var(--rs-fs-small);
  line-height: 1.45;
}

.rs-reassure__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 6px;
  height: 6px;
  background: var(--rs-red);
  border-radius: 1px;
}

.rs-reassure__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1rem;
}

.rs-reassure__actions {
  margin-top: 1rem;
}

.rs-reassure__links a {
  color: var(--rs-red) !important;
  font-size: var(--rs-fs-small);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.rs-lang-ar .rs-reassure__list li {
  padding: 0.25rem 1.1rem 0.25rem 0;
}

body.rs-lang-ar .rs-reassure__list li::before {
  left: auto;
  right: 0;
}

.rs-size-details {
  border: 1px solid rgba(52, 52, 42, 0.15);
  border-radius: 2px;
  padding: 0.75rem 1rem;
  background: var(--rs-paper-deep);
}

.rs-size-details .rs-sizechart--atelier {
  margin-top: 0.75rem;
  max-width: 100%;
}

.rs-size-details summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--rs-ink);
  list-style: none;
}

.rs-size-details summary::-webkit-details-marker {
  display: none;
}

.rs-sizechart {
  margin-top: 1rem;
  overflow-x: auto;
}

.rs-sizechart table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--rs-fs-small);
}

.rs-sizechart th,
.rs-sizechart td {
  padding: 0.45rem 0.5rem;
  border-bottom: 1px solid rgba(52, 52, 42, 0.12);
  text-align: left;
  white-space: nowrap;
}

.rs-sizechart thead th {
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rs-ink-soft);
}

.rs-sizechart__note {
  margin: 0.75rem 0 0;
  font-size: var(--rs-fs-micro);
  color: var(--rs-ink-soft);
  line-height: 1.5;
}

/* Product title — no mid-word wrap */
.product_title,
.nasa-single-product-main .product_title,
.single-product .product_title {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  max-width: 18ch;
  line-height: 1.15 !important;
}

/* Shop cards cleaner */
.products .product .info .name,
.product-info .name,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-weight: 650;
  letter-spacing: -0.02em;
}

.products .product .woocommerce-product-details__short-description,
.products .product .product-des,
.nasa-product-content-wow .product-des-wrap {
  display: none !important;
}

/* Hide duplicate price if theme prints twice */
.product-item .price + .price,
.product-warp-item .price + .price {
  display: none !important;
}

/* Professional footer */
.rs-footer {
  background: var(--rs-ink);
  color: rgba(245, 246, 242, 0.82);
  padding: 3rem 1.25rem 1.75rem;
}

.rs-footer__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 2rem 1.5rem;
}

.rs-footer__brand {
  font-family: var(--rs-font);
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  margin: 0 0 0.5rem;
}

.rs-footer__heading {
  margin: 0 0 0.75rem;
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(245, 246, 242, 0.55);
  font-weight: 650;
}

.rs-footer__meta {
  margin: 0 0 0.75rem;
  font-size: var(--rs-fs-small);
  max-width: 34ch;
  line-height: 1.55;
}

.rs-footer__meta a,
.rs-footer__list a {
  color: rgba(245, 246, 242, 0.9);
  text-decoration: none;
}

.rs-footer__meta a:hover,
.rs-footer__list a:hover {
  color: #fff;
}

.rs-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rs-footer__list li {
  margin: 0 0 0.45rem;
}

.rs-footer__list a {
  font-size: var(--rs-fs-small);
}

.rs-footer__legal {
  width: min(1120px, 100%);
  margin: 2rem auto 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(245, 246, 242, 0.12);
  font-size: var(--rs-fs-micro);
  color: rgba(245, 246, 242, 0.55);
}

@media (max-width: 860px) {
  .rs-atelier {
    grid-template-columns: 1fr;
  }

  .rs-hero {
    /* Fit between the ~60px header and Elessi's 62px fixed bottom bar. */
    min-height: min(calc(100svh - 122px), 760px);
    align-items: end;
  }

  .rs-hero__brand {
    max-width: none;
  }

  .rs-how__steps {
    grid-template-columns: 1fr;
  }

  .rs-pieces__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .rs-ig__strip {
    max-width: 100%;
  }

  .rs-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .rs-trust__inner {
    font-size: var(--rs-fs-micro);
    gap: 0.25rem 0.55rem;
  }
}

@media (max-width: 520px) {
  .rs-footer__grid {
    grid-template-columns: 1fr;
  }

  .rs-pieces__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .rs-ig__strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Product grid on home — legacy shortcode fallback */
.rs-home .products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem 1.25rem;
  margin: 0 !important;
}

.rs-home .products::before,
.rs-home .products::after {
  display: none !important;
}

.rs-home .products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

@media (max-width: 860px) {
  .rs-home .products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px) {
  .rs-home .products {
    grid-template-columns: 1fr;
  }
}

/* Readable content pages */
.page .entry-content,
.page-content,
.nasa-content-page,
#main .page .entry-content,
.page #content .entry-content {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  color: var(--rs-ink);
  line-height: 1.7;
  font-size: var(--rs-fs-body);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.page .entry-content p,
.nasa-content-page p,
.page .entry-content h2 {
  margin-bottom: 1.1rem;
}

.page .entry-content h2 {
  font-size: 22px;
  margin-top: 2rem;
  letter-spacing: -0.02em;
}

.page .entry-content a {
  color: var(--rs-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---------- Fit & sizing page ---------- */
.rs-mono {
  font-family: "Martian Mono", ui-monospace, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.rs-fit__hero,
.rs-help__hero {
  background: var(--rs-paper-deep);
  border-bottom: 1px solid rgba(52, 52, 42, 0.1);
}

.rs-fit__hero-inner,
.rs-help__hero-inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2rem, 4vw, 3rem);
}

.rs-fit__eyebrow,
.rs-help__eyebrow {
  margin: 0 0 0.65rem;
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 650;
  color: var(--rs-ink-soft);
}

.rs-fit__title,
.rs-help__title {
  font-family: var(--rs-font);
  font-weight: 720;
  font-stretch: 108%;
  font-size: var(--rs-fs-h1);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0 0 0.85rem;
  max-width: 16ch;
}

.rs-fit__lede,
.rs-help__lede {
  margin: 0;
  max-width: 46ch;
  font-size: var(--rs-fs-lede);
  line-height: 1.65;
  color: var(--rs-ink-soft);
}

.rs-fit__measure > .rs-section__inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
}

/* The size chart band follows directly; keep the gap short. */
.rs-fit__measure {
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.rs-fit__cards,
.rs-help__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

/* How to measure — one numbered diagram beside its steps. */
.rs-measure {
  display: grid;
  grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  margin-top: 1.5rem;
}

.rs-measure__fig {
  margin: 0;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(52, 52, 42, 0.12);
  border-radius: 2px;
}

.rs-measure__fig img {
  display: block;
  width: 100%;
  height: auto;
}

.rs-measure__steps {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rs-measure__step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(52, 52, 42, 0.12);
}

.rs-measure__step:first-child {
  border-top: 1px solid rgba(52, 52, 42, 0.12);
}

.rs-measure__num {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1.5px solid var(--rs-red);
  border-radius: 50%;
  color: var(--rs-red);
  font-family: "Martian Mono", ui-monospace, Menlo, monospace;
  font-size: 0.9rem;
  font-weight: 600;
}

.rs-measure__title {
  margin: 0.2rem 0 0.3rem;
  font-family: var(--rs-font);
  font-size: var(--rs-fs-h3);
  font-weight: 680;
  letter-spacing: -0.02em;
}

.rs-measure__step p {
  margin: 0;
  font-size: var(--rs-fs-body);
  line-height: 1.6;
  color: var(--rs-ink-soft);
}

body.rs-lang-ar .rs-measure__title {
  font-family: var(--rs-font);
  letter-spacing: 0;
}

@media (max-width: 860px) {
  .rs-measure {
    grid-template-columns: 1fr;
  }

  .rs-measure__fig {
    width: 100%;
    max-width: 460px;
    margin-inline: auto;
  }
}

.rs-fit__card,
.rs-help__card {
  background: #fff;
  border: 1px solid rgba(52, 52, 42, 0.12);
  border-radius: 2px;
  padding: 1.35rem 1.25rem 1.5rem;
}

.rs-fit__card-num,
.rs-help__card-num {
  display: block;
  font-family: "Martian Mono", ui-monospace, Menlo, monospace;
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.04em;
  color: var(--rs-red);
  margin-bottom: 0.45rem;
}

.rs-fit__card-title,
.rs-help__card-title {
  margin: 0 0 0.5rem;
  font-family: var(--rs-font);
  font-size: var(--rs-fs-h3);
  font-weight: 680;
  letter-spacing: -0.02em;
}

.rs-fit__card p,
.rs-help__card p {
  margin: 0;
  font-size: var(--rs-fs-body);
  line-height: 1.6;
  color: var(--rs-ink-soft);
}

.rs-help__card a {
  color: var(--rs-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rs-fit__bands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.rs-fit__band {
  background: var(--rs-paper);
  border: 1px solid rgba(52, 52, 42, 0.12);
  border-radius: 2px;
  padding: 1.35rem 1.25rem;
}

.rs-fit__band-label {
  margin: 0 0 0.35rem;
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 650;
  color: var(--rs-ink-soft);
}

.rs-fit__band-size {
  margin: 0 0 0.65rem;
  font-family: var(--rs-font);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.rs-fit__band-note {
  margin: 0;
  font-size: var(--rs-fs-small);
  line-height: 1.6;
  color: var(--rs-ink-soft);
}

.rs-fit__bands-tip {
  margin: 0;
  max-width: 52ch;
  font-size: var(--rs-fs-body);
  line-height: 1.65;
  color: var(--rs-ink-soft);
}

.rs-fit__chart .rs-section__lede {
  margin-bottom: 1.5rem;
}

.rs-sizechart--page {
  margin-top: 0;
  background: #fff;
  border: 1px solid rgba(52, 52, 42, 0.12);
  border-radius: 2px;
  padding: 0.25rem 0.5rem 0.75rem;
}

.rs-sizechart--page table {
  font-size: var(--rs-fs-small);
}

.rs-sizechart--page thead th {
  position: sticky;
  top: 0;
  background: #fff;
  padding-top: 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(52, 52, 42, 0.18);
}

.rs-sizechart--page tbody th {
  font-family: var(--rs-font);
  font-weight: 680;
}

.rs-sizechart--page tbody td {
  font-family: "Martian Mono", ui-monospace, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: var(--rs-fs-small);
  letter-spacing: -0.02em;
}

.rs-sizechart--page tbody tr:nth-child(even) {
  background: var(--rs-paper);
}

.rs-sizechart--page .rs-sizechart__note {
  padding: 0 0.75rem;
}

.rs-fit__cta {
  background: var(--rs-ink);
  color: rgba(245, 246, 242, 0.88);
}

.rs-fit__cta-inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4rem) 0;
}

.rs-fit__cta .rs-section__title {
  color: #fff;
  margin-bottom: 0.65rem;
}

.rs-fit__cta p {
  margin: 0 0 1.5rem;
  max-width: 42ch;
  line-height: 1.65;
  color: rgba(245, 246, 242, 0.82);
}

.rs-fit__cta .rs-cta--ghost {
  border-color: rgba(245, 246, 242, 0.45) !important;
  color: #fff !important;
}

.rs-fit__cta .rs-cta--ghost:hover {
  background: rgba(245, 246, 242, 0.1) !important;
  border-color: #fff !important;
}

/* Help / policy pages (Shipping, Returns, Privacy) */
.rs-help__panel-copy {
  margin: 0 0 1.5rem;
  max-width: 46ch;
  line-height: 1.65;
  color: var(--rs-ink-soft);
}

.rs-help__list {
  margin: 0;
  padding: 0 0 0 1.15rem;
  max-width: 52ch;
  color: var(--rs-ink-soft);
  line-height: 1.7;
}

.rs-help__list li {
  margin: 0 0 0.65rem;
}

.rs-help__list--ordered {
  list-style: decimal;
}

.rs-help__prose {
  width: min(48rem, calc(100% - 2.5rem));
  margin-inline: auto;
}

.rs-help__prose .rs-section__title {
  margin-top: 2.25rem;
}

.rs-help__prose .rs-section__title:first-child {
  margin-top: 0;
}

.rs-help__prose p {
  margin: 0 0 1.1rem;
  color: var(--rs-ink-soft);
  line-height: 1.7;
}

.rs-help__prose a {
  color: var(--rs-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rs-help__prose .rs-help__list {
  margin-bottom: 1.25rem;
}

.rs-help__cta {
  background: var(--rs-ink);
  color: rgba(245, 246, 242, 0.88);
}

.rs-help__cta-inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4rem) 0;
}

.rs-help__cta .rs-section__title {
  color: #fff;
  margin-bottom: 0.65rem;
}

.rs-help__cta p {
  margin: 0 0 0.75rem;
  max-width: 52ch;
  line-height: 1.65;
  color: rgba(245, 246, 242, 0.82);
}

.rs-help__cta p:last-of-type {
  margin-bottom: 1.5rem;
}

.rs-help__cta .rs-cta--ghost {
  border-color: rgba(245, 246, 242, 0.45) !important;
  color: #fff !important;
  background: transparent !important;
}

.rs-help__cta .rs-cta--ghost:hover {
  background: rgba(245, 246, 242, 0.1) !important;
  border-color: #fff !important;
}

/* About */
.rs-about__story {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.rs-about__copy p,
.rs-about__prose p {
  margin: 0 0 1.15rem;
  max-width: 58ch;
  color: var(--rs-ink-soft);
  line-height: 1.75;
  font-size: var(--rs-fs-body);
}

.rs-about__prose p:last-child {
  margin-bottom: 0;
}

.rs-about__sign {
  margin-top: 1.75rem !important;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-style: italic;
  font-weight: 500;
  color: var(--rs-ink) !important;
  letter-spacing: 0.01em;
}

body.rs-lang-ar .rs-about__sign {
  font-family: "Readex Pro", Tahoma, Arial, sans-serif;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0;
}

.rs-about__figure {
  margin: 0;
  overflow: hidden;
  border-radius: 2px;
  background: var(--rs-paper-deep);
}

.rs-about__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  /* Portrait studio shot: keep the embroidery on the table in frame. */
  object-position: center 85%;
}

/* Contact */
.rs-contact__card {
  display: flex;
  flex-direction: column;
}

.rs-contact__card p {
  flex: 1;
  margin-bottom: 1rem;
}

.rs-contact__link {
  display: inline-block;
  margin-top: auto;
  font-weight: 650;
  color: var(--rs-red) !important;
  text-decoration: none !important;
  letter-spacing: -0.01em;
}

.rs-contact__link:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.rs-help__panel .rs-help__list a {
  color: var(--rs-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* FAQ */
.rs-faq__list {
  width: min(1120px, calc(100% - 2.5rem));
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(2rem, 4vw, 3rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.rs-faq__item {
  border-bottom: 1px solid rgba(52, 52, 42, 0.14);
  padding: 0;
  max-width: none;
}

.rs-faq__item:first-child {
  border-top: 1px solid rgba(52, 52, 42, 0.14);
}

.rs-faq__q {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 1.15rem 2.25rem 1.15rem 0;
  font-family: var(--rs-font);
  font-weight: 650;
  font-size: var(--rs-fs-h3);
  letter-spacing: -0.015em;
  color: var(--rs-ink);
  line-height: 1.35;
}

.rs-faq__q::-webkit-details-marker {
  display: none;
}

.rs-faq__q::after {
  content: "";
  position: absolute;
  right: 0.15rem;
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1.5px solid var(--rs-ink-soft);
  border-bottom: 1.5px solid var(--rs-ink-soft);
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.2s ease;
}

.rs-faq__item[open] .rs-faq__q::after {
  transform: translateY(-20%) rotate(225deg);
}

.rs-faq__item[open] .rs-faq__q {
  color: var(--rs-red);
}

.rs-faq__a {
  padding: 0 0 1.25rem;
}

.rs-faq__a p {
  margin: 0;
  max-width: 68ch;
  color: var(--rs-ink-soft);
  line-height: 1.7;
  font-size: var(--rs-fs-body);
}

.rs-faq__a p + p {
  margin-top: 1em;
}

.rs-faq__a-emph {
  font-weight: 700;
  color: var(--rs-ink);
}

.rs-faq__a a {
  color: var(--rs-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Fit / help pages: hide default Elessi page content shell */
.rs-fit-page #main-content .page-content,
.rs-fit-page .nasa-content-page,
.rs-help-page #main-content .page-content,
.rs-help-page .nasa-content-page {
  max-width: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 860px) {
  .rs-fit__cards,
  .rs-fit__bands,
  .rs-help__cards,
  .rs-about__story {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Product images — one ratio everywhere (3:4 portrait)
   ========================================================= */
:root {
  --rs-product-ratio: 3 / 4;
  --rs-product-frame: var(--rs-paper-deep);
}

/* --- Single product: main gallery --- */
.single-product .main-images .item-wrap,
.single-product .main-images .nasa-item-main-image-wrap,
.single-product .main-images .nasa-item-main-video-wrap,
.single-product .main-images .easyzoom,
.single-product .main-images .product-image,
.single-product .main-images .woocommerce-product-gallery__image {
  aspect-ratio: var(--rs-product-ratio);
  overflow: hidden;
  background: var(--rs-product-frame);
  display: block;
  width: 100%;
  max-width: 100%;
}

.single-product .main-images .product-image img,
.single-product .main-images .easyzoom img,
.single-product .main-images img.attachment-shop_single,
.single-product .main-images img.size-shop_single,
.single-product .main-images .nasa-item-main-video-wrap img.ns-video-size {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Product gallery video slide — fill the same 3:4 frame as photos */
.single-product .main-images .nasa-item-main-video-wrap {
  position: relative;
}

.single-product .main-images .nasa-item-main-video-wrap .wp-video,
.single-product .main-images .nasa-item-main-video-wrap .mejs-container,
.single-product .main-images .nasa-item-main-video-wrap video {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

.single-product .main-images .nasa-item-main-video-wrap .wp-video,
.single-product .main-images .nasa-item-main-video-wrap .mejs-container {
  position: absolute !important;
  inset: 0;
}

.single-product .main-images .nasa-item-main-video-wrap video {
  object-fit: cover;
  object-position: center center;
}

.single-product .nasa-single-product-thumbnails .ns-video-poster svg {
  color: var(--rs-red);
}

.single-product .main-images.slick-slider .slick-slide,
.single-product .main-images.slick-slider .slick-slide > div {
  height: auto;
}

.single-product .nasa-main-image-default-wrap,
.single-product .product-images-slider {
  max-width: 100%;
}

/* --- Single product: thumbnail strip --- */
.single-product .nasa-single-product-thumbnails .nasa-wrap-item-thumb,
.single-product .nasa-single-product-thumbnails .nasa-wrap-item-thumb > a {
  aspect-ratio: var(--rs-product-ratio);
  overflow: hidden;
  display: block;
  width: 100%;
  background: var(--rs-product-frame);
}

.single-product .nasa-single-product-thumbnails img,
.single-product .nasa-single-product-thumbnails .ns-video-poster img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.single-product .nasa-thumbnail-default .nasa-wrap-item-thumb {
  width: 72px;
  max-width: 72px;
  flex: 0 0 72px;
  margin-bottom: 0.5rem;
}

/* --- Shop grid, related products, home --- */
.product-item .product-img-wrap,
.product-warp-item .product-img-wrap,
.woocommerce ul.products li.product .product-img-wrap,
.rs-home .products li.product .product-img-wrap {
  position: relative;
  aspect-ratio: var(--rs-product-ratio);
  overflow: hidden;
  background: var(--rs-product-frame);
}

.product-item .product-img,
.product-item .main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.product-item .product-img-wrap .main-img,
.product-item .product-img-wrap .back-img,
.product-item .product-img .main-img,
.product-item .product-img .back-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.product-item .product-img-wrap img,
.product-item .product-img img,
.product-warp-item .product-img-wrap img,
.woocommerce ul.products li.product img,
.rs-home .products li.product img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center center;
}

.product-item .product-img-wrap .link-absolute {
  inset: 0;
  height: 100%;
}

/* Quick view + cart mini thumbs */
.nasa-quickview-img img,
.widget_shopping_cart .mini_cart_item img {
  object-fit: cover;
  aspect-ratio: var(--rs-product-ratio);
}

/* ---------- Language switch + RTL ---------- */
.rs-langswitch-li {
  list-style: none;
  display: inline-flex;
  align-items: center;
  margin: 0 0.35rem 0 0;
}

.rs-langswitch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0.2rem 0.45rem;
  font-family: var(--rs-font);
  font-weight: 700;
  font-size: var(--rs-fs-small);
  letter-spacing: 0.02em;
  color: var(--rs-ink) !important;
  text-decoration: none !important;
  border: 1px solid rgba(52, 52, 42, 0.25);
  border-radius: 2px;
  line-height: 1;
}

.rs-langswitch:hover {
  color: var(--rs-red) !important;
  border-color: var(--rs-red);
}

/* ---------- Arabic / full RTL mirror ---------- */
body.rs-lang-ar,
body.rs-lang-ar .rs-home,
body.rs-lang-ar .rs-fit,
body.rs-lang-ar .rs-help,
body.rs-lang-ar .rs-about,
body.rs-lang-ar .rs-contact,
body.rs-lang-ar .rs-faq,
body.rs-lang-ar .rs-footer {
  font-family: var(--rs-font);
}

/* Defeat Elessi’s global direction:ltr reset on content nodes. */
body.rs-lang-ar,
body.rs-lang-ar div,
body.rs-lang-ar dl,
body.rs-lang-ar dt,
body.rs-lang-ar dd,
body.rs-lang-ar ul,
body.rs-lang-ar ol,
body.rs-lang-ar li,
body.rs-lang-ar h1,
body.rs-lang-ar h2,
body.rs-lang-ar h3,
body.rs-lang-ar h4,
body.rs-lang-ar h5,
body.rs-lang-ar h6,
body.rs-lang-ar pre,
body.rs-lang-ar form,
body.rs-lang-ar p,
body.rs-lang-ar blockquote,
body.rs-lang-ar th,
body.rs-lang-ar td,
body.rs-lang-ar section,
body.rs-lang-ar main,
body.rs-lang-ar header,
body.rs-lang-ar footer,
body.rs-lang-ar nav,
body.rs-lang-ar article,
body.rs-lang-ar aside {
  direction: rtl;
}

body.rs-lang-ar .rs-hero__headline,
body.rs-lang-ar .rs-hero__brand,
body.rs-lang-ar .rs-section__title,
body.rs-lang-ar .rs-fit__title,
body.rs-lang-ar .rs-help__title,
body.rs-lang-ar .rs-piece__name {
  font-family: var(--rs-font);
  letter-spacing: 0;
}

body.rs-lang-ar .rs-hero__inner,
body.rs-lang-ar .rs-section__head,
body.rs-lang-ar .rs-fit__intro,
body.rs-lang-ar .rs-help__intro,
body.rs-lang-ar .rs-about__intro,
body.rs-lang-ar .rs-contact__intro,
body.rs-lang-ar .rs-faq__intro,
body.rs-lang-ar .rs-atelier__copy,
body.rs-lang-ar .rs-piece__meta,
body.rs-lang-ar .rs-how__steps,
body.rs-lang-ar .rs-footer__brand,
body.rs-lang-ar .rs-footer__col {
  text-align: right;
}

body.rs-lang-ar .rs-hero__lede,
body.rs-lang-ar .rs-section__lede,
body.rs-lang-ar .rs-help__lede,
body.rs-lang-ar .rs-fit__lede {
  line-height: 1.75;
  max-width: 42ch;
  margin-left: 0;
  margin-right: 0;
}

body.rs-lang-ar .rs-hero__actions,
body.rs-lang-ar .rs-section__actions,
body.rs-lang-ar .rs-atelier__actions {
  justify-content: flex-start;
}

body.rs-lang-ar .rs-trust__inner {
  direction: rtl;
}

body.rs-lang-ar .rs-how__steps li,
body.rs-lang-ar .rs-fit__card,
body.rs-lang-ar .rs-help__card,
body.rs-lang-ar .rs-faq__item,
body.rs-lang-ar .rs-piece__body {
  text-align: right;
}

body.rs-lang-ar .rs-sizechart th,
body.rs-lang-ar .rs-sizechart td {
  text-align: right;
}

body.rs-lang-ar .rs-piece__price,
body.rs-lang-ar .rs-mono,
body.rs-lang-ar .rs-sizechart td,
body.rs-lang-ar .rs-fit__card-num,
body.rs-lang-ar .rs-help__card-num,
body.rs-lang-ar [dir="ltr"],
body.rs-lang-ar .ns-ltr {
  direction: ltr;
  unicode-bidi: isolate;
}

body.rs-lang-ar .rs-how__steps li::before,
body.rs-lang-ar .rs-fit__card-num,
body.rs-lang-ar .rs-help__card-num {
  font-family: "Martian Mono", ui-monospace, Menlo, monospace;
}

body.rs-lang-ar .rs-footer__grid {
  direction: rtl;
}

/* Product / step grids: first item starts on the right. */
body.rs-lang-ar .rs-home .products,
body.rs-lang-ar .rs-pieces__grid,
body.rs-lang-ar .woocommerce ul.products,
body.rs-lang-ar .rs-how__steps,
body.rs-lang-ar .rs-fit__grid,
body.rs-lang-ar .rs-help__grid,
body.rs-lang-ar .rs-ig__grid {
  direction: rtl;
}

body.rs-lang-ar .rs-faq__item {
  margin-left: 0;
  margin-right: 0;
}

body.rs-lang-ar .rs-faq__q {
  padding: 1.15rem 0 1.15rem 2.25rem;
}

body.rs-lang-ar .rs-faq__q::after {
  right: auto;
  left: 0.15rem;
}

@media (min-width: 861px) {
  body.rs-lang-ar .rs-atelier {
    grid-template-columns: 1fr 1.1fr;
  }
  body.rs-lang-ar .rs-atelier__img {
    order: 2;
  }
  body.rs-lang-ar .rs-atelier__copy {
    order: 1;
  }
}

/* ---------- Trust bar retired (was theme chrome) ---------- */
.rs-trust {
  display: none !important;
}

/* ---------- Painting ↔ dress proof ---------- */
.rs-proof .rs-section__inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.rs-proof__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  margin-top: 2rem;
}

.rs-proof__fig {
  margin: 0;
}

.rs-proof__fig img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 2px;
  background: var(--rs-paper-deep);
}

.rs-proof__fig figcaption {
  margin-top: 0.75rem;
  font-family: "Martian Mono", ui-monospace, Menlo, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rs-ink-soft);
}

@media (max-width: 600px) {
  .rs-proof__pair {
    grid-template-columns: 1fr;
  }
}

/* ---------- Fulfilment badge (PDP) ---------- */
.rs-fulfil {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  margin: 0 0 0.85rem;
  padding: 0;
  font-size: var(--rs-fs-small);
  line-height: 1.4;
}

.rs-fulfil__label {
  font-weight: 650;
  letter-spacing: -0.01em;
}

.rs-fulfil--ready .rs-fulfil__label {
  color: #3e5a2d;
}

.rs-fulfil--made .rs-fulfil__label {
  color: #8a6115;
}

.rs-fulfil__days,
.rs-fulfil__hint {
  color: var(--rs-ink-soft);
  font-size: var(--rs-fs-small);
}

.rs-loop-fulfil {
  margin: 0.25rem 0 0;
  font-family: var(--rs-font);
  font-size: var(--rs-fs-micro);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rs-ink-soft);
}

.rs-loop-fulfil--ready {
  color: #3e5a2d;
}

.rs-loop-fulfil--made {
  color: #8a6115;
}

/* ---------- PDP brand layer ---------- */
.rs-pdp .product_title {
  max-width: 22ch;
  letter-spacing: -0.03em;
}

.rs-pdp .nasa-single-product-main,
.rs-pdp .product-info {
  color: var(--rs-ink);
}

.rs-pdp .woocommerce-product-gallery__image img,
.rs-pdp .main-images img {
  border-radius: 2px;
}

.rs-detail-strip {
  width: min(1120px, calc(100% - 2.5rem));
  margin: clamp(2.5rem, 6vw, 4.5rem) auto;
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid rgba(52, 52, 42, 0.12);
}

.rs-detail-strip__lede {
  margin: 0 0 1.25rem;
  font-size: var(--rs-fs-body);
  color: var(--rs-ink-soft);
  max-width: 36ch;
}

.rs-detail-strip__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.rs-detail-strip__grid img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 2px;
  background: var(--rs-paper-deep);
}

@media (max-width: 700px) {
  .rs-detail-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.rs-sizechart--atelier table {
  font-size: var(--rs-fs-small);
}

.rs-sizechart--atelier th,
.rs-sizechart--atelier td {
  padding: 0.4rem 0.45rem;
  text-align: center;
}

.rs-sizechart--atelier th[scope="row"],
.rs-sizechart--atelier thead th:first-child {
  text-align: start;
  white-space: nowrap;
}

/* Age columns: youngest (6 mo) sits beside the label in both languages. */
body.rs-lang-ar .rs-sizechart--atelier table {
  direction: rtl;
}

body:not(.rs-lang-ar) .rs-sizechart--atelier table {
  direction: ltr;
}

.rs-fit__atelier-chart .rs-section__inner {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

body.rs-lang-ar .rs-hero__headline,
body.rs-lang-ar .rs-proof__fig figcaption {
  font-family: var(--rs-font);
  letter-spacing: 0;
}

/* Fully vowelled (tashkeel) sentence: needs room above and below each line. */
body.rs-lang-ar .rs-hero__headline {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.55;
  max-width: 16ch;
}

body.rs-lang-ar .rs-hero__lede {
  font-family: var(--rs-font);
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.7;
}

body.rs-lang-ar .rs-proof__fig figcaption {
  text-transform: none;
}

body.rs-lang-ar .rs-detail-strip__lede,
body.rs-lang-ar .rs-fulfil,
body.rs-lang-ar .rs-piece__meta {
  text-align: right;
}

/* Checkout / cart: don't force English uppercase on Arabic */
body.rs-lang-ar .nasa-checkout-step h4,
body.rs-lang-ar .checkout-breadcrumb h4,
body.rs-lang-ar .ct-2nd,
body.rs-lang-ar .woocommerce-billing-fields h3,
body.rs-lang-ar #order_review_heading,
body.rs-lang-ar .woocommerce-checkout-review-order-table th,
body.rs-lang-ar .cart_totals h2 {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* =========================================================
   Typography system — theme (Elessi / WooCommerce) elements
   Elessi's generated stylesheet still names "Nunito Sans", which is
   never loaded; put every element on the language's family and on
   the shared size scale defined in :root.
   ========================================================= */

html body.rs-lang-en,
html body.rs-lang-ar {
  font-family: var(--rs-font);
  font-size: var(--rs-fs-body);
}

html body.rs-lang-en :is(p, h1, h2, h3, h4, h5, h6, li, td, th, label, select, input, textarea, button, .button, .price, .amount, .nav-dropdown, .nasa-tabs a, .root-item a, .megatop > a, .service-title, .nasa-banner),
html body.rs-lang-ar :is(p, h1, h2, h3, h4, h5, h6, li, td, th, label, select, input, textarea, button, .button, .price, .amount, .nav-dropdown, .nasa-tabs a, .root-item a, .megatop > a, .service-title, .nasa-banner) {
  font-family: var(--rs-font);
}

.elementor-kit-148 {
  --e-global-typography-primary-font-family: var(--rs-font);
  --e-global-typography-secondary-font-family: var(--rs-font);
  --e-global-typography-text-font-family: var(--rs-font);
  --e-global-typography-accent-font-family: var(--rs-font);
}

/* Digits keep the mono face; Arabic words inside it ("6 أشهر") do not. */
body.rs-lang-ar .rs-mono {
  font-family: var(--rs-font);
  font-variant-numeric: tabular-nums;
}

/* Shop */
body .woocommerce-products-header__title,
body.woocommerce-shop h1,
body.tax-product_cat h1 {
  font-size: var(--rs-fs-h1);
}

html body .product-info-wrap a.name,
html body .product-item .name a {
  font-size: var(--rs-fs-body);
}

body .product-item .price,
body .product-item .price .amount {
  font-size: var(--rs-fs-price);
}

/* Product page */
body .nasa-product-info-wrap h1.product_title {
  font-size: clamp(26px, 2.6vw, 30px);
}

body .nasa-product-info-wrap p.price.nasa-single-product-price,
body .nasa-product-info-wrap p.price.nasa-single-product-price .amount {
  font-size: 22px;
}

/* Elessi sizes this tab at 150–220% through four-class selectors. */
html body .nasa-tabs .nasa-single-product-tab > a {
  font-size: var(--rs-fs-h3) !important;
}

body h3.nasa-title-relate {
  font-size: var(--rs-fs-h2);
}

body .variations th.label label,
body .nasa-attr-ux .nasa-attr-text {
  font-size: var(--rs-fs-small);
}

body .single_add_to_cart_button,
body .rs-cta {
  font-size: 16px;
}

html body .nasa-breadcrumb .nasa-first-breadcrumb {
  font-size: var(--rs-fs-h3);
}

/* Size buttons under each dress in lists (Elessi shrinks them to ~10px on phones). */
html body .nasa-attr-ux-item.nasa-attr-ux-nasa_label {
  font-size: var(--rs-fs-micro) !important;
}

/* Side-cart checkout: Elessi forces #F76B6A with four-class !important selectors. */
html body .nasa-static-sidebar .btn-mini-cart .woocommerce-mini-cart__buttons a.checkout,
html body .ns-cart-popup-v2 .btn-mini-cart .woocommerce-mini-cart__buttons a.checkout {
  background: var(--rs-red) !important;
  border-color: var(--rs-red) !important;
  color: #fff !important;
}

html body .nasa-static-sidebar .btn-mini-cart .woocommerce-mini-cart__buttons a.checkout:hover,
html body .ns-cart-popup-v2 .btn-mini-cart .woocommerce-mini-cart__buttons a.checkout:hover {
  background: var(--rs-red-deep) !important;
  border-color: var(--rs-red-deep) !important;
}

/* =========================================================
   Header: main menu only on desktop. Cart (with count) and the
   language switch are menu items; social icons live on Contact.
   Phones keep Elessi's own header cart icon.
   ========================================================= */
#masthead .nasa-hide-for-mobile .ns-social,
#masthead .nasa-hide-for-mobile .nasa-header-icons-wrap {
  display: none !important;
}

.rs-menu-cart > a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
}

.rs-menu-cart__icon {
  flex: none;
}

.rs-menu-cart-count {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--rs-red);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.rs-menu-cart-count.is-empty {
  display: none;
}

html body .rs-menu-lang > a {
  font-weight: 600;
  text-transform: none !important;
}
