/* global React */
const { useState: useSMEndState } = React;

// ============================================================
// Smart CDN, Enquiry + FAQ + Final CTA
// ============================================================
const SM_END_CSS = `
/* ---------- Enquiry ---------- */
.SM-enq{position:relative;background:#0F2A47;color:#fff;padding:var(--section-pad-y-d) 0;font-family:'Inter','Noto Sans HK','Noto Sans TC',sans-serif;overflow:hidden}
.SM-enq::before{content:'';position:absolute;top:-220px;right:-220px;width:600px;height:600px;background:radial-gradient(circle,rgba(167,139,250,0.18) 0%,transparent 70%);pointer-events:none}
.SM-enq::after{content:'';position:absolute;bottom:-220px;left:-220px;width:500px;height:500px;background:radial-gradient(circle,rgba(124,58,237,0.13) 0%,transparent 70%);pointer-events:none}

.SM-enq-inner{position:relative;display:grid;grid-template-columns:0.9fr 1.1fr;gap:72px;align-items:start}
.SM-enq-h2{margin:0;font-size:clamp(36px,4.2vw,56px);line-height:1.08;font-weight:700;letter-spacing:-1.6px;color:#fff;text-wrap:balance}
.SM-enq-h2 .accent{background:linear-gradient(135deg,#C4B5FD 0%,#A855F7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.SM-enq-lede{margin-top:22px;font-size:16.5px;line-height:1.7;color:rgba(255,255,255,0.74);max-width:480px;text-wrap:pretty}

.SM-enq-tags{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}
.SM-enq-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(196,181,253,0.10);border:1px solid rgba(196,181,253,0.22);border-radius:999px;font-family:'Chakra Petch',ui-monospace,monospace;font-size:13px;font-weight:600;color:#C4B5FD;letter-spacing:.3px}

.SM-enq-form{background:rgba(255,255,255,0.04);border:1px solid rgba(196,181,253,0.16);border-radius:22px;padding:38px 36px;backdrop-filter:blur(8px)}
.SM-enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.SM-enq-field{display:flex;flex-direction:column;gap:8px}
.SM-enq-field.full{grid-column:1 / -1}
.SM-enq-field label{font-size:13px;font-weight:600;color:rgba(196,181,253,0.7);letter-spacing:.3px;text-transform:uppercase;font-family:'Chakra Petch','Inter',sans-serif}
.SM-enq-field label .req{color:#C4B5FD;margin-left:3px}
.SM-enq-field input,.SM-enq-field select,.SM-enq-field textarea{appearance:none;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:10px;padding:12px 14px;color:#fff;font-family:inherit;font-size:14.5px;line-height:1.5;transition:border-color .15s,background .15s}
.SM-enq-field input:focus,.SM-enq-field select:focus,.SM-enq-field textarea:focus{outline:0;border-color:#C4B5FD;background:rgba(255,255,255,0.10)}
.SM-enq-field input::placeholder,.SM-enq-field textarea::placeholder{color:rgba(255,255,255,0.75)}
.SM-enq-field select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='8'%20viewBox='0%200%2012%208'%3E%3Cpath%20d='M1%201l5%205%205-5'%20stroke='%23C4B5FD'%20stroke-width='1.8'%20fill='none'%20stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.SM-enq-field textarea{min-height:96px;resize:vertical}

.SM-enq-phone{display:grid;grid-template-columns:96px 1fr;gap:8px}
.SM-enq-phone select{padding-right:30px;background-position:right 8px center}

.SM-enq-submit{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.SM-enq-note{font-size:13px;color:rgba(255,255,255,0.75);max-width:340px;line-height:1.6}
.SM-enq-btn{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:16px 32px;font-family:'Noto Sans HK','Inter',sans-serif;font-size:15px;font-weight:700;color:#0F2A47;background:linear-gradient(135deg,#C4B5FD 0%,#A855F7 100%);border-radius:999px;text-decoration:none;letter-spacing:.2px;box-shadow:0 8px 22px rgba(167,139,250,0.32);transition:all .15s}
.SM-enq-btn:hover{background:linear-gradient(135deg,#A855F7 0%,#9333EA 100%);transform:translateY(-1px);box-shadow:0 12px 28px rgba(167,139,250,0.45)}

@media (max-width: 1024px){
  .SM-enq{padding:var(--section-pad-y-t) 0}
  .SM-enq-inner{grid-template-columns:1fr;gap:48px}
}
@media (max-width: 640px){
  .SM-enq{padding:var(--section-pad-y-m) 0}
  .SM-enq-form{padding:28px 22px}
  .SM-enq-grid{grid-template-columns:1fr}
}

/* ---------- FAQ ---------- */
.SM-faq{position:relative;background:linear-gradient(180deg,#F6F4FB 0%,#FAFAFE 100%);padding:var(--section-pad-y-d) 0;font-family:'Inter','Noto Sans HK','Noto Sans TC',sans-serif;color:#0F2A47;border-top:1px solid rgba(15,42,71,0.06)}
.SM-faq-head{max-width:780px;margin-bottom:48px}
.SM-faq-h2{margin:0;font-size:clamp(36px,4.2vw,56px);line-height:1.08;font-weight:700;letter-spacing:-1.6px;color:#0F2A47;text-wrap:balance}
.SM-faq-h2 .accent{background:linear-gradient(135deg,#A855F7 0%,#7C3AED 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.SM-faq-lede{margin-top:18px;font-size:16px;line-height:1.7;color:#475569;max-width:560px}

.SM-faq-list{border-top:1px solid rgba(15,42,71,0.12)}
.SM-faq-item{border-bottom:1px solid rgba(15,42,71,0.12)}
.SM-faq-q{appearance:none;background:transparent;border:0;width:100%;padding:24px 0;display:grid;grid-template-columns:1fr 24px;align-items:center;gap:32px;text-align:left;cursor:pointer;font-family:inherit;color:inherit}
.SM-faq-q-text{font-size:18px;font-weight:600;color:#0F2A47;letter-spacing:-.2px;line-height:1.45;text-wrap:balance}
.SM-faq-toggle{width:24px;height:24px;color:#A855F7;display:flex;align-items:center;justify-content:center;transition:transform .25s ease}
.SM-faq-item.open .SM-faq-toggle{transform:rotate(45deg)}
.SM-faq-toggle svg{width:18px;height:18px}
.SM-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.SM-faq-item.open .SM-faq-a{grid-template-rows:1fr}
.SM-faq-a > div{overflow:hidden;min-height:0}
.SM-faq-a p{margin:0 0 24px;font-size:15.5px;line-height:1.8;color:#475569;text-wrap:pretty;max-width:880px}
.SM-faq-a p strong{color:#0F2A47;font-weight:600}

@media (max-width: 1024px){ .SM-faq{padding:var(--section-pad-y-t) 0} }
@media (max-width: 640px){
  .SM-faq{padding:var(--section-pad-y-m) 0}
  .SM-faq-q-text{font-size:16px}
  .SM-faq-a p{font-size:14.5px}
}

/* ---------- Final CTA ---------- */
.SM-fcta{background:#0F2A47;color:#fff;padding:var(--section-pad-y-d) 0;position:relative;overflow:hidden;font-family:'Inter','Noto Sans HK','Noto Sans TC',sans-serif}
.SM-fcta::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(139,92,246,0.18) 0%,transparent 70%);pointer-events:none}
.SM-fcta::after{content:'';position:absolute;bottom:-180px;left:-180px;width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,0.10) 0%,transparent 70%);pointer-events:none}
.SM-fcta-inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:end}
.SM-fcta-h2{margin:0;font-size:clamp(36px,4.4vw,60px);line-height:1.05;font-weight:700;letter-spacing:-1.8px;color:#fff;text-wrap:balance}
.SM-fcta-h2 .accent{background:linear-gradient(135deg,#C4B5FD 0%,#A855F7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.SM-fcta-body{margin-top:22px;font-size:16.5px;line-height:1.75;color:rgba(255,255,255,0.78);max-width:540px;text-wrap:pretty}
.SM-fcta-tel{margin-top:18px;font-size:14px;color:rgba(255,255,255,0.6)}
.SM-fcta-tel a{color:#fff;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,0.4);font-weight:600;margin-left:8px}
.SM-fcta-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.SM-fcta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;font-size:15.5px;font-weight:600;letter-spacing:.3px;border-radius:999px;text-decoration:none;transition:all .15s;white-space:nowrap;border:1.5px solid transparent}
.SM-fcta-btn.primary{color:#0F2A47;background:#fff;border-color:#fff}
.SM-fcta-btn.primary:hover{background:#c4b5fd;border-color:#c4b5fd;transform:translateY(-1px)}
.SM-fcta-btn.outline{color:#fff;background:transparent;border-color:rgba(255,255,255,0.40)}
.SM-fcta-btn.outline:hover{border-color:#fff;background:rgba(255,255,255,0.06)}

@media (max-width: 900px){ .SM-fcta-inner{grid-template-columns:1fr;gap:36px;align-items:start} }
`;

