/*
 Theme Name:   Astra Child (JointSource Bio)
 Template:     astra
 Version:      2.3.0
 Description:  Precise vertical alignment for the Contact Us button.
*/

:root {
    --primary-blue: #081845;
    --accent-gold: #C9A84C;
    --font-heading: 'Plus Jakarta Sans', sans-serif;
    --font-body: 'Inter', sans-serif;
}

/* ==========================================================================
   1. 基础布局
   ========================================================================== */
html, body { overflow-x: hidden; margin: 0; padding: 0; }

.site-content .ast-container, .site-main, #main {
    max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important;
}

/* 内容居中约束 */
.hero-section > div, .entry-content > *, .wp-block-group__inner-container {
    max-width: 1240px !important; margin: 0 auto !important; padding: 0 20px !important;
}

/* ==========================================================================
   2. 导航栏 (Header)
   ========================================================================== */
.site-header { background-color: var(--primary-blue) !important; border: none !important; }

/* 锁定主导航高度 */
.ast-primary-header-bar, .main-header-bar {
    height: 100px !important;
    line-height: 100px !important;
}

/* --- Contact Us 按钮：彻底解决文字漂移与背景臃肿 --- */

/* 1. 父级 li 必须垂直居中且不被拉伸 */
#ast-desktop-header .main-header-menu li.menu-item-155 {
    display: flex !important;
    align-items: center !important;
    height: 100px !important; /* 与 Header 同高 */
    padding: 0 !important;
    margin-left: 20px !important;
}

/* 2. 按钮 a 标签：使用 flex 居中文字，并强制重置高度 */
#ast-desktop-header .main-header-menu li.menu-item-155 > a.menu-link {
    background-color: var(--accent-gold) !important;
    color: var(--primary-blue) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    
    /* 核心修复：强制取消高度拉伸 */
    height: 44px !important;      /* 锁定按钮高度 */
    line-height: 44px !important; /* 锁定行高实现垂直居中 */
    padding: 0 24px !important;   /* 仅设置左右内边距 */
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

/* 悬停动画 */
#ast-desktop-header .main-header-menu li.menu-item-155 > a.menu-link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(201, 168, 76, 0.4) !important;
    background-color: #d4b763 !important;
}

/* ==========================================================================
   3. Logo & 字体
   ========================================================================== */
.logo-main { font-family: var(--font-heading); font-weight: 800; font-size: 24px; color: #ffffff !important; }
.logo-sub { font-family: var(--font-body); font-size: 9px; color: rgba(255,255,255,0.7) !important; letter-spacing: 3.5px; }

/* 菜单文字 */
.main-header-menu .menu-link { color: #ffffff !important; font-weight: 600 !important; }
.main-header-menu .sub-menu { background-color: var(--primary-blue) !important; }
.main-header-menu .sub-menu a { color: #ffffff !important; }

/* ==========================================================================
   4. 页脚复刻 (Footer - JointSource Bio Style)
   ========================================================================== */

/* 页脚总容器 */
.site-footer {
    background-color: var(--primary-blue) !important;
    color: #ffffff !important;
    padding-top: 80px !important;
    padding-bottom: 40px !important;
    border-top: 1px solid rgba(255,255,255,0.05);
}

/* 页脚内部容器：保持内容居中 */
.site-footer .ast-container {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* 页脚标题样式 */
.site-footer .widget-title, 
.site-footer h4 {
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* 页脚链接样式 */
.site-footer a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    font-size: 15px;
}

.site-footer a:hover {
    color: var(--accent-gold) !important;
    padding-left: 5px; /* 悬停时轻微右移效果 */
}

/* 页脚小工具间距 */
.footer-widgets-area .widget {
    margin-bottom: 30px;
}

/* 底部版权条 (Bottom Bar) */
.ast-footer-copyright {
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    padding-top: 30px !important;
    margin-top: 50px !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 14px;
}

.ast-footer-copyright a {
    font-size: 14px;
}
