/* ============================================================
   RAYSHE design layer — loads after base/styles.css and
   a9/commerce-pages.css. All colors come from :root --ry-* vars
   (layout/theme.html), which read theme settings. Do not hardcode
   brand colors here except as var() fallbacks.
   ============================================================ */

body {
  background: var(--paper, #ffffff);
  color: var(--ry-ink, #3a3335);
  font-family: var(--ry-font-sans);
  font-weight: 300;
  letter-spacing: 0.01em;
}

::selection {
  background: var(--ry-accent);
  color: #faf6f0;
}

/* ---------- device visibility helpers ---------- */
@media (min-width: 750px) {
  .ry-only-mobile { display: none !important; }
}
@media (max-width: 749px) {
  .ry-only-desktop { display: none !important; }
}

/* ---------- shared section shell ---------- */
.ry-section {
  padding-top: var(--ry-space-top, 0px);
  padding-bottom: var(--ry-space-bottom, 0px);
}

.ry-section-title {
  margin: 0 0 34px;
  text-align: var(--ry-title-align, center);
  font-family: var(--ry-font-serif);
  font-style: italic;
  font-weight: 500;
  font-size: var(--ry-title-size, 34px);
  line-height: 1.2;
  color: var(--ry-heading-color, var(--ry-ink));
}
@media (max-width: 749px) {
  .ry-section-title { font-size: calc(var(--ry-title-size, 34px) * 0.78); margin-bottom: 24px; }
}

.ry-page-title {
  text-align: center;
  font-family: var(--ry-font-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 34px;
  line-height: 1.2;
  color: var(--ry-ink);
  margin: 54px 0 40px;
}
@media (max-width: 749px) {
  .ry-page-title { font-size: 26px; margin: 36px 0 26px; }
}

/* ---------- buttons ---------- */
.ry-btn {
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  padding: 15px 24px;
  font-family: var(--ry-font-sans);
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  letter-spacing: var(--ry-track-btn, 0.24em);
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s var(--ry-ease);
}
.ry-btn--primary {
  background: var(--ry-accent);
  color: #faf6f0;
  border: 1px solid var(--ry-accent);
}
.ry-btn--primary:hover {
  background: var(--ry-accent-dark);
  border-color: var(--ry-accent-dark);
  color: #faf6f0;
}
.ry-btn--secondary {
  background: var(--ry-white, #fff);
  color: var(--ry-ink);
  border: 1px solid rgba(58, 51, 53, 0.4);
}
.ry-btn--secondary:hover {
  border-color: var(--ry-border-strong);
  background: var(--ry-pink);
  color: var(--ry-ink);
}
.ry-btn--pill {
  background: var(--ry-pink-btn);
  color: var(--ry-accent);
  border: none;
  border-radius: 999px;
  letter-spacing: 0.06em;
  text-transform: none;
}
.ry-btn--pill:hover { filter: brightness(0.96); }

/* ---------- RAYSHE product card (components/ry-product-card) ---------- */
.ry-card {
  display: block;
  text-align: center;
  text-decoration: none;
  color: inherit;
}
.ry-card__media {
  position: relative;
  overflow: hidden;
  background: var(--ry-cream);
  aspect-ratio: 3 / 4;
}
.ry-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--ry-dur-img, 0.8s) var(--ry-ease);
}
.ry-card:hover .ry-card__media > img { transform: scale(1.05); }
.ry-card__img-alt {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--ry-dur-swap, 0.5s) ease;
}
.ry-card__img-alt img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ry-card:hover .ry-card__img-alt { opacity: 1; }
.ry-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #fff;
  color: var(--ry-accent);
  font-family: var(--ry-font-sans);
  font-weight: 400;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 4px 10px;
}
.ry-card__name {
  margin: 14px 0 4px;
  font-family: var(--ry-font-serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.3;
  color: var(--ry-ink);
}
.ry-card__price {
  margin: 0;
  font-family: var(--ry-font-sans);
  font-weight: 300;
  font-size: 12px;
  line-height: 1;
  color: var(--ry-ink-faint);
  letter-spacing: 0.06em;
}
.ry-card__price s { color: var(--ry-ink-mute); margin-left: 6px; }
.ry-card__price .ry-card__sale { color: var(--ry-sale); }
@media (max-width: 749px) {
  .ry-card__name { font-size: 15px; margin-top: 10px; }
}

/* ---------- reviews section re-skin (a9-product-reviews + cards) ---------- */
.a9-product-reviews {
  font-family: var(--ry-font-sans);
}
.a9-product-reviews__head h2 {
  font-family: var(--ry-font-serif) !important;
  font-weight: 500;
  color: var(--ry-ink);
}
.a9-product-reviews__head .eyebrow {
  color: var(--ry-gold);
  letter-spacing: var(--ry-track-label, 0.28em);
}
.a9-product-reviews__stars { color: var(--ry-gold) !important; letter-spacing: 0.3em; }
.a9-product-reviews__score { color: var(--ry-ink); font-family: var(--ry-font-serif); }
.a9-product-reviews__count,
.a9-product-reviews__intro { color: var(--ry-ink-soft); }

.a9-product-reviews .testimonial-card.review-snap-card {
  background: #fff;
  border: 1px solid var(--ry-border, #e2d6d8);
  border-radius: 0;
  box-shadow: none;
}
.a9-product-reviews .review-snap-card:hover {
  border-color: var(--ry-border-strong, #c9b6ba);
}
.a9-product-reviews .review-snap-card > span { color: var(--ry-gold); letter-spacing: 0.28em; }
.a9-product-reviews .review-snap-card h3 {
  font-family: var(--ry-font-serif);
  font-style: italic;
  font-weight: 500;
  color: var(--ry-ink);
}
.a9-product-reviews .review-snap-card p { color: var(--ry-ink-soft); line-height: 1.7; }
.a9-product-reviews .review-snap-card__footer,
.a9-product-reviews .review-snap-card__size,
.a9-product-reviews .review-snap-card__name {
  color: #9c8b90;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 10.5px;
}

/* review form: RAYSHE pill submit + soft fields */
.a9-product-reviews__form-wrap input[type="text"],
.a9-product-reviews__form-wrap input[type="email"],
.a9-product-reviews__form-wrap textarea,
.a9-product-reviews__form-wrap select {
  background: #fff;
  border: 1px solid rgba(58, 51, 53, 0.25);
  border-radius: 0;
  color: var(--ry-ink);
  font-family: var(--ry-font-sans);
}
.a9-product-reviews__form-wrap input:focus,
.a9-product-reviews__form-wrap textarea:focus,
.a9-product-reviews__form-wrap select:focus {
  border-color: var(--ry-border-strong);
  outline: none;
}
.a9-product-reviews .a9-product-reviews__submit {
  background: var(--ry-pink-btn) !important;
  color: var(--ry-accent) !important;
  border: none !important;
  border-radius: 999px !important;
  letter-spacing: 0.06em;
  text-transform: none;
  padding: 13px 44px;
}
.a9-product-reviews .a9-product-reviews__submit:hover { filter: brightness(0.96); }

/* ---------- size guide modal re-skin (scsg-*) ----------
   脚本 shopline-size-chart.js 运行时把自己的 <style> 注到 head（在本文件之后），
   同特异性时它赢 → 这里的形制覆盖必须 !important。
   目标：白底直角细粉边、衬线标题、酒红直角 tab/pill、大写小字距表头。 */
.scsg-modal {
  background: #fff !important;
  border-radius: 18px !important;
  border: 1px solid rgba(92, 31, 46, 0.14) !important;
  box-shadow: 0 34px 70px -34px rgba(31, 10, 16, 0.35) !important;
  font-family: var(--ry-font-sans) !important;
}
.scsg-title {
  font-family: var(--ry-font-serif) !important;
  font-weight: 500 !important;
  font-size: 26px !important;
  letter-spacing: 0.02em !important;
  color: var(--ry-ink) !important;
}
.scsg-subtitle { color: var(--ry-ink-soft) !important; font-weight: 300 !important; }
.scsg-close {
  background: transparent !important;
  border: 1px solid var(--ry-border) !important;
  border-radius: 50% !important;
  color: var(--ry-ink) !important;
}
.scsg-close:hover { border-color: var(--ry-ink) !important; background: var(--ry-pink-soft, #fbf6f7) !important; }
/* 国家切换 tab：白底细描边直角，选中=酒红实底（同主题按钮语言） */
.scsg-tab {
  background: #fff !important;
  border: 1px solid var(--ry-border) !important;
  border-radius: 10px !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ry-ink) !important;
  box-shadow: none !important;
}
.scsg-tab:hover:not(.active) { background: var(--ry-pink-soft, #fbf6f7) !important; border-color: var(--ry-ink) !important; }
.scsg-tab.active {
  background: var(--ry-accent, #5c1f2e) !important;
  border-color: var(--ry-accent, #5c1f2e) !important;
  color: #faf6f0 !important;
  box-shadow: none !important;
}
.scsg-tab.active:hover { background: var(--ry-accent-dark, #3f1420) !important; }
/* in/cm 切换：直角段控件 */
.scsg-unit { background: transparent !important; border: 1px solid var(--ry-border) !important; border-radius: 999px !important; padding: 2px !important; }
.scsg-unit button { border-radius: 999px !important; font-weight: 400 !important; letter-spacing: 0.08em !important; }
.scsg-unit button.active { background: var(--ry-accent, #5c1f2e) !important; color: #faf6f0 !important; box-shadow: none !important; }
.scsg-unit button.active:hover { background: var(--ry-accent-dark, #3f1420) !important; }
/* 尺码表：大写小字距表头 + 细粉分隔线 + 直角尺码标签 */
.scsg-table thead th {
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ry-ink-faint, #8a7a7e) !important;
}
.scsg-table th, .scsg-table td { border-bottom-color: var(--ry-divider, rgba(58, 51, 53, 0.15)) !important; }
.scsg-size-pill {
  border-radius: 999px !important;
  background: var(--ry-accent, #5c1f2e) !important;
  letter-spacing: 0.1em !important;
  font-weight: 400 !important;
}
.scsg-size-pill--country {
  background: #fff !important;
  border: 1px solid var(--ry-border) !important;
  color: var(--ry-ink) !important;
}
.scsg-table tbody tr.scsg-recommended td { background: var(--ry-pink-soft, #fbf6f7) !important; }
/* 找尺码计算器 + 测量说明卡：粉软底直角 */
.scsg-calc, .scsg-measure {
  background: var(--ry-pink-soft, #fbf6f7) !important;
  border-radius: 12px !important;
}
.scsg-calc-input { border-radius: 8px !important; background: #fff !important; }
.scsg-calc-input:focus-within { box-shadow: 0 0 0 1px var(--ry-ink) !important; }
.scsg-calc-label, .scsg-calc-rec-label, .scsg-measure h4 {
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ry-ink-soft) !important;
}
.scsg-measure-img, .scsg-measure svg { border-radius: 10px !important; }
.scsg-section-title {
  font-family: var(--ry-font-serif) !important;
  font-weight: 500 !important;
  color: var(--ry-ink) !important;
}
/* 触发链接（Size guide）：细体下划线，hover 玫瑰金 */
.scsg-trigger { font-weight: 300 !important; letter-spacing: 0.04em !important; }
.scsg-trigger:hover { color: var(--ry-gold, #c9907a) !important; }

/* ---------- native commerce fine-tuning ---------- */
/* price accents on PDP / cards follow RAYSHE ink & sale colors */
.price__sale, .price--on-sale .price-item--regular s { color: var(--ry-ink-mute); }

/* breathing room under sticky header for anchored scrolling */
html { scroll-padding-top: 140px; }

/* ============================================================
   PDP — RAYSHE skin（在 a9/commerce-pages.css 之后加载，
   同特异性时后者胜出；颜色基础已由 main-product 的 a9_* 设置喂入，
   这里只做设计稿的形制：衬线标题、方框选项、白描边加购 + 酒红立即购买、
   细线手风琴、扁平信息栏）
   ============================================================ */
.a9-commerce-page .product-detail__title {
  font-family: var(--ry-font-serif);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: var(--ry-ink);
}
.a9-commerce-page .product-detail__price { color: var(--ry-ink-soft); }

/* 信息栏铺平（卡片边框已在设置里关掉，这里去内边距对齐设计稿） */
.a9-commerce-page .product-detail__info {
  padding: 6px 0 0;
  background: transparent;
  box-shadow: none;
}
@media (max-width: 760px) {
  .a9-commerce-page .product-detail__info { padding: 12px 0 0; }
}

/* 规格组标题：Style: / Size: 小号正体 */
.a9-commerce-page .variant-picker__group-label {
  font-family: var(--ry-font-sans);
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--ry-ink);
  text-transform: none;
}

/* 尺码/文字选项：白底细描边方框；选中 = 深色描边（不填充，贴设计稿） */
.a9-commerce-page .variant-picker__button:not(.variant-picker__button--swatch) {
  background: #fff;
  border: 1px solid var(--ry-border, #e2d6d8);
  border-radius: 0;
  color: var(--ry-ink);
  font-family: var(--ry-font-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.a9-commerce-page .variant-picker__button:not(.variant-picker__button--swatch):hover {
  border-color: var(--ry-ink);
  background: #fff;
}
.a9-commerce-page .variant-picker__option:has(input:checked) .variant-picker__button:not(.variant-picker__button--swatch) {
  background: #fff;
  color: var(--ry-ink);
  border-color: var(--ry-ink);
  box-shadow: inset 0 0 0 1px var(--ry-ink);
}
/* 颜色色板：选中加外圈 */
.a9-commerce-page .variant-picker__option:has(input:checked) .variant-picker__button--swatch {
  outline: 1px solid var(--ry-ink);
  outline-offset: 2px;
}

/* 数量选择器：细描边直角 */
.a9-commerce-page .quantity-control,
.a9-commerce-page theme-input-number {
  border-color: var(--ry-border, #e2d6d8);
}

/* 加购 = 白底描边；BUY IT NOW（动态支付按钮）= 酒红实底 */
.a9-commerce-page .product-detail__buy-buttons .button--secondary {
  min-height: 48px;
  background: #fff;
  border: 1px solid rgba(58, 51, 53, 0.45);
  color: var(--ry-ink);
  border-radius: 0;
  font-family: var(--ry-font-sans);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.a9-commerce-page .product-detail__buy-buttons .button--secondary:hover {
  background: var(--ry-pink-soft, #fbf6f7);
  border-color: var(--ry-ink);
  color: var(--ry-ink);
}
.a9-commerce-page .product-detail__buy-buttons :is(.shopline-payment-button__button--unbranded, .shopline-payment-button__button:not([class*="branded"])) {
  min-height: 48px;
  background: var(--ry-accent) !important;
  color: #faf6f0 !important;
  border: 1px solid var(--ry-accent) !important;
  border-radius: 0 !important;
  font-family: var(--ry-font-sans) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}
.a9-commerce-page .product-detail__buy-buttons :is(.shopline-payment-button__button--unbranded, .shopline-payment-button__button:not([class*="branded"])):hover {
  background: var(--ry-accent-dark) !important;
  border-color: var(--ry-accent-dark) !important;
}

/* 手风琴（Material / Care / 自定义栏目）：细线行 + 大写字距标题，去左侧图标 */
.a9-commerce-page .product-detail__additional details {
  border-top: 1px solid var(--ry-border, #e2d6d8);
  border-radius: 0;
}
.a9-commerce-page .additional__trigger { padding: 15px 2px; }
.a9-commerce-page .additional__trigger > svg:not(.additional__arrow),
.a9-commerce-page img.additional__icon { display: none; }
.a9-commerce-page .additional__title {
  font-family: var(--ry-font-sans) !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ry-ink);
}
.a9-commerce-page .additional__content {
  color: var(--ry-ink-soft);
  line-height: 1.75;
  font-weight: 300;
}

/* 商品描述正文 */
.a9-commerce-page .product-description {
  color: var(--ry-ink-soft);
  line-height: 1.75;
  font-weight: 300;
  font-size: 13px;
}

/* 画廊缩略图：直角、选中深描边 */
.a9-commerce-page .media-gallery__thumbnail-image { border-radius: 0; }
.a9-commerce-page .media-gallery__thumbnails { border-radius: 0; }

/* ============================================================
   客户中心 / 登录注册 / 订单 / 购物车 — RAYSHE 粉白皮肤
   （颜色由各 section 的 a9_* 设置喂入，这里统一形制）
   ============================================================ */
.a9-commerce-page.customer-container :is(h1, h2),
.a9-commerce-page :is(.customer__title, .a9-cart-intro__title) {
  font-family: var(--ry-font-serif);
  font-weight: 500;
  color: var(--ry-ink);
}
.a9-commerce-page .button:not(.button--secondary),
.a9-commerce-page.customer-container .button {
  font-family: var(--ry-font-sans);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 400;
  border-radius: 0;
}
.a9-commerce-page.customer-container input:not([type="checkbox"]):not([type="radio"]),
.a9-commerce-page.customer-container textarea,
.a9-commerce-page.customer-container select {
  border-radius: 0;
}

/* ============================================================
   客户页（登录/注册/个人中心/订单）— RAYSHE 深度定制：
   下划线式输入框 + 衬线大标题 + 大写小标签，和旧主题的
   盒式表单彻底区分
   ============================================================ */
/* 原生输入框的可见边框由 .field::after 绘制 → 改成只留下划线 */
.a9-commerce-page.customer-container .field::after {
  border: 0 !important;
  border-bottom: 1px solid var(--ry-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.a9-commerce-page.customer-container .field:focus-within::after {
  border-bottom-color: var(--ry-ink) !important;
}
.a9-commerce-page.customer-container :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, .field__input) {
  border: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--ry-font-sans);
  font-weight: 300;
  letter-spacing: 0.04em;
}
.a9-commerce-page.customer-container :is(input, textarea, .field__input):focus {
  box-shadow: none;
  border-color: transparent;
}
.a9-commerce-page.customer-container .customer__title {
  font-size: 30px;
  letter-spacing: 0.06em;
}
.a9-commerce-page.customer-container :is(label, .field__label) {
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ry-ink-soft);
}
.a9-commerce-page.customer-container .customer__tab :is(span, a) {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.a9-commerce-page :is(.customer-account__card, .customer-login__form, .customer-register__form, .customer-forgot-password__form, .customer-activate-account__form) {
  border: 1px solid rgba(92, 31, 46, 0.12);
  border-radius: 0;
}

/* ============================================================
   PDP 画廊 — RAYSHE「大图堆叠下滑」：
   flatten 模式（全部图片纵向堆叠、随页面滚动）+ 左侧竖排缩略图导航。
   flatten 布局由 main-product.html 的开关脚本强制切换，这里负责外观。
   ============================================================ */
@media (min-width: 960px) {
  /* 图片列永远自然滚动；右侧信息栏由原生 --sticky 类跟随 */
  .a9-commerce-page .product-detail__media-group--sticky:has(.product-detail__media-gallery[data-desktop-layout="flatten"]) {
    position: static !important;
  }
  /* 两列 grid：左 = 独立缩略图列（sticky 跟随滚动），右 = 堆叠大图。
     缩略图和大图列表同在 .media-gallery__content 里，grid 打在 content 上；
     不用绝对定位——锚点会落到内层 position 容器上、小图会贴到第一张大图 */
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__content {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: 18px;
    align-items: start;
  }
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__list-wrapper {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  /* 原生 flatten 会藏缩略图 → 恢复为左列竖排小图 */
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__thumbnails {
    display: block !important;
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: 128px;
    align-self: start;
    width: 56px;
    padding: 0;
    overflow: visible;
  }
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__thumbnails .carousel__track,
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__thumbnail-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 56px;
    height: auto;
    transform: none !important;
  }
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__thumbnail {
    width: 56px;
    aspect-ratio: 3 / 4;
    border: 1px solid transparent;
  }
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__thumbnail.is-select {
    border-color: var(--ry-ink);
  }
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__thumbnail-arrows {
    display: none;
  }
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__list-wrapper {
    --gap: 10px;
  }
  /* 旧模板服务端没渲染「当前图置顶」容器时，原生 flatten CSS 会把选中图藏掉 →
     没有置顶容器就让选中图留在堆叠列里，保证第一张图不消失 */
  .a9-commerce-page .product-detail__media-gallery[data-desktop-layout="flatten"] .media-gallery__list-wrapper:not(:has(> .media-gallery__sticky-wrapper)) .media-gallery__list .is-select {
    display: flex !important;
  }
}

/* ============================================================
   PDP 搭配优惠卡（_ry-bundle）+ 信息行（_ry-info-row）
   ============================================================ */
.ry-bundle__heading {
  margin: 8px 0 14px;
  text-align: center;
  font-family: var(--ry-font-serif);
  font-weight: 500;
  font-size: 21px;
  color: var(--ry-ink);
}
.ry-bundle__card { background: var(--ry-bundle-bg, #fbedea); padding: 18px 18px 16px; }
.ry-bundle__row { display: flex; align-items: center; gap: 14px; }
.ry-bundle__thumb { width: 58px; height: 74px; object-fit: cover; flex: 0 0 auto; }
.ry-bundle__name { margin: 0 0 6px; font-family: var(--ry-font-sans); font-weight: 400; font-size: 13px; color: var(--ry-ink); }
.ry-bundle__sub { margin: 0; font-size: 12px; font-weight: 300; color: var(--ry-ink-soft); }
.ry-bundle__divider { display: flex; align-items: center; gap: 10px; margin: 10px 0; }
.ry-bundle__plus {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--ry-black, #141114); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; flex: 0 0 auto;
}
.ry-bundle__tag {
  background: var(--ry-black, #141114); color: #fff;
  font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase;
  padding: 6px 12px; line-height: 1;
}
.ry-bundle__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.ry-bundle__prices { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ry-bundle__price { color: var(--ry-sale, #b0453a); font-size: 17px; font-weight: 500; }
.ry-bundle__compare { color: var(--ry-ink-mute); font-size: 13px; font-weight: 300; }
.ry-bundle__save {
  border: 1px solid var(--ry-border); border-radius: 999px;
  font-size: 9.5px; letter-spacing: 0.14em; padding: 4px 10px; color: var(--ry-ink-soft);
}
.ry-bundle__cta {
  background: var(--ry-black, #141114); color: #fff; border: none; cursor: pointer;
  font-family: var(--ry-font-sans); font-size: 11px; letter-spacing: 0.14em;
  padding: 13px 22px; transition: background 0.25s;
}
.ry-bundle__cta:hover { background: var(--ry-accent, #5c1f2e); }
.ry-bundle__error { margin: 10px 0 0; color: var(--ry-sale); font-size: 12px; }
.ry-bundle--empty {
  border: 1px dashed var(--ry-border); color: var(--ry-ink-faint);
  font-size: 12px; padding: 16px; text-align: center;
}

.ry-info-row {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  border-top: 1px solid var(--ry-border, #e2d6d8);
  padding: 15px 2px;
  text-decoration: none; color: inherit;
}
.ry-info-row--boxed {
  border: none; background: var(--ry-pink-soft, #fbf6f7);
  padding: 15px 16px;
}
.ry-info-row__title { margin: 0; font-size: 13px; font-weight: 400; color: var(--ry-ink); }
.ry-info-row__icon { margin-right: 7px; color: var(--ry-gold); }
.ry-info-row__sub { margin: 6px 0 0; font-size: 12px; font-weight: 300; line-height: 1.6; color: var(--ry-ink-soft); }
.ry-info-row__side { font-size: 12.5px; font-weight: 300; color: var(--ry-ink-soft); flex: 0 0 auto; }

/* ============================================================
   评论区 — 对照设计稿重做：白卡容器 + 居中衬线标题 +
   一行式评分摘要 + 粉底衬线引言卡
   ============================================================ */
.a9-product-reviews__inner {
  background: #fff;
  border: 1px solid #f1e3e6;
  border-radius: 10px;
  box-shadow: 0 18px 44px -30px rgba(31, 10, 16, 0.18);
  padding: clamp(28px, 4vw, 52px);
}
.a9-product-reviews__head .eyebrow { display: none; }
/* 头部两栏：左=星级评分摘要，右=两颗胶囊按钮；标题横跨居中 */
.a9-product-reviews__head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 24px;
  text-align: left;
}
.a9-product-reviews__head h2 {
  grid-column: 1 / -1;
  text-align: center;
  font-style: normal;
  font-size: clamp(24px, 2.4vw, 32px);
  letter-spacing: 0.04em;
  margin-bottom: 26px;
}
.a9-product-reviews__intro { grid-column: 1 / -1; text-align: center; }
/* 星级独占一行在上，下面一行 "4.9 — based on N reviews" */
.a9-product-reviews__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 6px;
  row-gap: 8px;
  padding-left: clamp(4px, 4vw, 56px);
}
.a9-product-reviews__stars { order: -1; flex-basis: 100%; font-size: 13px; }
.a9-product-reviews__score { font-size: 13.5px; }
.a9-product-reviews__score::after { content: " \2014"; color: var(--ry-ink-mute); }
.a9-product-reviews__count { font-size: 13px; letter-spacing: 0.03em; }
/* 评价卡：粉底、左对齐、衬线斜体引言 + 大写署名 */
.a9-product-reviews .testimonial-card.review-snap-card {
  background: var(--ry-pink-soft, #fbf6f7);
  border: none;
  text-align: left;
  padding: 26px 26px 22px;
}
.a9-product-reviews .review-snap-card > span {
  display: block;
  font-size: 10.5px;
  letter-spacing: 0.26em;
}
.a9-product-reviews .review-snap-card h3 {
  font-size: 16px;
  font-style: italic;
  margin: 14px 0 6px;
}
.a9-product-reviews .review-snap-card p {
  font-family: var(--ry-font-serif);
  font-style: italic;
  font-size: 15px;
  line-height: 1.85;
  color: var(--ry-ink);
}
.a9-product-reviews .review-snap-card p::before { content: "\201C"; }
.a9-product-reviews .review-snap-card p::after { content: "\201D"; }
.a9-product-reviews .review-snap-card__footer { justify-content: flex-start; gap: 6px; }
/* 头部右侧胶囊组（theme.html 注入）：Write=粉实底 / Ask=白描边；表单默认收起 */
.ry-review-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-right: clamp(4px, 4vw, 56px);
}
.ry-write-review,
.ry-ask-question {
  display: block;
  border-radius: 999px;
  padding: 13px 44px;
  font-family: var(--ry-font-sans);
  font-size: 13px;
  letter-spacing: 0.04em;
  cursor: pointer;
  min-width: 218px;
  text-align: center;
  transition: filter 0.25s, background 0.25s;
}
.ry-write-review {
  background: var(--ry-pink-btn, #f3d8d3);
  color: var(--ry-accent, #5c1f2e);
  border: none;
}
.ry-write-review:hover { filter: brightness(0.96); }
.ry-ask-question {
  background: #fff;
  color: var(--ry-ink);
  border: 1px solid var(--ry-border);
}
.ry-ask-question:hover { border-color: var(--ry-ink); }
.a9-product-reviews__form-wrap.ry-collapsed { display: none; }
@media (max-width: 749px) {
  .a9-product-reviews__head { grid-template-columns: 1fr; row-gap: 20px; }
  .a9-product-reviews__summary { padding-left: 0; }
  .ry-review-actions { flex-direction: row; flex-wrap: wrap; padding-right: 0; }
  .ry-write-review, .ry-ask-question { min-width: 0; flex: 1 1 45%; padding: 12px 18px; }
}

/* ============================================================
   个人中心 — RAYSHE 大修：粉底欢迎横幅 + 衬线问候 +
   大写字距导航 + 白底粉边卡片
   ============================================================ */
.a9-commerce-page .customer-navbar { border-bottom: 1px solid rgba(92, 31, 46, 0.14); }
.a9-commerce-page .customer-navbar__menu-item {
  font-family: var(--ry-font-sans) !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ry-ink-soft);
  padding-bottom: 12px;
}
.a9-commerce-page .customer-navbar__menu-item:is(.active, [aria-current], .is-active) {
  color: var(--ry-accent);
  box-shadow: inset 0 -2px 0 var(--ry-accent);
}
.a9-commerce-page .a9-account-hero {
  background: var(--a9-account-hero-bg, var(--ry-pink, #f7e7e4));
  border: none;
  border-radius: 0;
}
.a9-commerce-page .a9-account-hero__greeting {
  font-family: var(--ry-font-serif) !important;
  font-style: italic;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
}
.a9-commerce-page .a9-account-hero__badge {
  font-family: var(--ry-font-sans) !important;
  font-weight: 400 !important;
  font-size: 10px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase;
  color: var(--ry-gold, #c9907a) !important;
}
.a9-commerce-page .a9-account-hero__avatar span {
  font-family: var(--ry-font-serif);
  font-weight: 500;
}
.a9-commerce-page .a9-member-level__bar { background: var(--ry-accent) !important; }
.a9-commerce-page .customer-account .card {
  background: #fff;
  border: 1px solid rgba(92, 31, 46, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none;
}
.a9-commerce-page .customer-account .card__title,
.a9-commerce-page .customer-account .card__title-text {
  font-family: var(--ry-font-serif) !important;
  font-weight: 500 !important;
  font-size: 19px;
  color: var(--ry-ink);
}
.a9-commerce-page .customer-account .card__detail { color: var(--ry-ink-soft); font-weight: 300; }
.a9-commerce-page .customer-account .button--link { color: var(--ry-accent); }

/* ============================================================
   分类页 — 筛选器 + 商品卡 + 工具栏（对照设计稿）
   ============================================================ */
/* 筛选组：去折叠框感，组标题正体小号，列表留白 */
.facets-filtering__details { border: none; }
.facets-filtering__summary { padding-inline: 0; }
.facets-filtering__summary .body-font-bold {
  font-family: var(--ry-font-sans);
  font-weight: 400;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  color: var(--ry-ink);
}
.facets-filtering__content { padding-inline: 0; }
.facets-filtering__checkbox-wrapper {
  font-weight: 300;
  font-size: 13px;
  color: var(--ry-ink-soft);
}
.facets-filtering__checkbox-wrapper:hover { color: var(--ry-ink); }
/* 价格滑杆：细线 + 墨色圆点 */
theme-price-range .price-range-track { background: rgba(58, 51, 53, 0.18); height: 2px; }
theme-price-range .price-range-bar { background: var(--ry-ink); }
theme-price-range .price-range-dot {
  background: var(--ry-ink);
  border: none;
  box-shadow: none;
}
theme-price-range .field__input { border-radius: 0; }
/* 已选筛选 pill / 重置链接 */
.facets-remove, .facets-filtering__reset { color: var(--ry-accent); }

/* 商品卡（原生 block-product-card）：衬线品名 + 细体价格 */
.block-product-card .block-product-title,
.block-product-card .block-product-title span {
  font-family: var(--ry-font-serif);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.35;
  color: var(--ry-ink);
}
.block-product-card .block-product-price {
  font-family: var(--ry-font-sans);
  font-weight: 300;
  font-size: 12.5px;
  letter-spacing: 0.05em;
  color: var(--ry-ink-soft);
}
.block-product-card { --info-row-gap: 6px; }
/* 折扣角标：白底墨字小方标（贴设计里的 NEW 徽标气质） */
.block-product-card .block-product-card-discount-tag,
.block-product-card [class*="discount-tag"] {
  background: #fff;
  color: var(--ry-ink);
  font-size: 9.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-radius: 0;
}

/* ============================================================
   全局排版差异化 — 与旧主题拉开（衬线标题 / 直角 / 大写按钮）
   ============================================================ */
/* 富文本、博客、原生板块标题统一衬线 */
.rte h1, .rte h2, .rte h3,
.main-blog h1, .main-article h1,
.title1, .title2, .title3 {
  font-family: var(--ry-font-serif);
  font-weight: 500;
}
/* 原生按钮统一：直角 + 大写 + 字距（覆盖旧主题的圆角胶囊记忆点） */
.button:not(.button--link) {
  border-radius: 0;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 400;
}
/* 购物车抽屉：白底、衬线标题、酒红结算 */
.cart-drawer__container, .cart-drawer { --color-background: 255, 255, 255; }
.cart-drawer .title5, .cart-drawer__title {
  font-family: var(--ry-font-serif);
  font-weight: 500;
}
/* 面包屑：小号大写字距 */
.breadcrumb, .breadcrumb a, .product-detail__breadcrumb-item {
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 300;
}
/* 分页：去圆框 */
.pagination__item, .pagination button, .pagination a { border-radius: 0; }

/* ---------- 手机端细节 ---------- */
@media (max-width: 749px) {
  html { scroll-padding-top: 112px; }
  .a9-commerce-page .product-detail__title { font-size: 22px; }
}
