/* HERO1 1.0.0 — exact component scope; no global header/product/form styles. */
#sm-hero1 { --smh1-css-ready: 1; --smh1-gold: #d9b76f; width:100%; max-width:100%; margin:0; background:#080808; color:#f4ead5; position:relative; }
#sm-hero1 *, #sm-hero1 *::before, #sm-hero1 *::after { box-sizing:border-box; }
#sm-hero1 [hidden] { display:none !important; }
#sm-hero1:not(.is-ready) > .smh1-stage > .smh1-original > .sm-hero { /* Original CSS untouched before enhancement. */ }
#sm-hero1.is-ready .smh1-stage { display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; isolation:isolate; }
#sm-hero1.is-ready .smh1-slide { grid-area:1 / 1; min-width:0; margin:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .32s ease; }
#sm-hero1.is-ready .smh1-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:1; }
#sm-hero1.is-ready .smh1-original .sm-hero { height:100%; min-height:460px; width:100%; margin:0; }
#sm-hero1.is-ready .smh1-original .sm-hero-content { min-height:460px; justify-content:center; padding-top:34px; padding-bottom:34px; }
#sm-hero1.is-ready .smh1-art { display:flex; flex-direction:column; background:#080808; }
#sm-hero1 .smh1-art-frame { display:flex; width:100%; height:clamp(340px,43vw,620px); margin:0; padding:0; align-items:center; justify-content:center; overflow:hidden; background:#080808; border:0; text-decoration:none; touch-action:pan-y pinch-zoom; }
#sm-hero1 .smh1-art-image { display:block; width:100%; height:100%; max-width:1672px; margin:0; padding:0; object-fit:contain; object-position:center; border:0; border-radius:0; }
#sm-hero1 .smh1-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:16px 0; flex:1 0 auto; }
#sm-hero1 .smh1-caption-copy { min-width:0; }
#sm-hero1 .smh1-caption h2 { color:#f4ead5; font:700 21px/1.35 "PingFang TC","Microsoft JhengHei",sans-serif; margin:0 0 4px; letter-spacing:.035em; }
#sm-hero1 .smh1-caption p { color:#c6beae; font-size:14px; line-height:1.55; margin:0; }
#sm-hero1 .smh1-caption-actions { display:flex; gap:10px; flex:0 0 auto; }
#sm-hero1 .smh1-cta, #sm-hero1 .smh1-zoom { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:96px; padding:10px 18px; font:700 14px/1.3 "PingFang TC","Microsoft JhengHei",sans-serif; text-decoration:none; border:1px solid #76603b; border-radius:4px; box-shadow:none; cursor:pointer; }
#sm-hero1 .smh1-cta { background:#d9b76f; color:#18130b; }
#sm-hero1 .smh1-zoom { background:#14120e; color:#dfc68e; }
#sm-hero1 .smh1-controls { display:flex; justify-content:center; align-items:center; gap:8px; min-height:58px; padding:6px 4px; border-top:1px solid #30281d; background:#100e0b; }
#sm-hero1 .smh1-dots { display:flex; align-items:center; gap:0; }
#sm-hero1 .smh1-controls button, #sm-hero1 .smh1-viewer-close { display:inline-flex; flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; align-items:center; justify-content:center; border:0; border-radius:5px; color:#e6c579; background:transparent; cursor:pointer; box-shadow:none; }
#sm-hero1 .smh1-controls button:hover, #sm-hero1 .smh1-viewer-close:hover { background:#2a2318; }
#sm-hero1 .smh1-controls svg, #sm-hero1 .smh1-viewer-close svg { width:22px; height:22px; flex:none; fill:none; stroke:currentColor; }
#sm-hero1 .smh1-dot > span { display:block; width:7px; height:7px; border-radius:10px; background:#786746; transition:width .2s ease,background .2s ease; }
#sm-hero1 .smh1-dot[aria-current="true"] > span { width:24px; background:#e6c579; }
#sm-hero1 .smh1-pause { margin-left:4px; border-left:1px solid #443824 !important; border-radius:0 !important; }
#sm-hero1 :where(button,a,[tabindex]):focus-visible { outline:2px solid #f4cf82; outline-offset:2px; }
#sm-hero1 .smh1-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; padding:0; margin:0; border:0; }
#sm-hero1 .smh1-viewer { background:#100f0d; color:#f4ead5; border:1px solid #6f5934; border-radius:8px; padding:0; width:min(1600px,96vw); max-width:96vw; max-height:92vh; max-height:92dvh; margin:auto; overflow:hidden; }
#sm-hero1 .smh1-viewer:not([open]) { display:none; }
#sm-hero1 .smh1-viewer::backdrop { background:rgba(0,0,0,.86); }
#sm-hero1 .smh1-viewer-head { display:flex; align-items:center; justify-content:space-between; padding:4px 12px 4px 18px; border-bottom:1px solid #40331f; font-size:14px; }
#sm-hero1 .smh1-viewer-scroll { max-height:calc(92vh - 56px); max-height:calc(92dvh - 56px); overflow:auto; overscroll-behavior:contain; }
#sm-hero1 .smh1-viewer-scroll img { display:block; width:100%; max-width:100%; height:auto; margin:0; }
#sm-hero1.is-ready + .sm-trust { margin-top:18px !important; }
@media (max-width:767px) {
  #sm-hero1.is-ready .smh1-original .sm-hero { min-height:380px; }
  #sm-hero1.is-ready .smh1-original .sm-hero-content { min-height:380px; width:calc(100% - 32px); padding:24px 0; justify-content:center; }
  #sm-hero1.is-ready .smh1-original h1 { font-size:clamp(27px,7.4vw,42px); line-height:1.2; margin-bottom:16px; }
  #sm-hero1.is-ready .smh1-original .sm-eyebrow { font-size:11px; margin-bottom:12px; }
  #sm-hero1.is-ready .smh1-original .sm-lead { font-size:14px; line-height:1.7; margin-bottom:18px; }
  #sm-hero1.is-ready .smh1-original .sm-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
  #sm-hero1.is-ready .smh1-original .sm-button { padding:10px 8px; font-size:14px; min-width:0; min-height:46px; }
  #sm-hero1.is-ready .smh1-original .sm-ghost { display:none; }
  #sm-hero1 .smh1-art-frame { height:auto; aspect-ratio:1672 / 941; flex:0 0 auto; }
  #sm-hero1 .smh1-caption { width:calc(100% - 32px); display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:12px; padding:16px 0; }
  #sm-hero1 .smh1-caption h2 { font-size:20px; }
  #sm-hero1 .smh1-caption p { font-size:14px; }
  #sm-hero1 .smh1-caption-actions { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:10px; }
  #sm-hero1 .smh1-cta, #sm-hero1 .smh1-zoom { min-width:0; padding:10px 12px; }
  #sm-hero1 .smh1-controls { gap:0; min-height:56px; padding:6px 4px; }
  #sm-hero1 .smh1-pause { margin-left:0; }
  #sm-hero1 .smh1-viewer-scroll img { width:960px; max-width:none; }
  #sm-hero1.is-ready + .sm-trust { margin-top:14px !important; }
}
@media (prefers-reduced-motion:reduce) {
  #sm-hero1.is-ready .smh1-slide, #sm-hero1 .smh1-dot > span { transition:none; }
}

/* Keep controls within narrow phones when more artwork is added. */
#sm-hero1 .smh1-dots { min-width:0; max-width:calc(100% - 144px); overflow-x:auto; scrollbar-width:thin; }
#sm-hero1 .smh1-controls { max-width:100%; }