// FAQ, condensed from md (10 → 8)
const SM_FAQS = [
  { q: '智能 CDN 與 multi-CDN 有何分別？', a: '傳統 multi-CDN 由客戶自行整合多家供應商，需建構 DNS 切換、計費整合、監察工具，技術與成本門檻高。智能 CDN 在 UD 內部完成多線路調度與故障切換，啟用即自動運行，按 HK$20 / 月附加費收取。' },
  { q: '智能 CDN 如何選擇最佳線路？', a: '系統實時偵測各線路延遲、命中率、可用性，按用戶地區、時段、ASN 等維度動態計算最佳路徑。所有判斷在背景完成，用戶端只感受到穩定快速的回應。' },
  { q: '一條線路中斷時如何處理？', a: '任一線路出現異常或上游供應商中斷時，自動將流量導向下一條可用線路。整個切換過程毫秒級完成，承諾 99.99% 服務正常運行。' },
  { q: '如何配合本港、中國、海外 CDN 使用？', a: '智能 CDN 是附加服務，啟用前需先有一個或多個底層區域 CDN。可選任何組合，例如僅本港 + 中國、或本港 + 海外、或三者全部啟用。組合越多元，智能 CDN 的調度空間越大。' },
  { q: '智能 CDN 如何收費？', a: '智能 CDN 本身按 HK$20 / 月每網域收附加費；底層 CDN 流量按所選區域的按用量或月費計劃計算。所有費用以港幣計價、先用後付。' },
  { q: '可否自定流量分配策略？', a: '可以。進階用戶可按地區、時段、用戶屬性、流量類別等維度自定分流規則。例如內地用戶 100% 走 CN2 GIA、海外用戶分散到多個 overseas 節點、辦公時段優先低延遲線路等。' },
  { q: '智能 CDN 與動態 CDN、影片 CDN 如何配合？', a: '智能 CDN 是線路層調度服務，可同時應用於動態內容（API / WebSocket）、影片內容（直播 / 點播）與一般靜態網頁。三者可同時啟用，互不衝突。' },
  { q: '如何開始使用？', a: '登入 UD CDN 控制台，於現有 CDN 網域啟用智能 CDN 附加服務，即時繼承現有配置並開始多線路調度。毋須變更網域、伺服器或應用架構。' },
];

