/* C BRIDGE DRAFT ONLY. Recheck against the final independently approved B SHA.
   Enqueue after every B stylesheet; preserve native banner PHP/JS and admin data. */
:root {
  --moyo-ink: #1c2640;
  --moyo-muted: #65718a;
  --moyo-brand: #3852b9;
  --moyo-line: #dbe2ef;
  --moyo-c-navy: #142560;
  --moyo-c-body: #46516a;
  --moyo-c-paper: #f8faff;
  --moyo-c-pale: #edf2ff;
  --moyo-c-line-dark: #bbc6db;
  --moyo-c-container: 1260px;
  --moyo-c-section: 78px;
  --moyo-c-radius: 4px;
  --moyo-c-title: 700 clamp(30px, 3vw, 40px)/1.24 var(--moyo-font-family);
  --moyo-c-section-title: 700 clamp(24px, 2.5vw, 32px)/1.3 var(--moyo-font-family);
  --moyo-c-card-title: 600 16px/1.45 var(--moyo-font-family);
  --moyo-c-body-type: 400 15px/1.6 var(--moyo-font-family);
  --moyo-c-label: 600 14px/1.4 var(--moyo-font-family);
  --moyo-c-caption: 500 12px/1.45 var(--moyo-font-family);
}

body { color: var(--moyo-ink); font: var(--moyo-c-body-type); }
body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--moyo-brand);
  outline-offset: 3px;
}
.site-header { border-bottom-color: var(--moyo-line); }
.site-header__main.site-width,
.site-header__nav-row .site-width,
.moyomall-home > .site-width,
.moyomall-page.site-width,
.moyomall-woocommerce.site-width,
.moyomall-search-results.site-width,
.site-footer__grid { width: min(var(--moyo-c-container), calc(100% - 64px)); }
.site-header__main.site-width { min-height: 82px; }
.site-header__main .site-logo { width: 147px; }
.site-header__nav-row { border-top: 1px solid var(--moyo-line); }
.site-header__nav-row .site-width { min-height: 51px; }
.site-header__primary .nav-menu,
.site-header__secondary .nav-menu { gap: clamp(18px, 2.5vw, 38px); }
.site-header__nav-row .nav-menu a { color: var(--moyo-ink); font: var(--moyo-c-label); }
.site-header__nav-row .nav-menu a:hover,
.site-header__nav-row .nav-menu a:focus-visible { color: var(--moyo-brand); }
.site-header__nav-row .sub-menu { border-radius: var(--moyo-c-radius); }
.site-cart { color: var(--moyo-c-navy); }

