/* Shared visual system derived from the redesigned home page. */
:root {
  --primary: #ffcd6d;
  --primary-dark: #eeb751;
  --accent: #ffcd6d;
  --accent-glow: rgba(255, 205, 109, .18);
  --dark-bg: #e4e0dd;
  --darker-bg: #e4e0dd;
  --card-bg: #fff;
  --text-main: #121718;
  --text-muted: #444;
  --font-heading: Inter, "Segoe UI", sans-serif;
  --font-body: Inter, "Segoe UI", sans-serif;
}

html, body { background: #e4e0dd; }
body { color: var(--text-main); font-family: var(--font-body); letter-spacing: -.01em; }
body::before { display: none; }
.background-gradient { display: none; }
.container { max-width: 1200px; }
h1, h2, h3, h4 { color: var(--text-main); font-family: var(--font-heading); font-weight: 600; letter-spacing: -.035em; }
a { color: inherit; }
a:hover { color: var(--text-main); }

.header { top: 16px; padding: 0; background: transparent; }
.header-container { width: min(1168px, calc(100% - 32px)); min-height: 60px; padding: 8px 12px 8px 20px; border: 1px solid rgba(18, 23, 24, .1); border-radius: 12px; background: #fff; box-shadow: none; }
.logo img { max-height: 30px; filter: brightness(0); }
.nav-list { gap: 4px; }
.nav-list a { padding: 8px 10px; border-radius: 12px; color: var(--text-main); font-size: 14px; font-weight: 400; }
.nav-list a:hover, .nav-list a.active { background: #e4e0dd; color: var(--text-main); }

.btn, button, input[type="submit"] { border-radius: 12px; box-shadow: none; font-family: var(--font-body); font-size: 15px; font-weight: 500; }
.btn-primary, .cta-button, button[type="submit"], input[type="submit"] { border-color: var(--primary); background: var(--primary); color: var(--text-main); }
.btn-primary:hover, .cta-button:hover, button[type="submit"]:hover, input[type="submit"]:hover { border-color: var(--primary-dark); background: var(--primary-dark); color: var(--text-main); box-shadow: none; }
.btn-outline, .btn-glass { border: 1px solid var(--text-main); background: transparent; color: var(--text-main); }
.btn-outline:hover, .btn-glass:hover { background: #f6f3ef; color: var(--text-main); }

section { background: transparent; }
.hero, .page-hero, .article-hero { padding-top: 150px; background: #e4e0dd; }
.compact-page-hero { min-height: 0; padding: 142px 0 42px; }
.compact-page-hero .hero-subtitle { margin-bottom: 0 !important; }
.compact-page-hero + section { padding-top: 28px; }
.hero-title, .page-title, .article-title { color: var(--text-main); font-weight: 700; letter-spacing: -.045em; }
.hero-subtitle, .section-subtitle, .page-subtitle, .article-lead { color: var(--text-muted); }
.gradient-text { background: none; color: var(--text-main); -webkit-text-fill-color: var(--text-main); }

.feature-card, .stat-card, .component, .pricing-card, .price-card, .card, .article-card, .blog-card, .case-card, .comparison-card, .faq-item, .contact-form, .form-container {
  border: 1px solid rgba(18, 23, 24, .14);
  border-radius: 16px;
  background: var(--card-bg);
  box-shadow: none;
}
.feature-card:hover, .stat-card:hover, .component:hover, .pricing-card:hover, .price-card:hover, .card:hover, .article-card:hover, .blog-card:hover, .case-card:hover { border-color: rgba(18, 23, 24, .32); box-shadow: none; transform: none; }
.pricing-card.featured, .price-card.featured, .featured-card { border-color: var(--text-main); background: var(--text-main); color: #fff; }
.pricing-card.featured h2, .pricing-card.featured h3, .pricing-card.featured p, .price-card.featured h2, .price-card.featured h3, .price-card.featured p, .featured-card h2, .featured-card h3, .featured-card p { color: #fff; }
.price-card.featured, .price-card.featured .price-header, .price-card.featured .price, .price-card.featured .price-desc, .price-card.featured .price-features li, .price-card.featured .price-features .check { color: #fff; }
.price-card.featured .price-features li { border-color: rgba(255, 255, 255, .2); }
.price-card.featured .price-features .check { background: var(--primary); color: var(--text-main); }
.feature-icon, .stat-icon, .component-icon, .icon-wrapper { border-color: var(--text-main); background: var(--primary); color: var(--text-main); }

.article-content, .article-body, .content, main article { color: #293031; }
.article-content h2, .article-body h2, .content h2, main article h2 { margin-top: 2.2em; color: var(--text-main); }
.article-content h3, .article-body h3, .content h3, main article h3 { margin-top: 1.7em; color: var(--text-main); }
.article-content a, .article-body a, .content a, main article a { color: #72551f; text-decoration-color: var(--primary-dark); }
.article-content blockquote, .article-body blockquote, .content blockquote, main article blockquote { border-left-color: var(--primary-dark); background: #f6f3ef; color: var(--text-main); }
.article-content pre, .article-body pre, .content pre, main article pre { border-radius: 12px; background: #202627; }
.article-content img, .article-body img, .content img, main article img { border-radius: 12px; }

input, textarea, select { border: 1px solid rgba(18, 23, 24, .25); border-radius: 10px; background: #fff; color: var(--text-main); }
input:focus, textarea:focus, select:focus { border-color: var(--primary-dark); box-shadow: 0 0 0 3px var(--accent-glow); }
footer, .footer { background: var(--text-main); color: rgba(255, 255, 255, .8); }
footer h2, footer h3, footer h4, footer a, .footer h2, .footer h3, .footer h4, .footer a { color: #fff; }
footer a:hover, .footer a:hover { color: var(--primary); }

@media (max-width: 768px) {
  .header { top: 8px; }
  .header-container { width: calc(100% - 20px); padding-left: 14px; }
  .hero, .page-hero, .article-hero { padding-top: 112px; }
  .compact-page-hero { padding: 104px 0 30px; }
  .compact-page-hero + section { padding-top: 20px; }
  .feature-card, .stat-card, .component, .pricing-card, .price-card, .card, .article-card, .blog-card, .case-card, .comparison-card { border-radius: 12px; }
}
