/*
 * AI 原生方案栏目样式。
 *
 * 配色取自站点自身：底 #050505、字 #e1e1e3、强调色 #6DBC4C（页脚那支绿）。
 * 字体 MiSans 由页头模板的 @font-face 提供，全站都已加载，这里直接引用。
 *
 * ⚠ 页头是 position:fixed 的浮动条（#airobo-header-space-v2，顶到 16px、约 64px 高），
 *   所以每页首屏都要留出 .ain 的 padding-top，否则标题会被压在页头底下。
 */

/* 页面本身的底色也要压黑：我们的容器与 Elementor 页脚之间有一条缝，
   body 是白底，缝里就会漏出一条白带（第一版线上就是这样）。 */
body.airobo-ain { background: #050505; }

.ain {
  --ain-bg: #050505;
  --ain-bg-soft: #0c0c0e;
  --ain-fg: #e1e1e3;
  --ain-muted: #aaaab0;
  --ain-dim: #56565c;
  --ain-green: #6dbc4c;
  --ain-line: rgba(255, 255, 255, 0.12);
  --ain-line-soft: rgba(255, 255, 255, 0.06);
  --ain-pad: clamp(22px, 7vw, 104px);

  background: var(--ain-bg);
  color: var(--ain-fg);
  font-family: "MiSans", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.ain *,
.ain *::before,
.ain *::after { box-sizing: border-box; }

.ain a { color: inherit; text-decoration: none; }
/* 主题 hello-elementor 有全站 a:hover { color: #336 }，和上面那条同权重、又后加载，
   卡片整块是 <a>，一悬浮标题就变深蓝。这里抬高权重压住；要变色的（面包屑、分类）在后面单独写。 */
.ain a:hover, .ain a:focus, .ain a:active { color: inherit; }
.ain img { max-width: 100%; display: block; }
.ain h1, .ain h2, .ain h3, .ain h4 { margin: 0; font-weight: 400; letter-spacing: -0.02em; }
.ain p { margin: 0; }

/* —— 通用零件 —— */

.ain-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 2.4px;
  color: var(--ain-green);
  text-transform: uppercase;
}
.ain-eyebrow span { width: 34px; height: 2px; background: var(--ain-green); }

.ain-hero {
  padding: calc(var(--ain-pad) + 74px) var(--ain-pad) var(--ain-pad);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--ain-line-soft);
}
/* 每一块上下各留一整份页边距（约 104px），两块挨着就叠成 200px 出头、中间只有一条暗线，像页面断了一截。
   分隔线两边各收一半，线还在：标题区与下面第一块；正文块与正文块（服务页「为什么选择 → 服务模块」、
   服务网络「网点 → 覆盖城市」）。维修保养下面的 .ain-cover 底色 #08080a 与页面几乎分不出，一样算正文块 */
.ain .ain-hero { padding-bottom: clamp(28px, 4vw, 56px); }
.ain .ain-hero + * { padding-top: clamp(28px, 3.5vw, 48px); }
.ain .ain-sec:has(+ .ain-sec), .ain .ain-sec:has(+ .ain-coverage) { padding-bottom: clamp(28px, 4vw, 56px); }
.ain .ain-sec + .ain-sec, .ain .ain-sec + .ain-coverage { padding-top: clamp(28px, 3.5vw, 48px); }
.ain-hero h1 {
  font-size: clamp(38px, 5.6vw, 72px);
  line-height: 1.08;
  margin: 20px 0 16px;
}
.ain-hero > div:first-child { max-width: 760px; }
.ain-hero p { color: var(--ain-muted); font-size: 15px; line-height: 1.95; max-width: 660px; }

