/* ============================================================
   精品导航 - 前台样式 v6.0
   现代设计风格：Glassmorphism + 渐变流光 + 微动效
   ============================================================ */

/* ---------- CSS 变量 ---------- */
:root {
  --primary: #6366f1;
  --primary-dark: #4f46e5;
  --primary-light: #a5b4fc;
  --accent: #ec4899;
  --accent2: #06b6d4;
  --bg: #f0f2f8;
  --card: #ffffff;
  --card-glass: rgba(255,255,255,.72);
  --text: #334155;
  --text-light: #64748b;
  --text-lighter: #94a3b8;
  --border: #e2e8f0;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);
  --shadow: 0 4px 16px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);
  --shadow-glow: 0 8px 32px rgba(99,102,241,.18);
  --transition: .3s cubic-bezier(.4,0,.2,1);
}

/* ---------- 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--primary);text-decoration:none;transition:all var(--transition)}
a:hover{color:var(--primary-dark)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5{color:#0f172a;line-height:1.3}
ul,ol{list-style:none}
.container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ---------- 顶部导航 ---------- */
.header{
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);
  position:sticky;top:0;z-index:1000;
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 2px 24px rgba(0,0,0,.2);
}
.header .container{
  display:flex;align-items:center;
  height:68px;gap:32px;
}
.logo a{
  font-size:24px;font-weight:900;color:#fff!important;
  letter-spacing:-.5px;
  background:linear-gradient(135deg,#818cf8,#c084fc,#f472b6);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.site-logo-link{display:flex!important;align-items:center;background:none!important;-webkit-text-fill-color:initial!important}
.site-logo-img{display:block;width:auto;max-width:180px;height:44px;object-fit:contain}
.nav{display:flex;gap:2px;flex:1}
.nav a{
  color:#94a3b8;padding:8px 18px;border-radius:10px;
  font-size:14px;font-weight:500;transition:all var(--transition);
  position:relative;
}
.nav a:after{
  content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  width:0;height:2px;background:var(--primary);
  border-radius:1px;transition:width var(--transition);
}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav a:hover:after{width:60%}
.nav a.active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}
.nav a.nav-user-center{color:#a5b4fc;border:1px solid rgba(165,180,252,.3)}
.nav a.nav-user-center:hover{color:#fff;background:rgba(165,180,252,.15);border-color:rgba(165,180,252,.6)}

.user-bar{display:flex;align-items:center;gap:12px;margin-left:auto}
.user-bar a{color:#94a3b8;font-size:13px;font-weight:500;transition:color var(--transition)}
.user-bar a:hover{color:#fff}
.user-bar .user-name{color:#a5b4fc!important;font-weight:700}

/* ---------- 手机端导航开关（桌面隐藏，由 mobile-nav.js 注入按钮） ---------- */
.nav-toggle{
  display:none;width:40px;height:40px;flex:0 0 auto;padding:0;
  border:1px solid rgba(255,255,255,.18);border-radius:10px;
  background:rgba(255,255,255,.06);cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:4px;
  transition:background var(--transition),border-color var(--transition);
}
.nav-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32)}
.nav-toggle span{
  display:block;width:18px;height:2px;border-radius:2px;background:#e2e8f0;
  transition:transform .22s ease,opacity .22s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.btn-reg{
  background:linear-gradient(135deg,var(--primary),#8b5cf6);
  color:#fff!important;padding:9px 24px;border-radius:24px;
  font-size:13px;font-weight:600;
  box-shadow:0 4px 16px rgba(99,102,241,.3);
  transition:all var(--transition);
}
.btn-reg:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.45);color:#fff!important}

/* ---------- Hero 搜索区 ---------- */
.search-bar{
  background:linear-gradient(135deg,#4338ca 0%,#6366f1 40%,#8b5cf6 70%,#a855f7 100%);
  padding:52px 0 44px;
  position:relative;overflow:hidden;
}
.search-bar::before{
  content:'';position:absolute;top:-80px;right:-80px;
  width:300px;height:300px;border-radius:50%;
  background:rgba(255,255,255,.04);pointer-events:none;
}
.search-bar::after{
  content:'';position:absolute;bottom:-60px;left:-60px;
  width:240px;height:240px;border-radius:50%;
  background:rgba(255,255,255,.03);pointer-events:none;
}
.search-bar form{
  display:flex;max-width:640px;margin:0 auto;position:relative;z-index:1;
}
.search-input{
  flex:1;padding:16px 24px;padding-right:60px;
  border:2px solid transparent;border-radius:32px;font-size:16px;
  background:rgba(255,255,255,.12);color:#fff;
  backdrop-filter:blur(10px);
  outline:none;transition:all var(--transition);
}
.search-input::placeholder{color:rgba(255,255,255,.55)}
.search-input:focus{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.3);
  box-shadow:0 8px 32px rgba(0,0,0,.15);
}
.search-btn{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border:none;border-radius:50%;
  background:linear-gradient(135deg,#ec4899,#f472b6);
  color:#fff;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--transition);
}
.search-btn:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px rgba(236,72,153,.5)}

/* ---------- 主内容 ---------- */
.main-content{padding:36px 0 56px}

/* 页面标题 */
.page-title{text-align:center;padding:48px 0 32px}
.page-title h1{font-size:32px;font-weight:900;margin-bottom:10px;background:linear-gradient(135deg,var(--primary-dark),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-title p{color:var(--text-light);font-size:15px}

/* ---------- 广告 ---------- */
.ad-container{max-width:1280px;margin:0 auto 28px;padding:12px 24px;text-align:center;overflow:hidden}
.ad-container img{max-width:100%}
.ad-item{margin-bottom:12px;padding:0}
.ad-item:last-child{margin-bottom:0}
.ad-item-img img{max-width:100%;height:auto}
.ad-item-text a{color:#fff;font-size:15px;text-decoration:underline;padding:6px 12px;display:inline-block}
.ad-item-code{font-size:14px}
/* 默认空广告位：仅保留内容排版，不使用卡片外观 */
.ad-default-card{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  padding:8px 0;cursor:pointer;
  text-align:center;transition:color .2s ease;
  min-height:48px;width:100%;height:100%;box-sizing:border-box;
  border:none;background:transparent;box-shadow:none;
}
.ad-default-card:hover{color:#fff}
.ad-dc-name{font-size:14px;font-weight:700;color:rgba(255,255,255,.92);white-space:nowrap}
.ad-dc-price{font-size:18px;font-weight:900;color:#fff;white-space:nowrap}
.ad-dc-price em{font-size:12px;font-weight:400;color:rgba(255,255,255,.82);font-style:normal}
.ad-dc-btn{
  display:inline-block;background:transparent;
  color:#fff;padding:0;font-size:12px;font-weight:700;
  white-space:nowrap;text-decoration:underline;
}
.ad-default-card:hover .ad-dc-btn{
  color:rgba(255,255,255,.82);
}

/* 迷你槽位内容适配 */
.ad-slot-mini .ad-default-card{padding:6px 0;gap:4px;min-height:0}
.ad-slot-mini .ad-dc-name{font-size:12px}
.ad-slot-mini .ad-dc-price{font-size:14px}
.ad-slot-mini .ad-dc-btn{font-size:10px}

/* 旧版默认占位保留兼容 */
.ad-item-default{text-align:center;padding:0;background:transparent;border:0;border-radius:0}
.ad-item-default a{color:#fff;font-weight:600;text-decoration:none}
.ad-item-default a:hover{color:rgba(255,255,255,.82);text-decoration:underline}
.ad-item-default img{max-height:80px}

/* 通用广告位：每个位置独立配色，保持直角、无边框、无阴影 */
.ad-position-all-header{margin-top:0;margin-bottom:24px;background:#4f46e5}
.ad-position-all-footer{margin-top:32px;margin-bottom:0;background:#0e7490}
.ad-position-index-top{margin-top:0;margin-bottom:20px;background:#c2410c}
.ad-position-index-bottom{margin-top:20px;margin-bottom:32px;background:#a16207}
.ad-position-index-sidebar{max-width:1280px;margin:0 auto 28px;background:#7e22ce}
.ad-position-list-top{margin-top:0;margin-bottom:20px;background:#047857}
.ad-position-list-bottom{margin-top:24px;margin-bottom:20px;background:#0f766e}
.ad-position-list-sidebar{max-width:1280px;margin:24px auto;background:#1d4ed8}
.ad-position-detail-top{margin-top:0;margin-bottom:20px;background:#6b21a8}
.ad-position-detail-bottom{margin-top:24px;margin-bottom:20px;background:#be185d}

/* ---------- 分类卡片 ---------- */
.cate-section{
  background:var(--card);
  border-radius:var(--radius);
  margin-bottom:28px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  border:1px solid var(--border);
  transition:all var(--transition);
}
.cate-section:hover{box-shadow:var(--shadow)}
.cate-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;
  background:linear-gradient(135deg,#f8fafc,#f1f5f9);
  border-bottom:1px solid var(--border);
}
.cate-header h2{
  font-size:18px;font-weight:700;color:#0f172a;
  display:flex;align-items:center;gap:10px;
}
.cate-header h2 i{color:var(--primary);font-size:20px}
.cate-header .more{
  color:var(--primary);font-size:13px;font-weight:600;
  padding:8px 18px;border-radius:24px;
  background:rgba(99,102,241,.08);
  transition:all var(--transition);
}
.cate-header .more:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-glow)}

/* 链接网格 */
.link-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--border);
}
.link-item{
  background:#fff;padding:24px 16px;text-align:center;
  transition:all var(--transition);position:relative;
  cursor:pointer;
}
.link-item:hover{
  background:linear-gradient(180deg,#fafbff 0%,#fff 100%);
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(99,102,241,.1);
  z-index:2;
}
.link-item a{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  color:var(--text);
}
.link-logo{
  width:48px;height:48px;border-radius:var(--radius-xs);
  object-fit:contain;transition:transform var(--transition);
}
.link-item:hover .link-logo{transform:scale(1.1)}
.link-logo-default{
  width:48px;height:48px;border-radius:var(--radius-xs);
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;text-transform:uppercase;
  transition:transform var(--transition);
}
.link-item:hover .link-logo-default{transform:scale(1.1) rotate(-5deg)}
.link-title{font-size:14px;font-weight:600;color:#0f172a;line-height:1.3}
.link-desc{
  font-size:12px;color:var(--text-lighter);line-height:1.5;
  margin-top:4px;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.link-item.top::before{
  content:'🔥 HOT';position:absolute;top:8px;right:8px;
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;
}
.link-item.bold .link-title{font-weight:800}

/* 空数据状态 */
.link-grid:empty::after{
  content:'暂无数据，请先添加网站链接';
  grid-column:1/-1;padding:48px 20px;text-align:center;
  color:var(--text-lighter);font-size:15px;
}

/* ---------- 热门排行 ---------- */
.hot-list{padding:8px 20px 20px}
.hot-item{
  display:flex;align-items:center;gap:16px;
  padding:14px 18px;border-radius:var(--radius-xs);
  transition:all var(--transition);
}
.hot-item:hover{background:#f1f5f9;transform:translateX(4px)}
.hot-item.top3{
  background:linear-gradient(135deg,#fef3c7,#fffbeb);
  border:1px solid #fde68a;
}
.hot-rank{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:var(--border);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;
}
.hot-item:nth-child(1) .hot-rank{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  font-size:16px;width:36px;height:36px;
  box-shadow:0 4px 12px rgba(245,158,11,.3);
}
.hot-item:nth-child(2) .hot-rank{
  background:linear-gradient(135deg,#94a3b8,#64748b);
  box-shadow:0 4px 12px rgba(100,116,139,.3);
}
.hot-item:nth-child(3) .hot-rank{
  background:linear-gradient(135deg,#d97706,#b45309);
  box-shadow:0 4px 12px rgba(217,119,6,.3);
}
.hot-item a{flex:1;font-weight:600;color:var(--text);font-size:15px}
.hot-item a:hover{color:var(--primary)}
.hot-click{font-size:12px;color:var(--text-lighter);white-space:nowrap}

/* ---------- 文章列表 ---------- */
.article-list{padding:0 20px 20px}
.article-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 20px;border-bottom:1px solid #f1f5f9;
  transition:all var(--transition);border-radius:var(--radius-xs);
}
.article-item:hover{background:#f8fafc;transform:translateX(4px)}
.article-item:last-child{border-bottom:none}
.article-item a{font-size:15px;font-weight:600;color:var(--text);flex:1}
.article-item a:hover{color:var(--primary)}
.article-time{font-size:12px;color:var(--text-lighter);white-space:nowrap;margin-left:20px}

/* 文章列表完整版 */
.article-list-full{padding:0 20px 20px;display:flex;flex-direction:column;gap:20px}
.article-full-item{
  display:flex;gap:24px;padding:20px;
  background:#f8fafc;border-radius:var(--radius-sm);
  transition:all var(--transition);
}
.article-full-item:hover{background:#fff;box-shadow:var(--shadow);transform:translateY(-2px)}
.article-thumb{
  width:180px;height:120px;object-fit:cover;
  border-radius:var(--radius-sm);flex-shrink:0;
}
.article-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px}
.article-info h3{font-size:18px}
.article-info h3 a{color:#0f172a}
.article-info h3 a:hover{color:var(--primary)}
.article-meta{display:flex;gap:18px;font-size:13px;color:var(--text-lighter)}
.article-meta i{margin-right:5px}

/* 文章详情 */
.article-detail .article-header{text-align:center;padding:36px 0 24px}
.article-detail .article-header h1{font-size:30px;font-weight:900;margin-bottom:14px}
.article-detail .article-header .article-meta{justify-content:center}
.article-body{padding:8px 0 36px;font-size:16px;line-height:2;color:var(--text)}
.article-body img{border-radius:var(--radius-sm);max-width:100%}
.article-body p{margin-bottom:18px}
.related-articles{border-top:1px solid var(--border);padding-top:24px}
.related-articles h3{font-size:18px;margin-bottom:16px}
.related-articles ul{list-style:none}
.related-articles li{padding:12px 0;border-bottom:1px solid #f1f5f9}
.related-articles li a:hover{color:var(--primary)}

/* ---------- 排行页 ---------- */
.rank-tabs{
  display:flex;gap:4px;margin-bottom:24px;
  background:#f1f5f9;padding:5px;border-radius:var(--radius);
}
.rank-tabs a{
  flex:1;text-align:center;padding:12px 24px;border-radius:var(--radius-sm);
  font-weight:600;font-size:14px;color:var(--text-light);transition:all var(--transition);
}
.rank-tabs a.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}
.rank-panel{display:none}
.rank-panel.active{display:block}
.rank-item{
  display:flex;align-items:center;gap:16px;
  padding:16px 24px;background:#fff;border-radius:var(--radius-sm);
  margin-bottom:10px;transition:all var(--transition);
  border:1px solid var(--border);
}
.rank-item:hover{box-shadow:var(--shadow);border-color:var(--primary-light);transform:translateX(4px)}
.rank-item.rank-top{
  background:linear-gradient(135deg,#fef3c7,#fef9c3);
  border-color:#fde68a;
}
.rank-item .rank-num{
  width:36px;height:36px;border-radius:50%;
  background:var(--border);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;flex-shrink:0;
}
.rank-item.rank-top .rank-num{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.rank-item:nth-child(1) .rank-num{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  font-size:18px;box-shadow:0 4px 12px rgba(245,158,11,.3);
}
.rank-item:nth-child(2) .rank-num{
  background:linear-gradient(135deg,#94a3b8,#64748b);
  box-shadow:0 4px 12px rgba(100,116,139,.3);
}
.rank-item:nth-child(3) .rank-num{
  background:linear-gradient(135deg,#d97706,#b45309);
  box-shadow:0 4px 12px rgba(217,119,6,.3);
}
.rank-title{flex:1;font-weight:600;font-size:15px}
.rank-item .rank-click{font-size:12px;color:var(--text-lighter);white-space:nowrap}

/* ---------- 表单页 ---------- */
.form-page{padding-top:12px}
.form-container{
  max-width:680px;margin:0 auto 48px;
  background:var(--card);border-radius:var(--radius);
  padding:36px 40px;box-shadow:var(--shadow);
  border:1px solid var(--border);
}
.form-container h3{font-size:22px;font-weight:700;margin-bottom:24px;color:#0f172a}
.form-group{margin-bottom:22px}
.form-group label{
  display:block;font-weight:600;font-size:14px;
  color:var(--text);margin-bottom:8px;
}
.form-group .required{color:var(--accent);margin-left:3px}
.form-group input[type="text"],
.form-group input[type="url"],
.form-group input[type="email"],
.form-group input[type="password"],
.form-group select,
.form-group textarea{
  width:100%;padding:13px 18px;border:2px solid var(--border);
  border-radius:var(--radius-xs);font-size:14px;color:var(--text);
  transition:all var(--transition);background:#f8fafc;font-family:inherit;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--primary);background:#fff;
  box-shadow:0 0 0 4px rgba(99,102,241,.08);outline:none;
}
.form-group textarea{resize:vertical;min-height:100px}
.form-group select{
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;
}
.checkbox-group{display:flex;align-items:center}
.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}
.checkbox-group input[type="checkbox"]{width:20px;height:20px;accent-color:var(--primary)}

.form-actions{margin-top:32px;text-align:center}
.form-actions .btn{padding:14px 56px;font-size:16px}

/* ---------- 价格表 ---------- */
.price-table{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;margin-bottom:36px;
}
.price-card{
  background:#fff;border:2px solid var(--border);
  border-radius:var(--radius);padding:32px 24px;text-align:center;
  transition:all var(--transition);position:relative;
}
.price-card:hover{
  border-color:var(--primary);box-shadow:var(--shadow-lg);
  transform:translateY(-6px);
}
.price-card.featured{
  border-color:var(--primary);
  box-shadow:0 8px 40px rgba(99,102,241,.2);
}
.price-card.featured::before{
  content:'推荐';position:absolute;top:12px;right:12px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;
}
.price-card h3{font-size:18px;margin-bottom:14px}
.price-card .price{font-size:40px;font-weight:900;color:var(--primary);margin-bottom:18px}
.price-card .price small{font-size:14px;font-weight:400;color:var(--text-lighter)}
.price-card ul{list-style:none;text-align:left}
.price-card ul li{padding:8px 0;font-size:14px;color:var(--text-light)}
.price-card ul li::before{content:'✓ ';color:#10b981;font-weight:700}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-block;padding:11px 28px;border:none;border-radius:var(--radius-xs);
  font-size:14px;font-weight:600;cursor:pointer;
  transition:all var(--transition);text-decoration:none;text-align:center;line-height:1.4;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
}
.btn-primary:hover{box-shadow:0 8px 28px rgba(99,102,241,.35);color:#fff}
.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}
.btn-sm{padding:6px 16px;font-size:12px}
.btn-block{display:block;width:100%}

/* ---------- 表格 ---------- */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{
  background:#f8fafc;padding:12px 18px;text-align:left;
  font-weight:600;font-size:13px;color:var(--text-light);
  border-bottom:2px solid var(--border);white-space:nowrap;
}
.table td{padding:12px 18px;border-bottom:1px solid #f1f5f9;color:var(--text)}
.table tr:hover td{background:#fafbff}

/* ---------- 标签 ---------- */
.tag{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:600}
.tag-success{background:#d1fae5;color:#065f46}
.tag-warning{background:#fef3c7;color:#92400e}
.tag-danger{background:#fee2e2;color:#991b1b}
.tag-info{background:#dbeafe;color:#1e40af}
.tag-primary{background:#e0e7ff;color:#3730a3}

/* ---------- 分页 ---------- */
.pagination{
  display:flex;gap:6px;justify-content:center;
  margin:28px 0;flex-wrap:wrap;list-style:none;
}
.pagination>li>a,
.pagination>li>span{
  display:flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 8px;
  border-radius:var(--radius-xs);font-size:14px;font-weight:500;
  color:var(--text);background:#fff;
  border:1px solid var(--border);transition:all var(--transition);
  text-decoration:none;
}
.pagination>li>a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination>.active>span{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination>.disabled>span{color:#cbd5e1;cursor:default;background:#f8fafc}

/* ---------- 友链 ---------- */
.flink-list{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px}
.flink-item{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:16px 22px;
  transition:all var(--transition);
}
.flink-item:hover{border-color:var(--primary);box-shadow:var(--shadow)}
.flink-item a{font-weight:600;font-size:14px}
.flink-desc{display:block;font-size:12px;color:var(--text-lighter);margin-top:5px}

/* ---------- 页脚 ---------- */
.footer{
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  color:#94a3b8;padding:44px 0;text-align:center;font-size:13px;
  border-top:3px solid var(--primary);
}
.footer p{margin:8px 0;line-height:1.8}
.footer a{color:var(--primary-light)}
.footer a:hover{color:#fff}
.footer .footer-flinks{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  column-gap:0;margin:0 0 6px;padding:0;border:0;background:none;
}
.footer-flinks-title{color:#cbd5e1;font-weight:600}
.footer .footer-flinks a{color:#94a3b8;white-space:nowrap}
.footer .footer-flinks a+a::before{content:'·';margin:0 10px;color:#64748b}
.footer .footer-flinks a:hover{color:#fff}
.footer .footer-copyright{margin-top:0}

/* ---------- 提示消息 ---------- */
.alert{padding:16px 22px;border-radius:var(--radius-xs);margin-bottom:22px;font-size:14px;line-height:1.6}
.alert-success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}
.alert-danger{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}
.alert-warning{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b}
.alert-info{background:#dbeafe;color:#1e40af;border-left:4px solid var(--primary)}

/* ---------- 空状态 / 无数据 ---------- */
.empty-state{
  text-align:center;padding:64px 24px;color:var(--text-lighter);
}
.empty-state .empty-icon{
  font-size:56px;margin-bottom:16px;display:block;opacity:.4;
}
.empty-state p{font-size:15px;margin:0}

/* ---------- 搜索无结果 ---------- */
.empty{text-align:center;padding:64px 24px;color:var(--text-lighter)}
.empty i{font-size:52px;margin-bottom:18px;display:block;opacity:.3}

/* ---------- 工具类 ---------- */
.text-center{text-align:center}
.text-success{color:#10b981!important}
.text-danger{color:#ef4444!important}
.text-muted{color:var(--text-lighter)!important}
.text-primary{color:var(--primary)!important}
.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}
.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}

/* ---------- 我的列表 ---------- */
.my-list{margin-bottom:36px}
.my-list h3{font-size:20px;font-weight:700;margin-bottom:18px;color:#0f172a}
.my-list .empty-state{background:#f8fafc;border-radius:var(--radius)}
.my-list .table{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}

/* ---------- 列表页链接列表 ---------- */
.link-list{
  display:flex;flex-direction:column;gap:2px;
  background:var(--border);border-radius:var(--radius);overflow:hidden;
}
.link-list-item{
  display:flex;align-items:center;background:#fff;padding:18px 24px;
  gap:18px;transition:all var(--transition);
}
.link-list-item:hover{background:#f8fafc;transform:translateX(2px)}
.link-list-item .link-main{
  display:flex;align-items:center;gap:16px;flex:1;color:var(--text);
}
.link-list-item .link-logo,.link-list-item .link-logo-default{
  width:50px;height:50px;border-radius:10px;flex-shrink:0;
}
.link-list-item .link-logo-default{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:700;
}
.link-list-item .link-info{flex:1;min-width:0}
.link-list-item .link-title{font-size:15px;font-weight:600;color:#0f172a}
.link-list-item .link-desc{
  font-size:12px;color:var(--text-lighter);margin-top:4px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.link-list-item .link-meta{font-size:12px;color:var(--text-lighter);white-space:nowrap}

/* ---------- 侧边广告 ---------- */
.side-ad{margin:20px 0}

/* ========== 首页广告位网格区 ========== */
.ad-grid-zone{
  padding:24px 0;
}

/* 迷你按钮网格 4列 */
.ad-mini-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin-bottom:20px;
}
.ad-slot-mini{
  aspect-ratio:4/1;overflow:hidden;
  min-height:52px;display:flex;align-items:center;justify-content:center;
}
.ad-slot-mini .ad-item-img img{max-height:48px}
.ad-slot-mini-1{background:#b91c1c}
.ad-slot-mini-2{background:#3730a3}
.ad-slot-mini-3{background:#155e75}
.ad-slot-mini-4{background:#9a3412}
.ad-slot-mini-5{background:#166534}
.ad-slot-mini-6{background:#1e40af}
.ad-slot-mini-7{background:#9d174d}
.ad-slot-mini-8{background:#5b21b6}
.ad-slot-mini-9{background:#115e59}
.ad-slot-mini-10{background:#075985}
.ad-slot-mini-11{background:#854d0e}
.ad-slot-mini-12{background:#3f6212}
.ad-placeholder-mini{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:700;
  cursor:pointer;transition:color .2s;
  letter-spacing:1px;
}
.ad-placeholder-mini:hover{
  color:rgba(255,255,255,.82);
}

/* 大横幅堆积区 */
.ad-banner-stack{
  display:flex;flex-direction:column;gap:12px;margin-bottom:16px;
}
.ad-slot-banner{
  overflow:hidden;
}
.ad-slot-banner-1{background:#be123c}
.ad-slot-banner-2{background:#1e3a8a}
.ad-slot-banner-3{background:#581c87}
.ad-slot-banner-4{background:#065f46}
.ad-slot-banner-5{background:#92400e}
.ad-placeholder-banner{
  padding:8px 0;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;transition:color .2s;
}
.ad-placeholder-banner:hover{
  color:var(--primary);
}
.ad-ph-banner-text{
  display:flex;align-items:center;gap:10px;
  color:#fff;font-size:16px;
}
.ad-ph-banner-text strong{font-size:20px;font-weight:900}
.ad-ph-banner-btn{
  background:transparent;color:#fff;padding:0;
  font-size:13px;font-weight:700;white-space:nowrap;
  text-decoration:underline;
}
.ad-placeholder-banner:hover .ad-ph-banner-btn{
  color:rgba(255,255,255,.82);
}

/* 中横幅行 2列 */
.ad-medium-row{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin-bottom:12px;
}
.ad-medium-row:last-child{margin-bottom:0}
.ad-slot-medium{
  overflow:hidden;min-height:54px;
}
.ad-slot-medium-1{background:#7c2d12}
.ad-slot-medium-2{background:#312e81}
.ad-slot-medium-3{background:#86198f}
.ad-slot-medium-4{background:#134e4a}
.ad-placeholder-medium{
  padding:8px 0;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;transition:color .2s;
}
.ad-placeholder-medium:hover{
  color:var(--primary);
}
.ad-ph-medium-text{color:#fff;font-size:14px;font-weight:600}
.ad-ph-medium-size{
  color:rgba(255,255,255,.82);font-size:12px;font-weight:700;
}

/* 广告位内有实际广告时去掉占位样式 */
.ad-slot-mini .ad-item,
.ad-slot-banner .ad-item,
.ad-slot-medium .ad-item{width:100%}

/* 响应式-广告网格 */
@media(max-width:768px){
  .ad-mini-grid{grid-template-columns:repeat(3,1fr)}
  .ad-medium-row{grid-template-columns:1fr}
  .ad-placeholder-banner{flex-direction:column;gap:10px;text-align:center}
  .ad-ph-banner-text{justify-content:center;font-size:14px}
  .ad-ph-banner-text strong{font-size:16px}
}
@media(max-width:480px){
  .ad-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-slot-mini{min-width:0;aspect-ratio:auto}
  .ad-slot-mini .ad-default-card{min-width:0;padding:4px 2px;gap:3px}
  .ad-slot-mini .ad-dc-btn{display:none}
}

/* ========== 广告位市场 ========== */
.ad-marketplace{padding-bottom:60px}
.ad-marketplace .page-title{padding:36px 0 28px}
.ad-marketplace .page-title h1{font-size:34px;font-weight:900;background:linear-gradient(135deg,#ff6b35,#6366f1,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ad-marketplace .page-title p{color:var(--text-light);font-size:16px;margin-top:8px}

/* 分区 */
.ad-section{margin-bottom:36px}
.ad-section-hd{
  display:flex;align-items:center;gap:12px;
  color:#fff;padding:14px 24px;border-radius:12px 12px 0 0;
  font-size:18px;font-weight:700;
  box-shadow:0 3px 12px rgba(0,0,0,.12);
}
.ad-section-hd em{margin-left:auto;font-style:normal;font-weight:400;font-size:13px;opacity:.85}
.ad-section-icon{font-size:22px}

/* 彩色小卡片行 */
.ad-mini-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  padding:20px;background:linear-gradient(135deg,#eef2ff,#e0f2fe);border:2px solid var(--border);border-top:none;
}
.ad-mini-card{
  background:#e0e7ff;border-radius:10px;padding:16px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;transition:all var(--transition);
  border:2px solid var(--border);position:relative;overflow:hidden;
}
.ad-mini-card:nth-child(1){border-color:#ff6b35;background:#fff5f0}
.ad-mini-card:nth-child(2){border-color:#6366f1;background:#f0f0ff}
.ad-mini-card:nth-child(3){border-color:#10b981;background:#f0fff4}
.ad-mini-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ad-mini-card.active{box-shadow:0 0 0 3px var(--primary);border-color:var(--primary)!important}
.ad-mini-card-img{
  width:56px;height:56px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;
  background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
}
.ad-mini-card:nth-child(1) .ad-mini-card-img{background:linear-gradient(135deg,#ff6b35,#ff8c42)}
.ad-mini-card:nth-child(2) .ad-mini-card-img{background:linear-gradient(135deg,#6366f1,#818cf8)}
.ad-mini-card:nth-child(3) .ad-mini-card-img{background:linear-gradient(135deg,#10b981,#34d399)}
.ad-mini-card-info{flex:1;display:flex;flex-direction:column;gap:4px}
.ad-mini-name{font-weight:700;font-size:14px;color:#0f172a}
.ad-mini-price{font-weight:900;font-size:18px;color:var(--primary)}
.ad-mini-price small{font-size:11px;color:var(--text-lighter);font-weight:400}
.ad-mini-btn{
  display:inline-block;background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;
  margin-top:4px;align-self:flex-start;box-shadow:0 2px 8px rgba(245,158,11,.3);
}

/* 大横幅招租 */
.ad-banner-lg{
  background:linear-gradient(135deg,#ff6b35,#ff8c42,#ff6b35);
  background-size:200% 200%;animation:adShimmer 3s ease infinite;
  padding:28px 32px;cursor:pointer;transition:all var(--transition);
  border:2px solid var(--border);border-top:none;background-color:#fff4f0;
  position:relative;overflow:hidden;
}
.ad-banner-lg:last-child{border-radius:0 0 12px 12px}
.ad-banner-lg:hover{transform:scale(1.01);box-shadow:var(--shadow-lg)}
.ad-banner-lg.active{box-shadow:0 0 0 3px var(--primary)}
.ad-banner-lg-body{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  position:relative;z-index:1;
}
.ad-banner-lg-text{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:18px;color:#fff;font-weight:500;
}
.ad-banner-lg-text strong{font-size:22px;font-weight:900}
.ad-banner-hot{
  background:rgba(255,255,255,.25);color:#fff;
  padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700;
}
.ad-banner-lg-price{
  text-align:center;color:rgba(255,255,255,.9);font-size:13px;
}
.ad-banner-lg-price span{font-size:36px;font-weight:900;color:#fff}
.ad-banner-lg-btn{
  background:#fff;color:#ff6b35;padding:12px 28px;border-radius:24px;
  font-size:15px;font-weight:700;white-space:nowrap;
  box-shadow:0 4px 16px rgba(0,0,0,.15);
  transition:all var(--transition);
}
.ad-banner-lg:hover .ad-banner-lg-btn{background:#ff6b35;color:#fff;transform:scale(1.05)}

/* 金色大横幅 */
.ad-banner-lg-gold{background:linear-gradient(135deg,#f59e0b,#fbbf24,#f59e0b);background-size:200% 200%;animation:adShimmer 3s ease infinite}
.ad-banner-lg-gold .ad-banner-lg-btn{color:#d97706}
.ad-banner-lg-gold:hover .ad-banner-lg-btn{background:#d97706;color:#fff}

/* 横幅行 */
.ad-banner-row{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  background:#e2e8f0;border:2px solid var(--border);border-top:none;
}
.ad-banner-row:last-child{border-radius:0 0 12px 12px}
.ad-banner-row-3{grid-template-columns:repeat(3,1fr)}

/* 中横幅 */
.ad-banner-md{
  padding:22px 24px;cursor:pointer;transition:all var(--transition);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-right:1px dashed #e2e8f0;position:relative;
}
.ad-banner-md:last-child{border-right:none}
.ad-banner-md:hover{transform:translateY(-2px);z-index:2}
.ad-banner-md.active{box-shadow:inset 0 0 0 3px var(--primary)}
.ad-banner-md-orange{background:linear-gradient(135deg,#fff5f0,#fff0e8)}
.ad-banner-md-orange:hover{background:linear-gradient(135deg,#ffe8d5,#ffdcc4);box-shadow:var(--shadow-lg)}
.ad-banner-md-blue{background:linear-gradient(135deg,#f0f0ff,#e8e8ff)}
.ad-banner-md-blue:hover{background:linear-gradient(135deg,#ddddfe,#d0d0ff);box-shadow:var(--shadow-lg)}
.ad-banner-md-green{background:linear-gradient(135deg,#f0fff4,#e6ffed)}
.ad-banner-md-green:hover{background:linear-gradient(135deg,#d5f5e3,#c3f0d5);box-shadow:var(--shadow-lg)}
.ad-banner-md-red{background:linear-gradient(135deg,#fef2f2,#fee2e2)}
.ad-banner-md-red:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);box-shadow:var(--shadow-lg)}
.ad-banner-md-purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe)}
.ad-banner-md-purple:hover{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);box-shadow:var(--shadow-lg)}
.ad-banner-md-text{flex:1;min-width:0}
.ad-banner-md-text strong{font-size:15px;font-weight:700;color:#0f172a;display:block;margin-bottom:3px}
.ad-banner-md-text{font-size:13px;color:var(--text-light)}
.ad-banner-md-btn{
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;padding:8px 18px;border-radius:20px;font-size:12px;font-weight:700;
  white-space:nowrap;box-shadow:0 2px 8px rgba(245,158,11,.3);
}

/* 我的广告列表 */
.ad-my-list{
  background:#fff;padding:24px;border:2px solid var(--border);border-top:none;
  border-radius:0 0 12px 12px;
}
.ad-my-list .table{box-shadow:none;border-radius:0}
.ad-my-list .table th{background:#f8fafc;border-bottom:2px solid var(--border)}
.ad-my-list .empty-state{padding:40px 0;color:var(--text-lighter)}
.ad-my-list .empty-state .empty-icon{font-size:48px}

/* 到期广告续费卡片 */
.expired-ad-card{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;margin-bottom:10px;
  background:linear-gradient(135deg,#fef2f2,#fee2e2);
  border:1px solid #fca5a5;border-radius:10px;
  transition:all .3s
}
.expired-ad-card:last-child{margin-bottom:0}
.expired-ad-card.active{transform:scale(1.02);box-shadow:0 0 20px rgba(239,68,68,.3)}
.expired-ad-card:hover{border-color:#ef4444;box-shadow:0 4px 16px rgba(239,68,68,.15)}
.expired-ad-info{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.expired-ad-name{font-weight:700;font-size:16px;color:#991b1b}
.expired-ad-pos{font-size:13px;color:#b45309;background:#fef3c7;padding:3px 10px;border-radius:20px}
.expired-ad-time{font-size:13px;color:#dc2626;font-weight:500}
.btn-renew{
  background:linear-gradient(135deg,#dc2626,#ef4444)!important;
  color:#fff!important;border:none!important;
  padding:8px 20px!important;font-size:14px!important;
  border-radius:8px!important;cursor:pointer;
  white-space:nowrap;transition:all .2s
}
.btn-renew:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.4)}

/* 表单区域 */
.ad-form-wrap{
  background:#fff;padding:32px;border:2px solid var(--border);border-top:none;
  border-radius:0 0 12px 12px;
}
.ad-form-wrap .form-actions{margin-top:24px}
.ad-form-wrap .btn{padding:14px 48px;font-size:16px;border-radius:24px}
.ad-form-wrap .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.form-hint{color:var(--text-lighter);font-size:12px;display:block;margin-top:6px}

@keyframes adShimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* ========== 增强广告发布表单 ========== */
.ad-form-step{margin-bottom:20px}
.ad-form-label{font-weight:700;font-size:15px;color:#0f172a;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.ad-form-label::after{content:'';flex:1;height:1px;background:#e2e8f0}

/* 广告类型选项卡 */
.ad-type-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ad-type-tab{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:20px 12px;background:#f8fafc;border:2px solid #e2e8f0;
  border-radius:12px;cursor:pointer;text-align:center;
  transition:all .25s;user-select:none;
}
.ad-type-tab:hover{border-color:#c4b5fd;background:#f5f3ff;transform:translateY(-2px)}
.ad-type-tab.active{
  border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0e7ff);
  box-shadow:0 4px 16px rgba(99,102,241,.2);
  transform:translateY(-3px);
}
.ad-type-icon{font-size:32px;display:block}
.ad-type-name{font-size:15px;font-weight:700;color:#0f172a}
.ad-type-desc{font-size:11px;color:var(--text-lighter)}

/* 类型面板 */
.ad-type-panel{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* 图片上传区 */
.ad-upload-zone{
  border:2px dashed #cbd5e1;border-radius:12px;
  padding:36px 20px;text-align:center;cursor:pointer;
  transition:all .25s;background:#fafbfc;
}
.ad-upload-zone:hover,.ad-upload-zone.dragover{
  border-color:#6366f1;background:#eef2ff;
  transform:scale(1.01);
}
.ad-upload-zone.dragover{border-style:solid;box-shadow:0 0 0 4px rgba(99,102,241,.1)}
.ad-upload-zone.uploading{opacity:.6;pointer-events:none}
.ad-upload-label{display:block;cursor:pointer;width:100%}
.ad-upload-icon{font-size:42px;margin-bottom:10px;display:block}
.ad-upload-text strong{display:block;font-size:15px;color:#334155;margin-bottom:6px}
.ad-upload-text span{font-size:12px;color:var(--text-lighter)}

/* 上传预览 */
.ad-upload-preview{
  position:relative;display:inline-block;
  border-radius:12px;overflow:hidden;border:2px solid #e2e8f0;
  max-width:100%;
}
.ad-upload-preview img{
  max-width:100%;max-height:200px;display:block;object-fit:contain;
}
.ad-upload-remove{
  position:absolute;top:6px;right:6px;
  width:28px;height:28px;border-radius:50%;
  background:rgba(0,0,0,.6);color:#fff;
  border:none;font-size:14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.ad-upload-remove:hover{background:#ef4444;transform:scale(1.1)}

/* 实时预览区 */
.ad-preview-box{
  margin-top:24px;border:2px solid #e2e8f0;border-radius:12px;
  overflow:hidden;background:#fff;
}
.ad-preview-hd{
  padding:10px 18px;background:#f8fafc;font-weight:600;font-size:14px;
  color:#334155;border-bottom:1px solid #e2e8f0;
}
.ad-preview-body{
  padding:20px;min-height:60px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.ad-preview-placeholder{color:#94a3b8;font-size:14px}

/* 表单底部栏 */
.ad-form-bottom{margin-top:24px}
.ad-balance-bar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:12px;margin-bottom:16px;padding:14px 18px;
  background:#f0fdf4;border-radius:10px;border:1px solid #bbf7d0;
  font-size:14px;color:#166534;
}
.ad-balance-num{font-size:22px;margin-left:4px}
.ad-price-show{
  background:#6366f1;color:#fff;padding:4px 14px;border-radius:20px;
  font-size:13px;font-weight:600;display:none;
}
.ad-recharge-link{font-size:13px;color:#2563eb;text-decoration:underline;white-space:nowrap}
.ad-recharge-link:hover{color:#1d4ed8}

/* ---------- 响应式-广告市场 ---------- */
@media(max-width:768px){
  .ad-mini-row{grid-template-columns:1fr;gap:10px}
  .ad-banner-row,.ad-banner-row-3{grid-template-columns:1fr}
  .ad-banner-md{border-right:none;border-bottom:1px dashed #e2e8f0}
  .ad-banner-md:last-child{border-bottom:none}
  .ad-banner-lg-body{flex-direction:column;text-align:center;gap:16px}
  .ad-banner-lg-text{justify-content:center}
  .ad-marketplace .page-title h1{font-size:26px}
  .ad-type-tabs{grid-template-columns:1fr;gap:8px}
  .ad-type-tab{flex-direction:row;gap:12px;padding:14px 18px}
  .ad-type-icon{font-size:24px}
  .ad-type-desc{display:none}
  .ad-balance-bar{flex-direction:column;text-align:center;gap:8px}
}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#94a3b8}

/* ---------- 会员中心 ---------- */
.user-center{padding:30px 0}
.user-info-card{
  background:#fff;border-radius:var(--radius);padding:36px 32px;
  box-shadow:var(--shadow-sm);margin-bottom:30px;
}
.user-info-card h2{
  font-size:26px;font-weight:700;color:#0f172a;margin:0 0 28px 0;
}
.user-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.stat-item{
  text-align:center;padding:24px 16px;background:#f8fafc;
  border-radius:12px;transition:transform var(--transition);
}
.stat-item:hover{transform:translateY(-2px)}
.stat-value{
  font-size:28px;font-weight:800;color:var(--primary);margin-bottom:8px;
}
.stat-label{font-size:13px;color:var(--text-lighter);font-weight:500}
.vip-badge{
  display:inline-block;background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:700;
}
.vip-identity-banner{
  display:flex;align-items:center;gap:14px;margin:-12px 0 24px;padding:16px 20px;
  border:1px solid #fcd34d;border-radius:14px;background:linear-gradient(135deg,#fffbeb,#fff7ed);
  color:#92400e;box-shadow:0 6px 20px rgba(245,158,11,.12)
}
.vip-identity-banner .vip-crown{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:20px}
.vip-identity-banner strong{display:block;font-size:19px;color:#92400e}.vip-identity-banner small{display:block;color:#b45309;margin-top:2px}

/* ---------- 登录/注册 ---------- */
.auth-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:36px 18px;
  background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.20),transparent 38%),
             radial-gradient(circle at 85% 80%,rgba(236,72,153,.16),transparent 38%),var(--bg)
}
.auth-box{
  width:100%;max-width:460px;padding:34px 38px;background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 22px 60px rgba(15,23,42,.13)
}
.auth-brand{display:flex;justify-content:center;margin-bottom:22px;padding:10px;border-radius:14px;background:#0f172a}
.auth-brand img{height:42px;width:auto;max-width:190px}.auth-box h1{text-align:center;font-size:28px;margin-bottom:6px}
.auth-subtitle{text-align:center;color:var(--text-light);font-size:13px;margin-bottom:26px}
.auth-box .form-group label{display:block;margin-bottom:7px;font-size:13px;font-weight:700;color:#475569}
.auth-box .required{color:#ef4444}.auth-box .form-input{width:100%;padding:13px 15px;border:2px solid var(--border);border-radius:10px;background:#f8fafc;font-size:14px;outline:none;transition:all var(--transition)}
.auth-box .form-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.09)}
.auth-box .btn-block{width:100%;margin-top:6px;padding:13px}.auth-link{text-align:center;margin-top:20px;color:var(--text-light);font-size:14px}
.auth-back{display:block;text-align:center;margin-top:12px;color:var(--text-lighter);font-size:13px}.auth-back:hover{color:var(--primary)}
.url-fetch-row{display:flex;gap:10px}.url-fetch-row input{flex:1}.url-fetch-row .btn{white-space:nowrap}

/* ---------- 充值页面 ---------- */
.user-balance{
  text-align:center;padding:30px;margin-bottom:24px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  border-radius:var(--radius);color:#fff;font-size:17px;
}
.user-balance .balance-amount{
  font-size:40px;font-weight:900;margin-left:6px;display:inline-block;
}
.recharge-options{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;
}
.recharge-card{
  background:#fff;border:2px solid var(--border);border-radius:var(--radius);
  padding:20px 14px;text-align:center;cursor:pointer;
  transition:all var(--transition);user-select:none;
}
.recharge-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.recharge-card.selected{border-color:var(--primary);background:#eff6ff}
.recharge-card.hot{
  border-color:#f59e0b;position:relative;overflow:hidden;
}
.recharge-card.hot::after{
  content:'推荐';position:absolute;top:10px;right:-24px;
  background:#f59e0b;color:#fff;font-size:10px;padding:2px 28px;
  transform:rotate(45deg);font-weight:600;
}
.recharge-card .amount{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:6px}
.recharge-card .desc{font-size:12px;color:var(--text-lighter)}

/* ---------- VIP 页面 ---------- */
.vip-current{
  text-align:center;padding:24px;margin-bottom:24px;
  background:#f8fafc;border-radius:var(--radius);font-size:16px;color:var(--text);
}
.vip-current .vip-badge{display:inline-block;margin:0 4px}
.vip-privileges{
  background:#fff;border-radius:var(--radius);padding:28px 30px;
  margin-bottom:24px;box-shadow:var(--shadow-sm);
}
.vip-privileges h3{font-size:18px;font-weight:700;margin-bottom:16px;color:#0f172a}
.vip-privileges ul{list-style:none;padding:0}
.vip-privileges ul li{
  padding:10px 0;font-size:15px;color:var(--text);border-bottom:1px solid #f1f5f9;
}
.vip-privileges ul li i{color:#10b981;margin-right:10px;font-weight:700}
.vip-price{display:flex;justify-content:center;margin-bottom:24px}
.vip-card{text-align:center;width:100%;max-width:360px}
.vip-card .btn-block{margin-top:20px}

/* ---------- 快捷操作 ---------- */
.quick-actions{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.action-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:18px 20px;background:#fff;border-radius:var(--radius);
  color:var(--text);font-size:15px;font-weight:600;
  text-decoration:none;box-shadow:var(--shadow-sm);
  transition:all var(--transition);border:2px solid transparent;
}
.action-btn:hover{
  border-color:var(--primary);color:var(--primary);
  transform:translateY(-2px);box-shadow:var(--shadow);
}
.action-btn i{font-size:18px;opacity:.8}

/* ---------- 响应式 ---------- */
@media(max-width:992px){
  .link-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .header .container{height:58px;gap:14px}
  .logo a{font-size:20px}
  .site-logo-img{height:36px;max-width:145px}
  .nav{
    display:none;position:absolute;top:58px;left:0;right:0;
    background:rgba(15,23,42,.96);backdrop-filter:blur(20px);
    flex-direction:column;padding:16px;z-index:999;gap:4px;
  }
  .nav.open{display:flex}
  .nav-toggle{display:flex}
  .search-bar{padding:36px 0 30px}
  .search-input{padding:14px 20px;padding-right:52px;font-size:15px}
  .search-btn{width:42px;height:42px;font-size:18px}
  .link-grid{grid-template-columns:repeat(2,1fr)}
  .article-full-item{flex-direction:column}
  .article-thumb{width:100%;height:200px}
  .price-table{grid-template-columns:1fr}
  .form-container{padding:24px 20px}
  .page-title h1{font-size:24px}
  .rank-tabs a{padding:10px 14px;font-size:13px}
  .container{padding:0 16px}
  .cate-header{padding:16px 18px}
  .cate-header h2{font-size:16px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .user-stats{grid-template-columns:repeat(2,1fr)}
  .quick-actions{grid-template-columns:repeat(2,1fr)}
  .user-info-card{padding:24px 18px}
  .user-info-card h2{font-size:20px}
  .stat-value{font-size:22px}
}
@media(max-width:480px){
  .link-grid{grid-template-columns:1fr 1fr}
  .link-item{padding:18px 10px}
  .link-item .link-logo,.link-item .link-logo-default{width:38px;height:38px}
  .link-item .link-title{font-size:13px}
  .container{padding:0 12px}
  .quick-actions{grid-template-columns:1fr}
  .auth-box{padding:28px 22px}.url-fetch-row{flex-direction:column}
}

/* ============================================================
   首页导航布局 v7.0
   左侧分类索引 + 横向站点信息卡，仅作用于首页。
   ============================================================ */
.home-main-content{max-width:1440px;padding-top:24px}
.home-nav-layout{display:grid;grid-template-columns:176px minmax(0,1fr);gap:18px;align-items:start}
.category-jump{
  position:sticky;top:88px;max-height:calc(100vh - 108px);overflow:auto;
  background:#fff;border:1px solid #e5e9f2;border-radius:8px;padding:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.05)
}
.category-jump-title{
  padding:8px 10px 10px;color:#0f172a;font-size:13px;font-weight:800;
  border-bottom:1px solid #eef1f6;margin-bottom:6px
}
.category-jump-list{display:flex;flex-direction:column;gap:2px}
.category-jump-link{
  min-height:38px;padding:8px 10px;display:flex;align-items:center;gap:10px;
  border-radius:6px;color:#596579;font-size:13px;font-weight:600;
  transition:background-color .18s ease,color .18s ease
}
.category-jump-link i{width:16px;text-align:center;color:#718096;font-size:14px}
.category-jump-link:hover{background:#f1f5f9;color:#1d4ed8}
.category-jump-link.active{background:#eaf3ff;color:#1769d2}
.category-jump-link.active i{color:#1769d2}
.category-content{min-width:0}
.home-cate-section{
  scroll-margin-top:88px;border:1px solid #e5e9f2;border-radius:8px;
  margin-bottom:16px;box-shadow:0 5px 18px rgba(15,23,42,.035);overflow:hidden
}
.home-cate-section:hover{box-shadow:0 8px 24px rgba(15,23,42,.055)}
.home-cate-section .cate-header{min-height:52px;padding:12px 16px;background:#fff;border-bottom:1px solid #edf0f5}
.home-cate-section .cate-header h2{font-size:15px;gap:8px;letter-spacing:0}
.home-cate-section .cate-header h2 i{
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:6px;background:#eaf3ff;color:#2876dc;font-size:14px
}
.home-cate-section .cate-header .more,
.home-secondary-section .cate-header .more{
  padding:5px 8px;background:transparent;color:#8a94a6;border-radius:5px;font-size:12px
}
.home-cate-section .cate-header .more:hover,
.home-secondary-section .cate-header .more:hover{background:#f1f5f9;color:#1769d2;box-shadow:none}
.home-link-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:10px;
  background:#fff
}
.home-link-item{
  min-width:0;min-height:72px;padding:10px;text-align:left;
  border:1px solid #e2e6ed;border-radius:8px;background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.02);overflow:hidden
}
.home-link-item:hover{
  background:#f8fbff;border-color:#b9d7ff;transform:none;
  box-shadow:0 5px 14px rgba(37,99,235,.08)
}
.home-link-item a{height:100%;display:flex;flex-direction:row;align-items:center;gap:10px;color:#263244;min-width:0}
.home-link-item .link-logo,
.home-link-item .link-logo-default{
  width:38px;height:38px;min-width:38px;border-radius:7px;object-fit:contain;
  border:1px solid #edf0f5;background-color:#fff
}
.home-link-item .link-logo-default{
  display:flex;align-items:center;justify-content:center;border:0;
  background:#2876dc;color:#fff;font-size:16px;font-weight:800
}
.home-link-item:hover .link-logo,
.home-link-item:hover .link-logo-default{transform:none}
.link-copy{display:block;min-width:0;flex:1}
.home-link-item .link-title{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#273244;font-size:13px;line-height:1.35;font-weight:700;letter-spacing:0
}
.home-link-item .link-desc{
  display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#8a94a6;font-size:11px;line-height:1.35
}
.home-link-item.top::before{
  content:'TOP';top:3px;right:4px;padding:1px 4px;border-radius:3px;
  background:#fff0dd;color:#c65b0b;font-size:8px
}
.home-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-left:194px;margin-top:8px}
.home-secondary-section{border-radius:8px;margin-bottom:0;box-shadow:0 5px 18px rgba(15,23,42,.035)}
.home-secondary-section .cate-header{padding:14px 18px;background:#fff}
.home-secondary-section .cate-header h2{font-size:15px}
.home-secondary-section .hot-list{padding:8px 12px 14px}
.home-secondary-section .hot-item{padding:9px 10px;gap:10px;border-radius:6px}
.home-secondary-section .hot-item.top3{background:#fffaf0;border-color:#f6dfb4}
.home-secondary-section .hot-rank{width:26px;height:26px;font-size:12px}
.home-secondary-section .hot-item:nth-child(1) .hot-rank{width:28px;height:28px;font-size:13px}
.home-secondary-section .article-list{padding:6px 12px 14px}
.home-secondary-section .article-item{padding:12px 10px;border-radius:6px}

@media(max-width:1180px){
  .home-link-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .home-main-content{padding-top:16px}
  .home-nav-layout{display:block}
  .category-jump{
    position:sticky;top:58px;z-index:20;max-height:none;padding:8px;margin-bottom:12px;
    overflow-x:auto;overflow-y:hidden
  }
  /* 手机端也保留"分类导航"标题，与电脑端内容一致 */
  .category-jump-title{
    padding:0 8px 0 0;margin:0;border-bottom:none;font-size:12px;
    white-space:nowrap;align-self:center
  }
  .category-jump{display:flex;align-items:center}
  .category-jump-list{flex-direction:row;width:max-content;gap:4px}
  .category-jump-link{min-height:34px;white-space:nowrap;padding:7px 10px}
  .home-cate-section{scroll-margin-top:112px}
  .home-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-secondary-grid{margin-left:0}
}
@media(max-width:640px){
  .home-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
  .home-link-item{min-height:66px;padding:8px}
  .home-link-item .link-logo,.home-link-item .link-logo-default{width:34px;height:34px;min-width:34px}
  .home-secondary-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  .home-link-grid{grid-template-columns:1fr}
  .home-link-item{min-height:64px}
}

/* ============================================================
   分类目录页
   横向分类切换 + 高密度三列网站目录，仅作用于分类页。
   ============================================================ */
.category-page{max-width:1440px;padding-top:22px}
.category-page-tabs{
  display:flex;align-items:center;gap:6px;overflow-x:auto;padding:8px;
  background:#fff;border:1px solid #e4e8ef;border-radius:8px;
  box-shadow:0 4px 16px rgba(15,23,42,.04);scrollbar-width:thin
}
.category-page-tab{
  min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;
  border-radius:6px;color:#657084;font-size:13px;font-weight:600;white-space:nowrap
}
.category-page-tab i{width:15px;text-align:center;color:#8b95a7}
.category-page-tab em{
  min-width:20px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;background:#f1f3f6;color:#8993a5;font-size:10px;font-style:normal
}
.category-page-tab:hover{background:#f3f7fc;color:#1769d2}
.category-page-tab.active{background:#2876dc;color:#fff}
.category-page-tab.active i{color:#fff}
.category-page-tab.active em{background:rgba(255,255,255,.2);color:#fff}
.category-page-heading{display:flex;align-items:center;gap:13px;padding:22px 4px 18px}
.category-page-heading-icon{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 42px;
  border-radius:8px;background:#eaf3ff;color:#2876dc;font-size:18px
}
.category-page-heading h1{font-size:22px;font-weight:800;letter-spacing:0}
.category-page-heading p{margin-top:3px;color:#8993a5;font-size:12px}
.category-page-top-ad{margin-bottom:16px;border-radius:8px}
.category-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:16px;align-items:start}
.category-page-layout.without-sidebar{grid-template-columns:minmax(0,1fr)}
.category-page-directory{
  min-width:0;background:#fff;border:1px solid #e4e8ef;border-radius:8px;
  box-shadow:0 5px 18px rgba(15,23,42,.035);overflow:hidden
}
.category-page-toolbar{
  min-height:48px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid #edf0f5;background:#fbfcfe
}
.category-page-summary{display:flex;align-items:center;gap:10px;min-width:0}
.category-page-summary strong{color:#1f2937;font-size:14px}
.category-page-summary span{color:#8a94a6;font-size:12px;white-space:nowrap}
.category-page-sort{display:flex;align-items:center;gap:14px;color:#8a94a6;font-size:11px;white-space:nowrap}
.category-page-sort i{margin-right:4px;color:#6d7a8f}
.category-site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.category-site-card{
  position:relative;min-width:0;min-height:92px;border:1px solid #e3e7ed;border-radius:8px;
  background:#fff;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease
}
.category-site-card:hover{border-color:#b9d7ff;background:#f8fbff;box-shadow:0 5px 14px rgba(37,99,235,.08)}
.category-site-card.top::before{
  content:'TOP';position:absolute;z-index:1;top:4px;right:5px;padding:1px 4px;border-radius:3px;
  background:#fff0dd;color:#c65b0b;font-size:8px;font-weight:800;line-height:1.4
}
.category-site-card>a{height:100%;display:flex;align-items:center;gap:11px;padding:12px;color:#263244;min-width:0}
.category-site-logo{
  width:46px;height:46px;min-width:46px;border:1px solid #edf0f5;border-radius:8px;
  object-fit:contain;background:#fff
}
.category-site-logo-default{
  display:flex;align-items:center;justify-content:center;border:0;background:#2876dc;
  color:#fff;font-size:18px;font-weight:800
}
.category-site-copy{display:block;min-width:0;flex:1}
.category-site-copy>strong{
  display:block;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#273244;font-size:14px;line-height:1.35;font-weight:700
}
.category-site-card.bold .category-site-copy>strong{color:#b42318}
.category-site-desc{
  display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#8792a5;font-size:11px;line-height:1.4
}
.category-site-meta{display:block;margin-top:5px;color:#a0a8b7;font-size:10px;line-height:1.2}
.category-site-meta i{margin-right:3px}
.category-site-arrow{flex:0 0 auto;color:#c1c8d2;font-size:14px}
.category-site-card:hover .category-site-arrow{color:#2876dc}
.category-page-sidebar{
  overflow:hidden;background:#fff;border:1px solid #e4e8ef;border-radius:8px;
  box-shadow:0 5px 18px rgba(15,23,42,.035)
}
.category-page-sidebar-title{padding:12px 14px;border-bottom:1px solid #edf0f5;color:#3a4658;font-size:13px;font-weight:700}
.category-page-sidebar-title i{margin-right:7px;color:#f59e0b}
.category-page-sidebar .ad-container{width:100%;margin:0;padding:10px;background:#1d4ed8;border-radius:0}
.category-page-empty{padding:60px 20px;text-align:center;color:#8a94a6}
.category-page-empty>i{display:block;margin-bottom:10px;font-size:34px;color:#c3cad5}
.category-page-empty p{font-size:13px}
.category-page-empty a{display:inline-block;margin-top:10px;font-size:13px;font-weight:700}
.category-page-directory>.pagination{margin:18px 12px 22px}
.category-page-bottom-ad{margin-top:16px;margin-bottom:0;border-radius:8px}

@media(max-width:1120px){
  .category-site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .category-page{padding-top:14px}
  .category-page-tabs{position:sticky;top:66px;z-index:20}
  .category-page-layout{grid-template-columns:1fr}
  .category-page-sidebar{order:2}
  .category-page-sidebar .ad-container{min-height:0}
}
@media(max-width:600px){
  .category-page-heading{padding:17px 2px 14px}
  .category-page-heading-icon{width:38px;height:38px;flex-basis:38px}
  .category-page-heading h1{font-size:19px}
  .category-page-heading p{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .category-page-toolbar{align-items:flex-start;flex-direction:column;gap:5px;padding:10px 12px}
  .category-page-sort{gap:12px}
  .category-site-grid{grid-template-columns:1fr;padding:8px;gap:8px}
  .category-site-card{min-height:82px}
  .category-site-card>a{padding:10px}
  .category-site-logo{width:42px;height:42px;min-width:42px}
}

/* ============================================================
   首页搜索区广告导航
   复用原有21个首页广告位，将广告入口集中到首屏搜索区域。
   ============================================================ */
.search-bar-home{
  padding:22px 0 0;background:#174a8f;overflow:visible
}
.search-bar-home::before,.search-bar-home::after{display:none}
.search-bar-home .container{position:relative;z-index:1;max-width:1280px}
.search-bar-home form{max-width:760px;margin:0 auto 14px}
.search-bar-home .search-input{
  padding-top:13px;padding-bottom:13px;background:#fff;color:#263244;border-color:rgba(255,255,255,.75);
  box-shadow:0 6px 18px rgba(5,28,62,.18)
}
.search-bar-home .search-input::placeholder{color:#98a2b3}
.search-bar-home .search-input:focus{background:#fff;border-color:#7dd3fc;box-shadow:0 8px 24px rgba(5,28,62,.22)}
.search-bar-home .search-btn{width:42px;height:42px;background:#ff6b35;font-size:17px;box-shadow:none}
.home-top-banner{
  width:100%;height:54px;margin:0 auto 8px;overflow:hidden;border-radius:8px;
  background:#f7fafc;border:1px solid rgba(255,255,255,.42);box-shadow:0 7px 18px rgba(5,28,62,.12)
}
.home-top-banner .ad-item,.home-top-banner .ad-default-card{height:100%;min-height:52px}
.home-top-banner .ad-item-img img{width:100%;height:52px;object-fit:cover}
.home-top-banner .ad-item-text a{display:flex;align-items:center;height:100%;padding:0 18px;color:#fff;font-weight:800}
.home-top-banner .ad-default-card{border-radius:7px;background:linear-gradient(110deg,#1769d2,#2f90e9);}
.home-top-banner .ad-default-card:hover{filter:brightness(1.05)}
.search-recommend-panel{
  max-width:1180px;margin:0 auto;padding:9px;border:1px solid rgba(255,255,255,.34);
  border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(5,28,62,.16)
}
.search-recommend-header{height:30px;padding:0 2px 7px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.search-recommend-header>strong{display:flex;align-items:center;gap:7px;color:#2d3a4e;font-size:12px}
.search-recommend-header>strong i{color:#ff6b35}
.search-recommend-actions{display:flex;align-items:center;gap:9px}
.search-settle-btn{
  height:23px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border-radius:5px;
  background:#ff6b35;color:#fff;font-size:10px;font-weight:800
}
.search-settle-btn:hover{background:#f05a24;color:#fff}
.search-self-service-link{color:#6d788a;font-size:10px;font-weight:700}
.search-self-service-link:hover{color:#1769d2}
.search-recommend-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.search-recommend-slot{
  min-width:0;height:38px;overflow:hidden;border:1px solid #e1e6ed;border-radius:6px;background:#fff
}
.search-recommend-slot:nth-child(3n+1){border-top-color:#ff7a45}
.search-recommend-slot:nth-child(3n+2){border-top-color:#2f80ed}
.search-recommend-slot:nth-child(3n){border-top-color:#16a085}
.search-recommend-slot .ad-item,.search-quick-slot .ad-item{height:100%;margin:0;overflow:hidden}
.search-recommend-slot .ad-default-card{
  min-height:36px;height:36px;padding:0 7px;gap:4px;flex-wrap:nowrap;justify-content:flex-start
}
.search-recommend-slot .ad-dc-name{
  min-width:0;overflow:hidden;text-overflow:ellipsis;color:#344054;font-size:10px;font-weight:700
}
.search-recommend-slot .ad-dc-price{margin-left:auto;color:#e5481d;font-size:10px}
.search-recommend-slot .ad-dc-price em{display:none}
.search-recommend-slot .ad-dc-btn{display:none}
.search-recommend-slot .ad-item-img img{width:100%;height:36px;object-fit:cover}
.search-recommend-slot .ad-item-text a{width:100%;padding:6px 8px;color:#344054;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;text-decoration:none}
.search-quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}
.search-quick-slot{
  min-width:0;height:30px;overflow:hidden;border-radius:5px;background:#edf4ff;border:1px solid #cfe0f7
}
.search-quick-slot .ad-default-card{min-height:28px;height:28px;padding:0 8px;gap:5px;flex-wrap:nowrap}
.search-quick-slot .ad-dc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#245a9a;font-size:10px}
.search-quick-slot .ad-dc-price{color:#e5481d;font-size:10px}
.search-quick-slot .ad-dc-price em,.search-quick-slot .ad-dc-btn{display:none}
.search-quick-slot .ad-item-img img{width:100%;height:28px;object-fit:cover}
.search-quick-slot .ad-item-text a{width:100%;padding:4px 8px;color:#245a9a;font-size:10px;text-decoration:none}

@media(max-width:900px){
  .search-recommend-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .search-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .search-bar-home{padding:12px 0 14px}
  .search-bar-home form{margin:8px 0 10px}
  .search-recommend-panel{padding:7px}
  .search-recommend-header{height:29px;padding-bottom:6px}
  /* 手机端保留"自助推荐位"入口，与电脑端内容一致 */
  .search-self-service-link{font-size:10px}
  .search-recommend-grid{
    grid-template-columns:none;grid-template-rows:repeat(2,34px);grid-auto-flow:column;
    grid-auto-columns:150px;gap:5px;overflow-x:auto;scrollbar-width:thin
  }
  .search-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px}
  .search-recommend-slot{height:34px}
  .search-recommend-slot .ad-default-card{height:32px;min-height:32px}
  .search-recommend-slot .ad-dc-price{display:none}
  .search-quick-slot .ad-dc-price{display:none}
}

/* 首页入驻弹窗：信息提交复用 /ad/submit，支付由会员余额结算。 */
.home-ad-modal{display:none;position:fixed;inset:0;z-index:3000}
.home-ad-modal.is-open{display:flex;align-items:center;justify-content:center;padding:20px}
.home-ad-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}
.home-ad-dialog{
  position:relative;width:min(450px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;
  border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)
}
.home-ad-close{
  position:absolute;right:14px;top:13px;width:30px;height:30px;border:0;border-radius:50%;
  background:#f1f5f9;color:#7b8798;cursor:pointer;font-size:14px
}
.home-ad-close:hover{background:#e2e8f0;color:#1f2937}
.home-ad-dialog-head{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding-right:30px}
.home-ad-dialog-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fff1eb;color:#f05a24;font-size:17px}
.home-ad-dialog-head h2{font-size:19px;color:#1f2937;font-weight:800}
.home-ad-dialog-head p{margin-top:2px;color:#8a94a6;font-size:11px}
.home-ad-fee{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:9px;padding:12px;border-radius:8px;background:#f5f8fc}
.home-ad-fee>span,.home-ad-cycle>span{color:#8a94a6;font-size:11px}
.home-ad-fee>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2c3b50;font-size:13px}
.home-ad-fee>b{color:#e5481d;font-size:18px;white-space:nowrap}
.home-ad-fee>b span{font-size:11px;font-weight:500}
.home-ad-cycle{display:flex;align-items:center;gap:12px;padding:12px 2px 10px}
.home-ad-cycle strong{color:#2f80ed;font-size:13px}
.home-ad-cycle small{color:#9aa3b2;font-size:10px}
.home-ad-field{display:block;margin-top:10px}
.home-ad-field>span{display:block;margin-bottom:5px;color:#586579;font-size:11px;font-weight:700}
.home-ad-field input{
  display:block;width:100%;height:40px;padding:0 12px;border:1px solid #e1e6ee;border-radius:6px;
  background:#f8fafc;color:#263244;font-size:13px;outline:none;transition:border-color .18s,box-shadow .18s
}
.home-ad-field input:focus{border-color:#6aaaf1;background:#fff;box-shadow:0 0 0 3px rgba(47,128,237,.12)}
.home-ad-balance{margin-top:13px;padding:9px 10px;border-radius:6px;background:#fff8e8;color:#9a6a11;font-size:10px;line-height:1.5}
.home-ad-balance i{margin-right:5px;color:#f59e0b}
.home-ad-submit{
  display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;margin-top:14px;
  border:0;border-radius:7px;background:#2f90e9;color:#fff;cursor:pointer;font-size:14px;font-weight:800;box-shadow:0 5px 12px rgba(47,144,233,.22)
}
.home-ad-submit:hover{background:#167bd3}.home-ad-submit:disabled{opacity:.6;cursor:not-allowed}
.home-ad-submit span{font-size:12px;font-weight:600}
.home-ad-note{margin-top:10px;text-align:center;color:#9aa3b2;font-size:10px;line-height:1.5}
.home-ad-note i{margin-right:4px;color:#2f90e9}

/* 参考图中的底部快捷推荐带：紧凑胶囊、桌面一行、手机横向查看。 */
.search-quick-grid{
  display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:11px;padding:0 8px;
  overflow-x:auto;scrollbar-width:none
}
.search-quick-grid::-webkit-scrollbar{display:none}
.search-quick-slot{
  position:relative;isolation:isolate;flex:1 0 0;min-width:0;height:34px;border-radius:16px 16px 0 0;
  background:#fff;border:1px solid #d8e4f3;border-bottom:0;overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.search-quick-slot .ad-default-card{height:32px;min-height:32px;justify-content:center}
.search-quick-slot .ad-dc-name{font-size:10px;font-weight:700}
.search-quick-slot::after{
  content:"";position:absolute;z-index:2;top:0;bottom:0;left:-45%;width:30%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);
  transform:skewX(-18deg);pointer-events:none
}
.search-quick-slot:hover{border-color:#8db9e8;box-shadow:0 5px 12px rgba(47,128,237,.16);transform:translateY(-1px);animation:search-quick-jolt .34s ease-in-out}
.search-quick-slot:hover::after{animation:search-quick-sheen .55s ease-out}
.search-quick-cta{flex:0 0 150px;height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px dashed #f0a15f;border-bottom:0;border-radius:16px 16px 0 0;background:#fffaf4;color:#e9822e;font-size:10px;font-weight:800;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.search-quick-cta:hover{background:#fff2e2;color:#d86d18}
@keyframes search-quick-jolt{0%,100%{transform:translateY(-1px) rotate(0)}25%{transform:translateY(-1px) rotate(-1.2deg)}50%{transform:translateY(-1px) rotate(1.2deg)}75%{transform:translateY(-1px) rotate(-.7deg)}}
@keyframes search-quick-sheen{from{left:-45%}to{left:125%}}
@media(max-width:900px){.search-quick-grid{padding-right:8px}.search-quick-slot{flex:0 0 170px}}
@media(max-width:600px){
  .home-ad-modal.is-open{padding:12px}
  .home-ad-dialog{padding:18px 16px;border-radius:10px}
  .home-ad-cycle small{display:none}
  .search-quick-grid{gap:5px;padding:0 6px 1px}
  .search-quick-slot{flex-basis:155px}
  .search-quick-cta{flex-basis:155px}
}
@media(prefers-reduced-motion:reduce){
  .search-quick-slot,.search-quick-cta{transition:none}
  .search-quick-slot:hover{animation:none;transform:none}
  .search-quick-slot:hover::after{animation:none}
}

/* 还原旧版首页搜索区组合：精选活动 -> 热门推荐 -> 中横幅快捷条。 */
.search-bar-home{padding:20px 0 16px}
.search-bar-home form{margin-bottom:10px}
.search-brand-strip{
  max-width:1280px;margin:0 auto;padding:7px 8px 8px;overflow:hidden;
  border:1px solid #dce6f1;border-radius:8px;background:rgba(248,251,255,.98);
  box-shadow:0 7px 18px rgba(5,28,62,.11)
}
.search-brand-head{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 3px;color:#98a2b3;font-size:10px}
.search-brand-label{display:flex;align-items:center;gap:5px;color:#d86d18;font-size:10px;font-weight:800;white-space:nowrap}
.search-brand-label i{font-size:10px}
.search-brand-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-width:0}
.search-brand-slot{
  position:relative;min-width:0;height:34px;overflow:hidden;border-radius:6px;background:#fff;
  border:1px solid #dfe6ee;box-shadow:0 2px 7px rgba(26,39,58,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.search-brand-slot .ad-item,.search-brand-slot .ad-item-img,.search-brand-slot .ad-item-text,
.search-brand-slot .ad-default-card,.search-brand-slot .ad-default-html{width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:5px}
.search-brand-slot .ad-item-img img{display:block;width:100%;height:100%;object-fit:cover}
.search-brand-slot .ad-item-text a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:5px 8px;color:#263449;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700}
.search-brand-slot .ad-default-card{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 8px;background:#fff9f7;border-left:3px solid #d85b3f}
.search-brand-slot .ad-dc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263449;font-size:10px;font-weight:700}
.search-brand-slot .ad-dc-price{flex:0 0 auto;color:#e5481d;font-size:10px;font-weight:800}
.search-brand-slot .ad-dc-price em,.search-brand-slot .ad-dc-btn{display:none}
.search-brand-slot:hover{z-index:2;transform:translateY(-1px);border-color:#e28a72;box-shadow:0 6px 14px rgba(216,91,63,.14);animation:search-quick-jolt .34s ease-in-out}
.search-brand-slot.is-selected{z-index:3;border-color:#2f80ed;animation:home-ad-selected .48s ease both}
.search-quick-grid{margin-top:6px;padding:0 2px}
.search-quick-slot{border-radius:0 0 14px 14px;border-top:0;background:#fff;box-shadow:0 3px 9px rgba(26,39,58,.08)}
.search-quick-slot .ad-default-card{color:#245a9a}
.search-quick-slot.is-selected{border-color:#2f80ed;animation:home-ad-selected .48s ease both}
@media(max-width:900px){.search-brand-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  .search-bar-home{padding:12px 0 13px}
  .search-brand-strip{margin:0 6px;padding:6px}
  .search-brand-head{height:22px}
  .search-brand-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .search-brand-slot{height:32px}
  .search-quick-grid{margin-top:5px;padding:0 1px 1px}
  .search-quick-slot{flex-basis:145px}
  .search-quick-cta{flex-basis:145px}
}
@media(prefers-reduced-motion:reduce){
  .search-brand-slot,.search-quick-slot{transition:none}
  .search-brand-slot:hover,.search-brand-slot.is-selected,.search-quick-slot.is-selected{transform:none;animation:none}
}

/* 首页分类前广告墙：主横幅 + 5 个首页大篇幅广告，不显示额外标题条。 */
.home-category-ad-wall{display:grid;gap:10px;margin:0 0 20px}
.home-category-hero,.home-category-banner-slot{
  position:relative;overflow:hidden;border:1px solid #d7e1ef;border-radius:12px;background:#f7faff;
  box-shadow:0 8px 22px rgba(23,66,111,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.home-category-hero{min-height:118px;padding:8px;background:linear-gradient(135deg,#f8fbff,#edf5ff)}
.home-category-hero::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#2876dc,#5ca7f0)}
.home-category-hero-body{position:relative;min-height:102px}
.home-category-banner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.home-category-banner-slot{min-height:88px;padding:6px;background:linear-gradient(145deg,#fff,#f5f9ff)}
.home-category-hero .ad-item,.home-category-hero .ad-item-img,.home-category-hero .ad-item-text,.home-category-hero .ad-default-card,.home-category-hero .ad-default-html,
.home-category-banner-slot .ad-item,.home-category-banner-slot .ad-item-img,.home-category-banner-slot .ad-item-text,.home-category-banner-slot .ad-default-card,.home-category-banner-slot .ad-default-html{width:100%;height:100%;min-height:inherit;margin:0;border-radius:8px}
.home-category-hero .ad-item-img img,.home-category-hero .ad-item-default img{display:block;width:100%;height:118px;object-fit:cover;border-radius:8px}
.home-category-banner-slot .ad-item-img img,.home-category-banner-slot .ad-item-default img{display:block;width:100%;height:88px;object-fit:cover;border-radius:7px}
.home-category-hero .ad-item-text a,.home-category-hero .ad-default-link a,.home-category-banner-slot .ad-item-text a,.home-category-banner-slot .ad-default-link a{display:flex;align-items:center;justify-content:center;min-height:inherit;padding:10px 16px;border-radius:8px;background:linear-gradient(105deg,#1b5fae,#398de3);color:#fff;font-weight:800;text-decoration:none}
.home-category-hero .ad-default-card,.home-category-banner-slot .ad-default-card{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:1px dashed #a8c6e5;background:linear-gradient(105deg,#f8fbff,#edf6ff);color:#243b56;transition:inherit}
.home-category-hero .ad-dc-name,.home-category-banner-slot .ad-dc-name{color:#243b56;font-size:14px;font-weight:800}.home-category-hero .ad-dc-price,.home-category-banner-slot .ad-dc-price{color:#e75a2d;font-size:17px}.home-category-hero .ad-dc-price em,.home-category-banner-slot .ad-dc-price em{color:#7c8b9d;font-size:11px}.home-category-hero .ad-dc-btn,.home-category-banner-slot .ad-dc-btn{padding:5px 8px;border-radius:5px;background:#2876dc;color:#fff;font-size:11px;text-decoration:none}
.home-category-hero:hover,.home-category-banner-slot:hover{transform:translateY(-2px);border-color:#8dbbe9;box-shadow:0 12px 24px rgba(27,95,174,.13)}
.home-category-hero.is-selected,.home-category-banner-slot.is-selected{border-color:#2f80ed;animation:home-ad-selected .48s ease both}
@media(max-width:900px){.home-category-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .home-category-ad-wall{gap:8px;margin-bottom:12px}.home-category-hero{min-height:82px;padding:6px;border-radius:10px}.home-category-hero-body{min-height:70px}.home-category-banner-grid{grid-template-columns:1fr;gap:8px}.home-category-banner-slot{min-height:70px;padding:5px;border-radius:9px}.home-category-hero .ad-item-img img,.home-category-hero .ad-item-default img{height:82px}.home-category-banner-slot .ad-item-img img,.home-category-banner-slot .ad-item-default img{height:70px}.home-category-hero .ad-default-card,.home-category-banner-slot .ad-default-card{gap:7px;padding:8px}.home-category-hero .ad-dc-name,.home-category-banner-slot .ad-dc-name{font-size:13px}.home-category-hero .ad-dc-price,.home-category-banner-slot .ad-dc-price{font-size:15px}.home-category-hero .ad-dc-btn,.home-category-banner-slot .ad-dc-btn{display:none}
}
@media(prefers-reduced-motion:reduce){.home-category-hero,.home-category-banner-slot,.home-category-hero .ad-default-card,.home-category-banner-slot .ad-default-card{transition:none}.home-category-hero:hover,.home-category-banner-slot:hover,.home-category-hero.is-selected,.home-category-banner-slot.is-selected{transform:none;animation:none}}

/* 首页广告位色系：后台分组、付款名称与前台容器按同一业务含义对应。 */
.site-top-rail{border-color:#9fc8dd;background:#f2fbff}.site-top-rail .ad-dc-name,.site-top-rail .ad-item-text a{color:#176b86}.site-top-rail .ad-dc-price{color:#d86d18}
.search-recommend-panel{border-color:rgba(255,188,123,.58)}
.search-recommend-header>strong{color:#8d4c13}.search-recommend-slot{border-color:#f0d5bd;background:#fffdf9}.search-recommend-slot:nth-child(n){border-top-color:#ef9a52}
.search-recommend-slot .ad-dc-name,.search-recommend-slot .ad-item-text a{color:#8b4b19}.search-recommend-slot .ad-dc-price{color:#d85b24}
.search-quick-slot{border-color:#9ed5cb;background:#f2fbf8}.search-quick-slot .ad-dc-name,.search-quick-slot .ad-item-text a{color:#0d7167}.search-quick-slot .ad-dc-price{color:#d06a27}
.search-quick-slot:hover{border-color:#45a99b;box-shadow:0 5px 12px rgba(13,113,103,.16)}
.home-category-hero .ad-dc-name,.home-category-hero .ad-item-text a,.home-category-banner-slot .ad-dc-name,.home-category-banner-slot .ad-item-text a{color:#1e5fa8}.home-category-hero .ad-dc-price,.home-category-banner-slot .ad-dc-price{color:#e3682c}
.home-category-banner-slot .ad-default-card{border-color:#a9cbea;background:#f4f9ff}.home-category-banner-slot:hover{border-color:#639fdb}
.paid-ad-label{color:#1c5f9f}.paid-ad-label i{color:#2563eb}.ad-position-index-sidebar{background:#245f9f;border-color:#5c99d1}.ad-position-index-bottom{background:#b85a2d;border-color:#dc906f}

/* ============================================================
   广告位视觉系统 v6
   大横幅、侧栏与迷你位使用不同尺寸，共用圆角、边框和交互语言。
   ============================================================ */
.site-top-rail{
  width:calc(100% - 16px);max-width:1280px;min-height:28px;margin:6px auto;padding:0 14px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #dbe5f0;
  border-radius:8px;background:#f8fafc;box-shadow:0 3px 12px rgba(15,23,42,.05);color:#41536a
}
.site-top-rail .ad-item{width:100%;margin:0}.site-top-rail .ad-item-text a,.site-top-rail .ad-default-link a{padding:5px 10px;color:#41536a;font-size:12px;text-decoration:none}
.site-top-rail .ad-default-card{min-height:26px;padding:0}.site-top-rail .ad-dc-name{color:#41536a;font-size:12px}.site-top-rail .ad-dc-price{color:#d85b24;font-size:12px}.site-top-rail .ad-dc-btn{color:#2876dc;font-size:11px;text-decoration:none}

.ad-container{
  position:relative;box-sizing:border-box;max-width:1280px;min-height:76px;margin:0 auto 24px;padding:12px 18px;
  display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;border:1px solid #dce5ef;
  border-radius:10px;background:#f8fafc;box-shadow:0 7px 20px rgba(15,23,42,.06);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease
}
.ad-container:hover{border-color:#b9cce0;box-shadow:0 10px 26px rgba(15,23,42,.09);transform:translateY(-1px)}
.ad-container .ad-item{width:100%;margin:0;overflow:hidden;border-radius:7px}
.ad-container .ad-item-img img,.ad-container .ad-item-default img{display:block;width:100%;max-height:150px;object-fit:cover;border-radius:7px}
.ad-container .ad-item-text a,.ad-container .ad-default-link a{display:flex;min-height:48px;align-items:center;justify-content:center;padding:8px 14px;color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.ad-container .ad-item-code{width:100%}
.ad-container .ad-default-card{min-height:50px;padding:8px 12px;border-radius:7px}
.ad-container .ad-dc-name{font-size:14px}.ad-container .ad-dc-price{font-size:17px}.ad-container .ad-dc-btn{text-decoration:none}

.ad-position-index-top,.ad-position-index-bottom{background:#b65329;border-color:#d78967}
.ad-position-list-top,.ad-position-list-bottom{background:#16715d;border-color:#48a28d}
.ad-position-detail-top,.ad-position-detail-bottom{background:#7050a0;border-color:#9a7cc4}
.ad-position-all-footer{margin-top:30px;margin-bottom:8px;background:#1f6878;border-color:#5a96a3}
.ad-position-index-sidebar,.ad-position-list-sidebar{
  width:100%;max-width:none;min-height:300px;height:100%;margin:0;padding:12px;background:#285c9b;border-color:#5e8bc0
}
.ad-position-index-sidebar .ad-item-img img,.ad-position-list-sidebar .ad-item-img img,
.ad-position-index-sidebar .ad-item-default img,.ad-position-list-sidebar .ad-item-default img{max-height:420px;object-fit:cover}

.content-ad-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:18px;align-items:start;min-width:0}
.content-ad-layout.without-sidebar{grid-template-columns:minmax(0,1fr)}
.content-ad-main{min-width:0}
.paid-ad-sidebar,.home-paid-sidebar{overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.05)}
.paid-ad-label{height:38px;display:flex;align-items:center;gap:7px;padding:0 13px;border-bottom:1px solid #e7edf4;color:#42526a;font-size:12px;font-weight:800}
.paid-ad-label i{color:#ef7b3a}
.paid-ad-sidebar .ad-container,.home-paid-sidebar .ad-container,.category-page-sidebar .ad-container{border:0;border-radius:0;box-shadow:none;transform:none}

.home-lower-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:16px;margin:8px 0 0 194px;align-items:stretch}
.home-lower-layout.without-sidebar{grid-template-columns:minmax(0,1fr)}
.home-lower-layout .home-secondary-grid{margin:0;align-self:start}
.home-paid-sidebar{display:flex;flex-direction:column}.home-paid-sidebar .ad-container{flex:1;min-height:100%;margin:0}

.home-top-banner{border-radius:10px}.home-top-banner .ad-item,.home-top-banner .ad-item img,.home-top-banner .ad-default-card{border-radius:8px}
.search-recommend-slot{border-radius:7px;box-shadow:0 2px 7px rgba(15,23,42,.04)}
.search-recommend-slot:hover{border-color:#9ebedf;box-shadow:0 5px 13px rgba(15,23,42,.09)}

/* 自助广告页：每个位置同时展示前台位置和素材规格。 */
.ad-marketplace .ad-section{overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.055)}
.ad-marketplace .ad-section-hd{border-radius:0;box-shadow:none}
.ad-marketplace .ad-mini-row,.ad-marketplace .ad-banner-row,.ad-marketplace .ad-my-list,.ad-marketplace .ad-form-wrap{border:0;border-radius:0;background:#f7f9fc}
.ad-marketplace .ad-mini-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}
.ad-marketplace .ad-mini-card{min-width:0;padding:12px;border-width:1px;border-radius:8px;background:#fff}
.ad-marketplace .ad-mini-card-img{width:42px;height:42px;flex:0 0 42px;font-size:19px;border-radius:7px}
.ad-marketplace .ad-mini-name{font-size:12px}.ad-marketplace .ad-mini-price{font-size:14px}
.ad-mini-placement{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#778397;font-size:10px}
.ad-marketplace .ad-mini-btn{padding:3px 9px;border-radius:5px;font-size:10px;box-shadow:none}
.ad-marketplace .ad-banner-row{gap:10px;padding:14px}
.ad-marketplace .ad-banner-md,.ad-marketplace .ad-banner-lg{border:1px solid #dce5ef;border-radius:8px;box-shadow:0 3px 10px rgba(15,23,42,.04)}
.ad-marketplace .ad-banner-md{min-height:108px;padding:16px}.ad-marketplace .ad-banner-lg{padding:22px 24px}
.ad-marketplace .ad-banner-md:hover,.ad-marketplace .ad-banner-lg:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(15,23,42,.10)}
.ad-market-spec{display:block;width:100%;margin-top:4px;color:inherit;font-size:10px;font-weight:500;line-height:1.45;opacity:.78}
.ad-banner-lg-text .ad-market-spec{color:rgba(255,255,255,.88)}
.ad-position-guide{margin-top:8px;padding:10px 12px;border:1px solid #dbe7f3;border-radius:7px;background:#f5f9fd;color:#66758a;font-size:11px;line-height:1.6}
.ad-position-guide strong{color:#285c9b}

@media(max-width:1100px){
  .ad-marketplace .ad-mini-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-lower-layout{grid-template-columns:minmax(0,1fr) 220px}
}
@media(max-width:900px){
  .home-lower-layout{margin-left:0}
  .content-ad-layout{grid-template-columns:minmax(0,1fr) 220px}
  .ad-marketplace .ad-mini-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .content-ad-layout,.home-lower-layout{grid-template-columns:1fr}
  .paid-ad-sidebar,.home-paid-sidebar{margin-top:10px}
  .ad-position-index-sidebar,.ad-position-list-sidebar{min-height:90px}
  .ad-marketplace .ad-banner-row,.ad-marketplace .ad-banner-row-3{grid-template-columns:1fr}
  .ad-marketplace .ad-banner-lg-body{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:520px){
  .site-top-rail{width:calc(100% - 12px);margin:4px 6px;padding:0 8px}
  .site-top-rail .ad-dc-btn{display:none}
  .ad-container{min-height:66px;padding:9px 10px;border-radius:8px}
  .home-top-banner .ad-default-html a{min-width:0;padding-left:12px!important;padding-right:12px!important;gap:8px!important}
  .home-top-banner .ad-default-html strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px!important}
  .home-top-banner .ad-default-html span{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}
  .ad-marketplace .ad-mini-row{grid-template-columns:1fr;padding:10px}
  .ad-marketplace .ad-banner-row{padding:10px}
  .ad-marketplace .ad-section-hd{align-items:flex-start;padding:12px 14px;font-size:15px}
  .ad-marketplace .ad-section-hd em{max-width:58%;font-size:10px;line-height:1.4;text-align:right}
}

/* 首页横幅广告位：搜索区外保留大横幅 5 行和中横幅 2x2。 */
.home-ad-showcase{
  padding:16px 0 20px;background:#f4f7fb;border-bottom:1px solid #e7ecf2
}
.home-ad-showcase .container{display:flex;flex-direction:column;gap:12px}
.home-ad-banner-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.home-ad-medium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.home-ad-banner-slot,.home-ad-medium-slot{
  position:relative;min-width:0;overflow:hidden;border:1px solid #dfe6ee;border-radius:8px;
  background:#fff;box-shadow:0 3px 10px rgba(26,39,58,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.home-ad-banner-slot{height:72px}
.home-ad-medium-slot{height:68px}
.home-ad-showcase .ad-item,.home-ad-showcase .ad-item-img,.home-ad-showcase .ad-item-text,
.home-ad-showcase .ad-default-card,.home-ad-showcase .ad-default-html{width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:7px}
.home-ad-showcase .ad-item-img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px}
.home-ad-showcase .ad-item-text a{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:8px 12px;
  overflow:hidden;color:#263449;font-size:12px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap
}
.home-ad-showcase .ad-default-card{
  display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;background:#fff;color:#263449
}
.home-ad-showcase .ad-dc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263449;font-size:12px;font-weight:700}
.home-ad-showcase .ad-dc-price{flex:0 0 auto;color:#e5481d;font-size:12px;font-weight:800}
.home-ad-showcase .ad-dc-price em{font-size:10px;font-style:normal;font-weight:600}
.home-ad-showcase .ad-dc-btn{flex:0 0 auto;color:#68758a;font-size:10px;text-decoration:underline}
.home-ad-banner-slot .ad-default-card{border-left:4px solid #d85b3f;background:#fff9f7}
.home-ad-medium-slot .ad-default-card{border-left:4px solid #168075;background:#f5fbfa}
.home-ad-banner-slot:hover,.home-ad-medium-slot:hover{
  z-index:2;transform:translateY(-2px);border-color:#8eb3d8;box-shadow:0 8px 18px rgba(35,72,110,.13)
}
.home-ad-showcase .is-selected{z-index:3;border-color:#2f80ed;animation:home-ad-selected .48s ease both}
.search-recommend-slot{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.search-recommend-slot:hover{transform:translateY(-1px)}
.search-recommend-slot.is-selected{z-index:2;border-color:#2f80ed;animation:home-ad-selected .48s ease both}
@keyframes home-ad-selected{
  0%{transform:translateY(0);box-shadow:0 0 0 0 rgba(47,128,237,.35)}
  45%{transform:translateY(-2px) scale(1.012);box-shadow:0 0 0 5px rgba(47,128,237,.16)}
  100%{transform:translateY(-1px);box-shadow:0 7px 16px rgba(35,72,110,.14)}
}
@media(max-width:760px){
  .home-ad-showcase{padding:10px 0 14px}
  .home-ad-showcase .container{gap:8px}
  .home-ad-banner-stack,.home-ad-medium-grid{grid-template-columns:1fr;gap:7px}
  .home-ad-banner-slot{height:60px}
  .home-ad-medium-slot{height:58px}
  .home-ad-showcase .ad-default-card{padding:7px 9px;gap:5px}
  .home-ad-showcase .ad-dc-name,.home-ad-showcase .ad-dc-price{font-size:11px}
  .home-ad-showcase .ad-dc-btn{display:none}
}
@media(prefers-reduced-motion:reduce){
  .search-recommend-slot,.home-ad-banner-slot,.home-ad-medium-slot{transition:none}
  .search-recommend-slot:hover,.search-recommend-slot.is-selected,.home-ad-banner-slot:hover,.home-ad-medium-slot:hover,.home-ad-showcase .is-selected{transform:none;animation:none}
}

/* 热门推荐迷你位：文字始终作为卡片主信息居中，价格独立靠右避免挤压标题。 */
.search-recommend-slot .ad-default-card{
  position:relative;display:flex;align-items:center;justify-content:center;padding:0 34px 0 7px;
  text-align:center
}
.search-recommend-slot .ad-dc-name{
  display:block;min-width:0;max-width:100%;overflow:hidden;color:#8b4b19;font-size:11px;
  font-weight:700;line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap
}
.search-recommend-slot .ad-dc-price{
  position:absolute;right:7px;top:50%;margin:0;transform:translateY(-50%);color:#d85b24;
  font-size:10px;font-weight:800;line-height:1;white-space:nowrap
}
.search-recommend-slot .ad-item-text a{
  display:flex;align-items:center;justify-content:center;height:100%;padding:0 8px;color:#8b4b19;
  font-size:11px;font-weight:700;line-height:1.25;text-align:center
}
@media(max-width:600px){
  .search-recommend-slot .ad-default-card{padding:0 7px}
  .search-recommend-slot .ad-dc-name{font-size:10px}
}
/* Site detail page */
.site-detail-page{background:#f4f6fb;padding:24px 0 48px;min-height:calc(100vh - 160px)}
.site-detail-shell{max-width:1160px;margin:0 auto;padding:0 20px}
.site-detail-ad{max-width:1160px;margin:0 auto 20px;padding:0 20px}.site-detail-ad-bottom{margin-top:24px}
.site-detail-breadcrumb{display:flex;align-items:center;gap:9px;color:#8a96a8;font-size:13px;margin:2px 0 16px}.site-detail-breadcrumb a{color:#66758a;text-decoration:none}.site-detail-breadcrumb a:hover{color:#4f46e5}.site-detail-breadcrumb i{color:#b2bbc8}.site-detail-breadcrumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #e7ebf3;border-radius:12px;padding:24px 28px;box-shadow:0 8px 24px rgba(37,55,87,.05)}
.site-detail-identity{display:flex;align-items:center;gap:20px;min-width:0}.site-detail-logo{width:88px;height:88px;flex:0 0 88px;border-radius:16px;background:#f2f4ff;border:1px solid #e2e6fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.site-detail-logo img{width:100%;height:100%;object-fit:contain}.site-detail-logo-fallback{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:36px;font-weight:700}.site-detail-heading{min-width:0}.site-detail-eyebrow{display:inline-block;color:#6671c9;font-size:13px;margin-bottom:7px}.site-detail-heading h1{margin:0;color:#1f2b3d;font-size:28px;line-height:1.25;word-break:break-word}.site-detail-url{margin:9px 0 0;color:#8995a7;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-detail-url i{margin-right:5px;color:#a0aaca}
.site-detail-visit{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;background:#4f46e5;color:#fff;border-radius:8px;padding:13px 20px;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 6px 14px rgba(79,70,229,.2);transition:background .2s,transform .2s}.site-detail-visit:hover{background:#4338ca;color:#fff;transform:translateY(-1px)}
.site-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;margin-top:20px}.site-detail-main,.site-detail-aside,.site-detail-related{background:#fff;border:1px solid #e7ebf3;border-radius:10px}.site-detail-section{padding:24px 26px}.site-detail-section+.site-detail-section{border-top:1px solid #edf0f5}.site-detail-section-title{display:flex;align-items:center;gap:9px;color:#28364a}.site-detail-section-title i{color:#5962c7;font-size:16px}.site-detail-section-title h2{margin:0;font-size:17px;font-weight:700}.site-detail-section-title span{margin-left:auto;color:#99a4b5;font-size:12px}.site-detail-description,.site-detail-tips p{margin:16px 0 0;color:#566579;font-size:14px;line-height:2;word-break:break-word}.site-detail-tips{background:#fbfcff}.site-detail-aside{padding:22px 24px;height:max-content}.site-detail-aside-label{font-size:16px;font-weight:700;color:#28364a;margin-bottom:16px}.site-detail-meta{margin:0}.site-detail-meta>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #edf0f5;font-size:13px}.site-detail-meta dt{color:#8b97a8}.site-detail-meta dd{margin:0;color:#48576b;text-align:right}.site-detail-status{color:#16845b}.site-detail-status i{margin-right:3px}
.site-detail-related{margin-top:20px;padding:22px 24px}.site-detail-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.site-detail-related-item{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid #edf0f5;border-radius:8px;color:#45546a;text-decoration:none;transition:border-color .2s,background .2s}.site-detail-related-item:hover{border-color:#c9cafa;background:#fafaff}.site-detail-related-item img,.site-detail-related-fallback{width:36px;height:36px;flex:0 0 36px;border-radius:9px;object-fit:contain;background:#f1f3ff}.site-detail-related-fallback{display:flex;align-items:center;justify-content:center;color:#5962c7;font-weight:700}.site-detail-related-item span:not(.site-detail-related-fallback){display:flex;flex-direction:column;min-width:0}.site-detail-related-item strong{font-size:13px;color:#334157;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-detail-related-item small{margin-top:4px;color:#929dae;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-detail-related-item>i{margin-left:auto;color:#a4adba}
@media(max-width:768px){.site-detail-page{padding-top:16px}.site-detail-shell{padding:0 14px}.site-detail-ad{padding:0 14px}.site-detail-hero{align-items:stretch;flex-direction:column;padding:20px}.site-detail-identity{align-items:flex-start}.site-detail-logo{width:76px;height:76px;flex-basis:76px;border-radius:13px}.site-detail-heading h1{font-size:23px}.site-detail-visit{justify-content:center;width:100%;box-sizing:border-box}.site-detail-layout{grid-template-columns:1fr;gap:14px}.site-detail-aside{padding:18px 20px}.site-detail-related-grid{grid-template-columns:1fr}}
@media(max-width:375px){.site-detail-identity{gap:13px}.site-detail-logo{width:68px;height:68px;flex-basis:68px}.site-detail-heading h1{font-size:21px}.site-detail-section{padding:20px}.site-detail-related{padding:20px 16px}}
/* Mobile detail-page overflow guard for 375px viewports. */
@media (max-width: 768px) {
  .site-detail-page,
  .site-detail-shell,
  .site-detail-ad,
  .site-detail-hero,
  .site-detail-layout,
  .site-detail-main,
  .site-detail-aside,
  .site-detail-related {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .site-detail-shell,
  .site-detail-ad {
    padding-left: 14px;
    padding-right: 14px;
  }
  .site-detail-identity,
  .site-detail-heading {
    min-width: 0;
    max-width: 100%;
  }
  .site-detail-heading h1,
  .site-detail-url {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .site-detail-url {
    line-height: 1.45;
  }
  .site-detail-ad .ad-item,
  .site-detail-ad .ad-item-code,
  .site-detail-ad .ad-default-card {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 375px) {
  .site-detail-hero {
    padding: 18px 14px;
  }
  .site-detail-identity {
    gap: 11px;
  }
  .site-detail-heading h1 {
    font-size: 20px;
  }
}
/* Mobile detail-page overflow guard for 375px viewports. */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  .header .container {
    min-width: 0;
    gap: 10px;
  }
  .nav {
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .nav::-webkit-scrollbar {
    display: none;
  }
  .site-detail-page,
  .site-detail-shell,
  .site-detail-ad,
  .site-detail-hero,
  .site-detail-layout,
  .site-detail-main,
  .site-detail-aside,
  .site-detail-related {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .site-detail-shell,
  .site-detail-ad {
    padding-left: 14px;
    padding-right: 14px;
  }
  .site-detail-identity,
  .site-detail-heading {
    min-width: 0;
    max-width: 100%;
  }
  .site-detail-heading h1,
  .site-detail-url {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .site-detail-url {
    line-height: 1.45;
  }
  .site-detail-ad .ad-item,
  .site-detail-ad .ad-item-code,
  .site-detail-ad .ad-default-card {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 375px) {
  .site-detail-hero {
    padding: 18px 14px;
  }
  .site-detail-identity {
    gap: 11px;
  }
  .site-detail-heading h1 {
    font-size: 20px;
  }
}
/* Paid-ad detail presentation. */
.ad-detail-page .ad-detail-hero{align-items:center}
.ad-detail-page .ad-detail-hero .site-detail-logo-fallback{background:linear-gradient(135deg,#7050a0,#8b5cf6);font-size:30px}
.ad-detail-content{min-height:180px}
.ad-detail-render{display:flex;align-items:center;justify-content:center;min-height:120px;margin-top:18px;padding:18px;border:1px solid #ece8f5;border-radius:10px;background:#fbfaff;overflow:hidden;text-align:center}
.ad-detail-render img{display:block;max-width:100%;height:auto;max-height:360px;border-radius:8px}
.ad-detail-render a{color:#5d3b91;font-size:18px;font-weight:700;text-decoration:none}
.ad-detail-render a:hover{text-decoration:underline}
.ad-detail-render>div,.ad-detail-render>span,.ad-detail-render>p{max-width:100%}
@media (max-width: 768px){
  .ad-detail-page .ad-detail-hero{align-items:stretch}
  .ad-detail-render{min-height:100px;padding:14px}
  .ad-detail-render a{font-size:16px}
}
/* Unified ad-content alignment: keep the creative intact inside each slot. */
.ad-container,
.search-home-slot,
.home-ad-showcase .ad-item,
.home-ad-showcase .ad-default-card {
  text-align: center;
}

.ad-container .ad-item,
.ad-container .ad-item-default,
.ad-container .ad-item-code,
.search-home-slot .ad-item,
.search-home-slot .ad-item-default,
.search-home-slot .ad-item-code {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  min-height: inherit;
  margin: 0 auto;
  text-align: center;
}

.ad-container .ad-item-img,
.ad-container .ad-item-img > a,
.search-home-slot .ad-item-img,
.search-home-slot .ad-item-img > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: inherit;
}

.ad-container .ad-item-img img,
.ad-container .ad-item-default img,
.search-home-slot .ad-item-img img,
.search-home-slot .ad-item-default img,
.home-ad-showcase .ad-item-img img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: auto;
  border-radius: 7px;
}

.ad-container .ad-item-text,
.ad-container .ad-item-text > a,
.ad-container .ad-default-link,
.ad-container .ad-default-link > a,
.search-home-slot .ad-item-text,
.search-home-slot .ad-item-text > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: inherit;
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
}

.ad-container .ad-item-text > a,
.ad-container .ad-default-link > a,
.search-home-slot .ad-item-text > a {
  padding: 8px 14px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.ad-container .ad-item-code,
.ad-container .ad-default-html,
.search-home-slot .ad-item-code,
.search-home-slot .ad-default-html {
  overflow: hidden;
  overflow-wrap: anywhere;
}

.ad-container .ad-item-code > *,
.ad-container .ad-default-html > *,
.search-home-slot .ad-item-code > *,
.search-home-slot .ad-default-html > * {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 600px) {
  .ad-container .ad-item-img img,
  .ad-container .ad-item-default img,
  .search-home-slot .ad-item-img img,
  .search-home-slot .ad-item-default img {
    max-width: 100%;
    max-height: 100%;
  }
  .ad-container .ad-item-text > a,
  .ad-container .ad-default-link > a,
  .search-home-slot .ad-item-text > a {
    padding-left: 8px;
    padding-right: 8px;
  }
}
/* Ad fill: images cover the current slot; text stays centered. */
.ad-container .ad-item-img,
.ad-container .ad-item-img > a,
.search-home-slot .ad-item-img,
.search-home-slot .ad-item-img > a,
.home-ad-showcase .ad-item-img,
.home-ad-showcase .ad-item-img > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.ad-container .ad-item-img img,
.ad-container .ad-item-default img,
.search-home-slot .ad-item-img img,
.search-home-slot .ad-item-default img,
.home-ad-showcase .ad-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  margin: 0;
  border-radius: inherit;
}

.ad-container .ad-item-text,
.ad-container .ad-item-text > a,
.ad-container .ad-default-link,
.ad-container .ad-default-link > a,
.search-home-slot .ad-item-text,
.search-home-slot .ad-item-text > a,
.home-ad-showcase .ad-item-text,
.home-ad-showcase .ad-item-text > a,
.ad-container .ad-default-card,
.search-home-slot .ad-default-card,
.home-ad-showcase .ad-default-card {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ad-container .ad-item-text > a,
.ad-container .ad-default-link > a,
.search-home-slot .ad-item-text > a,
.home-ad-showcase .ad-item-text > a {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
}
/* Home category slots use a default-buy-link wrapper around image creatives. */
.home-category-hero .ad-default-buy-link,
.home-category-banner-slot .ad-default-buy-link,
.home-ad-showcase .ad-default-buy-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.home-category-hero .ad-default-buy-link img,
.home-category-banner-slot .ad-default-buy-link img,
.home-ad-showcase .ad-default-buy-link img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  margin: 0;
  border-radius: inherit;
}

/* Safe markup returned by the public AI HTML-ad helper. Inline styles are
   intentionally stripped at save time, so presentation lives here instead. */
.ad-item-code .ai-ad-card,
.ad-default-html .ai-ad-card,
.ad-detail-render .ai-ad-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:100%;
  box-sizing:border-box;
  padding:10px 14px;
  overflow:hidden;
  border:1px solid #d7e3f4;
  border-radius:8px;
  background:#f6f9ff;
  color:#27446f;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ad-item-code .ai-ad-card:hover,
.ad-item-code .ai-ad-card:focus,
.ad-default-html .ai-ad-card:hover,
.ad-default-html .ai-ad-card:focus,
.ad-detail-render .ai-ad-card:hover,
.ad-detail-render .ai-ad-card:focus {
  border-color:#8eb1df;
  background:#fff;
  box-shadow:0 5px 14px rgba(37,84,140,.12);
  color:#1f4f8d;
  outline:0;
  transform:translateY(-1px);
}
.ad-item-code .ai-ad-card-title,
.ad-default-html .ai-ad-card-title,
.ad-detail-render .ai-ad-card-title {
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  color:inherit;
  font-size:15px;
  font-weight:800;
}
.ad-item-code .ai-ad-card-copy,
.ad-default-html .ai-ad-card-copy,
.ad-detail-render .ai-ad-card-copy {
  display:block;
  max-width:100%;
  margin-top:3px;
  overflow-wrap:anywhere;
  color:#597293;
  font-size:12px;
}
.ad-item-code .ai-ad-card-cta,
.ad-default-html .ai-ad-card-cta,
.ad-detail-render .ai-ad-card-cta {
  display:block;
  max-width:100%;
  margin-top:6px;
  color:#2d6eb7;
  font-size:11px;
  font-weight:800;
}
.search-home-slot .ad-item-code .ai-ad-card,
.search-home-slot .ad-default-html .ai-ad-card,
.home-ad-showcase .ad-item-code .ai-ad-card,
.home-ad-showcase .ad-default-html .ai-ad-card {
  padding:5px 8px;
  border:0;
  border-radius:inherit;
  background:#fff;
  box-shadow:none;
}
.search-home-slot .ad-item-code .ai-ad-card:hover,
.search-home-slot .ad-default-html .ai-ad-card:hover,
.home-ad-showcase .ad-item-code .ai-ad-card:hover,
.home-ad-showcase .ad-default-html .ai-ad-card:hover {
  background:#f5f9ff;
  box-shadow:none;
  transform:none;
}
.search-home-slot .ai-ad-card-title,
.home-ad-showcase .ai-ad-card-title {font-size:11px}
.search-home-slot .ai-ad-card-copy,
.home-ad-showcase .ai-ad-card-copy {display:none}
.search-home-slot .ai-ad-card-cta,
.home-ad-showcase .ai-ad-card-cta {margin-top:1px;font-size:9px}
.home-category-hero .ad-item-code .ai-ad-card,
.home-category-hero .ad-default-html .ai-ad-card,
.home-category-banner-slot .ad-item-code .ai-ad-card,
.home-category-banner-slot .ad-default-html .ai-ad-card {
  height:100%;
  min-height:0;
}
@media (max-width:600px) {
  .ad-item-code .ai-ad-card,
  .ad-default-html .ai-ad-card,
  .ad-detail-render .ai-ad-card {padding:8px 10px}
  .ad-item-code .ai-ad-card-title,
  .ad-default-html .ai-ad-card-title,
  .ad-detail-render .ai-ad-card-title {font-size:13px}
  .ad-item-code .ai-ad-card-copy,
  .ad-default-html .ai-ad-card-copy,
  .ad-detail-render .ai-ad-card-copy {font-size:11px}
}
