/* LDeepAI global styles */
:root {
  --primary: #0B1D40;
  --accent: #00B5C2;
  --bg: #F6F7F9;
  --text: #1A1A1A;
  --hero-height: 75vh;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: Arial, Helvetica, 'Noto Sans SC', 'Microsoft YaHei', sans-serif; color: var(--text); background: #fff; }
a { text-decoration: none; color: inherit; }
img, video { max-width: 100%; height: auto; display: block; }

/* Header */
.header { position: sticky; top:0; background: #fff; border-bottom: 1px solid #e6e8ee; z-index: 10; }
.nav { display:flex; align-items:center; justify-content:space-between; max-width:1200px; margin:0 auto; padding: 14px 20px; }
.logo { font-weight: 700; font-size: 22px; color: var(--primary); }
.nav-links { display:flex; gap: 18px; align-items:center; }
.nav-links a { padding:8px 10px; border-radius:6px; color: var(--primary); font-weight:600; }
.nav-links a:hover { background: var(--bg); color: var(--primary); }
.lang-toggle { display:flex; gap:8px; align-items:center; }
.lang-toggle button { padding:6px 10px; border:1px solid var(--primary); border-radius:6px; background:#fff; color: var(--primary); cursor:pointer; font-weight:600; }
.lang-toggle button.active { background: var(--primary); color:#fff; }

/* Header dropdown */
.nav .has-dropdown { position: relative; }
.nav .has-dropdown .dropdown { position: absolute; top: calc(100% + 8px); left: 0; background: #fff; border:1px solid #e6e8ee; border-radius:10px; box-shadow: 0 8px 32px rgba(0,0,0,0.12); min-width: 260px; display:none; }
.nav .has-dropdown:hover .dropdown, .nav .has-dropdown:focus-within .dropdown { display:block; }
.nav .has-dropdown .dropdown a { display:block; padding:10px 14px; font-size:16px; font-weight:700; color: var(--primary); }
.nav .has-dropdown .dropdown a:hover { background:#F6F7F9; }

/* Hero */
.hero { background: linear-gradient(180deg,rgb(73, 155, 237), rgb(136, 113, 250)), url('icons/bg3.png') center/cover no-repeat; background-blend-mode: multiply; color:#fff; }
.hero .wrap { max-width:1200px; margin:0 auto; min-height: var(--hero-height); padding: 0 20px; display:flex; flex-direction:column; justify-content:center; text-align:left; }
.hero h1 { font-size: 56px; margin:0 0 16px; }
.hero p { font-size: 20px; max-width: 900px; margin: 0 0 28px; opacity:0.92; }
.cta { display:inline-block; width:auto; background: var(--accent); color:#fff; padding:12px 20px; border-radius:8px; font-weight:700; align-self:flex-start; }

/* Sections */
.section { max-width:1200px; margin:0 auto; padding: 60px 20px; }
.section h2 { color: var(--primary); margin:0 0 16px; font-size:28px; }
.section .sub { color:#5b6780; margin-bottom: 24px; }

.grid-4 { display:grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.card { background:#fff; border:1px solid #e6e8ee; border-radius:12px; padding:18px; box-shadow: 0 2px 8px rgba(0,0,0,0.03); }
.card h3 { color: var(--primary); margin:0 0 8px; font-size:18px; }
.card p { color:#374151; margin:0; font-size:14px; }

/* Partner detail */
.partner-detail { display:grid; grid-template-columns: 1.2fr 1.8fr; gap:20px; align-items:flex-start; background:#fff; border:1px solid #e6e8ee; border-radius:14px; padding:18px; }
.partner-image { width:100%; height:320px; object-fit:cover; border-radius:14px; }
.partner-copy h3 { margin:0 0 10px; color: var(--primary); }
.partner-copy p { margin:0 0 10px; color:#374151; line-height:1.7; }
.divider { border:0; border-top:1px dashed #c6ccd8; margin:8px 0 12px; }

/* Partners grid container */
.partners-grid { display:grid; grid-template-columns: 1fr; gap:20px; }
.partner-copy h2 { margin:0 0 10px; color: var(--primary); font-size:22px; }
.partner-copy ul { margin:0 0 10px; padding-left:18px; }
.partner-copy li { margin:6px 0; color:#374151; }

/* legacy partner style removed */

/* About media two-column */
.about-media { display:grid; grid-template-columns: 1.2fr 1.8fr; gap:20px; align-items:flex-start; background:#a4c0fb; border:1px solid #e6e8ee; border-radius:14px; padding:18px; }
.about-image { width:100%; height:380px; object-fit:cover; border-radius:14px; }
.about-copy p { margin:0 0 10px; color:#374151; line-height:1.7; }

/* Card thumbnails for vision grid */
.card-thumb { width:100%; height:300px; object-fit:cover; border-radius:14px; display:block; margin-bottom:8px; overflow: hidden;}



/* Featured Categories (3-column PC, 1-column Mobile) */
.fc-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; }
/* Card container */
.fc-card { background:#fff; border:1px solid #e6e8ee; border-radius:14px; padding:22px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: box-shadow 0.2s ease; display:block; }
/* Image wrapper (left side on PC) */
.fc-image { display:flex; align-items:center; justify-content:center; margin-bottom: 36px;}
.fc-image img { width:100%; height:auto; object-fit:contain; border-radius:10px; transition: transform 0.2s ease; }
/* Content (right text block) */
.fc-content { flex:1; }
.fc-card h3 { margin:0 0 8px; color: var(--primary); font-size:22px; }
.fc-card p { margin:0 0 10px; font-size:15px; line-height:1.5; color:#374151; }
/* Hover effects */
.fc-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.fc-card:hover .fc-image img { transform: scale(1.03); }

/* Visually hidden text for SEO */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Products page categories (independent from index) */
.pfc-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:36px; }
.pfc-card { background:#fff; border:1px solid #e6e8ee; border-radius:14px; padding:22px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: box-shadow 0.2s ease; display:flex; gap:64px; align-items:center; }
.pfc-image { flex: 0 0 24%; display:flex; align-items:center; justify-content:center; }
.pfc-image img { width:100%; height:auto; object-fit:contain; border-radius:10px; transition: transform 0.2s ease; }
.pfc-content { flex:1; }
.pfc-card h3 { margin:0 0 8px; color: var(--primary); font-size:22px; }
.pfc-card p { margin:0 0 10px; font-size:15px; line-height:1.5; color:#374151; }
.pfc-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.pfc-card:hover .pfc-image img { transform: scale(1.03); }
.page-products-overview .pfc-grid { grid-template-columns: 1fr; }
/* Products overview: stack cards vertically */


/* Products overview blocks: left image + right text */

/* Breadcrumbs */
.breadcrumbs { margin-top:8px; color:#5b6780; font-size:13px; }
.breadcrumbs a { color: var(--accent); }
/* Card link wrapper */
.fc-link { display:block; color:inherit; text-decoration:none; }

/* Service cards */
.services-grid { grid-template-columns: repeat(2, 1fr); }
.service-card { background:#fff; border:1px solid #e6e8ee; border-radius:14px; overflow:hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.06); }
.service-card img { width:100%; height:220px; object-fit:cover; display:block; }
.service-card .body { padding:14px 16px 16px; display:grid; grid-template-columns: 1fr auto; align-items:center; gap:8px; }
.service-card h3 { color: var(--primary); margin:0; font-size:20px; }
.service-card .arrow { width:40px; height:40px; border-radius:999px; background: var(--bg); color: var(--primary); display:flex; align-items:center; justify-content:center; font-weight:700; }
.service-card p { grid-column: 1 / -1; color:#374151; margin:6px 0 0; font-size:14px; }

/* Footer */
.footer { background:#0e1422; color:#d0d6e4; margin-top: 40px; }
.footer .wrap { max-width:1200px; margin:0 auto; padding: 40px 20px; display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 20px; }
.footer h4 { color:#fff; margin:0 0 10px; }
.footer a { color:#8bd9e1; }
.link-underline { text-decoration: underline; }
.footer .bottom { border-top:1px solid #243248; padding:16px 20px; text-align:center; font-size:13px; }

.lang-note { font-size:12px; color:#5b6780; }

/* Language visibility */
[data-lang="cn"] { display:none; }
.lang-cn [data-lang="cn"] { display:initial; }
.lang-cn [data-lang="en"] { display:none; }

/* Page title */
.page-title { background: var(--bg); border-bottom: 1px solid #e6e8ee; }
.page-title .wrap { max-width:1200px; margin:0 auto; padding: 40px 20px; }
.page-title h1 { color: var(--primary); margin:0; }
.page-title .sub { color:#5b6780; margin:6px 0 0; font-size:16px; }

/* Lists */
.list { display:grid; gap:12px; }
.list .item { padding:14px; background:#fff; border:1px solid #e6e8ee; border-radius:10px; }
.list .item h3 { margin:0 0 6px; color: var(--primary); }

/* Products page components (hero, sticky nav, categories, CTA) */
.products-hero { background: linear-gradient(180deg, rgba(10,30,60,0.85), rgba(40,80,180,0.65)), url('icons/bg3.png') center/cover; color:#fff; }
.products-hero .wrap { max-width:1200px; margin:0 auto; padding:48px 20px; text-align:left; }
.products-hero h1 { font-size:28px; margin:0 0 10px; }
.products-hero p { font-size:14px; opacity:0.95; }

/* Products tabs */
.products-tabs { max-width:1200px; margin: 0 auto; padding: 10px 20px; display:flex; gap:8px; flex-wrap: wrap; }
.products-tabs .tab { display:inline-block; padding:10px 14px; border:1px solid #e6e8ee; border-radius:10px; background:#fff; color: var(--primary); font-weight:700; }
.products-tabs .tab:hover { background:#F0F6FF; }
.products-tabs .tab.active { background: var(--primary); color:#fff; }



.category-block { display:grid; grid-template-columns: 0.8fr 2.2fr; gap:20px; align-items:center; background:#fff; border:1px solid #e6e8ee; border-radius:14px; padding:18px; scroll-margin-top:72px; }
.category-block .image img { width:100%; height:200px; object-fit:cover; border-radius:12px; }
.category-block .content h3 { margin:0 0 8px; color: var(--primary); font-size:22px; }
.category-block .content p { color:#374151; margin:0 0 10px; line-height:1.7; }
.category-block .content ul { margin:0; padding-left:18px; }
.category-block .content li { margin:6px 0; }

.ms-block { display:grid; grid-template-columns: 0.8fr 2.2fr; gap:20px; align-items:center; background:#fff; border:1px solid #e6e8ee; border-radius:14px; padding:18px; scroll-margin-top:72px; }
.ms-block .image img { width:100%; height:240px; object-fit:contain; border-radius:12px; }
.ms-block .content h3 { margin:0 0 8px; color: var(--primary); font-size:22px; }
.ms-block .content p { color:#374151; margin:0 0 10px; line-height:1.7; }
.ms-block .content ul { margin:0; padding-left:18px; }
.ms-block .content li { margin:6px 0; }

.ei-block { display:grid; grid-template-columns: 0.8fr 2.2fr; gap:20px; align-items:center; background:#fff; border:1px solid #e6e8ee; border-radius:14px; padding:18px; scroll-margin-top:72px; }
.ei-block .image img { width:100%; height:240px; object-fit:contain; border-radius:12px; }
.ei-block .content h3 { margin:0 0 8px; color: var(--primary); font-size:22px; }
.ei-block .content p { color:#374151; margin:0 0 10px; line-height:1.7; }
.ei-block .content ul { margin:0; padding-left:18px; }
.ei-block .content li { margin:6px 0; }



.cta-section { text-align:center; }
.btn { display:inline-block; padding:10px 18px; background: var(--primary); color:#fff; border-radius:8px; font-weight:700; }
.page-products-overview .btn { background: var(--accent); }
.icon-row { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.pkg { padding:6px 10px; background:#f5f7fb; border:1px solid #e6e8ee; border-radius:999px; font-size:13px; color:#374151; }
.application-images { margin-top:12px; display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; }
.application-images img { width:100%; height:220px; object-fit:cover; border-radius:10px; }

/* Contact page */
.contact-hero { background: linear-gradient(180deg, rgba(10,30,60,0.85), rgba(40,80,180,0.65)), url('icons/bg3.png') center/cover; color:#fff; }
.contact-hero .wrap { max-width:1200px; margin:0 auto; padding:48px 20px; text-align:left; }
.contact-hero h1{ font-size:28px; margin:0 0 10px; }
.contact-hero p { font-size:14px; opacity:0.95; }
.contact-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; }
.info-block { background:#fff; border:1px solid #e6e8ee; border-radius:12px; padding:16px; min-height: 180px; }
.info-block h3 { color: var(--primary); margin:0 0 8px; }
.qr { width:100%; min-height:240px; background-color:#F6F7F9; background-image:url('icons/Contact-W.png'); background-position:center; background-size:contain; background-repeat:no-repeat; border:1px dashed #c6ccd8; border-radius:8px; display:flex; align-items:center; justify-content:center; color:#5b6780; }

/* Responsiveness */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .products-grid { grid-template-columns: repeat(3, 1fr); }
  .partner-detail { grid-template-columns: 1fr; }
  .partners-grid { grid-template-columns: 1fr; }
  .about-media { grid-template-columns: 1fr; }
  .fc-grid { grid-template-columns: 1fr; }
  .fc-card { flex-direction: column; text-align:left; padding:18px; }
  .fc-image { flex:none; width:90%; margin-bottom:18px; }
  .fc-content { width:100%; }
  .pfc-grid { grid-template-columns: 1fr; }
  .pfc-card { flex-direction: column; text-align:left; padding:18px; gap:16px;}
  .pfc-image { flex:none; width:90%; margin-bottom:18px; }
  .pfc-content { width:100%; }
  .fc-block { grid-template-columns: 1fr; }
  .footer .wrap { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
  .application-images { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .nav { flex-wrap: wrap; gap: 10px; }
  .nav-links { flex-wrap: wrap; gap: 10px; }
  .section { padding: 40px 16px; }
  .grid-4 { grid-template-columns: 1fr; }
  
  .services-grid { grid-template-columns: 1fr; }
  .partner-image { height:220px; }
  .about-image { height:260px; }
  .card-thumb { height:180px; }
  
  .footer .wrap { grid-template-columns: 1fr; }
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 16px; }
  .contact-grid { grid-template-columns: 1fr; }
  .category-block { grid-template-columns: 1fr; }
  .category-block .image img { height:220px; }
  .ms-block { grid-template-columns: 1fr; }
  .ms-block .image img { height:220px; }
  .ei-block { grid-template-columns: 1fr; }
  .ei-block .image img { height:220px; }
  
  .application-images { grid-template-columns: 1fr; }
  .application-images img { height:220px; }
  .fc-grid { grid-template-columns: 1fr; }
  
  .products-tabs { overflow-x:auto; flex-wrap: nowrap; padding-bottom:10px; }
}