.ain-count { text-align: right; white-space: nowrap; }
.ain-count b { display: block; font-size: clamp(40px, 5vw, 64px); font-weight: 400; line-height: 1; color: #fff; }
.ain-count span { font-size: 12px; color: var(--ain-dim); letter-spacing: 1px; }

.ain-sec { padding: var(--ain-pad); }
.ain-note { margin-top: 26px; color: var(--ain-dim); font-size: 12px; line-height: 1.9; }

.ain-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; flex-wrap: wrap; }
.ain-head h2 { font-size: clamp(26px, 3vw, 38px); }
.ain-head span.ain-en { font-size: 11px; letter-spacing: 2.4px; color: var(--ain-green); display: block; margin-bottom: 10px; }
.ain-head .ain-head-meta { font-size: 12px; color: var(--ain-dim); }
.ain-lead { color: var(--ain-muted); font-size: 15px; line-height: 1.95; max-width: 860px; }
/* 下边距要带 .ain 前缀：.ain p { margin: 0 } 权重更高，单写类名时这 30px 从没生效，引导语贴着下面的卡片 */
.ain .ain-lead { margin-bottom: 30px; }
.ain-lead strong { color: #fff; font-weight: 400; }

/* —— 总览三个入口 —— */

.ain-entries { padding: var(--ain-pad); display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ain-entry {
  display: flex;
  flex-direction: column;
  padding: 32px 30px 26px;
  border: 1px solid var(--ain-line);
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012));
  transition: border-color 0.25s, transform 0.25s, background 0.25s;
}
.ain-entry:hover { border-color: var(--ain-green); transform: translateY(-4px); background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.012)); }
.ain-entry i { font-style: normal; font-size: 12px; letter-spacing: 2px; color: var(--ain-green); }
.ain-entry h2 { margin: 16px 0 12px; font-size: 24px; }
.ain-entry p { color: var(--ain-muted); font-size: 13px; line-height: 1.9; }
.ain-entry-foot { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--ain-line-soft); display: flex; align-items: center; justify-content: space-between; }
.ain-entry-foot em { font-style: normal; font-size: 12px; color: var(--ain-dim); }
.ain-entry-foot b { font-weight: 400; font-size: 13px; color: var(--ain-green); }

/* —— 商城 —— */

