/* RAM public UX additions. Everything is scoped to injected markers/classes. */
[data-ram-persistent-dock="1"] {
  display: none !important;
  position: fixed !important;
  right: 50% !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  z-index: 2147483000 !important;
  width: min(620px, calc(100% - 2rem)) !important;
  min-height: 5.4rem !important;
  box-sizing: border-box !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: .25rem !important;
  padding: .55rem !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 1.65rem !important;
  background: rgba(8,8,8,.96) !important;
  box-shadow: 0 1.25rem 3.5rem rgba(0,0,0,.36) !important;
  transform: translateX(50%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

[data-ram-persistent-dock="1"] > a {
  display: flex !important;
  min-width: 0 !important;
  min-height: 4.15rem !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: .2rem !important;
  border-radius: 1.15rem !important;
  color: #fff !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: .64rem !important;
}

[data-ram-persistent-dock="1"] > a[aria-current="page"],
[data-ram-persistent-dock="1"] > a:hover,
[data-ram-persistent-dock="1"] > a:focus-visible {
  background: #f2f0ea !important;
  color: #0b0b0b !important;
}

/* The centered account item already has a light brand disc in the base theme. */
[data-ram-persistent-dock="1"] > a[href="/account"] {
  background: transparent !important;
  color: #fff !important;
}

[data-ram-persistent-dock="1"] > a[href="/account"] svg,
[data-ram-persistent-dock="1"] > a[href="/account"] span {
  color: #fff !important;
  stroke: currentColor !important;
}

[data-ram-persistent-dock="1"] > a[href="/account"][aria-current="page"] {
  background: #f2f0ea !important;
  color: #0b0b0b !important;
}

[data-ram-persistent-dock="1"] > a[href="/account"][aria-current="page"] svg,
[data-ram-persistent-dock="1"] > a[href="/account"][aria-current="page"] span {
  color: #0b0b0b !important;
}

[data-ram-persistent-dock="1"][class*="mobileDockHidden__"] {
  transform: translateX(50%) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* The React dock has one owner. Only mobile participates; one measured spacer
   reserves its border box plus the actual bottom/safe-area offset. */
@media (max-width: 900px) {
  [data-ram-persistent-dock="1"] { display: grid !important; }
}
[data-ram-persistent-dock="1"][hidden],
[data-ram-dock-suppressed="1"] { display: none !important; }
.ram-dock-space {
  block-size: var(--ram-dock-occupied, 0px);
  min-block-size: var(--ram-dock-occupied, 0px);
  flex-shrink: 0;
  pointer-events: none;
}
html[data-ram-dock-visible="1"] { scroll-padding-bottom: var(--ram-dock-occupied, 0px); }
/* The compiled app's 69px mobile body padding belongs to its old toolbar. */
html[data-ram-dock-visible="1"] body:has(.shop-shell) { padding-bottom: 0 !important; }

.ram-contact-widget,
.ram-telegram-widget {
  position: fixed;
  z-index: 2147483001;
  top: 50%;
  direction: rtl;
  font-family: inherit;
}

.ram-contact-widget { right: 0; transform: translateY(-50%); }
.ram-telegram-widget { left: 0; transform: translateY(-50%); }
html[data-ram-shop-contact="1"] .ram-telegram-widget {
  top: calc(50% - 6.3rem);
  transform: none;
}

.ram-shop-contact-link {
  position: fixed;
  z-index: 2147483001;
  top: calc(50% + .1rem);
  left: 0;
  display: grid;
  box-sizing: border-box;
  min-width: 2.75rem;
  min-height: 6.2rem;
  place-items: center;
  padding: .75rem .55rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 0 1rem 1rem 0;
  background: #fff;
  color: #0b0b0b;
  box-shadow: 0 1rem 2.6rem rgba(0,0,0,.22);
  direction: rtl;
  font-family: inherit;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .02em;
  text-decoration: none;
  writing-mode: vertical-rl;
}

.ram-shop-contact-link:hover,
.ram-shop-contact-link:focus-visible {
  background: #eeeae2;
  outline: 2px solid #0b0b0b;
  outline-offset: 2px;
}

.ram-contact-toggle,
.ram-telegram-toggle {
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  background: #0b0b0b;
  color: #fff;
  box-shadow: 0 1rem 2.6rem rgba(0,0,0,.28);
  cursor: pointer;
}

.ram-contact-toggle {
  min-width: 2.75rem;
  min-height: 6.2rem;
  padding: .75rem .55rem;
  border-radius: 1rem 0 0 1rem;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .02em;
  writing-mode: vertical-rl;
}

.ram-telegram-toggle {
  width: auto;
  min-width: 2.75rem;
  height: auto;
  min-height: 6.2rem;
  padding: .75rem .55rem;
  border-radius: 0 1rem 1rem 0;
  background: #0b0b0b;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .02em;
  writing-mode: vertical-rl;
}

.ram-contact-panel,
.ram-telegram-panel {
  position: absolute;
  top: 50%;
  box-sizing: border-box;
  width: min(19rem, calc(100vw - 5.5rem));
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.25rem;
  background: rgba(13,13,13,.97);
  color: #fff;
  box-shadow: 0 1.4rem 4rem rgba(0,0,0,.34);
  transform: translateY(-50%);
  backdrop-filter: blur(18px);
}

.ram-contact-panel[hidden],
.ram-telegram-panel[hidden] { display: none !important; }
.ram-contact-panel { right: 3.4rem; }
.ram-telegram-panel { left: 3.4rem; }

.ram-contact-panel strong,
.ram-telegram-panel strong,
.ram-contact-panel > span,
.ram-telegram-panel > span {
  display: block;
}

.ram-contact-panel strong,
.ram-telegram-panel strong { margin-bottom: .35rem; font-size: .88rem; }
.ram-contact-panel > span,
.ram-telegram-panel > span { margin-bottom: .85rem; color: rgba(255,255,255,.58); font-size: .68rem; line-height: 1.8; }

.ram-action-link,
.ram-telegram-refresh {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.8rem;
  margin-top: .55rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: .7rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.ram-action-primary { border-color: #f4f2ec; background: #f4f2ec; color: #0b0b0b; }
.ram-telegram-refresh:disabled { opacity: .55; cursor: wait; }

/* Account page polish */
html:has(.customer-account-shell.customer-account-embedded),
body:has(.customer-account-shell.customer-account-embedded),
body:has(.customer-account-shell.customer-account-embedded) > [class*="brand-site_site__"] {
  background: #090909 !important;
}

.customer-account-shell.customer-account-embedded {
  position: relative;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 2.5rem));
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(8.5rem, 11vw, 10.5rem) 0 9rem !important;
  direction: rtl;
}

/* Guest account: a single-field, image-backed iOS-style sign-in sheet. */
html:has(.customer-account-shell.ram-account-guest),
body:has(.customer-account-shell.ram-account-guest),
body:has(.customer-account-shell.ram-account-guest) > [class*="brand-site_site__"] {
  background: #050505 !important;
}

body:has(.customer-account-shell.ram-account-guest) [data-ram-persistent-dock="1"],
body:has(.customer-account-shell.ram-account-guest) .ram-contact-widget,
body:has(.customer-account-shell.ram-account-guest) .ram-telegram-widget {
  display: none !important;
}

body:has(.customer-account-shell.ram-account-guest) main,
body:has(.customer-account-shell.ram-account-guest) footer {
  padding-bottom: 0 !important;
}

.customer-account-shell.ram-account-guest {
  position: relative;
  isolation: isolate;
  display: grid !important;
  width: 100% !important;
  min-height: max(48rem, 100svh) !important;
  place-items: center;
  overflow: hidden;
  margin: 0 !important;
  padding: clamp(8rem, 12vw, 10rem) 1rem clamp(7rem, 10vw, 9rem) !important;
  color: #fff;
}

.customer-account-shell.ram-account-guest::before,
.customer-account-shell.ram-account-guest::after {
  position: absolute;
  z-index: -2;
  inset: -5%;
  content: "";
  pointer-events: none;
}

.customer-account-shell.ram-account-guest::before {
  background-image: var(--ram-account-art), linear-gradient(135deg, #222, #050505);
  background-position: 50% 42%;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(.72) contrast(1.08) brightness(.52);
  transform: scale(1.045);
  animation: ram-account-cinematic 18s ease-in-out infinite alternate;
}

.customer-account-shell.ram-account-guest::after {
  z-index: -1;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(3,3,3,.52), rgba(3,3,3,.86) 72%, #050505 100%);
  backdrop-filter: blur(2px);
}

.ram-account-guest .customer-login-card {
  position: relative;
  display: grid !important;
  width: min(29rem, calc(100vw - 2rem)) !important;
  box-sizing: border-box;
  justify-items: stretch;
  margin: 0 auto !important;
  padding: clamp(1.25rem, 3.5vw, 2rem) !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 2.25rem !important;
  background: linear-gradient(155deg, rgba(32,32,34,.72), rgba(7,7,8,.62)) !important;
  color: #fff !important;
  box-shadow: 0 2.5rem 7rem rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.22) !important;
  text-align: center !important;
  -webkit-backdrop-filter: blur(30px) saturate(145%);
  backdrop-filter: blur(30px) saturate(145%);
  animation: ram-account-sheet-in .72s cubic-bezier(.2,.85,.2,1) both;
}

.ram-account-guest .customer-login-card::before {
  display: grid;
  width: 3.7rem;
  height: 3.7rem;
  place-items: center;
  justify-self: center;
  margin-bottom: 1rem;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 .8rem 2.5rem rgba(0,0,0,.2);
  color: #fff;
  content: "R";
  font: 500 1.5rem/1 -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.ram-account-guest .customer-login-card > span:first-of-type {
  color: rgba(255,255,255,.55) !important;
  font: 650 .56rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif !important;
  letter-spacing: .18em !important;
}

.ram-account-guest .customer-login-card h1 {
  margin: .65rem 0 .5rem !important;
  color: #fff !important;
  font: 650 clamp(1.8rem, 5vw, 2.6rem)/1.12 -apple-system, BlinkMacSystemFont, "SF Pro Display", Tahoma, sans-serif !important;
  letter-spacing: -.045em !important;
  text-align: center !important;
}

.ram-account-guest .customer-login-card > p {
  margin: 0 auto 1.2rem !important;
  color: rgba(255,255,255,.62) !important;
  font-size: .72rem !important;
  line-height: 1.85 !important;
  text-align: center !important;
}

.ram-account-guest [data-ram-admin-login="1"] {
  display: inline-flex !important;
  width: auto !important;
  min-height: 2.65rem !important;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: .45rem;
  margin: 0 0 1rem !important;
  padding: .55rem .9rem !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.075) !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .62rem !important;
  text-decoration: none !important;
}

.ram-account-guest form[data-ram-single-input="1"] {
  display: grid !important;
  gap: .75rem !important;
  margin: 0 !important;
}

.ram-account-guest [data-ram-removed-name="1"] { display: none !important; }

.ram-account-guest label:has(input[data-ram-otp-code="1"]) {
  display: grid !important;
  gap: .5rem !important;
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: .68rem !important;
  text-align: center !important;
}

.ram-account-guest input[data-ram-otp-code="1"] {
  display: block !important;
  width: 100% !important;
  min-height: 4rem !important;
  box-sizing: border-box !important;
  padding: 0 1rem !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 1.25rem !important;
  background: rgba(8,8,9,.68) !important;
  color: #fff !important;
  font-size: clamp(1.35rem,4vw,1.8rem) !important;
  font-weight: 700 !important;
  letter-spacing: .48em !important;
  text-align: center !important;
  direction: ltr !important;
}

.ram-account-guest form[data-ram-single-input="1"] > label:not(.member-consent) {
  display: grid !important;
  gap: .5rem !important;
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .66rem !important;
  text-align: right !important;
}

.ram-account-guest input[data-ram-phone-only="1"] {
  width: 100% !important;
  min-height: 4rem !important;
  box-sizing: border-box !important;
  padding: 0 1.15rem !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 1.25rem !important;
  background: rgba(8,8,9,.62) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  outline: none !important;
  direction: ltr !important;
  font: 500 1.05rem/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif !important;
  letter-spacing: .09em !important;
  text-align: center !important;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

.ram-account-guest input[data-ram-phone-only="1"]:focus {
  border-color: rgba(255,255,255,.72) !important;
  box-shadow: 0 0 0 4px rgba(255,255,255,.1), inset 0 1px 0 rgba(255,255,255,.1) !important;
  transform: translateY(-1px);
}

.ram-account-guest .member-consent {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  margin: 0 !important;
  min-height: 2.8rem !important;
  box-sizing: border-box !important;
  padding: .55rem .7rem !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: .95rem !important;
  background: rgba(255,255,255,.065) !important;
  color: rgba(255,255,255,.55) !important;
  font-size: .58rem !important;
  line-height: 1.65 !important;
  text-align: right !important;
}

.ram-account-guest .member-consent input {
  width: 1.15rem !important;
  height: 1.15rem !important;
  flex: 0 0 auto;
  accent-color: #fff;
  border: 1px solid rgba(255,255,255,.45) !important;
  background: rgba(0,0,0,.32) !important;
}

.ram-account-guest form[data-ram-single-input="1"] button.primary {
  position: relative;
  min-height: 3.75rem !important;
  margin: .15rem 0 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 1.25rem !important;
  background: #f5f5f7 !important;
  color: #09090a !important;
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.26), inset 0 1px 0 #fff !important;
  font-size: .72rem !important;
  font-weight: 750 !important;
  transition: transform .2s ease, background-color .2s ease !important;
}

.ram-account-guest form[data-ram-single-input="1"] button.primary:hover,
.ram-account-guest form[data-ram-single-input="1"] button.primary:focus-visible {
  background: #fff !important;
  transform: translateY(-2px);
}

.ram-account-guest form[data-ram-single-input="1"] button.primary::after {
  margin-right: .5rem;
  content: "←";
}

@keyframes ram-account-sheet-in {
  from { opacity: 0; transform: translateY(1.5rem) scale(.965); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ram-account-cinematic {
  from { transform: scale(1.045) translate3d(-.5%, 0, 0); }
  to { transform: scale(1.1) translate3d(.8%, -1.2%, 0); }
}

@media (max-width: 640px) {
  .customer-account-shell.ram-account-guest {
    min-height: 100svh !important;
    padding: calc(6.7rem + env(safe-area-inset-top)) .75rem calc(8.2rem + env(safe-area-inset-bottom)) !important;
  }
  .customer-account-shell.ram-account-guest::before { background-position: 50% 36%; }
  .ram-account-guest .customer-login-card {
    width: min(25rem, calc(100vw - 1.5rem)) !important;
    padding: 1.25rem !important;
    border-radius: 1.8rem !important;
  }
  .ram-account-guest .customer-login-card::before { width: 3.25rem; height: 3.25rem; margin-bottom: .8rem; border-radius: 1.1rem; }
  .ram-account-guest .customer-login-card h1 { font-size: 1.75rem !important; }
  .ram-account-guest .customer-login-card > p { font-size: .65rem !important; }
  .ram-account-guest input[data-ram-phone-only="1"] { min-height: 3.7rem !important; font-size: 1rem !important; }
  .ram-account-guest form[data-ram-single-input="1"] button.primary { min-height: 3.55rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-account-shell.ram-account-guest::before,
  .ram-account-guest .customer-login-card { animation: none !important; }
}

.customer-account-embedded .customer-account-logout {
  position: absolute;
  top: clamp(7.3rem, 9.5vw, 9rem);
  left: 0;
  z-index: 2;
  min-height: 2.75rem;
  padding: .65rem 1.15rem !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  font-size: .72rem !important;
}

.customer-account-embedded .customer-account-hero {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem 2rem;
  min-height: 0 !important;
  margin: 0 0 1.1rem !important;
  padding: 2.1rem 2.25rem !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1.75rem;
  background: radial-gradient(circle at 12% 10%, rgba(255,255,255,.075), transparent 28%), #101010;
}

.customer-account-embedded .customer-account-hero > div { min-width: 0; }
.customer-account-embedded .customer-account-hero h1 {
  max-width: 100%;
  margin: .2rem 0 .35rem !important;
  overflow: hidden;
  color: #fff;
  font-size: clamp(2rem, 4.2vw, 3.65rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-account-embedded .customer-account-hero p { margin: 0 !important; color: rgba(255,255,255,.58) !important; direction: ltr; font-size: .78rem !important; text-align: right; }
.customer-account-embedded .customer-account-hero .primary,
.customer-account-embedded .ram-admin-shortcut {
  flex: 0 0 auto;
  width: auto;
  min-height: 2.9rem;
  margin: 0;
  padding: .8rem 1.2rem !important;
  border-radius: 999px !important;
  background: #f3f2ed !important;
  color: #101010 !important;
  text-decoration: none;
  font-size: .72rem !important;
  font-weight: 750;
}

.customer-account-embedded .ram-admin-shortcut {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2) !important;
  background: #050505 !important;
  color: #fff !important;
  box-shadow: 0 .75rem 2rem rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.045);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  animation: ram-admin-breathe 3.8s ease-in-out infinite;
}

.customer-account-embedded .ram-admin-shortcut::after {
  position: absolute;
  z-index: -1;
  top: -80%;
  left: -45%;
  width: 28%;
  height: 260%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent);
  content: "";
  transform: rotate(18deg) translateX(-360%);
  animation: ram-admin-glint 3.8s ease-in-out infinite;
}

.customer-account-embedded .ram-admin-shortcut:hover,
.customer-account-embedded .ram-admin-shortcut:focus-visible {
  background: #171717 !important;
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.42), 0 0 0 3px rgba(255,255,255,.1);
  transform: translateY(-2px);
}

@keyframes ram-admin-breathe {
  0%, 100% { box-shadow: 0 .75rem 2rem rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.045); }
  50% { box-shadow: 0 1rem 2.6rem rgba(0,0,0,.4), 0 0 0 4px rgba(255,255,255,.045); }
}

@keyframes ram-admin-glint {
  0%, 58% { transform: rotate(18deg) translateX(-360%); opacity: 0; }
  66% { opacity: 1; }
  84%, 100% { transform: rotate(18deg) translateX(760%); opacity: 0; }
}

/* Buyer dashboard shortcuts: customer features only, never operational tools. */
.customer-account-embedded .ram-buyer-dashboard {
  box-sizing: border-box;
  margin: 0 0 1.1rem;
  padding: 1.5rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1.55rem;
  background: rgba(255,255,255,.045);
  color: #fff;
}

.customer-account-embedded .ram-buyer-dashboard-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin-bottom: 1.1rem;
}

.customer-account-embedded .ram-buyer-dashboard-header span {
  color: rgba(255,255,255,.48);
  font-size: .55rem;
  letter-spacing: .2em;
}

.customer-account-embedded .ram-buyer-dashboard-header h2 {
  margin: .35rem 0 0;
  font-size: clamp(1.2rem,2.2vw,1.65rem);
}

.customer-account-embedded .ram-buyer-dashboard-header p {
  max-width: 24rem;
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: .7rem;
  line-height: 1.8;
}

.customer-account-embedded .ram-buyer-actions {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .7rem;
}

.customer-account-embedded .ram-buyer-action {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 8.2rem;
  box-sizing: border-box;
  align-content: end;
  gap: .3rem;
  padding: 1rem;
  border: 1px solid #d9d7d0;
  border-radius: 1.15rem;
  background: #f2f0ea;
  color: #111;
  font: inherit;
  text-align: right;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease,background-color .2s ease;
}

.customer-account-embedded .ram-buyer-action:hover,
.customer-account-embedded .ram-buyer-action:focus-visible {
  background: #fff;
  outline: 2px solid rgba(255,255,255,.7);
  outline-offset: 2px;
  transform: translateY(-2px);
}

.customer-account-embedded .ram-buyer-action-number {
  position: absolute;
  top: .85rem;
  right: .9rem;
  color: #817e77;
  font: 700 .55rem Arial,sans-serif;
  letter-spacing: .08em;
}

.customer-account-embedded .ram-buyer-action strong {
  overflow: hidden;
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-account-embedded .ram-buyer-action small { color: #6c6963; font-size: .58rem; line-height: 1.6; }
.customer-account-embedded .ram-buyer-action i { position: absolute; top: .7rem; left: .85rem; font-size: .85rem; font-style: normal; }
.customer-account-embedded [id^="ram-buyer-"]:focus { outline: 2px solid rgba(255,255,255,.48); outline-offset: 4px; }

.ram-shop-target-product {
  border-color: #111 !important;
  box-shadow: 0 0 0 3px rgba(17,17,17,.12),0 1.2rem 3rem rgba(0,0,0,.16) !important;
}

.ram-product-quickview {
  position: fixed;
  z-index: 2147483645;
  inset: 0;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 1.25rem;
  background: rgba(0,0,0,.74);
  opacity: 0;
  direction: rtl;
  backdrop-filter: blur(14px);
  transition: opacity .2s ease;
}

.ram-product-quickview.is-visible { opacity: 1; }
.ram-product-quickview-dialog {
  position: relative;
  display: grid;
  grid-template-columns: minmax(15rem,.9fr) minmax(18rem,1.1fr);
  width: min(52rem,100%);
  max-height: min(42rem,calc(100vh - 2.5rem));
  overflow: auto;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1.8rem;
  background: #0b0b0b;
  color: #fff;
  box-shadow: 0 2rem 6rem rgba(0,0,0,.55);
}

.ram-product-quickview-close {
  position: absolute;
  z-index: 2;
  top: .8rem;
  left: .8rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: rgba(8,8,8,.8);
  color: #fff;
  font-size: 1.25rem;
  cursor: pointer;
}

.ram-product-quickview-image { min-height: 26rem; padding: 1rem; background: #eceae3; }
.ram-product-quickview-image img { width: 100%; height: 100%; max-height: 38rem; object-fit: contain; }
.ram-product-quickview-content { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4rem); }
.ram-product-quickview-kicker { color:rgba(255,255,255,.48); font-size:.55rem; letter-spacing:.2em; direction:ltr; text-align:right; }
.ram-product-quickview-content h2 { margin:.75rem 0 .35rem; font-size:clamp(1.8rem,4vw,3.4rem); line-height:1.05; }
.ram-product-quickview-sku { color:rgba(255,255,255,.5); font:700 .62rem Arial,sans-serif; direction:ltr; text-align:right; }
.ram-product-quickview-price { margin-top:1.5rem; font-size:1.05rem; }
.ram-product-quickview-content p { margin:1rem 0 1.5rem; color:rgba(255,255,255,.58); font-size:.72rem; line-height:1.9; }
.ram-product-quickview-actions { display:grid; grid-template-columns:1fr auto; gap:.65rem; }
.ram-product-quickview-actions button { min-height:3.2rem; padding:.75rem 1.1rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; font:inherit; font-size:.72rem; font-weight:750; cursor:pointer; }
.ram-product-quickview-add { background:#f3f1eb; color:#0b0b0b; }
.ram-product-quickview-add:disabled { opacity:.72; cursor:default; }
.ram-product-quickview-continue { background:transparent; color:#fff; }

/* Shop: fully dark canvas, disciplined product grid and gentle garment motion. */
html:has(.shop-shell),
body:has(.shop-shell),
body:has(.shop-shell) > [class*="brand-site_site__"] {
  background: #080808 !important;
}

.shop-shell {
  background: #080808 !important;
  color: #f5f3ee !important;
}

.shop-catalog {
  box-sizing: border-box;
  padding: clamp(3.5rem, 6vw, 6rem) clamp(1rem, 4vw, 4rem) 5rem !important;
  border-radius: 0 !important;
  background: #080808 !important;
  color: #f5f3ee !important;
}

.shop-section-head,
.shop-product-grid {
  width: min(1240px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.shop-section-head {
  align-items: end !important;
  margin-bottom: clamp(1.6rem, 3vw, 2.6rem) !important;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.shop-section-head span,
.shop-section-head > p { color: rgba(255,255,255,.5) !important; }
.shop-section-head h2 {
  max-width: 15ch;
  margin-top: .6rem !important;
  color: #fff !important;
  font-size: clamp(2rem, 4.4vw, 4.6rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.shop-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: clamp(.85rem, 1.5vw, 1.35rem) !important;
  width: min(1360px, 100%) !important;
}

.shop-product-grid > article {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 1.45rem !important;
  background: #121212 !important;
  color: #fff !important;
  box-shadow: 0 1.2rem 3.2rem rgba(0,0,0,.22);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.shop-product-grid > article:hover,
.shop-product-grid > article:focus-within {
  border-color: rgba(255,255,255,.3) !important;
  box-shadow: 0 1.6rem 4rem rgba(0,0,0,.38);
  transform: translateY(-4px);
}

.shop-editorial-frame {
  flex: 0 0 auto;
  padding: .7rem .7rem 0;
  background: #171717 !important;
}

.shop-frame-top,
.shop-frame-bottom {
  color: rgba(255,255,255,.62) !important;
}

.shop-frame-top { min-height: 2.15rem; }
.shop-frame-bottom { min-height: 2.35rem; }
.shop-frame-top b,
.shop-frame-bottom b { color: #fff !important; }

.shop-product-image {
  aspect-ratio: 4 / 5 !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1rem !important;
  background: #efede7 !important;
}

.shop-product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transform-origin: 50% 58%;
  animation: ram-garment-drift 8s ease-in-out infinite;
  will-change: transform;
}

.shop-product-grid > article:nth-child(3n + 2) .shop-product-image img { animation-delay: -2.65s; }
.shop-product-grid > article:nth-child(3n) .shop-product-image img { animation-delay: -5.3s; }
.shop-product-grid > article:hover .shop-product-image img { animation-play-state: paused; transform: scale(1.025); }

.shop-product-image > span {
  background: rgba(8,8,8,.82) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
}

.shop-product-info {
  display: flex;
  min-height: 10.5rem;
  flex: 1 1 auto;
  flex-direction: column;
  box-sizing: border-box;
  padding: 1.15rem 1.2rem 1.25rem !important;
}

.shop-product-info > small { color: rgba(255,255,255,.42) !important; direction: ltr; text-align: right; }
.shop-product-info h3 { margin: .6rem 0 .8rem !important; color: #fff !important; font-size: 1.05rem !important; }
.shop-product-info > strong { margin-bottom: 1rem !important; color: rgba(255,255,255,.76) !important; }
.shop-product-info > button,
.shop-product-info .quantity-control { margin-top: auto !important; }
.shop-product-info > button.secondary.wide {
  min-height: 3rem;
  border: 1px solid #f3f1eb !important;
  border-radius: 999px !important;
  background: #f3f1eb !important;
  color: #0b0b0b !important;
  font-weight: 750;
}

@keyframes ram-garment-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -7px, 0) scale(1.012); }
}

/* Restored RAM Boutique loader language for client-side navigation. */
.ram-route-loader {
  position: fixed;
  z-index: 2147483646;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #050505;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility 0s linear .22s;
}

.ram-route-loader.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.ram-route-loader::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.06) 50%, transparent 50.1%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 34%);
  content: "";
}

.ram-route-loader::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0 47%, rgba(255,255,255,.1) 50%, transparent 53% 100%);
  content: "";
  opacity: .35;
  transform: translateY(-100%);
  animation: ram-loader-scan 2.4s linear infinite;
}

.ram-route-loader-inner {
  position: relative;
  display: grid;
  z-index: 1;
  width: min(54rem, calc(100vw - 3rem));
  gap: clamp(1.3rem, 3vw, 2.5rem);
  text-align: center;
}

.ram-route-loader-topline,
.ram-route-loader-coordinates {
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.5);
  font: 700 .58rem Arial, sans-serif;
  letter-spacing: .18em;
}

.ram-route-loader-coordinates {
  position: absolute;
  z-index: 1;
  top: 1.5rem;
  right: 1.5rem;
  left: 1.5rem;
}

.ram-route-loader-logo {
  position: relative;
  height: clamp(5.5rem, 16vw, 11.5rem);
}

.ram-route-loader-logo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.ram-route-loader-slice-top { clip-path: inset(0 0 67% 0); animation: ram-loader-slice-top 1.7s ease-in-out infinite; }
.ram-route-loader-slice-middle { clip-path: inset(33% 0 33% 0); animation: ram-loader-slice-middle 1.7s ease-in-out infinite; }
.ram-route-loader-slice-bottom { clip-path: inset(67% 0 0 0); animation: ram-loader-slice-bottom 1.7s ease-in-out infinite; }
.ram-route-loader-status { display: grid; gap: .65rem; }
.ram-route-loader-label { color: rgba(255,255,255,.48); font: 700 .58rem Arial,sans-serif; letter-spacing: .25em; }
.ram-route-loader-track { height: 1px; overflow: hidden; background: rgba(255,255,255,.18); }
.ram-route-loader-track::after {
  display: block;
  width: 45%;
  height: 100%;
  background: #fff;
  content: "";
  transform: translateX(-140%);
  animation: ram-route-progress .85s cubic-bezier(.65,0,.35,1) infinite;
}

@keyframes ram-route-progress {
  to { transform: translateX(320%); }
}

@keyframes ram-loader-scan { to { transform: translateY(100%); } }
@keyframes ram-loader-slice-top { 0%,100% { transform: translateX(-1.2%); } 50% { transform: translateX(1.2%); } }
@keyframes ram-loader-slice-middle { 0%,100% { transform: translateX(1.4%); } 50% { transform: translateX(-1.4%); } }
@keyframes ram-loader-slice-bottom { 0%,100% { transform: translateX(-.8%); } 50% { transform: translateX(.8%); } }

.ram-route-loader-edition {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  color: rgba(255,255,255,.38);
  font: 700 .52rem Arial,sans-serif;
  letter-spacing: .16em;
}

.customer-account-embedded .customer-account-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
  grid-template-rows: auto auto;
  align-items: start !important;
  gap: 1.1rem !important;
  margin: 0 !important;
}

.customer-account-embedded .customer-account-grid > .panel {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: clamp(1.45rem, 2.3vw, 2rem) !important;
  border: 1px solid #deddd7 !important;
  border-radius: 1.55rem !important;
  background: #f4f3ee !important;
  color: #111 !important;
  box-shadow: 0 1.2rem 3rem rgba(0,0,0,.14);
}

.customer-account-embedded .customer-account-grid > .panel:first-child { grid-row: 1 / span 2; }
.customer-account-embedded .customer-account-grid > .panel:first-child {
  border-color: rgba(255,255,255,.14) !important;
  background: radial-gradient(circle at 88% 8%, rgba(255,255,255,.075), transparent 30%), #0b0b0b !important;
  color: #fff !important;
  box-shadow: 0 1.4rem 3.4rem rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.025);
}
.customer-account-embedded .customer-account-grid > .panel:first-child > :first-child,
.customer-account-embedded .customer-account-grid > .panel:first-child label,
.customer-account-embedded .customer-account-grid > .panel:first-child p { color: rgba(255,255,255,.58) !important; }
.customer-account-embedded .customer-account-grid > .panel:first-child h2 { color: #fff !important; }
.customer-account-embedded .customer-account-grid > .panel:first-child input,
.customer-account-embedded .customer-account-grid > .panel:first-child textarea {
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.065) !important;
  color: #fff !important;
  caret-color: #fff;
}
.customer-account-embedded .customer-account-grid > .panel:first-child input:focus,
.customer-account-embedded .customer-account-grid > .panel:first-child textarea:focus {
  border-color: rgba(255,255,255,.48) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.08);
}
.customer-account-embedded .customer-account-grid > .panel:first-child button {
  border-color: #f3f2ed !important;
  background: #f3f2ed !important;
  color: #0b0b0b !important;
}
.customer-account-embedded .panel > :first-child { color: #8b8982 !important; }
.customer-account-embedded .panel h2 { margin: .55rem 0 1.35rem !important; font-size: clamp(1.05rem, 1.7vw, 1.3rem) !important; }
.customer-account-embedded .panel label { display: grid !important; gap: .45rem !important; margin: 0 0 .9rem !important; color: #5e5c57 !important; font-size: .7rem !important; }
.customer-account-embedded .panel input,
.customer-account-embedded .panel textarea { box-sizing: border-box; width: 100%; border: 1px solid #d8d6cf !important; border-radius: .95rem !important; background: rgba(255,255,255,.52) !important; color: #111 !important; outline: none; }
.customer-account-embedded .panel input { min-height: 3.2rem !important; padding: .8rem 1rem !important; }
.customer-account-embedded .panel textarea { min-height: 6.7rem !important; padding: 1rem !important; resize: vertical; }
.customer-account-embedded .panel input:focus,
.customer-account-embedded .panel textarea:focus { border-color: #8e8b83 !important; box-shadow: 0 0 0 3px rgba(17,17,17,.06); }
.customer-account-embedded .panel button { min-height: 3.15rem !important; margin-top: .25rem !important; border-radius: 999px !important; background: #0b0b0b !important; color: #fff !important; font-size: .75rem !important; font-weight: 700; }
.customer-account-embedded .panel button:disabled { background: #d7d5cf !important; color: #77746d !important; cursor: not-allowed; }
.customer-account-embedded .panel p { color: #66635d !important; font-size: .75rem !important; line-height: 1.9 !important; }

.customer-account-embedded .ram-account-telegram-simple {
  display: grid !important;
  min-height: 11rem !important;
  place-items: center;
  background: #f4f3ee !important;
}

.customer-account-embedded .ram-account-telegram-simple > [hidden] { display: none !important; }
.customer-account-embedded .ram-account-telegram-cta {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.4rem;
  padding: .8rem 1.1rem;
  border-radius: 999px;
  background: #0b0b0b;
  color: #fff;
  font-size: .78rem;
  font-weight: 750;
  text-decoration: none;
}

.customer-account-embedded .ram-account-telegram-cta:hover,
.customer-account-embedded .ram-account-telegram-cta:focus-visible { background:#222; outline:3px solid rgba(17,17,17,.12); }

.customer-account-embedded .ram-latest-products {
  box-sizing: border-box;
  margin: 1.1rem 0 0;
  padding: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1.55rem;
  background: #101010;
  color: #fff;
}

.customer-account-embedded .ram-products-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.customer-account-embedded .ram-products-header span { color: rgba(255,255,255,.48); font-size: .58rem; letter-spacing: .22em; }
.customer-account-embedded .ram-products-header h2 { margin: .25rem 0 0; font-size: clamp(1.15rem, 2vw, 1.55rem); }
.customer-account-embedded .ram-products-controls { display: flex; gap: .45rem; direction: ltr; }
.customer-account-embedded .ram-products-controls button {
  width: 2.55rem;
  height: 2.55rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.customer-account-embedded .ram-products-viewport { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x proximity; direction: ltr; }
.customer-account-embedded .ram-products-viewport::-webkit-scrollbar { display: none; }
.customer-account-embedded .ram-products-track { display: flex; width: max-content; gap: .85rem; }
.customer-account-embedded .ram-product-card {
  display: grid;
  box-sizing: border-box;
  width: clamp(10.5rem, 20vw, 14rem);
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.2rem;
  background: rgba(255,255,255,.055);
  color: #fff;
  direction: rtl;
  text-decoration: none;
  scroll-snap-align: start;
}

.customer-account-embedded .ram-product-image { display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; border-radius: .88rem; background: #e9e7e0; }
.customer-account-embedded .ram-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.customer-account-embedded .ram-product-card:hover img { transform: scale(1.035); }
.customer-account-embedded .ram-product-placeholder { color: #171717; font-size: 1rem; font-weight: 800; letter-spacing: .18em; }
.customer-account-embedded .ram-product-meta { display: grid; gap: .25rem; padding: .8rem .35rem .3rem; }
.customer-account-embedded .ram-product-meta strong { overflow: hidden; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.customer-account-embedded .ram-product-meta small { color: rgba(255,255,255,.5); font-size: .58rem; }
.customer-account-embedded .ram-product-meta b { margin-top: .2rem; font-size: .68rem; }

.customer-account-embedded .customer-orders {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 0 !important;
  margin: 1.1rem 0 0 !important;
  padding: 1.5rem 1.8rem !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 1.55rem !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
}
.customer-account-embedded .customer-orders h2 { margin: .4rem 0 0 !important; font-size: 1.05rem !important; }
.customer-account-embedded .customer-orders p { margin: 0 !important; color: rgba(255,255,255,.58) !important; font-size: .73rem !important; }

/* Keep every public-site header on one line: logo left, navigation/menu right. */
header[class*="brand-site_header__"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  direction: ltr !important;
}
header[class*="brand-site_header__"] > a[class*="brand-site_logo__"] {
  order: 1 !important;
  flex: 0 0 auto !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  justify-self: auto !important;
}
header[class*="brand-site_header__"] > [class*="brand-site_headerActions__"] {
  order: 2 !important;
  direction: rtl !important;
}
header[class*="brand-site_header__"] > nav {
  order: 3 !important;
  direction: rtl !important;
}
header[class*="brand-site_header__"] > button[class*="brand-site_menuButton__"] {
  order: 3 !important;
  direction: rtl !important;
}

/* Contact-page cards should stay inside the site's black visual language. */
[class*="brand-site_contactCards__"] {
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.16) !important;
}
[class*="brand-site_contactCards__"] > article {
  border-color: rgba(255,255,255,.12) !important;
  background: #0d0d0d !important;
  color: #fff !important;
}
[class*="brand-site_contactCards__"] > article span,
[class*="brand-site_contactCards__"] > article small,
[class*="brand-site_contactCards__"] > article p {
  color: rgba(255,255,255,.66) !important;
}
[class*="brand-site_contactCards__"] > article a {
  color: #fff !important;
  text-underline-offset: .35rem;
}

@media (max-width: 900px) {
  header[class*="brand-site_header__"] {
    height: calc(82px + env(safe-area-inset-top)) !important;
    padding: env(safe-area-inset-top) 1rem 0 !important;
    align-items: center !important;
    gap: .75rem !important;
  }
  header[class*="brand-site_header__"] > a[class*="brand-site_logo__"] {
    align-self: center !important;
  }
  header[class*="brand-site_header__"] > a[class*="brand-site_logo__"] img {
    width: 8.5rem !important;
    height: auto !important;
  }
  header[class*="brand-site_header__"] > nav,
  header[class*="brand-site_header__"] > [class*="brand-site_headerActions__"] {
    display: none !important;
  }
  header[class*="brand-site_header__"] > button[class*="brand-site_menuButton__"] {
    display: inline-flex !important;
    width: auto !important;
    min-width: 4.8rem !important;
    height: 2.4rem !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  [class*="brand-site_mobileMenu__"] {
    top: calc(82px + env(safe-area-inset-top)) !important;
  }
}

@media (max-width: 1100px) {
  .shop-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .shop-catalog { padding: 3rem .75rem 4rem !important; }
  .shop-section-head { align-items: flex-start !important; flex-direction: column; gap: .7rem; }
  .shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .7rem !important; }
  .shop-editorial-frame { padding: .45rem .45rem 0; }
  .shop-product-info { min-height: 9.25rem; padding: .85rem !important; }
  .shop-product-info h3 { font-size: .92rem !important; }
  .ram-route-loader-coordinates { top: 1rem; right: 1rem; left: 1rem; font-size: .48rem; }
  .ram-route-loader-edition { right: 1rem; bottom: 1rem; left: 1rem; text-align: center; }
  [data-ram-persistent-dock="1"] {
    bottom: max(.45rem, env(safe-area-inset-bottom)) !important;
    width: calc(100% - 1rem) !important;
    min-height: 4.75rem !important;
    padding: .38rem !important;
    border-radius: 1.35rem !important;
  }
  [data-ram-persistent-dock="1"] > a { min-height: 3.75rem !important; border-radius: 1rem !important; }
  .ram-contact-widget { top: auto; bottom: calc(5.8rem + env(safe-area-inset-bottom)); transform: none; }
  .ram-telegram-widget { top: auto; bottom: calc(5.8rem + env(safe-area-inset-bottom)); left: 0; transform: none; }
  html[data-ram-shop-contact="1"] .ram-telegram-widget {
    top: calc(50% - 2.8rem);
    bottom: auto;
    transform: none;
  }
  .ram-shop-contact-link {
    top: calc(50% + .1rem);
    bottom: auto;
    min-width: 3.25rem;
    min-height: 2.55rem;
    height: 2.55rem;
    padding: .45rem .7rem;
    border-radius: 0 999px 999px 0;
    font-size: .62rem;
    writing-mode: horizontal-tb;
  }
  .ram-contact-toggle,
  .ram-telegram-toggle {
    min-width: 3.25rem;
    min-height: 2.55rem;
    height: 2.55rem;
    padding: .45rem .7rem;
    border-radius: 999px;
    font-size: .62rem;
    writing-mode: horizontal-tb;
  }
  .ram-contact-panel,
  .ram-telegram-panel { top: auto; bottom: 0; transform: none; }
  .customer-account-shell.customer-account-embedded { width: calc(100% - 1.5rem); padding: calc(7.2rem + env(safe-area-inset-top)) 0 calc(9rem + env(safe-area-inset-bottom)) !important; }
  .customer-account-embedded .customer-account-logout { position: static; display: inline-flex; margin: 0 0 .8rem !important; }
  .customer-account-embedded .customer-account-hero { align-items: flex-end !important; flex-wrap: wrap; margin-bottom: .9rem !important; padding: 1.45rem !important; border-radius: 1.45rem; }
  .customer-account-embedded .customer-account-hero h1 { font-size: clamp(1.8rem, 10vw, 2.65rem) !important; }
  .customer-account-embedded .ram-buyer-dashboard { margin-bottom: .85rem; padding: 1.15rem; border-radius: 1.35rem; }
  .customer-account-embedded .ram-buyer-dashboard-header { display: block; }
  .customer-account-embedded .ram-buyer-dashboard-header p { margin-top: .65rem; }
  .customer-account-embedded .ram-buyer-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .customer-account-embedded .ram-buyer-action { min-height: 7rem; }
  .customer-account-embedded .customer-account-grid { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto !important; gap: .85rem !important; }
  .customer-account-embedded .customer-account-grid > .panel:first-child { grid-row: auto; }
  .customer-account-embedded .customer-account-grid > .panel { padding: 1.35rem !important; border-radius: 1.35rem !important; }
  .customer-account-embedded .ram-latest-products { margin-top: .85rem; padding: 1.15rem; border-radius: 1.35rem; }
  .customer-account-embedded .ram-products-header { align-items: center; gap: .75rem; margin-bottom: .85rem; }
  .customer-account-embedded .ram-products-controls button { width: 2.35rem; height: 2.35rem; }
  .customer-account-embedded .ram-product-card { width: min(76vw, 15rem); }
  .customer-account-embedded .customer-orders { display: block !important; margin-top: .85rem !important; padding: 1.35rem !important; border-radius: 1.35rem !important; }
  .customer-account-embedded .customer-orders p { margin-top: 1rem !important; }
  .ram-product-quickview { padding:.65rem; }
  .ram-product-quickview-dialog { display:block; max-height:calc(100vh - 1.3rem); border-radius:1.35rem; }
  .ram-product-quickview-image { min-height:0; height:min(48vh,24rem); padding:.75rem; }
  .ram-product-quickview-content { padding:1.4rem; }
  .ram-product-quickview-content h2 { font-size:1.8rem; }
  .ram-product-quickview-actions { grid-template-columns:1fr; }
}

@media (max-width: 420px) {
  .shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .55rem !important; }
  .shop-product-grid > article { border-radius: 1.15rem !important; }
  .customer-account-embedded .customer-account-hero { display: grid !important; gap: 1rem; }
  .customer-account-embedded .customer-account-hero .primary,
  .customer-account-embedded .ram-admin-shortcut { box-sizing: border-box; width: 100%; text-align: center; }
  .ram-contact-toggle,
  .ram-telegram-toggle { min-height: 2.45rem; height: 2.45rem; }
  .customer-account-embedded .ram-buyer-action { padding: .85rem; }
  .customer-account-embedded .ram-buyer-actions { grid-template-columns: 1fr; }
  .customer-account-embedded .ram-product-card { width: calc(100vw - 4.9rem); }
}

@media (prefers-reduced-motion: reduce) {
  .customer-account-embedded .ram-product-image img { transition: none; }
  .customer-account-embedded .ram-products-viewport { scroll-behavior: auto !important; }
  .customer-account-embedded .ram-admin-shortcut,
  .customer-account-embedded .ram-admin-shortcut::after,
  .customer-account-embedded .ram-buyer-action,
  .ram-product-quickview,
  .shop-product-image img,
  .ram-route-loader::after,
  .ram-route-loader-logo img,
  .ram-route-loader-track::after { animation: none; }
}
/* RAM global action language: solid black, white type, no visible border. */
html body button,
html body a.primary,
html body a.secondary,
html body a[class*="Action"],
html body a[class*="Cta"],
html body [role="button"] {
  border:0 !important;
  background:#050505 !important;
  color:#fff !important;
  box-shadow:none !important;
}
html body .shop-product-info > button,
html body .shop-product-info > button.secondary.wide {
  border:0 !important;
  background:#050505 !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* RAM contact page — dark brand treatment */
html:has(body main > section[class*="contactFormSection"]),
body:has(main > section[class*="contactFormSection"]) {
  background:#050505 !important;
  color-scheme:dark;
}
body:has(main > section[class*="contactFormSection"]) > header,
body:has(main > section[class*="contactFormSection"]) header[class*="brand-site_header"] {
  border-color:#252525 !important;
  background:#050505 !important;
  color:#fff !important;
}
body:has(main > section[class*="contactFormSection"]) header[class*="brand-site_header"] a,
body:has(main > section[class*="contactFormSection"]) header[class*="brand-site_header"] button {
  color:#fff !important;
}
body:has(main > section[class*="contactFormSection"]) main { background:#080808 !important; color:#fff !important; }
body:has(main > section[class*="contactFormSection"]) main > section { border-color:#292929 !important; background:#080808 !important; color:#fff !important; }
body:has(main > section[class*="contactFormSection"]) main h1,
body:has(main > section[class*="contactFormSection"]) main h2,
body:has(main > section[class*="contactFormSection"]) main h3,
body:has(main > section[class*="contactFormSection"]) main p,
body:has(main > section[class*="contactFormSection"]) main span,
body:has(main > section[class*="contactFormSection"]) main label,
body:has(main > section[class*="contactFormSection"]) main em,
body:has(main > section[class*="contactFormSection"]) main a { color:#fff !important; }
body:has(main > section[class*="contactFormSection"]) main > section[class*="contactFormSection"] { background:radial-gradient(circle at 15% 20%,#242424 0,transparent 34%),linear-gradient(135deg,#101010,#030303) !important; }
body:has(main > section[class*="contactFormSection"]) main form input,
body:has(main > section[class*="contactFormSection"]) main form textarea { border:0 !important; background:#181818 !important; color:#fff !important; box-shadow:inset 0 0 0 1px #303030 !important; }
body:has(main > section[class*="contactFormSection"]) main form input:focus,
body:has(main > section[class*="contactFormSection"]) main form textarea:focus { outline:2px solid #fff !important; outline-offset:2px; }
body:has(main > section[class*="contactFormSection"]) main form button { border:0 !important; background:#fff !important; color:#080808 !important; }
body:has(main > section[class*="contactFormSection"]) main iframe { border:0 !important; filter:grayscale(1) invert(.92) contrast(.9); }

/* Contact map only: the guide remains available even for an opaque frame error. */
main > section[class*="mapSection"] > .ram-contact-map { min-width:0; width:100%; overflow:hidden; border:1px solid #333; border-radius:16px; background:#141414; color:#fff; }
.ram-contact-map > iframe { display:block; width:100%; height:clamp(260px,40vw,420px); min-height:260px; box-sizing:border-box; }
.ram-contact-map > iframe[hidden] { display:none; }
.ram-contact-map-fallback { padding:20px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; overflow-wrap:anywhere; line-height:1.9; }
.ram-contact-map-fallback p { margin:0; }
.ram-contact-map-fallback a { text-decoration:underline; text-underline-offset:5px; padding:8px 0; }
.ram-contact-map-fallback button { min-height:44px; max-width:100%; padding:9px 14px; border:1px solid #666; border-radius:10px; color:#fff; background:transparent; font:inherit; white-space:normal; }
.ram-contact-map-fallback :is(a,button):focus-visible { outline:2px solid #fff; outline-offset:4px; }
.ram-contact-map[data-unavailable="1"] { min-height:300px; display:flex; align-items:center; }
.ram-contact-map-fallback [hidden] { display:none; }

/* Collection cards start the real shop purchase flow for their exact SKU. */
body:has(main article [data-ram-collection-buy="1"]) main article [data-ram-collection-buy="1"] {
  border:0 !important;
  background:#050505 !important;
  color:#fff !important;
  box-shadow:none !important;
}
body:has(main article [data-ram-collection-buy="1"]) main article [data-ram-collection-buy="1"]:focus-visible {
  outline:2px solid currentColor !important;
  outline-offset:3px;
}

/* Mobile contact methods remain available in the bottom navigation. */
@media(max-width:640px){.ram-home-telegram,.ram-shop-contact-link,.ram-telegram-widget{display:none!important}}

/* Keep the editorial intro readable: the base eyebrow selector also matched it. */
[class*="pageHero__"] > div:last-child > [class*="pageIntro__"] {
  font-family: inherit !important;
  font-size: .95rem !important;
  line-height: 1.9 !important;
  letter-spacing: normal !important;
  color: rgba(255,255,255,.8) !important;
}
[class*="pageHero__"] h1 em { color: #aaa69e; }
@media (prefers-reduced-motion: reduce) {
  [class*="loader__"], .ram-route-loader { display: none !important; }
}

/* Publication UX: modal containment, readable Persian copy and clear actions. */
html.ram-product-dialog-open,
html.ram-product-dialog-open body { overflow: hidden !important; }
.ram-product-quickview-dialog { overscroll-behavior: contain; }
.ram-product-quickview .ram-product-quickview-close { width: 2.75rem; height: 2.75rem; }
.ram-product-quickview .ram-product-quickview-add { background: #f3f1eb !important; color: #0b0b0b !important; }
.ram-product-quickview .ram-product-quickview-continue { background: transparent !important; color: #fff !important; }
.ram-product-quickview-content h2 { line-height: 1.4; overflow-wrap: anywhere; }
.ram-product-quickview-content p { font-size: .85rem; color: #bcbcb8; }
.ram-product-quickview-sku { color: #aaa9a5; unicode-bidi: isolate; }
.ram-product-quickview-actions button { font-size: .85rem; }
.ram-product-quickview button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.shop-product-info > small { color: #a8a7a3 !important; unicode-bidi: isolate; }
.shop-product-info h3 { line-height: 1.7; }
.shop-product-info > button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 640px) {
  .ram-product-quickview-dialog { max-height: calc(100dvh - 1.5rem); }
  .ram-product-quickview-content { padding: 1.25rem; }
  .ram-product-quickview-content h2 { font-size: 1.65rem; }
  .ram-product-quickview-price { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ram-product-quickview { transition: none; }
}

.ram-account-guest .customer-login-card > p { font-size: .85rem !important; color: #c9c9cb !important; }
.ram-account-guest form[data-ram-single-input="1"] > label:not(.member-consent),
.ram-account-guest .member-consent { font-size: .8rem !important; color: #c9c9cb !important; }
.ram-account-guest form[data-ram-single-input="1"] button.primary { font-size: .9rem !important; }
.ram-account-guest [data-ram-admin-login="1"] { margin: 1rem 0 0 !important; font-size: .75rem !important; }
html:has(.shop-shell) .shop-shell .shop-product-info > button.secondary.wide {
  background: #f3f1eb !important;
  color: #0b0b0b !important;
  border-color: #f3f1eb !important;
}
.shop-shell .shop-product-info .ram-btn-direct-order {
  margin-top: .55rem !important;
  background: transparent !important;
  border: 1px solid #686762 !important;
}
@media (max-width: 640px) {
  [class*="contactFormSection__"] form input:not([type="checkbox"]),
  [class*="contactFormSection__"] form textarea,
  .shop-shell form input:not([type="checkbox"]),
  .shop-shell form textarea { font-size: 16px !important; }
  [class*="contactFormSection__"] form label:has(input[type="checkbox"]) { min-height: 44px; align-items: center; }
}
