/* ==========================================================================
   bluebeier — full-site design system (override build/app.css)
   Based on Ardot design file (bluebeier-site.ardot)
   ========================================================================== */

/* ---------- 1. FONT FACES (local, no external CDN) ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter/Inter-Regular.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter/Inter-Medium.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter/Inter-SemiBold.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter/Inter-Bold.woff2') format('woff2')}

/* ---------- 2. DESIGN TOKENS ---------- */
:root{
  /* brand palette */
  --bb-navy-900:#08264A;
  --bb-navy-800:#0F376F;
  --bb-navy-700:#15396F;
  --bb-navy-600:#1F4985;
  --bb-amber-500:#F0A830;
  --bb-amber-600:#E89010;
  --bb-amber-700:#C97A0A;

  /* text */
  --bb-ink-900:#0A1828;
  --bb-ink-700:#1F3559;
  --bb-ink-500:#5B6B8A;
  --bb-ink-400:#7C8AAA;
  --bb-ink-300:#A6B2C8;

  /* surface */
  --bb-bg:#FFFFFF;
  --bb-bg-soft:#F5F7FB;
  --bb-bg-section:#F5F7FB;
  --bb-bg-section-deep:#EEF2F9;
  --bb-border:#E3E9F1;
  --bb-border-strong:#CFD8E5;

  /* type */
  --bb-font:'Inter','Helvetica Neue','PingFang SC','Microsoft YaHei',Arial,sans-serif;
  --bb-font-display:'Inter','Helvetica Neue','PingFang SC','Microsoft YaHei',Arial,sans-serif;

  /* radius */
  --bb-r-4:4px; --bb-r-6:6px; --bb-r-8:8px; --bb-r-10:10px;
  --bb-r-12:12px; --bb-r-14:14px; --bb-r-16:16px; --bb-r-20:20px; --bb-r-28:28px;

  /* shadows */
  --bb-shadow-sm:0 1px 2px rgba(15,55,111,.04);
  --bb-shadow:0 4px 14px rgba(15,55,111,.06),0 2px 4px rgba(15,55,111,.04);
  --bb-shadow-lg:0 14px 40px rgba(15,55,111,.10);
}

/* ---------- 3. GLOBAL TYPOGRAPHY ---------- */
html,body,body *{
  font-family:var(--bb-font) !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body{
  color:var(--bb-ink-900);
  background:var(--bb-bg);
  font-size:15px;
  line-height:1.6;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:var(--bb-font-display) !important;
  font-weight:700;
  color:var(--bb-ink-900);
  letter-spacing:-.01em;
  line-height:1.2;
}
h1,.h1{font-size:40px}
h2,.h2{font-size:32px}
h3,.h3{font-size:24px}
h4,.h4{font-size:20px}
h5,.h5{font-size:16px}
h6,.h6{font-size:14px}

a{color:var(--bb-navy-800);text-decoration:none}
a:hover{color:var(--bb-amber-600)}

p{color:var(--bb-ink-700);line-height:1.7}

/* ---------- 4. ANNOUNCE BAR ---------- */
.bb-announcebar{
  background:var(--bb-navy-800);
  color:#fff;
  font-size:13px;
  font-weight:500;
  text-align:center;
  padding:12px 0;
  letter-spacing:.01em;
}

/* ---------- 5. HEADER ---------- */
header,header.header,.top-bar-wrap,.header-content,.top-bar{
  background:#fff !important;
}
header .navbar,.navbar-default,.header-nav{background:#fff !important;border:0 !important}
.bb-header{
  position:sticky;top:0;z-index:900;
  background:#fff;
  border-bottom:1px solid var(--bb-border);
}
.bb-header-inner{
  max-width:1680px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 120px;
  gap:48px;
}
.bb-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.bb-logo-mark{
  width:48px;height:48px;border-radius:10px;
  background:var(--bb-navy-800);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:20px;letter-spacing:-.02em;
}
.bb-logo-text{display:flex;flex-direction:column;line-height:1.1}
.bb-logo-name{font-size:20px;font-weight:700;color:var(--bb-ink-900);letter-spacing:-.01em}
.bb-logo-tag{font-size:10px;font-weight:500;color:var(--bb-ink-500);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}

.bb-nav{display:flex;align-items:center;gap:36px}
.bb-nav a{
  font-size:15px;font-weight:500;color:var(--bb-ink-700);
  padding:8px 0;position:relative;text-decoration:none;
  transition:color .15s;
}
.bb-nav a:hover,.bb-nav a.active{color:var(--bb-amber-500)}
.bb-nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--bb-amber-500);border-radius:2px;
}