function SmartEnquiry() {
  return (
    <>
      <style>{SM_END_CSS}</style>
      <section className="SM-enq" id="enquiry" data-screen-label="07 Enquiry">
        <div className="container SM-enq-inner">
          <div>
            <h2 className="SM-enq-h2">與我們的 <span className="accent">智能 CDN 專家</span>對談</h2>
            <p className="SM-enq-lede">
              若你需要客製化分流規則、大型企業多重 CDN 整合、或同時部署多區域線路池，請填寫以下表格，
              香港團隊會盡快跟進。
            </p>
          </div>

          <CdnEnquiryForm prefix="sm" />
        </div>
      </section>
    </>
  );
}

function SmartFAQ() {
  const [open, setOpen] = useSMEndState(0);
  return (
    <section className="SM-faq" id="faq" data-screen-label="08 FAQ">
      <div className="container">
        <div className="SM-faq-head">
          <h2 className="SM-faq-h2">常見 <span className="accent">問題</span></h2>
          <p className="SM-faq-lede">如以上未能解答你的疑問，歡迎直接聯絡我們的香港工程團隊。</p>
        </div>
        <div className="SM-faq-list">
          {SM_FAQS.map((f, i) => (
            <div className={`SM-faq-item ${open === i ? 'open' : ''}`} key={i}>
              <button className="SM-faq-q" onClick={() => setOpen(open === i ? -1 : i)} aria-expanded={open === i}>
                <span className="SM-faq-q-text">{f.q}</span>
                <span className="SM-faq-toggle" aria-hidden="true">
                  <svg viewBox="0 0 18 18" fill="none">
                    <line x1="9" y1="2" x2="9" y2="16" stroke="currentColor" strokeWidth="2.2" strokeLinecap="round" />
                    <line x1="2" y1="9" x2="16" y2="9" stroke="currentColor" strokeWidth="2.2" strokeLinecap="round" />
                  </svg>
                </span>
              </button>
              <div className="SM-faq-a"><div><p>{f.a}</p></div></div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

function SmartFinalCTA() {
  return (
    <section className="SM-fcta" data-screen-label="09 Final CTA">
      <div className="container SM-fcta-inner">
        <div>
          <h2 className="SM-fcta-h2">為現有 CDN<br /><span className="accent">加上智能調度的一層保障</span></h2>
          <p className="SM-fcta-body">免費試用、HK$20 / 月起、毋須長期合約。由香港團隊為你規劃最合適的多線路組合。</p>
          <p className="SM-fcta-tel">服務查詢熱線：<a href="tel:+85225547545" data-cta="open-call-sales">(+852) 2554 7545</a></p>
        </div>
        <div className="SM-fcta-actions">
          <a className="SM-fcta-btn primary" href="https://passport.8338.hk/zh-hant/signup" data-cta="start-trial">免費試用 →</a>
          <a className="SM-fcta-btn outline" href="#enquiry" data-cta="contact-sales">與 CDN 專家對談</a>
        </div>
      </div>
    </section>
  );
}

window.SmartEnquiry = SmartEnquiry;
window.SmartFAQ = SmartFAQ;
window.SmartFinalCTA = SmartFinalCTA;
