/* ============================================================
   初喚官網 · 門店頁 /stores/ v0.2
   場景化四家店：大學路 / 久光 / 環球 / 杭州
   依賴 main.css v2（CI 五層系統）
   相容 v0.1 既有 class：.store-info-tag / .meta-row / .store-features / .btn-ext
   ============================================================ */

/* ===== Hero · 黑底招牌感（v0.2 升級） =============================== */
.stores-hero {
  background: var(--brand-black);
  color: #fff;
  padding: clamp(3.5rem, 9vw, 6rem) 0 clamp(2rem, 5vw, 3rem);
  position: relative;
  overflow: hidden;
}

.stores-hero-inner {
  position: relative;
  z-index: 2;
}

.stores-hero-tile-strip {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 24px;
  background:
    repeating-linear-gradient(90deg,
      var(--scene-tile-white) 0, var(--scene-tile-white) 46px,
      rgba(0,0,0,.08) 46px, rgba(0,0,0,.08) 48px);
  border-top: 3px solid var(--scene-tile-line);
  z-index: 1;
}

.stores-hero-eyebrow {
  display: inline-block;
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  font-weight: 700;
  padding: .35em .9em;
  letter-spacing: .12em;
  font-size: .82rem;
  margin-bottom: 1.25rem;
  transform: rotate(-1deg);
  box-shadow: 2px 2px 0 rgba(0,0,0,.4);
}

.stores-hero-title {
  font-size: clamp(2rem, 5.5vw, 3.4rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1rem;
  color: #fff;
}

.stores-hero-title em {
  font-style: normal;
  color: var(--signal-neon-yellow);
}

.stores-hero-tagline {
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  line-height: 1.75;
  color: rgba(255,255,255,.82);
  max-width: 42em;
  margin: 0 0 2rem;
}

.stores-hero-tagline strong {
  color: var(--signal-neon-yellow);
  font-weight: 700;
}

.stores-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  text-align: center;
  background: rgba(255,255,255,.05);
  border: 1px dashed rgba(245,211,25,.4);
  padding: 1.25rem 1rem;
  margin-top: 2rem;
}

.stores-hero-stats .stat-num {
  display: block;
  font-size: clamp(1.4rem, 3.5vw, 2rem);
  font-weight: 700;
  color: var(--signal-neon-yellow);
  line-height: 1;
  margin-bottom: .3rem;
}
.stores-hero-stats .stat-num small {
  font-size: .55em;
  font-weight: 500;
  margin-left: 2px;
  opacity: .85;
}

.stores-hero-stats .stat-label {
  font-size: .82rem;
  color: rgba(255,255,255,.75);
  letter-spacing: .05em;
}

@media (max-width: 640px) {
  .stores-hero-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem .75rem;
  }
}

/* ===== 錨點 Tab Bar（置頂固定） ================================= */
.stores-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--brand-black);
  border-bottom: 3px solid var(--signal-neon-yellow);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.stores-nav-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0 .5rem;
}
.stores-nav-inner::-webkit-scrollbar { display: none; }

.stores-nav-city {
  flex-shrink: 0;
  padding: .7rem .9rem .7rem 1.25rem;
  color: var(--signal-neon-yellow);
  font-size: .78rem;
  letter-spacing: .2em;
  font-weight: 700;
  align-self: center;
  border-right: 1px dashed rgba(255,255,255,.2);
  margin-right: .5rem;
}
.stores-nav-city:not(:first-child) {
  margin-left: .75rem;
}

.stores-nav a {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .9rem 1rem;
  color: rgba(255,255,255,.75);
  text-decoration: none;
  font-size: .95rem;
  font-weight: 500;
  border-bottom: 3px solid transparent;
  transition: all .2s;
  white-space: nowrap;
}

.stores-nav a:hover,
.stores-nav a.is-active {
  color: #fff;
  border-bottom-color: var(--signal-neon-yellow);
}

