:root {}

/* Layout */
.home-wrapper { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--chat-text-primary); background: var(--chat-surface-2); }
.section-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 12px 0; color: var(--chat-text-light); }
.section-subtitle { color: var(--chat-text-secondary); margin-bottom: 10px; }

/* Hero */
.hero { 
  /* Increased vertical presence per modification instructions */
  min-height: max(600px, 60vh);
  padding: 60px 20px; 
  background: linear-gradient(180deg, var(--chat-surface-2) 0%, var(--chat-surface-1) 100%);
  background-repeat: no-repeat;
  background-size: cover; /* ensure gradient covers full area */
  border-bottom: 1px solid var(--chat-border-medium);
  display: grid; 
  place-items: center; /* keep hero content centered */
}
.hero .hero-content { width: 100%; max-width: 1200px; margin: 0 auto; }
.hero .brand { display: flex; align-items: center; gap: 12px; }
.brand-icon { color: var(--chat-accent-blue); font-size: 1.8rem; }
.brand-title { font-size: 1.8rem; font-weight: 800; margin: 0; }
.tagline { margin: 10px 0 18px; color: var(--chat-text-secondary); max-width: 900px; }
.cta-group { display: flex; gap: 12px; flex-wrap: wrap; }
.stats { margin-top: 22px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.stat-card { background: var(--chat-surface-2); border: 1px solid var(--chat-border-medium); border-radius: 10px; padding: 12px; text-align: center; box-shadow: var(--chat-shadow-light); }
.stat-number { color: var(--chat-text-light); font-weight: 700; }
.stat-label { color: var(--chat-text-secondary); font-size: 0.9rem; }

/* Buttons & Inputs */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 8px; border: 1px solid transparent; cursor: pointer; transition: var(--chat-transition); text-decoration: none; }
.btn-primary { background: var(--chat-accent-blue); color: var(--chat-text-light); }
.btn-primary:hover { filter: brightness(1.1); }
.btn-secondary { background: transparent; color: var(--chat-text-primary); border: 1px solid var(--chat-border-medium); }
.btn-secondary:hover { background: rgba(255,255,255,0.06); }
.input-box { background: var(--chat-surface-2); color: var(--chat-text-light); border: 1px solid var(--chat-border-medium); border-radius: 8px; padding: 10px 12px; min-width: 220px; }
.input-box::placeholder { color: var(--chat-text-secondary); }

/* Features */
.features { padding: 28px 20px; }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.feature-card { background: var(--chat-surface-2); border: 1px solid var(--chat-border-medium); border-radius: 12px; padding: 14px; min-height: 120px; }

/* Live Demo */
.live-demo { padding: 28px 20px; border-top: 1px solid var(--chat-border-medium); border-bottom: 1px solid var(--chat-border-medium); }
.demo-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.toggle-wrap { display: inline-flex; align-items: center; gap: 8px; color: var(--chat-text-secondary); }
.result-card { background: var(--chat-surface-2); border: 1px solid var(--chat-border-medium); border-radius: 12px; padding: 12px; box-shadow: var(--chat-shadow-light); }
.result-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.result-col .label { color: var(--chat-text-secondary); font-size: 0.85rem; }
.result-col .value { color: var(--chat-text-light); font-weight: 600; word-break: break-word; }
.raw-json { background: var(--chat-surface-1); color: var(--chat-text-primary); border: 1px solid var(--chat-border-medium); border-radius: 8px; padding: 12px; max-height: 260px; overflow: auto; }

/* Activity */
.activity { padding: 28px 20px; }
.activity-controls { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.activity-card { background: var(--chat-surface-2); border: 1px solid var(--chat-border-medium); border-radius: 12px; padding: 12px; }
.card-title { font-weight: 700; margin-bottom: 8px; }

/* Quick Start */
.quickstart { padding: 28px 20px; border-top: 1px solid var(--chat-border-medium); }
.qs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.qs-card { background: var(--chat-surface-2); border: 1px solid var(--chat-border-medium); border-radius: 12px; padding: 12px; }
.code { background: var(--chat-surface-1); color: var(--chat-text-primary); border: 1px solid var(--chat-border-medium); border-radius: 8px; padding: 12px; overflow: auto; }
.contact-strip { margin-top: 14px; }

/* Footer */
.footer { padding: 20px; border-top: 1px solid var(--chat-border-medium); background: var(--chat-surface-2); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.footer .links a { color: var(--chat-text-secondary); margin-left: 12px; text-decoration: none; }
.footer .links a:hover { color: var(--chat-text-light); }

/* Toggle Switch (Requirement #10) */
.toggle-switch { position: relative; display: inline-block; width: 44px; height: 24px; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--chat-border-medium); transition: var(--chat-transition); border-radius: 24px; }
.slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: var(--chat-text-light); transition: var(--chat-transition); border-radius: 50%; }
.toggle-switch input:checked + .slider { background-color: var(--chat-accent-blue); }
.toggle-switch input:checked + .slider:before { transform: translateX(20px); }

/* Responsive */
@media (max-width: 992px) {
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-row { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .feature-grid, .qs-grid, .activity-grid { grid-template-columns: 1fr; }
  .brand-title { font-size: 1.4rem; }
}
