/* ==========================================================================
   Atelova — THEME LAYER
   Target : SHOPLINE Online Store 3.0 theme "Fashion3"
            (theme id 6a5846d6573929dfdd81c59a, unpublished build target)
   File   : public/ve/theme.css
   Wiring : injected from layout/theme.html, right after base/index.css

   This file does THREE things, in order:
     §1  Brand tokens   (--ve-*)        — our own design language
     §2  Theme tokens   (:root overrides) — re-point the theme's own
         variables at our brand values. The theme renders through these
         variables, so overriding them re-skins the whole store without
         touching a single section template.
     §3  Component polish              — spacing, type scale, cards,
         buttons, badges, forms. Kept deliberately restrained: no
         layout hacks, nothing that could break cart / product logic.

   NOTE ON COLOUR FORMAT
   The theme stores colours as space-free RGB triplets and consumes them
   as rgb(var(--x)) / rgba(var(--x), .5). Never write #hex into these
   variables or the whole store goes blank.
   ========================================================================== */

/* ---------------------------------------------------------------- §0 fonts
   Display: Cormorant Garamond (high-contrast serif, luxury editorial)
   Body   : Poppins (geometric sans, matches the theme's own default)
   ------------------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Poppins:wght@300;400;500;600&display=swap');

/* ------------------------------------------------------------ §1 BRAND TOKENS */
:root {
  /* cream / ivory grounds */
  --ve-cream:        #FDF6EC;
  --ve-cream-deep:   #F7EDDE;
  --ve-cream-soft:   #FBF3E8;
  --ve-ivory:        #FFFFFF;
  --ve-sand:         #E1D1C0;

  /* ink + browns */
  --ve-ink:          #2E211A;
  --ve-brown-900:    #3D2C22;
  --ve-brown-700:    #4A3728;
  --ve-brown-500:    #6B4F3A;
  --ve-brown-300:    #8A6A50;

  /* neutrals */
  --ve-muted:        #8A7F76;
  --ve-faint:        #B3A79A;

  /* gold accent */
  --ve-gold:         #B8925A;
  --ve-gold-soft:    #D4B483;
  --ve-gold-tint:    #F3E9D8;

  /* lines */
  --ve-line:         #E6DCD0;
  --ve-line-soft:    #F0E8DD;
  --ve-line-strong:  #D6C7B4;

  /* semantic */
  --ve-price:        #2E211A;
  --ve-price-sale:   #A8321E;
  --ve-good:         #4F6B52;

  /* type */
  --ve-font-display: 'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --ve-font-body:    'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* geometry */
  --ve-r-xs: 2px;
  --ve-r-sm: 4px;
  --ve-r-md: 6px;
  --ve-r-lg: 12px;
  --ve-r-pill: 999px;

  --ve-ease: cubic-bezier(.22, .61, .36, 1);
  --ve-dur:  .38s;

  --ve-shell: 1440px;
}

/* ------------------------------------------------------- §2 THEME TOKEN OVERRIDES
   Colours themselves are set in theme.config.json (the theme editor's own
   storage) so the admin panel stays consistent. What we override here is
   everything that config file cannot express: the typeface, the type scale
   ratio and the geometry.
   ------------------------------------------------------------------------ */

