/* ===== certificate.css（批次 12 内联提取自 certificate.jsp <style>）.certv2 独立设计，不依赖全局浮动体系 ===== */
/* ===== certificate 页独立设计（不依赖全局浮动体系，彻底解决偏左问题） ===== */
.certv2{font-family:'Poppins',Arial,sans-serif;background:#f4f7fa;}
.certv2 .cv2-hero{background:linear-gradient(135deg,#0b3a5e 0%,#0b75be 60%,#1d97d8 100%);color:#fff;padding:54px 20px 96px;text-align:center;position:relative;overflow:hidden;}
.certv2 .cv2-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.14),transparent 42%);pointer-events:none;}
.certv2 .cv2-hero h2{font-family:'Oswald',Arial,sans-serif;font-size:34px;letter-spacing:1px;margin:0 0 10px;text-transform:uppercase;}
.certv2 .cv2-hero p{max-width:760px;margin:0 auto;font-size:15px;line-height:1.9;color:#dbeaf5;}
.certv2 .cv2-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px;position:relative;z-index:1;}
.certv2 .cv2-chips span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 18px;font-size:13px;letter-spacing:.5px;backdrop-filter:blur(2px);}
.certv2 .cv2-body{max-width:1220px;margin:-56px auto 0;padding:0 20px 60px;position:relative;z-index:2;}
.certv2 .cv2-nav{display:flex;gap:10px;justify-content:center;margin-bottom:26px;}
.certv2 .cv2-nav a{display:inline-block;background:#fff;border:1px solid #dfe8f0;color:#3b5a72;border-radius:999px;padding:9px 26px;font-size:14px;font-weight:600;text-decoration:none;transition:all .25s;box-shadow:0 2px 8px rgba(16,42,67,.06);}
.certv2 .cv2-nav a.on,.certv2 .cv2-nav a:hover{background:#0b75be;border-color:#0b75be;color:#fff;}
.certv2 .cv2-card{background:#fff;border-radius:14px;box-shadow:0 6px 24px rgba(16,42,67,.08);padding:30px 34px 26px;margin-bottom:26px;}
.certv2 .cv2-card>p{font-size:14.5px;line-height:1.95;color:#445;margin:0 0 10px;}
.certv2 .cv2-tip{display:inline-flex;align-items:center;gap:8px;background:#eaf4fb;color:#0b5c99;border:1px dashed #9cc7e8;border-radius:8px;padding:9px 14px;font-size:13px;margin:6px 0 22px;}
.certv2 .cv2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px;margin:0;}
.certv2 .cv2-grid a{position:relative;display:block;background:#fff;border:1px solid #e6edf3;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(16,42,67,.06);transition:transform .28s,box-shadow .28s;cursor:zoom-in;}
.certv2 .cv2-grid a:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(11,117,190,.22);}
.certv2 .cv2-frame{height:170px;display:flex;align-items:center;justify-content:center;background:#fbfdfe;padding:10px;}
.certv2 .cv2-frame img{max-width:100%;max-height:150px;width:auto;height:auto;display:block;transition:transform .35s;}
.certv2 .cv2-grid a:hover .cv2-frame img{transform:scale(1.06);}
.certv2 .cv2-cap{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eef3f7;padding:9px 12px;font-size:12.5px;color:#4b6a85;}
.certv2 .cv2-cap b{font-family:'Oswald',Arial,sans-serif;font-weight:600;color:#0b75be;letter-spacing:.5px;}
.certv2 .cv2-cap i{font-style:normal;opacity:.45;transition:opacity .25s;font-size:14px;}
.certv2 .cv2-grid a:hover .cv2-cap i{opacity:1;}
.certv2 .cv2-cta{text-align:center;background:linear-gradient(135deg,#0b3a5e,#0b75be);border-radius:14px;padding:38px 22px;color:#fff;}
.certv2 .cv2-cta h3{font-family:'Oswald',Arial,sans-serif;font-size:24px;margin:0 0 8px;letter-spacing:.5px;}
.certv2 .cv2-cta p{margin:0 0 18px;font-size:14px;color:#d7e9f6;}
.certv2 .cv2-cta a{display:inline-block;margin:4px 8px;padding:11px 30px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;}
.certv2 .cv2-cta a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.25);}
.certv2 .cv2-cta .btn-wa{background:#25d366;color:#fff;}
.certv2 .cv2-cta .btn-mail{background:#fff;color:#0b75be;}
@media (max-width:640px){
  .certv2 .cv2-hero h2{font-size:24px;}
  .certv2 .cv2-card{padding:20px 16px;}
  .certv2 .cv2-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
  .certv2 .cv2-frame{height:130px;}
}
