/* storefront-home.css — 店面首頁 scoped 樣式 */

.shop-home { padding-top: var(--spacing-6); }

/* ── Hero ── */
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-6);
  align-items: center;
  background: linear-gradient(135deg, var(--color-teal-50), var(--color-surface));
  border-radius: var(--radius-md);
  padding: var(--spacing-8);
  margin-bottom: var(--spacing-8);
}
.hero__title {
  font-size: 2.25rem;
  line-height: 1.2;
  margin-bottom: var(--spacing-3);
}
.hero__sub {
  color: var(--color-text-body);
  font-size: var(--font-size-base);
}
.hero__visual {
  aspect-ratio: 4/3;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  display: grid; place-items: center;
}
.hero__visual-inner { color: var(--color-text-muted); font-size: var(--font-size-sm); text-align: center; }

/* 左文右圖：圖片（含手機版 <picture>）填滿右側框 */
.hero__visual { overflow: hidden; }
.hero__picture, .hero__picture img { display: block; width: 100%; height: 100%; }
.hero__picture img { object-fit: cover; border-radius: var(--radius-md); }

/* ── Hero 版型：滿版圖＋文字 ── */
.hero--overlay {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(360px, 40vw, 560px);
  padding: var(--spacing-12) var(--spacing-10);
  overflow: hidden;
  background: linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-primary-dark));
  color: var(--color-gray-0);
}
.hero--overlay .hero__bg { position: absolute; inset: 0; }
.hero--overlay .hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 遮罩深淺由後台滑桿決定（--hero-overlay: 0%～80%） */
.hero--overlay::before {
  content: '';
  position: absolute; inset: 0; z-index: 1;
  background: color-mix(in srgb, var(--color-gray-900) var(--hero-overlay, 35%), transparent);
}
.hero--overlay.hero--noimg::before { display: none; }
.hero--overlay .hero__copy { position: relative; z-index: 2; max-width: 600px; }
.hero--overlay .hero__title { color: var(--color-gray-0); text-shadow: 0 2px 12px color-mix(in srgb, var(--color-gray-900) 35%, transparent); }
.hero--overlay .hero__sub   { color: color-mix(in srgb, var(--color-gray-0) 90%, transparent); }
.hero--overlay .chip        { background: color-mix(in srgb, var(--color-gray-0) 90%, transparent); color: var(--color-brand-primary-dark); }
.hero--overlay .btn-ghost   { color: var(--color-gray-0); border-color: var(--color-gray-0); background: transparent; }
.hero--overlay .btn-ghost:hover { background: color-mix(in srgb, var(--color-gray-0) 15%, transparent); }
.hero--align-left   { justify-content: flex-start; }
.hero--align-center { justify-content: center; text-align: center; }
.hero--align-right  { justify-content: flex-end;  text-align: right; }
.hero--align-center .hero__actions { justify-content: center; }
.hero--align-right  .hero__actions { justify-content: flex-end; }

/* ── Hero 版型：純圖片滿版 ── */
.hero--image { display: block; padding: 0; background: none; }
.hero--image a, .hero--image .hero__picture, .hero--image img { display: block; width: 100%; }
.hero--image img { height: auto; border-radius: var(--radius-md); }

@media (max-width: 768px) {
  .hero { grid-template-columns: 1fr; padding: var(--spacing-5); }
  .hero__title { font-size: 1.75rem; }
  .hero--overlay { min-height: 420px; padding: var(--spacing-8) var(--spacing-5); }
  .hero--image { padding: 0; }
}

/* ── 行銷橫條 ── */
.promo-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-8);
}
.promo-strip__item {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--spacing-4);
  text-align: center;
}
.promo-strip__item strong {
  display: block;
  color: var(--color-brand-primary-dark);
  font-size: var(--font-size-base);
  margin-bottom: 2px;
}
.promo-strip__item span { color: var(--color-text-muted); font-size: var(--font-size-xs); }
@media (max-width: 768px) {
  .promo-strip { grid-template-columns: repeat(2, 1fr); }
}

/* ── Section 區塊 ── */
.section { margin-bottom: var(--spacing-8); }
.section__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: var(--spacing-4);
}
.section__head h2 { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); }
.section__head a { color: var(--color-brand-primary-dark); }

/* ── 分類網格 ── */
.category-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--spacing-3);
}
.category-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--spacing-4);
  display: flex; flex-direction: column; align-items: center;
  gap: var(--spacing-2);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}
.category-card span { font-size: 28px; }
.category-card:hover {
  border-color: var(--color-brand-primary);
  background: var(--color-brand-primary-tint-04);
  text-decoration: none;
}
@media (max-width: 768px) {
  .category-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── 文章卡 ── */
.article-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.article-card__cover {
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, var(--color-teal-100), var(--color-gray-200));
  display: grid; place-items: center;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}
.article-card__body { padding: var(--spacing-4); }
.article-card__body h3 { font-size: var(--font-size-base); margin-top: 4px; }