:root {
  /* --- typeface: swap the theme's font stacks for the brand faces --- */
  --sort-title-font:        'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sort-title1-font:       'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sort-title2-font:       'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sort-title3-font:       'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sort-title4-font:       'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sort-title5-font:       'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sort-title6-font:       'Cormorant Garamond', Garamond, Georgia, 'Times New Roman', serif;

  --sort-body-font:         'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sort-body1-font:        'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sort-body2-font:        'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sort-body3-font:        'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sort-body4-font:        'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sort-body5-font:        'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sort-body6-font:        'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* --- display headings want a touch more air than the theme's default --- */
  --sort-title-font-weight:      500;
  --sort-title-letter-spacing:   0;
  --sort-title-line-height:      1.18;
  --sort-title1-letter-spacing:  0.01em;
  --sort-title1-line-height:     1.22;
  --sort-title2-letter-spacing:  0.01em;
  --sort-title2-line-height:     1.28;
  --sort-title3-letter-spacing:  0.012em;
  --sort-title3-line-height:     1.32;
  --sort-title4-letter-spacing:  0.02em;
  --sort-title4-line-height:     1.38;

  /* small running text reads better slightly tracked-out */
  --sort-body-letter-spacing:    0.004em;
  --sort-body-line-height:       1.7;
  --sort-body1-line-height:      1.68;
  --sort-body2-line-height:      1.66;
  --sort-body3-line-height:      1.62;
  --sort-body4-line-height:      1.6;

  /* --- geometry: crisp, editorial, not rounded --- */
  --page-width: 1440px;

  --button-border-thickness: 1px;
  --button-border-opacity:   100;
  --button-border-radius:    2px;
  --button-shadow-opacity:   0;
  --button-shadow-blur:      0;
  --button-shadow-offset-x:  0;
  --button-shadow-offset-y:  0;

  --input-border-thickness: 1px;
  --input-border-opacity:   100;
  --input-border-radius:    2px;
  --input-shadow-opacity:   0;
  --input-shadow-blur:      0;
  --input-shadow-offset-x:  0;
  --input-shadow-offset-y:  0;

  --card-border-thickness: 1px;
  --card-border-opacity:   100;
  --card-border-radius:    6px;

  --product-card-border-thickness: 1px;
  --product-card-border-opacity:   100;
  --product-card-border-radius:    6px;
  --product-card-shadow-opacity:   0;
  --product-card-discount-radius:  999px;

  --collection-card-border-thickness: 1px;
  --collection-card-border-opacity:   100;
  /* 品牌卡「方形倒角框」的圆角半径 —— 全站统一，改这一个值即可 */
  --collection-card-border-radius:    12px;
  --collection-card-shadow-opacity:   0;

  --article-card-border-radius: 6px;
  --article-card-shadow-opacity: 0;

  --modal-border-radius: 6px;
  --variant-selector-border-radius: 2px;
  --variant-selector-border-thickness: 1px;

  --grid-horizontal-spacing: 28px;
  --grid-vertical-spacing:   48px;
}

/* --- dark scheme used by the promise band / footer accents --- */
.color-scheme-2 {
  --color-button-border-thickness: 1px;
}

/* ------------------------------------------------------------ §3 TYPE SCALE
   Cormorant runs optically smaller than a sans at the same px, so the
   display sizes get nudged up while the sans body stays put.
   ------------------------------------------------------------------------ */
h1, .h1, .sort-title   { letter-spacing: -0.005em; }
h2, .h2, .sort-title1  { letter-spacing: 0.002em; }

/* the theme's own heading element carries the brand serif already via
   --sort-title*-font, so we only need the optical correction here */
h1, h2, h3, h4, h5, h6 {
  font-kerning: normal;
  text-wrap: balance;
}

p, li, .rte {
  text-wrap: pretty;
}

/* ------------------------------------------------------------ §4 COMPONENTS */

/* --- buttons: flat, hairline border, wide tracking --- */
.button,
.btn,
[class*="button--"],
button[type="submit"],
.sl-btn {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.9em;
  font-weight: 500;
  transition: background-color var(--ve-dur) var(--ve-ease),
              color      var(--ve-dur) var(--ve-ease),
              border-color var(--ve-dur) var(--ve-ease);
}

.button:hover,
.btn:hover,
button[type="submit"]:hover {
  letter-spacing: 0.11em;
}

/* --- links get a restrained underline that grows on hover --- */
.rte a {
  text-decoration-color: rgba(var(--color-button-text-link), .35);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--ve-dur) var(--ve-ease);
}
.rte a:hover {
  text-decoration-color: rgba(var(--color-button-text-link), 1);
}

