/**
 * ACF Block Styles
 */

/* Hero Split */
.wp-block-luxury-store-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - var(--header-height));
  align-items: center;
  background-color: var(--wp--preset--color--alabaster);
}

.hero-split__content {
  padding: clamp(40px, 8vw, 120px);
  max-width: 700px;
  margin-left: auto;
}

.hero-split__eyebrow {
  display: block;
  margin-bottom: 1.5rem;
  color: var(--wp--preset--color--charcoal);
}

.hero-split__heading {
  margin-bottom: 1.5rem;
}

.hero-split__copy {
  font-size: 1.125rem;
  margin-bottom: 2.5rem;
}

.hero-split__media {
  height: 100%;
  width: 100%;
}

.hero-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/5;
}

@media (max-width: 1024px) {
  .wp-block-luxury-store-hero-split {
    grid-template-columns: 1fr;
  }
  .hero-split__content {
    padding: 40px 20px;
    margin-left: 0;
  }
}

/* Product Row */
.wp-block-luxury-store-product-row {
  padding-top: var(--space-macro-desktop);
  padding-bottom: var(--space-macro-desktop);
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.product-row__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3rem;
}

.product-row__eyebrow {
  display: block;
  margin-bottom: 0.5rem;
}

.product-row__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .product-row__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .product-row__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
}

