:root{
  --bg:#fffdfd;
  --card:#ffffff;
  --ink:#333;
  --muted:#666;
  --brand:#ff66aa;
  --brand-2:#ffd9ea;
  --line:#f2e9ef;
  --shadow:0 6px 24px rgba(255,102,170,.15);
  --radius:16px;
  --maxw:1200px;
}

html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Noto Sans CJK SC","Hiragino Sans GB",Arial,"Microsoft Yahei",sans-serif;line-height:1.6}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{max-width:var(--maxw);margin:auto;padding:20px;box-sizing:border-box}

header{
  position:sticky; top:0; z-index:10;
  background:rgba(255,253,253,.9); backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid var(--line)
}

/* 鉁?灞呬腑鑿滃崟 */
.nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:10px 20px;
}
.brand .logo { width:48px; height:48px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.brand .logo img { width:100%; height:100%; object-fit:cover; display:block; }
.brand h1{font-size:1.1rem;margin:0}
.menu{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.menu a{padding:8px 12px;border-radius:999px;background:var(--brand-2);border:1px solid var(--line)}
.cta{
  padding:10px 16px;border-radius:999px;background:var(--brand);
  color:#fff;box-shadow:var(--shadow);border:0;font-weight:700
}
.cta:hover{opacity:.92; text-decoration:none}

/* ===========================
   鉁?Hero锛氬叏瀹藉嚭琛€锛屽唴閮ㄤ笌 --maxw 瀵归綈
   浠讳綍浣嶇疆/鏁伴噺鐨?.hero 閮戒細鍚屽
   =========================== */
.hero{
  /* 鏍规嵁瑙嗗彛涓?--maxw 鍔ㄦ€佽绠楀乏鍙虫矡妲斤紝浣垮唴瀹瑰榻愬鍣?*/
  --gutter: max(20px, (100vw - var(--maxw)) / 2);

  /* 鍑鸿鍏抽敭锛氭妸 section 鎷夊埌瑙嗗彛杈癸紝鍐嶇敤 padding 杩樺師鍐呰竟璺?*/
  margin-left: calc(-1 * var(--gutter));
  margin-right: calc(-1 * var(--gutter));
  padding-left: var(--gutter);
  padding-right: var(--gutter);

  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  align-items:stretch;      /* 涓ゅ垪绛夐珮 */
  padding-top:28px;
  padding-bottom:28px;
  box-sizing:border-box;
}
.hero > *{ height:100%; }   /* 璁╁乏鍙充袱鍧楀悆婊℃暣琛岄珮搴?*/

.hero-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
  height:100%;
  box-sizing:border-box;
}

.hero h2{font-size:1.8rem;margin:.2rem 0 1rem}
.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--brand-2);border:1px solid var(--line);font-size:.9rem}

section{margin:30px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}

