/* Theme colors are defined in tokens.css. */

/* LINE 官方綠搭配深色文字；白字在官方綠上不足 AA。 */
html body a:is(.ls-line-cta,.ls-nav-line,.primary,.secondary,.button,.contact-button)[href*="line.me"] {
  background:var(--line); color:var(--line-ink); border:1px solid var(--line-ink);
}
html body a:is(.ls-line-cta,.ls-nav-line,.primary,.secondary,.button,.contact-button)[href*="line.me"]:is(:hover,:active) {
  background:var(--line); color:var(--line-ink); box-shadow:inset 0 0 0 2px var(--line-ink);
}
html body a:is(.ls-line-cta,.ls-nav-line,.primary,.secondary,.button,.contact-button)[href*="line.me"]:focus-visible {
  outline:3px solid var(--line-ink); outline-offset:3px; box-shadow:0 0 0 6px #fff;
}
html body :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { border-color:var(--control-border); }
html body :is(input,textarea)::placeholder { color:var(--muted); opacity:1; }

/* Colour repair: preserve meaning and foreground contrast. */
input[type="checkbox"] {
  appearance:none; width:18px; height:18px; flex:0 0 18px;
  border:2px solid var(--control-border); border-radius:3px;
  background:var(--surface); display:inline-grid; place-content:center; vertical-align:middle;
}
input[type="checkbox"]:checked { background:var(--accent); border-color:var(--accent); }
input[type="checkbox"]:checked::before {
  content:""; width:10px; height:6px; border-left:2px solid var(--accent-ink);
  border-bottom:2px solid var(--accent-ink); transform:translateY(-1px) rotate(-45deg);
}
/* Unified 2026 storefront. */
html body a[href*="line.me"],html body a[href*="line.me"]:is(:hover,:active){background:#04843A;color:#fff;border-color:#04843A;font-size:19px;font-weight:750}
.ls-nav-panel{gap:16px}.ls-nav-panel>a{white-space:nowrap}.footer-contact{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.store-home .hero{min-height:0;padding-top:64px;padding-bottom:56px}.store-home .hero-visual{display:none}.store-home .hero{display:block}.store-home .hero-description{max-width:640px}
.store-home .content-section,.compact-catalog,.compact-flow,.store-home .faq,.store-home .bottom-cta{padding-top:36px;padding-bottom:36px;margin-top:0;margin-bottom:0}
.store-home .showcase-grid{display:block;max-width:640px}.store-home .showcase-image{max-height:230px;object-fit:cover}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.summary-card{border:1px solid var(--border);border-radius:16px;padding:24px;background:var(--surface)}.summary-card h3{font-size:26px;margin:0 0 12px}.summary-card li{margin:8px 0}.summary-prices p{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:12px 0}.summary-prices s{color:var(--muted);font-size:14px}.summary-prices strong{font-size:22px}.summary-card .request-actions{margin-top:20px}.store-home .faq details{padding:14px 0}.store-home .bottom-cta{padding-bottom:60px}.status-label{font-weight:700}.coming-soon{padding:24px;border:1px solid var(--border);border-radius:12px}
@media(max-width:700px){.summary-grid{grid-template-columns:1fr;gap:20px}.summary-card{padding:22px}.store-home .hero{padding-top:42px;padding-bottom:36px}.store-home .hero h1{font-size:38px}.store-home .hero-description{font-size:17px}.store-home .wrap{width:calc(100% - 40px)}.store-home .content-section,.compact-catalog,.compact-flow,.store-home .faq,.store-home .bottom-cta{padding-top:28px;padding-bottom:28px}.summary-card .request-actions{display:flex;flex-direction:column}.summary-card .request-actions a{text-align:center}.store-home .showcase-image{max-height:160px}footer nav{display:flex;flex-wrap:wrap;gap:16px}.ls-nav-panel.is-open{display:flex;flex-direction:column;align-items:stretch}.ls-nav-panel a{padding:10px}}
@media(max-width:700px){.store-home .wrap{width:100%;padding-left:20px;padding-right:20px}.store-home .summary-card{padding:18px}.store-home .summary-prices p{font-size:14px;gap:6px;margin:8px 0}.store-home .summary-prices .trial-label{display:none}.store-home .summary-prices strong{font-size:18px}.store-home .summary-prices s{font-size:13px}.store-home .summary-card h3{font-size:23px}.store-home .summary-card p,.store-home .summary-card li{font-size:15px;line-height:1.6}.store-home .summary-card li{margin:4px 0}.store-home .summary-card ul{padding-left:20px;margin:12px 0}.store-home .summary-card .request-actions{gap:8px;margin-top:14px}.store-home .summary-card .request-actions a{padding:10px;font-size:16px}.store-home .summary-card a[href*="line.me"]{font-size:19px}.store-home .hero{padding-top:28px;padding-bottom:28px}.store-home .hero h1{margin:12px 0}.store-home .hero-description{margin:16px 0}.store-home .hero-caption{margin:14px 0}.store-home .faq details{padding:10px 0}.store-home .faq summary{font-size:16px}.store-home .bottom-cta h2{font-size:26px}.store-home .content-section,.compact-flow,.store-home .bottom-cta{padding-top:20px;padding-bottom:20px}}
html body a:is(.ls-line-cta,.ls-nav-line,.primary,.secondary,.button,.contact-button)[href*="line.me"],html body a:is(.ls-line-cta,.ls-nav-line,.primary,.secondary,.button,.contact-button)[href*="line.me"]:is(:hover,:active){color:#fff;background:#04843A;border-color:#04843A;font-size:19px;font-weight:750}
h1,h2,h3,.ls-nav-brand{color:var(--ink)}.ls-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}
@media(max-width:700px){.store-home .showcase-grid article{padding:16px}.store-home .showcase-image{max-height:120px;margin-bottom:12px}.store-home .showcase-grid h3{margin-top:12px;margin-bottom:8px}.store-home .showcase-grid{margin-top:16px}.store-home .bottom-cta{padding-top:16px;padding-bottom:16px}.store-home .bottom-cta p{margin-bottom:12px}.store-home .faq h2{margin-bottom:12px}.store-home .hero h1{line-height:1.25}}
@media(max-width:700px){.store-home .hero{padding-top:16px;padding-bottom:16px}.store-home .hero-actions{gap:8px}.store-home .compact-catalog{padding-top:16px;padding-bottom:16px}.store-home .compact-flow{padding-top:12px;padding-bottom:12px}}

/* LINE 白字對比與互動狀態，適用亮暗模式。 */
html body a[href*="line.me"]{background:#04843A!important;color:#fff!important;border-color:#04843A!important;text-shadow:none!important}html body a[href*="line.me"]:is(:hover,:active){background:#036B2F!important;border-color:#036B2F!important}