/* The new H1 and selected Woo product cards come from inc/c-hero.php. */
.moyomall-home .moyomall-c-hero {
  display: grid;
  grid-template-columns: 56% 44%;
  min-height: 390px;
  margin-top: 24px;
  overflow: hidden;
  background: var(--moyo-c-navy);
}
.moyomall-c-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 45px clamp(36px, 5vw, 70px); color: #fff; }
.moyomall-c-hero__copy h1 { max-width: 600px; margin: 0; color: #fff; font: 700 clamp(36px, 4vw, 58px)/1.18 var(--moyo-font-family); letter-spacing: -.04em; word-break: keep-all; }
.moyomall-c-hero__copy p { max-width: 490px; margin: 17px 0 0; color: #d8e1fd; font: var(--moyo-c-body-type); }
.moyomall-c-hero__shop-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; min-height: 48px; margin-top: 24px; padding: 11px 17px; border-radius: var(--moyo-c-radius); background: #fff; color: var(--moyo-c-navy); font: var(--moyo-c-label); }
.moyomall-c-hero__shop-link:hover { background: #e6ebff; color: var(--moyo-c-navy); }
.moyomall-c-hero__products { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 12px; padding: 25px; border-left: 1px solid #cbd6f1; background: var(--moyo-c-pale); }
.moyomall-c-hero__product { display: flex; min-width: 0; min-height: 310px; flex-direction: column; padding: 12px; border: 1px solid #c9d3e9; background: #fff; color: var(--moyo-ink); }
.moyomall-c-hero__product:nth-child(2) { min-height: 260px; transform: translateY(22px); }
.moyomall-c-hero__product img { width: 100%; height: 235px; min-height: 0; object-fit: contain; }
.moyomall-c-hero__product:nth-child(2) img { height: 185px; }
.moyomall-c-hero__product > span { display: flex; justify-content: space-between; gap: 5px; margin-top: auto; font: var(--moyo-c-label); word-break: keep-all; }
.moyomall-c-hero__product:is(:hover, :focus-visible) { border-color: var(--moyo-brand); color: var(--moyo-brand); }
.moyomall-c-hero.is-single .moyomall-c-hero__products { grid-template-columns: minmax(0, 270px); justify-content: center; }
.moyomall-c-hero.is-empty { grid-template-columns: 1fr; }

/* The B banner still owns the four editable WordPress images, links and controls. */
.moyomall-home .moyomall-home__banner { padding-top: 24px; padding-bottom: 0; }
.moyomall-home .moyomall-home__banner--secondary { margin-bottom: var(--moyo-c-section); padding-top: 0; }
.moyomall-home .moyeo-native-banner-slide,
.moyomall-home .moyeo-native-banner-slide img { border-radius: 0; }
.moyomall-home .moyeo-native-banner-slide img { object-fit: contain; background: var(--moyo-c-pale); }
.moyomall-home .moyeo-native-banner-slide a { background: var(--moyo-c-pale); }
.moyomall-home .moyeo-native-banner-dot.is-active { background: var(--moyo-brand); }

/* Requires the real Woo product-search form described in BRIDGE-SPEC.md. */
.moyomall-home .moyomall-home__search {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 30px;
  margin-top: 14px;
  padding: 18px 25px;
  border-top: 2px solid var(--moyo-c-navy);
  border-bottom: 1px solid var(--moyo-line);
}
.moyomall-home__search-title { margin: 0; font: var(--moyo-c-title); letter-spacing: -.035em; word-break: keep-all; }
.moyomall-home__search .woocommerce-product-search {
  display: flex;
  height: 54px;
  min-width: 0;
  border: 1px solid var(--moyo-c-line-dark);
  background: #fff;
}
.moyomall-home__search .woocommerce-product-search:focus-within { border-color: var(--moyo-brand); box-shadow: 0 0 0 3px #3852b929; }
.moyomall-home__search .woocommerce-product-search input[type="search"] { flex: 1; min-width: 0; padding: 0 18px; border: 0; outline: 0; }
.moyomall-home__search .woocommerce-product-search button { flex: none; margin: 4px; padding: 8px 16px; border: 0; border-radius: 2px; background: var(--moyo-brand); color: #fff; font: var(--moyo-c-label); }

/* Six existing editor-controlled tiles. No tile titles, links or images in CSS. */
.moyomall-home .moyomall-category-tiles {
  gap: 0;
  margin: 42px auto var(--moyo-c-section);
  padding: 0;
  border-top: 1px solid var(--moyo-c-navy);
  border-left: 1px solid var(--moyo-line);
}
.moyomall-home .moyomall-category-tile {
  min-height: 143px;
  gap: 10px;
  padding: 16px 10px;
  border-right: 1px solid var(--moyo-line);
  border-bottom: 1px solid var(--moyo-line);
  border-radius: 0;
  background: #fff;
  color: var(--moyo-ink);
  font: var(--moyo-c-card-title);
}
.moyomall-home .moyomall-category-tile:is(:hover, :focus-visible) { background: var(--moyo-c-pale); color: var(--moyo-brand); }
.moyomall-home .moyomall-category-tile img { width: 52px; height: 52px; border-radius: 0; object-fit: contain; }

/* All B carousel queries and Woo price markup remain untouched. */
.moyomall-home .moyomall-product-section { margin-bottom: var(--moyo-c-section); }
.moyomall-home .moyomall-product-section--simple > .moyomall-section-title { text-align: left; }
.moyomall-home .moyomall-section-title,
.moyomall-home .moyomall-product-section__copy h2 { color: var(--moyo-ink); font: var(--moyo-c-section-title); letter-spacing: -.034em; }
.moyomall-home .moyomall-product-section__copy p { color: var(--moyo-c-body); }
.moyomall-home .moyomall-product-section__more,
.moyomall-home .moyomall-section-heading > a { color: var(--moyo-brand); font: var(--moyo-c-label); }
.moyomall-home .moyeo-native-carousel { font-family: var(--moyo-font-family); }
.moyomall-home .moyeo-native-card { margin: 4px; border-color: var(--moyo-line); border-radius: 0; }
.moyomall-home .moyeo-native-image,
.moyomall-home .moyeo-native-image img { border-radius: 0; }
.moyomall-home .moyeo-native-image img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
.moyomall-home .moyeo-native-details { padding: 12px 13px 20px; text-align: left; }
.moyomall-home .moyeo-native-title h2,
.moyomall-home .moyeo-native-title h3,
.moyomall-home .moyeo-native-title h4 { color: var(--moyo-ink); font: var(--moyo-c-card-title); word-break: keep-all; }
.moyomall-home .moyeo-native-price { color: var(--moyo-brand); font: var(--moyo-c-label); }
.moyomall-home .moyeo-native-price :is(.amount bdi, ins .amount bdi) { color: inherit; }
.moyomall-home .moyeo-native-control { border: 1px solid var(--moyo-line); border-radius: 0; color: var(--moyo-c-navy); }

/* Editorial and support sections keep their WordPress post/KBoard output. */
.moyomall-home .moyomall-home__reviews,
.moyomall-home .moyomall-home__magazine { margin-bottom: var(--moyo-c-section); }
.moyomall-home .moyomall-section-heading { margin-bottom: 25px; padding-bottom: 16px; border-bottom: 1px solid var(--moyo-c-line-dark); }
.moyomall-home-magazine-slider__image img { border-radius: 0; }
.moyomall-home-magazine-slider__copy h3 { color: var(--moyo-ink); }
.moyomall-home-magazine-slider__copy p { color: var(--moyo-c-body); }

/* Native Woo pages: visual treatment only; notices, quantity, totals and forms stay. */
.moyomall-woocommerce .woocommerce-page-title,
.moyomall-woocommerce h1.page-title,
.moyomall-page-header h1 { color: var(--moyo-ink); font: var(--moyo-c-title); }
.moyomall-woocommerce .woocommerce ul.products li.product a img,
.moyomall-search-results .woocommerce ul.products li.product a img { border: 1px solid var(--moyo-line); background: #fff; object-fit: contain; }
.moyomall-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title,
.moyomall-search-results .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--moyo-ink); font: var(--moyo-c-card-title); }
.moyomall-woocommerce .woocommerce ul.products li.product .price,
.moyomall-search-results .woocommerce ul.products li.product .price { color: var(--moyo-brand); }
.moyomall-woocommerce .woocommerce div.product .product_title { color: var(--moyo-ink); }
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .moyomall-page { width: min(var(--moyo-c-container), calc(100% - 64px)); }
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .woocommerce :is(input.input-text, textarea, select) { border: 1px solid var(--moyo-c-line-dark); border-radius: 2px; background: #fff; color: var(--moyo-ink); }
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .woocommerce :is(button.button, a.button, input.button) { border-radius: 2px; background: var(--moyo-brand); color: #fff; }
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .woocommerce :is(button.button, a.button, input.button):hover { background: var(--moyo-c-navy); color: #fff; }
.site-footer { border-color: var(--moyo-line); background: var(--moyo-c-paper); }

@media (max-width: 1024px) {
  .site-header__main.site-width { position: relative; }
  .site-header__main .site-cart { display: block; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
  .site-mobile-menu { top: 5px; }
  .moyomall-home .moyomall-c-hero { grid-template-columns: 53% 47%; }
  .moyomall-c-hero__products { gap: 8px; padding: 16px; }
  .moyomall-c-hero__product { min-height: 260px; }
  .moyomall-c-hero__product img { height: 190px; }
  .moyomall-c-hero__product:nth-child(2) { min-height: 220px; }
  .moyomall-c-hero__product:nth-child(2) img { height: 150px; }
  .moyomall-home .moyomall-category-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .moyomall-home .moyomall-category-tile { min-height: 132px; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) { display: block; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__intro { display: flex; flex-direction: row; align-items: center; padding-top: 0; margin-bottom: 16px; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyeo-native-carousel { width: 100%; margin: 0; }
}
@media (max-width: 767px) {
  :root { --moyo-c-section: 58px; --moyo-c-card-title: 600 15px/1.45 var(--moyo-font-family); --moyo-c-title: 700 25px/1.32 var(--moyo-font-family); --moyo-c-section-title: 700 23px/1.32 var(--moyo-font-family); }
  .site-header__main.site-width,
  .moyomall-home > .site-width,
  .moyomall-page.site-width,
  .moyomall-woocommerce.site-width,
  .moyomall-search-results.site-width,
  .site-footer__grid { width: calc(100% - 36px); }
  .site-header__main.site-width { min-height: 70px; padding-block: 0; }
  .site-header__main .site-logo { width: 136px; }
  .site-mobile-menu__panel { border-radius: 0; }
  .moyomall-home .moyomall-c-hero { grid-template-columns: 1fr; min-height: 0; margin-top: 13px; }
  .moyomall-c-hero__copy { min-height: 230px; padding: 24px 27px 22px; }
  .moyomall-c-hero__copy h1 { font-size: clamp(30px, 8.4vw, 39px); line-height: 1.23; }
  .moyomall-c-hero__copy p { margin-top: 8px; }
  .moyomall-c-hero__shop-link { min-height: 46px; margin-top: 13px; }
  .moyomall-c-hero__products { min-height: 145px; grid-template-columns: 1fr 1fr; padding: 8px 31px; border-left: 0; border-top: 1px solid #cbd6f1; }
  .moyomall-c-hero__product,
  .moyomall-c-hero__product:nth-child(2) { min-height: 127px; height: 127px; padding: 5px 7px; transform: none; }
  .moyomall-c-hero__product:nth-child(2) { height: 112px; min-height: 112px; align-self: end; }
  .moyomall-c-hero__product img,
  .moyomall-c-hero__product:nth-child(2) img { flex: 1; width: 100%; height: 72px; object-fit: cover; }
  .moyomall-c-hero__product > span { font-size: 12px; line-height: 1.4; }
  .moyomall-c-hero.is-single .moyomall-c-hero__products { grid-template-columns: minmax(0, 155px); }
  .moyomall-c-hero.is-empty .moyomall-c-hero__copy { min-height: 230px; }
  .moyomall-home .moyomall-home__banner { padding-top: 13px; }
  .moyomall-home .moyomall-home__search { grid-template-columns: 1fr; gap: 10px; margin-top: 10px; padding: 13px 18px 15px; }
  .moyomall-home__search .woocommerce-product-search { height: 51px; }
  .moyomall-home__search .woocommerce-product-search input[type="search"] { padding-inline: 12px; }
  .moyomall-home .moyomall-category-tiles { gap: 0; margin-top: 30px; margin-bottom: var(--moyo-c-section); }
  .moyomall-home .moyomall-category-tile { min-height: 109px; gap: 5px; padding: 9px 5px; font: var(--moyo-c-label); }
  .moyomall-home .moyomall-category-tile img { width: 42px; height: 42px; }
  .moyomall-home .moyomall-product-section__intro { flex-wrap: wrap; }
  .moyomall-home .moyomall-product-section__more { margin-top: 0; }
  .moyomall-home .moyeo-native-card { margin: 3px; }
  .moyomall-home .moyeo-native-details { padding: 9px 9px 16px; }
  .moyomall-home .moyomall-section-heading { margin-bottom: 19px; }
  body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .moyomall-page { width: calc(100% - 36px); }
}
@media (prefers-reduced-motion: reduce) {
  .moyomall-home .moyeo-native-banner-track,
  .moyomall-home .moyeo-native-track { transition-duration: 0ms; }
}

/* C25: equal card geometry without clipping product names or prices. */
.moyomall-home .moyeo-native-track { align-items: stretch; }
.moyomall-home .moyeo-native-slide { display: flex; }
.moyomall-home .moyeo-native-card { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.moyomall-home .moyeo-native-image { flex-shrink: 0; }
.moyomall-home .moyeo-native-details { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.moyomall-home .moyeo-native-title { flex: 1; }
.moyomall-home .moyeo-native-price { margin-top: auto; min-height: 2.8em; flex-shrink: 0; }

/* C0.2.5 scoped proposal. Append after C bridge; reviewed source only.
 * Typography: reuse the six C roles, add product-heading and numeric-price roles.
 * Native Woo select, variation callbacks, quantity and submit behavior are retained.
 */
:root {
  --moyo-c-product-heading: 700 28px/1.32 var(--moyo-font-family);
  --moyo-c-price-display: 600 26px/1.35 var(--moyo-font-family);
}

/* Native category cards: square image, complete title, aligned price, visible actions. */
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product {
  border-color: var(--moyo-line);
  border-radius: var(--moyo-c-radius);
}
.moyomall-page--category .moyeo-native-grid .eael-product-wrap {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.moyomall-page--category .moyeo-native-grid .product-image-wrap { flex-shrink: 0; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .image-wrap img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
}
.moyomall-page--category .moyeo-native-grid .image-hover-wrap { height: auto; }
.moyomall-page--category .moyeo-native-grid .icons-wrap {
  position: static;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 8px;
  margin: 0;
  padding: 10px 12px;
  opacity: 1;
  transform: none;
  transition: none;
}
.moyomall-page--category .moyeo-native-grid .icons-wrap li {
  display: flex;
  flex: 0 0 auto;
  min-width: 0;
}
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--moyo-line);
  border-radius: var(--moyo-c-radius);
  background: #fff;
  color: var(--moyo-c-navy);
  font: var(--moyo-c-label);
  white-space: nowrap;
  text-align: center;
}
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap .add-to-cart a {
  padding-inline: 12px;
  border-color: var(--moyo-c-line-dark);
}
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap a:hover {
  border-color: var(--moyo-brand);
  background: var(--moyo-c-pale);
  color: var(--moyo-brand);
}
.moyomall-page--category .moyeo-native-grid .product-details-wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 4px 16px 20px;
}
.moyomall-page--category .moyeo-native-grid .eael-product-title { flex: 1; }
/* Earlier B parity declares category font-size !important; override only this role. */
.moyomall-page--category .moyeo-native-grid .eael-product-title :is(h2, h3, h4) {
  margin: 0;
  padding: 0 0 12px;
  color: var(--moyo-ink);
  font: var(--moyo-c-card-title) !important;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.moyomall-page--category .moyeo-native-grid .eael-product-price {
  min-height: 2.8em;
  margin-top: auto;
  margin-bottom: 0;
  color: var(--moyo-brand);
  font: var(--moyo-c-label);
}

/* Detail: use actual main wrapper, which has no nested .woocommerce element. */
body.single-product .moyomall-woocommerce {
  width: min(var(--moyo-c-container), calc(100% - 64px));
  padding-top: 40px;
}
body.single-product .moyomall-woocommerce div.product div.images {
  width: 48%;
  margin-bottom: 28px;
}
body.single-product .moyomall-woocommerce div.product div.summary {
  width: 48%;
  padding-top: 0;
  color: var(--moyo-c-body);
  font: var(--moyo-c-body-type);
}
body.single-product .moyomall-woocommerce div.product div.images img.wp-post-image {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border: 1px solid var(--moyo-line);
  background: #fff;
}
body.single-product .moyomall-woocommerce .woocommerce-breadcrumb {
  margin-bottom: 16px;
  color: var(--moyo-muted);
  font: var(--moyo-c-caption);
}
body.single-product .moyomall-woocommerce div.product .product_title {
  margin-bottom: 16px;
  color: var(--moyo-ink);
  font: var(--moyo-c-product-heading);
  letter-spacing: -.025em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
body.single-product .moyomall-woocommerce div.product p.price,
body.single-product .moyomall-woocommerce div.product span.price {
  margin: 0 6px 10px 0;
  color: var(--moyo-brand);
  font: var(--moyo-c-price-display);
}
body.single-product .moyomall-woocommerce div.product .ast-shipping-text {
  color: var(--moyo-muted);
  font: var(--moyo-c-caption);
}
body.single-product .moyomall-woocommerce div.product .woocommerce-product-details__short-description {
  margin-block: 12px 22px;
  color: var(--moyo-c-body);
  font: var(--moyo-c-body-type);
}
body.single-product .moyomall-woocommerce div.product .woocommerce-product-details__short-description p,
body.single-product .moyomall-woocommerce div.product .woocommerce-product-details__short-description p:last-child {
  margin: 0 0 8px;
  font: inherit;
}
body.single-product .moyomall-woocommerce div.product form.cart {
  margin-top: 20px;
  padding: 22px;
  border: 1px solid var(--moyo-line);
  border-radius: var(--moyo-c-radius);
  background: var(--moyo-c-paper);
}
body.single-product .moyomall-woocommerce div.product form.cart table.variations {
  width: 100%;
  margin: 0 0 16px;
  border: 0;
}
body.single-product .moyomall-woocommerce div.product form.cart table.variations :is(tbody, tr, th, td) {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
body.single-product .moyomall-woocommerce div.product form.cart table.variations tr { margin-bottom: 14px; }
body.single-product .moyomall-woocommerce div.product form.cart table.variations th.label { margin-bottom: 8px; }
body.single-product .moyomall-woocommerce div.product form.cart table.variations label {
  color: var(--moyo-ink);
  font: var(--moyo-c-label);
}
body.single-product .moyomall-woocommerce div.product form.cart table.variations select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--moyo-c-line-dark);
  border-radius: var(--moyo-c-radius);
  background: #fff;
  color: var(--moyo-ink);
  font: var(--moyo-c-body-type);
}
body.single-product .moyomall-woocommerce div.product form.cart .reset_variations {
  display: inline-block;
  margin-top: 10px;
  color: var(--moyo-brand);
  font: var(--moyo-c-caption);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.single-product .moyomall-woocommerce div.product form.cart .woocommerce-variation-description,
body.single-product .moyomall-woocommerce div.product form.cart .woocommerce-variation-availability {
  font: var(--moyo-c-body-type);
}
body.single-product .moyomall-woocommerce div.product form.cart .woocommerce-variation-price { margin-block: 4px 14px; }
body.single-product .moyomall-woocommerce div.product.product-type-simple form.cart,
body.single-product .moyomall-woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
}
body.single-product .moyomall-woocommerce div.product form.cart div.quantity {
  float: none;
  flex: 0 0 86px;
  margin: 0;
}
body.single-product .moyomall-woocommerce div.product form.cart .quantity .qty {
  width: 86px;
  min-height: 48px;
  margin: 0;
  padding: 10px 8px;
  border: 1px solid var(--moyo-c-line-dark);
  border-radius: var(--moyo-c-radius);
  background: #fff;
  color: var(--moyo-ink);
  font: var(--moyo-c-label);
}
body.single-product .moyomall-woocommerce div.product form.cart button.single_add_to_cart_button {
  float: none;
  flex: 1 1 160px;
  min-height: 48px;
  margin: 0;
  padding: 12px 20px;
  border-radius: var(--moyo-c-radius);
  background: var(--moyo-brand);
  color: #fff;
  font: var(--moyo-c-label);
}
body.single-product .moyomall-woocommerce div.product form.cart button.single_add_to_cart_button:hover {
  background: var(--moyo-c-navy);
}
body.single-product .moyomall-woocommerce div.product form.cart button.single_add_to_cart_button:is(.disabled, :disabled) {
  opacity: .55;
  cursor: not-allowed;
}
body.single-product .moyomall-woocommerce div.product .product_meta {
  padding-top: 18px;
  border-top: 1px solid var(--moyo-line);
  color: var(--moyo-muted);
  font: var(--moyo-c-caption);
}
body.single-product .moyomall-woocommerce div.product .product_meta > span { display: block; margin-bottom: 6px; }

@media (max-width: 1024px) {
  .moyomall-page--category .moyeo-native-grid .icons-wrap { flex-wrap: wrap; }
  .moyomall-page--category .moyeo-native-grid .icons-wrap li.add-to-cart { flex-basis: 100%; }
  .moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap .add-to-cart a { width: 100%; }
}
@media (max-width: 767px) {
  :root {
    --moyo-c-product-heading: 700 25px/1.32 var(--moyo-font-family);
    --moyo-c-price-display: 600 23px/1.35 var(--moyo-font-family);
  }
  body.single-product .moyomall-woocommerce { width: calc(100% - 36px); padding-top: 24px; }
  body.single-product .moyomall-woocommerce div.product div.images,
  body.single-product .moyomall-woocommerce div.product div.summary { width: 100%; float: none; }
  body.single-product .moyomall-woocommerce div.product form.cart { padding: 16px; }
  .moyomall-page--category .moyeo-native-grid .product-details-wrap { padding: 4px 12px 16px; }
  .moyomall-page--category .moyeo-native-grid .icons-wrap { padding-inline: 10px; }
}


/* C26: native search follows category navigation in both visual and reading order. */
:root { --moyo-c-search-input: 400 16px/1.4 var(--moyo-font-family); }
.moyomall-home .moyomall-category-tiles { margin-bottom: 24px; }
.moyomall-home .moyomall-home__search { margin-top: 0; margin-bottom: var(--moyo-c-section); }
@media (max-width: 767px) {
  .moyomall-home .moyomall-category-tiles { margin: 20px auto 12px; }
  .moyomall-home .moyomall-home__search {
    grid-template-columns: 1fr;
    gap: 6px;
    margin: 0 auto 32px;
    padding: 0;
    border: 0;
  }
  .moyomall-home .moyomall-home__search-title {
    font: var(--moyo-c-label);
    letter-spacing: normal;
  }
  .moyomall-home__search .woocommerce-product-search { height: 44px; border: 0; }
  .moyomall-home__search .woocommerce-product-search input[type="search"] {
    height: 44px;
    border: 1px solid var(--moyo-c-line-dark);
    border-right: 0;
    border-radius: var(--moyo-c-radius) 0 0 var(--moyo-c-radius);
    font: var(--moyo-c-search-input);
  }
  .moyomall-home__search .woocommerce-product-search button {
    min-width: 64px;
    min-height: 44px;
    margin: 0;
    padding: 0 12px;
    border-radius: 0 var(--moyo-c-radius) var(--moyo-c-radius) 0;
  }
}


/* C27: give the secondary desktop search heading its own compact type role. */
:root { --moyo-c-search-title: 700 24px/1.35 var(--moyo-font-family); }
@media (min-width: 768px) {
  .moyomall-home .moyomall-home__search-title { font: var(--moyo-c-search-title); }
}


/* C29: Moyomall's own compact shop layout; existing content and Woo markup stay. */
:root {
  --moyo-c-section: 60px;
  --moyo-c-section-title: 700 26px/1.3 var(--moyo-font-family);
  --moyo-c-search-title: 700 20px/1.35 var(--moyo-font-family);
  --moyo-c-catalog-price: 700 18px/1.4 var(--moyo-font-family);
}

/* The unchanged secondary menu contains FiboSearch and the two account links. */
@media (min-width: 1025px) {
  .site-header__main.site-width { min-height: 86px; gap: 24px; padding-block: 0; }
  .site-header__main .site-logo { width: 150px; }
  .site-header__main .site-header__secondary { flex: 1 1 auto; min-width: 0; }
  .site-header__main .site-header__secondary .nav-menu { flex-wrap: nowrap; justify-content: flex-end; gap: 24px; }
  .site-header__main .site-header__secondary .nav-menu > li { flex: 0 0 auto; }
  .site-header__main .site-header__secondary .nav-menu > li:has(.dgwt-wcas-search-wrapp) {
    flex: 1 1 480px;
    max-width: 480px;
    min-width: 0;
    margin-inline: auto;
  }
  .site-header__main .site-header__secondary .dgwt-wcas-search-wrapp { width: 100%; max-width: 480px; min-width: 0; }
  .site-header__main .site-header__secondary input.dgwt-wcas-search-input {
    height: 48px;
    min-height: 48px;
    border: 1px solid var(--moyo-line);
    border-radius: 12px;
    background: var(--moyo-c-paper);
    font: var(--moyo-c-search-input);
  }
  .site-header__main .site-header__secondary .nav-menu a { color: var(--moyo-ink); font: var(--moyo-c-label); white-space: nowrap; }
  .site-header__main .site-cart { flex: 0 0 44px; width: 44px; height: 44px; padding: 6px; }
  .site-header__nav-row { border-bottom: 1px solid var(--moyo-line); }
  .site-header__nav-row .site-width { min-height: 52px; justify-content: center; }
  .site-header__primary .nav-menu { justify-content: center; gap: clamp(24px, 2.5vw, 38px); }
}
@media (max-width: 1024px) {
  .site-header__main .site-header__secondary { display: none; }
}

/* Native campaign slides keep the C28 height cap, images, timing, and links. */
.moyomall-home .moyomall-c-main-slider__viewport { border-radius: 14px; }
.moyomall-home .moyomall-c-main-slider__arrow { width: 44px; height: 44px; border-radius: 50%; }
.moyomall-home .moyomall-c-main-slider__controls { min-height: 44px; }

/* Six actual editor-backed category links, with a pale icon surface only. */
.moyomall-home .moyomall-category-tiles {
  grid-auto-rows: 116px;
  gap: 14px;
  margin: 24px auto 20px;
  border: 0;
}
.moyomall-home .moyomall-category-tile {
  min-height: 116px;
  gap: 8px;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  color: var(--moyo-ink);
  font: var(--moyo-c-label);
  letter-spacing: normal;
}
.moyomall-home .moyomall-category-tile img {
  width: 64px;
  height: 64px;
  padding: 10px;
  border-radius: 18px;
  background: var(--moyo-c-pale);
  object-fit: contain;
}
.moyomall-home .moyomall-category-tile:is(:hover, :focus-visible) { background: transparent; color: var(--moyo-brand); }

/* A quiet search strip below categories; the smaller mobile form is unchanged. */
@media (min-width: 768px) {
  .moyomall-home .moyomall-home__search {
    grid-template-columns: minmax(120px, .3fr) minmax(0, 1.7fr);
    gap: 24px;
    padding: 14px 20px;
    border: 0;
    border-radius: 12px;
    background: var(--moyo-c-paper);
  }
  .moyomall-home .moyomall-home__search-title { font: var(--moyo-c-search-title); letter-spacing: normal; }
  .moyomall-home .moyomall-home__search .woocommerce-product-search { height: 48px; border: 0; border-radius: 8px; }
  .moyomall-home .moyomall-home__search .woocommerce-product-search input[type="search"] {
    height: 48px;
    padding-inline: 16px;
    border: 1px solid var(--moyo-c-line-dark);
    border-right: 0;
    border-radius: 8px 0 0 8px;
    font: var(--moyo-c-search-input);
  }
  .moyomall-home .moyomall-home__search .woocommerce-product-search button {
    min-height: 48px;
    margin: 0;
    padding: 0 18px;
    border-radius: 0 8px 8px 0;
  }
}

/* The full product title and live Woo price remain; equal-height flex survives. */
.moyomall-home .moyeo-native-card { border: 0; border-radius: 0; background: transparent; }
.moyomall-home .moyeo-native-image { border: 1px solid var(--moyo-line); border-radius: 12px; background: #fff; }
.moyomall-home .moyeo-native-image img { border-radius: 12px; }
.moyomall-home .moyeo-native-details { padding: 14px 2px 12px; }
.moyomall-home .moyeo-native-price { color: var(--moyo-brand); font: var(--moyo-c-catalog-price); letter-spacing: normal; }
.moyomall-home .moyomall-product-section__copy h2 { font: var(--moyo-c-section-title); }
.moyomall-home .moyomall-section-heading { margin-bottom: 20px; padding-bottom: 0; border-bottom: 0; }
.moyomall-home .moyomall-home-magazine-slider__image img { border-radius: 12px; }

@media (max-width: 767px) {
  :root {
    --moyo-c-section: 42px;
    --moyo-c-section-title: 700 22px/1.3 var(--moyo-font-family);
    --moyo-c-catalog-price: 700 16px/1.4 var(--moyo-font-family);
  }
  .moyomall-home .moyomall-category-tiles { grid-auto-rows: 94px; column-gap: 8px; row-gap: 12px; margin: 20px auto 12px; }
  .moyomall-home .moyomall-category-tile { min-height: 94px; gap: 6px; padding: 0; }
  .moyomall-home .moyeo-native-details { padding: 11px 2px 10px; }
  .moyomall-home .moyomall-section-heading { margin-bottom: 16px; }
}


/* C29 preview correction: match legacy selectors only where their specificity
   otherwise restores the old 39px title, 49px card padding, and uneven gaps. */
.moyomall-home .moyomall-product-section--simple,
.moyomall-home .moyomall-product-section--simple.moyomall-product-section--recent,
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple),
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple).moyomall-product-section--last-category {
  margin-bottom: var(--moyo-c-section);
}
.moyomall-home .moyomall-product-section--simple .moyomall-section-title,
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__copy h2 {
  font: var(--moyo-c-section-title);
}
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyeo-native-details {
  padding-bottom: 18px;
}
@media (max-width: 767px) {
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyeo-native-details {
    padding-bottom: 16px;
  }
}

/* Existing Woo comparison/current price markup gets two clear rows. The
   retained 2.8em price slot also bottom-aligns prices without a comparison. */
.moyomall-home .moyeo-native-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  align-content: flex-end;
  column-gap: 0;
  row-gap: 2px;
}
.moyomall-home .moyeo-native-price del {
  display: block;
  flex: 0 0 100%;
  color: var(--moyo-muted);
  font: var(--moyo-c-label);
  opacity: 1;
}
.moyomall-home .moyeo-native-price ins {
  display: block;
  flex: 0 0 100%;
  color: var(--moyo-brand);
  font: var(--moyo-c-catalog-price);
  background: transparent;
  text-decoration: none;
}

/* Keep campaigns readable while bringing the product section closer on desktop. */
@media (min-width: 768px) {
  .moyomall-home .moyomall-c-main-slider__slide img { max-height: 320px; }
  .moyomall-home .moyomall-category-tiles { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* C30: finish the same storefront language across home and category screens. */
.site-header__actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.site-contact { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; height: 44px; padding: 10px 12px; border: 1px solid var(--moyo-line); border-radius: 12px; background: var(--moyo-c-paper); color: var(--moyo-brand); font: var(--moyo-c-label); text-decoration: none; }
.site-contact svg { width: 22px; height: 22px; }
.site-contact:is(:hover, :focus-visible) { border-color: var(--moyo-brand); background: var(--moyo-c-pale); }
.site-header__actions .site-cart { position: relative; inset: auto; transform: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 6px; }
.moyo-has-native-contact #brave_popup_7194 { display: none !important; }
.site-footer__contact { padding-block: 0 20px; border-bottom: 1px solid var(--moyo-line); margin-bottom: 22px; }
.site-footer__contact-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--moyo-brand); font: var(--moyo-c-label); text-decoration: none; }
.site-footer__contact-link:is(:hover, :focus-visible) { text-decoration: underline; }
.moyomall-category-tiles--page { grid-auto-rows: 116px; gap: 14px; border: 0; }
.moyomall-category-tiles--page .moyomall-category-tile { min-height: 116px; padding: 8px 4px; gap: 8px; border: 0; background: transparent; color: var(--moyo-ink); font: var(--moyo-c-label); }
.moyomall-category-tiles--page .moyomall-category-tile img { width: 64px; height: 64px; padding: 10px; border: 2px solid transparent; border-radius: 18px; background: var(--moyo-c-pale); filter: none; object-fit: contain; }
.moyomall-category-tiles--page .moyomall-category-tile.is-current { color: var(--moyo-brand); background: transparent; box-shadow: none; }
.moyomall-category-tiles--page .moyomall-category-tile.is-current img { border-color: var(--moyo-brand); }
.moyomall-category-tiles--page .moyomall-category-tile:is(:hover, :focus-visible) { background: transparent; color: var(--moyo-brand); }
.moyomall-page--category .moyomall-category-header { margin-block: 24px 24px; text-align: left; }
.moyomall-page--category .moyomall-category-header h1 { font: var(--moyo-c-section-title); letter-spacing: normal; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product { border: 0; border-radius: 0; overflow: visible; background: transparent; }
.moyomall-page--category .moyeo-native-grid .eael-product-wrap { display: flex; flex-direction: column; overflow: visible; }
.moyomall-page--category .moyeo-native-grid .image-wrap { border: 1px solid var(--moyo-line); border-radius: 12px; overflow: hidden; background: #fff; }
.moyomall-page--category .moyeo-native-grid .product-details-wrap { padding: 14px 2px 12px; text-align: left; }
.moyomall-page--category .moyeo-native-grid .eael-product-title :is(h2, h3, h4) { padding-bottom: 12px; }
.moyomall-page--category .moyeo-native-grid .eael-product-price { display: flex; align-content: flex-end; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; min-height: 2.8em; color: var(--moyo-brand); font: var(--moyo-c-catalog-price); }
.moyomall-page--category .moyeo-native-grid .eael-product-price del { flex: 0 0 100%; color: var(--moyo-muted); font: var(--moyo-c-label); opacity: 1; }
.moyomall-page--category .moyeo-native-grid .eael-product-price ins { display: block; text-decoration: none; background: transparent; }
.moyomall-page--category .moyeo-native-grid .image-hover-wrap { margin-top: auto; }
.moyomall-page--category .moyeo-native-grid .icons-wrap { display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: 8px; padding: 0 2px 16px; margin: 0; flex-wrap: nowrap; }
.moyomall-page--category .moyeo-native-grid .icons-wrap .add-to-cart { min-width: 0; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap .add-to-cart a { width: 100%; padding-inline: 8px; border-radius: 8px; border-color: var(--moyo-brand); background: var(--moyo-c-paper); color: var(--moyo-brand); font: var(--moyo-c-label); }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap .eael-product-quick-view a { border-radius: 8px; }
/* Detail route also remains on the image, title, and variable-product button. */
.moyomall-page--category .moyeo-native-grid .icons-wrap .view-details { display: none; }
@media (min-width: 768px) { .moyomall-category-tiles--page { grid-template-columns: repeat(6,minmax(0,1fr)); } }
@media (max-width: 1024px) {
  .site-header__main.site-width { display: grid; grid-template-columns: 44px minmax(0,1fr) 98px; gap: 12px; }
  .site-header__main .site-mobile-menu { position: static; transform: none; }
  .site-header__main .site-logo { justify-self: center; }
  .site-header__actions { justify-self: end; }
  .site-contact { width: 44px; padding: 10px; }
  .site-contact__text { display: none; }
}
@media (max-width: 767px) {
  .site-header__main .site-logo { width: min(136px,100%); }
  .moyomall-category-tiles--page { grid-auto-rows: 94px; column-gap: 8px; row-gap: 12px; }
  .moyomall-category-tiles--page .moyomall-category-tile { min-height: 94px; gap: 6px; padding: 0; }
  .moyomall-page--category .moyomall-category-header { margin-block: 22px 18px; }
  .moyomall-page--category .moyeo-native-grid .product-details-wrap { padding: 11px 2px 10px; }
}

/* Match inherited parity selectors so the same role wins at every width. */
.moyomall-page--category .moyomall-category-header { justify-content: flex-start; }
.site-header__main .site-header__actions .site-cart { display: inline-flex; }
.site-header__main .site-header__actions .site-cart__count { top: 0; right: 0; }
.moyomall-page--category .moyeo-native-grid.eael-product-grid { width: 100%; margin-inline: 0; }
.moyomall-page--category .moyeo-native-grid .eael-product-price { column-gap: 0; }
.moyomall-page--category .moyeo-native-grid .eael-product-price .amount { white-space: nowrap; }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile.is-current { outline: none; }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile:not(.is-current) img { filter: none; opacity: 1; }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile:focus-visible { outline: 3px solid var(--moyo-brand); outline-offset: 3px; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: stretch; column-gap: 8px; row-gap: 0; padding: 0 2px 16px; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap > li { width: auto; min-width: 0; margin: 0; flex: initial; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap > li.add-to-cart { grid-column: 1; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap > li.eael-product-quick-view { grid-column: 2; }
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap > li.view-details { display: none; }
@media (max-width: 1024px) {
  .site-header__main .site-mobile-menu { grid-column: 1; grid-row: 1; align-self: center; height: auto; }
  .site-header__main .site-logo { grid-column: 2; grid-row: 1; margin: 0; align-self: center; }
  .site-header__main .site-header__actions { grid-column: 3; grid-row: 1; align-self: center; }
  .site-header__main .site-cart { position: relative; inset: auto; transform: none; }
}
@media (max-width: 767px) {
  .moyomall-page--category.site-width { width: calc(100% - 36px); }
  .moyomall-page--category .moyeo-native-grid .woocommerce ul.products.moyeo-grid-products { column-gap: 14px; row-gap: 32px; }
}

/* Keep the menu panel inside small screens, including its closed state. */
@media (max-width: 1024px) {
  .site-mobile-menu:not([open]) .site-mobile-menu__panel { display: none; }
  .site-mobile-menu__panel { width: min(340px, calc(100vw - 32px)); min-width: 0; box-sizing: border-box; }
}

/* Let long category introductions wrap within the available mobile width. */
@media (max-width: 767px) {
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__copy { max-width: 100%; min-width: 0; }
  .moyomall-home .moyomall-product-section__copy :is(h2,p) { overflow-wrap: anywhere; }
}

/* A single product action: the image and title already open its details. */
.moyomall-page--category .moyeo-native-grid .woocommerce ul.products li.product .icons-wrap {
  grid-template-columns: minmax(0, 1fr);
}

/* Account presentation. Original forms, fields, nonces and handlers remain live. */
:root {
  --moyo-c-form-title: 600 28px/1.3 var(--moyo-font-family);
  --moyo-c-form-tracking: -.025em;
  --moyo-c-body-small: 400 14px/1.6 var(--moyo-font-family);
  --moyo-c-field-height: 48px;
  --moyo-c-field-radius: 8px;
}
body .moyomall-page.moyomall-page--auth { min-height: 50vh; padding-block: 54px 72px; }
.moyomall-auth { width: min(100%, 440px); margin-inline: auto; }
.moyomall-page--auth-register .moyomall-auth { width: min(100%, 600px); }
.moyomall-auth__header { margin-bottom: 26px; text-align: center; }
.moyomall-auth__header h1 { margin: 0; color: var(--moyo-ink); font: var(--moyo-c-form-title); letter-spacing: var(--moyo-c-form-tracking); word-break: keep-all; }
.moyomall-auth__header p { margin: 10px 0 0; color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal; word-break: keep-all; }
.moyomall-auth__switch { display: flex; margin-bottom: 28px; border-bottom: 1px solid var(--moyo-line); }
.moyomall-auth__switch a { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 44px; padding: 11px 12px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--moyo-muted); font: var(--moyo-c-label); letter-spacing: normal; }
.moyomall-auth__switch a[aria-current] { border-color: var(--moyo-brand); color: var(--moyo-brand); }
.moyomall-auth__switch a:hover { background: var(--moyo-c-paper); color: var(--moyo-brand); }
.moyomall-auth__form > .woocommerce > h2 { display: none; }
.moyomall-page--auth .moyomall-auth__form .woocommerce form.login,
.moyomall-page--auth .moyomall-auth__form .woocommerce form.lost_reset_password { margin: 0; padding: 0; border: 0; border-radius: 0; }
.moyomall-page--auth .woocommerce form .form-row { padding: 0; margin: 0 0 20px; }
.moyomall-page--auth .woocommerce form .form-row label,
.moyomall-page--auth .blanding-registration-field label,
.moyomall-page--auth .um-field-label label { display: block; margin-bottom: 8px; color: var(--moyo-ink); font: var(--moyo-c-label); letter-spacing: normal; }
.moyomall-page--auth .woocommerce form .form-row :is(input[type="text"], input[type="email"], input[type="password"]),
.moyomall-page--auth .blanding-registration-field input,
.moyomall-page--auth .um-form :is(input[type="text"], input[type="email"], input[type="password"]) {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--moyo-c-field-height) !important; height: var(--moyo-c-field-height) !important;
  padding: 10px 14px !important; border: 1px solid var(--moyo-c-line-dark) !important;
  border-radius: var(--moyo-c-field-radius) !important; background: #fff !important; color: var(--moyo-ink) !important;
  font: var(--moyo-c-body-type) !important; letter-spacing: normal; box-shadow: none;
}
.moyomall-page--auth .woocommerce form .form-row input:focus,
.moyomall-page--auth .blanding-registration-field input:focus,
.moyomall-page--auth .um-form input:focus { border-color: var(--moyo-brand) !important; box-shadow: 0 0 0 3px #3852b91a; outline: 2px solid var(--moyo-brand); outline-offset: 2px; }
.moyomall-page--auth .woocommerce form .password-input input { padding-right: 48px !important; }
.moyomall-page--auth .woocommerce form .password-input button.show-password-input { top: 2px; right: 2px; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--moyo-muted); }
.moyomall-page--auth .woocommerce form .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--moyo-muted); font: var(--moyo-c-body-small); }
.moyomall-page--auth input[type="checkbox"] { accent-color: var(--moyo-brand); }
.moyomall-page--auth .woocommerce form :is(button[name="login"], button[name="register"], button[name="wc_reset_password"]),
.moyomall-page--auth .blanding-registration-submit,
.moyomall-page--auth .um input[type="submit"].um-button {
  display: flex; float: none; align-items: center; justify-content: center; width: 100% !important; max-width: none !important;
  min-height: var(--moyo-c-field-height) !important; margin: 0; padding: 12px 18px !important;
  border: 1px solid var(--moyo-brand) !important; border-radius: var(--moyo-c-field-radius) !important;
  background: var(--moyo-brand) !important; color: #fff !important; font: var(--moyo-c-label) !important;
  box-sizing: border-box; letter-spacing: normal; box-shadow: none;
}
.moyomall-page--auth .woocommerce form button[name="login"]:hover,
.moyomall-page--auth .blanding-registration-submit:hover,
.moyomall-page--auth .um input[type="submit"].um-button:hover { background: var(--moyo-c-navy) !important; border-color: var(--moyo-c-navy) !important; }
.moyomall-page--auth .woocommerce form .lost_password { margin: 22px 0 0; text-align: center; }
.moyomall-page--auth .woocommerce form .lost_password a,
.moyomall-page--auth .um a.um-link-alt { color: var(--moyo-muted) !important; font: var(--moyo-c-body-small) !important; text-decoration: underline; text-underline-offset: 3px; }
.moyomall-page--auth .blanding-registration { width: 100%; margin: 0; padding: 0; color: var(--moyo-ink); }
.moyomall-page--auth .blanding-registration-intro { display: none; }
.moyomall-page--auth .blanding-registration-grid { gap: 18px; }
.moyomall-page--auth .blanding-registration-field { min-width: 0; margin-bottom: 20px; }
.moyomall-page--auth .blanding-registration-field small { margin-top: 10px; color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal; }
.moyomall-page--auth .blanding-registration-actions { display: block; margin-top: 26px; }
.moyomall-page--auth .blanding-registration-login { width: max-content; min-height: 44px; margin: 14px auto 0; padding: 10px 18px; border: 0; background: transparent; color: var(--moyo-muted); font: var(--moyo-c-body-small); text-decoration: underline; text-underline-offset: 3px; }
.moyomall-page--auth .blanding-registration-errors,
.moyomall-page--auth .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) { font: var(--moyo-c-body-small); letter-spacing: normal; overflow-wrap: anywhere; }
.moyomall-page--auth .um { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0; color: var(--moyo-ink); font: var(--moyo-c-body-type); }
.moyomall-page--auth .um-field { padding-top: 0; margin-bottom: 20px; }
.moyomall-page--auth .um-field-block { color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal; word-break: keep-all; }
.moyomall-page--auth .um-field-checkbox-option { color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal; }
.moyomall-page--auth .um :is(.um-col-alt, .um-col-alt-b) { margin-top: 24px; }
.moyomall-page--auth .um .um-col-alt { padding: 0; }
.moyomall-page--auth .um :is(.um-left, .um-right) { float: none; width: 100%; }
.moyomall-page--auth .um .um-right { margin-top: 12px; }
.moyomall-page--auth .um a.um-button.um-alt { display: flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 16px !important; border: 1px solid var(--moyo-line) !important; border-radius: var(--moyo-c-field-radius); background: var(--moyo-c-paper); color: var(--moyo-brand); font: var(--moyo-c-label) !important; box-shadow: none; }
@media (max-width: 640px) {
  :root { --moyo-c-form-title: 600 24px/1.3 var(--moyo-font-family); }
  body .moyomall-page.moyomall-page--auth { padding-block: 32px 48px; }
  .moyomall-auth__header { margin-bottom: 20px; }
  .moyomall-auth__switch { margin-bottom: 24px; }
  .moyomall-page--auth .blanding-registration-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* Finish provider label parity and the existing Woo lost-password endpoint. */
.moyomall-page--auth .um-field-label label { font: var(--moyo-c-label) !important; letter-spacing: normal !important; }
.moyomall-page--auth .um-form input::placeholder { color: var(--moyo-muted) !important; opacity: 1; }
.moyomall-page--auth .woocommerce form.lost_reset_password > p:not(.form-row) { margin: 0 0 20px; color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal; word-break: keep-all; }
.moyomall-page--auth .woocommerce form.lost_reset_password button[type="submit"] {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: var(--moyo-c-field-height);
  margin: 0; padding: 12px 18px; border: 1px solid var(--moyo-brand); border-radius: var(--moyo-c-field-radius);
  background: var(--moyo-brand); color: #fff; font: var(--moyo-c-label); letter-spacing: normal; box-sizing: border-box;
}
.moyomall-page--auth .woocommerce form.lost_reset_password button[type="submit"]:hover { background: var(--moyo-c-navy); border-color: var(--moyo-c-navy); }

/* Woo retains a vertical transform after its original top value is overridden. */
.moyomall-page--auth .woocommerce form .password-input button.show-password-input { transform: none; }


/* C40: a compact menu and one shared product-search treatment. */
.moyo-product-search.woocommerce-product-search {
  display: flex; align-items: stretch; gap: 0; width: 100%; min-width: 0; height: 48px;
  margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--moyo-line);
  border-radius: 10px; background: #fff; box-shadow: none;
}
.moyo-product-search.woocommerce-product-search:focus-within { border-color: var(--moyo-brand); box-shadow: 0 0 0 3px #3852b917; }
.moyo-product-search.woocommerce-product-search input[type="search"] {
  flex: 1; width: 0; min-width: 0; height: 100%; margin: 0; padding: 0 14px; border: 0;
  border-radius: 0; outline: none; box-shadow: none; background: transparent;
  color: var(--moyo-ink); font: var(--moyo-c-search-input); letter-spacing: normal;
}
.moyo-product-search input[type="search"]::placeholder { color: var(--moyo-muted); opacity: 1; }
.moyo-product-search.woocommerce-product-search button {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 6px;
  min-width: 76px; min-height: 44px; height: auto; margin: 0; padding: 0 12px;
  border: 0; border-left: 1px solid var(--moyo-line); border-radius: 0;
  background: var(--moyo-c-paper); color: var(--moyo-brand); font: var(--moyo-c-label); letter-spacing: normal;
}
.moyo-product-search button svg { width: 18px; height: 18px; flex: none; }
.moyo-product-search.woocommerce-product-search button:is(:hover,:focus-visible) { background: var(--moyo-c-pale); color: var(--moyo-c-navy); }
.moyomall-home .moyomall-home__search .moyo-product-search.woocommerce-product-search { height: 48px; border: 1px solid var(--moyo-line); border-radius: 10px; }
.moyomall-home .moyomall-home__search .moyo-product-search input[type="search"] { font: var(--moyo-c-search-input); padding-inline: 14px; }
.moyomall-home .moyomall-home__search .moyo-product-search button { margin: 0; border-radius: 0; padding-inline: 12px; background: var(--moyo-c-paper); color: var(--moyo-brand); font: var(--moyo-c-label); }
#masthead .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp { padding: 0; background: transparent; }
#masthead .site-header__secondary .dgwt-wcas-search-form input[type="search"].dgwt-wcas-search-input {
  height: 48px; padding: 0 50px 0 14px; border: 1px solid var(--moyo-line); border-radius: 10px;
  background: var(--moyo-c-paper); color: var(--moyo-ink); font: var(--moyo-c-search-input); letter-spacing: normal;
}
#masthead .site-header__secondary .dgwt-wcas-search-form button.dgwt-wcas-search-submit { inset: 2px 2px auto auto; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 12px; border: 0; border-radius: 8px; background: transparent; color: var(--moyo-brand); pointer-events: auto; }
#masthead .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-search-submit svg { width: 20px; height: 20px; }
#masthead .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-search-submit svg path { fill: currentColor; }
.moyomall-review-heading__tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.moyomall-review-heading__tools h1 { margin: 0; }
.moyomall-review-write { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--moyo-line); border-radius: 8px; background: var(--moyo-c-paper); color: var(--moyo-brand); white-space: nowrap; font: var(--moyo-c-label); }
.moyomall-review-write svg { width: 18px; height: 18px; }
.moyomall-review-write:is(:hover,:focus-visible) { background: var(--moyo-c-pale); border-color: var(--moyo-brand); }
@media(max-width:1024px) {
  html.moyo-menu-open { overflow: hidden; }
  .site-header__main .site-mobile-menu { display: block; height: auto; z-index: 1001; }
  .site-header__main .site-mobile-menu summary { width: 44px; height: 44px; padding: 0; border: 1px solid var(--moyo-line); border-radius: 10px; background: var(--moyo-c-paper); }
  .site-mobile-menu__bars,.site-mobile-menu__bars::before,.site-mobile-menu__bars::after { width: 18px; height: 2px; background: var(--moyo-c-navy); transition: transform .16s; }
  .site-mobile-menu[open] .site-mobile-menu__bars { background: transparent; }
  .site-mobile-menu[open] .site-mobile-menu__bars::before { top: 0; transform: rotate(45deg); }
  .site-mobile-menu[open] .site-mobile-menu__bars::after { top: 0; transform: rotate(-45deg); }
  .site-mobile-menu__backdrop { position: fixed; inset: 0; z-index: 1000; display: block; width: 100%; height: 100%; border: 0; border-radius: 0; background: #14256045; cursor: default; }
  .site-header__main .site-mobile-menu__panel {
    position: fixed; inset: 12px auto auto 12px; z-index: 1002; width: min(390px,calc(100vw - 24px));
    max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow: auto; overscroll-behavior: contain;
    padding: 12px 16px 20px; border: 1px solid var(--moyo-line); border-radius: 16px;
    background: #fff; box-shadow: 0 16px 48px #14256026;
  }
  .site-mobile-menu__heading { display: flex; align-items: center; justify-content: space-between; min-height: 44px; gap: 16px; margin-bottom: 12px; }
  .site-mobile-menu__heading strong { color: var(--moyo-c-navy); font: var(--moyo-c-label); letter-spacing: normal; }
  .site-mobile-menu__close { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--moyo-line); border-radius: 10px; color: var(--moyo-ink); background: var(--moyo-c-paper); }
  .site-mobile-menu__close svg { width: 20px; height: 20px; }
  .site-mobile-menu .site-mobile-menu__search { margin: 0 0 16px; }
  .site-mobile-menu__panel nav .mobile-nav-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
  .site-mobile-menu__panel nav .mobile-nav-menu > li { min-width: 0; margin: 0; }
  .site-mobile-menu__panel nav .mobile-nav-menu > li > a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 46px; padding: 10px 12px; border: 1px solid transparent; border-radius: 8px; color: var(--moyo-ink); background: var(--moyo-c-paper); font: var(--moyo-c-label); letter-spacing: normal; word-break: keep-all; }
  .site-mobile-menu__panel nav .mobile-nav-menu > li > a::after { content: ''; flex: none; width: 5px; height: 5px; border-top: 1px solid var(--moyo-muted); border-right: 1px solid var(--moyo-muted); transform: rotate(45deg); }
  .site-mobile-menu__panel nav .mobile-nav-menu > li > a:is(:hover,:focus-visible,[aria-current="page"]) { border-color: var(--moyo-line); background: var(--moyo-c-pale); color: var(--moyo-brand); }
  .site-mobile-menu:not([open]) :is(.site-mobile-menu__panel,.site-mobile-menu__backdrop) { display: none; }
}
@media(min-width:1025px) { .site-mobile-menu { display: none; } }
@media(prefers-reduced-motion:reduce) { .site-mobile-menu__bars,.site-mobile-menu__bars::before,.site-mobile-menu__bars::after { transition: none; } }


/* C41: board navigation is a quiet blue row, separate from the product tabs. */
.woocommerce div.product .moyomall-product-review-link {
  clear: both; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  width: 100%; margin: 36px 0 28px; padding: 18px 0;
  border-top: 1px solid var(--moyo-line); border-bottom: 1px solid var(--moyo-line);
}
.moyomall-product-review-link__copy { min-width: 0; }
.moyomall-product-review-link__title { margin: 0; color: var(--moyo-ink); font: var(--moyo-c-label); letter-spacing: normal; }
.moyomall-product-review-link__note { margin: 5px 0 0; color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal; word-break: keep-all; }
.woocommerce div.product a.moyomall-product-review-link__button {
  display: inline-flex; flex: none; align-items: center; justify-content: center; gap: 9px;
  min-height: 44px; padding: 10px 14px; border: 1px solid var(--moyo-brand); border-radius: 8px;
  background: #fff; color: var(--moyo-brand); font: var(--moyo-c-label); letter-spacing: normal;
  text-decoration: none; white-space: nowrap; box-shadow: none;
}
.moyomall-product-review-link__button svg { flex: none; width: 19px; height: 19px; }
.moyomall-product-review-link__button .moyomall-product-review-link__arrow { width: 17px; height: 17px; }
.woocommerce div.product a.moyomall-product-review-link__button:is(:hover,:focus-visible) { background: var(--moyo-c-pale); color: var(--moyo-c-navy); }
@media (max-width: 640px) {
  .woocommerce div.product .moyomall-product-review-link { align-items: flex-start; flex-direction: column; gap: 14px; margin-block: 28px 24px; padding-block: 16px; }
  .woocommerce div.product a.moyomall-product-review-link__button { width: 100%; justify-content: flex-start; }
  .moyomall-product-review-link__button .moyomall-product-review-link__arrow { margin-left: auto; }
}


/* C42: the mobile menu enters from the left edge as a full-height drawer. */
@keyframes moyo-menu-drawer-in { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@keyframes moyo-menu-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 1024px) {
  html.moyo-menu-open,
  html:has(.site-mobile-menu[open]) { overflow: hidden; }
  .site-header__main .site-mobile-menu { --moyo-menu-width: min(360px, calc(100vw - 40px)); }
  .site-mobile-menu__backdrop { background: #1425608f; touch-action: none; }
  .site-mobile-menu[open] .site-mobile-menu__backdrop { animation: moyo-menu-backdrop-in .24s ease-out both; }
  .site-header__main .site-mobile-menu__panel {
    top: 0; right: auto; bottom: 0; left: 0; width: var(--moyo-menu-width);
    height: 100vh; height: 100dvh; max-height: none; margin: 0;
    padding: max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));
    border: 0; border-right: 1px solid var(--moyo-line); border-radius: 0;
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    background: #fff; box-shadow: 8px 0 32px #14256026;
    transform: translateX(-100%); visibility: hidden; pointer-events: none;
  }
  .site-header__main .site-mobile-menu[open] .site-mobile-menu__panel {
    transform: translateX(0); visibility: visible; pointer-events: auto;
    animation: moyo-menu-drawer-in .24s cubic-bezier(.2,.7,.2,1) both;
  }
  .site-mobile-menu:not([open]) :is(.site-mobile-menu__panel,.site-mobile-menu__backdrop) { display: none; visibility: hidden; }
  /* With JS disabled, the native summary occupies the same close-control slot. */
  html:not(.moyo-menu-ready) .site-mobile-menu[open] > summary {
    position: fixed; top: max(16px, env(safe-area-inset-top));
    left: calc(var(--moyo-menu-width) - 60px); z-index: 1003;
  }
  html:not(.moyo-menu-ready) .site-mobile-menu__close { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .site-mobile-menu__panel,
  .site-mobile-menu[open] .site-mobile-menu__panel,
  .site-mobile-menu[open] .site-mobile-menu__backdrop { animation: none; transition: none; }
}

/* C43: the existing brand asset anchors each public member form. */
.moyomall-auth__brand { margin: 0 auto 22px; }
.moyomall-auth__brand .site-logo { display: block; width: 152px; max-width: 100%; margin-inline: auto; }
.moyomall-auth__brand .site-logo img { display: block; width: 100%; height: auto; max-height: 64px; object-fit: contain; }
.moyomall-auth__brand .site-logo:focus-visible { outline: 2px solid var(--moyo-brand); outline-offset: 6px; border-radius: 4px; }
@media (max-width: 600px) {
  .moyomall-auth__brand { margin-bottom: 18px; }
  .moyomall-auth__brand .site-logo { width: 140px; }
}

/* I04 magazine: real editorial content, a restrained reading width and shared type roles. */
:root {
  /* Dedicated long-form body role; the remaining roles use the existing site type system. */
  --moyo-c-article-body: 400 17px/1.75 var(--moyo-font-family);
}
.moyomall-magazine-index__header { margin-bottom: 30px; padding-bottom: 22px; border-bottom: 1px solid var(--moyo-line); }
body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 28px;
}
:is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-card { min-width: 0; }
:is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-card__link { height: 100%; padding-bottom: 20px; border-bottom: 1px solid var(--moyo-line); text-decoration: none; }
body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards .moyomall-magazine-card img {
  display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: var(--moyo-c-paper); border-radius: var(--moyo-c-radius);
}
body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards .moyomall-magazine-card__copy { padding: 18px 0 0; }
body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards .moyomall-magazine-card__copy :is(h2, h3) {
  margin: 0 0 9px; color: var(--moyo-ink); font: var(--moyo-c-card-title); letter-spacing: normal; word-break: keep-all; overflow-wrap: anywhere;
}
body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards .moyomall-magazine-card__copy p {
  margin: 0; color: var(--moyo-muted); font: var(--moyo-c-body-small); letter-spacing: normal;
}
.moyomall-magazine-card__link:is(:hover, :focus-visible) :is(h2, h3) { color: var(--moyo-brand); }
.moyomall-magazine-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--moyo-muted); font: var(--moyo-c-caption); letter-spacing: normal; }
.moyomall-magazine-card__copy .moyomall-magazine-meta { margin-bottom: 8px; }
.moyomall-magazine-meta time { white-space: nowrap; }
.moyomall-magazine-meta span + time { padding-left: 12px; border-left: 1px solid var(--moyo-line); }
body.single-post .moyomall-single { padding-block: 42px 78px; }
body.single-post .moyomall-single__article { max-width: 760px; margin-inline: auto; }
body.single-post .moyomall-single__header { margin-bottom: 26px; }
.moyomall-single__back { display: inline-flex; align-items: center; min-height: 36px; margin-bottom: 12px; color: var(--moyo-brand); font: var(--moyo-c-label); letter-spacing: normal; text-decoration: underline; text-underline-offset: 4px; }
body.single-post .moyomall-single__article .moyomall-single__header h1 {
  margin: 0 0 18px; font: var(--moyo-c-title); color: var(--moyo-ink); letter-spacing: -.025em; word-break: keep-all; overflow-wrap: anywhere;
}
body.single-post .moyomall-single__featured { margin-bottom: 30px; }
body.single-post .moyomall-single__featured img { display: block; width: 100%; height: auto; max-height: 440px; object-fit: contain; border-radius: var(--moyo-c-radius); }
body.single-post .moyomall-single__article .entry-content,
body.single-post .moyomall-single__article .entry-content :is(p, li) { color: var(--moyo-ink); font: var(--moyo-c-article-body); letter-spacing: normal; overflow-wrap: anywhere; }
body.single-post .moyomall-single__article .entry-content p { margin: 0 0 22px; }
body.single-post .moyomall-single__article .entry-content :is(h2, h3, h4) { margin: 34px 0 14px; color: var(--moyo-ink); font: var(--moyo-c-section-title); letter-spacing: -.015em; word-break: keep-all; overflow-wrap: anywhere; }
body.single-post .moyomall-single__article .entry-content :is(ul, ol) { margin: 0 0 24px; padding-left: 1.4em; }
body.single-post .moyomall-single__article .entry-content li { margin-bottom: 8px; }
body.single-post .moyomall-single__article .entry-content :is(img, video, iframe) { max-width: 100%; }
body.single-post .moyomall-single__article .entry-content figcaption { color: var(--moyo-muted); font: var(--moyo-c-caption); letter-spacing: normal; }
body.single-post .moyomall-single__article .entry-content blockquote { margin: 26px 0; padding: 10px 0 10px 20px; border-left: 3px solid var(--moyo-brand); background: transparent; }
body.single-post .moyomall-single__related { margin-top: 64px; padding-top: 30px; border-top: 1px solid var(--moyo-line); }
body.single-post .moyomall-single__related > h2 { margin: 0 0 26px; font: var(--moyo-c-section-title); letter-spacing: -.015em; }
.moyomall-prose-table { margin: 28px 0; overflow-x: auto; border: 1px solid var(--moyo-line); border-radius: var(--moyo-c-radius); }
.moyomall-prose-table table { width: 100%; margin: 0; border-collapse: collapse; }
.moyomall-prose-table :is(th, td) { min-width: 130px; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--moyo-line); color: var(--moyo-ink); font: var(--moyo-c-body-small); text-align: left; vertical-align: top; letter-spacing: normal; }
.moyomall-prose-table th { background: var(--moyo-c-paper); font: var(--moyo-c-label); }
.moyomall-prose-table tr:last-child td { border-bottom: 0; }
/* Same card typography and ratio on the homepage, without changing the carousel script. */
.moyomall-home-magazine-slider { height: auto; padding-bottom: 32px; }
.moyomall-home-magazine-slider__viewport { height: auto; }
.moyomall-home-magazine-slider__track { height: auto; align-items: stretch; }
.moyomall-home-magazine-slider__slide { height: auto; }
.moyomall-home-magazine-slider__image,
.moyomall-home-magazine-slider__image img { width: 330px; height: 220px; }
.moyomall-home-magazine-slider__image img { object-fit: contain; background: var(--moyo-c-paper); }
.moyomall-home-magazine-slider__copy { padding: 16px 0 0; }
.moyomall-home-magazine-slider__copy h3 { margin: 0 0 9px; font: var(--moyo-c-card-title); letter-spacing: normal; word-break: keep-all; overflow-wrap: anywhere; }
.moyomall-home-magazine-slider__copy p { font: var(--moyo-c-body-small); letter-spacing: normal; }
@media (max-width: 1023px) {
  body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px; }
}
@media (max-width: 767px) {
  :root { --moyo-c-article-body: 400 16px/1.75 var(--moyo-font-family); }
  body.single-post .moyomall-single { padding-block: 24px 52px; }
  body.single-post .moyomall-single__header { margin-bottom: 22px; }
  body.single-post .moyomall-single__featured { margin-bottom: 24px; }
  body.single-post .moyomall-single__article .entry-content p { margin-bottom: 20px; }
  body.single-post .moyomall-single__related { margin-top: 46px; padding-top: 26px; }
  .moyomall-magazine-index__header { margin-bottom: 24px; padding-bottom: 18px; }
  .moyomall-home-magazine-slider { height: auto; padding: 0 10px 28px; }
  .moyomall-home-magazine-slider__viewport { height: auto; }
  .moyomall-home-magazine-slider__track { height: auto; align-items: stretch; }
  .moyomall-home-magazine-slider__slide { height: auto; flex-basis: calc(100vw - 40px); width: calc(100vw - 40px); }
  .moyomall-home-magazine-slider__image,
  .moyomall-home-magazine-slider__image img { width: calc(100vw - 40px); height: auto; aspect-ratio: 3 / 2; }
  .moyomall-home-magazine-slider__controls { left: 10px; bottom: 0; }
}
@media (max-width: 599px) {
  body :is(.moyomall-magazine-index, .moyomall-archive, .moyomall-single__related) .moyomall-magazine-cards { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}

/* C44 phone product rows: two complete cards and half of the following card. */
@media (max-width: 766px) {
  :root {
    --moyo-c-product-compact-title: 600 13px/1.45 var(--moyo-font-family);
    --moyo-c-product-compact-price: 700 14px/1.45 var(--moyo-font-family);
  }
  .moyomall-home .moyeo-native-viewport { overflow: clip; }
  .moyomall-home .moyeo-native-track { gap: 12px; }
  .moyomall-home .moyeo-native-slide {
    flex: 0 0 calc((100% - 24px) / 2.5);
    width: calc((100% - 24px) / 2.5);
    margin-right: 0;
    min-width: 0;
  }
  .moyomall-home .moyeo-native-card { margin: 0; }
  .moyomall-home .moyeo-native-details { padding: 10px 0 8px; }
  .moyomall-home .moyeo-native-title :is(h2, h3, h4) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 0 0 8px;
    font: var(--moyo-c-product-compact-title);
    letter-spacing: normal;
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .moyomall-home .moyeo-native-price {
    min-width: 0;
    font: var(--moyo-c-product-compact-price);
    letter-spacing: normal;
    overflow-wrap: anywhere;
  }
}

/* The legacy magazine page had a wider canvas and stronger header spacing. */
body.page-id-27306 .moyomall-page { width: min(calc(100% - 40px), 1180px); padding-top: 36px; }
body.page-id-27306 .moyomall-magazine-index__header { margin-bottom: 30px; }
@media (max-width: 767px) {
  body.page-id-27306 .moyomall-page { padding-top: 24px; }
  body.page-id-27306 .moyomall-magazine-index__header { margin-bottom: 24px; }
}

/* C45: compact product editorial storefront. Append after the existing bridge.
   Shared role sizes survive; the performance layer owns --moyo-font-family.
   No product, banner, category, article or price content is generated in CSS. */
:root {
  --moyo-c-feature-surface: #f1f3f1;
  --moyo-c-feature-line: #ced5d2;
}
.moyomall-home .moyomall-c-main--editorial { margin-top: 24px; }
.moyomall-home .moyomall-c-main--editorial .moyomall-c-main-slider__viewport { border-radius: 0; border: 1px solid var(--moyo-c-feature-line); }
.moyomall-home .moyomall-c-main--editorial .moyomall-c-main-slider__slide { background: var(--moyo-c-feature-surface); }
.moyomall-home .moyomall-c-main--editorial .moyomall-c-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); align-items: stretch; min-height: 308px; }
.moyomall-c-main--editorial .moyomall-c-feature__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 32px 52px; }
.moyomall-c-main--editorial .moyomall-c-feature__eyebrow { display: flex; gap: 12px; align-items: center; margin: 0 0 15px; color: var(--moyo-muted); font: var(--moyo-c-caption); letter-spacing: normal; }
.moyomall-c-feature__eyebrow span { color: #859493; }
.moyomall-c-main--editorial .moyomall-c-feature__title { max-width: 520px; margin: 0 0 12px; color: var(--moyo-c-navy); font: var(--moyo-c-product-heading); letter-spacing: -.02em; word-break: keep-all; overflow-wrap: anywhere; }
.moyomall-c-feature__price { display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 12px; row-gap: 2px; color: var(--moyo-c-navy); font: var(--moyo-c-price-display); letter-spacing: normal; }
.moyomall-c-feature__price del { color: var(--moyo-muted); font: var(--moyo-c-label); opacity: 1; }
.moyomall-c-feature__price ins { text-decoration: none; background: transparent; }
.moyomall-c-main--editorial .moyomall-c-feature__product-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; width: auto; min-height: 44px; margin: 18px 0 0; padding: 10px 16px; border: 1px solid var(--moyo-c-navy); background: var(--moyo-c-navy); color: #fff; font: var(--moyo-c-label); letter-spacing: normal; text-decoration: none; }
.moyomall-c-feature__product-link svg { flex: none; }
.moyomall-c-main--editorial .moyomall-c-feature__product-link:is(:hover,:focus-visible) { background: #263b78; color: #fff; }
.moyomall-c-main--editorial .moyomall-c-feature__campaign-link { position: absolute; right: 22px; bottom: 10px; display: inline-flex; align-items: center; gap: 7px; width: auto; min-height: 32px; margin: 0; color: var(--moyo-muted); font: var(--moyo-c-caption); letter-spacing: normal; text-decoration: underline; text-underline-offset: 3px; }
.moyomall-c-feature__campaign-link:is(:hover,:focus-visible) { color: var(--moyo-c-navy); }
.moyomall-c-main--editorial .moyomall-c-feature__visual { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; padding: 20px 46px 28px 14px; }
.moyomall-c-main--editorial .moyomall-c-feature__visual > :is(a:not(.moyomall-c-feature__campaign-link),picture) { width: 100%; }
.moyomall-c-main--editorial .moyomall-c-feature__visual img { display: block; width: 100%; height: 270px; max-height: none; aspect-ratio: 1; object-fit: cover; mix-blend-mode: multiply; }
.moyomall-c-main--editorial .moyomall-c-feature.is-campaign .moyomall-c-feature__visual img { object-fit: contain; }
.moyomall-c-main--editorial .moyomall-c-feature--2 { --moyo-c-feature-surface: #f3f1ec; }
.moyomall-c-main--editorial .moyomall-c-feature--3 { --moyo-c-feature-surface: #edf3ef; }
.moyomall-c-main--editorial .moyomall-c-feature--4 { --moyo-c-feature-surface: #edf1f6; }
.moyomall-home .moyomall-c-main--editorial .moyomall-c-main-slider__controls { justify-content: space-between; min-height: 48px; padding: 0; border-bottom: 1px solid var(--moyo-line); }
.moyomall-c-main-slider__note { margin: 0; color: var(--moyo-muted); font: var(--moyo-c-caption); letter-spacing: normal; }
.moyomall-c-main-slider__navigation { display: flex; align-items: center; gap: 3px; }
.moyomall-home .moyomall-c-main--editorial .moyomall-c-main-slider__arrow { position: static; width: 38px; height: 44px; border: 0; border-radius: 0; background: transparent; color: var(--moyo-c-navy); transform: none; }
.moyomall-c-main--editorial .moyomall-c-main-slider__pagination { gap: 0; min-height: 44px; }
.moyomall-c-main--editorial .moyomall-c-main-slider__dot { width: 28px; height: 44px; }
.moyomall-c-main--editorial .moyomall-c-main-slider__dot span { width: 5px; height: 5px; background: #9fa9bb; }
.moyomall-c-main--editorial .moyomall-c-main-slider__dot.is-active span { width: 17px; background: var(--moyo-c-navy); }

/* A smaller six-link index leaves the products close to the first screen. */
.moyomall-home .moyomall-category-tiles { grid-auto-rows: 84px; gap: 0; margin: 12px auto 10px; border-bottom: 1px solid var(--moyo-line); }
.moyomall-home .moyomall-category-tile { min-height: 84px; flex-direction: row; justify-content: center; gap: 10px; padding: 12px 8px; font: var(--moyo-c-label); letter-spacing: normal; }
.moyomall-home .moyomall-category-tile img { width: 40px; height: 40px; padding: 0; border-radius: 0; background: transparent; object-fit: contain; }
.moyomall-home .moyomall-category-tile + .moyomall-category-tile { border-left: 1px solid var(--moyo-line); }
.moyomall-home .moyomall-home__search { gap: 18px; margin-bottom: 42px; padding: 10px 0; background: transparent; border: 0; border-radius: 0; }
.moyomall-home .moyomall-home__search-title { font: var(--moyo-c-label); letter-spacing: normal; }
.moyomall-home .moyomall-home__search .moyo-product-search.woocommerce-product-search { height: 44px; border-radius: 0; background: var(--moyo-c-paper); }
.moyomall-home .moyomall-home__search .moyo-product-search input[type="search"] { height: 42px; border: 0; border-radius: 0; background: transparent; }
.moyomall-home .moyomall-home__search .moyo-product-search button { min-height: 42px; border-radius: 0; background: transparent; }

/* Editorial rules instead of a card surface around every category section. */
.moyomall-home .moyomall-product-section { padding-top: 22px; border-top: 1px solid var(--moyo-line); }
.moyomall-home .moyomall-product-section--simple .moyomall-section-title { margin-bottom: 22px; }
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__intro { padding-top: 0; }
.moyomall-home .moyomall-product-section__copy p { font: var(--moyo-c-body-small); letter-spacing: normal; }
.moyomall-home .moyomall-product-section__image img { width: 52px; height: 52px; border-radius: 0; }
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple).moyomall-product-section--first-category .moyomall-product-section__image img { width: 52px; height: 52px; }
.moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__more { width: auto; height: auto; min-height: 44px; margin-top: 10px; padding: 10px 0; border: 0; border-radius: 0; background: transparent; color: var(--moyo-c-navy); font: var(--moyo-c-label); text-decoration: underline; text-underline-offset: 4px; }
.moyomall-home .moyeo-native-image { border-color: var(--moyo-line); border-radius: 0; }
.moyomall-home .moyeo-native-image img { border-radius: 0; }
.moyomall-home .moyomall-home__magazine { padding-top: 24px; border-top: 1px solid var(--moyo-line); }
.moyomall-home .moyomall-home-magazine-slider__image img { border-radius: 0; }
@media (max-width: 1024px) {
  .moyomall-c-main--editorial .moyomall-c-feature__copy { padding-inline: 30px; }
  .moyomall-c-main--editorial .moyomall-c-feature__visual { padding-right: 30px; }
  .moyomall-home .moyomall-category-tiles { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .moyomall-home .moyomall-category-tile { flex-direction: column; gap: 5px; }
}
@media (max-width: 767px) {
  .moyomall-home .moyomall-c-main--editorial { margin-top: 12px; }
  .moyomall-home .moyomall-c-main--editorial .moyomall-c-feature { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); min-height: 220px; }
  .moyomall-c-main--editorial .moyomall-c-feature__copy { padding: 14px 0 14px 16px; }
  .moyomall-c-main--editorial .moyomall-c-feature__eyebrow { gap: 6px; margin-bottom: 6px; }
  .moyomall-c-main--editorial .moyomall-c-feature__title { margin-bottom: 6px; font: var(--moyo-c-card-title); letter-spacing: normal; word-break: normal; }
  .moyomall-c-feature__price { column-gap: 5px; font: var(--moyo-c-catalog-price); }
  .moyomall-c-feature__price del { flex: 0 0 100%; font: var(--moyo-c-caption); }
  .moyomall-c-main--editorial .moyomall-c-feature__product-link { gap: 10px; margin-top: 8px; padding: 9px 11px; white-space: nowrap; }
  .moyomall-c-main--editorial .moyomall-c-feature__campaign-link { right: 9px; bottom: 6px; }
  .moyomall-c-main--editorial .moyomall-c-feature__visual { padding: 10px 8px 28px 2px; }
  .moyomall-c-main--editorial .moyomall-c-feature__visual img { height: 150px; object-fit: contain; }
  .moyomall-c-main-slider__note { max-width: 140px; font: var(--moyo-c-caption); }
  .moyomall-c-main--editorial .moyomall-c-main-slider__dot { width: 22px; }
  .moyomall-home .moyomall-c-main--editorial .moyomall-c-main-slider__arrow { width: 30px; }
  .moyomall-home .moyomall-category-tiles { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 56px; row-gap: 0; column-gap: 0; margin: 10px auto 8px; }
  .moyomall-home .moyomall-category-tile { flex-direction: row; min-height: 56px; gap: 5px; padding: 8px 2px; font: var(--moyo-c-label); }
  .moyomall-home .moyomall-category-tile img { width: 29px; height: 29px; }
  .moyomall-home .moyomall-category-tile:nth-child(3n+1) { border-left: 0; }
  .moyomall-home .moyomall-category-tile:nth-child(-n+3) { border-bottom: 1px solid var(--moyo-line); }
  .moyomall-home .moyomall-category-tile span { word-break: keep-all; }
  .moyomall-home .moyomall-home__search { grid-template-columns: 1fr; gap: 0; margin-bottom: 26px; padding: 0; }
  .moyomall-home .moyomall-home__search-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .moyomall-home .moyomall-product-section { padding-top: 16px; }
  .moyomall-home .moyomall-product-section--simple .moyomall-section-title { margin-bottom: 16px; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__intro { flex-wrap: nowrap; gap: 12px; margin-bottom: 16px; padding-inline: 0; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__copy { flex: 1 1 0; min-width: 0; max-width: none; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__copy p { margin-top: 5px; font: var(--moyo-c-body-small); letter-spacing: normal; overflow-wrap: anywhere; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__image img,
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple).moyomall-product-section--first-category .moyomall-product-section__image img { width: 40px; height: 40px; }
  .moyomall-home .moyomall-product-section:not(.moyomall-product-section--simple) .moyomall-product-section__more { display: none; }
}

/* C45 root visual QA repair. Bound to the existing desktop FiboSearch form.
   The actual form/fields/preloader/suggestions/submission handler are retained. */
@media (min-width: 1025px) {
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form { margin: 0; }
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp {
    position: relative; display: flex; align-items: center; min-width: 0; height: 44px;
    padding: 0; border: 1px solid var(--moyo-line); border-radius: 8px; background: var(--moyo-c-paper);
  }
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp:focus-within { border-color: var(--moyo-brand); }
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
    flex: 1 1 0; min-width: 0; width: 100%; height: 42px; min-height: 42px;
    margin: 0; padding: 0 14px; border: 0; border-radius: 8px 0 0 8px;
    background: transparent; box-shadow: none; color: var(--moyo-ink); font: var(--moyo-c-search-input);
  }
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
    position: static; inset: auto; display: grid; place-items: center; flex: 0 0 44px;
    width: 44px; min-width: 44px; height: 42px; min-height: 42px; margin: 0; padding: 0;
    border: 0; border-radius: 0 8px 8px 0; background: transparent; color: var(--moyo-brand);
    transform: none; box-shadow: none; line-height: 1; cursor: pointer;
  }
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-search-submit svg { display: block; width: 18px; height: 18px; margin: 0; fill: currentColor; }
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-preloader { position: absolute; top: 0; right: 46px; height: 42px; pointer-events: none; }
}

/* C47: the header submit button is a grid item, so its icon stays in that item.
   FiboSearch's global magnifier rule uses absolute positioning; scope this reset
   to the submit icon and preserve its input, suggestions and mobile overlay. */
.site-header .dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier {
  position: static !important;
  inset: auto !important;
  display: block;
  width: 20px;
  height: 20px;
  max-width: 20px;
  max-height: 20px;
  margin: 0 !important;
  transform: none !important;
  flex-shrink: 0;
  pointer-events: none;
}
@media (min-width: 1025px) {
  #masthead .site-header__main .site-header__secondary .dgwt-wcas-search-form .dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier {
    width: 18px;
    height: 18px;
    max-width: 18px;
    max-height: 18px;
  }
}

/* C49: the saved artwork is the complete banner; keep its edges and text visible.
   Controls sit below the image, so they never cover the registered artwork. */
.moyomall-home .moyomall-c-main--artwork { margin-top: 20px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__viewport {
  max-width: 772px;
  margin-inline: auto;
  border: 0;
  box-shadow: 0 0 0 1px var(--moyo-line);
  border-radius: 10px;
  background: var(--moyo-c-paper);
}
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide {
  aspect-ratio: 685 / 284;
  max-height: 320px;
  background: var(--moyo-c-paper);
}
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide :is(a, picture) {
  display: block;
  width: 100%;
  height: 100%;
}
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__controls {
  justify-content: center;
  min-height: 44px;
  gap: 0;
  padding: 4px 0 0;
}
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__arrow {
  position: static;
  inset: auto;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  transform: none;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--moyo-c-navy);
}
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__arrow svg { width: 18px; height: 18px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__arrow:is(:hover, :focus-visible) { background: var(--moyo-c-pale); }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__pagination { gap: 0; min-height: 44px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__dot { width: 44px; height: 44px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__dot span { width: 6px; height: 6px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__dot.is-active span { width: 18px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__controls button:focus-visible { outline: 2px solid var(--moyo-brand); outline-offset: -3px; }
@media (max-width: 767px) {
  .moyomall-home .moyomall-c-main--artwork { margin-top: 12px; }
}

/* C50: strengthen the existing product-review guidance without enlarging it. */
.moyomall-product-review-link__note { color: var(--moyo-ink); }
.woocommerce div.product a.moyomall-product-review-link__button { background: var(--moyo-brand); color: #fff; }
.woocommerce div.product a.moyomall-product-review-link__button:is(:hover,:focus-visible) { background: var(--moyo-c-navy); border-color: var(--moyo-c-navy); color: #fff; }

/* C51: neighboring artwork shows that this banner continues sideways. */
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider { --moyo-banner-peek: clamp(20px, 10vw, 110px); --moyo-banner-gap: 12px; max-width: 1016px; margin-inline: auto; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__viewport { max-width: none; border-radius: 0; box-shadow: none; background: transparent; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__track { gap: var(--moyo-banner-gap); }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide { flex-basis: calc(100% - 2 * var(--moyo-banner-peek) - 2 * var(--moyo-banner-gap)); border-radius: 10px; box-shadow: inset 0 0 0 1px var(--moyo-line); }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__peek { position: absolute; top: 0; bottom: 48px; z-index: 2; width: var(--moyo-banner-peek); padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; }
.moyomall-c-main-slider__peek--prev { left: 0; }
.moyomall-c-main-slider__peek--next { right: 0; }
.moyomall-home .moyomall-category-tiles { border-top: 1px solid var(--moyo-line); }
@media (max-width: 767px) {
  .moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider { --moyo-banner-peek: 12px; --moyo-banner-gap: 8px; }
}

.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider:not(:has(.moyomall-c-main-slider__peek)) { max-width: 772px; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider:not(:has(.moyomall-c-main-slider__peek)) .moyomall-c-main-slider__slide { flex-basis: 100%; }

/* C51: one compact subhero language across internal page types. */
.moyomall-subhero { position: relative; padding: 24px 28px; margin: 0 0 28px; border: 1px solid var(--moyo-line); border-left: 3px solid var(--moyo-brand); border-radius: 8px; background: var(--moyo-c-paper); }
.moyomall-subhero .moyomall-subhero__brand { margin: 0 0 9px; color: var(--moyo-brand); font: var(--moyo-c-caption); }
.moyomall-subhero :is(h1, .moyomall-subhero__title) { margin: 0; color: var(--moyo-ink); font: var(--moyo-c-section-title); letter-spacing: normal; word-break: keep-all; }
.moyomall-subhero .moyomall-subhero__description { margin: 10px 0 0; color: var(--moyo-c-body); font: var(--moyo-c-body-type); }
.moyomall-category-header.moyomall-subhero { min-height: 0; margin-block: 24px; }
.moyomall-review-heading.moyomall-subhero :is(p, h1) { position: relative; }
.moyomall-subhero--auth { margin-bottom: 24px; padding: 20px; }
@media (max-width: 767px) { .moyomall-subhero { padding: 18px 20px; margin-bottom: 24px; } }

/* C52: header-aligned campaign strip; selected art stays sharp. */
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider { --moyo-banner-peek: max(20px, calc((100% - 772px) / 2 - var(--moyo-banner-gap))); max-width: none; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide { opacity: .42; transition: opacity 250ms ease; }
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide[aria-hidden="false"],
.moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide.is-current-artwork { opacity: 1; }
@media (max-width: 767px) { .moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider { --moyo-banner-peek: 12px; } }
@media (prefers-reduced-motion: reduce) { .moyomall-home .moyomall-c-main--artwork .moyomall-c-main-slider__slide { transition-duration: 0ms; } }

/* C53: the same compact icon navigation as home, plus native catalog controls. */
.moyomall-page.moyomall-page--category { padding-top: 28px; }
.moyomall-page--category .moyomall-category-tiles--page { display: grid; width: 100%; grid-auto-rows: 84px; gap: 0; margin: 0 0 20px; border-top: 1px solid var(--moyo-line); border-bottom: 1px solid var(--moyo-line); border-inline: 1px solid var(--moyo-line); }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile { flex-direction: row; border-radius: 0; min-height: 84px; justify-content: center; gap: 10px; padding: 12px 8px; font: var(--moyo-c-label); }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile img { display: block; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile + .moyomall-category-tile { border-left: 1px solid var(--moyo-line); }
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile.is-current { background: var(--moyo-c-paper); box-shadow: inset 0 -2px var(--moyo-brand); }
.moyomall-page--category .moyomall-category-header.moyomall-subhero { display: flex; align-items: center; justify-content: flex-start; gap: 16px; margin: 20px 0; }
.moyomall-page--category .moyomall-category-header.moyomall-subhero img { display: block; width: 40px; height: 40px; flex: 0 0 40px; padding: 0; background: transparent; border: 0; border-radius: 0; }
.moyomall-category-header__copy { min-width: 0; }
.moyomall-category-header__copy p { margin: 8px 0 0; color: var(--moyo-c-body); font: var(--moyo-c-body-type); word-break: keep-all; }
.moyomall-catalog-filter { display: grid; grid-template-columns: minmax(0,1fr) 190px auto auto; align-items: center; gap: 10px; margin: 0 0 24px; }
.moyomall-catalog-filter :is(input,select,button) { width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--moyo-line); border-radius: 8px; background: #fff; color: var(--moyo-ink); font: var(--moyo-c-label); }
.moyomall-catalog-filter button { border-color: var(--moyo-brand); background: var(--moyo-brand); color: #fff; cursor: pointer; }
.moyomall-catalog-filter__reset { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; color: var(--moyo-brand); font: var(--moyo-c-label); text-decoration: underline; }
.moyomall-catalog-filter :is(input,select,button,a):focus-visible { outline: 3px solid var(--moyo-brand); outline-offset: 3px; }
@media (max-width: 767px) {
 .moyomall-page.moyomall-page--category { padding-top: 18px; }
 .moyomall-page--category .moyomall-category-tiles--page { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 56px; margin: 0 0 20px; }
 .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile { min-height: 56px; gap: 5px; padding: 8px 2px; }
 .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile img { width: 29px; height: 29px; }
 .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile:nth-child(3n+1) { border-left: 0; }
 .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile:nth-child(n+4) { border-top: 1px solid var(--moyo-line); }
 .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile span { word-break: keep-all; }
 .moyomall-page--category .moyomall-category-header.moyomall-subhero { gap: 12px; margin: 18px 0; }
 .moyomall-catalog-filter { grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; }
 .moyomall-catalog-filter__query { grid-column: 1 / -1; }
}

/* Keep mobile related products in one compact swipeable row. */
@media (max-width: 767px) {
  body.single-product .related.products { margin-top: 32px; }
  body.single-product .related.products > h2 { margin-bottom: 16px; font: var(--moyo-c-section-title); }
  body.single-product .related.products > ul.products {
    display: flex !important; flex-wrap: nowrap !important; align-items: stretch;
    gap: 14px; width: 100%; margin: 0 0 16px !important; padding: 0 0 12px;
    overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity;
    scrollbar-width: thin; scrollbar-color: #aab3dd transparent;
    -webkit-overflow-scrolling: touch;
  }
  body.single-product .related.products > ul.products::before,
  body.single-product .related.products > ul.products::after { display: none !important; }
  body.single-product .related.products > ul.products > li.product {
    float: none !important; clear: none !important;
    flex: 0 0 calc((100% - 28px) / 2.35); width: calc((100% - 28px) / 2.35) !important;
    min-width: 0; margin: 0 !important; scroll-snap-align: start;
  }
  body.single-product .related.products > ul.products > li.product a img {
    width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: contain;
    margin-bottom: 12px; background: #fff;
  }
  body.single-product .related.products .woocommerce-loop-product__title {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    overflow: hidden; font-size: 14px !important; line-height: 1.45 !important;
    min-height: 4.35em; max-height: 4.35em; padding: 0 !important; margin: 0 0 10px;
  }
  body.single-product .related.products .price { font-size: 14px !important; line-height: 1.5; }
}

/* Equal border-box dimensions keep WooCommerce sale badges circular. */
body .woocommerce span.onsale, body.woocommerce span.onsale {
  box-sizing: border-box !important; width: 42px !important; height: 42px !important;
  min-width: 42px !important; min-height: 42px !important;
  max-width: 42px !important; max-height: 42px !important;
  padding: 0 !important; border-radius: 50% !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  line-height: 1 !important; white-space: nowrap; flex-shrink: 0;
}
@media (max-width: 767px) {
  body .woocommerce ul.products li.product span.onsale,
  body.woocommerce ul.products li.product span.onsale {
    width: 36px !important; height: 36px !important;
    min-width: 36px !important; min-height: 36px !important;
    max-width: 36px !important; max-height: 36px !important;
  }
}

/* Center magazine pagination and keep consultation reachable while scrolling. */
.moyomall-home-magazine-slider__controls { left: 0 !important; right: 0; width: 100%; display: flex; justify-content: center; }
.moyomall-home-magazine-slider__dots { justify-content: center; }
.moyomall-floating-contact {
  position: fixed; right: 24px; bottom: 20px; z-index: 900;
  display: inline-flex; align-items: center; gap: 9px; min-height: 48px;
  padding: 12px 16px; border-radius: 28px; background: #fee500; color: #191919;
  box-shadow: 0 4px 16px rgba(28,35,57,.16); text-decoration: none;
  font-size: 14px; font-weight: 700; line-height: 1.4;
}
.moyomall-floating-contact:hover { background: #f4dc00; color: #191919; }
.moyomall-floating-contact:focus-visible { outline: 3px solid #4754ca; outline-offset: 4px; }
@media (max-width: 767px) {
  .moyomall-floating-contact { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); padding: 10px 13px; min-height: 44px; font-size: 12px; gap: 7px; }
}

/* Account, cart and checkout keep native WooCommerce actions and validation. */
.moyomall-commerce-hero { margin: 20px 0 32px; padding: 26px 28px; border: 1px solid var(--moyo-line); border-radius: 12px; background: #f7f9fe; }
.moyomall-commerce-hero > span { color: var(--moyo-brand); font-size: 12px; font-weight: 700; }
.moyomall-commerce-hero h1 { margin: 6px 0 10px; font-size: 28px; line-height: 1.3; color: var(--moyo-ink); }
.moyomall-commerce-hero p { margin: 0; color: var(--moyo-muted); font-size: 14px; line-height: 1.6; }
.moyomall-menu-account { display: flex; gap: 14px; margin: 0 0 22px; padding: 20px 0 22px; border-bottom: 1px solid var(--moyo-line); }
.moyomall-menu-account__icon { flex: 0 0 42px; height: 42px; border-radius: 50%; background: #eef2ff; color: var(--moyo-brand); display: grid; place-items: center; }
.moyomall-menu-account__icon svg { width: 24px; height: 24px; }
.moyomall-menu-account__copy { min-width: 0; }
.moyomall-menu-account__copy strong { font-size: 16px; }
.moyomall-menu-account__copy p { margin: 5px 0 14px; color: var(--moyo-muted); font-size: 12px; line-height: 1.6; }
.moyomall-menu-account__links { display: flex; align-items: center; gap: 14px; }
.moyomall-menu-account__copy a { display: inline-flex; align-items: center; gap: 16px; min-height: 40px; font-size: 13px; font-weight: 650; text-decoration: none; color: var(--moyo-brand); }
.moyomall-menu-account__copy .moyomall-menu-account__primary { padding: 8px 15px; border-radius: 7px; background: var(--moyo-brand); color: #fff; }
body.woocommerce-account .woocommerce-MyAccount-navigation { width: 220px; float: left; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 13px 16px; border: 1px solid var(--moyo-line); border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--moyo-ink); background: #fff; }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--moyo-brand); background: #eef2ff; border-color: #bcc6ed; }
body.woocommerce-account .woocommerce-MyAccount-content { width: calc(100% - 250px); float: right; min-width: 0; padding: 22px 24px; border: 1px solid var(--moyo-line); border-radius: 12px; }
body.woocommerce-account .woocommerce-MyAccount-content p { line-height: 1.75; }
body.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--moyo-muted); border-color: transparent; }
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .woocommerce :is(table.shop_table, .woocommerce-info, .woocommerce-message) { border-radius: 10px; }
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .woocommerce :is(input.input-text,textarea,select) { min-height: 44px; border-radius: 7px; padding: 10px 12px; }
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .woocommerce :is(button.button,a.button,input.button) { min-height: 44px; padding: 12px 18px; border-radius: 7px; line-height: 1.4; }
body.woocommerce-cart .cart-empty { padding: 20px 22px; margin-bottom: 22px; background: #f7f9fe; border-radius: 10px; }
body.woocommerce-cart .woocommerce-cart-form table.shop_table td { padding: 18px 14px; }
body.woocommerce-cart .cart-collaterals .cart_totals { padding: 24px; background: #f7f9fe; border: 1px solid var(--moyo-line); border-radius: 12px; }
body.woocommerce-cart .cart_totals h2 { margin: 0 0 18px; font-size: 21px; }
body.woocommerce-checkout form.checkout .col2-set { width: 100%; float: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin-bottom: 28px; }
body.woocommerce-checkout form.checkout .col2-set > .col-1,body.woocommerce-checkout form.checkout .col2-set > .col-2 { width: auto; float: none; }
body.woocommerce-checkout #order_review_heading { margin: 26px 0 16px; font-size: 22px; }
body.woocommerce-checkout #order_review { width: 100%; float: none; border: 1px solid var(--moyo-line); border-radius: 12px; padding: 24px; background: #f7f9fe; }
body.woocommerce-checkout #payment { background: #fff; border-radius: 10px; }
@media (max-width: 767px) {
  .moyomall-commerce-hero { padding: 20px; margin: 16px 0 24px; }
  .moyomall-commerce-hero h1 { font-size: 24px; }
  .moyomall-commerce-hero p { font-size: 13px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation,body.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 18px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 11px 5px; min-height: 44px; text-align: center; font-size: 12px; line-height: 1.5; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding: 18px 16px; }
  body.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; padding: 18px; }
  body.woocommerce-cart .woocommerce-cart-form .coupon { display: flex; gap: 8px; flex-wrap: wrap; float: none; }
  body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text { width: 100% !important; }
  body.woocommerce-checkout form.checkout .col2-set { grid-template-columns: minmax(0,1fr); gap: 20px; }
  body.woocommerce-checkout #order_review { padding: 16px; }
}

html.moyo-menu-open .moyomall-floating-contact { visibility: hidden; pointer-events: none; }

/* Native Woo clearfix pseudo-elements must not occupy checkout grid cells. */
.woocommerce form.checkout .col2-set::before,.woocommerce form.checkout .col2-set::after{display:none!important}
.woocommerce form.checkout .col2-set>.col-1,.woocommerce form.checkout .col2-set>.col-2{float:none!important;width:auto!important;min-width:0}

/* Keep native Woo notice icons clear of text and coupons readable. */
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{padding-left:52px!important}
.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-error::before{left:20px;top:18px}
@media(min-width:769px){.woocommerce-cart table.cart td.actions .coupon .input-text{width:200px;max-width:100%}}

/* Client-provided shipping notice: original artwork with readable mobile text. */
#bl-popup-group .bl-popup-text-card:has(.moyo-shipping-popup){padding:0!important;border:0;box-shadow:none;background:transparent}
.moyo-shipping-popup__art{position:relative;line-height:0}
.moyo-shipping-popup__art img{display:block;width:100%;height:auto}
.moyo-shipping-popup__hotspot{position:absolute;background:transparent!important;border:0!important;box-shadow:none!important;color:transparent!important;padding:0!important;cursor:pointer}
.moyo-shipping-popup__hotspot:focus-visible{outline:3px solid var(--moyo-brand);outline-offset:2px}
.moyo-shipping-popup__confirm{left:39%;bottom:8.3%;width:22%;height:9%}
.moyo-shipping-popup__x{right:3.8%;top:6.4%;width:4.5%;height:7%}
.moyo-shipping-popup__mobile-text{display:none}
@media(max-width:767px){
 .moyo-shipping-popup__mobile-text{display:block;padding:18px 20px;background:#fffaf2;color:#2a2019;font:inherit;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
 .moyo-shipping-popup__mobile-text p{margin:0 0 12px}
 .moyo-shipping-popup__mobile-text p:last-child{margin:0}
 .moyo-shipping-popup__mobile-text strong{font-weight:700}
}

/* Stabilize the existing square WooCommerce gallery before image load. */
.single-product .woocommerce-product-gallery .flex-viewport {
    aspect-ratio: 1 / 1;
}

/* C67: a clear writer action after the review list or individual review. */
.moyomall-review-footer { display: flex; justify-content: flex-end; margin: 24px 0 8px; padding-top: 24px; border-top: 1px solid var(--moyo-line); }
.moyomall-review-footer .moyomall-review-write { min-width: 176px; min-height: 48px; padding: 12px 24px; border-color: var(--moyo-brand); background: var(--moyo-brand); color: #fff; font-size: 15px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.moyomall-review-footer .moyomall-review-write:is(:hover,:focus-visible) { background: #3344b5; border-color: #3344b5; color: #fff; }
.moyomall-review-footer .moyomall-review-write:focus-visible { outline: 2px solid var(--moyo-brand); outline-offset: 3px; }
@media (max-width: 767px) { .moyomall-review-footer { margin-top: 20px; padding-top: 20px; } .moyomall-review-footer .moyomall-review-write { width: 100%; } }
/* C74: clean PC & mobile checkout cards, order review table, payment notice, consent box, full-width place-order CTA and order-received view. */
body.woocommerce-checkout #customer_details {
  width: 100%;
  float: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 28px;
}
body.woocommerce-checkout #customer_details > .col-1,
body.woocommerce-checkout #customer_details > .col-2 {
  float: none !important;
  width: auto !important;
  min-width: 0;
  padding: 28px !important;
  border: 1px solid var(--moyo-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(20, 37, 96, .05);
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout #order_review_heading {
  margin: 0 0 20px !important;
  color: var(--moyo-ink);
  font-size: 23px !important;
  font-weight: 800 !important;
  letter-spacing: -.03em;
}
body.woocommerce-checkout #order_review_heading {
  margin-top: 8px !important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3::after,
body.woocommerce-checkout .woocommerce-shipping-fields > h3::after,
body.woocommerce-checkout #order_review_heading::after {
  display: block;
  width: 34px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  content: "";
  background: var(--moyo-brand);
}
body.woocommerce-checkout form.checkout .form-row-first,
body.woocommerce-checkout form.checkout .form-row-last {
  float: none !important;
  width: 100% !important;
}
body.woocommerce-checkout form.checkout .form-row {
  margin: 0 0 16px !important;
  padding: 0 !important;
}
body.woocommerce-checkout form.checkout .form-row label {
  margin: 0 0 8px !important;
  color: var(--moyo-ink);
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4;
}
body.woocommerce-checkout form.checkout .input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout .select2-selection {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #cdd6ea !important;
  border-radius: 10px !important;
  color: var(--moyo-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 15px !important;
}
body.woocommerce-checkout form.checkout textarea.input-text {
  min-height: 112px !important;
  padding: 14px 15px !important;
  resize: vertical;
}
body.woocommerce-checkout form.checkout .input-text:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout .select2-container--focus .select2-selection {
  border-color: var(--moyo-brand) !important;
  outline: 3px solid rgba(56, 82, 185, .14) !important;
}
body.woocommerce-checkout form.checkout input.postcode-button {
  min-height: 46px !important;
  height: 46px !important;
  border: 1px solid #bbc8ee !important;
  border-radius: 10px !important;
  background: #eef2ff !important;
  color: var(--moyo-c-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #order_review {
  width: 100%;
  float: none;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--moyo-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(20, 37, 96, .06);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
  background: #fff;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 17px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid #e6ecf7 !important;
  color: var(--moyo-ink);
  font-size: 14.5px;
  line-height: 1.55;
  word-break: keep-all;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  width: 64%;
  overflow-wrap: anywhere;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  color: var(--moyo-c-navy);
  background: #f4f7ff;
  font-size: 14px;
  font-weight: 800;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  font-weight: 700;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  color: var(--moyo-brand);
  background: #f9fbff;
  font-size: 18px !important;
  font-weight: 800 !important;
}
body.woocommerce-checkout #payment {
  margin: 0 !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--moyo-ink);
  background: #fff !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1.6;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label {
  display: block;
  margin: 0 0 10px !important;
  color: var(--moyo-c-navy);
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.45;
  word-break: keep-all;
}
body.woocommerce-checkout #payment div.payment_box {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0 0 !important;
  padding: 16px 20px !important;
  border: 1px solid #d5dff7 !important;
  border-radius: 12px !important;
  color: #24304d !important;
  background: #f3f6ff !important;
  font-size: 14.5px !important;
  font-weight: 600;
  line-height: 1.75 !important;
  word-break: keep-all;
}
body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}
body.woocommerce-checkout #payment div.payment_box p {
  margin: 0 !important;
}
body.woocommerce-checkout #payment .form-row.place-order,
body.woocommerce-checkout .place-order {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 4px 0 0 !important;
}
body.woocommerce-checkout #payment .form-row.place-order::before,
body.woocommerce-checkout #payment .form-row.place-order::after {
  display: none !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
  margin: 0 0 16px !important;
  padding: 18px 20px !important;
  border: 1px solid #c5d2f6 !important;
  border-radius: 14px !important;
  background: #f5f8ff !important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text {
  color: #3b4764 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  word-break: keep-all;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text p {
  margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions {
  margin: 12px 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--moyo-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--moyo-ink) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required,
body.woocommerce-checkout .place-order .form-row.validate-required {
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
  margin: 12px 0 0 !important;
  padding: 14px 16px !important;
  border: 1.5px solid var(--moyo-brand) !important;
  border-radius: 11px !important;
  background: #fff !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .place-order label.woocommerce-form__label-for-checkbox {
  display: block !important;
  position: relative !important;
  min-height: 24px !important;
  padding-left: 35px !important;
  margin: 0 !important;
  color: var(--moyo-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  word-break: keep-all !important;
  cursor: pointer !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox .required,
body.woocommerce-checkout .place-order label.woocommerce-form__label-for-checkbox .required {
  margin-left: 2px !important;
  color: #d92d20 !important;
  text-decoration: none !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
body.woocommerce-checkout .place-order .validate-required input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  clip: auto !important;
  clip-path: none !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  border: 2px solid var(--moyo-brand) !important;
  border-radius: 6px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #fff !important;
  cursor: pointer !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked,
body.woocommerce-checkout .place-order .validate-required input[type="checkbox"]:checked {
  border-color: var(--moyo-brand) !important;
  background: var(--moyo-brand) !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked::after,
body.woocommerce-checkout .place-order .validate-required input[type="checkbox"]:checked::after {
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  content: "" !important;
  transform: rotate(45deg) !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-link,
body.woocommerce-checkout .woocommerce-privacy-policy-link {
  color: var(--moyo-brand) !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.woocommerce-checkout #place_order {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--moyo-brand) !important;
  box-shadow: 0 12px 26px rgba(56, 82, 185, .24) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  cursor: pointer !important;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus-visible {
  color: #fff !important;
  background: var(--moyo-c-navy) !important;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 24px !important;
  padding: 24px 28px !important;
  border: 1px solid #c5d2f6;
  border-radius: 16px;
  color: var(--moyo-c-navy) !important;
  background: #f4f7ff;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.45;
}
body.woocommerce-order-received .woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 26px !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  float: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid var(--moyo-line) !important;
  border-radius: 14px;
  color: var(--moyo-muted);
  background: #fff;
  font-size: 12px !important;
  line-height: 1.45;
  text-transform: none !important;
}
body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  overflow-wrap: anywhere;
  margin-top: 8px;
  color: var(--moyo-ink);
  font-size: 15px !important;
  font-weight: 800 !important;
}
@media (max-width: 767px) {
  body.woocommerce-checkout #customer_details {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 20px;
  }
  body.woocommerce-checkout #customer_details > .col-1,
  body.woocommerce-checkout #customer_details > .col-2 {
    padding: 20px 16px !important;
    border-radius: 15px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields > h3,
  body.woocommerce-checkout .woocommerce-shipping-fields > h3,
  body.woocommerce-checkout #order_review_heading {
    margin-bottom: 18px !important;
    font-size: 20px !important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 14px 14px !important;
    font-size: 13.5px;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-size: 16px !important;
  }
  body.woocommerce-checkout #payment {
    padding: 16px !important;
  }
  body.woocommerce-checkout #payment div.payment_box {
    padding: 14px 16px !important;
    font-size: 13.5px !important;
  }
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 0 0 14px !important;
    padding: 14px !important;
  }
  body.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox,
  body.woocommerce-checkout .place-order label.woocommerce-form__label-for-checkbox {
    padding-left: 34px !important;
    font-size: 14.5px !important;
  }
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
  body.woocommerce-checkout .place-order .validate-required input[type="checkbox"] {
    top: 2px !important;
    transform: none !important;
  }
  body.woocommerce-checkout #place_order {
    min-height: 56px !important;
    font-size: 16px !important;
  }
  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

/* C75: borderless category navigation tiles on home and category pages (PC & mobile), plus checkout terms helper guidance. */
.moyomall-home .moyomall-category-tiles,
.moyomall-page--category .moyomall-category-tiles--page {
  border: 0 !important;
  box-shadow: none !important;
  gap: 8px 12px;
}
.moyomall-home .moyomall-category-tile,
.moyomall-home .moyomall-category-tile + .moyomall-category-tile,
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile,
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile + .moyomall-category-tile {
  border: 0 !important;
  border-radius: 12px;
  background: transparent;
}
.moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile.is-current {
  background: var(--moyo-c-pale);
  color: var(--moyo-brand);
  box-shadow: none !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required::before,
body.woocommerce-checkout .place-order .form-row.validate-required::before {
  display: block;
  margin: 0 0 8px;
  color: var(--moyo-brand);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
  content: "✓ 좌측 동의버튼 체크하시면 주문 확정이 가능합니다.";
}
@media (max-width: 767px) {
  .moyomall-home .moyomall-category-tiles,
  .moyomall-page--category .moyomall-category-tiles--page {
    row-gap: 4px;
    column-gap: 6px;
  }
  .moyomall-home .moyomall-category-tile,
  .moyomall-home .moyomall-category-tile:nth-child(-n+3),
  .moyomall-home .moyomall-category-tile:nth-child(3n+1),
  .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile,
  .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile:nth-child(n+4),
  .moyomall-page--category .moyomall-category-tiles--page .moyomall-category-tile:nth-child(3n+1) {
    border: 0 !important;
  }
}

/* C76: compact support links, inquiry above Kakao, both within the same safe-area stack. */
.moyomall-floating-support {
  position: fixed; right: 24px; bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 900; display: flex; flex-direction: column; align-items: stretch; gap: 8px;
}
.moyomall-floating-support > a {
  position: static; display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; min-height: 48px; padding: 12px 16px; border-radius: 28px;
  font: var(--moyo-c-label); white-space: nowrap; text-decoration: none;
}
.moyomall-floating-support > a svg { flex: 0 0 auto; }
.moyomall-floating-inquiry { background: var(--moyo-brand); color: #fff; box-shadow: 0 4px 16px rgba(28,35,57,.14); }
.moyomall-floating-inquiry:hover { background: var(--moyo-c-navy); color: #fff; }
html.moyo-menu-open .moyomall-floating-support { visibility: hidden; pointer-events: none; }
@media (max-width: 767px) {
  .moyomall-floating-support { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); gap: 8px; }
  .moyomall-floating-support > a { min-height: 44px; padding: 10px 13px; gap: 7px; font: var(--moyo-c-caption); }
  .moyomall-floating-support > a svg { width: 20px; height: 20px; }
}
