/* Beauty Clinique V1.5 | Hero 01-04 only. The approved site geometry is unchanged. */
.bc-hero-slide-stack { position:absolute; inset:0; z-index:-2; pointer-events:none; overflow:hidden; }
.bc-hero-slide { z-index:auto; opacity:0; transition:opacity 850ms ease; visibility:hidden; }
.bc-hero-slide.is-active { opacity:1; visibility:visible; }
.bc-hero-slide img { width:100%;height:100%;object-fit:cover;object-position:center; }
.bc-hero-carousel-meta { display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;z-index:2; }
.bc-hero-carousel-nav { display:flex;align-items:center;gap:3px; }
.bc-hero-carousel-nav button { display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:5px;border:0;background:transparent;color:var(--champagne);cursor:pointer;opacity:.84; }
.bc-hero-carousel-nav button:hover,.bc-hero-carousel-nav button:focus-visible { opacity:1; }
.bc-hero-carousel-nav svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round; }
.hero[data-bc-slide="1"] h1, .hero[data-bc-slide="2"] h1, .hero[data-bc-slide="3"] h1 { letter-spacing:.07em; }
.hero[data-bc-slide="1"] .hero-description, .hero[data-bc-slide="2"] .hero-description, .hero[data-bc-slide="3"] .hero-description { max-width:375px; }
@media(max-width:899px) {
  .bc-hero-carousel-meta { gap:6px; }
  .bc-hero-carousel-nav { gap:0; }
  .bc-hero-carousel-nav button { width:24px;height:28px;padding:3px; }
  .bc-hero-carousel-nav svg { width:16px;height:16px; }
  .hero[data-bc-slide="1"] h1, .hero[data-bc-slide="2"] h1, .hero[data-bc-slide="3"] h1 { font-size:clamp(29px,8.2vw,36px); letter-spacing:.045em; line-height:1.03; }
  .hero[data-bc-slide="1"] .hero-description, .hero[data-bc-slide="2"] .hero-description, .hero[data-bc-slide="3"] .hero-description { max-width:214px; font-size:10px;line-height:1.47; }
  .hero[data-bc-slide="1"] .hero-content,.hero[data-bc-slide="2"] .hero-content,.hero[data-bc-slide="3"] .hero-content { max-width:245px; }
  .hero[data-bc-slide="1"] .hero-link,.hero[data-bc-slide="2"] .hero-link,.hero[data-bc-slide="3"] .hero-link { font-size:8px;letter-spacing:.12em; }
  html[lang="zh-CN"] .hero[data-bc-slide="1"] h1,html[lang="zh-CN"] .hero[data-bc-slide="2"] h1,html[lang="zh-CN"] .hero[data-bc-slide="3"] h1 { font-size:clamp(25px,7vw,31px);letter-spacing:.02em;line-height:1.22; }
  html[lang="zh-CN"] .hero[data-bc-slide="1"] .hero-description,html[lang="zh-CN"] .hero[data-bc-slide="2"] .hero-description,html[lang="zh-CN"] .hero[data-bc-slide="3"] .hero-description { max-width:216px;line-height:1.53; }
}
@media (max-width:360px) {
  .hero[data-bc-slide="1"] h1,.hero[data-bc-slide="2"] h1,.hero[data-bc-slide="3"] h1 { font-size:28px; }
}
@media(max-width:899px) {
  /* Keep the 03 consultation photo legible behind mobile copy. */
  .hero[data-bc-slide="2"] .hero-veil { background:linear-gradient(90deg,rgba(6,18,27,.94) 0%,rgba(6,18,27,.81) 43%,rgba(6,18,27,.28) 100%); }
  .bc-hero-carousel-nav button { width:34px;height:34px;background:rgba(6,18,27,.36);border-radius:3px; }
}
@media(prefers-reduced-motion:reduce){ .bc-hero-slide { transition:none; } }

/* V1.5.2 | Scheme C on touch-sized layouts: understated progress indicators + swipe.
   Desktop arrows remain available; no changes to the approved Hero geometry. */
.bc-hero-carousel-pager { display:none; }
@media (max-width:899px) {
  .bc-hero-carousel-nav { display:none; }
  .bc-hero-carousel-meta {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-end;
    gap:1px;
    min-width:100px;
  }
  .bc-hero-carousel-pager {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:1px;
    margin-right:-4px;
  }
  .bc-hero-carousel-pager button {
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:25px;
    height:25px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--champagne, #C3A98F);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .bc-hero-carousel-pager button::before {
    content:"";
    display:block;
    width:13px;
    height:2px;
    border-radius:3px;
    background:currentColor;
    opacity:.45;
    transition:width 250ms ease, opacity 250ms ease;
  }
  .bc-hero-carousel-pager button.is-active::before { width:19px; opacity:1; }
  .bc-hero-carousel-pager button:focus-visible { outline:1px solid currentColor;outline-offset:-2px; }
  .bc-hero-carousel-meta .hero-count {
    display:flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:flex-end;
    gap:5px;
  }
  .bc-hero-carousel-meta .hero-count strong { font-size:21px; line-height:1; }
  .bc-hero-carousel-meta .hero-count small { font-size:10px; margin-top:0; }
}
@media (prefers-reduced-motion: reduce) {
  .bc-hero-carousel-pager button::before { transition:none; }
}
