.bd-hero {
    background: linear-gradient(135deg, var(--color-bg-dark) 0%, #1a2b42 100%);
    color: var(--color-text-inverse);
    padding: calc(var(--header-height) + var(--space-8)) 0 var(--space-8);
  }
  .bd-hero-inner { max-width: 820px; margin: 0 auto; padding: 0 var(--space-5); }
  .bd-crumbs { font-size: 14px; color: rgba(255,255,255,0.7); margin-bottom: var(--space-4); }
  .bd-crumbs a { color: rgba(255,255,255,0.7); }
  .bd-crumbs a:hover { color: var(--color-accent); }
  .bd-cat-badge { display: inline-block; padding: 4px 12px; background: var(--color-accent); color: #fff; font-size: 12px; font-weight: 600; border-radius: var(--radius-pill); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--space-4); }
  .bd-cat-badge:empty { display: none; }
  .bd-h1 { font-size: clamp(28px, 4vw, 44px); line-height: 1.2; font-weight: 700; margin-bottom: var(--space-5); color: #fff; }
  .bd-meta { display: flex; flex-wrap: wrap; gap: var(--space-5); color: rgba(255,255,255,0.75); font-size: 14px; }
  .bd-meta-item { display: inline-flex; align-items: center; gap: 6px; }
  .bd-meta-item strong { color: #fff; font-weight: 500; }

  .bd-featured {
    max-width: 960px;
    margin: calc(-1 * var(--space-7)) auto var(--space-7);
    padding: 0 var(--space-5);
    position: relative;
    z-index: 2;
  }
  .bd-featured:not(:has(img)) { display: none; }
  .bd-featured-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    background: var(--color-bg-alt);
  }

  .bd-content {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 var(--space-5) var(--space-9);
  }
  .bd-prose { font-size: 17px; line-height: 1.75; color: var(--color-text); }
  .bd-prose p { margin-bottom: var(--space-5); }
  .bd-prose h2 { font-size: 28px; line-height: 1.3; margin: var(--space-7) 0 var(--space-4); color: var(--color-text); font-weight: 700; }
  .bd-prose h3 { font-size: 22px; line-height: 1.4; margin: var(--space-6) 0 var(--space-3); color: var(--color-text); font-weight: 600; }
  .bd-prose ul, .bd-prose ol { margin: var(--space-4) 0 var(--space-5) var(--space-5); }
  .bd-prose ul { list-style: disc; }
  .bd-prose ol { list-style: decimal; }
  .bd-prose li { margin-bottom: var(--space-3); }
  .bd-prose blockquote { border-left: 4px solid var(--color-accent); padding: var(--space-4) var(--space-5); margin: var(--space-6) 0; background: var(--color-bg-alt); border-radius: var(--radius-sm); font-style: italic; color: var(--color-text); }
  .bd-prose a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
  .bd-prose a:hover { color: var(--color-primary-dark); }

  .bd-author {
    max-width: 760px;
    margin: 0 auto var(--space-8);
    padding: var(--space-6);
    background: var(--color-bg-alt);
    border-radius: var(--radius-lg);
    display: flex;
    gap: var(--space-5);
    align-items: center;
    border: 1px solid var(--color-border);
  }
  .bd-author-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 24px; font-weight: 700; }
  .bd-author-info h4 { font-size: 18px; margin-bottom: 4px; color: var(--color-text); font-weight: 600; }
  .bd-author-info p { font-size: 14px; color: var(--color-text-muted); margin: 0; }

  .bd-tags {
    max-width: 760px;
    margin: 0 auto var(--space-8);
    padding: 0 var(--space-5);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
  }
  .bd-tag { padding: 6px 14px; background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: var(--radius-pill); font-size: 13px; color: var(--color-text-muted); }
  .bd-tag:hover { background: var(--color-primary-light); color: var(--color-primary); border-color: var(--color-primary); }

  .bd-cta {
    background: var(--color-bg-dark);
    color: var(--color-text-inverse);
    padding: var(--space-8) 0;
    text-align: center;
  }
  .bd-cta-inner { max-width: 640px; margin: 0 auto; padding: 0 var(--space-5); }
  .bd-cta h2 { font-size: 28px; margin-bottom: var(--space-4); color: #fff; font-weight: 700; }
  .bd-cta p { font-size: 16px; color: rgba(255,255,255,0.8); margin-bottom: var(--space-6); }
  .bd-cta-buttons { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }

  .bd-related {
    padding: var(--space-9) 0;
    background: var(--color-bg-alt);
  }
  .bd-related:has(.bd-rel-grid:empty) { display: none; }
  .bd-related-inner { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--space-5); }
  .bd-related-header { text-align: center; margin-bottom: var(--space-7); }
  .bd-related-header h2 { font-size: 32px; font-weight: 700; color: var(--color-text); margin-bottom: var(--space-3); }
  .bd-related-header p { color: var(--color-text-muted); font-size: 16px; }
  .bd-rel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-5); }
  .bd-rel-card {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-border);
    transition: transform var(--transition), box-shadow var(--transition);
  }
  .bd-rel-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .bd-rel-img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: var(--color-bg-alt);
  }
  .bd-rel-body { padding: var(--space-5); }
  .bd-rel-cat {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-2);
  }
  .bd-rel-title { font-size: 18px; font-weight: 600; color: var(--color-text); margin-bottom: var(--space-3); line-height: 1.4; }
  .bd-rel-title a { color: inherit; }
  .bd-rel-title a:hover { color: var(--color-primary); }
  .bd-rel-meta { font-size: 13px; color: var(--color-text-muted); }

  .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 14px 28px;
    background: var(--color-accent);
    color: #fff;
    font-weight: 600;
    border-radius: var(--radius-md);
    transition: background var(--transition);
  }
  .btn-primary:hover { background: var(--color-accent-dark); }
  .btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 14px 28px;
    background: transparent;
    color: #fff;
    font-weight: 600;
    border-radius: var(--radius-md);
    border: 2px solid #fff;
    transition: background var(--transition);
  }
  .btn-secondary:hover { background: rgba(255,255,255,0.1); }

  @media (max-width: 768px) {
    .bd-author { flex-direction: column; text-align: center; }
    .bd-meta { gap: var(--space-3); }
    .bd-h1 { font-size: 26px; }
    .bd-prose { font-size: 16px; }
  }