/* Category Discovery */
.wp-block-luxury-store-category-discovery {
  padding-top: var(--space-macro-desktop);
  padding-bottom: var(--space-macro-desktop);
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.category-discovery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.category-discovery__card {
  position: relative;
  overflow: hidden;
}

.category-discovery__media img {
  aspect-ratio: 3/4;
  object-fit: cover;
  width: 100%;
  transition: transform var(--duration-slow) var(--ease-editorial);
}

.category-discovery__card:hover .category-discovery__media img {
  transform: scale(1.03);
}

.category-discovery__title {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  color: var(--wp--preset--color--pure-white);
  font-family: var(--wp--preset--font-family--cormorant-garamond);
  font-size: 1.5rem;
}

@media (max-width: 1024px) {
  .category-discovery__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Collection Feature */
.wp-block-luxury-store-collection-feature {
  padding-top: var(--space-macro-desktop);
  padding-bottom: var(--space-macro-desktop);
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.collection-feature__editorial {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 4rem;
  align-items: center;
  margin-bottom: 4rem;
}

.collection-feature__media img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
}

.collection-feature__text h2 {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}

.collection-feature__products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .collection-feature__editorial {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .collection-feature__products {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Brand Spotlight */
.wp-block-luxury-store-brand-spotlight {
  padding-top: var(--space-macro-desktop);
  padding-bottom: var(--space-macro-desktop);
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.brand-spotlight__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.brand-spotlight__media img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  margin-bottom: 1.5rem;
}

.brand-spotlight__name {
  font-family: var(--wp--preset--font-family--cormorant-garamond);
  font-size: 2rem;
  margin-bottom: 0.75rem;
}

.brand-spotlight__desc {
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .brand-spotlight__grid {
    grid-template-columns: 1fr;
  }
}

/* Automatic ready-to-use storefront homepage */
.luxury-auto-home { overflow: hidden; }
.luxury-auto-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: calc(100vh - var(--header-height));
  background: var(--wp--preset--color--alabaster);
}
.luxury-auto-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(48px, 8vw, 120px);
  max-width: 760px;
  margin-left: auto;
}
.luxury-auto-hero__content h1 { margin: 1rem 0 1.5rem; max-width: 650px; }
.luxury-auto-hero__content p { font-size: 1.125rem; max-width: 560px; margin-bottom: 2rem; }
.luxury-auto-hero__actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.luxury-auto-hero__media { min-height: 560px; background: var(--wp--preset--color--sand); }
.luxury-auto-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.luxury-auto-hero__placeholder {
  width: 100%; height: 100%; min-height: 560px; display: grid; place-items: center;
  background: linear-gradient(145deg, var(--wp--preset--color--sand), var(--wp--preset--color--champagne));
  font-family: var(--font-serif); font-size: clamp(2rem, 5vw, 5rem); letter-spacing: .04em;
}
.luxury-auto-section { padding-top: var(--space-macro-desktop); padding-bottom: var(--space-macro-desktop); }
.luxury-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 3rem; }
.luxury-section-heading h2 { margin-top: .6rem; }
.luxury-section-heading--center { justify-content: center; text-align: center; }
.luxury-text-link { border-bottom: 1px solid currentColor; padding-bottom: .2rem; font-size: .875rem; }
.luxury-auto-category__placeholder { aspect-ratio: 3/4; background: linear-gradient(145deg, #d6d0c4, #9d9588); }
.luxury-auto-empty { padding: 3rem; background: var(--wp--preset--color--sand); text-align: center; }
.luxury-auto-feature { background: var(--wp--preset--color--obsidian); color: var(--wp--preset--color--pure-white); padding: var(--space-macro-desktop) 0; }
.luxury-auto-feature .ui-meta, .luxury-auto-feature p { color: var(--wp--preset--color--champagne); }
.luxury-auto-feature__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.luxury-auto-feature__copy h2 { color: var(--wp--preset--color--pure-white); margin: .75rem 0 1.5rem; }
.luxury-auto-feature__copy .btn-primary { background: var(--wp--preset--color--pure-white); color: var(--wp--preset--color--obsidian); border-color: var(--wp--preset--color--pure-white); margin-top: 1rem; }
.luxury-auto-feature__products { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.luxury-auto-feature__products .luxury-product-card__title,
.luxury-auto-feature__products .luxury-product-card__price { color: var(--wp--preset--color--pure-white); }
.luxury-auto-feature__art { min-height: 520px; background: linear-gradient(145deg, #35312d, #b8aa96); }
.luxury-auto-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--wp--preset--color--champagne); border: 1px solid var(--wp--preset--color--champagne); }
.luxury-auto-values__grid article { background: var(--wp--preset--color--alabaster); padding: clamp(28px, 4vw, 56px); }
.luxury-auto-values__grid article > span { display: block; font-size: .75rem; letter-spacing: .08em; margin-bottom: 2rem; }
.luxury-auto-values__grid h3 { margin-bottom: 1rem; }
@media (max-width: 1024px) {
  .luxury-auto-hero { grid-template-columns: 1fr; }
  .luxury-auto-hero__content { margin-left: 0; max-width: none; }
  .luxury-auto-hero__media, .luxury-auto-hero__placeholder { min-height: 55vh; }
  .luxury-auto-feature__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .luxury-auto-section, .luxury-auto-feature { padding-top: var(--space-macro-mobile); padding-bottom: var(--space-macro-mobile); }
  .luxury-auto-hero__content { padding: 56px var(--container-padding); }
  .luxury-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 2rem; }
  .luxury-auto-feature__products { gap: 12px; }
  .luxury-auto-values__grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Buyinghoo complete visual storefront
   ========================================================= */
.buyinghoo-home { background:#f7f5f0; color:#151513; }
.bh-kicker { display:block; font-family:var(--font-sans); font-size:.68rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#fff; }
.bh-kicker--dark { color:#5e5a53; }
.bh-link { display:inline-block; position:relative; font-size:.73rem; text-transform:uppercase; letter-spacing:.08em; padding-bottom:6px; color:#151513; }
.bh-link::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:currentColor; transform-origin:left; transition:transform .25s ease; }
.bh-link:hover::after { transform:scaleX(.55); }
.bh-link--light { color:#fff; }
.bh-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 28px; border:1px solid; font-size:.7rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; transition:all .25s ease; }
.bh-button--light { background:#f6f2ea; border-color:#f6f2ea; color:#161614; }
.bh-button--light:hover { background:transparent; color:#fff; }
.bh-button--dark { background:#151513; border-color:#151513; color:#fff; }
.bh-button--dark:hover { background:transparent; color:#151513; }

.bh-hero { position:relative; min-height:calc(100svh - var(--header-height)); overflow:hidden; background:#181713; }
.bh-hero__image, .bh-hero__image img { position:absolute; inset:0; width:100%; height:100%; }
.bh-hero__image img { object-fit:cover; object-position:center 35%; }
.bh-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,10,9,.72) 0%,rgba(10,10,9,.38) 48%,rgba(10,10,9,.08) 75%),linear-gradient(0deg,rgba(10,10,9,.25),transparent 45%); }
.bh-hero__content { position:relative; z-index:2; min-height:calc(100svh - var(--header-height)); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-top:72px; padding-bottom:110px; }
.bh-hero__content h1 { color:#fff; font-family:var(--font-serif); font-size:clamp(3.5rem,7.6vw,8.4rem); line-height:.9; font-weight:400; letter-spacing:-.035em; max-width:1050px; margin:20px 0 28px; }
.bh-hero__content p { color:rgba(255,255,255,.82); max-width:520px; font-size:1.05rem; line-height:1.7; margin-bottom:32px; }
.bh-hero__actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.bh-hero__caption { position:absolute; z-index:2; left:var(--container-padding); right:var(--container-padding); bottom:24px; display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.66); font-size:.62rem; text-transform:uppercase; letter-spacing:.11em; }

.bh-section { padding-top:clamp(76px,9vw,138px); padding-bottom:clamp(76px,9vw,138px); }
.bh-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:36px; margin-bottom:44px; }
.bh-section-head h2 { font-family:var(--font-serif); font-size:clamp(2.3rem,4vw,4.6rem); line-height:.98; font-weight:400; letter-spacing:-.025em; margin-top:12px; max-width:820px; }

.bh-category-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.bh-category-card { position:relative; min-height:560px; overflow:hidden; background:#cfc9bd; }
.bh-category-card:nth-child(1), .bh-category-card:nth-child(4) { grid-column:span 4; }
.bh-category-card:nth-child(2), .bh-category-card:nth-child(3) { grid-column:span 2; }
.bh-category-card a, .bh-category-card img, .bh-category-card__shade { position:absolute; inset:0; width:100%; height:100%; }
.bh-category-card img { object-fit:cover; transition:transform .6s var(--ease-editorial); }
.bh-category-card:hover img { transform:scale(1.035); }
.bh-category-card__shade { background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,.04) 65%); }
.bh-category-card__copy { position:absolute; z-index:2; left:24px; right:24px; bottom:24px; color:#fff; }
.bh-category-card__copy h3 { font-family:var(--font-serif); font-size:2rem; color:#fff; margin-bottom:5px; }
.bh-category-card__copy p { color:rgba(255,255,255,.78); margin:0 0 14px; font-size:.83rem; }
.bh-category-card__copy span { font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; }

.bh-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.bh-product-card { min-width:0; }
.bh-product-card__media { position:relative; overflow:hidden; aspect-ratio:3/4; background:#e4dfd5; }
.bh-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-editorial); }
.bh-product-card:hover .bh-product-card__media img { transform:scale(1.025); }
.bh-product-card__quick { position:absolute; left:12px; right:12px; bottom:12px; min-height:42px; display:flex; align-items:center; justify-content:center; background:rgba(247,245,240,.94); color:#151513; font-size:.62rem; text-transform:uppercase; letter-spacing:.09em; transform:translateY(64px); transition:transform .3s var(--ease-editorial); }
.bh-product-card:hover .bh-product-card__quick { transform:translateY(0); }
.bh-product-card__body { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-top:14px; }
.bh-product-card__body h3 { font-family:var(--font-sans); font-size:.92rem; font-weight:500; line-height:1.35; margin:0 0 4px; }
.bh-product-card__body p { font-size:.78rem; color:#777168; margin:0; }
.bh-product-card__price { font-size:.82rem; white-space:nowrap; }
/* Native presenter cards inherit the same refined grid feel */
.bh-products-grid .luxury-product-card__media { aspect-ratio:3/4; margin-bottom:14px; }
.bh-products-grid .luxury-product-card__title { font-size:.92rem; }

.bh-editorial { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); background:#ded7cb; min-height:760px; }
.bh-editorial__media { min-height:760px; }
.bh-editorial__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.bh-editorial__copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(56px,8vw,120px); }
.bh-editorial__copy h2 { font-family:var(--font-serif); font-size:clamp(3rem,5vw,6rem); line-height:.92; font-weight:400; letter-spacing:-.03em; margin:18px 0 28px; }
.bh-editorial__copy p { max-width:520px; color:#4e4a43; font-size:1rem; line-height:1.8; margin-bottom:32px; }

.bh-campaign { position:relative; min-height:78svh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.bh-campaign > img, .bh-campaign__overlay { position:absolute; inset:0; width:100%; height:100%; }
.bh-campaign > img { object-fit:cover; object-position:center 25%; }
.bh-campaign__overlay { background:rgba(10,10,9,.48); }
.bh-campaign__content { position:relative; z-index:2; color:#fff; width:min(820px,calc(100% - 40px)); }
.bh-campaign__content h2 { color:#fff; font-family:var(--font-serif); font-size:clamp(3.3rem,7vw,7.2rem); line-height:.9; font-weight:400; letter-spacing:-.03em; margin:18px 0 24px; }
.bh-campaign__content p { color:rgba(255,255,255,.8); max-width:560px; margin:0 auto 30px; }

.bh-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-top:84px; padding-bottom:84px; border-top:1px solid #c9c3b8; border-bottom:1px solid #c9c3b8; }
.bh-services article { padding:0 28px; border-right:1px solid #c9c3b8; }
.bh-services article:first-child { padding-left:0; }
.bh-services article:last-child { border-right:0; padding-right:0; }
.bh-services__num { display:block; font-size:.62rem; letter-spacing:.1em; color:#8a847b; margin-bottom:34px; }
.bh-services h3 { font-family:var(--font-serif); font-size:1.65rem; margin-bottom:12px; }
.bh-services p { font-size:.85rem; line-height:1.65; color:#68635b; margin:0; }

.bh-journal { padding-top:clamp(90px,10vw,150px); padding-bottom:clamp(90px,10vw,150px); display:grid; grid-template-columns:minmax(250px,.75fr) minmax(0,2.25fr); gap:clamp(42px,7vw,110px); }
.bh-journal__intro { position:sticky; top:150px; align-self:start; }
.bh-journal__intro h2 { font-family:var(--font-serif); font-size:clamp(2.5rem,4vw,4.5rem); line-height:.95; margin:14px 0 22px; }
.bh-journal__intro p { color:#68635b; line-height:1.75; }
.bh-journal__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.bh-journal-card img { width:100%; aspect-ratio:3/4; object-fit:cover; margin-bottom:16px; transition:transform .45s var(--ease-editorial); }
.bh-journal-card:hover img { transform:translateY(-4px); }
.bh-journal-card span { font-size:.62rem; letter-spacing:.1em; color:#8b857c; }
.bh-journal-card h3 { font-family:var(--font-serif); font-size:1.35rem; line-height:1.12; margin-top:8px; }

@media (max-width: 1100px) {
  .bh-category-card:nth-child(n) { grid-column:span 6; min-height:520px; }
  .bh-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:42px; }
  .bh-editorial { grid-template-columns:1fr; }
  .bh-editorial__media { min-height:70svh; }
  .bh-services { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:48px; }
  .bh-services article:nth-child(2) { border-right:0; }
  .bh-services article:nth-child(3) { padding-left:0; }
  .bh-journal { grid-template-columns:1fr; }
  .bh-journal__intro { position:static; max-width:620px; }
}
@media (max-width: 720px) {
  .bh-hero { min-height:80svh; }
  .bh-hero__content { min-height:80svh; padding-top:64px; padding-bottom:90px; }
  .bh-hero__content h1 { font-size:clamp(3.1rem,15vw,5.4rem); }
  .bh-hero__overlay { background:linear-gradient(0deg,rgba(10,10,9,.72),rgba(10,10,9,.12) 80%); }
  .bh-hero__caption { display:none; }
  .bh-section-head { align-items:flex-start; flex-direction:column; margin-bottom:28px; }
  .bh-category-grid { gap:10px; }
  .bh-category-card:nth-child(n) { grid-column:span 12; min-height:68svh; }
  .bh-products-grid { gap:10px; row-gap:34px; }
  .bh-product-card__quick { display:none; }
  .bh-editorial__media { min-height:60svh; }
  .bh-editorial__copy { padding:64px var(--container-padding); }
  .bh-campaign { min-height:70svh; }
  .bh-services { grid-template-columns:1fr; padding-top:58px; padding-bottom:58px; }
  .bh-services article, .bh-services article:first-child, .bh-services article:nth-child(3), .bh-services article:last-child { padding:28px 0; border-right:0; border-bottom:1px solid #c9c3b8; }
  .bh-services article:last-child { border-bottom:0; }
  .bh-services__num { margin-bottom:18px; }
  .bh-journal__grid { grid-template-columns:1fr; gap:40px; }
  .bh-journal-card img { aspect-ratio:4/5; }
}

/* ==========================================================
   BUYINGHOO V2.1 — restrained premium storefront
   ========================================================== */
.buyinghoo-v2 { background:#f6f3ed; color:#151513; }
.b2-eyebrow { display:block; font-size:.67rem; line-height:1; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.b2-eyebrow--dark { color:#777168; }
.b2-text-link { position:relative; display:inline-block; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; padding-bottom:4px; }
.b2-text-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; transform-origin:left; transition:transform .25s ease; }
.b2-text-link:hover::after { transform:scaleX(.55); }
.b2-btn { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 26px; border:1px solid; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; transition:.25s ease; }
.b2-btn--dark { background:#171715; border-color:#171715; color:#fff; }
.b2-btn--dark:hover { background:transparent; color:#171715; }
.b2-btn--light { background:#f6f3ed; border-color:#f6f3ed; color:#171715; }
.b2-btn--light:hover { background:transparent; color:#fff; }
.b2-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }

.b2-hero { min-height:720px; max-height:860px; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr); background:#d9d2c6; }
.b2-hero__media { min-height:720px; overflow:hidden; }
.b2-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.b2-hero__copy { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(56px,6vw,96px); background:#e7e1d6; }
.b2-hero__copy .b2-eyebrow { color:#6f695f; }
.b2-hero__copy h1 { font-family:var(--font-serif); font-size:clamp(3.6rem,6vw,7rem); line-height:.9; letter-spacing:-.04em; font-weight:400; max-width:650px; margin:18px 0 28px; }
.b2-hero__copy > p { max-width:520px; color:#4f4a42; font-size:1rem; line-height:1.75; margin-bottom:30px; }
.b2-hero__note { position:absolute; left:clamp(56px,6vw,96px); right:clamp(56px,6vw,96px); bottom:28px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(21,21,19,.18); padding-top:14px; color:#7b746b; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }

.b2-section { padding-top:clamp(76px,8vw,120px); padding-bottom:clamp(76px,8vw,120px); }
.b2-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:34px; }
.b2-heading h2 { font-family:var(--font-serif); font-size:clamp(2.4rem,4vw,4.5rem); line-height:.95; font-weight:400; letter-spacing:-.03em; margin-top:10px; }

.b2-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.b2-category-card { position:relative; min-height:500px; overflow:hidden; background:#d8d2c8; }
.b2-category-card img, .b2-category-card__shade { position:absolute; inset:0; width:100%; height:100%; }
.b2-category-card img { object-fit:cover; transition:transform .55s var(--ease-editorial); }
.b2-category-card:hover img { transform:scale(1.03); }
.b2-category-card__shade { background:linear-gradient(0deg,rgba(0,0,0,.56),rgba(0,0,0,.03) 62%); }
.b2-category-card__copy { position:absolute; z-index:2; left:22px; right:22px; bottom:22px; color:#fff; }
.b2-category-card__copy span { font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; opacity:.72; }
.b2-category-card__copy h3 { color:#fff; font-family:var(--font-serif); font-size:2.1rem; font-weight:400; margin:6px 0 3px; }
.b2-category-card__copy p { color:rgba(255,255,255,.75); margin:0; font-size:.82rem; }

.b2-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.b2-product-card { min-width:0; }
.b2-product-card__media { position:relative; aspect-ratio:4/5; overflow:hidden; background:#dfd9cf; }
.b2-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease-editorial); }
.b2-product-card:hover .b2-product-card__media img { transform:scale(1.025); }
.b2-product-card__view { position:absolute; left:10px; right:10px; bottom:10px; min-height:40px; display:flex; align-items:center; justify-content:center; background:rgba(246,243,237,.94); color:#171715; font-size:.62rem; letter-spacing:.09em; text-transform:uppercase; transform:translateY(56px); transition:transform .28s ease; }
.b2-product-card:hover .b2-product-card__view { transform:translateY(0); }
.b2-product-card__meta { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding-top:12px; }
.b2-product-card__meta h3 { font-family:var(--font-sans); font-size:.9rem; font-weight:500; line-height:1.35; margin:0 0 3px; }
.b2-product-card__meta p { margin:0; font-size:.76rem; color:#7a746b; }
.b2-product-card__meta strong { font-size:.8rem; font-weight:500; white-space:nowrap; }
/* Native Woo cards inside V2 grid */
.b2-product-grid .luxury-product-card__media { aspect-ratio:4/5; margin-bottom:12px; }
.b2-product-grid .luxury-product-card__title { font-size:.9rem; }

.b2-editorial { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); background:#171715; color:#fff; min-height:620px; }
.b2-editorial__media { min-height:620px; overflow:hidden; }
.b2-editorial__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.b2-editorial__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(54px,7vw,100px); }
.b2-editorial__copy h2 { color:#fff; font-family:var(--font-serif); font-size:clamp(3rem,5vw,5.7rem); line-height:.92; letter-spacing:-.035em; font-weight:400; margin:16px 0 24px; }
.b2-editorial__copy p { color:#bdb6a9; max-width:500px; line-height:1.8; margin-bottom:30px; }

.b2-service-wrap { border-top:1px solid #c8c1b6; background:#eee9e0; }
.b2-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.b2-services article { padding:54px 34px; border-right:1px solid #c8c1b6; }
.b2-services article:first-child { padding-left:0; }
.b2-services article:last-child { border-right:0; padding-right:0; }
.b2-services article > span { display:block; font-size:.61rem; letter-spacing:.11em; color:#8a8379; margin-bottom:24px; }
.b2-services h3 { font-family:var(--font-serif); font-size:1.55rem; font-weight:400; margin-bottom:9px; }
.b2-services p { margin:0; color:#6f695f; font-size:.84rem; line-height:1.65; }

@media (max-width: 1080px) {
  .b2-hero { grid-template-columns:1fr 1fr; min-height:650px; }
  .b2-hero__media { min-height:650px; }
  .b2-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:34px; }
  .b2-editorial { grid-template-columns:1fr; }
  .b2-editorial__media { min-height:58svh; }
}
@media (max-width: 720px) {
  .b2-hero { display:flex; flex-direction:column; min-height:0; max-height:none; }
  .b2-hero__media { min-height:54svh; height:54svh; }
  .b2-hero__copy { padding:46px var(--container-padding) 82px; }
  .b2-hero__copy h1 { font-size:clamp(3rem,14vw,4.8rem); }
  .b2-hero__note { left:var(--container-padding); right:var(--container-padding); bottom:22px; }
  .b2-heading { align-items:flex-start; flex-direction:column; margin-bottom:24px; }
  .b2-category-grid { display:flex; overflow-x:auto; gap:10px; margin-left:calc(var(--container-padding) * -1); margin-right:calc(var(--container-padding) * -1); padding:0 var(--container-padding) 8px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .b2-category-grid::-webkit-scrollbar { display:none; }
  .b2-category-card { flex:0 0 82vw; min-height:58svh; scroll-snap-align:start; }
  .b2-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; row-gap:28px; }
  .b2-product-card__view { display:none; }
  .b2-product-card__meta { display:block; }
  .b2-product-card__meta strong { display:block; margin-top:6px; }
  .b2-editorial__media { min-height:50svh; }
  .b2-editorial__copy { padding:58px var(--container-padding); }
  .b2-services { grid-template-columns:1fr; }
  .b2-services article, .b2-services article:first-child, .b2-services article:last-child { padding:32px 0; border-right:0; border-bottom:1px solid #c8c1b6; }
  .b2-services article:last-child { border-bottom:0; }
}

/* =========================================================
   Buyinghoo v2.2 — luxury motion layer
   ========================================================= */
.b22-video-shell { position:relative; overflow:hidden; isolation:isolate; background:#d8d1c5; }
.b22-video { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.015); }
.b22-video-tint { position:absolute; inset:0; pointer-events:none; z-index:1; background:linear-gradient(180deg,rgba(13,13,12,.02),rgba(13,13,12,.16)); }
.b22-video-tint--soft { background:linear-gradient(90deg,rgba(10,10,9,.08),rgba(10,10,9,.20)); }
.b22-video-hero .b2-hero__media { position:relative; }
.b22-video-hero .b2-hero__media video { object-position:center center; }

/* Scroll reveal: only hidden once JS marks the document ready. */
html.luxury-motion-ready [data-reveal] { opacity:0; transform:translate3d(0,34px,0); transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1); }
html.luxury-motion-ready [data-reveal].is-revealed { opacity:1; transform:none; }
html.luxury-motion-ready .b2-category-card[data-reveal]:nth-child(2),
html.luxury-motion-ready .b2-product-card[data-reveal]:nth-child(2) { transition-delay:.07s; }
html.luxury-motion-ready .b2-category-card[data-reveal]:nth-child(3),
html.luxury-motion-ready .b2-product-card[data-reveal]:nth-child(3) { transition-delay:.14s; }
html.luxury-motion-ready .b2-product-card[data-reveal]:nth-child(4) { transition-delay:.21s; }

/* Expand-on-hover category interaction. */
@media (min-width: 1025px) and (hover:hover) {
  .b22-category-expand { display:flex; gap:16px; }
  .b22-category-expand .b2-category-card { flex:1 1 0; min-width:0; transition:flex .65s cubic-bezier(.16,1,.3,1),filter .45s ease; }
  .b22-category-expand:hover .b2-category-card { flex:.88 1 0; filter:saturate(.82) brightness(.88); }
  .b22-category-expand .b2-category-card:hover { flex:1.34 1 0; filter:none; }
  .b2-category-card__copy em { display:inline-block; margin-top:14px; font-family:var(--font-sans); font-size:.62rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; opacity:0; transform:translateY(8px); transition:.35s ease; }
  .b2-category-card:hover .b2-category-card__copy em { opacity:.9; transform:none; }
}

/* Product-card micro motion. */
@media (hover:hover) {
  .b2-product-card { transition:transform .45s cubic-bezier(.16,1,.3,1); }
  .b2-product-card:hover { transform:translateY(-6px); }
  .b2-product-card__media::after { content:""; position:absolute; inset:0; border:1px solid rgba(17,17,15,0); transition:border-color .35s ease; pointer-events:none; }
  .b2-product-card:hover .b2-product-card__media::after { border-color:rgba(17,17,15,.12); }
}

/* New cinematic motion story. */
.b22-motion-story { position:relative; min-height:78svh; display:grid; align-items:end; color:#fff; background:#131310; overflow:hidden; }
.b22-motion-story__video { position:absolute; inset:0; }
.b22-motion-story__video::after { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,rgba(8,8,7,.72) 0%,rgba(8,8,7,.30) 52%,rgba(8,8,7,.10) 100%),linear-gradient(0deg,rgba(8,8,7,.42),transparent 50%); }
.b22-motion-story__content { position:relative; z-index:3; width:100%; padding-top:clamp(180px,26vw,360px); padding-bottom:clamp(58px,8vw,110px); }
.b22-motion-story__content h2 { color:#fff; font-family:var(--font-serif); font-size:clamp(3.2rem,7vw,7.5rem); line-height:.88; letter-spacing:-.04em; font-weight:400; max-width:900px; margin:18px 0 26px; }
.b22-motion-story__content p { color:rgba(255,255,255,.74); max-width:510px; line-height:1.75; margin-bottom:30px; }

.b22-editorial-video .b2-editorial__media video { min-height:620px; }

/* Magnetic controls. */
[data-magnetic] { will-change:transform; transition:transform .25s cubic-bezier(.16,1,.3,1),background-color .25s ease,color .25s ease; }

/* Header hide/reveal while scrolling. */
.site-header { transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .3s ease,box-shadow .3s ease; }
.site-header.is-scrolled { box-shadow:0 8px 35px rgba(20,18,14,.07); background:rgba(250,250,248,.92); }
.site-header.is-hidden { transform:translateY(-110%); }

@media (max-width:1024px) {
  .b22-motion-story { min-height:68svh; }
  .b22-editorial-video .b2-editorial__media video { min-height:58svh; }
}
@media (max-width:768px) {
  .b22-motion-story { min-height:72svh; }
  .b22-motion-story__content { padding-top:220px; }
  .b22-motion-story__content h2 { font-size:clamp(3rem,15vw,5.2rem); }
  .b22-video-hero .b2-hero__media { height:58svh; min-height:58svh; }
}

@media (prefers-reduced-motion: reduce) {
  html.luxury-motion-ready [data-reveal] { opacity:1 !important; transform:none !important; transition:none !important; }
  [data-magnetic] { transform:none !important; }
  .site-header { transition:none !important; }
  .b22-category-expand .b2-category-card,
  .b2-product-card,
  .b2-category-card img { transition:none !important; }
}