.bb-header-right{display:flex;align-items:center;gap:12px}
.bb-account{position:relative;display:inline-flex}
.bb-account .bb-drop-toggle{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:10px;
  background:#fff;border:1px solid var(--bb-border);
  color:var(--bb-ink-900);text-decoration:none;cursor:pointer;
  font-size:14px;font-weight:600;line-height:1;
  transition:border-color .15s,color .15s;
}
.bb-account .bb-drop-toggle:hover{border-color:var(--bb-navy-800);color:var(--bb-navy-800)}
.bb-account .bb-drop-toggle svg{width:18px;height:18px;flex:0 0 18px}
.bb-account .bb-drop-toggle::after{display:none}
.bb-account .bb-account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bb-account .dropdown-menu{left:0;right:auto;min-width:200px}
.bb-cart-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:10px;
  background:#fff;border:1px solid var(--bb-border);
  color:var(--bb-ink-900);font-weight:600;font-size:14px;
  cursor:pointer;
}
.bb-cart-badge:hover{border-color:var(--bb-navy-800)}
.bb-cart-badge svg{width:18px;height:18px}
.bb-btn-cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 22px;border-radius:10px;
  background:var(--bb-amber-500);color:#fff;
  font-weight:600;font-size:14px;
  border:0;cursor:pointer;
  transition:background .15s,transform .1s;
}
.bb-btn-cta:hover{background:var(--bb-amber-600);color:#fff}
.bb-btn-cta:active{transform:translateY(1px)}

/* ---------- 6. BUTTONS (global) ---------- */
.btn,.button,.btn-primary,.btn-default,.btn-secondary{
  border-radius:var(--bb-r-10) !important;
  font-weight:600 !important;font-size:14px !important;
  padding:11px 22px !important;
  transition:all .15s ease !important;
  border:1px solid transparent !important;
}
.btn-primary,.bb-btn-primary{
  background:var(--bb-navy-800) !important;border-color:var(--bb-navy-800) !important;color:#fff !important;
}
.btn-primary:hover,.bb-btn-primary:hover{background:var(--bb-navy-900) !important;border-color:var(--bb-navy-900) !important;color:#fff !important}
.btn-outline,.bb-btn-outline{
  background:#fff !important;color:var(--bb-navy-800) !important;
  border:1px solid var(--bb-navy-800) !important;
}
.btn-outline:hover,.bb-btn-outline:hover{background:var(--bb-navy-800) !important;color:#fff !important}
.btn-amber,.bb-btn-amber{
  background:var(--bb-amber-500) !important;color:#fff !important;border-color:var(--bb-amber-500) !important;
}
.btn-amber:hover,.bb-btn-amber:hover{background:var(--bb-amber-600) !important;border-color:var(--bb-amber-600) !important;color:#fff !important}

/* ---------- 7. HERO ---------- */
.bb-hero{
  background-color:var(--bb-bg-soft);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  padding:48px 120px;
}
.bb-hero-inner{
  max-width:1440px;margin:0 auto;
  display:flex;align-items:center;
  min-height:520px;
}
.bb-eyebrow{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:var(--bb-amber-500);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:14px;   /* 2026-07-30: pill 紧贴 H2 没呼吸，加 14px 让两行视觉分节 */
}
.bb-eyebrow.muted{background:var(--bb-bg-section-deep);color:var(--bb-navy-800)}
.bb-h1{font-size:54px;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--bb-ink-900);margin:18px 0 16px}
.bb-h2{font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--bb-ink-900);margin-bottom:10px}
.bb-lead{font-size:18px;line-height:1.6;color:var(--bb-ink-500);margin-bottom:32px;max-width:560px}
.bb-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px}
.bb-cert-row{margin-top:32px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bb-cert-label{font-size:11px;font-weight:600;color:var(--bb-ink-500);letter-spacing:.18em;text-transform:uppercase}
.bb-cert-row span{font-size:13px;font-weight:500;color:var(--bb-ink-700)}

.bb-hero-text-panel{
  background:rgba(255,255,255,.40);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-radius:var(--bb-r-28);
  padding:36px 40px;
  max-width:600px;
  box-shadow:var(--bb-shadow-lg);
}
.bb-hero-text-panel .bb-lead{color:#000}

/* ---------- 8. TRUST STRIP ---------- */
.bb-trust{
  background:var(--bb-navy-800);
  padding:24px 120px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.bb-trust-item{color:#fff;text-align:center;padding:8px 0}
.bb-trust-item .num{font-size:36px;font-weight:700;color:var(--bb-amber-500);line-height:1;margin-bottom:6px}
.bb-trust-item .label{font-size:13px;color:rgba(255,255,255,.85);font-weight:500}

/* ---------- 9. SECTIONS ---------- */
.bb-section{padding:80px 120px}
.bb-section.soft{background:var(--bb-bg-soft)}
.bb-section.deep{background:var(--bb-bg-section-deep)}
.bb-section-inner{max-width:1440px;margin:0 auto}
.bb-h2-section{font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--bb-ink-900);margin-bottom:10px}
.bb-h3-section{font-size:32px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--bb-ink-900);margin-bottom:8px}
.bb-sub{font-size:16px;color:var(--bb-ink-500);margin-bottom:36px;max-width:720px}
.bb-text-center{text-align:center}
.bb-mx-auto{margin-left:auto;margin-right:auto}

/* ---------- 10. PRODUCT GRID / CARDS ---------- */
.bb-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bb-product-card{
  background:#fff;border-radius:16px;border:1px solid var(--bb-border);
  padding:16px;display:flex;flex-direction:column;gap:12px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.bb-product-card:hover{transform:translateY(-2px);box-shadow:var(--bb-shadow);border-color:var(--bb-border-strong)}
.bb-product-card.featured{border-color:var(--bb-amber-500);box-shadow:0 0 0 2px rgba(240,168,48,.15)}
.bb-product-card .picwrap{
  aspect-ratio:1/1;border-radius:12px;background:#EEF2F9;overflow:hidden;position:relative;
}
.bb-product-card .picwrap img{width:100%;height:100%;object-fit:cover;display:block}
.bb-product-card .badge-ribbon{
  position:absolute;top:12px;left:12px;
  background:var(--bb-amber-500);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;
}
.bb-product-card .name{font-size:18px;font-weight:700;color:var(--bb-ink-900)}
.bb-product-card .spec{font-size:13px;color:var(--bb-ink-500)}
.bb-product-card .card-actions{margin-top:auto}
.bb-product-card .add-cart{
  display:flex;align-items:center;justify-content:center;
  background:var(--bb-navy-800);color:#fff;
  padding:11px 16px;border-radius:var(--bb-r-10);
  font-weight:600;font-size:14px;width:100%;
  border:0;cursor:pointer;text-decoration:none;
  transition:background .15s;
}
.bb-product-card .add-cart:hover{background:var(--bb-navy-900);color:#fff}
.bb-product-card.featured .add-cart{background:var(--bb-amber-500)}
.bb-product-card.featured .add-cart:hover{background:var(--bb-amber-600)}

/* ---------- 11. FEATURE GRID ---------- */
.bb-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bb-feature-card{
  background:#fff;border-radius:16px;border:1px solid var(--bb-border);
  padding:28px;
}
.bb-feature-card .icon{
  width:44px;height:44px;border-radius:10px;
  background:var(--bb-amber-500);display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.bb-feature-card .icon svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.bb-feature-card .title{font-size:18px;font-weight:700;color:var(--bb-ink-900);margin-bottom:8px}
.bb-feature-card .desc{font-size:14px;color:var(--bb-ink-500);line-height:1.6}

/* ---------- 12. COMPATIBILITY ROW ---------- */
.bb-comp-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.bb-comp-chip{
  padding:14px 24px;border-radius:12px;background:#fff;
  border:1px solid var(--bb-border);font-weight:600;color:var(--bb-ink-700);
}

/* ---------- 13. PROCESS (two-column) ---------- */
.bb-process{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.bb-process-pic{border-radius:24px;overflow:hidden;aspect-ratio:1/1.1;background:#cfd8e5}
.bb-process-pic img{width:100%;height:100%;object-fit:cover}
.bb-step{display:flex;gap:16px;margin-bottom:22px}
.bb-step .num{
  width:32px;height:32px;border-radius:8px;
  background:var(--bb-amber-500);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px;flex:none;
}
.bb-step .title{font-size:16px;font-weight:700;color:var(--bb-ink-900);margin-bottom:4px}
.bb-step .desc{font-size:14px;color:var(--bb-ink-500);line-height:1.55}

/* ---------- 14. CLIENTS / TESTIMONIALS ---------- */
/* 品牌 logo 卡片网格（10 个品牌，每张 = logo + 品牌名） */
.bb-clients{
  display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
  justify-items:center;align-items:start;
  margin-top:40px;
}
.bb-brand-card{
  width:100%;max-width:200px;
  background:#fff;border:1px solid var(--bb-border);border-radius:14px;
  padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;
  transition:transform .25s ease,box-shadow .25s ease;
}
.bb-brand-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(15,55,111,.08)}
.bb-brand-logo{
  max-width:140px;max-height:64px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(100%);opacity:.85;
  transition:filter .25s ease,opacity .25s ease;
}
.bb-brand-card:hover .bb-brand-logo{filter:grayscale(0%);opacity:1}
.bb-brand-logo-placeholder{
  width:140px;height:64px;display:flex;align-items:center;justify-content:center;
  background:var(--bb-bg-soft);border:1px dashed var(--bb-border);
  border-radius:8px;color:var(--bb-ink-500);font-size:12px;font-weight:600;letter-spacing:.1em;
}
.bb-brand-name{font-size:13px;font-weight:600;color:var(--bb-ink-700);text-align:center}

/* 客户口碑板块（通栏背景图 + 轮播） */
.bb-testimonials{
  position:relative;
  background-size:cover;background-position:center;
  padding:80px 0;
  color:#fff;
  overflow:hidden;
}
.bb-testimonials::before{
  /* 暗色蒙版，让白字始终可读 */
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,38,74,.82) 0%, rgba(8,38,74,.78) 100%);
  z-index:0;
}
.bb-testimonials-inner{
  position:relative;z-index:1;
  max-width:1280px;margin:0 auto;padding:0 24px;
}
.bb-testimonials .bb-eyebrow{
  background:var(--bb-amber-500);color:#fff;
}
.bb-testimonials .bb-h2-section{color:#fff}
.bb-testi-title{color:#fff;margin-bottom:40px}

/* 轮播 */
.bb-testi-carousel{
  position:relative;
  max-width:880px;margin:0 auto;
}
.bb-testi-track{
  position:relative;
  width:100%;
}
.bb-testi-card{
  background:#fff;color:var(--bb-ink-900);
  border-radius:18px;
  padding:48px 56px;
  box-shadow:0 10px 40px rgba(0,0,0,.18);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;
  margin:0 auto;
}
.bb-testi-avatar{
  width:72px;height:72px;border-radius:50%;object-fit:cover;
  border:3px solid var(--bb-bg-soft);
}
.bb-testi-avatar-placeholder{
  width:72px;height:72px;border-radius:50%;
  background:var(--bb-amber-500);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:48px;font-weight:700;line-height:1;
  font-family:Georgia,serif;
}
.bb-testi-quote{
  font-size:20px;font-weight:500;color:var(--bb-ink-900);line-height:1.55;
  max-width:680px;margin:0 auto;
}
.bb-testi-who{
  display:flex;flex-direction:column;gap:2px;
  padding-top:16px;border-top:1px solid var(--bb-border);
  min-width:200px;
}
.bb-testi-author{font-size:15px;font-weight:700;color:var(--bb-ink-900)}
.bb-testi-role{font-size:13px;color:var(--bb-ink-500)}

/* 左右切换箭头 */
.bb-testi-prev,.bb-testi-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.95);color:var(--bb-navy-800);
  border:none;cursor:pointer;font-size:28px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  transition:background .2s ease,transform .2s ease;
  z-index:2;
}
.bb-testi-prev:hover,.bb-testi-next:hover{background:var(--bb-amber-500);color:#fff}
.bb-testi-prev{left:-64px}
.bb-testi-next{right:-64px}

/* 指示点 */
.bb-testi-dots{
  display:flex;gap:8px;justify-content:center;margin-top:32px;
}
.bb-testi-dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.4);border:none;cursor:pointer;
  transition:background .2s ease,width .2s ease;
  padding:0;
}
.bb-testi-dot.active{background:var(--bb-amber-500);width:24px;border-radius:5px}

/* ---------- 15. CERTS ---------- */
.bb-certs{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.bb-cert-pill{
  background:#fff;border:1px solid var(--bb-border);border-radius:10px;
  padding:12px 22px;font-weight:600;font-size:13px;color:var(--bb-ink-700);
}

/* ---------- 16. CTA BAND ---------- */
.bb-cta-band{
  background:var(--bb-navy-800);
  padding:48px 120px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.bb-cta-band .text{font-size:22px;font-weight:600;color:#fff;line-height:1.3}
.bb-cta-band.amber{background:var(--bb-amber-500)}
.bb-cta-band.amber .text{color:var(--bb-ink-900)}
.bb-cta-band.amber .btn-cta{background:var(--bb-navy-800);color:#fff}
.bb-cta-band.amber .btn-cta:hover{background:var(--bb-navy-900)}

/* ---------- 17. FINAL CTA (dark hero) ---------- */
.bb-finalcta{
  background:var(--bb-navy-800);
  background-size:cover;background-position:center;
  padding:80px 120px;text-align:center;color:#fff;
  position:relative;
}
.bb-finalcta::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,38,74,.55),rgba(8,38,74,.7))}
.bb-finalcta>*{position:relative;z-index:1}
.bb-finalcta h2{font-size:40px;font-weight:700;color:#fff;margin-bottom:10px}
.bb-finalcta p{font-size:16px;color:rgba(255,255,255,.85);max-width:680px;margin:0 auto 26px}

/* ---------- 18. NUMBERS STRIP (about) ---------- */
.bb-numbers{
  background:var(--bb-navy-800);
  background-size:cover;background-position:center;
  padding:50px 120px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  text-align:center;
}
.bb-numbers .num{font-size:48px;font-weight:700;color:var(--bb-amber-500);line-height:1}
.bb-numbers .label{font-size:14px;color:rgba(255,255,255,.85);margin-top:8px}
.bb-farm-band{width:100%;height:360px;background-size:cover;background-position:center}

/* ---------- 19. FOOTER ---------- */
.bb-footer{
  background:var(--bb-navy-900);
  color:rgba(255,255,255,.85);
  padding:48px 120px 24px;
}
.bb-footer-inner{max-width:1440px;margin:0 auto}
.bb-footer-cols{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;
  padding-bottom:32px;
}
.bb-footer-brand{display:flex;flex-direction:column;gap:14px}
.bb-footer-brand .name{font-size:22px;font-weight:700;color:#fff}
.bb-footer-brand .tag{font-size:13px;color:rgba(255,255,255,.7);line-height:1.6;max-width:280px}
.bb-footer-brand .contact{font-size:13px;color:#fff;font-weight:600}
.bb-footer-brand .contact a{color:#fff}
.bb-footer-col h5{font-size:11px;font-weight:600;color:var(--bb-amber-500);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.bb-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.bb-footer-col li a{font-size:13px;color:rgba(255,255,255,.85);text-decoration:none}
.bb-footer-col li a:hover{color:#fff}
.bb-footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:20px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:rgba(255,255,255,.55);
}

/* ---------- 20. CART PAGE ---------- */
.bb-cart{padding:48px 120px;background:var(--bb-bg-soft);min-height:600px}
.bb-cart-inner{max-width:1440px;margin:0 auto}
.bb-cart-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;margin-top:24px}
.bb-cart-items{display:flex;flex-direction:column;gap:16px}
.bb-cart-item{
  background:#fff;border:1px solid var(--bb-border);border-radius:16px;
  padding:16px;display:flex;gap:20px;align-items:center;
}
.bb-cart-item .pic{width:80px;height:80px;border-radius:10px;background:#cfd8e5;flex:none;overflow:hidden}
.bb-cart-item .pic img{width:100%;height:100%;object-fit:cover}
.bb-cart-item .info{flex:1;display:flex;flex-direction:column;gap:4px}
.bb-cart-item .name{font-size:16px;font-weight:700;color:var(--bb-ink-900)}
.bb-cart-item .spec{font-size:13px;color:var(--bb-ink-500)}
.bb-cart-item .qty{font-size:13px;color:var(--bb-ink-500);min-width:80px}
.bb-cart-item .price{font-size:18px;font-weight:700;color:var(--bb-ink-900);min-width:130px;text-align:right}
.bb-summary{
  background:#fff;border:1px solid var(--bb-border);border-radius:16px;
  padding:24px;height:fit-content;
}
.bb-summary h3{font-size:18px;font-weight:700;margin-bottom:16px}
.bb-summary-row{display:flex;justify-content:space-between;padding:8px 0;color:var(--bb-ink-700);font-size:14px}
.bb-summary-row.total{border-top:1px solid var(--bb-border);margin-top:8px;padding-top:16px;font-weight:700;color:var(--bb-ink-900);font-size:18px}
.bb-summary-row.total .v{color:var(--bb-amber-500)}
.bb-summary .btn{width:100%;margin-top:14px;padding:14px !important}

/* ---------- 21. VOLUME / TIER CARDS ---------- */
.bb-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bb-tier{
  background:#fff;border:1px solid var(--bb-border);border-radius:16px;
  padding:24px;display:flex;flex-direction:column;gap:10px;
}
.bb-tier.featured{border-color:var(--bb-amber-500);box-shadow:0 0 0 2px rgba(240,168,48,.10)}
.bb-tier .lvl{font-size:11px;font-weight:600;color:var(--bb-amber-500);letter-spacing:.18em;text-transform:uppercase}
.bb-tier .qty{font-size:14px;font-weight:600;color:var(--bb-ink-700)}
.bb-tier .pct{font-size:36px;font-weight:700;color:var(--bb-ink-900);line-height:1.1}
.bb-tier.featured .pct{color:var(--bb-amber-500)}
.bb-tier .price{font-size:13px;color:var(--bb-ink-500)}

/* ---------- 22. PILLS (filter tabs) ---------- */
.bb-pills{display:flex;gap:12px;flex-wrap:wrap}
.bb-pill{
  padding:10px 24px;border-radius:999px;
  background:#fff;border:1px solid var(--bb-border);
  font-size:14px;font-weight:600;color:var(--bb-ink-700);
  cursor:pointer;text-decoration:none;
  transition:all .15s;
}
.bb-pill:hover{border-color:var(--bb-navy-800)}
.bb-pill.active{background:var(--bb-navy-800);color:#fff;border-color:var(--bb-navy-800)}

/* ---------- 23. PAGE HEADER (sub pages) ---------- */
.bb-page-header{padding:64px 120px 24px;background:#fff}
.bb-page-header-inner{max-width:1440px;margin:0 auto}
.bb-page-header h1{font-size:40px;font-weight:700;color:var(--bb-navy-800);margin:14px 0 10px;letter-spacing:-.01em}
.bb-page-header p{font-size:16px;color:var(--bb-ink-500);max-width:1000px;line-height:1.65}

/* ---------- 23b. PAGE HEADER (背景图变体，2026-07-30 改造：商品分类页) ---------- */
.bb-page-header--bg{
  background-color:var(--bb-bg-soft);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  padding:32px 120px;
}
.bb-page-header--bg .bb-page-header-inner{
  display:flex;align-items:center;
  min-height:240px;
}
.bb-page-header-text-panel{
  background:rgba(255,255,255,.40);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-radius:var(--bb-r-20);
  padding:32px 36px;
  max-width:680px;
  box-shadow:var(--bb-shadow-lg);
}
.bb-page-header-text-panel .bb-eyebrow{
  background:var(--bb-amber-500);color:#fff;
}
.bb-page-header-text-panel h1{font-size:40px;font-weight:700;color:var(--bb-navy-800);margin:14px 0 10px;letter-spacing:-.01em}
.bb-page-header-text-panel p{font-size:16px;color:#000;max-width:1000px;line-height:1.65;margin:0}

/* 2026-07-31: 单页（折扣/关于）首屏文字卡片居中 */
.bb-page-header--center .bb-page-header-inner{justify-content:center}
.bb-page-header--center .bb-page-header-text-panel{margin-left:auto;margin-right:auto}
/* 2026-07-31: 联系我们页首屏文字卡片居左 */
.bb-text-left{text-align:left}
.bb-page-header--left .bb-page-header-inner{justify-content:flex-start}
.bb-page-header--left .bb-page-header-text-panel{margin-left:0;margin-right:auto}

/* 2026-07-31: 联系我们页邮箱下方「实时 AI 咨询」按钮 */
.bb-btn-ai-contact{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:9px 20px;background:transparent;color:#0F376F;border:1.5px solid rgba(15,55,111,.35);border-radius:999px;font-weight:500;font-size:14px;text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.bb-btn-ai-contact:hover{border-color:#0F376F;background:rgba(15,55,111,.05);color:#0F376F}
.bb-btn-ai-contact:active{background:rgba(15,55,111,.1)}


/* 商品分类页：导航条（面包屑）已按要求移除，CSS 兜底 */
.page-categories .breadcrumb-filter{display:none !important}

/* ---------- 23c. PAGE CATEGORIES (产品栏：去上下边距 + 去sticky + 价格/筛选卡重设计，2026-07-30) ---------- */

/* 1) 首屏与商品栏之间：明显呼吸空间（48px；用户多次反馈 24px 在视觉上几乎不可见）。
      关键：必须 !important — 文件下面 line ~650 有
      .page-categories .container-fluid{padding-left:120px;padding-right:120px;max-width:1680px;margin:0 auto}
      specificity 相同（0,2,0）+ 后定义 → 把这里的 margin 全部清零了。
      !important 强过普通 margin shorthand。
   2) 商品栏底部只设 margin-top；margin-bottom 留 0（避免和下方 .bb-cta-band padding-top:48px 叠加
      成 96px 视觉间距；CTA 自己的 padding-top 保留作间距）。 */
.page-categories .bb-page-header--bg{padding-bottom:48px}
.page-categories .container-fluid{
  /* 单一来源提供 gap: 商品栏 48, 上方 hero padding-bottom 48(同 specificity 走容器 mT 兜底) */
  margin-top:48px !important;
  margin-bottom:48px !important;    /* 2026-07-30 第 4 次: 0→48,
                                       之前占位 div 把容器撑大、导致 mB 一加就视觉 200+。
                                       占位 div 已清掉，left/right 列同高 327px，
                                       商品卡满到容器底，再加 mB 不会"被放大"。
                                       上下对称 48 (与 hero→商品栏 margin-top 一致)。 */
  margin-left:auto !important;
  margin-right:auto !important;
}
/* 下方 CTA 板块原本 padding:48px 120px。
   商品栏 mB:48 + CTA padding-top:24 视觉 48(白)+24(深蓝) = 文字距商品卡 72px，合适。
   仅限分类页（后代选择器 specificity 高于全局 .bb-cta-band），不动其他页面的 CTA。 */
.page-categories .bb-cta-band{padding:24px 120px !important}

/* 2) 去掉左侧筛选栏跟随滚动（覆盖 scrolltofixed 插件设的 inline position:fixed）。
      CSS 重要级 > 行内非 !important 样式，所以 !important 生效。 */
.page-categories .left-column .x-fixed-top{
  position:static !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  width:auto !important;
}
/* 2b) scrolltofixed 插件会在 x-fixed-top 后面插一个等高的"占位 div"（防止原元素
      变 fixed 时内容跳位）。我们已把 x-fixed-top 强制 static（永不 fixed），
      这个占位 div 就是纯废空间——它会把 left-column 撑高到 ~608px，连带把
      flex row 的 right-column（商品栏）拉伸到 608px、商品卡下面留 280px+ 白洞。
      隐藏这个无 class 占位 div 后，row 高度回到内容自然高度，商品栏下面紧贴 CTA。 */
.page-categories .left-column > div:not([class]){
  display:none !important;
}

/* 3) 筛选卡片重设计（价格 + 属性卡片统一：白底/边/阴影/分隔 header）
      关键：模板里 card-header / card-body 都带 Bootstrap 工具类 "p-0"
      （padding:0 !important），会把这里的 padding 强压回 0。
      同样加 !important 强过 p-0。 */
.page-categories .left-column .card{
  background:#fff;
  border:1px solid var(--bb-border);
  border-radius:var(--bb-r-16);
  box-shadow:var(--bb-shadow-sm);
  margin-bottom:22px;
  overflow:hidden;
}
.page-categories .left-column .card .card-header{
  background:var(--bb-bg-soft);
  border-bottom:1px solid var(--bb-border);
  padding:16px 22px !important;
  margin:0;
}
.page-categories .left-column .card .card-header h4{
  font-size:13px;
  font-weight:700;
  color:var(--bb-navy-800);
  letter-spacing:.04em;
  margin:0;
  text-transform:uppercase;
}
.page-categories .left-column .card .card-body{padding:20px 22px !important}
.page-categories .left-column .card .list-group-flush{padding:10px 22px 18px !important}

/* 4) jQuery UI 价格滑块：品牌化（琥珀色 range + 白圆 handle） */
#price-slider.ui-slider{
  position:relative;
  background:var(--bb-bg-soft);
  border:1px solid var(--bb-border);
  border-radius:999px;
  height:6px;
  margin:20px 10px 24px;
}
#price-slider .slider-bg{display:none}
#price-slider .ui-slider-range{
  background:var(--bb-amber-500);
  border-radius:999px;
  border:0;
}
#price-slider .ui-slider-handle{
  background:#fff;
  border:3px solid var(--bb-amber-500);
  border-radius:50% !important;
  width:20px !important;height:20px !important;
  top:-8px !important;margin-top:0 !important;
  cursor:grab;
  box-shadow:0 1px 4px rgba(15,55,111,.18);
  outline:none;
}
#price-slider .ui-slider-handle:focus{box-shadow:0 0 0 4px rgba(240,168,48,.25)}

/* 5) 价格范围输入框（从 / 到） */
.page-categories .left-column .price-range{
  font-size:12px;
  color:var(--bb-ink-500);
  gap:8px;
}
.page-categories .left-column .price-range .form-control{
  width:64px;
  border:1px solid var(--bb-border);
  border-radius:8px;
  padding:5px 8px;
  font-size:13px;
  color:var(--bb-ink-900);
  background:#fff;
  text-align:center;
}
.page-categories .left-column .price-range .form-control:focus{
  border-color:var(--bb-amber-500);
  box-shadow:0 0 0 3px rgba(240,168,48,.18);
  outline:none;
}

/* 6) 属性筛选 checkbox 行 */
.page-categories .left-column .list-group-flush .list-group-item{
  padding:7px 0;
  font-size:14px;
  color:var(--bb-ink-900);
  background:transparent;
}
.page-categories .left-column .form-check-input{margin-top:.2em}
.page-categories .left-column .form-check-input:checked{
  background-color:var(--bb-navy-800);
  border-color:var(--bb-navy-800);
}

/* ---------- 24. BOOKEND CONTAINER (full-width wrappers) ---------- */
.bb-wrap{max-width:1440px;margin:0 auto;padding:0 120px}

/* ---------- 25. RESPONSIVE ---------- */
@media (max-width:1280px){
  .bb-header-inner,.bb-hero,.bb-trust,.bb-section,.bb-cta-band,.bb-finalcta,.bb-numbers,.bb-footer,.bb-cart,.bb-page-header,.bb-announce-inner{padding-left:60px;padding-right:60px}
}
@media (max-width:1024px){
  .bb-header-inner,.bb-hero,.bb-trust,.bb-section,.bb-cta-band,.bb-finalcta,.bb-numbers,.bb-footer,.bb-cart,.bb-page-header,.bb-announce-inner{padding-left:32px;padding-right:32px}
  .bb-hero-inner{flex-direction:column;align-items:flex-start;gap:24px;min-height:auto}
  .bb-hero-text-panel{max-width:100%}
  .bb-product-grid{grid-template-columns:repeat(2,1fr)}
  .bb-feature-grid{grid-template-columns:1fr 1fr}
  .bb-tiers{grid-template-columns:1fr 1fr}
  .bb-process{grid-template-columns:1fr}
  .bb-trust{grid-template-columns:1fr 1fr}
  .bb-numbers{grid-template-columns:1fr 1fr}
  .bb-footer-cols{grid-template-columns:1fr 1fr}
  .bb-cart-grid{grid-template-columns:1fr}
  .bb-h1{font-size:40px}
  .bb-h2-section,.bb-h3-section{font-size:28px}
}
@media (max-width:640px){
  .bb-nav{display:none}
  .bb-product-grid,.bb-feature-grid,.bb-tiers{grid-template-columns:1fr}
  .bb-trust,.bb-numbers,.bb-footer-cols{grid-template-columns:1fr}
  .bb-h1{font-size:32px}
}

/* ================================================================
   26. HOME ADDITIONS (QA card / ghost button)
   ================================================================ */
.bb-qa-card{
  position:relative;overflow:hidden;
  background:
    /* 减弱最左侧的暗度，让牛奶图在左边也透出来，减少"左侧死区"感 */
    linear-gradient(105deg, rgba(15,55,111,.70) 0%, rgba(15,55,111,.45) 45%, rgba(15,55,111,.20) 100%),
    url(/image/catalog/bluebeier/qa-card-bg.webp) right center/cover no-repeat,
    var(--bb-navy-800);
  border-radius:var(--bb-r-28);
  /* 横向 padding 48→30，让内容（99.9%）距左边更近，整体重心向左移 */
  padding:56px 30px;color:#fff;
  display:flex;flex-direction:column;justify-content:center;gap:10px;
  min-height:380px;
}
.bb-qa-card>*{position:relative;z-index:1}
.bb-qa-card .qa-label{font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--bb-amber-500);text-transform:uppercase}
.bb-qa-card .qa-stat{font-size:72px;font-weight:700;line-height:1;color:#fff}
.bb-qa-card .qa-stat-label{font-size:16px;color:rgba(255,255,255,.85)}
.bb-qa-card .qa-since{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;color:rgba(255,255,255,.7)}
.bb-btn-ghost{
  background:transparent !important;border:1.5px solid rgba(255,255,255,.6) !important;color:#fff !important;
  border-radius:10px !important;padding:12px 26px !important;font-weight:600 !important;
}
.bb-btn-ghost:hover{background:rgba(255,255,255,.12) !important;border-color:#fff !important;color:#fff !important}
.bb-finalcta{background-size:cover;background-position:center}

/* ================================================================
   27. LEGACY CLASS OVERRIDES - Category / listing pages
   ================================================================ */
.page-categories .breadcrumb-filter{padding:14px 120px;background:#fff;border-bottom:1px solid var(--bb-border)}
.page-categories .breadcrumb a{color:var(--bb-ink-500);font-size:13px}
.page-categories .breadcrumb .active{color:var(--bb-ink-900);font-size:13px}
.page-categories .container-fluid{padding-left:120px;padding-right:120px;max-width:1680px;margin:0 auto}
@media (max-width:1280px){.page-categories .breadcrumb-filter,.page-categories .container-fluid{padding-left:60px;padding-right:60px}}
@media (max-width:1024px){.page-categories .breadcrumb-filter,.page-categories .container-fluid{padding-left:32px;padding-right:32px}}
.page-categories .category-intro{border:1px solid var(--bb-border) !important;border-radius:var(--bb-r-16) !important;background:var(--bb-bg-soft)}
.page-categories .category-desc .fs-3{color:var(--bb-navy-800);font-weight:700 !important}

/* product cards (shared/product) - restyle to bb card */
.product-wrap{
  background:#fff;border:1px solid var(--bb-border);border-radius:var(--bb-r-16);
  padding:10px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.product-wrap:hover{transform:translateY(-2px);box-shadow:var(--bb-shadow);border-color:var(--bb-border-strong)}
.product-wrap .image{
  border-radius:12px;overflow:hidden;background:var(--bb-bg-soft);
  width:100%;height:160px;            /* 2026-07-30: 强制缩略图固定 160px 高,
                                          旧版依赖图片原尺寸, 实际渲染到 178px 让商品卡整体过 283px 高 */
  flex-shrink:0;
}
.product-wrap .image > img,.product-wrap .image img,.product-wrap img.image-before{
  width:100% !important;height:100% !important;
  object-fit:cover !important;object-position:center !important;
  max-height:none !important;
}
.product-wrap .product-name,.product-wrap .product-bottom-info .product-name{
  font-family:var(--bb-font) !important;font-size:15px;font-weight:700;color:var(--bb-ink-900);margin-top:10px;
  line-height:1.4;min-height:42px;     /* 2026-07-30: 48→42 缩两行高度 */
}
.product-wrap .product-price{margin-top:2px}    /* 2026-07-30: 4→2 */
.product-wrap .product-price .price-new{color:var(--bb-ink-900);font-weight:700;font-size:16px}
.product-wrap .product-price .price-old{color:var(--bb-ink-500);text-decoration:line-through;margin-left:8px;font-size:13px}
/* 商品卡 hover 标签：3 个按钮布局 + 大小重设（2026-07-30：原 Bootstrap btn 默认 padding
   11px 22px + line-height 把按钮撑到 108px 高 + 75/62/60 宽不均，覆盖整个产品图 60% 区域）。
   改：方形 40×40 图标按钮 + Add To Cart 文字版可宽 + wrap 居中 + gap 8。
   模板给 wrap 设了 bottom:-30px 把它钉在图片底部；这里强制 top:50% + translateY(-50%) 垂直居中。 */
.product-wrap .button-wrap{
  display:flex;gap:8px;justify-content:center;align-items:center;
  padding:0 !important;
  top:50% !important;
  bottom:auto !important;
  left:0 !important;
  right:0 !important;
  transform:translateY(-50%) !important;
}
/* list 模式：wrap position:static，强 absolute 会错位。改为自然 inline 排版 */
.product-wrap.list .button-wrap{
  position:static !important;top:auto !important;left:auto !important;right:auto !important;
  transform:none !important;justify-content:flex-start;
  margin-top:8px;
}
/* 默认（grid）模式：3 个 40×40 方形图标按钮 */
.product-wrap:not(.list) .button-wrap .btn{
  background:var(--bb-navy-800) !important;border-color:var(--bb-navy-800) !important;color:#fff !important;
  border-radius:9px !important;font-weight:600 !important;
  width:40px !important;height:40px !important;padding:0 !important;
  min-width:40px !important;max-width:40px !important;  /* 锁死 40（flex 容器里 anonymous text item 会撑开父级） */
  flex:0 0 40px;
  overflow:hidden !important;text-overflow:clip !important;white-space:nowrap !important;
  display:inline-flex !important;align-items:center;justify-content:center;
  line-height:0 !important;
}
.product-wrap:not(.list) .button-wrap .btn-add-cart{
  /* grid 模式：藏"Add To Cart" 文字（font-size:0 让 anonymous text item 不占 layout 宽度）。
     <i> 单独 font-size:18px 保留 bi-cart 图标。注意：不能 color:transparent，否则字形
     伪元素 ::before 也透明，cart icon 消失。 */
  font-size:0 !important;
  position:relative !important;
}
.product-wrap:not(.list) .button-wrap .btn-add-cart > i{
  position:absolute !important;inset:0;
  text-indent:0 !important;display:flex !important;
  align-items:center;justify-content:center;
  font-size:18px;line-height:1;
}
.product-wrap .button-wrap .btn:hover{background:var(--bb-navy-900) !important}
.module-title{
  font-family:var(--bb-font) !important;font-size:36px !important;font-weight:700 !important;
  letter-spacing:-.01em;color:var(--bb-ink-900) !important;text-align:center;
}
.module-title .wave-line{display:none}
.module-product{padding:64px 0;background:var(--bb-bg-soft)}

/* filter sidebar */
.left-column .x-fixed-top .card,.filter-sidebar{border:1px solid var(--bb-border) !important;border-radius:var(--bb-r-16) !important}
.left-column h6,.left-column .filter-title{color:var(--bb-navy-800);font-weight:700}

/* pagination */
.page-link{color:var(--bb-navy-800);border-color:var(--bb-border);font-weight:600}
.page-item.active .page-link{background:var(--bb-navy-800) !important;border-color:var(--bb-navy-800) !important;color:#fff}

/* ================================================================
   28. LEGACY OVERRIDES - Product detail page
   ================================================================ */
.page-product .product-info-title,.page-product h1{font-family:var(--bb-font) !important;font-weight:700;color:var(--bb-ink-900);letter-spacing:-.01em}
.page-product .product-price-new,.page-product .price-new{color:var(--bb-navy-800);font-weight:700}
.page-product #button-cart,.page-product .btn-add-cart{
  background:var(--bb-amber-500) !important;border-color:var(--bb-amber-500) !important;color:#fff !important;
  border-radius:10px !important;font-weight:600 !important;
}
.page-product #button-cart:hover,.page-product .btn-add-cart:hover{background:var(--bb-amber-600) !important;border-color:var(--bb-amber-600) !important}
.page-product #button-buy-now,.page-product .btn-buy-now{
  background:var(--bb-navy-800) !important;border-color:var(--bb-navy-800) !important;color:#fff !important;
  border-radius:10px !important;font-weight:600 !important;
}
.page-product #button-buy-now:hover{background:var(--bb-navy-900) !important}
/* 加入购物车：白底深色边框（恢复 btn-outline-dark 被全局 .btn 强制 transparent 边覆盖的样式） */
.page-product .add-cart{
  background:#fff !important;
  border-color:var(--bb-ink-900) !important;
  color:var(--bb-ink-900) !important;
  border-width:1.5px !important;
}
.page-product .add-cart:hover{
  background:var(--bb-ink-900) !important;
  border-color:var(--bb-ink-900) !important;
  color:#fff !important;
}
.page-product .nav-tabs .nav-link{color:var(--bb-ink-500);font-weight:600;border:none;border-bottom:2px solid transparent}
.page-product .nav-tabs .nav-link.active{color:var(--bb-navy-800);border-bottom-color:var(--bb-amber-500);background:transparent}
.page-product .breadcrumb a{color:var(--bb-ink-500);font-size:13px}
/* 数量步进器：避免 + 按钮被挤到下一行（容器太窄 + input-group 默认 flex-wrap: wrap）*/
.page-product .quantity-wrap{
  flex-wrap:nowrap;width:auto;min-width:160px;max-width:200px;
}
.page-product .quantity-wrap .quantity-reduce,
.page-product .quantity-wrap .quantity-increase{
  flex:0 0 40px;padding:11px 0 !important;text-align:center;
}
.page-product .quantity-wrap .form-control{
  flex:1 1 auto;min-width:60px;text-align:center;font-weight:600;
}

/* ================================================================
   29. LEGACY OVERRIDES - Cart page
   ================================================================ */
.page-cart .card{border:1px solid var(--bb-border) !important;border-radius:var(--bb-r-16) !important;box-shadow:var(--bb-shadow-sm) !important}
.page-cart h4{font-family:var(--bb-font);font-weight:700;color:var(--bb-ink-900)}
.page-cart .table thead th{
  font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bb-ink-500);border-bottom:1px solid var(--bb-border);
}
.page-cart .table td{vertical-align:middle;border-color:var(--bb-border)}
.page-cart .table .name{color:var(--bb-ink-900) !important;font-weight:700}
.page-cart .quantity-wrap .btn{border:1px solid var(--bb-border);border-radius:8px;color:var(--bb-navy-800)}
.page-cart .quantity-wrap .form-control{border-color:var(--bb-border);text-align:center;font-weight:600}
.page-cart .total-wrap .list-group-item{border-color:var(--bb-border);color:var(--bb-ink-700);display:flex;justify-content:space-between}
.page-cart .total-price{color:var(--bb-amber-600);font-weight:700;font-size:18px}
.page-cart .btn-primary{
  background:var(--bb-amber-500) !important;border-color:var(--bb-amber-500) !important;
  border-radius:10px !important;
}
.page-cart .btn-primary:hover{background:var(--bb-amber-600) !important;border-color:var(--bb-amber-600) !important}
.page-cart .steps-wrap .active,.page-cart .steps .active{color:var(--bb-navy-800)}

/* ================================================================
   30. LEGACY OVERRIDES - Checkout page
   ================================================================ */
.page-checkout .card{border:1px solid var(--bb-border) !important;border-radius:var(--bb-r-16) !important;box-shadow:var(--bb-shadow-sm) !important}
.page-checkout h4,.page-checkout h5,.page-checkout .card-header{font-family:var(--bb-font);font-weight:700;color:var(--bb-ink-900)}
.page-checkout .card-header{background:var(--bb-bg-soft);border-bottom:1px solid var(--bb-border)}
.page-checkout .btn-primary{
  background:var(--bb-amber-500) !important;border-color:var(--bb-amber-500) !important;
  border-radius:10px !important;font-weight:600 !important;
}
.page-checkout .btn-primary:hover{background:var(--bb-amber-600) !important;border-color:var(--bb-amber-600) !important}
.page-checkout .form-control,.page-checkout .form-select{border-color:var(--bb-border);border-radius:10px}
.page-checkout .form-control:focus,.page-checkout .form-select:focus{border-color:var(--bb-navy-800);box-shadow:0 0 0 3px rgba(15,55,111,.12)}
.page-checkout .address-item.active,.page-checkout .payment-item.active,.page-checkout .shipping-item.active{border-color:var(--bb-navy-800) !important}

/* ================================================================
   31. LEGACY OVERRIDES - misc (login/account/pages)
   ================================================================ */
.page-login .card,.page-register .card,.page-account .card{border:1px solid var(--bb-border) !important;border-radius:var(--bb-r-16) !important}
.form-control:focus{border-color:var(--bb-navy-800);box-shadow:0 0 0 3px rgba(15,55,111,.12)}
a{color:var(--bb-navy-800)}
a:hover{color:var(--bb-navy-900)}
.badge.bg-primary{background:var(--bb-navy-800) !important}

/* category-intro 与 bb-page-header 重复，隐藏 */
.page-categories .category-intro{display:none !important}

/* ================================================================
   32. ANNOUNCE BAR — language + currency switchers
   ================================================================ */
.bb-announce-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1680px;margin:0 auto;padding:0 120px}
.bb-announce-text{flex:1;text-align:center;font-size:13px;font-weight:500}
.bb-announce-utils{flex:0 0 auto;display:flex;align-items:center;gap:14px}
.bb-drop{position:relative}
.bb-drop-toggle{color:rgba(255,255,255,.85);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;padding:4px 2px}
.bb-drop-toggle:hover{color:#fff}
.bb-drop-toggle::after{content:"";display:inline-block;width:5px;height:5px;margin-left:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.8}
.bb-drop .dropdown-menu{display:none;position:absolute;top:100%;right:0;margin-top:0;padding:8px 6px;background:#fff;border:1px solid var(--bb-border);border-radius:10px;min-width:140px;box-shadow:var(--bb-shadow);z-index:950}
.bb-drop .dropdown-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.bb-drop:hover .dropdown-menu,.bb-drop.show .dropdown-menu{display:block}
.bb-drop .dropdown-menu .dropdown-item{display:block;padding:8px 14px;border-radius:8px;color:var(--bb-ink-700);font-size:13px;white-space:nowrap}
.bb-drop .dropdown-menu .dropdown-item:hover{background:var(--bb-bg-soft);color:var(--bb-amber-500)}

/* ================================================================
   33. FOOTER — social icons (rounded rectangle)
   ================================================================ */
.bb-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.bb-social-btn{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);transition:background .15s,transform .15s,box-shadow .15s;overflow:hidden}
.bb-social-btn:hover{background:var(--bb-amber-500);transform:translateY(-2px);box-shadow:0 4px 12px rgba(240,168,48,.45)}
.bb-social-btn svg{width:18px;height:18px}.bb-social-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

@media (max-width:768px){
  .bb-announce-inner{flex-direction:column;gap:4px;padding:4px 0}
  .bb-announce-text{font-size:11px}
  .bb-announce-utils{margin-top:2px}
}

/* ================================================================
   35. MOBILE-ONLY (max-width:768px) — hide PC header, fix layout
   ================================================================ */
@media (max-width:768px){
  .bb-header{display:none !important}

  .header-mobile{display:block;position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--bb-border)}
  .header-mobile .mobile-content{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:10px}
  .header-mobile .mobile-content .left{display:flex;align-items:center;gap:10px}
  .header-mobile .mobile-content .left .mobile-open-menu{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px}
  .header-mobile .mobile-content .left .mobile-open-menu img{width:22px;height:22px}
  .header-mobile .mobile-content .left .m-lang{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--bb-ink-700);background:transparent;border:0;padding:0}
  .header-mobile .mobile-content .left .m-lang svg{width:20px;height:20px}
  .header-mobile .mobile-content .center{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}
  .header-mobile .mobile-content .center img{height:36px !important;width:36px !important}
  .header-mobile .mobile-content .center small{display:none}
  .header-mobile .mobile-content .center strong{font-size:1.05rem !important;font-weight:700 !important;color:var(--bb-navy-800) !important}
  .header-mobile .mobile-content .right{display:flex;align-items:center;gap:8px}
  .header-mobile .mobile-content .right .m-cart{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;position:relative}
  .header-mobile .mobile-content .right .m-cart img{width:22px;height:22px}
  .header-mobile .mobile-content .right .m-cart .cart-badge-quantity{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff4d4f;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}

  .m-lang-row{padding:18px 18px 8px;border-top:1px solid var(--bb-border);background:#fff}
  .m-lang-row .lbl{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--bb-ink-500);margin-bottom:10px}
  .m-lang-row .grid{display:flex;flex-wrap:wrap;gap:8px}
  .m-lang-row a{display:inline-flex;padding:8px 14px;border-radius:8px;border:1px solid var(--bb-border);color:var(--bb-ink-700);font-size:13px;font-weight:600;text-decoration:none;background:#fff}
  .m-lang-row a.active{background:var(--bb-navy-800);color:#fff;border-color:var(--bb-navy-800)}
  .m-curr-row{padding:6px 18px 18px;border-top:0;background:#fff}
  .m-curr-row .grid a.active{background:var(--bb-amber-500);color:#fff;border-color:var(--bb-amber-500)}

  #ai-floating-stack{right:12px;bottom:12px;gap:8px}
  #ai-floating-stack .rfs-btn{width:44px;height:44px}
  #ai-floating-stack .rfs-icon{width:22px;height:22px}
  #ai-chat-widget .ai-chat-panel{right:0;bottom:0;left:0;width:100vw;height:78vh;max-height:78vh;max-width:100vw;border-radius:14px 14px 0 0}

  .bb-section{padding:36px 18px}
  .bb-page-header{padding:28px 18px 12px}
  .bb-page-header h1{font-size:26px;margin:10px 0 6px}
  .bb-page-header p{font-size:14px}
  .bb-page-header--bg{padding:24px 18px}
  .bb-page-header--bg .bb-page-header-inner{min-height:200px}
  .bb-page-header-text-panel{padding:22px 24px;max-width:100%}
  .bb-page-header-text-panel h1{font-size:24px;margin:10px 0 6px}
  .bb-page-header-text-panel p{font-size:14px}
  .bb-hero{padding:24px 18px}
  .bb-hero-inner{gap:16px}
  .bb-hero-text-panel{padding:24px 22px}
  .bb-h1{font-size:30px;margin:14px 0 12px}
  .bb-h2,.bb-h2-section,.bb-h3-section{font-size:22px}
  .bb-lead{font-size:15px;margin-bottom:22px}
  .bb-cta-band{padding:28px 18px;flex-direction:column;align-items:flex-start;gap:16px}
  .bb-cta-band .text{font-size:16px}
  .bb-cta-band .btn{width:100%}
  /* 上面通用移动端 .bb-cta-band (0,1,0) 优先级低于 .page-categories .bb-cta-band (0,2,0)+!important，
     会导致分类页移动端 CTA 横向 padding 被锁在 120px（破坏移动端布局）。
     用同 specificity+!important 覆盖回移动端的 18px 横向 padding。 */
  .page-categories .bb-cta-band{padding:28px 18px !important}
  .bb-finalcta{padding:48px 18px}
  .bb-finalcta h2{font-size:24px}
  .bb-finalcta p{font-size:14px}

  .bb-trust{padding:18px 16px;grid-template-columns:1fr 1fr;gap:14px}
  .bb-trust-item .num{font-size:26px}
  .bb-trust-item .label{font-size:12px}
  .bb-numbers{padding:28px 16px;grid-template-columns:1fr 1fr;gap:16px}
  .bb-numbers .num{font-size:30px}
  .bb-numbers .label{font-size:12px}
  .bb-process{grid-template-columns:1fr;gap:24px}
  .bb-process-pic{aspect-ratio:4/3;height:auto}
  .bb-step{margin-bottom:16px}
  .bb-step .num{width:28px;height:28px;font-size:12px;border-radius:7px}
  .bb-step .title{font-size:15px}
  .bb-step .desc{font-size:13px}

  .bb-product-grid,.bb-feature-grid,.bb-tiers{grid-template-columns:1fr;gap:14px}
  .bb-product-card{padding:14px}
  .bb-product-card .name{font-size:16px}
  .bb-feature-card{padding:20px}
  .bb-feature-card .icon{width:38px;height:38px;margin-bottom:10px}
  .bb-feature-card .icon svg{width:16px;height:16px}
  .bb-feature-card .title{font-size:16px}
  .bb-feature-card .desc{font-size:13px}
  .bb-tier{padding:18px}
  .bb-tier .pct{font-size:28px}
  .bb-qa-card{padding:28px 22px;min-height:0}
  .bb-qa-card .qa-stat{font-size:44px}
  .bb-qa-card .qa-stat-label{font-size:14px}
  .bb-clients{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
  .bb-brand-card{padding:14px 10px;max-width:none}
  .bb-brand-logo{max-width:120px;max-height:48px}
  .bb-brand-logo-placeholder{width:120px;height:48px;font-size:10px}
  .bb-brand-name{font-size:12px}

  .bb-testimonials{padding:48px 0}
  .bb-testi-card{padding:28px 22px;gap:14px}
  .bb-testi-quote{font-size:16px}
  .bb-testi-prev,.bb-testi-next{width:36px;height:36px;font-size:22px}
  .bb-testi-prev{left:-12px}
  .bb-testi-next{right:-12px}

  .bb-certs{gap:8px}
  .bb-cert-pill{padding:8px 14px;font-size:12px}
  .bb-comp-row{gap:10px}
  .bb-comp-chip{padding:8px 14px;font-size:12px}
  .bb-pills{gap:8px}
  .bb-pill{padding:8px 14px;font-size:13px}
  .bb-quote{padding:18px}
  .bb-quote blockquote{font-size:15px}

  .bb-footer{padding:32px 18px 18px}
  .bb-footer-cols{grid-template-columns:1fr;gap:24px;padding-bottom:24px}
  .bb-footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .bb-footer-brand .name{font-size:20px}

  .page-categories .container-fluid{padding-left:16px;padding-right:16px}
  .page-categories .breadcrumb-filter{padding:10px 16px}
  .page-categories .breadcrumb a,.page-categories .breadcrumb .active{font-size:12px}
  .product-wrap{padding:10px}
  .product-wrap .product-name{font-size:14px;margin-top:8px}
  .product-wrap .product-price .price-new{font-size:14px}
  .product-wrap .product-bottom-info .add-to-cart,.product-wrap .button-wrap .btn{padding:9px 12px !important;font-size:13px !important}
  .module-title{font-size:22px !important}
  .module-product{padding:32px 0}

  .page-product .product-info{padding:14px}
  .page-product h1{font-size:22px}
  .page-product #button-cart,.page-product #button-buy-now{padding:12px 14px !important;font-size:14px !important}
  .page-product .nav-tabs .nav-link{font-size:13px;padding:8px 10px}

  .bb-cart{padding:24px 16px}
  .bb-cart-grid{grid-template-columns:1fr;gap:14px}
  .bb-cart-item{padding:12px;gap:12px;flex-wrap:wrap}
  .bb-cart-item .pic{width:64px;height:64px}
  .bb-cart-item .price{font-size:16px;min-width:auto}
  .bb-summary{padding:18px}

  .page-checkout .card-body{padding:14px}
  .page-checkout h4,.page-checkout h5{font-size:16px}

  .page-login .card,.page-register .card,.page-account .card{margin:0 12px}
  .page-pages .container{padding:0 14px}
  .breadcrumb{padding:8px 0;margin:0;font-size:12px}
}

@media (max-width:420px){
  .bb-feature-card{padding:18px}
  .bb-section{padding:30px 14px}
  .bb-page-header{padding:24px 14px 10px}
  .bb-page-header--bg{padding:20px 14px}
  .bb-page-header--bg .bb-page-header-inner{min-height:180px}
  .bb-page-header-text-panel{padding:20px 18px}
  .bb-page-header-text-panel h1{font-size:22px}
  .bb-hero{padding:20px 14px}
}

/* ===== Policy pages (privacy / returns) redesign ===== */
.bb-policy-header{
  background:linear-gradient(135deg,#0F376F 0%,#08264A 100%);
  color:#fff;padding:38px 0 34px;
}
.bb-policy-header-inner{max-width:1100px;margin:0 auto;padding:0 24px;}
.bb-policy-header .breadcrumb-wrap{background:transparent;padding:0;margin:0 0 14px;}
.bb-policy-header .breadcrumb{background:transparent;padding:0;margin:0;}
.bb-policy-header .breadcrumb-item,.bb-policy-header .breadcrumb-item a{color:rgba(255,255,255,.72);}
.bb-policy-header .breadcrumb-item.active{color:#fff;}
.bb-policy-header .breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.45);}
.bb-policy-header .bb-eyebrow{margin-bottom:12px;}
.bb-policy-header h1{color:#fff;font-size:34px;font-weight:700;margin:0 0 10px;letter-spacing:.2px;line-height:1.2;}
.bb-policy-header .bb-policy-meta{color:rgba(255,255,255,.72);font-size:14px;}
.bb-policy-header .bb-policy-meta::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:#F0A830;margin-right:8px;vertical-align:middle;}

.bb-policy{
  max-width:1100px;margin:40px auto 64px;padding:0 24px;
  display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start;
}
.bb-policy-toc{position:sticky;top:96px;}
.bb-policy-toc-inner{
  border:1px solid #e6ebf2;border-radius:14px;padding:18px 16px 20px;background:#fff;
  box-shadow:0 8px 24px rgba(15,55,111,.06);
}
.bb-policy-toc-title{
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#0F376F;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eef2f7;
}
.bb-policy-toc ul{list-style:none;margin:0;padding:0;}
.bb-policy-toc li{margin:0;}
.bb-policy-toc li a{
  display:block;padding:7px 10px;border-radius:8px;color:#475569;font-size:13.5px;line-height:1.45;
  border-left:2px solid transparent;transition:background .15s ease,color .15s ease;
}
.bb-policy-toc li a:hover{background:#f4f7fb;color:#0F376F;}
.bb-policy-toc li.active a{background:#eef3fb;color:#0F376F;font-weight:600;border-left-color:#F0A830;}

.bb-policy .bb-policy-content{max-width:760px;}
.bb-policy .bb-policy-content h3{
  font-size:20px;font-weight:700;color:#0F376F;margin:38px 0 14px;padding-top:22px;
  border-top:1px solid #e6ebf2;scroll-margin-top:110px;position:relative;padding-left:16px;
}
.bb-policy .bb-policy-content h3:first-child{border-top:none;padding-top:0;margin-top:0;}
.bb-policy .bb-policy-content h3::before{
  content:"";position:absolute;left:0;top:24px;width:4px;height:18px;border-radius:3px;background:#F0A830;
}
.bb-policy .bb-policy-content h3:first-child::before{top:2px;}
.bb-policy .bb-policy-content p{font-size:15.5px;line-height:1.85;color:#334155;margin:0 0 16px;}
.bb-policy .bb-policy-content ul{margin:0 0 18px;padding-left:22px;}
.bb-policy .bb-policy-content li{font-size:15px;line-height:1.8;color:#334155;margin-bottom:9px;}
.bb-policy .bb-policy-content strong{color:#0F376F;font-weight:700;}
.bb-policy .bb-policy-content a{color:#C2410C;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.bb-policy .bb-policy-content a:hover{color:#0F376F;}

@media (max-width:992px){
  .bb-policy{grid-template-columns:1fr;gap:22px;margin:26px auto 44px;}
  .bb-policy-toc{position:static;top:auto;}
  .bb-policy-toc-inner{box-shadow:none;}
  .bb-policy-header h1{font-size:27px;}
}
@media (max-width:576px){
  .bb-policy .bb-policy-content h3{font-size:18px;}
  .bb-policy .bb-policy-content p,.bb-policy .bb-policy-content li{font-size:14.5px;}
}
