/* Additive presentation only. No original section, navigation or form is replaced. */
.ruiwo-season-banner,
.ruiwo-season-reviews,
.ruiwo-season-reviews *,
.ruiwo-season-snow { box-sizing: border-box; }
.ruiwo-season-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 36px; padding: 8px max(24px, calc((100vw - 1180px) / 2));
  background: #193e31; color: #f8f4e9; font: 11px/1.5 Arial, sans-serif;
}
.ruiwo-season-banner-label { color: #e1c98f; font-size: 10px; letter-spacing: 1px; }
.ruiwo-season-banner a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.ruiwo-season-banner a:focus-visible { outline: 3px solid #e1c98f; outline-offset: 4px; }
/* The original hero shade is important; scope the override to the active seasonal carousel. */
body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] [data-ruiwo-season-hero="christmas"] .hero-shade {
  background: linear-gradient(90deg, rgba(13,35,28,.9), rgba(13,35,28,.77) 31%, rgba(13,35,28,.2) 65%, rgba(13,35,28,.01)) !important;
}
body[data-ruiwo-season="christmas"] [data-ruiwo-season-hero="christmas"] .kicker { color: #e8d4a8; }
.ruiwo-season-snow { position: absolute; inset: 0 0 0 42%; overflow: hidden; pointer-events: none; z-index: 0; opacity: .25; }
.ruiwo-season-flake {
  position: absolute; top: -12px; left: var(--ruiwo-flake-left);
  width: var(--ruiwo-flake-size); height: var(--ruiwo-flake-size);
  border-radius: 50%; background: #fff;
  animation: ruiwo-season-fall var(--ruiwo-flake-duration) var(--ruiwo-flake-delay) linear infinite;
}
@keyframes ruiwo-season-fall {
  0% { opacity: 0; transform: translate3d(0, 0, 0); }
  12% { opacity: 1; }
  55% { transform: translate3d(calc(var(--ruiwo-flake-drift) * -.35), calc(var(--ruiwo-snow-height, 780px) * .55), 0); }
  90% { opacity: .75; }
  100% { opacity: 0; transform: translate3d(var(--ruiwo-flake-drift), var(--ruiwo-snow-height, 780px), 0); }
}
.ruiwo-season-snow[data-paused="true"] .ruiwo-season-flake { animation-play-state: paused; }
.hero-slide:not(.is-active) > .ruiwo-season-snow .ruiwo-season-flake { animation-play-state: paused; }
/* One quiet transition per slide, followed by still time for reading. */
body[data-ruiwo-season="christmas"] .hero.hero-carousel .hero-slide { transition: opacity .48s ease, visibility 0s linear .48s; }
body[data-ruiwo-season="christmas"] .hero.hero-carousel .hero-slide.is-active { transition-delay: 0s; }
body[data-ruiwo-season="christmas"] .hero.hero-carousel .hero-image { transform: none !important; transition: none !important; }
body[data-ruiwo-season="christmas"] .hero.hero-carousel .hero-content > * { animation: none; opacity: 1; transform: none; }
body[data-ruiwo-season="christmas"] .hero.hero-carousel .hero-slide.is-active .hero-content { animation: ruiwo-season-copy-in .48s cubic-bezier(.2,.65,.3,1) both; }
body[data-ruiwo-season="christmas"] .hero.hero-carousel .hero-dot.is-active::after { animation: none; }
body[data-ruiwo-season="christmas"] .hero.hero-carousel .ruiwo-season-image-previous { animation: ruiwo-season-image-out .35s ease forwards; pointer-events: none; }
@keyframes ruiwo-season-copy-in { from { opacity: .65; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes ruiwo-season-image-out { from { opacity: 1; } to { opacity: 0; } }
.ruiwo-season-reviews {
  padding: 56px 0; background: #fff; color: #17202a; border-top: 1px solid #dfe3e1;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.ruiwo-season-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.ruiwo-season-review-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 28px; }
.ruiwo-season-eyebrow { font: 700 11px/1.5 Arial, sans-serif; letter-spacing: 1.4px; color: #205b47; margin: 0 0 15px; }
.ruiwo-season-reviews h2 { max-width: 600px; font: 500 48px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.025em; margin: 0; }
.ruiwo-season-intro { max-width: 380px; font-size: 14px; line-height: 1.7; color: #66717c; margin: 0; }
.ruiwo-season-review-toolbar { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 20px; }
.ruiwo-season-review-note { font-size: 12px; color: #66717c; line-height: 1.6; margin: 0; }
.ruiwo-season-review-controls { display: flex; gap: 8px; flex-shrink: 0; align-items: center; }
.ruiwo-season-review-controls button {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  padding: 0; border: 1px solid #b8c5bc; background: #fff; color: #205b47;
  cursor: pointer; border-radius: 50%; font: 20px/1 Arial, sans-serif;
  transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.ruiwo-season-review-controls button:hover:not(:disabled) { background: #edf3ef; }
.ruiwo-season-review-controls button:active:not(:disabled) { transform: scale(.96); }
.ruiwo-season-review-controls .ruiwo-season-auto-toggle { position: relative; overflow: hidden; width: auto; min-width: 86px; padding-inline: 15px; border-radius: 24px; font-size: 12px; gap: 7px; }
.ruiwo-season-review-controls .ruiwo-season-auto-toggle[aria-pressed="true"] { color: #fff; background: #205b47; border-color: #205b47; }
.ruiwo-season-review-controls .ruiwo-season-auto-toggle[aria-pressed="true"]:hover { background: #183f32; }
.ruiwo-season-review-controls button:disabled { opacity: .35; cursor: default; }
.ruiwo-season-review-track {
  display: flex; gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory; scrollbar-width: none;
  padding: 8px 0 20px; direction: ltr;
}
.ruiwo-season-review-track::-webkit-scrollbar { display: none; }
.ruiwo-season-review-track[data-dragging="true"] { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.ruiwo-season-review-track[data-dragging="true"] * { user-select: none; }
.ruiwo-season-review-card {
  flex: 0 0 calc((100% - 18px) / 2.3); scroll-snap-align: start;
  border: 1px solid #d8e4dd; border-radius: 14px; background: #fff; padding: 25px;
  display: flex; flex-direction: column; min-width: 0; min-height: 310px;
  transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
.ruiwo-season-auto-progress { position: absolute; bottom: 6px; left: 18px; right: 18px; display: block; height: 2px; background: #e4e9e533; overflow: hidden; border-radius: 2px; }
.ruiwo-season-auto-progress::after { content: ""; display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; background: #b39761; }
[data-ruiwo-story-playing="true"] .ruiwo-season-auto-progress::after { animation: ruiwo-season-reading 7.5s linear infinite; }
@keyframes ruiwo-season-reading { to { transform: scaleX(1); } }
[data-ruiwo-story-visible="true"] .ruiwo-season-review-heading { animation: ruiwo-season-review-in .6s ease both; }
@keyframes ruiwo-season-review-in { from { opacity: .6; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (hover: hover) and (pointer: fine) {
  .ruiwo-season-review-track { cursor: grab; }
  .ruiwo-season-review-track a { cursor: pointer; }
  .ruiwo-season-review-card:hover, .ruiwo-season-review-card:focus-within { transform: translateY(-3px); border-color: #98b6a5; box-shadow: 0 8px 18px #193e310b; }
  .ruiwo-season-review-track[data-dragging="true"] .ruiwo-season-review-card { transform: none; }
}
.ruiwo-season-card-heading { display: flex; gap: 13px; align-items: center; margin-bottom: 22px; }
.ruiwo-season-card-number { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #edf3ef; color: #205b47; font-size: 12px; flex-shrink: 0; }
.ruiwo-season-card-heading h3 { font: 700 14px/1.4 Arial, sans-serif; margin: 0 0 4px; letter-spacing: normal; }
.ruiwo-season-card-heading p { font-size: 11px; line-height: 1.5; color: #66717c; margin: 0; }
.ruiwo-season-quote { font: 500 24px/1.35 Georgia, "Times New Roman", serif; letter-spacing: -.02em; margin: 0 0 16px; padding: 0; border: 0; color: #17202a; }
.ruiwo-season-summary { font-size: 13px; line-height: 1.8; color: #66717c; margin: 0 0 24px; }
.ruiwo-season-card-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid #e4e9e5; display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 10px; color: #66717c; }
.ruiwo-season-story-link { white-space: nowrap; color: #205b47; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; padding-block: 8px; }
.ruiwo-season-review-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 20px; }
.ruiwo-season-review-count { font-size: 12px; color: #66717c; }
.ruiwo-season-all-stories { color: #205b47; font-size: 13px; line-height: 1.6; text-decoration: underline; text-underline-offset: 5px; padding-block: 8px; }
.ruiwo-season-reviews :focus-visible { outline: 3px solid #ba945e; outline-offset: 3px; }
body[data-ruiwo-season="christmas"] .ruiwo-season-reviews { border-top-color: #dbcaa7; background: #fafbf8; }
body[data-ruiwo-season="christmas"] .ruiwo-season-eyebrow { color: #9d302a; }
@media (max-width: 850px) {
  .ruiwo-season-review-card { flex-basis: calc((100% - 18px) / 1.5); }
  .ruiwo-season-review-heading { display: block; }
  .ruiwo-season-intro { max-width: 560px; margin-top: 20px; }
  .ruiwo-season-reviews h2 { font-size: 38px; }
}
@media (min-width: 701px) {
  /* Keep the original buying terms clear of the original slideshow controls. */
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] { height: auto; min-height: 0; max-height: none; }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-slides { position: relative; display: grid; }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-slide { position: relative; inset: auto; grid-area: 1 / 1; min-width: 0; }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-content { height: auto; min-height: 640px; padding-block: 72px 110px; }
}
@media (max-width: 700px) {
  .ruiwo-season-banner { padding: 8px 16px; gap: 16px; font-size: 10px; }
  .ruiwo-season-banner-copy { display: none; }
  /* Preserve every slide's content while allowing the shared row to grow beyond the original 560px cap.
     The site's opacity, visibility and pointer-event rules still control the active slide. */
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] {
    height: auto;
    min-height: 0;
    max-height: none;
  }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-slides {
    position: relative;
    display: grid;
  }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-slide {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    min-width: 0;
  }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-content {
    height: auto;
    min-height: 560px;
    padding-block: 66px 90px;
    justify-content: flex-start;
    align-items: flex-start;
  }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-copy {
    display: block;
  }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] .hero-shade {
    background: linear-gradient(180deg, rgba(6,12,17,.68), rgba(6,12,17,.62) 65%, rgba(6,12,17,.76)) !important;
  }
  body[data-ruiwo-season="christmas"] .hero.hero-carousel[data-hero-carousel] [data-ruiwo-season-hero="christmas"] .hero-shade {
    background: linear-gradient(180deg, rgba(13,35,28,.72), rgba(13,35,28,.59) 65%, rgba(13,35,28,.76)) !important;
  }
}
@media (max-width: 600px) {
  .ruiwo-season-snow { display: none; }
  .ruiwo-season-reviews { padding: 34px 0; }
  .ruiwo-season-shell { width: calc(100% - 32px); }
  .ruiwo-season-reviews h2 { font-size: 34px; }
  .ruiwo-season-review-card { flex-basis: 91%; padding: 22px; }
  .ruiwo-season-review-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; }
  .ruiwo-season-review-controls { align-self: flex-end; }
  .ruiwo-season-review-note { font-size: 11px; }
  .ruiwo-season-review-bottom { flex-wrap: wrap; gap: 12px; }
  .ruiwo-season-quote { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .ruiwo-season-snow { display: none; }
  .ruiwo-season-flake { animation: none; }
  .ruiwo-season-review-track { scroll-behavior: auto; }
  .ruiwo-season-reviews *, .ruiwo-season-reviews *::after,
  body[data-ruiwo-season="christmas"] .hero.hero-carousel * { animation: none !important; transition: none !important; }
  .ruiwo-season-review-card:hover,
  .ruiwo-season-review-card:focus-within,
  .ruiwo-season-review-controls button:active:not(:disabled) { transform: none; }
}

/* Ruiwo English homepage UI polish. Load after the original storefront/mobile CSS.
   The owner-controlled body attribute is the complete rollback switch.
   Keep the original DOM, text, links, handlers, aria states, hidden rules and header layout.
   Original header styles: bundle-ff3284846026.css (storefront.css section),
   with the phone grid supplied by mobile-tail-full-1462.css at max-width:760px. */
body[data-ruiwo-ui-polish="true"] {
  --rwui-green: #205b47;
  --rwui-green-deep: #173f32;
  --rwui-soft: #edf5ef;
  --rwui-line: #cfddd4;
  --rwui-ease: cubic-bezier(.2,.65,.3,1);
  --rwui-icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");
  --rwui-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E");
  --rwui-icon-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c-5 5-5 13 0 18M12 3c5 5 5 13 0 18'/%3E%3C/svg%3E");
  --rwui-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --rwui-icon-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4H5v17h14V4h-3M8 3h8v4H8zM8 12h8M8 16h5'/%3E%3C/svg%3E");
  --rwui-icon-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a8.5 8.5 0 0 1-12.2 7.6L3 21l1.9-4.8A8.5 8.5 0 1 1 20 11.5Z'/%3E%3Cpath d='M8 10h7M8 14h4'/%3E%3C/svg%3E");
  --rwui-icon-prev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12H4m7-7-7 7 7 7'/%3E%3C/svg%3E");
  --rwui-icon-next: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-7-7 7 7-7 7'/%3E%3C/svg%3E");
  --rwui-icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 4 12 8-12 8Z'/%3E%3C/svg%3E");
  --rwui-icon-pause: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M8 5v14M16 5v14'/%3E%3C/svg%3E");
  --rwui-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
}

/* Header controls: dimensions and finish only; retain all existing responsive containers. */
body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa,#rwux-menu-toggle,.rwux-store-language summary) {
  box-sizing: border-box;
  min-height: 44px;
  min-width: 0;
  border: 1px solid var(--rwui-line);
  border-radius: 11px;
  gap: 7px;
  line-height: 1.35;
  font-weight: 600;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s var(--rwui-ease);
}
body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  text-decoration: none;
}
body[data-ruiwo-ui-polish="true"] #rwux-store-header .rwux-store-quote {
  border-color: var(--rwui-green);
  background: var(--rwui-green);
  color: #fff;
  box-shadow: inset 0 1px 0 #ffffff16, 0 2px 5px #173f3210;
}
body[data-ruiwo-ui-polish="true"] #rwux-store-header .rwux-store-wa {
  border-color: #c9dfd0;
  background: var(--rwui-soft);
  color: var(--rwui-green);
}
body[data-ruiwo-ui-polish="true"] #rwux-store-header #rwux-menu-toggle {
  padding: 10px 12px;
  background: #fff;
  color: var(--rwui-green);
}
body[data-ruiwo-ui-polish="true"] #rwux-menu-toggle:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body[data-ruiwo-ui-polish="true"] #rwux-store-header .rwux-store-language summary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  padding: 10px 8px;
  background: #fff;
  color: var(--rwui-green);
  list-style: none;
}
body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::-webkit-details-marker { display: none; }
body[data-ruiwo-ui-polish="true"] #rwux-menu-toggle[aria-expanded="true"],
body[data-ruiwo-ui-polish="true"] .rwux-store-language[open] summary {
  background: var(--rwui-soft);
  border-color: #a9c4b4;
}

/* Empty masked pseudo-elements are decoration; original visible text and accessible names remain. */
body[data-ruiwo-ui-polish="true"] #rwux-menu-toggle::before,
body[data-ruiwo-ui-polish="true"] .rwux-store-quote::before,
body[data-ruiwo-ui-polish="true"] .rwux-store-wa::before,
body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::before,
body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::after,
body[data-ruiwo-ui-polish="true"] .hero-arrow > span[aria-hidden="true"]::before,
body[data-ruiwo-ui-polish="true"] .rw-hero-pause::before,
body[data-ruiwo-ui-polish="true"] .ruiwo-season-review-controls button::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  background: currentColor;
  -webkit-mask: var(--rwui-icon) center / contain no-repeat;
  mask: var(--rwui-icon) center / contain no-repeat;
  pointer-events: none;
}
body[data-ruiwo-ui-polish="true"] #rwux-menu-toggle { --rwui-icon: var(--rwui-icon-menu); }
body[data-ruiwo-ui-polish="true"] .rwux-store-quote { --rwui-icon: var(--rwui-icon-quote); }
body[data-ruiwo-ui-polish="true"] .rwux-store-wa { --rwui-icon: var(--rwui-icon-chat); }
body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::before { --rwui-icon: var(--rwui-icon-globe); }
body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::after {
  --rwui-icon: var(--rwui-icon-chevron);
  width: 10px;
  height: 10px;
  flex-basis: 10px;
  transition: transform .18s var(--rwui-ease);
}
body[data-ruiwo-ui-polish="true"] .rwux-store-language[open] summary::after { transform: rotate(180deg); }

/* Navigation uses one quiet line; no changes to menu opening, visibility or layout. */
body[data-ruiwo-ui-polish="true"] #rwux-main-nav > a { position: relative; text-decoration: none; }
body[data-ruiwo-ui-polish="true"] #rwux-main-nav > a::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 3px;
  height: 1px;
  background: var(--rwui-green);
  opacity: 0;
  transform: scaleX(.45);
  transform-origin: left center;
  transition: opacity .18s ease, transform .18s var(--rwui-ease);
  pointer-events: none;
}
body[data-ruiwo-ui-polish="true"] #rwux-main-nav > a:is([aria-current="page"],:focus-visible)::after { opacity: 1; transform: scaleX(1); }
body[data-ruiwo-ui-polish="true"] .rwux-store-language nav {
  padding: 7px;
  border: 1px solid #dce6df;
  border-radius: 11px;
  box-shadow: 0 12px 28px #173e3018;
}
body[data-ruiwo-ui-polish="true"] .rwux-store-language[open] nav { animation: ruiwo-ui-menu-in .16s ease both; }
@keyframes ruiwo-ui-menu-in { from { opacity: .4; transform: translateY(4px); } to { opacity: 1; transform: none; } }
body[data-ruiwo-ui-polish="true"] .rwux-store-language nav a {
  border-radius: 6px;
  transition: background-color .16s ease, color .16s ease;
}
body[data-ruiwo-ui-polish="true"] .rwux-store-language nav a:is([aria-current="page"],:focus-visible) { background: var(--rwui-soft); color: var(--rwui-green); }

/* Original hero and new story controls share a thin icon language. */
body[data-ruiwo-ui-polish="true"] :is(.hero-arrow,.rw-hero-pause) {
  min-height: 44px;
  border-radius: 11px !important; /* Original .hero-arrow uses an important pill radius. */
  gap: 8px;
  border-color: #ffffff66;
  box-shadow: inset 0 1px 0 #ffffff0d;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body[data-ruiwo-ui-polish="true"] .rw-hero-pause:not([hidden]) { display: inline-flex; align-items: center; justify-content: center; }
body[data-ruiwo-ui-polish="true"] .hero-arrow > span[aria-hidden="true"] {
  display: inline-flex;
  width: 17px;
  height: 17px;
  align-items: center;
  justify-content: center;
  font-size: 0;
  flex-shrink: 0;
}
body[data-ruiwo-ui-polish="true"] .hero-arrow-prev,
body[data-ruiwo-ui-polish="true"] .ruiwo-season-review-controls button[aria-label="Previous buyer story"] { --rwui-icon: var(--rwui-icon-prev); }
body[data-ruiwo-ui-polish="true"] .hero-arrow-next,
body[data-ruiwo-ui-polish="true"] .ruiwo-season-review-controls button[aria-label="Next buyer story"] { --rwui-icon: var(--rwui-icon-next); }
body[data-ruiwo-ui-polish="true"] .rw-hero-pause { --rwui-icon: var(--rwui-icon-pause); }
body[data-ruiwo-ui-polish="true"] .rw-hero-pause[aria-pressed="true"] { --rwui-icon: var(--rwui-icon-play); }
body[data-ruiwo-ui-polish="true"] .ruiwo-season-auto-toggle { --rwui-icon: var(--rwui-icon-play); }
body[data-ruiwo-ui-polish="true"] .ruiwo-season-auto-toggle[aria-pressed="true"] { --rwui-icon: var(--rwui-icon-pause); }
body[data-ruiwo-ui-polish="true"] .ruiwo-season-review-controls button { border-radius: 11px; }
body[data-ruiwo-ui-polish="true"] .ruiwo-season-review-controls button:not(.ruiwo-season-auto-toggle) { font-size: 0; }
body[data-ruiwo-ui-polish="true"] .ruiwo-season-review-controls .ruiwo-season-auto-toggle { min-width: 96px; gap: 7px; padding-inline: 13px; border-radius: 11px; }

/* Keep existing card/image hover effects. Align only the original cards' content and links. */
body[data-ruiwo-ui-polish="true"] .button { border-radius: 10px; }
body[data-ruiwo-ui-polish="true"] .hero-actions .button { min-height: 46px; font-size: 13px; }
body[data-ruiwo-ui-polish="true"] .button:active { transform: translateY(0) scale(.98); }
body[data-ruiwo-ui-polish="true"] .featured-section .product-card { display: flex; flex-direction: column; }
body[data-ruiwo-ui-polish="true"] .featured-section .product-card > .product-image { flex-shrink: 0; }
body[data-ruiwo-ui-polish="true"] .featured-section .product-copy { display: flex; flex-direction: column; flex: 1; }
body[data-ruiwo-ui-polish="true"] .featured-section .product-copy .text-link { margin-top: auto; padding-top: 18px; align-self: flex-start; min-height: 44px; }
body[data-ruiwo-ui-polish="true"] :is(.hero-actions .button,.product-copy .text-link) > span[aria-hidden="true"] {
  display: inline-block;
  transition: transform .18s var(--rwui-ease);
}
body[data-ruiwo-ui-polish="true"] :is(.hero-actions .button,.product-copy .text-link):focus-visible > span[aria-hidden="true"] { transform: translateX(3px); }
/* The image switcher applies this class only after the requested image has loaded. */
body[data-ruiwo-ui-polish="true"] .product-image img.ruiwo-ui-image-changed { animation: ruiwo-ui-image-clarify .22s ease both; }
@keyframes ruiwo-ui-image-clarify {
  from { opacity: .65; }
  to { opacity: 1; }
}

/* Color and customization controls keep their labels and aria-pressed semantics. */
body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) { gap: 7px; flex-wrap: wrap; }
body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #ccd9d1;
  border-radius: 10px;
  background: #fff;
  color: var(--rwui-green);
  font-size: 12px;
  line-height: 1.3;
  transition: background-color .17s ease, border-color .17s ease, box-shadow .17s ease;
}
body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) button::after {
  content: "";
  display: inline-block;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  opacity: 0;
  background: currentColor;
  -webkit-mask: var(--rwui-icon-check) center / contain no-repeat;
  mask: var(--rwui-icon-check) center / contain no-repeat;
  transition: opacity .17s ease;
  pointer-events: none;
}
body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) button[aria-pressed="true"] {
  background: var(--rwui-green);
  border-color: var(--rwui-green);
  color: #fff;
  box-shadow: 0 0 0 2px #205b4710;
}
body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) button[aria-pressed="true"]::after { opacity: 1; }

@media (hover: hover) and (pointer: fine) {
  body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa,#rwux-menu-toggle,.rwux-store-language summary):hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 12px #173f3212;
  }
  body[data-ruiwo-ui-polish="true"] #rwux-store-header .rwux-store-quote:hover { background: var(--rwui-green-deep); border-color: var(--rwui-green-deep); }
  body[data-ruiwo-ui-polish="true"] #rwux-store-header .rwux-store-wa:hover { background: #e0eee4; border-color: #a9c7b4; }
  body[data-ruiwo-ui-polish="true"] #rwux-main-nav > a:hover::after { opacity: 1; transform: scaleX(1); }
  body[data-ruiwo-ui-polish="true"] .rwux-store-language nav a:hover { background: var(--rwui-soft); color: var(--rwui-green); }
  body[data-ruiwo-ui-polish="true"] :is(.hero-arrow,.rw-hero-pause):hover { border-color: #ffffffbb; box-shadow: inset 0 1px 0 #ffffff20, 0 3px 12px #071b1820; }
  body[data-ruiwo-ui-polish="true"] :is(.hero-actions .button,.product-copy .text-link):hover > span[aria-hidden="true"] { transform: translateX(3px); }
  body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) button:not([aria-pressed="true"]):hover { background: var(--rwui-soft); border-color: #9fbda9; }
}
body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa,#rwux-menu-toggle,.rwux-store-language summary):active { transform: translateY(0); box-shadow: inset 0 1px 3px #173f321a; }

/* Retain the existing <=760px three-column phone actions grid and its 48px controls. */
@media (max-width: 1023px) {
  body[data-ruiwo-ui-polish="true"] #rwux-menu-toggle[aria-expanded="true"] { --rwui-icon: var(--rwui-icon-close); }
}
@media (max-width: 760px) {
  body[data-ruiwo-ui-polish="true"] .hero-actions .button { font-size: 12px; }
  body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa,.rwux-store-language summary) { min-height: 48px; }
  body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa) { padding: 8px 6px; white-space: normal; min-width: 0; }
}
@media (max-width: 480px) {
  body[data-ruiwo-ui-polish="true"] .rwux-store-quote::before,
  body[data-ruiwo-ui-polish="true"] .rwux-store-wa::before { display: none; }
  body[data-ruiwo-ui-polish="true"] #rwux-store-header .rwux-store-language summary { min-width: 60px; padding-inline: 6px; gap: 5px; }
  body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::after { display: none; }
  body[data-ruiwo-ui-polish="true"] #rwux-store-header #rwux-menu-toggle { padding-inline: 10px; gap: 6px; }
  body[data-ruiwo-ui-polish="true"] .rw-card-variants { gap: 5px; }
  body[data-ruiwo-ui-polish="true"] .rw-card-variants button { padding-inline: 8px; gap: 4px; font-size: 11px; }
}

/* No new movement when the reader requests reduced motion. Keep visible state changes. */
@media (prefers-reduced-motion: reduce) {
  body[data-ruiwo-ui-polish="true"] .rwux-store-language[open] nav { animation: none !important; transform: none; }
  body[data-ruiwo-ui-polish="true"] .button,
  body[data-ruiwo-ui-polish="true"] #rwux-store-header :is(.rwux-store-quote,.rwux-store-wa,#rwux-menu-toggle,.rwux-store-language summary),
  body[data-ruiwo-ui-polish="true"] .rwux-store-language summary::after,
  body[data-ruiwo-ui-polish="true"] #rwux-main-nav > a::after,
  body[data-ruiwo-ui-polish="true"] :is(.hero-actions .button,.product-copy .text-link) > span[aria-hidden="true"] {
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  body[data-ruiwo-ui-polish="true"] :is(.hero-arrow,.rw-hero-pause,.ruiwo-season-review-controls button,.rw-card-variants button,.rw-detail-tabs button,.rwux-store-language nav a),
  body[data-ruiwo-ui-polish="true"] :is(.rw-card-variants,.rw-detail-tabs) button::after {
    transition: none !important;
    animation: none !important;
  }
  body[data-ruiwo-ui-polish="true"] .product-image img.ruiwo-ui-image-changed { animation: none !important; opacity: 1; }
}

/* Ruiwo public inner-page details. Load after the original styles and ui-polish.css.
   The owner's body attribute is the rollback switch. This file changes no layout,
   visibility, disabled/ARIA behavior, form submission, or private workspace controls.
   No entrance animations: original product motion and loading states remain intact. */
body[data-ruiwo-ui-polish="true"] {
  --rwip-green: #205b47;
  --rwip-soft: #edf5ef;
  --rwip-line: #a8c1b2;
  --rwip-focus: #b67914;
}

/* Existing public CTAs use several component names across the legacy templates.
   Keep their colors, dimensions, wrapping and display rules; refine the finish only. */
body[data-ruiwo-ui-polish="true"] :is(.hub-button,.rwseo-btn,.factory-primary-cta,.factory-secondary-cta,.rwbc-site-video__button,.rwux-primary,.rwux-product-choice button,.rwux-product-mobile [data-rwux-product-add],.rwux-variant-dialog [data-confirm],#inquiryForm #submitInquiry) {
  box-sizing: border-box;
  min-height: 44px;
  border-radius: 10px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body[data-ruiwo-ui-polish="true"] :is(.hub-button,.rwseo-btn,.factory-primary-cta,.factory-secondary-cta,.rwbc-site-video__button,.rwux-product-choice button,.rwux-variant-dialog [data-confirm],#inquiryForm #submitInquiry):not(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"],[hidden]):not([aria-busy="true"] *):active {
  box-shadow: inset 0 2px 4px #102b231f;
}

/* Catalog navigation: the existing tablist, tabpanels and filter disclosure retain
   their keyboard handlers, hidden states, grids and mobile overflow behavior. */
body[data-ruiwo-ui-polish="true"] .rw-category-tabs [role="tab"] {
  min-height: 44px;
  border-radius: 9px;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body[data-ruiwo-ui-polish="true"] .rw-category-tabs [role="tab"][aria-selected="true"] {
  background: var(--rwip-green);
  color: #fff;
  border-color: var(--rwip-green);
  box-shadow: inset 0 1px 0 #ffffff16;
}
body[data-ruiwo-ui-polish="true"] .rw-category-tabpanel a {
  min-height: 44px;
  border-radius: 8px;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}
body[data-ruiwo-ui-polish="true"] :is(.rw-category-filter-panel,.rw-browse-more) > summary {
  min-height: 44px;
  border-radius: 8px;
  transition: color .16s ease, background-color .16s ease;
}
body[data-ruiwo-ui-polish="true"] .rw-category-actions > button[type="submit"] {
  border-radius: 10px;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body[data-ruiwo-ui-polish="true"] :is(.rw-category-actions > a,.customer-case-link,.rwux-care-text-link) {
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
body[data-ruiwo-ui-polish="true"] .rwux-audit-pages a {
  min-height: 44px;
  min-width: 44px;
  border-radius: 9px;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body[data-ruiwo-ui-polish="true"] .rwux-audit-pages a[aria-current="page"] {
  color: #fff;
  background: var(--rwip-green);
  border-color: var(--rwip-green);
  box-shadow: inset 0 1px 0 #ffffff16;
}

/* Product imagery stays still. Selection is indicated by a border and soft ring,
   leaving the original gallery dimensions, scrolling and image swaps untouched. */
body[data-ruiwo-ui-polish="true"] .product-gallery__thumb[data-gallery-thumb] {
  border-radius: 10px;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
body[data-ruiwo-ui-polish="true"] .product-gallery__thumb[data-gallery-thumb][aria-pressed="true"] {
  border-color: var(--rwip-green);
  box-shadow: 0 0 0 2px #205b4726;
}
body[data-ruiwo-ui-polish="true"] .catalog-product-card__actions :is(.catalog-card-detail,.catalog-card-inquiry) {
  border-radius: 10px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body[data-ruiwo-ui-polish="true"] .catalog-directory__card {
  transition: border-color .18s ease, box-shadow .18s ease;
}

/* Explicit public inputs only: no checkbox/radio/file/range/password/hidden fields
   and no honeypot. Native select arrows, text direction and validation remain. */
body[data-ruiwo-ui-polish="true"] [data-rw-browse-form] :is(input[type="search"],select),
body[data-ruiwo-ui-polish="true"] #inquiryForm :is([name="name"],[name="country"],[name="email"],[name="whatsapp"],[name="quantity"],[name="message"],[name="company"],[name="businessType"],[name="salesChannel"],[name="targetPrice"],[name="targetDelivery"]),
body[data-ruiwo-ui-polish="true"] .rwux-quantity-price input[type="number"],
body[data-ruiwo-ui-polish="true"] .rwux-variant-dialog :is(input[type="number"],input[type="search"],select) {
  border-radius: 9px;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
body[data-ruiwo-ui-polish="true"] [data-rw-browse-form] :is(input[type="search"],select):not(:disabled,[aria-disabled="true"],[aria-invalid="true"]):focus-visible,
body[data-ruiwo-ui-polish="true"] #inquiryForm :is([name="name"],[name="country"],[name="email"],[name="whatsapp"],[name="quantity"],[name="message"],[name="company"],[name="businessType"],[name="salesChannel"],[name="targetPrice"],[name="targetDelivery"]):not(:disabled,[aria-disabled="true"],[aria-invalid="true"]):focus-visible,
body[data-ruiwo-ui-polish="true"] .rwux-quantity-price input[type="number"]:not(:disabled,[aria-disabled="true"],[aria-invalid="true"]):focus-visible,
body[data-ruiwo-ui-polish="true"] .rwux-variant-dialog :is(input[type="number"],input[type="search"],select):not(:disabled,[aria-disabled="true"],[aria-invalid="true"]):focus-visible {
  border-color: var(--rwip-green);
  outline: 2px solid var(--rwip-focus);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px #205b4712;
}
body[data-ruiwo-ui-polish="true"] #inquiryForm [aria-invalid="true"],
body[data-ruiwo-ui-polish="true"] .rwux-variant-dialog [aria-invalid="true"] {
  border-color: #a33128;
  box-shadow: 0 0 0 2px #a3312812;
}
body[data-ruiwo-ui-polish="true"] :is(.hub-button,.rwseo-btn,.factory-primary-cta,.factory-secondary-cta,.rwbc-site-video__button,.rwux-primary,.rwux-product-choice button,.rwux-product-mobile [data-rwux-product-add],.rwux-variant-dialog [data-confirm],#inquiryForm #submitInquiry,.rw-category-tabs [role="tab"],.rw-category-tabpanel a,.rw-category-actions > a,.rwux-audit-pages a,.catalog-product-card__actions .catalog-card-detail,.catalog-product-card__actions .catalog-card-inquiry,.product-gallery__thumb[data-gallery-thumb],.catalog-directory__card):focus-visible {
  outline: 3px solid var(--rwip-focus);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  body[data-ruiwo-ui-polish="true"] :is(.hub-button,.rwseo-btn,.factory-primary-cta,.factory-secondary-cta,.rwbc-site-video__button,.rwux-product-choice button,.rwux-variant-dialog [data-confirm],#inquiryForm #submitInquiry):not(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"],[hidden]):not([aria-busy="true"] *):hover {
    box-shadow: 0 4px 10px #173f321c;
  }
  body[data-ruiwo-ui-polish="true"] .rw-category-tabs [role="tab"]:not([aria-selected="true"],:disabled,[aria-disabled="true"]):hover,
  body[data-ruiwo-ui-polish="true"] .rw-category-tabpanel a:not([aria-disabled="true"]):hover,
  body[data-ruiwo-ui-polish="true"] .rwux-audit-pages a:not([aria-current="page"],[aria-disabled="true"]):hover {
    background: var(--rwip-soft);
    color: var(--rwip-green);
    border-color: var(--rwip-line);
  }
  body[data-ruiwo-ui-polish="true"] :is(.rw-category-filter-panel,.rw-browse-more) > summary:hover { color: var(--rwip-green); }
  body[data-ruiwo-ui-polish="true"] .product-gallery__thumb[data-gallery-thumb]:not([aria-pressed="true"],:disabled,[aria-disabled="true"]):hover {
    border-color: var(--rwip-line);
    box-shadow: 0 0 0 2px #205b4712;
  }
  body[data-ruiwo-ui-polish="true"] .catalog-product-card__actions :is(.catalog-card-detail,.catalog-card-inquiry):not(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"],[hidden]):not([aria-busy="true"] *):hover {
    box-shadow: 0 3px 8px #173f3218;
  }
  body[data-ruiwo-ui-polish="true"] .catalog-directory__card:hover { border-color: var(--rwip-line); box-shadow: 0 5px 15px #173f3212; }
}

/* Legacy catalog rules force disabled buttons fully opaque. Restore their existing
   disabled cue without changing click handling, pointer events or loading text. */
body[data-ruiwo-ui-polish="true"] .rwux-audit-catalog .catalog-product-card__actions .catalog-card-inquiry:is(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"]) {
  opacity: .6 !important;
  cursor: default !important;
  box-shadow: none !important;
}
body[data-ruiwo-ui-polish="true"] :is(.rw-category-tabs [role="tab"],.rw-category-tabpanel a,.rwux-audit-pages a,.product-gallery__thumb[data-gallery-thumb],.rwux-product-choice button,.rwux-variant-dialog [data-confirm],#inquiryForm #submitInquiry):is(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"]) {
  box-shadow: none;
  transition: none;
}

/* No directional arrows or horizontal translations are introduced. Logical source
   spacing and native RTL input direction continue to work across site languages. */
@media (prefers-reduced-motion: reduce) {
  body[data-ruiwo-ui-polish="true"] :is(.hub-button,.rwseo-btn,.factory-primary-cta,.factory-secondary-cta,.rwbc-site-video__button,.rwux-primary,.rwux-product-choice button,.rwux-product-mobile [data-rwux-product-add],.rwux-variant-dialog [data-confirm],#inquiryForm #submitInquiry,.rw-category-tabs [role="tab"],.rw-category-tabpanel a,.rw-category-filter-panel > summary,.rw-browse-more > summary,.rw-category-actions > button[type="submit"],.rwux-audit-pages a,.product-gallery__thumb[data-gallery-thumb],.catalog-product-card__actions .catalog-card-detail,.catalog-product-card__actions .catalog-card-inquiry,.catalog-directory__card),
  body[data-ruiwo-ui-polish="true"] [data-rw-browse-form] :is(input[type="search"],select),
  body[data-ruiwo-ui-polish="true"] #inquiryForm :is([name="name"],[name="country"],[name="email"],[name="whatsapp"],[name="quantity"],[name="message"],[name="company"],[name="businessType"],[name="salesChannel"],[name="targetPrice"],[name="targetDelivery"]),
  body[data-ruiwo-ui-polish="true"] .rwux-quantity-price input[type="number"],
  body[data-ruiwo-ui-polish="true"] .rwux-variant-dialog :is(input[type="number"],input[type="search"],select) {
    transition: none !important;
  }
}