.ain-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.ain-cats a { padding: 9px 16px; font-size: 13px; color: var(--ain-muted); border: 1px solid var(--ain-line); transition: 0.2s; }
.ain-cats a i { font-style: normal; margin-left: 8px; font-size: 11px; color: var(--ain-dim); }
.ain-cats a:hover { border-color: var(--ain-green); color: #fff; }
.ain-cats a.on { background: rgba(255, 255, 255, 0.07); border-color: var(--ain-green); color: #fff; }
.ain-cats a.on i { color: var(--ain-green); }

.ain-goods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ain-goods-item {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--ain-line);
  background: var(--ain-bg-soft);
  transition: transform 0.25s, border-color 0.25s;
}
.ain-goods-item:hover { transform: translateY(-4px); border-color: var(--ain-green); }
.ain-goods-item:focus-visible { outline: 2px solid var(--ain-green); outline-offset: 3px; }

.ain-shot { position: relative; aspect-ratio: 4 / 3; background: #101014; display: grid; place-items: center; overflow: hidden; }
.ain-shot::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 34px 34px;
}
/* 商品图完整放进 4:3 框里，不裁。原先 cover + 百分比高度在网格里撑破了框，竖长的机器人只露出中间一段、
   横宽的车被切两头。商品图基本是白底，有图的框就铺白底，图和框连成一片，不出黑边 */
.ain-shot:has(img) { background: #fff; }
.ain-shot:has(img)::before { display: none; }
.ain-shot img { position: absolute; inset: 0; z-index: 1; box-sizing: border-box; width: 100%; height: 100%; padding: clamp(10px, 5%, 22px); object-fit: contain; }
.ain-shot > i { position: relative; z-index: 1; font-style: normal; font-size: clamp(20px, 2.4vw, 30px); letter-spacing: 2px; color: rgba(255,255,255,0.55); }
.ain-shot-badges { position: absolute; z-index: 2; left: 12px; bottom: 12px; display: flex; gap: 8px; }
.ain-shot-badges span,
.ain-shot-badges button {
  padding: 5px 10px;
  font: inherit;
  font-size: 11px;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
  cursor: inherit;
}
.ain-shot-badges button { cursor: pointer; }
.ain-shot-video { border-color: var(--ain-green) !important; color: var(--ain-green) !important; }

.ain-goods-body { flex: 1; display: flex; flex-direction: column; padding: 20px 22px 22px; }
.ain-goods-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ain-goods-head b { font-weight: 400; font-size: 18px; color: #fff; }
.ain-goods-head em { font-style: normal; font-size: 12px; letter-spacing: 1px; color: var(--ain-dim); }
.ain-brand { margin-top: 10px; font-size: 12px; color: var(--ain-dim); }
.ain-brand strong { color: var(--ain-green); font-weight: 400; margin-left: 4px; }
.ain-goods-body > p { margin-top: 12px; color: var(--ain-muted); font-size: 13px; line-height: 1.85; }

.ain-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.ain-tags span { padding: 5px 10px; font-size: 11px; color: var(--ain-muted); background: rgba(255,255,255,0.06); }

.ain-specs { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--ain-line-soft); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px 16px; }
.ain-specs div { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.ain-specs dt { color: var(--ain-dim); }
.ain-specs dd { margin: 0; min-width: 0; color: var(--ain-fg); text-align: right; overflow-wrap: anywhere; }

.ain-price { margin-top: auto; padding-top: 18px; display: flex; gap: 26px; }
.ain-price small { display: block; color: var(--ain-dim); font-size: 11px; }
.ain-price b { display: block; margin-top: 5px; font-weight: 400; font-size: 17px; color: #fff; }
.ain-price .ain-rent { color: var(--ain-green); }

.ain-goods-more { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ain-line-soft); display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--ain-muted); }
.ain-goods-more i { font-style: normal; color: var(--ain-green); transition: transform 0.25s; }
.ain-goods-item:hover .ain-goods-more { color: #fff; }
.ain-goods-item:hover .ain-goods-more i { transform: translateX(4px); }

/* —— 服务：总述 / 总原则 / 收费结构 —— */

.ain-standard { border-bottom: 1px solid var(--ain-line-soft); }
.ain-standard-intro { max-width: 920px; display: grid; gap: 18px; }
.ain-standard-intro p { color: var(--ain-muted); font-size: 15px; line-height: 2; }
.ain-standard-intro p:first-child { color: var(--ain-fg); }
.ain-standard-block { margin-top: clamp(44px, 6vw, 72px); }
.ain-standard-block:first-child { margin-top: 0; }

.ain-principles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; }
.ain-principles li { display: flex; gap: 18px; padding: 20px 0; border-top: 1px solid var(--ain-line); }
.ain-principles i { flex: none; font-style: normal; font-size: 12px; letter-spacing: 2px; color: var(--ain-green); padding-top: 3px; }
.ain-principles p { color: var(--ain-muted); font-size: 14px; line-height: 1.95; }
.ain-principles b { display: block; font-weight: 400; font-size: 16px; color: #fff; margin-bottom: 6px; }

.ain-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.ain-pricing article { padding: 24px 26px; border: 1px solid var(--ain-line); background: var(--ain-bg-soft); }
.ain-pricing b { display: block; font-weight: 400; font-size: 15px; color: #fff; margin-bottom: 10px; }
.ain-pricing p { color: var(--ain-muted); font-size: 13px; line-height: 1.9; }

/* —— 服务模块列表 —— */

.ain-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ain-service-card { display: flex; flex-direction: column; padding: 28px 26px 22px; border: 1px solid var(--ain-line); background: var(--ain-bg-soft); transition: transform 0.25s, border-color 0.25s; }
.ain-service-card:hover { transform: translateY(-4px); border-color: var(--ain-green); }
.ain-service-card:focus-visible { outline: 2px solid var(--ain-green); outline-offset: 3px; }
.ain-service-card > i { font-style: normal; font-size: 12px; letter-spacing: 2px; color: var(--ain-green); }
.ain-service-card h3 { margin: 14px 0 10px; font-size: 19px; color: #fff; }
.ain-service-card > p { color: var(--ain-muted); font-size: 13px; line-height: 1.9; }
.ain-service-more { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--ain-muted); }
.ain-service-card .ain-tags + .ain-service-more { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--ain-line-soft); }
.ain-service-more b { font-weight: 400; color: var(--ain-green); transition: transform 0.25s; }
.ain-service-card:hover .ain-service-more { color: #fff; }
.ain-service-card:hover .ain-service-more b { transform: translateX(4px); }

/* —— 服务详情 —— */

.ain-service-head { padding: 34px var(--ain-pad) clamp(34px, 4vw, 52px); max-width: calc(900px + 2 * var(--ain-pad)); }
.ain-service-head h1 { font-size: clamp(32px, 4.2vw, 56px); line-height: 1.12; margin: 18px 0 16px; color: #fff; }
.ain-service-head > p { color: var(--ain-muted); font-size: 15px; line-height: 1.95; }

.ain-shift { margin: 0 var(--ain-pad) clamp(40px, 5vw, 64px); display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ain-line); }
.ain-shift article { padding: 28px 30px; }
.ain-shift article + article { border-left: 1px solid var(--ain-line); }
.ain-shift b { display: block; font-weight: 400; font-size: 12px; letter-spacing: 2px; margin-bottom: 12px; color: var(--ain-dim); }
.ain-shift .ain-shift-to b { color: var(--ain-green); }
.ain-shift p { color: var(--ain-muted); font-size: 14px; line-height: 1.95; }
.ain-shift .ain-shift-to p { color: var(--ain-fg); }
.ain .ain-shift p + p { margin-top: 6px; }
.ain .ain-shift p + p.ain-subhead { margin-top: 16px; }
.ain-shift p.ain-subhead { color: var(--ain-fg); font-size: 13px; }
.ain-shift .ain-shift-to p.ain-subhead { color: #fff; }

/* 服务详情单列：收益与底部两块同为带框的 1fr 1fr，中缝与上面 .ain-shift 的分隔线一条线 */
.ain-svc-body { padding: 0 var(--ain-pad) var(--ain-pad); }
.ain .ain-svc-body h2 { font-size: 20px; margin-bottom: 18px; color: #fff; }
.ain .ain-svc-body .ain-includes + h2, .ain .ain-svc-body .ain-items + h2 { margin-top: 44px; }
.ain-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ain-line); border: 1px solid var(--ain-line); }
.ain-benefits article { padding: 24px 30px; background: var(--ain-bg); }
.ain-benefits article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ain-benefits b { display: block; font-weight: 400; font-size: 15px; color: #fff; margin-bottom: 8px; }
.ain-benefits b::before { content: "✓"; margin-right: 8px; color: var(--ain-green); }
.ain-benefits p { color: var(--ain-muted); font-size: 14px; line-height: 1.9; }
.ain .ain-benefit-note { margin-top: 14px; color: var(--ain-dim); font-size: 12px; line-height: 1.9; }
.ain .ain-svc-foot { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ain-line); border: 1px solid var(--ain-line); }
.ain-svc-foot > * { padding: 28px 30px; background: var(--ain-bg-soft); }
.ain-svc-foot > :only-child { grid-column: 1 / -1; }
/* 两块的标签同一个样式：绿色短线 + 字距拉开的小字，左右对称 */
.ain-scene b, .ain-start b { display: flex; align-items: center; gap: 10px; font-weight: 400; font-size: 12px; letter-spacing: 2px; margin-bottom: 14px; color: var(--ain-green); }
.ain-scene b::before, .ain-start b::before { content: ""; width: 24px; height: 1px; background: var(--ain-green); }
.ain-scene p { color: var(--ain-fg); font-size: 15px; line-height: 1.95; }
.ain .ain-scene p + p { margin-top: 8px; }
/* 怎么开始：主句 → 底部行动区（按钮 + 联系方式）→ 返回列表 */
.ain-start { display: flex; flex-direction: column; }
.ain .ain-start-lead { color: #fff; font-size: 16px; line-height: 1.9; }
.ain .ain-start-actions { margin-top: auto; padding-top: 26px; display: flex; align-items: center; flex-wrap: wrap; gap: 14px 26px; }
.ain .ain-start-btn { min-width: 170px; padding: 14px 18px; border: 1px solid var(--ain-green); color: #fff; display: flex; justify-content: space-between; gap: 18px; font-size: 13px; transition: background 0.2s; }
.ain .ain-start-btn:hover { background: rgba(109, 188, 76, 0.14); color: #fff; }
.ain-start-btn span { color: var(--ain-green); }
.ain .ain-start-contact { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.ain-start-contact small { font-size: 11px; letter-spacing: 1px; color: var(--ain-dim); }
.ain .ain-start-contact a { color: var(--ain-fg); }
.ain .ain-start-contact a:hover { color: var(--ain-green); }
.ain .ain-start-back { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--ain-line-soft); font-size: 12px; color: var(--ain-dim); transition: color 0.2s; }
.ain .ain-start-back:hover { color: var(--ain-green); }

.ain-includes { display: flex; flex-wrap: wrap; gap: 8px; }
.ain-includes span { padding: 7px 12px; font-size: 13px; color: var(--ain-fg); border: 1px solid var(--ain-line); }
/* 下面两条要带父级：.ain h2 / .ain p 的 margin:0 权重更高，单写类名压不住 */
.ain-detail-main .ain-items-title { margin-top: 44px; }
.ain-detail-main .ain-note, .ain-services .ain-note { margin-top: 26px; }
.ain-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.ain-items article { padding: 20px 22px; border: 1px solid var(--ain-line); background: var(--ain-bg-soft); }
.ain-item-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ain-item-head b { font-weight: 400; font-size: 15px; color: #fff; }
.ain-tier { flex: none; font-style: normal; font-size: 11px; letter-spacing: 1px; padding: 2px 8px; color: var(--ain-green); border: 1px solid rgba(109, 188, 76, 0.45); }
.ain-items article > p { margin-top: 10px; color: var(--ain-muted); font-size: 13px; line-height: 1.85; }
.ain-items dl { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--ain-line-soft); display: grid; gap: 6px; }
.ain-items dl div { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; }
.ain-items dt { flex: none; color: var(--ain-dim); }
.ain-items dd { margin: 0; color: var(--ain-fg); text-align: right; }
.ain-items .ain-item-price { color: #fff; }

.ain-pager { margin: 0 var(--ain-pad) var(--ain-pad); display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ain-pager a { display: block; padding: 20px 24px; border: 1px solid var(--ain-line); transition: border-color 0.2s; }
.ain-pager a:hover { border-color: var(--ain-green); }
.ain-pager small { display: block; font-size: 11px; letter-spacing: 1px; color: var(--ain-dim); }
.ain-pager b { display: block; margin-top: 6px; font-weight: 400; font-size: 15px; color: #fff; }
.ain-pager-next { text-align: right; }

.ain-eco { margin-top: 34px; padding: 26px 28px; border: 1px solid var(--ain-line); background: rgba(255,255,255,0.02); }
.ain-eco > b { font-weight: 400; font-size: 13px; letter-spacing: 1px; color: var(--ain-green); }
.ain-eco > div { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 12px; }
.ain-eco > div span { padding: 6px 12px; font-size: 12px; color: var(--ain-fg); border: 1px solid var(--ain-line); }
.ain-eco small { color: var(--ain-dim); font-size: 12px; line-height: 1.8; }

/* —— 覆盖服务城市地图 ——
   构图照 cdra：地图当背景铺满一屏，内容压左边（对应中国西部的留白），发光的东部完全露出来。
   配色照 airobo.run 自己：黑底、白色发丝线省界，品牌绿只落在城市光点和小字上。 */

.ain-cover {
  position: relative; overflow: hidden; display: flex; align-items: center;
  min-height: min(86vh, 720px); padding: 6vw var(--ain-pad);
  background: radial-gradient(110% 90% at 72% 42%, #111413 0%, #08080a 55%, #050505 100%);
  border-top: 1px solid var(--ain-line-soft);
}
.ain-cover-bg { position: absolute; inset: 0; display: grid; place-items: center; }
/* 高度留 8% 余量：按高度撑满的话，黑龙江顶和海南贴死上下沿，三亚的光晕被切掉一半 */
.ain-cover-bg svg { width: 104%; height: 92%; transform: translateX(13%); }
/* 左侧压暗保证文字可读；右侧全透明，点的光不被削 */
.ain-cover-veil {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #050505 0%, rgba(5,5,5,0.94) 26%, rgba(5,5,5,0.5) 46%, rgba(5,5,5,0) 68%);
}
.ain-cover-land path { fill: rgba(255,255,255,0.035); stroke: rgba(255,255,255,0.14); stroke-width: 0.8; }
.ain-cover-dash path { fill: none; stroke: rgba(255,255,255,0.42); stroke-width: 3; stroke-linecap: round; }

/* 呼吸灯：外圈光晕 + 内芯。谷底不灭 —— 动画截图只截到随机一帧，灭掉的点那一帧就是缺的 */
.ain-cover-halo circle { fill: var(--ain-green); fill-opacity: 0.16; animation: ain-cover-halo 4.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ain-cover-core circle { fill: #9fe07f; animation: ain-cover-core 4.6s ease-in-out infinite; }
@keyframes ain-cover-halo {
  0%, 100% { transform: scale(0.55); fill-opacity: 0.1; }
  50%      { transform: scale(1);    fill-opacity: 0.32; }
}
@keyframes ain-cover-core {
  0%, 100% { fill-opacity: 0.45; }
  50%      { fill-opacity: 1; }
}
.ain-cover-halo .b0, .ain-cover-core .b0 { animation-delay: 0s; }
.ain-cover-halo .b1, .ain-cover-core .b1 { animation-delay: 0.42s; }
.ain-cover-halo .b2, .ain-cover-core .b2 { animation-delay: 0.84s; }
.ain-cover-halo .b3, .ain-cover-core .b3 { animation-delay: 1.26s; }
.ain-cover-halo .b4, .ain-cover-core .b4 { animation-delay: 1.68s; }
.ain-cover-halo .b5, .ain-cover-core .b5 { animation-delay: 2.1s; }
.ain-cover-halo .b6, .ain-cover-core .b6 { animation-delay: 2.52s; }
.ain-cover-halo .b7, .ain-cover-core .b7 { animation-delay: 2.94s; }
.ain-cover-halo .b8, .ain-cover-core .b8 { animation-delay: 3.36s; }
.ain-cover-halo .b9, .ain-cover-core .b9 { animation-delay: 3.78s; }
.ain-cover-halo .b10, .ain-cover-core .b10 { animation-delay: 4.2s; }
.ain-cover-halo .b11, .ain-cover-core .b11 { animation-delay: 4.62s; }
@media (prefers-reduced-motion: reduce) {
  .ain-cover-halo circle, .ain-cover-core circle { animation: none; }
  .ain-cover-halo circle { fill-opacity: 0.22; }
  .ain-cover-core circle { fill-opacity: 1; }
}

.ain-cover-content { position: relative; z-index: 2; max-width: 520px; }
.ain-cover-content h2 { margin: 18px 0 14px; font-size: clamp(28px, 3.4vw, 44px); color: #fff; }
.ain-cover-lead { color: var(--ain-muted); font-size: 14px; line-height: 1.95; }
.ain-cover-stats { display: flex; flex-wrap: wrap; gap: 20px 40px; margin: 28px 0 24px; padding-top: 24px; border-top: 1px solid var(--ain-line); }
.ain-cover-stats b { display: block; font-size: clamp(34px, 4vw, 52px); font-weight: 400; line-height: 1; color: #fff; }
.ain-cover-stats span { display: block; margin-top: 8px; font-size: 12px; color: var(--ain-dim); }
.ain-cover-legend { display: flex; flex-wrap: wrap; gap: 8px; }
.ain-cover-legend span { padding: 6px 12px; font-size: 12px; color: var(--ain-muted); border: 1px solid var(--ain-line); background: rgba(5,5,5,0.5); }
.ain-cover-legend i { font-style: normal; margin-left: 7px; font-size: 11px; color: var(--ain-green); }
.ain-cover-legend .more { border-color: transparent; background: none; color: var(--ain-dim); padding-left: 2px; }
.ain-cover-actions { margin-top: 30px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ain-cover-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-width: 240px; padding: 15px 20px; font-size: 13px; color: #fff; border: 1px solid var(--ain-green); background: rgba(5,5,5,0.5); transition: 0.2s; }
.ain-cover-cta span { color: var(--ain-green); }
.ain-cover-cta:hover { background: rgba(109, 188, 76, 0.14); }
.ain-cover-contact { font-size: 13px; color: var(--ain-muted); }
.ain-cover-contact > span { margin-left: 10px; }
.ain-cover-contact a { color: var(--ain-green); }
/* 联系方式一行里邮箱与电话之间的间隔点 */
.ain-contact-sep { margin: 0 8px; color: var(--ain-dim); }

.ain-cover-inset { position: absolute; z-index: 2; right: 3vw; bottom: 5%; width: 76px; padding: 5px 5px 1px; border: 1px solid var(--ain-line); background: rgba(5,5,5,0.7); }
.ain-cover-inset svg { display: block; width: 100%; height: auto; }
.ain-cover-inset span { display: block; padding: 2px 0 1px; text-align: center; font-size: 9px; letter-spacing: 0.5px; color: var(--ain-dim); }

/* —— 服务网点与覆盖城市 —— */

.ain-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ain-points article { padding: 22px 24px; border: 1px solid var(--ain-line); background: var(--ain-bg-soft); }
.ain-point-head { display: flex; align-items: baseline; gap: 10px; }
.ain-point-head b { font-weight: 400; font-size: 17px; color: #fff; }
.ain-point-head span { font-size: 12px; color: var(--ain-green); }
.ain-point-addr { margin-top: 10px; font-size: 13px; color: var(--ain-muted); line-height: 1.8; }
.ain-point-scope { margin-top: 8px; font-size: 12px; color: var(--ain-dim); }

.ain-coverage { padding: var(--ain-pad); background: #0a0a0c; border-top: 1px solid var(--ain-line-soft); }
.ain-coverage-body { columns: 3; column-gap: 40px; margin-top: 10px; }
.ain-coverage-body section { break-inside: avoid; margin-bottom: 20px; }
.ain-coverage-body h4 { margin: 0 0 7px; font-size: 14px; color: #fff; display: flex; align-items: baseline; gap: 8px; }
.ain-coverage-body h4 em { font-style: normal; font-size: 11px; color: var(--ain-green); }
.ain-coverage-body p { color: var(--ain-muted); font-size: 13px; line-height: 1.95; }
/* 一个城市多个服务站点时的小数字（右上角） */
.ain-coverage-body sup { margin-left: 1px; font-size: 10px; line-height: 0; color: var(--ain-green); }
.ain .ain-coverage-note { margin: -6px 0 22px; color: var(--ain-dim); font-size: 12px; }
/* 城市名连同右上角数字整体换行 */
.ain-cov-city { white-space: nowrap; }
.ain-foot-links { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px 30px; font-size: 13px; color: var(--ain-muted); }
.ain-foot-links a { color: var(--ain-green); }

/* —— 商品详情 —— */

.ain-crumb { padding: calc(var(--ain-pad) + 74px) var(--ain-pad) 0; display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--ain-dim); }
.ain-crumb a:hover { color: var(--ain-green); }
.ain-crumb b { font-weight: 400; color: var(--ain-fg); }

.ain-detail-top { padding: 34px var(--ain-pad) var(--ain-pad); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; }
.ain-shot-lg { aspect-ratio: 4 / 3; }
/* 图片改成绝对定位后按钮失去了撑开它的内容，缩成一根细条、焦点框从图上下露出来 —— 按钮也铺满整个框 */
.ain-shot-open { position: absolute; inset: 0; z-index: 1; padding: 0; border: 0; background: none; width: 100%; height: 100%; cursor: zoom-in; }
.ain-shot-open:focus:not(:focus-visible) { outline: none; }
.ain-thumbs { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.ain-thumbs button { width: 74px; height: 58px; padding: 0; border: 1px solid var(--ain-line); background: #101014; cursor: pointer; overflow: hidden; }
.ain-thumbs button:hover { border-color: var(--ain-green); }
.ain-thumbs button:has(img) { background: #fff; }
.ain-thumbs img { width: 100%; height: 100%; padding: 3px; box-sizing: border-box; object-fit: contain; }
.ain-thumbs .is-video { display: grid; place-items: center; color: var(--ain-green); font-size: 16px; }

.ain-detail-info h1 { font-size: clamp(30px, 3.6vw, 46px); margin: 14px 0 14px; }
.ain-detail-meta { display: flex; gap: 26px; font-size: 12px; color: var(--ain-dim); }
.ain-detail-meta b { font-weight: 400; color: var(--ain-fg); margin-left: 6px; }
.ain-detail-summary { margin-top: 18px; color: var(--ain-muted); font-size: 14px; line-height: 1.95; }
.ain-detail-price { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--ain-line-soft); }
.ain-detail-actions { margin-top: 28px; display: flex; gap: 12px; flex-wrap: wrap; }
.ain-detail-actions a { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; min-width: 200px; padding: 15px 20px; font-size: 13px; border: 1px solid var(--ain-line); transition: 0.2s; }
.ain-detail-actions .primary { border-color: var(--ain-green); color: #fff; }
.ain-detail-actions .primary span { color: var(--ain-green); }
.ain-detail-actions .primary:hover { background: rgba(109, 188, 76, 0.14); }
.ain-detail-actions .secondary:hover { border-color: var(--ain-green); color: #fff; }

.ain-detail-body { padding: 0 var(--ain-pad) var(--ain-pad); display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 48px; }
.ain-detail-body h2 { font-size: 20px; margin-bottom: 18px; color: #fff; }
.ain-spec-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ain-spec-table th, .ain-spec-table td { padding: 13px 4px; border-bottom: 1px solid var(--ain-line-soft); text-align: left; font-weight: 400; }
.ain-spec-table th { width: 34%; color: var(--ain-dim); }
.ain-detail-text { margin-top: 34px; color: var(--ain-muted); font-size: 14px; line-height: 2; white-space: pre-wrap; }
.ain-detail-side aside { padding: 24px 26px; border: 1px solid var(--ain-line); background: var(--ain-bg-soft); }
.ain-detail-side b { display: block; font-weight: 400; font-size: 15px; color: #fff; margin-bottom: 12px; }
.ain-detail-side p { color: var(--ain-muted); font-size: 13px; line-height: 1.9; }
.ain-detail-side a { color: var(--ain-green); }

/* —— 灯箱 —— */

.ain-lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,0.92); display: grid; place-items: center; padding: 40px; }
.ain-lightbox[hidden] { display: none; }
.ain-lightbox figure { margin: 0; max-width: min(1100px, 92vw); }
.ain-lightbox img, .ain-lightbox video { max-height: 78vh; width: auto; margin: 0 auto; }
.ain-lightbox figcaption { margin-top: 14px; display: flex; justify-content: space-between; gap: 20px; font-size: 13px; color: var(--ain-muted); }
.ain-lb-close, .ain-lb-nav { position: absolute; border: 1px solid var(--ain-line); background: rgba(0,0,0,0.5); color: #fff; width: 44px; height: 44px; font-size: 17px; cursor: pointer; }
.ain-lb-close { top: 26px; right: 26px; }
.ain-lb-nav { top: 50%; transform: translateY(-50%); }
.ain-lb-prev { left: 26px; }
.ain-lb-next { right: 26px; }
.ain-lb-close:hover, .ain-lb-nav:hover { border-color: var(--ain-green); color: var(--ain-green); }

/* 主题 hello-elementor 的全站按钮样式：[type=button] 品红边框 #c36、3px 圆角、.5rem 1rem 内边距、1rem 字号，
   悬浮/聚焦时底色变品红。和上面这些类名同权重又后加载，会盖掉插件的写法。这里加 .ain 前缀逐个压回去 */
.ain .ain-shot-open, .ain .ain-shot-open:hover, .ain .ain-shot-open:focus { border: 0; border-radius: 0; background: none; }
.ain .ain-shot-badges button { border-radius: 0; }
.ain .ain-shot-badges button:hover, .ain .ain-shot-badges button:focus { background: rgba(0,0,0,0.45); color: #fff; }
.ain .ain-thumbs button { border-radius: 0; }
.ain .ain-thumbs button:hover, .ain .ain-thumbs button:focus { background: #101014; }
.ain .ain-thumbs button:has(img):hover, .ain .ain-thumbs button:has(img):focus { background: #fff; }
.ain .ain-lb-close, .ain .ain-lb-nav { padding: 0; border: 1px solid var(--ain-line); border-radius: 0; background: rgba(0,0,0,0.5); color: #fff; font-size: 17px; }
.ain .ain-lb-close:hover, .ain .ain-lb-nav:hover { border-color: var(--ain-green); color: var(--ain-green); }
.ain .ain-lb-close:hover, .ain .ain-lb-nav:hover, .ain .ain-lb-close:focus, .ain .ain-lb-nav:focus { background: rgba(0,0,0,0.5); }

/* —— 页尾横幅 —— */

/* 站点的绿只用在细线、小字和小圆标上，从不铺整块 ——
   这里是深色面板 + 发丝描边，绿留给小标题和箭头 */
.ain-cta { margin: 0 var(--ain-pad) var(--ain-pad); padding: clamp(30px, 5vw, 68px); background: var(--ain-bg-soft); border: 1px solid var(--ain-line); display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; position: relative; overflow: hidden; }
.ain-cta::after { content: "AIROBO"; position: absolute; right: -1vw; top: -3vw; font-size: 13vw; line-height: 1; color: rgba(255,255,255,0.028); letter-spacing: -0.04em; }
.ain-cta span.ain-en { font-size: 11px; letter-spacing: 2.4px; color: var(--ain-green); }
.ain-cta h2 { margin: 14px 0 12px; font-size: clamp(24px, 3vw, 40px); color: #fff; }
.ain-cta p { color: var(--ain-muted); font-size: 14px; max-width: 620px; line-height: 1.9; }
.ain-cta > a { position: relative; z-index: 2; min-width: 210px; padding: 18px 20px; border: 1px solid var(--ain-green); color: #fff; display: flex; justify-content: space-between; font-size: 13px; transition: 0.2s; }
.ain-cta > a:hover { background: rgba(109, 188, 76, 0.14); }
.ain-cta > a span { color: var(--ain-green); }

/* —— 窄屏 —— */

@media (max-width: 1240px) {
  .ain-goods, .ain-service-grid, .ain-points, .ain-entries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ain-principles { grid-template-columns: 1fr; }
  .ain-detail-top, .ain-detail-body { grid-template-columns: 1fr; gap: 34px; }
  .ain-coverage-body { columns: 2; }
}

@media (max-width: 760px) {
  /* minmax(0, 1fr)：1fr 的下限是内容最小宽度，规格里 L580*W550*H1500 这种不断行的长串会把列撑出屏幕 */
  .ain-goods, .ain-service-grid, .ain-points, .ain-entries { grid-template-columns: minmax(0, 1fr); }
  .ain-coverage-body { columns: 1; }
  .ain-shift, .ain-items, .ain-pager, .ain-benefits, .ain .ain-svc-foot { grid-template-columns: 1fr; }
  .ain-shift article + article { border-left: 0; border-top: 1px solid var(--ain-line); }
  .ain-hero { align-items: flex-start; }
  .ain-count { text-align: left; }
  .ain-cover { min-height: 0; padding: 72px 22px 80px; align-items: stretch; }
  .ain-cover-bg svg { width: 168%; height: auto; transform: translate(6%, 6%); }
  .ain-cover-veil { background: linear-gradient(180deg, #050505 0%, rgba(5,5,5,0.86) 32%, rgba(5,5,5,0.55) 62%, rgba(5,5,5,0.9) 100%); }
  .ain-cover-content { max-width: none; }
  .ain-cover-inset { right: 16px; bottom: 16px; width: 58px; }
  .ain-cover-cta { width: 100%; }
  .ain-cover-stats { gap: 34px; }
}