/* 鍙充晶澶уご鍍忓鍣細濉弧 & 灞呬腑瑁佸垏 */
.kv {
  width:100%;
  height:100%;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  box-sizing:border-box;
}
.kv img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.meta div{padding:10px;border-radius:12px;background:#fff7fb;border:1px solid var(--line)}
details{border-radius:12px;border:1px solid var(--line);padding:12px;background:#fff}
summary{cursor:pointer;font-weight:700}
footer{margin:40px 0 0px;color:var(--muted);font-size:.92rem}

.floating-cta{
  position:fixed;left:0;right:0;bottom:0;padding:10px;
  display:none; /* 榛樿妗岄潰闅愯棌 */
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-top:1px solid var(--line)
}
.floating-cta a{display:block;text-align:center}

/* 鍙埍灏忚楗?*/
.sparkle{display:inline-block;transform:translateY(-1px)}
.note{font-size:.9rem;color:var(--muted)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff}
.gallery figure{margin:0}
.gallery .card{
  display:flex;
  align-items:center;
  justify-content:center;
}

.gallery img{
  max-height:700px;   /* 馃嵃 鍏抽敭锛氫笉瓒呰繃 700px 楂?*/
  width:auto;         /* 绛夋瘮缂╂斁锛屼紭鍏堟寜楂樺害闄愬埗 */
  max-width:100%;     /* 涔熶笉瑕佽秴杩囧鍣ㄥ */
  height:auto;
  border-radius:14px;
  border:1px solid var(--line);
  display:block;
}.copyright{font-size:.85rem;color:var(--muted)}

/* 鍝嶅簲寮?*/
@media (max-width:900px){
  .hero{
    grid-template-columns:1fr;
    /* 淇濇寔鍚屾牱鐨勫嚭琛€涓庡榻愶紝鍙槸鍒楁暟鍙?1 */
    --gutter: max(16px, (100vw - var(--maxw)) / 2);
    padding-top:20px;
    padding-bottom:20px;
  }
  .hero > *{ height:auto; }            /* 鍗曞垪鏃跺彇娑堝己鍒剁瓑楂?*/
  .kv{ height:auto; aspect-ratio:1/1;} /* 澶村儚鍖洪噰鐢ㄦ瘮渚嬶紝閬垮厤杩囬珮 */
  .grid.cols-3{grid-template-columns:1fr 1fr}
  .meta{grid-template-columns:1fr}
}
@media (max-width:700px){
  .menu{display:none}
  .floating-cta{display:block}
  .grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
}

.flags li {
	display:inline-block;
	padding:5px;
}
.flags ul {
	padding:0px;
}
.flags {
	margin: 0px auto;
	width: 100%;
	text-align: center;
}
.flags img {
	height:30px;
	border: 1px solid #4b4b4b;
}

/* 区域整体背景 - 调整为更紧凑的高度 */
.cps-partner-section {
    /* 背景色：淡粉色渐变，保持可爱感 */
    background: linear-gradient(to right, #fff5f8, #ffffff, #fff5f8); 
    /* 上下边距缩小到 25px，使整体更像一个横条，而不是大板块 */
    padding: 25px 20px; 
    box-sizing: border-box;
}

/* 容器限制 */
.cps-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* 网格布局 */
.cps-partner-grid {
    display: grid;
    /* 桌面端一行6个 */
    grid-template-columns: repeat(6, 1fr); 
    gap: 12px; /* 稍微减小间距 */
    align-items: center;
}

/* 单个卡片样式 */
.cps-partner-card {
    display: block;
    background: #ffffff;
    border-radius: 10px; /* 圆角稍微改小一点，更精致 */
    /* 阴影更淡，让它看起来贴合背景 */
    box-shadow: 0 2px 8px rgba(255, 105, 180, 0.08); 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid rgba(255, 182, 193, 0.3); /* 默认有极淡的粉色边框 */
    overflow: hidden;
    text-decoration: none;
    height: 100%; /* 确保高度统一 */
}

/* 图片容器 */
.cps-logo-box {
    padding: 8px;
    height: 70px; /* 高度略微减小，适应紧凑布局 */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 图片样式 - 移除灰度滤镜 */
.cps-logo-box img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    /* 默认保持原色，但稍微降低一点点透明度，避免过于抢眼 */
    opacity: 0.9; 
    transition: transform 0.3s ease;
}

/* --- 悬停交互效果 (Hover) --- */
.cps-partner-card:hover {
    transform: translateY(-3px); /* 轻微上浮 */
    box-shadow: 0 6px 15px rgba(255, 105, 180, 0.25); /* 粉色光晕加重 */
    border-color: #ff69b4; /* 边框变成亮粉色 */
}

.cps-partner-card:hover .cps-logo-box img {
    opacity: 1; /* 悬停时完全不透明 */
    transform: scale(1.05); /* Logo轻微放大 */
}

/* --- 响应式设计 (适配手机) --- */
@media (max-width: 992px) {
    .cps-partner-grid {
        grid-template-columns: repeat(3, 1fr); /* 平板显示3个一行 */
    }
}

@media (max-width: 600px) {
    .cps-partner-grid {
        grid-template-columns: repeat(2, 1fr); /* 手机显示2个一行 */
        gap: 10px;
    }
    .cps-partner-section {
        padding: 20px 15px; /* 手机端再紧凑一点 */
    }
    .cps-logo-box {
        height: 60px;
    }
}