/* Shared homepage section builder styles (all themes) */
.hero { background: linear-gradient(135deg, var(--primary, #409eff) 0%, #66b1ff 100%); color: #fff; border-radius: 12px; padding: 40px 32px; margin-bottom: 28px; box-shadow: 0 8px 24px rgba(64, 158, 255, 0.25); position: relative; overflow: hidden; }
.hero-has-image { background-size: cover; background-position: center; }
.hero-has-image::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,.55), rgba(0,0,0,.25)); }
.hero-inner { position: relative; z-index: 1; }
.hero h1 { font-size: 2rem; margin-bottom: 8px; line-height: 1.25; }
.hero-subtitle { font-size: 0.875rem; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.9; margin-bottom: 8px; }
.hero-desc { opacity: 0.92; font-size: 1rem; max-width: 640px; margin-bottom: 16px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.btn { display: inline-block; padding: 10px 18px; border-radius: 8px; font-weight: 600; font-size: 0.9375rem; text-decoration: none; }
.btn-primary { background: #fff; color: var(--primary, #409eff); }
.btn-primary:hover { text-decoration: none; filter: brightness(0.95); }
.btn-outline { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.8); }
.btn-outline:hover { text-decoration: none; background: rgba(255,255,255,.12); }
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.feature-card { background: #fff; border-radius: 10px; padding: 20px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.feature-image { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; margin-bottom: 10px; }
.feature-icon { font-size: 1.75rem; margin-bottom: 10px; line-height: 1; }
.feature-card h3 { font-size: 1rem; margin-bottom: 8px; }
.feature-card p { color: #606266; font-size: 0.875rem; margin-bottom: 8px; }
.card { background: #fff; border-radius: 8px; padding: 20px; margin-bottom: 16px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.read-more { font-size: 0.875rem; font-weight: 600; }

.hp-section { margin-bottom: 24px; }
.hp-section-title { font-size: 1.35rem; margin-bottom: 16px; color: #303133; }
.hp-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hp-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hp-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hp-hero--overlay-light .hero-inner { color: #303133; }
.hp-hero--overlay-none::before { display: none; }
.hp-cta { padding: 48px 24px; border-radius: 12px; background: linear-gradient(135deg, var(--primary, #409eff), #6366f1); color: #fff; text-align: center; background-size: cover; background-position: center; }
.hp-cta--dark { background: #1f2937; }
.hp-cta--banner { background: #f5f7fa; color: #303133; border: 1px solid #ebeef5; }
.hp-cta-inner h2 { margin-bottom: 8px; }
.hp-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; }
.hp-stat { text-align: center; padding: 16px; background: #f5f7fa; border-radius: 8px; }
.hp-stat-value { font-size: 1.75rem; font-weight: 700; color: var(--primary, #409eff); }
.hp-stat-label { font-size: 0.875rem; color: #909399; margin-top: 4px; }
.hp-testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.hp-testimonial { padding: 20px; }
.hp-testimonial-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; margin-bottom: 8px; }
.hp-testimonial footer { margin-top: 12px; font-size: 0.875rem; color: #606266; }
.hp-faq-list { display: grid; gap: 12px; }
.hp-faq-item dt { font-weight: 600; margin-bottom: 4px; }
.hp-faq-item dd { color: #606266; margin: 0; }
.hp-gallery-grid { display: grid; gap: 12px; }
.hp-gallery-item img { width: 100%; border-radius: 8px; aspect-ratio: 4/3; object-fit: cover; }
.hp-gallery-item figcaption { font-size: 0.8125rem; color: #909399; margin-top: 6px; }
.hp-categories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.hp-category-card { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid #ebeef5; border-radius: 8px; text-decoration: none; color: inherit; transition: border-color .2s; }
.hp-category-card:hover { border-color: var(--primary, #409eff); }
.hp-category-count { font-size: 0.8125rem; color: #909399; }
.hp-logos-row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: center; }
.hp-logo-item img { max-height: 48px; max-width: 120px; object-fit: contain; filter: grayscale(0.2); }
.hp-video-wrap iframe, .hp-video-wrap video { width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 8px; background: #000; }
.hp-divider--line { border-top: 1px solid #ebeef5; margin: 8px 0; }
.hp-divider--space { height: 24px; }
.hp-posts--grid .post-card { display: inline-block; width: calc(50% - 8px); vertical-align: top; margin-right: 8px; }
.hp-align-center { text-align: center; }
.hp-align-left { text-align: left; }

@media (max-width: 640px) {
    .hero h1 { font-size: 1.5rem; }
    .hp-posts--grid .post-card { width: 100%; margin-right: 0; }
}