/* --- prices: keep the serif, add weight --- */
.price,
[class*="price"] {
  font-variant-numeric: tabular-nums;
}

/* --- product / collection / article cards --- */
.product-card,
.collection-card,
.article-card {
  transition: transform var(--ve-dur) var(--ve-ease),
              box-shadow var(--ve-dur) var(--ve-ease);
}

.product-card:hover,
.collection-card:hover {
  box-shadow: 0 18px 40px -26px rgba(var(--color-shadow), .45);
}

/* --- brand grid in the native collection-list: ONE consistent frame -----
   The theme ships NO border-radius on .block-collection-card__image-wrapper,
   and the per-card `shape` setting only offers two values:
       square → aspect-ratio from the card setting, no radius (sharp corner)
       circle → forces 1/1 and an inline border-radius:50%
   That is why the shop ended up with six sharp squares plus two circles
   (Celine and Louis Vuitton). The card settings are now normalised to
   square + 1/1 + cover in templates/index.json; this rule supplies the
   倒角 so every brand tile reads as the same rounded square.
   Radius is a single token — change --collection-card-border-radius below
   to soften or sharpen all of them at once.                              --- */
.block-collection-card__image-wrapper {
  border-radius: var(--collection-card-border-radius);
}

.product-card img,
.collection-card img {
  transition: transform .7s var(--ve-ease);
}

.product-card:hover img,
.collection-card:hover img {
  transform: scale(1.035);
}

/* --- badges: pill, tracked-out micro caps --- */
[class*="badge"],
[class*="discount-tag"],
[class*="tag"] {
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-size: 0.72em;
  font-weight: 500;
}

/* --- section rhythm: a touch more air than the theme default --- */
.section,
[class*="section--"] {
  --section-vertical-spacing: 80px;
}

/* --- form controls --- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
select,
textarea {
  font-family: var(--ve-font-body);
}

input::placeholder,
textarea::placeholder {
  letter-spacing: 0.01em;
}

/* --- the announcement strip sits on the ink colour, cream text --- */
[class*="announcement"] {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78em;
}

/* ------------------------------------------------------------ §5 RESPONSIVE */
@media (max-width: 1024px) {
  :root {
    --page-width: 100%;
    --grid-horizontal-spacing: 20px;
    --grid-vertical-spacing:   36px;
  }
}

@media (max-width: 768px) {
  :root {
    --grid-horizontal-spacing: 14px;
    --grid-vertical-spacing:   28px;
  }

  h1, .h1, .sort-title { letter-spacing: 0; }

  .button,
  .btn,
  button[type="submit"] {
    letter-spacing: 0.08em;
  }
}

/* ------------------------------------------------------------ §6 A11Y */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* =========================================================================
   分类页精修（VE）—— 只作用于 body[data-page-type="collection"]
   ❗ 这段跑在 .veb 之外，所以只能用 ve/theme.css 里的 --ve-* 全局令牌，
      不能用 blocks.css 的 .veb 局部令牌（--sans / --ink / --line …）。
   ========================================================================= */

/* --- 顶部横幅：标题压在图上，改左对齐 + 底部渐隐保证可读 --- */
body[data-page-type="collection"] .block-main-collection__banner:after{
  content:"";position:absolute;inset:auto 0 0;height:58%;pointer-events:none;
  background:linear-gradient(to top,rgba(30,20,14,.52) 0%,rgba(30,20,14,.20) 46%,transparent 100%);}
body[data-page-type="collection"] .block-main-collection__banner-inner{
  display:flex;align-items:flex-end;}
body[data-page-type="collection"] .block-main-collection__banner-inner > div{
  width:100%;max-width:var(--ve-shell);margin:0 auto;text-align:left;
  padding:0 clamp(20px,4vw,56px) clamp(30px,4.2vw,54px);}
