/* ===== 海上光伏：第一屏左右结构 ===== */
.offshore-hero { padding: 50px 0; }

/* 固定内容区最大宽度 1140px，保留两侧 15px 呼吸 */
.container-1140 { max-width: 1140px; margin: 0 auto; padding: 0 15px; }

/* 让左右列在桌面端垂直居中 */
.row-middle { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

/* 标题与正文节奏，保持与站点调性一致 */
.innovation-title { font-size: 28px; line-height: 1.4; color: #333; margin: 0 0 18px; }
.innovation-lead  { font-size: 14px; line-height: 1.9; color: #555; margin: 6px 0 12px; }

/* 绿色小对勾列表（复用项目 iconfont） */
.icon-list { 
  list-style: disc inside;     /* 圆点在内部，不留左侧缩进 */
  margin: 8px 0 0;
  padding: 0;
}
.icon-list li {
  line-height: 1.9;
  color: #666;
  padding-left: 0;             /* 去掉为了对勾预留的左内边距 */
  text-indent: 0;              /* 确保首行不缩进 */
}
/* 清掉任何遗留伪元素，防止出现“汉堡”等图标 */
.icon-list::before,
.icon-list li::before { 
  content: none !important; 
}

/* 可选：把圆点颜色调成品牌绿（现代浏览器支持） */
.icon-list li::marker { color: #00A651; }

/* 图片容器 */
.innovation-media .media { margin: 0; }
.innovation-media img { width: 100%; height: auto; display: block; }

/* —— 响应式 —— */
@media (max-width: 991px) {           /* 平板及以下：上下堆叠 */
  .offshore-hero { padding: 20px 0; }
  .innovation-media { margin-top: 12px; }
  .innovation-title { font-size: 22px; }
  .innovation-lead  { font-size: 15px; }
}

/* ===== 设计挑战（3+2） ===== */
.offshore-features{
  padding: 50px 0;                      /* 灰底由 .bg-gray-bg 提供 */
  /* 可调参数 */
  --ico-size: 120px;                    /* 图标尺寸（桌面端） */
  --gap-title: 14px;                    /* 图标与标题间距 */
  --gap-desc: 6px;                      /* 标题与描述间距 */
}

.offshore-features .features-title{
  font-size: 28px; line-height: 1.6; color:#333; margin: 0 0 55px;
}

/* 行布局 */
.offshore-features .feature-row{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap: 0;                               /* 用 border-right 画竖线，gap 设 0 */
  margin: 10px 0 0;
}
.offshore-features .feature-row + .feature-row{ margin-top: 48px; }

/* 第一行 3 列、第二行 2 列（居中） */
.offshore-features .feature-row.three .feature-item{ flex: 1 1 0; }
.offshore-features .feature-row.two{ justify-content: center; }
.offshore-features .feature-row.two .feature-item{
  flex: 0 1 40%;
  max-width: 420px;
}

/* 卡片与竖线分隔 */
.offshore-features .feature-item{
  text-align:center;
  padding: 0 24px 10px;
  border-right: 1px solid #e6e6e6;
}
.offshore-features .feature-row .feature-item:last-child{ border-right:none; }

/* 图标（悬停切换彩色版） */
.offshore-features .feature-ico{
  width: var(--ico-size);
  height: var(--ico-size);
  margin: 0 auto var(--gap-title);
  position: relative;
}
.offshore-features .feature-ico img{
  width: 100%; height: 100%; display: block;
  transition: opacity .25s ease, transform .25s ease;
}
.offshore-features .feature-ico img.hover{
  position: absolute; inset: 0; opacity: 0;
}
.offshore-features .feature-item:hover .feature-ico img.hover{ opacity: 1; transform: scale(1.04); }
.offshore-features .feature-item:hover .feature-ico img.default{ opacity: 0; }

/* 标题与描述 */
.offshore-features .feature-subtitle{
  font-size: 18px; line-height: 1.6; color:#333; margin: 0 0 var(--gap-desc);
}
.offshore-features .feature-desc{
  font-size: 14px; color:#666; line-height: 1.9;
  max-width: 420px; margin: 0 auto;
}

/* —— 移动端：改为纵向，竖线改为横线 —— */
@media (max-width: 991px){
  .offshore-features{
    padding: 30px 0;
    --ico-size: 96px;                   /* 缩小图标 */
    --gap-title: 10px;
    --gap-desc: 6px;
  }
  .offshore-features .features-title{ font-size:20px; margin-bottom:14px; }
  .offshore-features .feature-row{ display:block; }
  .offshore-features .feature-item{
    border-right:none; border-bottom: 1px solid #eee;
    padding: 16px 0 20px; margin: 0 10px;
  }
  .offshore-features .feature-row .feature-item:last-child{ border-bottom:none; }
}
@media (max-width: 480px){
  .offshore-features{ --ico-size: 80px; --gap-title: 8px; }
}

/* 无动画偏好：尊重系统设置 */
@media (prefers-reduced-motion: reduce){
  .offshore-features .feature-ico img{ transition: none; }
}

/* ===== 交错图文（左右结构） ===== */
.offshore-split{
  padding: 56px 0;               /* 默认白底 */
  --split-gap-desktop: 30px;     /* 桌面列间距（与 Bootstrap 30px 一致，左右各 15px） */
  --split-gap-mobile: 16px;      /* 移动端列间距 */
  background:#fff;
}

.offshore-split .split-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--split-gap-desktop);
}
.offshore-split .split-row + .split-row{ margin-top: 56px; }

/* 桌面：左右等宽 50/50（扣除列间距的一半），与首屏一致 */
@media (min-width: 992px){
  .offshore-split .split-row{ flex-wrap: nowrap; }

  .offshore-split .split-media,
  .offshore-split .split-content{
    flex: 0 0 calc(50% - var(--split-gap-desktop) / 2);
    max-width: calc(50% - var(--split-gap-desktop) / 2);
  }

  /* 第二行需要反向时加 reverse-lg */
  .offshore-split .split-row.reverse-lg{ flex-direction: row-reverse; }
}

.offshore-split .split-media img{
  width: 100%;
  height: auto;
  display: block;
}

.offshore-split .split-title{
  font-size: 28px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 12px;
}

/* 让段落铺满列宽；如果想恢复窄行长，可给该段落额外加 .narrow */
.offshore-split .split-content p{
  font-size: 14px;
  line-height: 1.9;
  color: #555;
  margin: 0 0 12px;
  max-width: none;
}
/* 可选：为个别段落恢复 56ch 行长限制 */
.offshore-split .split-content p.narrow{ max-width: 56ch; }

/* —— 移动端 —— */
@media (max-width: 991px){
  .offshore-split{ padding: 28px 0; }
  .offshore-split .split-row{ gap: var(--split-gap-mobile); }
  .offshore-split .split-title{ font-size: 20px; }
  .offshore-split .split-content p{ font-size: 15px; }
}

/* ===== 漂浮系统卡片（2 列） ===== */
.offshore-prods { padding: 50px 0px 60px 0px; }           /* 灰底由 .bg-gray-bg 提供 */
.offshore-prods .prods-title{
  text-align:center; font-size:28px; line-height:1.6; color:#333; margin:0 0 34px;
}

.offshore-prods .prods-grid{
  display:flex; flex-wrap:wrap; gap: 36px;
  justify-content:center; align-items:stretch;
}

/* 卡片本体：白底+轻投影（下方更明显） */
.offshore-prods .prod-card{
  background:#fff; border-radius: 12px;
  padding: 22px 22px 26px;
  flex: 1 1 480px; max-width: 560px;      /* 两张卡片并排时的最大宽度 */
  text-align:center;
  border: 1px solid rgba(0,0,0,.04);
  box-shadow:
    0 6px 18px rgba(0,0,0,.06),           /* 柔和阴影 */
    0 14px 22px rgba(0,0,0,.04);          /* 底部稍重，增强“落地感” */
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change: transform;
}

/* 悬停/聚焦时：轻微抬升 + 阴影稍强（移动端无悬停不影响） */
.offshore-prods .prod-card:hover,
.offshore-prods .prod-card:focus-within{
  transform: translateY(-3px);
  box-shadow:
    0 10px 24px rgba(0,0,0,.08),
    0 18px 28px rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.06);
}

/* 标题/文案 */
.offshore-prods .prod-name{
  font-size:18px; color:#333; margin: 6px 0 10px; font-weight:600;
}
.offshore-prods .prod-desc{
  font-size:14px; color:#666; line-height:1.9; margin: 6px auto 0;
  max-width: 48em;
}

/* 图片容器：裁剪边缘，防止放大溢出 */
.offshore-prods .prod-figure{
  max-width: 520px; margin: 8px auto 12px; overflow:hidden;
  border-radius: 8px;                      /* 图片四角更柔和（PNG 透明也不突兀） */
}
.offshore-prods .prod-figure img{
  width:100%; height:auto; display:block;
  transform: scale(1); transition: transform .35s ease;
  will-change: transform;
}
/* 只放大图片，不改变卡片尺寸，避免抖动 */
.offshore-prods .prod-card:hover .prod-figure img,
.offshore-prods .prod-card:focus-within .prod-figure img{
  transform: scale(1.045);
}

/* 2 列布局（≥ 992px 时居中排布） */
@media (min-width: 992px){
  .offshore-prods .prods-grid{ gap: 40px; }
  .offshore-prods .prod-card{ flex: 0 1 calc(50% - 20px); }
}

/* 移动端：单列铺开，留足内边距 */
@media (max-width: 991px){
  .offshore-prods { padding: 30px 0; }
  .offshore-prods .prods-title{ font-size:20px; margin-bottom:16px; }
  .offshore-prods .prod-card{ padding:18px 16px 20px; border-radius: 10px; }
}

/* 无动画偏好：尊重系统设置 */
@media (prefers-reduced-motion: reduce){
  .offshore-prods .prod-card,
  .offshore-prods .prod-figure img{ transition: none; }
}

/* ===== 项目案例滑动区 ===== */
/* ===== 漂浮项目案例【滑动区】 ===== */
:root{ --case-gap:24px; --case-radius:14px; }

/* 区块：维持白色背景 */
.offshore-cases{ padding:50px 0; background:#fff; }
.cases-title{ font-size:28px; color:#333; margin:0 0 20px; }
.cases-subtitle{ color:#666; font-size:14px; margin:0 0 35px; }

/* 视口与轨道 */
.cases-viewport{ position:relative; overflow:visible; }
.case-track{
  display:flex;
  gap:var(--case-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;       /* 关键：每次停在卡片开始处，不偏移 */
  scroll-behavior:smooth;
  padding:2px 0;
}
.case-track::-webkit-scrollbar{ display:none; }

/* 卡片：桌面两列，移动一列 */
.case-card{
  flex:0 0 calc((100% - var(--case-gap))/2);
  border-radius:var(--case-radius);
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  scroll-snap-align:start;
  position:relative;
}
@media (max-width:991px){
  .offshore-cases{ padding:28px 0; }
  .case-card{ flex:0 0 100%; }
}

/* 图片 */
.case-link{ display:block; position:relative; z-index:1; }
.case-card img{ width:100%; height:360px; object-fit:cover; display:block; }
@media (max-width:991px){ .case-card img{ height:220px; } }

/* 覆盖信息层（黑度再降一点） */
.case-overlay{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#fff; text-align:center;
  background:linear-gradient(to bottom, rgba(0,0,0,.05) 10%, rgba(0,0,0,.50) 100%);
  opacity:0; transition:opacity .25s ease;
}
.case-link:hover .case-overlay{ opacity:1; }
.cap{ font-size:34px; font-weight:700; text-shadow:0 2px 6px rgba(0,0,0,.45); }
.case-meta{ margin-top:6px; font-size:16px; display:flex; align-items:center; gap:6px; }

/* 地址小图标 */
/* 定位针图标（SVG mask，颜色继承文字 color） */
.case-meta .loc::before{
  content:"";
  display:inline-block;
  width:18px;                 /* 图标大小 */
  height:18px;
  margin-right:0px;
  vertical-align:-2px;
  background-color: currentColor;                /* 用文字颜色着色 */
  -webkit-mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<path d="M12 2C7.58 2 4 5.58 4 10c0 5.25 8 12 8 12s8-6.75 8-12c0-4.42-3.58-8-8-8zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>\
</svg>') no-repeat 50% 50%;
          mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<path d="M12 2C7.58 2 4 5.58 4 10c0 5.25 8 12 8 12s8-6.75 8-12c0-4.42-3.58-8-8-8zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>\
</svg>') no-repeat 50% 50%;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  opacity:.95;
}

/* 兼容极老旧浏览器：退化为 emoji */
@supports not ((-webkit-mask-image:none) or (mask-image:none)) {
  .case-meta .loc::before{
    content:"📍";
    width:auto; height:auto;
    background:none;
    font-size:18px;
    margin-right:0px;
    vertical-align:-2px;
  }
}

/* —— 导航按钮：默认浅灰圆、hover 变绿、禁用更浅灰 —— */
.case-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:54px; height:54px; border-radius:50%; border:1px solid rgba(0,0,0,.07);
  /* 和你给的参照一样的“实体浅灰按钮”感觉 */
  background:linear-gradient(180deg,#F3F3F3 0%, #E3E3E3 100%);
  color:#6b6b6b;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  display:grid; place-items:center;
  z-index:5; cursor:pointer; pointer-events:auto;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.case-nav.prev{ left:-20px; }
.case-nav.next{ right:-20px; }

/* 更大的箭头，并确保垂直居中 */
.case-nav::after{
  content:"\2039";               /* ‹ */
  font-size:26px; line-height:1;
}
.case-nav.next::after{ content:"\203A"; }  /* › */

/* hover 变绿、箭头变白 */
.case-nav:hover{
  background:#00A651;
  color:#fff;
  box-shadow:0 10px 20px rgba(0,166,81,.26);
  transform:translateY(-50%) scale(1.04);
}

/* 禁用态：更浅的灰，不可用且不变色 */
.case-nav.is-disabled{
  background:linear-gradient(180deg,#F7F7F7 0%, #ECECEC 100%);
  color:#BFBFBF;
  cursor:not-allowed;
  box-shadow:0 2px 8px rgba(0,0,0,.08) inset, 0 0 0 1px rgba(0,0,0,.05);
}
.case-nav.is-disabled:hover{
  background:linear-gradient(180deg,#F7F7F7 0%, #ECECEC 100%);
  color:#BFBFBF;
  transform:translateY(-50%) scale(1);
}

/* 移动端：按钮稍微内收一点，依然两侧都有 */
@media (max-width:991px){
  .case-nav.prev{ left:6px; }
  .case-nav.next{ right:6px; }
}

/* 绿色按钮：改为更“质感”的提升效果（不再变红） */
.more-green-btn{
  display:inline-block; min-width:220px; height:46px; line-height:46px;
  padding:0 18px; border-radius:26px; color:#fff; background:#00A651;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  box-shadow:0 10px 22px rgba(0,166,81,.18);
}
.more-green-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(0,166,81,.24);
  filter:saturate(1.08) brightness(1.02);   /* 细微增强亮度与饱和度，不用红色 */
}

/* 图片轻微放大 */
.case-link img{ transition:transform .35s ease; }
.case-link:hover img{ transform:scale(1.02); }

/* 减少动画（系统无动效偏好） */
@media (prefers-reduced-motion:reduce){
  .case-link img, .case-overlay, .case-track, .case-nav, .more-green-btn{ transition:none !important; }
}

/* 覆盖全局 a:hover 对案例区块的影响 */
.offshore-cases a:hover{
  text-decoration: none;           /* 去掉下划线 */
}

/* 只改绿色按钮在 hover 时的文字颜色 */
.offshore-cases a.more-green-btn:hover{
  color: #f0f0f0 !important;       /* 你要的颜色 */
}

/* （可选）默认与访问后的颜色，避免被其他规则改变 */
.offshore-cases a.more-green-btn:link,
.offshore-cases a.more-green-btn:visited{
  color:#fff;
}