/* Home page specific */
.hero {
  max-width: 1280px; margin: 0 auto; padding: 40px 20px 60px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
}
.hero-content h1 { font-size: 3rem; font-weight: 700; line-height: 1.15; margin-bottom: 16px; }
.hero-content h1 span { color: var(--gold); }
.hero-content .tagline { font-size: 0.9rem; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; font-weight: 500; }
.hero-content p { color: var(--gray); font-size: 1.05rem; margin-bottom: 28px; max-width: 480px; }
/* Shop Collection + Our Story always on one line */
.hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: nowrap;
  align-items: center;
}
.hero-btns .btn-primary,
.hero-btns .btn-outline {
  flex: 0 1 auto;
  white-space: nowrap;
  padding: 12px 20px;
  font-size: 0.95rem;
}
.hero-images img { border-radius: 16px; box-shadow: var(--shadow); max-height: 420px; object-fit: cover; width: 100%; }
.categories-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.category-card {
  background: var(--cream); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 28px 20px; text-align: center; transition: var(--transition);
}
.category-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); border-color: var(--gold); }
.category-card .icon {
  width: 56px; height: 56px; margin: 0 auto 16px; background: var(--beige);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; color: var(--gold);
}
.category-card h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 6px; }
.category-card p { font-size: 0.85rem; color: var(--gray); }
.promise-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 20px; }
.promise-card { text-align: center; padding: 24px 16px; }
.promise-card .icon { font-size: 2rem; color: var(--gold); margin-bottom: 12px; }
.promise-card h4 { font-size: 1rem; margin-bottom: 6px; }
.promise-card p { font-size: 0.85rem; color: var(--gray); }
@media (max-width: 1024px) {
  .hero { grid-template-columns: 1fr; text-align: center; }
  .hero-content p { margin-left: auto; margin-right: auto; }
  .hero-btns { justify-content: center; flex-wrap: nowrap; }
  .categories-grid, .promise-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 768px) {
  .hero-content h1 { font-size: 2.2rem; }
  .hero-btns {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 10px;
  }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline {
    padding: 11px 16px;
    font-size: 0.88rem;
  }
  .categories-grid, .promise-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .category-card { padding: 20px 12px; }
  .category-card h3 { font-size: 0.95rem; }
  .promise-card { padding: 16px 8px; }
}
@media (max-width: 480px) {
  .hero-btns {
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
  }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline {
    flex: 1 1 0;
    padding: 10px 12px;
    font-size: 0.82rem;
    justify-content: center;
  }
  .categories-grid, .promise-grid { gap: 10px; }
  .category-card .icon { width: 44px; height: 44px; font-size: 1.2rem; }
}
