/* guides.css — /guides/ 內容層專用樣式；只使用 .guide-* 命名，避免影響既有頁面。 */
.guide-hero {
  padding: 58px 24px 42px;
  text-align: center;
  background: radial-gradient(60% 80% at 50% -10%, rgba(124,58,237,.10), transparent 60%),
              linear-gradient(180deg, #fff 0%, var(--brand-softer) 100%);
}

.guide-hero .eyebrow,
.guide-article .eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.guide-hero h1,
.guide-article h1 {
  max-width: 20em;
  margin: 0 auto 16px;
  color: var(--ink-strong);
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.2;
  letter-spacing: -.5px;
}

.guide-hero .intro,
.guide-article .guide-summary {
  max-width: 48em;
  margin: 0 auto;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.8;
}

.guide-updated {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.guide-index {
  padding: 48px 24px 72px;
}

.guide-index-head {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

.guide-index-head h2 {
  margin: 0 0 8px;
  color: var(--ink-strong);
  font-size: 26px;
}

.guide-index-head p {
  margin: 0;
  color: var(--muted);
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1080px;
  margin: 0 auto;
}

.guide-card {
  display: flex;
  flex-direction: column;
  min-height: 220px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-sm);
  transition: border-color .14s, transform .12s, box-shadow .14s;
}

.guide-card:hover {
  border-color: var(--brand);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

.guide-card .tag {
  width: fit-content;
  margin-bottom: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
}

.guide-card h3 {
  margin: 0 0 10px;
  color: var(--ink-strong);
  font-size: 20px;
  line-height: 1.4;
}

.guide-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.guide-card .read-more {
  margin-top: auto;
  padding-top: 18px;
  color: var(--brand);
  font-size: 14px;
  font-weight: 800;
}

.guide-note {
  max-width: 860px;
  margin: 38px auto 0;
  padding: 20px 24px;
  border-left: 4px solid var(--brand);
  border-radius: 12px;
  background: var(--brand-softer);
  color: #334155;
}

.guide-note p { margin: 0 0 8px; }
.guide-note p:last-child { margin-bottom: 0; }
.guide-note strong { color: var(--ink-strong); }

.guide-article-wrap {
  padding: 44px 24px 72px;
  background: var(--brand-softer);
}

.guide-article {
  max-width: 920px;
  margin: 0 auto;
  padding: 38px clamp(22px, 5vw, 56px) 52px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow);
}

.guide-article .guide-summary {
  max-width: none;
  margin: 0;
  padding: 18px 20px;
  border-left: 4px solid var(--brand);
  border-radius: 10px;
  background: var(--brand-softer);
  color: #334155;
  font-size: 16px;
}

.guide-body { margin-top: 34px; }

.guide-body section {
  padding: 28px 0;
  border-top: 1px solid var(--line);
}

.guide-body section:first-child { padding-top: 0; border-top: 0; }

.guide-body h2 {
  margin: 0 0 12px;
  color: var(--ink-strong);
  font-size: 24px;
  line-height: 1.35;
}

.guide-body h3 {
  margin: 22px 0 8px;
  color: var(--ink-strong);
  font-size: 18px;
  line-height: 1.45;
}

.guide-body p,
.guide-body li {
  color: #334155;
  font-size: 16px;
  line-height: 1.85;
}

.guide-body p { margin: 0 0 12px; }
.guide-body p:last-child { margin-bottom: 0; }
.guide-body ul,
.guide-body ol { margin: 10px 0 0; padding-left: 1.4em; }
.guide-body li + li { margin-top: 7px; }
.guide-body a { color: var(--brand); font-weight: 700; }

.guide-callout {
  margin: 18px 0 0;
  padding: 18px 20px;
  border: 1px solid #d8dff4;
  border-radius: 12px;
  background: #f8f9ff;
}

.guide-callout p { margin: 0; }
.guide-callout strong { color: var(--ink-strong); }

.guide-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.guide-data-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.guide-data-card strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ink-strong);
  font-size: 18px;
}

.guide-data-card span {
  color: var(--muted);
  font-size: 14px;
}

.guide-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.guide-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid var(--brand);
  border-radius: 9px;
  background: #fff;
  color: var(--brand);
  font-size: 14px;
  font-weight: 800;
}

.guide-links a.primary {
  background: var(--brand);
  color: #fff;
}

.guide-source {
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 820px) {
  .guide-grid { grid-template-columns: 1fr; max-width: 620px; }
  .guide-card { min-height: 0; }
}

@media (max-width: 600px) {
  .guide-hero { padding: 44px 20px 34px; }
  .guide-index,
  .guide-article-wrap { padding-left: 16px; padding-right: 16px; }
  .guide-article { padding: 28px 20px 36px; border-radius: 14px; }
  .guide-data-grid { grid-template-columns: 1fr; }
  .guide-body p,
  .guide-body li { font-size: 15px; }
}
