/*
 * Auto-extracted from post 15 (rsuntek.com home page) on 2026-06-03
 * Original blocks: lines 31-493 (CSS1) + lines 827-863 (CSS2)
 * DO NOT edit here - edit post 15's content and re-run the migration.
 */

/* ============================================
   rsuntek.com — 布局重塑 v2 (2026-06-02)
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap');
:where(body, p, li, a, span, div, h1, h2, h3, h4, h5) { font-family: 'Inter', -apple-system, sans-serif !important; }

/* === HEADER === */
:where(.header) {
  background: linear-gradient(135deg, #1a1a2e 0%, #252542 100%) !important;
  padding: 16px 24px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
:where(.header-inner) {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
:where(.header-logo) {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
}
:where(.header-nav) {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}
:where(.header-nav) a {
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  transition: color 0.2s !important;
}
:where(.header-nav) a:hover {
  color: #ffffff !important;
}

/* Hide Astra page title H1 - our hero H1 is the real one */
:where(.entry-title) { display: none !important; }
:where(.ast-article-single) :where(.entry-header) { display: none !important; }

/* === SECTION SPACING === */
:where(section) { padding: 80px 24px !important; }
:where(.section-dark) { background: linear-gradient(135deg, #1a1a1a 0%, #252542 100%) !important; }
:where(.section-light) { background: #0A0A0A !important; }
:where(.container) { max-width: 1200px !important; margin: 0 auto !important; padding: 0 20px !important; }
:where(.product-grid) { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important; gap: 32px !important; }

/* === PRODUCT CARDS === */
:where(.product-card) {
  background: #1A1A1A !important;
  border-radius: 16px !important;
  border: 1px solid #2A2A2A !important;
  padding: 24px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 420px !important;
  position: relative !important;
}
:where(.product-card):hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(74, 124, 89, 0.15) !important;
  border-color: #2563EB !important;
}
:where(.product-img-wrap) { 
  min-height: 200px !important; 
  border-radius: 12px !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
}
:where(.product-info) { 
  flex: 1 !important; 
  display: flex !important; 
  flex-direction: column !important; 
  padding-top: 16px !important; 
}
:where(.product-title) {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  line-height: 1.3 !important;
  min-height: 2.6em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.product-price {
    font-weight: 800 !important;
    font-size: 22px !important;
    color: #60A5FA !important;

    font-size: 20px !important;
    font-weight: 700 !important;
    color: #3B82F6 !important;

  color: #2563EB !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  margin: 8px 0 !important;
}
:where(.product-short) {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    color: #E5E7EB !important;
    font-weight: 400 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #D1D5DB !important;

  font-size: 0.85rem !important;
  color: #6B7280 !important;
  line-height: 1.5 !important;
  min-height: 2.55em !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
:where(.product-card) :where(.btn-primary) {
    background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(37,99,235,0.3) !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
 margin-top: auto !important; align-self: flex-start !important; }

/* === BUTTONS === */
:where(.btn-primary) {
    background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(37,99,235,0.3) !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;

  background: linear-gradient(135deg, #2563EB, #3d6b4a) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
}
/* Button hover states */
.btn-primary:hover, a.btn-primary:hover, [class*="btn-primary"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 30px rgba(37,99,235,0.5) !important;
}
.btn-primary {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
/* Mobile nav improvements */
@media (max-width: 768px) {
    .main-navigation .menu-item a, .nav-menu a, .ast-menu a {
        font-size: 16px !important;
        padding: 14px 20px !important;
        min-height: 48px !important;
    }
    .ast-header .menu-toggle, .main-header-menu-toggle, .ast-menu-toggle {
        min-height: 48px !important;
        min-width: 48px !important;
        padding: 12px !important;
    }
    .hero-actions .btn-primary {
        min-height: 52px !important;
        font-size: 16px !important;
        padding: 16px 32px !important;
    }
}

    background: linear-gradient(135deg, #3B82F6, #2563EB) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(37,99,235,0.5) !important;

  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(74, 124, 89, 0.35) !important;
  background: linear-gradient(135deg, #5d9e6f, #2563EB) !important;
}
:where(.btn-secondary) {
  background: transparent !important;
  border: 2px solid #2563EB !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #2563EB !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.3s ease !important;
}
:where(.btn-secondary):hover {
  background: #2563EB !important;
  color: #ffffff !important;
}

/* === CATEGORY CARDS === */
:where(.health-categories) { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
:where(.health-cat-card) {
  background: #1A1A1A !important;
  border-radius: 16px !important;
  padding: 32px 24px !important;
  text-align: center !important;
  border: 1px solid #2A2A2A !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}
:where(.health-cat-card):hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(74, 124, 89, 0.12) !important;
  border-color: #2563EB !important;
}
:where(.health-cat-card) h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  color: #1a1a1a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.health-cat-card) p {
  font-size: 0.88rem !important;
  color: #6B7280 !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
:where(.health-cat-card) .cat-cta {
  display: inline-block !important;
  margin-top: 12px !important;
  color: #2A5CFF !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
:where(.health-cat-card) .cat-cta:hover {
  text-decoration: underline !important;
}
:where(.header-search) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  cursor: pointer !important;
  color: rgba(255,255,255,0.9) !important;
  transition: color 0.2s !important;
}
:where(.header-search):hover {
  color: #ffffff !important;
}
:where(.header-cart) {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  color: rgba(255,255,255,0.9) !important;
}
:where(.cart-count) {
  position: absolute !important;
  top: -4px !important;
  right: -6px !important;
  background: #FF6B4A !important;
  color: white !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  min-width: 16px !important;
  height: 16px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px !important;
  line-height: 1 !important;
}
:where(.health-cat-icon) {
  width: 56px !important;
  height: 56px !important;
  background: linear-gradient(135deg, rgba(74,124,89,0.1), rgba(74,124,89,0.2)) !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
  font-size: 28px !important;
}

/* === HORIZONTAL SCROLL === */
:where(.hot-horizontal-scroll) {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: #2563EB #e0e0e0 !important;
  display: flex !important;
  gap: 24px !important;
  padding: 16px 4px 32px !important;
}
:where(.hot-horizontal-scroll)::-webkit-scrollbar { height: 6px !important; }
:where(.hot-horizontal-scroll)::-webkit-scrollbar-thumb { background: #2563EB !important; border-radius: 3px !important; }
:where(.hot-horizontal-scroll)::-webkit-scrollbar-track { background: #e0e0e0 !important; border-radius: 3px !important; }
:where(.hot-horizontal-scroll) .product-card {
  min-width: 280px !important;
  max-width: 300px !important;
  flex-shrink: 0 !important;
  scroll-snap-align: start !important;
  background: #1A1A1A !important;
  border-radius: 16px !important;
  border: 1px solid #2A2A2A !important;
  padding: 24px !important;
  min-height: 400px !important;
  position: relative !important;
}

/* === BADGE === */
:where(.product-badge) { position: absolute !important; top: 12px !important; left: 12px !important; padding: 4px 12px !important; border-radius: 20px !important; font-size: 0.75rem !important; font-weight: 700 !important; color: white !important; }
:where(.new-badge) { background: #2563EB !important; }

/* === MOBILE === */
@media (max-width: 768px) {
  :where(section) { padding: 48px 16px !important; }
  :where(.header-nav) { display: none !important; flex-direction: column !important; position: absolute !important; top: 60px !important; left: 0 !important; right: 0 !important; background: linear-gradient(135deg, #1a1a2e, #252542) !important; padding: 20px !important; gap: 16px !important; z-index: 99 !important; }
  :where(.header-nav.show) { display: flex !important; }
  :where(.header-inner) button[aria-label]:first-child { display: block !important; }
  :where(.header-nav) a { font-size: 1rem !important; padding: 8px 12px !important; border-radius: 8px !important; background: rgba(255,255,255,0.05) !important; }
  :where(.header-nav) a:hover { background: rgba(255,255,255,0.12) !important; }
  /* Mobile font sizes */
  :where(h1) { font-size: 1.6rem !important; }
  :where(h2) { font-size: 1.3rem !important; }
  :where(.product-title) { font-size: 1rem !important; min-height: auto !important; }
  :where(.product-short) {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    color: #E5E7EB !important;
    font-weight: 400 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #D1D5DB !important;
 font-size: 0.85rem !important; }
  :where(.health-cat-card) p { font-size: 0.85rem !important; }
  :where(.stat-number) { font-size: 1.6rem !important; }
  :where(.stat-label) { font-size: 0.8rem !important; }
  :where(.btn-primary) {
    background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(37,99,235,0.3) !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
 font-size: 0.95rem !important; padding: 14px 28px !important; }
  :where(.btn-secondary) { font-size: 0.95rem !important; padding: 12px 26px !important; }
  /* Hero CTA emphasis */
  :where(.hero-actions) { display: flex !important; flex-direction: column !important; gap: 12px !important; align-items: stretch !important; }
  :where(.hero-actions) :where(.btn-primary) {
    background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(37,99,235,0.3) !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
 text-align: center !important; }
  :where(footer) * { font-size: 14px !important; }
  :where(.hero-actions) :where(.btn-secondary) { text-align: center !important; }
  :where(.scroll-left) { display: inline-flex !important; opacity: 0.8 !important; z-index: 5 !important; position: relative !important; }
  :where(.scroll-right) { display: inline-flex !important; opacity: 0.8 !important; z-index: 5 !important; position: relative !important; }
  :where(.scroll-controls) { display: flex !important; justify-content: center !important; gap: 24px !important; margin-bottom: 8px !important; }
  :where(.hot-horizontal-scroll)::-webkit-scrollbar { height: 4px !important; }
  :where(.hot-horizontal-scroll)::-webkit-scrollbar-thumb { background: #ccc !important; border-radius: 4px !important; }
  :where(.health-categories) { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  :where(.health-cat-card) { padding: 24px 16px !important; }
  :where(.btn-primary) {
    background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(37,99,235,0.3) !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
 padding: 16px 28px !important; font-size: 1rem !important; min-height: 52px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  :where(.product-card) { min-height: 380px !important; padding: 16px !important; }
  :where(.hot-horizontal-scroll) .product-card { min-width: 240px !important; }
  .hero-content h1 { font-size: 1.75rem !important; }
  :where(.product-title) { min-height: 2.4em !important; font-size: 1rem !important; }
  .product-price {
    font-weight: 800 !important;
    font-size: 22px !important;
    color: #60A5FA !important;

    font-size: 20px !important;
    font-weight: 700 !important;
    color: #3B82F6 !important;
 font-size: 1.05rem !important; }
}
@media (max-width: 480px) {
  :where(.health-categories) { grid-template-columns: 1fr !important; }
  :where(.btn-primary) {
    background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(37,99,235,0.3) !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
 width: 100% !important; }
}

/* Hero trust list - inline fix */
.hero-trust-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 24px !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
  max-height: 100px !important;
  overflow: hidden !important;
}
.hero-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
.hero-trust-item svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}


/* ===== CSS block 2 ===== */

/* Force price weight - highest priority */
.product-price[style*="font-weight"] {
    font-weight: 800 !important;
}
#page .product-price {
    font-weight: 800 !important;
}
html body .product-price.price-font {
    font-weight: 900 !important;
}

.site-below-footer-wrap {
    background: #0A0A0A !important;
    border-top: 1px solid #222 !important;
}
.site-below-footer-wrap * {
    color: #9CA3AF !important;
}

/* LAYOUT: Content 1140px centered */
.entry-content, .site-content, .ast-container {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.site-content {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
/* Hero video full-viewport */
section.hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #000 !important;
}
/* v8 fix: hero content positioned over the video so H1+CTA are above the fold */
/* The inline style sets position:absolute + top:0;left:0;right:0;bottom:0 with flex centering. */
/* This rule just ensures no leftover margin/transform interferes. */
.hero-content {
  margin: 0 !important;
  padding: 24px !important;
  max-width: 1200px !important;
  transform: none !important;
}
