/* 教练团队：左图右文焦点轮播（首页 / 减重基地 / 减重夏令营 页共用） */
.coach-stage{display:flex;align-items:center;justify-content:center;gap:4px;position:relative;}
.coach-viewport{position:relative;width:min(1320px,98vw);height:560px;overflow:hidden;perspective:1400px;margin:0 auto;}
.coach-viewport::before,.coach-viewport::after{content:"";position:absolute;top:0;bottom:0;width:36px;z-index:6;pointer-events:none;}
.coach-viewport::before{left:0;background:linear-gradient(90deg,var(--bg-gray),transparent);}
.coach-viewport::after{right:0;background:linear-gradient(-90deg,var(--bg-gray),transparent);}
.coach-track{position:relative;width:100%;height:100%;}
/* 整体 1:1 正方形：照片左、介绍右，左右各占一半 */
.coach-card{position:absolute;top:50%;left:50%;width:520px;height:520px;display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 26px 60px -20px rgba(246,124,41,.45);transform-origin:center;transition:transform .6s cubic-bezier(.22,.61,.36,1),opacity .6s,filter .6s;will-change:transform,opacity;cursor:pointer;}
.coach-card:not(.is-active){filter:saturate(.72) brightness(.96);}
.coach-photo{background-size:cover;background-position:center;}
.coach-info{padding:30px 30px 28px;display:flex;flex-direction:column;justify-content:center;}
.coach-info h3{font-size:24px;margin-bottom:4px;}
.coach-info .coach-title{color:var(--primary);font-weight:600;font-size:14px;margin-bottom:12px;}
.coach-info p{color:var(--text-light);line-height:1.7;font-size:13px;margin-bottom:14px;}
.coach-badges{display:flex;flex-wrap:wrap;gap:7px;}
.coach-badges span{display:inline-block;font-size:11px;padding:5px 13px;background:#fff1e6;border:1px solid #ffd6b3;color:var(--primary-dark);border-radius:999px;}
.coach-arrow{width:56px;height:56px;border-radius:50%;border:none;background:#fff;color:var(--primary);font-size:30px;line-height:1;box-shadow:0 10px 26px rgba(0,0,0,.14);cursor:pointer;z-index:7;flex-shrink:0;transition:background .3s,color .3s,transform .3s;}
.coach-arrow:hover{background:var(--primary);color:#fff;transform:scale(1.08);}
.coach-dots{display:flex;justify-content:center;gap:8px;margin-top:20px;}
.coach-dots span{width:9px;height:9px;border-radius:999px;background:#ffd9b8;cursor:pointer;transition:all .35s;}
.coach-dots span.on{width:30px;background:var(--primary);}
@media(max-width:900px){
  .coach-viewport{height:460px;}
  .coach-card{width:420px;height:420px;}
  .coach-info{padding:22px 22px 20px;}
  .coach-info h3{font-size:21px;}
}
@media(max-width:768px){
  .coach-viewport{height:400px;}
  .coach-card{width:340px;height:340px;grid-template-columns:1fr 1fr;}
  .coach-info{padding:16px 16px 14px;}
  .coach-info h3{font-size:17px;}
  .coach-info .coach-title{font-size:12px;margin-bottom:8px;}
  .coach-info p{font-size:11px;line-height:1.55;margin-bottom:10px;}
  .coach-badges{gap:5px;}
  .coach-badges span{font-size:9px;padding:3px 9px;}
  .coach-arrow{width:40px;height:40px;font-size:20px;}
  .coach-viewport::before,.coach-viewport::after{width:16px;}
}
