/* 活動店家頁 精修 */
.stores-page{background:#f3f5ee}

/* ---------- 頂部 ---------- */
.st-hero{background:radial-gradient(60% 90% at 85% 20%,#2b3a26 0,transparent 70%),#141a15;color:#f1f4ea;padding:34px 0 56px;position:relative;overflow:hidden}
.st-hero:after{content:"11";position:absolute;right:-1%;bottom:-30%;font:800 clamp(220px,28vw,420px)/1 var(--num);color:#ffffff06;pointer-events:none}
.st-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#b9c2b0;border:1px solid #ffffff22;border-radius:999px;padding:6px 14px;transition:background .3s,color .3s}
.st-back:hover{background:#ffffff12;color:#fff}
.st-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:6%;align-items:end;margin-top:34px;position:relative;z-index:1}
.st-kicker{color:var(--gold);font-weight:700;letter-spacing:.12em;font-size:13px;margin:0 0 14px}
.st-hero h1{font-size:clamp(34px,4vw,56px);line-height:1.22;margin:0}
.st-hero h1 span{color:var(--gold)}
.st-lead{color:#aeb8a5;font-size:15px;line-height:1.9;margin:20px 0 0;max-width:520px}
.st-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.st-stats>div{background:#ffffff0b;border:1px solid #ffffff14;border-radius:16px;padding:18px 16px}
.st-stats b{display:block;font:700 54px/1 var(--num);color:#f5f7ef}
.st-stats span{display:flex;align-items:center;gap:6px;font-size:12px;color:#9fab95;margin-top:8px}
.st-open b{color:#7fe08a}
.st-open.none b{color:#9fab95}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ccf55;box-shadow:0 0 0 0 #3ccf5599;animation:live 1.8s infinite;flex-shrink:0}
.st-open.none .live-dot{background:#7a8571;animation:none}
@keyframes live{0%{box-shadow:0 0 0 0 #3ccf5599}70%{box-shadow:0 0 0 8px #3ccf5500}100%{box-shadow:0 0 0 0 #3ccf5500}}

/* ---------- 版面 ---------- */
.st-body{padding-top:44px!important;background:none}
.st-body .section-head{display:none}
.map-layout{margin-top:0;grid-template-columns:360px 1fr;gap:44px}

/* ---------- 地圖 ---------- */
.taiwan-map{background:#fff;border-radius:22px;box-shadow:0 18px 50px #2b3a2612;padding:22px 16px 18px;top:96px}
.taiwan-map svg{height:500px;overflow:visible}
.county{fill:#e7ebe0;stroke:#fff;transition:fill .35s,opacity .35s}
.county.available{fill:#9db084}
.county-map.has-choice .county.available:not(.chosen){fill:#c5d1b5}
.county.available:hover,.county.available.glow{fill:#5c7444}
.county.available.chosen{fill:#2f4426;stroke:#e6c35c;stroke-width:2.5}
.map-pin{cursor:pointer}
.map-pin circle{fill:#141a15;stroke:#fff;stroke-width:2;transition:transform .3s var(--ease);transform-box:fill-box;transform-origin:center}
.map-pin circle.pulse{fill:#e6c35c;stroke:none;opacity:.5;animation:pin-pulse 2.4s infinite}
.map-pin text{fill:#e6c35c;font:700 13px var(--num);pointer-events:none}
.map-pin:hover circle:not(.pulse){transform:scale(1.15)}
@keyframes pin-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.3);opacity:0}}
.map-hint{font-weight:700;font-size:14px!important;color:var(--olive)!important;margin:8px 0 4px}
.taiwan-map small{font-size:10px}

/* ---------- 工具列 ---------- */
.dealer-warranty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border-radius:14px;padding:12px 16px;font-size:14px;color:#2a3324;box-shadow:0 6px 18px #2b3a260a}
.dealer-warranty b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--olive);color:#fff;align-items:center;justify-content:center;font-size:12px}
.dealer-warranty a{display:inline-flex;margin:0 0 0 auto;text-decoration:none;color:var(--olive);font-weight:700;font-size:13px;gap:4px}
.store-controls{margin:18px 0 6px;gap:14px}
.filters{gap:6px}
.filters button{border:1px solid #d3dbc8;background:#fff;border-radius:999px;padding:7px 11px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.filters button small{font:700 12px var(--num);background:#eef1e8;color:var(--olive);border-radius:999px;min-width:20px;padding:1px 6px;text-align:center}
.filters button:hover{border-color:var(--olive)}
.filters button[aria-pressed=true]{background:#141a15;color:#fff;border-color:#141a15}
.filters button[aria-pressed=true] small{background:var(--gold);color:#141a15}
.filters button:active{transform:scale(.95)}
.st-tools{display:flex;gap:10px;align-items:center}
.search{flex:1;background:#fff;border:1px solid #d3dbc8!important;border-radius:999px;padding:0 16px;gap:10px;color:#7a8571;transition:border-color .25s,box-shadow .25s}
.search:focus-within{border-color:var(--olive)!important;box-shadow:0 0 0 4px #4a603722}
.search input{font-size:15px!important;padding:13px 0!important;min-width:0!important;outline:none}
.open-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid #d3dbc8;background:#fff;border-radius:999px;padding:12px 16px;font-size:14px;font-weight:700;transition:background .25s,color .25s,transform .25s var(--ease)}
.open-toggle .live-dot{animation:none;background:#9aa58f}
.open-toggle[aria-pressed=true]{background:#e7f8e9;border-color:#3ccf55;color:#1c6b2a}
.open-toggle[aria-pressed=true] .live-dot{background:#3ccf55;animation:live 1.8s infinite}
.open-toggle:active{transform:scale(.95)}
#store-count{font-size:14px;color:#2a3324;margin:14px 0 16px}
#store-count b{font:700 22px var(--num);color:var(--olive)}
#store-count span{color:var(--muted);font-size:12px}

/* ---------- 店家卡 ---------- */
.store-grid{gap:16px!important}
.st-card{background:#fff;border:1px solid transparent!important;border-radius:20px;padding:20px 20px 16px!important;box-shadow:0 6px 20px #2b3a260d;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.st-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #2b3a261c;border-color:#c9d4bb!important}
.st-card.own{background:linear-gradient(160deg,#fffbea,#fff 45%)}
.store-grid.animate .st-card{animation:card-in .55s var(--ease) both;animation-delay:calc(var(--i)*55ms)}
@keyframes card-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.st-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.store-area{font-size:12px!important;font-weight:700;letter-spacing:.04em}
.st-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;background:#f0f2ec;color:#6d7765}
.st-status i{width:7px;height:7px;border-radius:50%;background:#9aa58f}
.st-status.open{background:#e7f8e9;color:#1c6b2a}
.st-status.open i{background:#3ccf55;animation:live 1.8s infinite}
.st-status.open.soon{background:#fff4dc;color:#8a5a00}
.st-status.open.soon i{background:#f0a400}
.st-card h3{font-size:20px!important;margin:12px 0 4px!important;line-height:1.45!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.st-card h3 em{font-style:normal;font-size:11px;font-weight:700;background:var(--gold);color:#141a15;border-radius:6px;padding:2px 7px}
.st-addr{font-size:14px;color:#4c5645;margin:0 0 6px}
.st-hours{border:0;padding:0 0 10px}
.st-hours summary{font-size:13px;font-weight:500;color:var(--olive);display:inline-flex;gap:6px}
.st-hours summary:after{content:"＋";font-size:12px;transition:transform .3s}
.st-hours[open] summary:after{transform:rotate(45deg)}
.st-hours p{font-size:13px;margin:6px 0 0;color:#4c5645}
.st-actions{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;margin-top:auto}
.st-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;padding:12px 10px;font-size:14px;font-weight:700;transition:transform .25s var(--ease),background .25s}
.st-call{background:#141a15;color:#fff}
.st-call span{font-family:var(--num);font-size:17px;letter-spacing:.02em}
.st-call:hover{background:#2b3a26}
.st-nav{background:#eef1e8;color:#2a3324}
.st-nav:hover{background:#e1e7d6}
.st-actions a:active{transform:scale(.95)}
.st-src{display:flex;gap:14px;margin-top:10px}
.st-src a,.st-src span{font-size:11px;color:#8a9381}
.st-src a:hover{color:var(--olive)}
.empty{background:#fff;border-radius:20px;padding:40px 20px}
.empty b{font-size:18px}
.empty p{color:var(--muted);font-size:14px}
.empty button{border-radius:999px!important;padding:10px 22px!important;background:#141a15!important}

.stores-page .line-contact{margin-top:20px}

/* ---------- 平板 / 手機 ---------- */
@media(max-width:1000px){.store-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){
  .map-layout{grid-template-columns:1fr;gap:20px}
  .taiwan-map{position:static;display:grid;grid-template-columns:1fr;padding:14px}
  .taiwan-map svg{height:300px}
  .taiwan-map small{display:none}
  .store-controls{position:sticky;top:0;z-index:25;background:#f3f5eef2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);margin:0 -5.6%;padding:10px 5.6%}
  .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -5.6%;padding:2px 5.6%}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex-shrink:0}
}
@media(max-width:700px){
  .st-hero{padding:22px 0 34px}
  .st-hero-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}
  .st-hero h1{font-size:34px}
  .st-lead{font-size:14px}
  .st-stats{gap:8px}
  .st-stats>div{padding:14px 12px;border-radius:14px}
  .st-stats b{font-size:40px}
  .st-stats span{font-size:11px}
  .store-grid{grid-template-columns:1fr!important}
  .st-tools .search input{font-size:16px!important}
  .open-toggle{padding:12px 13px;font-size:13px}
  .stores-page footer{padding-bottom:100px}
  .st-card:hover{transform:none}
  .st-card:active{transform:scale(.985)}
}
@media(prefers-reduced-motion:reduce){.live-dot,.st-status.open i,.map-pin circle.pulse{animation:none}}
@media(max-width:900px){.stores-page header{position:relative}}
.map-layout>*{min-width:0}.stores-page{overflow-x:hidden}.st-card{min-width:0}