@media (max-width: 1024px) {
  img { max-width: 100% !important; }
  [style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  *, *::before, *::after { box-sizing: border-box; }
  body { overflow-x: hidden; }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="display: flex"] { max-width: 100% !important; flex-wrap: wrap !important; }
  img { max-width: 100% !important; }
  video { max-width: 100% !important; }
}

.w-fab{position:fixed;right:20px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none}.w-fab-btn{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.15);transition:transform .2s,box-shadow .2s;outline:none}.w-fab-btn:hover{transform:scale(1.1);box-shadow:0 4px 20px rgba(0,0,0,.2)}.w-fab-btn svg{width:22px;height:22px}.w-fab-whatsapp{background:#25d366;color:#fff}.w-fab-contact,.w-fab-top,.w-fab-lang{background:var(--color-primary,var(--color-accent,var(--color-brand,#2563eb)));color:#fff}.w-fab-top{opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.w-fab-top.visible{opacity:1;transform:translateY(0)}.w-fab-lang-wrap{position:relative;pointer-events:auto}.w-lang-panel{position:absolute;right:calc(100% + 10px);top:0;min-width:auto;background:var(--color-primary,var(--color-accent,var(--color-brand,#2563eb)));border-radius:12px;overflow:hidden;display:flex;flex-direction:row;opacity:0;transform:translateX(10px);pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 8px 24px rgba(0,0,0,.2)}.w-lang-panel.w-lang-open{opacity:1;transform:translateX(0);pointer-events:auto}.w-lang-opt{display:block;width:auto;flex:1;border:0;background:transparent;color:rgba(255,255,255,0.75);padding:10px 14px;font-weight:600;font-size:13px;text-align:center;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;border-right:1px solid rgba(255,255,255,0.2)}.w-lang-opt:last-child{border-right:none}.w-lang-opt:hover{background:rgba(255,255,255,0.15);color:#fff}.w-lang-act{color:#fff;background:rgba(255,255,255,0.2)}@media(max-width:640px){.w-fab{right:14px;bottom:16px;gap:8px}.w-fab-btn{width:42px;height:42px}.w-fab-btn svg{width:20px;height:20px}.w-lang-panel{right:0;left:auto;top:auto;bottom:calc(100% + 8px);flex-direction:column;max-height:calc(100vh - 90px);overflow-y:auto;transform:translateY(10px)}.w-lang-panel.w-lang-open{transform:translateY(0)}.w-lang-opt{border-right:none;border-bottom:1px solid rgba(255,255,255,0.2);width:100%}.w-lang-opt:last-child{border-bottom:none}}

/* === Entrance animations === */
@keyframes w-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes w-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes w-fade-down { from { opacity: 0; transform: translateY(-24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes w-fade-left { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
@keyframes w-fade-right { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: translateX(0); } }
@keyframes w-zoom-in { from { opacity: 0; transform: scale(0.85); } to { opacity: 1; transform: scale(1); } }
@keyframes w-zoom-out { from { opacity: 0; transform: scale(1.15); } to { opacity: 1; transform: scale(1); } }
@keyframes w-flip-x { from { opacity: 0; transform: perspective(400px) rotateX(90deg); } to { opacity: 1; transform: perspective(400px) rotateX(0); } }
@keyframes w-flip-y { from { opacity: 0; transform: perspective(400px) rotateY(90deg); } to { opacity: 1; transform: perspective(400px) rotateY(0); } }
@keyframes w-bounce { 0% { opacity: 0; transform: translateY(-40px); } 60% { opacity: 1; transform: translateY(8px); } 80% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes w-rotate { from { opacity: 0; transform: rotate(-180deg); } to { opacity: 1; transform: rotate(0); } }
@keyframes w-swing { 20% { transform: rotate(15deg); } 40% { transform: rotate(-10deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } 100% { transform: rotate(0); } }
@keyframes w-slide-up { from { transform: translateY(100%); } to { transform: translateY(0); } }

/* === Responsive hide === */
@media (max-width: 1024px) { [data-w-hide-tablet="1"] { display: none !important; } }
@media (max-width: 640px) { [data-w-hide-mobile="1"] { display: none !important; } }
@media (min-width: 1025px) { [data-w-hide-desktop="1"] { display: none !important; } }

/* === Scroll effects === */
[data-w-scroll-effect]:not([data-w-scroll-effect^="sticky"]) { will-change: transform, opacity, filter; }
/* 吸顶:top 走变量,运行时按顶部导航实际占的高度赋值(手填 sticky-<px> 时用那个值),否则会被固定导航盖住 */
[data-w-scroll-effect^="sticky"] { position: sticky !important; top: var(--w-sticky-top, 0px) !important; z-index: 40; }


[data-edit-root="bd_cta"] > div > div > a.btn-secondary:hover {
  background-color: #d4d4d4 !important;
}