body[data-page-type="collection"] .block-main-collection__banner-inner a.body4{
  display:inline-block;font:400 10.5px/1 var(--ve-font-body);letter-spacing:.24em;
  text-transform:uppercase;opacity:.86;padding:0 0 2px;
  text-shadow:0 1px 10px rgba(30,20,14,.55);}
body[data-page-type="collection"] .block-main-collection__banner-inner a.body4:hover{opacity:1;}
body[data-page-type="collection"] .block-main-collection__banner-inner br{display:none;}
body[data-page-type="collection"] .block-main-collection__heading{
  font-family:var(--ve-font-display);font-weight:500;font-size:clamp(38px,5.2vw,68px);
  line-height:1.04;letter-spacing:.008em;text-align:left;margin:.14em 0 0;
  text-shadow:0 2px 24px rgba(30,20,14,.34);}
body[data-page-type="collection"] .block-main-collection__heading:before{
  content:"";display:block;width:52px;height:1px;margin:0 0 20px;
  background:currentColor;opacity:.5;}

/* --- 分类描述：居中窄栏，与首页 .rte 同一口径 --- */
body[data-page-type="collection"] .block-main-collection__description{
  max-width:840px;margin:clamp(34px,4.4vw,58px) auto 0;
  padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);
  text-align:center;font:300 15px/1.85 var(--ve-font-body);color:var(--ve-muted);}
body[data-page-type="collection"] .block-main-collection__description h1,
body[data-page-type="collection"] .block-main-collection__description h2,
body[data-page-type="collection"] .block-main-collection__description h3{
  font-family:var(--ve-font-display);font-weight:600;line-height:1.25;color:var(--ve-ink);
  letter-spacing:.01em;margin:0 0 .5em;}
body[data-page-type="collection"] .block-main-collection__description h2{font-size:clamp(22px,2.4vw,28px);}
body[data-page-type="collection"] .block-main-collection__description p{margin:0 0 1em;}
body[data-page-type="collection"] .block-main-collection__description p:last-child{margin-bottom:0;}
body[data-page-type="collection"] .block-main-collection__description strong{color:var(--ve-ink);font-weight:500;}

/* --- 商品格 --- */
body[data-page-type="collection"] .main-collection{padding-block:clamp(40px,4.6vw,64px) clamp(64px,7vw,96px);}
body[data-page-type="collection"] .main-collection__list{margin-block-end:clamp(36px,4vw,56px);}
body[data-page-type="collection"] .main-collection__products{margin-top:clamp(18px,2.2vw,28px);}

/* --- 筛选 / 排序条 --- */
body[data-page-type="collection"] .facets-filtering__summary{
  font-family:var(--ve-font-body);letter-spacing:.06em;text-transform:uppercase;font-size:11px;}
body[data-page-type="collection"] .facets-count{
  font:400 12px/1 var(--ve-font-body);color:var(--ve-muted);letter-spacing:.04em;}

/* 工具条对齐：数量在左、排序在右，两者整体**靠右成组**并垂直居中。
   原生 facets.css 在 ≥960px 把 .facets-sorting-wrapper 设成
   row-reverse + justify-content:space-between，导致两个元素被推到容器两端
   （实测间隙 929px）。这里改成 flex-start（row-reverse 下 = 视觉右端），
   两个元素即贴右紧挨成组；保持 row-reverse 故左右顺序不变。 */
@media (min-width:960px){
  body[data-page-type="collection"] .facets-sorting-wrapper{
    justify-content:flex-start;gap:14px;align-items:center;}}

/* --- 商品卡：文字层统一（用全局令牌 + 主题自身类名） --- */
body[data-page-type="collection"] .block-product-title{
  font-family:var(--ve-font-body);font-size:13.5px;line-height:1.5;
  letter-spacing:.005em;color:var(--ve-ink);}
body[data-page-type="collection"] .block-product-price{
  font-family:var(--ve-font-display);font-weight:600;font-size:15.5px;line-height:1.3;
  color:var(--ve-ink);font-variant-numeric:tabular-nums;letter-spacing:.01em;}
