/* ================================================================
 * Yalla Market Landing — Feature Sections, FAQ, Footer
 * ================================================================ */

/* ── Section Shared ── */
.section-header { text-align:center; margin-bottom:56px; }

/* ── Stats Bar ── */
.stats-bar {
  padding:0; background:#fff;
  border-bottom:1px solid #f3f4f6;
}
.stats-grid {
  display:flex; align-items:stretch; justify-content:center;
  gap:0; padding:32px 0;
}
.stat-item {
  flex:1; text-align:center; padding:0 24px;
  display:flex; flex-direction:column; justify-content:center; gap:6px;
  max-width:200px;
}
.stat-number {
  font-size:clamp(28px,4vw,40px); font-weight:900; line-height:1;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.stat-label {
  font-size:12px; font-weight:600; color:#999; text-transform:uppercase;
  letter-spacing:1px; line-height:1.3;
}
.stat-sep {
  width:1px; background:linear-gradient(to bottom,transparent,#e5e7eb 30%,#e5e7eb 70%,transparent);
  margin:4px 0; flex-shrink:0;
}

/* ── Features ── */
.features { padding:90px 0; background:#fff; }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.feature-card {
  background:#f9fafb; border:1.5px solid transparent; border-radius:20px;
  padding:32px 28px; text-align:center; position:relative; overflow:hidden;
  transition:border-color .3s, box-shadow .3s, transform .3s;
}
.feature-card:hover { border-color:rgba(255,106,0,.2); box-shadow:0 16px 40px rgba(255,106,0,.08); transform:translateY(-4px); }
.feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); opacity:0; transition:opacity .3s; border-radius:20px 20px 0 0; }
.feature-card:hover::before { opacity:1; }
.feature-icon { font-size:36px; display:block; margin-bottom:16px; }
.feature-card h3 { font-size:18px; font-weight:800; margin-bottom:10px; color:#1a1a2e; }
.feature-card p  { font-size:14px; color:#666; line-height:1.65; }

/* ── How It Works ── */
.how-it-works { padding:90px 0; background:linear-gradient(135deg,#FFF8F0,#fff9f5); overflow:hidden; }
.how-steps { display:flex; gap:0; position:relative; counter-reset:step; }
.how-steps::before {
  content:''; position:absolute; top:32px; left:calc(50%/3 + 1px); right:calc(50%/3 + 1px);
  height:2px; background:linear-gradient(to right,var(--primary),var(--accent));
  border-radius:1px; z-index:0;
}
.how-step { flex:1; text-align:center; position:relative; z-index:1; padding:0 20px; }
.step-circle {
  width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff; font-size:22px; font-weight:900; display:flex; align-items:center;
  justify-content:center; margin:0 auto 20px; box-shadow:0 8px 24px rgba(255,106,0,.3);
  position:relative;
}
.step-circle::after { content:''; position:absolute; inset:-4px; border-radius:50%; border:2px solid transparent; background:linear-gradient(135deg,var(--primary),var(--accent)) border-box; -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0); -webkit-mask-composite:destination-out; mask-composite:exclude; }
.how-step h3 { font-size:17px; font-weight:800; margin-bottom:8px; color:#1a1a2e; }
.how-step p  { font-size:14px; color:#666; line-height:1.6; }

/* ── AI Chef ── */
.ai-chef { padding:90px 0; background:#fff; }
.ai-chef-inner { display:flex; align-items:center; gap:72px; }
.ai-chef-content { flex:1; min-width:0; }
.ai-chef-content h2 { font-size:38px; font-weight:900; margin-bottom:16px; line-height:1.15; color:#1a1a2e; }
.ai-chef-content h2 span { background:linear-gradient(135deg,var(--primary),var(--accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.ai-chef-content p { font-size:17px; color:#666; max-width:460px; line-height:1.7; margin-bottom:28px; }
.ai-features-grid { display:flex; flex-direction:column; gap:14px; }
.ai-feature-item { display:flex; align-items:flex-start; gap:12px; }
.ai-feature-icon { width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg,rgba(255,106,0,.1),rgba(255,163,1,.1)); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.ai-feature-item h4 { font-size:15px; font-weight:700; color:#1a1a2e; margin-bottom:3px; }
.ai-feature-item p  { font-size:13px; color:#777; }
.ai-chef-visual { flex:0 0 300px; display:flex; justify-content:center; }
.ai-chef-visual .phone-wrapper { animation:float 7s ease-in-out infinite; }

/* ── Download CTA ── */
.download-cta { padding:90px 24px; text-align:center; background:linear-gradient(165deg,var(--dark) 0%,#1f1f3a 100%); position:relative; overflow:hidden; color:#fff; }
.download-cta::before { content:''; position:absolute; top:-200px; left:50%; transform:translateX(-50%); width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(255,106,0,.1),transparent 60%); pointer-events:none; }
.download-cta .section-label { color:rgba(255,163,1,.8); border-color:rgba(255,163,1,.2); display:inline-flex; }
.download-cta .section-title { color:#fff; font-size:40px; }
.download-cta .section-subtitle { color:rgba(255,255,255,.65); font-size:17px; max-width:500px; margin:0 auto 40px; }
.cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-btn-primary { background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff; padding:16px 36px; border-radius:16px; font-size:16px; font-weight:700; display:inline-flex; align-items:center; gap:10px; border:none; }
.cta-btn-primary:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(255,106,0,.35); }
.cta-btn-secondary { background:rgba(255,255,255,.08); backdrop-filter:blur(10px); color:#fff; padding:16px 36px; border-radius:16px; font-size:16px; font-weight:700; display:inline-flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.15); }
.cta-btn-secondary:hover { background:rgba(255,255,255,.14); transform:translateY(-2px); }

/* ── Contact ── */
.contact-section { padding:90px 0; background:#f9fafb; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.contact-info h3 { font-size:26px; font-weight:800; margin-bottom:14px; color:#1a1a2e; }
.contact-info p  { font-size:15px; color:#666; line-height:1.7; margin-bottom:28px; }
.contact-details { display:flex; flex-direction:column; gap:14px; }
.contact-detail { display:flex; align-items:center; gap:12px; }
.contact-detail svg { width:20px; height:20px; color:var(--primary); flex-shrink:0; }
.contact-detail span { font-size:15px; color:#444; }
.contact-social { display:flex; gap:10px; margin-top:20px; }
.social-ls { width:36px; height:36px; border-radius:50%; background:#fff; border:1.5px solid #e5e7eb; display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s, transform .2s; position:relative; }
.social-ls img, .social-ls svg { width:16px; height:16px; object-fit:contain; }
.social-ls:hover { background:var(--primary); border-color:var(--primary); transform:translateY(-2px); }
.social-ls:hover svg { color:#fff; }
.social-ls:hover img { filter:brightness(0) invert(1); }
.contact-form { background:#fff; border-radius:24px; padding:36px; box-shadow:0 4px 24px rgba(0,0,0,.06); border:1.5px solid #f3f4f6; }
.contact-form .form-group { margin-bottom:18px; }
.contact-form label { display:block; font-size:13px; font-weight:600; color:#444; margin-bottom:6px; }
.contact-form input,
.contact-form select,
.contact-form textarea { width:100%; padding:12px 16px; border:1.5px solid #e5e7eb; border-radius:12px; font-size:14px; font-family:inherit; color:#1a1a2e; background:#f9fafb; transition:border-color .2s; outline:none; box-sizing:border-box; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color:var(--primary); background:#fff; }
.contact-form textarea { resize:vertical; min-height:110px; }
.contact-form .submit-btn { width:100%; background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff; font-size:16px; font-weight:700; padding:14px; border-radius:14px; border:none; cursor:pointer; font-family:inherit; transition:opacity .2s, transform .2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.contact-form .submit-btn:hover { transform:translateY(-2px); opacity:.92; }
.contact-form .submit-btn:disabled { opacity:.6; cursor:not-allowed; transform:none; }
#form-status { padding:10px; border-radius:10px; text-align:center; font-size:14px; font-weight:600; display:none; margin-top:10px; }
#form-status.success { background:#f0fdf4; color:#16a34a; display:block; }
#form-status.error   { background:#fef2f2; color:#dc2626; display:block; }

/* ── FAQ ── */
.faq-section { padding:90px 0; background:#fff; }
.faq-list { max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item { border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; background:#fafafa; transition:border-color .3s, box-shadow .3s; }
.faq-item:hover { border-color:rgba(255,106,0,.25); box-shadow:0 4px 20px rgba(255,106,0,.06); }
.faq-item.open { border-color:rgba(255,106,0,.35); background:#fff; box-shadow:0 6px 24px rgba(255,106,0,.08); }
.faq-q {
  width:100%; background:none; border:none; cursor:pointer; font-family:inherit;
  padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:15px; font-weight:700; color:#1a1a2e; text-align:left; line-height:1.4;
}
.faq-q:hover { color:var(--primary); }
.faq-chevron { width:18px; height:18px; color:#9ca3af; flex-shrink:0; transition:transform .3s; }
.faq-item.open .faq-chevron { transform:rotate(180deg); color:var(--primary); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.4,0,.2,1); }
.faq-a-inner { padding:0 20px 18px; font-size:14px; color:#555; line-height:1.75; border-top:1px solid #f3f4f6; margin-top:0; padding-top:14px; }
.faq-item.open .faq-a { max-height:500px; }
.faq-category-badge { display:inline-flex; align-items:center; gap:4px; background:#FFF3E8; color:#C75000; font-size:10px; font-weight:700; padding:2px 8px; border-radius:8px; text-transform:uppercase; letter-spacing:.4px; margin-bottom:10px; }
.faq-empty { text-align:center; color:#9ca3af; font-size:15px; padding:40px 20px; display:none; }
.faq-empty.visible { display:block; }

/* ── Payment Methods Strip ── */
.payment-methods-strip {
  border-top:1px solid rgba(255,255,255,.07);
  padding:20px 0 24px; display:flex; align-items:center;
  justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.payment-methods-label {
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px;
  color:rgba(255,255,255,.3); white-space:nowrap;
}
.payment-icons {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.pay-icon {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:8px; padding:6px 10px; height:34px;
  transition:background .2s;
}
.pay-icon:hover { background:rgba(255,255,255,.12); }
.pay-icon svg  { opacity:.8; }
.pay-icon text { opacity:.9; }
.pay-icon--cod { color:rgba(255,255,255,.55); gap:6px; }
.pay-icon--cod svg { stroke:rgba(255,255,255,.6); }
.pay-icon--cod span { font-size:10px; font-weight:600; white-space:nowrap; }
.pay-icon--secure { color:rgba(255,255,255,.55); gap:5px; }
.pay-icon--secure svg { stroke:rgba(255,163,1,.7); }
.pay-icon--secure span { font-size:10px; font-weight:600; white-space:nowrap; }

/* ── Footer ── */
.footer { background:var(--dark); color:#fff; padding:80px 0 0; }
.footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:56px; }
.footer-brand .footer-logo { display:flex; align-items:center; gap:8px; font-size:22px; font-weight:900; color:#fff; text-decoration:none; margin-bottom:16px; }
.footer-brand p { font-size:14px; color:rgba(255,255,255,.55); line-height:1.7; max-width:280px; margin-bottom:20px; }
.footer-social { display:flex; gap:8px; }
.footer-social a { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .2s, transform .2s; position:relative; }
.footer-social a img, .footer-social a svg { width:15px; height:15px; object-fit:contain; }
.footer-social a:hover { background:var(--primary); transform:translateY(-2px); }
.footer-social a:hover svg { color:#fff; }
.footer-social a:hover img { filter:brightness(0) invert(1); }
.footer-col h4 { font-size:14px; font-weight:700; color:rgba(255,255,255,.9); margin-bottom:18px; text-transform:uppercase; letter-spacing:.8px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul a { font-size:14px; color:rgba(255,255,255,.5); transition:color .2s; }
.footer-col ul a:hover { color:rgba(255,255,255,.9); }
.footer-col .footer-contact-item { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.footer-col .footer-contact-item svg { width:14px; height:14px; color:var(--accent); flex-shrink:0; }
.footer-col .footer-contact-item span { font-size:13px; color:rgba(255,255,255,.55); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.footer-bottom p   { font-size:13px; color:rgba(255,255,255,.35); }
.footer-bottom nav { display:flex; gap:20px; }
.footer-bottom nav a { font-size:13px; color:rgba(255,255,255,.4); transition:color .2s; }
.footer-bottom nav a:hover { color:rgba(255,255,255,.8); }

/* ── Footer Social Icons ── */
.footer-social-link { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .2s, transform .2s; color:rgba(255,255,255,.6); }
.footer-social-link svg { width:15px; height:15px; fill:currentColor; }
.footer-social-link:hover { background:var(--primary); color:#fff; transform:translateY(-2px); }
.contact-soc-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:rgba(var(--soc-r,0),var(--soc-g,0),var(--soc-b,0),.1); color:var(--soc-color,#555); transition:background .2s, transform .2s, color .2s; }
.contact-soc-btn:hover { background:var(--soc-color,#555); color:#fff; transform:translateY(-2px); }
.contact-soc-btn svg { width:18px; height:18px; fill:currentColor; }
.contact-social { margin-top:24px; }
.contact-social > div { display:flex; gap:10px; flex-wrap:wrap; }
#contactSocRow { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }

/* ── Footer Legal Info ── */
.footer-legal-info { margin-top:20px; padding-top:16px; border-top:1px solid rgba(255,255,255,.07); }
.legal-company-name { font-size:12px; font-weight:700; color:rgba(255,255,255,.7); letter-spacing:.4px; text-transform:uppercase; margin-bottom:8px; }
.legal-detail { display:flex; align-items:flex-start; gap:6px; font-size:11.5px; color:rgba(255,255,255,.35); line-height:1.55; margin-bottom:4px; }
.legal-detail span:first-child { color:rgba(255,255,255,.5); white-space:nowrap; }
.legal-detail a { color:rgba(255,255,255,.4); text-decoration:underline; text-decoration-color:rgba(255,255,255,.15); transition:color .2s; }
.legal-detail a:hover { color:rgba(255,255,255,.8); }
