/* ===================================
   Tool Category Pages
=================================== */
.category-hero {
  max-width: 1100px;
  margin: 40px auto 28px;
  padding: 0 20px;
}

.category-hero-inner {
  background: #fff;
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(21,33,89,.06);
}

.category-hero-label {
  display: inline-block;
  color: var(--main-blue);
  font-weight: 700;
  margin-bottom: 10px;
}

.category-hero h1 {
  margin: 0 0 12px;
  font-size: 2.2rem;
}

.category-hero p {
  margin: 0;
  line-height: 1.8;
  color: #5b6478;
}

.category-nav-grid {
  max-width: 1100px;
  margin: 24px auto 36px;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.category-nav-card {
  display: block;
  background: #fff;
  border-radius: 16px;
  padding: 18px;
  text-decoration: none;
  color: var(--dark-blue);
  box-shadow: 0 6px 18px rgba(21,33,89,.05);
}

.category-nav-card strong { display: block; margin-bottom: 6px; }
.category-nav-card small { color: #64748b; line-height: 1.5; }
.category-nav-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(21,33,89,.10); }

.category-tool-list {
  max-width: 1100px;
  margin: 0 auto 70px;
  padding: 0 20px;
}

@media (max-width: 900px) {
  .category-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .category-hero { margin-top: 24px; }
  .category-hero-inner { padding: 28px 22px; }
  .category-hero h1 { font-size: 1.7rem; }
  .category-nav-grid { grid-template-columns: 1fr; }
}

/* ===================================
   Homepage category rebuild
=================================== */
.home-rebuild-page .section-head {
  max-width: 1100px;
  margin: 0 auto 20px;
}

.home-category-section,
.home-featured-section,
.home-category-tool-section {
  max-width: 1100px;
  margin: 48px auto;
  padding: 0 20px;
}

.home-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.home-category-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 220px;
  padding: 24px 20px;
  background: #fff;
  color: var(--dark-blue);
  text-decoration: none;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(21,33,89,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.home-category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(21,33,89,.12);
}

.home-category-icon {
  font-size: 2rem;
  line-height: 1;
}

.home-category-card strong {
  font-size: 1.1rem;
}

.home-category-card small {
  color: #64748b;
  line-height: 1.6;
  flex: 1;
}

.home-category-card em {
  font-style: normal;
  font-weight: 700;
  color: var(--main-blue);
}

.home-about-section {
  max-width: 1100px;
  margin: 40px auto 80px;
  padding: 0 20px;
}

.home-about-card {
  background: #fff;
  border-radius: 24px;
  padding: 42px;
  box-shadow: 0 10px 30px rgba(21,33,89,.06);
  text-align: left;
}

.home-about-card h2 {
  margin: 0 0 16px;
  font-size: 1.8rem;
}

.home-about-card p {
  line-height: 1.9;
  color: #475569;
}

.category-page .section-head {
  margin-bottom: 20px;
}

.category-seo-content {
  max-width: 1100px;
  margin: 0 auto 80px;
  padding: 0 20px;
}

.category-content-card {
  background: #fff;
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 8px 24px rgba(21,33,89,.06);
  margin-bottom: 22px;
}

.category-content-card h2 {
  margin: 0 0 12px;
  font-size: 1.35rem;
}

.category-content-card p {
  margin: 0;
  color: #475569;
  line-height: 1.9;
}

.category-faq-card details {
  border-top: 1px solid #e5e7eb;
  padding: 16px 0;
}

.category-faq-card details:first-of-type {
  border-top: 0;
}

.category-faq-card summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--dark-blue);
}

.category-faq-card details p {
  margin-top: 10px;
}

@media (max-width: 1000px) {
  .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .home-category-section,
  .home-featured-section,
  .home-category-tool-section { margin: 36px auto; }
  .home-category-grid { grid-template-columns: 1fr; }
  .home-category-card { min-height: auto; }
  .home-about-card { padding: 28px 22px; }
}