body[data-page-type="collection"] .block-product-card-info__content{
  display:flex;flex-direction:column;gap:6px;padding-block-start:14px;}
@media (max-width:768px){
  body[data-page-type="collection"] .block-main-collection__heading{font-size:clamp(30px,8vw,42px);}
  body[data-page-type="collection"] .block-main-collection__banner-inner > div{padding-bottom:clamp(22px,6vw,34px);}
}

/* ══════════════════════════════════════════════════════════════════════════
   商品详情页 —— 仿 eBay 版式（根类名 .ev-detail）
   ──────────────────────────────────────────────────────────────────────────
   由「飞书 → SHOPLINE 上架流水线」的 transformer.build_body_html() 生成结构。
   样式集中放在主题里而不是内联进 body_html，理由：
     · 不吃商品描述的字符额度
     · 不会被平台富文本清洗规则剥掉 <style>
     · 改样式不必重传商品
   作用域限定在 .ev-detail 内，存量商品用的 .sl-luxury-details 完全不受影响。
   补丁：shopline/_tools/patch_ev_css.py（dry / apply / rollback）
   ══════════════════════════════════════════════════════════════════════════ */

.ev-detail {
  --ev-ink:   #2E211A;
  --ev-mut:   #6B5A4C;
  --ev-line:  #E6DCD0;
  --ev-gold:  #B8925A;
  --ev-soft:  #FBF3E8;
  max-width: 1000px;
  margin: 0 auto;
  font-family: var(--ve-font-body, "Poppins", system-ui, -apple-system, sans-serif);
  font-size: 15px;
  line-height: 1.72;
  letter-spacing: .005em;
  color: var(--ev-ink);
  -webkit-font-smoothing: antialiased;
}
.ev-detail * { box-sizing: border-box; }

.ev-detail .ev-sec { margin: 0 0 42px; }
.ev-detail .ev-sec:last-child { margin-bottom: 6px; }

/* ── 段标题 ───────────────────────────────────────────────────────────── */
.ev-detail .ev-h {
  margin: 0;
  font-family: var(--ve-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .045em;
  color: var(--ev-ink);
}
.ev-detail .ev-h::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  margin-top: 13px;
  background: var(--ev-gold);
  opacity: .8;
}

/* ── ① Item Details · 两列物品属性 ─────────────────────────────────────── */
.ev-detail .ev-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 62px;
  margin-top: 26px;
}
.ev-detail .ev-col { min-width: 0; }
.ev-detail .ev-row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ev-line);
}
.ev-detail .ev-k {
  flex: 0 0 45%;
  color: var(--ev-mut);
  font-size: 13.5px;
  letter-spacing: .02em;
}
.ev-detail .ev-v {
  flex: 1 1 auto;
  font-weight: 500;
  color: var(--ev-ink);
  word-break: break-word;
}

/* ── ② Order Processing Workflow · 竖排编号步骤 ──────────────────────────
   为什么不做成横排胶囊链：本店流程文案较长（第三步 60+ 字符、第四步 90+），
   在 1000px 宽度下必然折行，折行后行尾的 "→" 会悬空。竖排编号在任何宽度
   下都整齐，且与上面 Item Details 的「发丝线行」语言一致。 */
.ev-detail .ev-flow {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.ev-detail .ev-flow li {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ev-line);
}
.ev-detail .ev-flow li:last-child { border-bottom: none; }
.ev-detail .ev-flow .ev-n {
  flex: 0 0 28px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  color: var(--ev-gold);
  font-variant-numeric: tabular-nums;
}
.ev-detail .ev-flow .ev-t {
  flex: 1 1 auto;
  color: var(--ev-ink);
}