.stores-nav-tag {
  font-size: .68rem;
  padding: .15em .5em;
  border-radius: 2px;
  font-weight: 700;
  letter-spacing: .05em;
}
.stores-nav-tag.direct { background: var(--brand-red); color: #fff; }
.stores-nav-tag.franchise { background: var(--signal-neon-yellow); color: var(--brand-black); }

/* ===== 三店三模型敘事帶（保留 v0.1 邏輯，微調配色） ============ */
.models-band {
  background: var(--scene-tile-white);
  padding: clamp(3rem, 6vw, 4.5rem) 0;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.models-band .section-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.models-band .section-eyebrow {
  display: inline-block;
  font-size: .78rem;
  letter-spacing: .25em;
  font-weight: 700;
  color: var(--brand-red);
  margin-bottom: .5rem;
}

.models-band .section-title {
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 700;
  margin: 0 0 .5rem;
}

.models-band .section-header p {
  color: rgba(0,0,0,.65);
  margin: 0;
}

.models-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

@media (max-width: 860px) {
  .models-grid { grid-template-columns: 1fr; }
}

.model-card {
  padding: 1.5rem 1.25rem;
  color: #fff;
  position: relative;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.model-market { background: var(--brand-red); }
.model-mall { background: var(--scene-wood); }
.model-office { background: var(--scene-tile-line); }

.model-label {
  font-size: .78rem;
  letter-spacing: .15em;
  opacity: .85;
}

.model-card h3 {
  font-size: 1.4rem;
  margin: 0;
  font-weight: 700;
}

.model-question {
  font-size: .95rem;
  line-height: 1.5;
  opacity: .9;
  margin: .5rem 0;
  flex: 1;
}

.model-verified {
  align-self: flex-start;
  display: inline-block;
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  padding: .3em .7em;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
}

/* ===== 單家店整體容器 ====================================== */
.store-section {
  padding: clamp(3rem, 7vw, 5rem) 0;
  scroll-margin-top: 70px; /* 錨點跳轉預留 tab bar 高度 */
  position: relative;
}

.store-inner {
  position: relative;
}

/* 各家店的底色 ------------------------------------- */
.store-section.bg-street { background: var(--scene-warm-cream); }
.store-section.bg-mall { background: var(--brand-black); color: #fff; }
.store-section.bg-biz { background: var(--scene-tile-white); }
.store-section.bg-fran {
  background: #F0E8DD;
  background-image:
    linear-gradient(90deg, transparent 49%, rgba(107,93,79,.08) 49%, rgba(107,93,79,.08) 51%, transparent 51%),
    linear-gradient(#F0E8DD, #F0E8DD);
  background-size: 8px 100%, 100% 100%;
}

/* 黑底區塊內的文字色反白 */
.store-section.bg-mall .store-info h2,
.store-section.bg-mall .store-subtitle,
.store-section.bg-mall .store-desc,
.store-section.bg-mall .meta-value,
.store-section.bg-mall .meta-value a,
.store-section.bg-mall .store-features li,
.store-section.bg-mall .store-feature-q { color: #fff; }
.store-section.bg-mall .meta-label { color: var(--signal-neon-yellow); }
.store-section.bg-mall .store-desc { color: rgba(255,255,255,.82); }

/* ===== 招牌視覺容器 ======================================== */
.store-signboard {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 2.5rem;
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
}

@media (max-width: 640px) {
  .store-signboard { aspect-ratio: 4 / 3; }
}

.signboard-placeholder-note {
  position: absolute;
  bottom: .75rem;
  left: .75rem;
  background: rgba(0,0,0,.7);
  color: var(--signal-neon-yellow);
  padding: .3em .7em;
  font-size: .72rem;
  letter-spacing: .1em;
  border-radius: 3px;
  z-index: 10;
  font-weight: 500;
}

/* ==== 大學路店招牌：黃底紅字 + 紅禁止牌 + 啤酒箱 ==== */
.signboard-daxue {
  background: var(--signal-neon-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
}
.signboard-daxue::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(180deg,
      rgba(0,0,0,0) 0, rgba(0,0,0,0) 40px,
      rgba(198,40,40,.08) 40px, rgba(198,40,40,.08) 42px);
}
.signboard-daxue-main {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: clamp(1rem, 3vw, 2rem);
  padding: 1rem;
}
.signboard-daxue-cn {
  font-size: clamp(3rem, 9vw, 5.5rem);
  font-weight: 900;
  color: var(--brand-red);
  letter-spacing: .1em;
  text-shadow: 3px 3px 0 var(--brand-red-deep), 6px 6px 0 rgba(0,0,0,.2);
  line-height: 1;
}
.signboard-daxue-en {
  font-size: clamp(2rem, 6vw, 3.8rem);
  font-weight: 900;
  color: var(--brand-green);
  letter-spacing: .08em;
  text-shadow: 3px 3px 0 var(--brand-green-deep), 6px 6px 0 rgba(0,0,0,.2);
  line-height: 1;
}
.signboard-daxue-props {
  position: absolute;
  left: 5%;
  bottom: 14%;
  display: flex;
  gap: .6rem;
  z-index: 3;
}
.daxue-barrier {
  background: var(--signal-calendar-red);
  color: #fff;
  padding: .5rem .7rem;
  font-size: clamp(.7rem, 1.5vw, .9rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  box-shadow: 2px 2px 0 rgba(0,0,0,.3);
  transform: rotate(-2deg);
  min-width: 80px;
}
.daxue-barrier:nth-child(2) { transform: rotate(1.5deg); }
.daxue-barrier span {
  display: block;
  font-size: .7em;
  font-weight: 400;
  opacity: .9;
}
.signboard-daxue-crates {
  position: absolute;
  right: 4%;
  bottom: 6%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 3;
}
.daxue-crate {
  width: clamp(60px, 12vw, 100px);
  height: clamp(18px, 3.5vw, 28px);
  background: var(--scene-wood);
  border: 2px solid var(--brand-black);
  position: relative;
}
.daxue-crate::before {
  content: '';
  position: absolute;
  inset: 4px;
  background: repeating-linear-gradient(90deg,
    var(--brand-black) 0, var(--brand-black) 2px,
    transparent 2px, transparent 8px);
  opacity: .4;
}

/* ==== 久光店招牌：黑底立體字 + 磁磚腰線 + 日曆 ==== */
.signboard-jiuguang {
  background: var(--brand-black);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.signboard-jiuguang::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 14%;
  background:
    repeating-linear-gradient(90deg,
      var(--scene-tile-white) 0, var(--scene-tile-white) 32px,
      rgba(0,0,0,.1) 32px, rgba(0,0,0,.1) 34px);
  border-bottom: 3px solid var(--scene-tile-line);
}
.signboard-jiuguang::after {
  content: '';
  position: absolute;
  inset: 14% 0 0 0;
  background:
    repeating-linear-gradient(90deg,
      transparent 0, transparent 44px,
      rgba(255,255,255,.04) 44px, rgba(255,255,255,.04) 46px),
    repeating-linear-gradient(0deg,
      transparent 0, transparent 44px,
      rgba(255,255,255,.04) 44px, rgba(255,255,255,.04) 46px);
}
.signboard-jiuguang-main {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
}
.signboard-jiuguang-cn {
  font-size: clamp(3rem, 9vw, 5.5rem);
  font-weight: 900;
  color: var(--brand-red);
  letter-spacing: .1em;
  text-shadow:
    0 0 1px #fff,
    2px 2px 0 var(--brand-red-deep),
    4px 4px 0 rgba(255,255,255,.15),
    6px 6px 12px rgba(0,0,0,.8);
  line-height: 1;
}
.signboard-jiuguang-en {
  font-size: clamp(2rem, 6vw, 3.8rem);
  font-weight: 900;
  color: var(--brand-green);
  letter-spacing: .08em;
  text-shadow:
    0 0 1px #fff,
    2px 2px 0 var(--brand-green-deep),
    4px 4px 0 rgba(255,255,255,.15),
    6px 6px 12px rgba(0,0,0,.8);
  line-height: 1;
}
.signboard-jiuguang-lightbox {
  position: absolute;
  right: 5%;
  bottom: 10%;
  background: var(--signal-neon-yellow);
  color: var(--brand-red);
  padding: .5rem .9rem;
  font-weight: 900;
  font-size: clamp(.85rem, 2vw, 1.1rem);
  transform: rotate(-3deg);
  box-shadow: 3px 3px 0 var(--brand-red-deep);
  z-index: 3;
}
.signboard-jiuguang-calendar {
  position: absolute;
  left: 6%;
  bottom: 12%;
  width: clamp(50px, 10vw, 80px);
  background: #fff;
  z-index: 3;
  box-shadow: 4px 4px 0 rgba(255,255,255,.2);
}
.signboard-jiuguang-calendar-top {
  background: var(--signal-calendar-red);
  color: #fff;
  font-size: clamp(.55rem, 1.3vw, .75rem);
  text-align: center;
  padding: .15rem;
  font-weight: 700;
}
.signboard-jiuguang-calendar-num {
  font-size: clamp(1.8rem, 4.5vw, 3rem);
  font-weight: 900;
  color: var(--brand-black);
  text-align: center;
  line-height: 1;
  padding: .2rem 0;
}

/* ==== 環球店招牌：米黃暖底 + 「台北」直書 + 木作 ==== */
.signboard-huanqiu {
  background: linear-gradient(180deg, #F5E8C8 0%, #EDD9A8 100%);
  display: flex;
  align-items: center;
  padding: 2rem clamp(1rem, 4vw, 3rem);
  gap: clamp(1.5rem, 4vw, 3rem);
}
.signboard-huanqiu::before {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 22%;
  background:
    linear-gradient(var(--scene-wood), var(--scene-wood) 2px, var(--scene-wood-light) 2px),
    repeating-linear-gradient(90deg,
      transparent 0, transparent 60px,
      rgba(0,0,0,.15) 60px, rgba(0,0,0,.15) 61px);
}
.huanqiu-taibei {
  position: relative;
  z-index: 2;
  writing-mode: vertical-rl;
  font-size: clamp(3rem, 10vw, 6.5rem);
  font-weight: 900;
  color: var(--brand-red);
  letter-spacing: .15em;
  text-shadow: 3px 3px 0 var(--brand-red-deep);
  line-height: 1;
}
.huanqiu-main {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.huanqiu-brand-cn {
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 900;
  color: var(--brand-red);
  letter-spacing: .08em;
  line-height: 1;
  text-shadow: 2px 2px 0 var(--brand-red-deep);
}
.huanqiu-brand-en {
  font-size: clamp(1rem, 3vw, 1.8rem);
  font-weight: 900;
  color: var(--brand-green);
  letter-spacing: .15em;
  line-height: 1;
  text-shadow: 2px 2px 0 var(--brand-green-deep);
}
.huanqiu-neon {
  display: inline-block;
  background: var(--brand-black);
  color: var(--signal-neon-yellow);
  padding: .5rem 1rem;
  font-size: clamp(.85rem, 2vw, 1.1rem);
  font-weight: 700;
  letter-spacing: .1em;
  box-shadow:
    0 0 0 3px var(--signal-neon-yellow),
    0 0 12px rgba(245,211,25,.6);
  text-shadow: 0 0 6px rgba(245,211,25,.8);
  margin-top: .3rem;
}
.huanqiu-xiaochu {
  position: absolute;
  right: 4%;
  top: 10%;
  background: #fff;
  border: 3px solid var(--brand-red);
  color: var(--brand-red);
  padding: .4rem .8rem;
  font-weight: 900;
  font-size: clamp(.8rem, 2vw, 1rem);
  transform: rotate(3deg);
  z-index: 3;
}
.huanqiu-xiaochu small {
  display: block;
  font-size: .65em;
  letter-spacing: .2em;
  font-weight: 500;
}

/* ==== 杭州店招牌：站牌 + 3D 日曆 + 加盟標 ==== */
.signboard-hangzhou {
  background: linear-gradient(180deg, var(--scene-tile-white) 0%, #E8DFD0 100%);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 2rem;
  gap: 1rem;
}
.signboard-hangzhou::before {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 12%;
  background: var(--scene-wood);
  border-top: 2px solid var(--brand-black);
}
.hangzhou-station {
  position: relative;
  z-index: 2;
  background: #fff;
  border: 4px solid var(--signal-station-blue);
  padding: 1rem 1.2rem;
  text-align: center;
  box-shadow: 4px 4px 0 rgba(0,0,0,.15);
  transform: rotate(-2deg);
}
.hangzhou-station-from {
  font-size: clamp(.9rem, 2.2vw, 1.2rem);
  font-weight: 700;
  color: var(--signal-station-blue);
  letter-spacing: .2em;
}
.hangzhou-station-dash {
  font-size: 1.4rem;
  color: var(--signal-station-blue);
  margin: .2rem 0;
}
.hangzhou-station-to {
  font-size: clamp(1.4rem, 3.5vw, 2rem);
  font-weight: 900;
  color: var(--brand-red);
  letter-spacing: .1em;
}
.hangzhou-calendar {
  position: relative;
  z-index: 2;
  width: clamp(90px, 18vw, 140px);
  background: #fff;
  box-shadow:
    6px 6px 0 var(--signal-calendar-red),
    8px 8px 12px rgba(0,0,0,.2);
  transform: rotate(3deg);
}
.hangzhou-calendar-top {
  background: var(--signal-calendar-red);
  color: #fff;
  padding: .3rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(.65rem, 1.5vw, .85rem);
  letter-spacing: .1em;
}
.hangzhou-calendar-num {
  font-size: clamp(2.5rem, 7vw, 4rem);
  font-weight: 900;
  text-align: center;
  padding: .3rem 0;
  line-height: 1;
  color: var(--brand-black);
}
.hangzhou-calendar-label {
  text-align: center;
  padding: .3rem;
  font-size: clamp(.65rem, 1.4vw, .8rem);
  color: var(--brand-black);
  border-top: 1px dashed #ccc;
  font-weight: 500;
}
.hangzhou-franchise-tag {
  position: absolute;
  top: 8%;
  right: 5%;
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  padding: .4rem .8rem;
  font-weight: 900;
  font-size: clamp(.75rem, 1.8vw, .95rem);
  letter-spacing: .1em;
  transform: rotate(5deg);
  z-index: 4;
  box-shadow: 3px 3px 0 rgba(0,0,0,.25);
  border: 2px solid var(--brand-black);
}

@media (max-width: 640px) {
  .signboard-hangzhou { flex-direction: column; }
  .huanqiu-taibei { font-size: clamp(2.5rem, 12vw, 4rem); }
  .signboard-huanqiu { flex-wrap: wrap; }
}

/* ===== 店資訊頭部 ========================================= */
.store-info-head {
  margin-bottom: 2rem;
}

.store-info-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1rem;
}

.store-info-tag {
  display: inline-block;
  padding: .3em .8em;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
}

.store-info-tag.type-direct { background: var(--brand-red); color: #fff; }
.store-info-tag.type-franchise {
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  border: 2px dashed var(--brand-black);
}
.store-info-tag.type-model {
  background: transparent;
  color: var(--brand-red);
  border: 1.5px solid var(--brand-red);
}
.store-info-tag.type-flagship {
  background: var(--brand-black);
  color: var(--signal-neon-yellow);
}
.store-info-tag.type-verified {
  background: var(--brand-green);
  color: #fff;
}

.store-section.bg-mall .store-info-tag.type-model {
  color: var(--signal-neon-yellow);
  border-color: var(--signal-neon-yellow);
}

.store-info h2 {
  font-size: clamp(1.8rem, 4.5vw, 2.8rem);
  font-weight: 700;
  margin: 0 0 .4rem;
  line-height: 1.15;
  color: var(--brand-black);
}

.store-subtitle {
  font-size: 1.05rem;
  font-weight: 500;
  color: rgba(0,0,0,.65);
  margin: 0 0 1rem;
}

.store-desc {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(0,0,0,.8);
  margin: 0;
}

.store-section.bg-mall .store-subtitle { color: rgba(255,255,255,.7); }

/* ===== 店資訊主體（雙欄） ================================== */
.store-body-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  margin-bottom: 2rem;
}

@media (max-width: 860px) {
  .store-body-grid { grid-template-columns: 1fr; }
}

/* 左：資訊表 */
.store-info-meta {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.meta-row {
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px dashed rgba(0,0,0,.15);
  align-items: start;
}

.store-section.bg-mall .meta-row {
  border-bottom-color: rgba(255,255,255,.15);
}

.meta-label {
  font-size: .85rem;
  font-weight: 700;
  color: var(--brand-red);
  letter-spacing: .1em;
  padding-top: .15em;
}

.meta-value {
  font-size: .95rem;
  line-height: 1.65;
  color: var(--brand-black);
}

.meta-value a {
  color: var(--brand-red);
  text-decoration: none;
  font-weight: 700;
  border-bottom: 1px dashed var(--brand-red);
}
.meta-value a:hover {
  border-bottom-style: solid;
}
.store-section.bg-mall .meta-value a {
  color: var(--signal-neon-yellow);
  border-bottom-color: var(--signal-neon-yellow);
}

/* 右：商業問題 + 特色 */
.store-features-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.store-feature-eyebrow {
  font-size: .78rem;
  letter-spacing: .2em;
  font-weight: 700;
  color: var(--brand-red);
  padding-left: 1rem;
  border-left: 4px solid var(--brand-red);
}

.store-section.bg-mall .store-feature-eyebrow {
  color: var(--signal-neon-yellow);
  border-left-color: var(--signal-neon-yellow);
}

.store-feature-q {
  font-size: clamp(1.1rem, 2.6vw, 1.35rem);
  font-weight: 700;
  font-style: italic;
  margin: 0;
  line-height: 1.5;
  color: var(--brand-black);
}

.store-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.store-features li {
  padding: .4rem 0 .4rem 1.4rem;
  position: relative;
  font-size: .95rem;
  line-height: 1.55;
}

.store-features li::before {
  content: '✦';
  position: absolute;
  left: 0;
  color: var(--brand-red);
  font-weight: 700;
}

.store-section.bg-mall .store-features li::before {
  color: var(--signal-neon-yellow);
}

.store-features li strong {
  font-weight: 700;
}

/* ===== 外部連結按鈕組（.btn-ext） ========================= */
.store-info-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .5rem;
}

.btn-ext {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .7rem 1.3rem;
  background: #fff;
  color: var(--brand-black);
  text-decoration: none;
  font-weight: 700;
  font-size: .92rem;
  border: 2px solid var(--brand-black);
  transition: all .15s;
}

.btn-ext:hover {
  background: var(--signal-neon-yellow);
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0 var(--brand-black);
}

.btn-ext-primary {
  background: var(--brand-red);
  color: #fff;
  border-color: var(--brand-red-deep);
}
.btn-ext-primary:hover {
  background: var(--brand-red-deep);
  box-shadow: 4px 4px 0 var(--brand-black);
}

.store-section.bg-mall .btn-ext {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: #fff;
}
.store-section.bg-mall .btn-ext:hover {
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  border-color: var(--signal-neon-yellow);
}

/* ===== 加盟敘事帶（v0.1 結構升級） ========================= */
.franchise-intro {
  background: var(--brand-black);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 4rem) 0;
  text-align: center;
  position: relative;
}

.franchise-intro .eyebrow {
  display: inline-block;
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  padding: .3em .9em;
  font-weight: 700;
  letter-spacing: .15em;
  font-size: .78rem;
  margin-bottom: 1rem;
}

.franchise-intro h2 {
  font-size: clamp(1.6rem, 3.8vw, 2.2rem);
  font-weight: 700;
  margin: 0 0 1rem;
  color: #fff;
}

.franchise-intro p {
  font-size: 1rem;
  line-height: 1.75;
  max-width: 42em;
  margin: 0 auto;
  opacity: .85;
}
.franchise-intro p strong {
  color: var(--signal-neon-yellow);
  font-weight: 700;
}

/* ===== 頁底 CTA（升級：含站牌帶） ========================= */
.stores-cta {
  background: var(--brand-black);
  color: #fff;
  padding: clamp(3rem, 7vw, 5rem) 0;
  text-align: center;
  border-top: 3px solid var(--signal-neon-yellow);
  position: relative;
}

.cta-station-strip {
  display: flex;
  justify-content: center;
  gap: clamp(1rem, 3vw, 2rem);
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px dashed rgba(255,255,255,.15);
}

.cta-station {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(255,255,255,.05);
  border: 2px solid rgba(245,211,25,.4);
  padding: .4rem .9rem;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .1em;
}

.cta-station-from { color: rgba(255,255,255,.65); }
.cta-station-dash { color: var(--signal-neon-yellow); }
.cta-station-to { color: var(--signal-neon-yellow); }

.cta-station-next {
  border-style: dashed;
  opacity: .65;
}
.cta-station-next .cta-station-to { font-style: italic; }

.stores-cta h2 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 700;
  margin: 0 0 1rem;
  line-height: 1.3;
  color: #fff;
}

.stores-cta p {
  font-size: 1rem;
  line-height: 1.75;
  opacity: .85;
  max-width: 38em;
  margin: 0 auto 2rem;
}

.stores-cta-buttons {
  display: flex;
  justify-content: center;
  gap: .8rem;
  flex-wrap: wrap;
}

/* 若 main.css 的 .btn / .btn-primary / .btn-outline 已定義，
   這裡不重複；只在暗底下調整 outline 樣式 */
.stores-cta .btn-outline {
  color: #fff;
  border-color: rgba(255,255,255,.4);
}
.stores-cta .btn-outline:hover {
  background: var(--signal-neon-yellow);
  color: var(--brand-black);
  border-color: var(--signal-neon-yellow);
}

/* ===== 移除 v0.1 舊 .store-detail/.store-sign 的殘留覆蓋（保險） === */
.store-detail,
.store-sign { /* v0.1 舊結構 · 避免未清理時跟新版衝突 */
  all: revert;
}