/* ── ③ Seller's Item Description ──────────────────────────────────────── */
.ev-detail .ev-block { margin: 26px 0 0; }
.ev-detail .ev-h4 {
  margin: 0 0 10px;
  font-family: var(--ve-font-body, "Poppins", system-ui, sans-serif);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ev-gold);
}
.ev-detail .ev-p { margin: 0 0 10px; color: var(--ev-ink); }
.ev-detail .ev-p:last-child { margin-bottom: 0; }
.ev-detail .ev-list { margin: 0; padding: 0; list-style: none; }
.ev-detail .ev-list li {
  position: relative;
  margin: 0 0 6px;
  padding-left: 17px;
  color: var(--ev-ink);
}
.ev-detail .ev-list li:last-child { margin-bottom: 0; }
.ev-detail .ev-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .75em;
  width: 7px;
  height: 1px;
  background: var(--ev-gold);
}

/* ── 窄屏 ─────────────────────────────────────────────────────────────── */
@media (max-width: 749px) {
  .ev-detail { font-size: 14.5px; line-height: 1.68; }
  .ev-detail .ev-h { font-size: 22px; }
  .ev-detail .ev-sec { margin-bottom: 34px; }
  .ev-detail .ev-grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 22px;
  }
  .ev-detail .ev-col:first-child .ev-row:last-child { border-bottom: none; }
  .ev-detail .ev-col:last-child .ev-row:first-child { padding-top: 14px; }
  .ev-detail .ev-flow li { gap: 12px; padding: 9px 0; }
}

/* VE 精选商品分类卡 v2026-10-07c ─────────────────────────────────────────────
   1) 推荐图作整卡背景，cover 裁成卡片比例（偏上裁，包体完整）
   2) 白色薄纱淡化 35%  3) 正常色彩  4) 标题贴上、按钮贴下
   只做覆盖，不改主题原生 sections/featured-collection-list/* ；
   选择器都带 .featured-collection-list 前缀，特异度盖过原生 (0,1,0)/(0,2,0)。
   可调项集中在这条规则里，改一个数即可整体调。 */

.featured-collection-list{
  --ve-curated-img-fit:cover;
  --ve-curated-img-pos:center top;
  --ve-curated-img-scale:1;
  --ve-curated-veil:.35;
  --ve-curated-veil-edge:.55;
  --ve-curated-sat:1;
}

.featured-collection-list .featured-collection-list__collection-inner,
.featured-collection-list .featured-collection-list__collection-inner.with-recommend-image{
  display:block;}

/* 图片容器铺满整卡；overflow:hidden 保证放大时只在本卡内裁切 */
.featured-collection-list .featured-collection-list__collection-recommend{
  position:absolute;inset:0;z-index:0;overflow:hidden;
  width:100%;height:100%;max-width:none;
  background-color:rgb(var(--color-image-background));}

.featured-collection-list .featured-collection-list__collection-recommend-image{
  display:block;width:100%;height:100%;
  object-fit:var(--ve-curated-img-fit,cover);
  object-position:var(--ve-curated-img-pos,center top);
  transform:scale(var(--ve-curated-img-scale,1));
  transform-origin:center center;
  filter:saturate(var(--ve-curated-sat,1)) brightness(1);}

/* 淡化膜：盖在图片之上、文字之下 */
.featured-collection-list .featured-collection-list__collection-inner::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(255,255,255,var(--ve-curated-veil-edge,.55)) 0%,
    rgba(255,255,255,var(--ve-curated-veil,.35)) 30%,
    rgba(255,255,255,var(--ve-curated-veil,.35)) 70%,
    rgba(255,255,255,var(--ve-curated-veil-edge,.55)) 100%);}

/* 文字层铺满整卡：标题贴顶、Shop Now 贴底 */
.featured-collection-list .featured-collection-list__collection-content,
.featured-collection-list .featured-collection-list__collection-content.with-recommend-image{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;
  justify-content:space-between;align-items:center;
  padding:26px 22px;text-align:center;}

@media (max-width:768px){
  .featured-collection-list .featured-collection-list__collection-content,
  .featured-collection-list .featured-collection-list__collection-content.with-recommend-image{
    padding:18px 16px;}
}
/* VE 精选商品分类卡 END */
