/* Astra 内页 typography 优化 (需求7) */

/* 引入 Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;600;700&display=swap');

/* 全局字体 */
body, button, input, select, textarea {
    font-family: 'Exo 2', sans-serif !important;
    line-height: 1.7 !important;
    color: #1e293b !important;
}

/* 标题字体 */
h1, h2, h3, h4, h5, h6, .entry-title, .woocommerce-products-header__title {
    font-family: 'Exo 2', sans-serif !important;
    color: #1a5a8c !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
}

/* 页面标题 */
.entry-title {
    font-size: 36px !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px !important;
    border-bottom: 3px solid #2e7d32 !important;
}

/* 二级标题 */
.entry-content h2 {
    font-size: 28px !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
    color: #1a5a8c !important;
}

/* 三级标题 */
.entry-content h3 {
    font-size: 22px !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    color: #2e7d32 !important;
}

/* 段落 */
.entry-content p {
    font-size: 17px !important;
    line-height: 1.8 !important;
    margin-bottom: 18px !important;
    color: #334155 !important;
}

/* 列表 */
.entry-content ul, .entry-content ol {
    margin-bottom: 18px !important;
    padding-left: 25px !important;
}
.entry-content ul li {
    margin-bottom: 8px !important;
    line-height: 1.7 !important;
    color: #334155 !important;
}

/* 链接 */
.entry-content a {
    color: #1a5a8c !important;
    text-decoration: underline !important;
    transition: color 0.2s !important;
}
.entry-content a:hover {
    color: #2e7d32 !important;
}

/* 产品卡片美化 */
ul.products li.product, .wc-block-grid__product {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    transition: all 0.3s !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    text-align: center !important;
}
ul.products li.product:hover, .wc-block-grid__product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12) !important;
    border-color: #1a5a8c !important;
}
ul.products li.product img, .wc-block-grid__product-image img {
    border-radius: 8px !important;
    margin-bottom: 15px !important;
}
ul.products li.product .woocommerce-loop-product__title, .wc-block-grid__product-title {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 16px !important;
    color: #1e293b !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    min-height: 42px !important;
}

/* 隐藏价格 (双保险) */
.price, .woocommerce-Price-amount, .wc-block-grid__product-price {
    display: none !important;
}

/* 按钮 */
.button, .wp-element-button {
    background: #1a5a8c !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    transition: all 0.2s !important;
    border: none !important;
}
.button:hover, .wp-element-button:hover {
    background: #0d4761 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(26,90,140,0.3) !important;
}

/* 分页 */
.woocommerce-pagination, .wp-block-query-pagination {
    margin-top: 40px !important;
    text-align: center !important;
}
.woocommerce-pagination .page-numbers, .wp-block-query-pagination .page-numbers {
    display: inline-flex !important;
    gap: 5px !important;
    list-style: none !important;
    padding: 0 !important;
}
.woocommerce-pagination .page-numbers li a, .woocommerce-pagination .page-numbers li span,
.wp-block-query-pagination .page-numbers a, .wp-block-query-pagination .page-numbers span {
    padding: 8px 14px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    color: #1a5a8c !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all 0.2s !important;
}
.woocommerce-pagination .page-numbers li a:hover,
.wp-block-query-pagination .page-numbers a:hover {
    background: #1a5a8c !important;
    color: #fff !important;
}
.woocommerce-pagination .page-numbers li .current,
.wp-block-query-pagination .page-numbers .current {
    background: #1a5a8c !important;
    color: #fff !important;
    border-color: #1a5a8c !important;
}

/* Footer 深色背景 */
footer .site-footer, .ast-footer-copyright {
    background: #0f172a !important;
    color: #cbd5e1 !important;
}
footer a {
    color: #94a3b8 !important;
}
footer a:hover {
    color: #2e7d32 !important;
}

/* 新闻列表美化 */
.wp-block-latest-posts__list, .wp-block-post-template {
    list-style: none !important;
    padding: 0 !important;
}
.wp-block-latest-posts li, .wp-block-post-template li {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.wp-block-latest-posts li:hover, .wp-block-post-template li:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
}
.wp-block-latest-posts li a, .wp-block-post-template li a {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 20px !important;
    color: #1a5a8c !important;
    text-decoration: none !important;
}
.wp-block-latest-posts__post-date {
    color: #2e7d32 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* 响应式 */
@media (max-width: 768px) {
    .entry-title { font-size: 28px !important; }
    .entry-content h2 { font-size: 22px !important; }
    .entry-content h3 { font-size: 18px !important; }
    .entry-content p { font-size: 16px !important; }
}


/* CF7 表单样式（仿 Euromed wpforms 风格） */
.wpcf7-form { font-family: 'Exo 2', sans-serif !important; }
.wpcf7-form label { font-weight: 600 !important; color: #2D3748 !important; }
.wpcf7-form .tnb-cf7-input,
.wpcf7-form .tnb-cf7-textarea,
.wpcf7-form select.tnb-cf7-input {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-family: 'Exo 2', sans-serif !important;
    color: #2D3748 !important;
    background: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    box-sizing: border-box !important;
}
.wpcf7-form .tnb-cf7-input:focus,
.wpcf7-form .tnb-cf7-textarea:focus,
.wpcf7-form select.tnb-cf7-input:focus {
    border-color: #2b6cb0 !important;
    box-shadow: 0 0 0 3px rgba(43,108,176,0.15) !important;
    outline: none !important;
}
.wpcf7-form .tnb-cf7-textarea { min-height: 120px !important; resize: vertical !important; }
.wpcf7-form .tnb-cf7-submit,
.wpcf7-form input[type="submit"].wpcf7-submit,
.wpcf7-form .wpcf7-submit {
    background: #a37d1a !important;
    color: #fff !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: 20px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    font-family: 'Exo 2', sans-serif !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    width: 100% !important;
}
.wpcf7-form .tnb-cf7-submit:hover,
.wpcf7-form input[type="submit"].wpcf7-submit:hover,
.wpcf7-form .wpcf7-submit:hover {
    background: #8aa512 !important;
    box-shadow: 0 4px 12px rgba(138,165,18,0.3) !important;
}
.wpcf7-form input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-top: 3px !important;
    accent-color: #8aa512 !important;
}
.wpcf7-form input[type="checkbox"] + span,
.wpcf7-form label input[type="checkbox"] + span {
    font-size: 0.9rem !important;
    color: #4A5568 !important;
    line-height: 1.6 !important;
}
.wpcf7-response-output {
    border-radius: 8px !important;
    padding: 12px 20px !important;
    margin-top: 15px !important;
    font-size: 14px !important;
}
.wpcf7-validation-errors { background: #fef3c7 !important; border-color: #f59e0b !important; color: #92400e !important; }
.wpcf7-mail-sent-ok { background: #d1fae5 !important; border-color: #10b981 !important; color: #065f46 !important; }

/* contact 页两列响应式 */
@media (max-width: 768px) {
    .wpcf7-form > div[style*="display:flex;gap:15px"] { flex-direction: column !important; gap: 20px !important; }
}

/* ===== FAQ accordion ===== */
.tnb-faq{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow:hidden;transition:box-shadow 0.2s}
.tnb-faq[open]{border-color:#1a5a8c;box-shadow:0 4px 14px rgba(26,90,140,0.08)}
.tnb-faq summary{cursor:pointer;padding:18px 22px;font-size:16.5px;font-weight:600;color:#1a5a8c;font-family:'Exo 2',sans-serif;list-style:none;position:relative;padding-right:48px;user-select:none}
.tnb-faq summary::-webkit-details-marker{display:none}
.tnb-faq summary:after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;color:#2e7d32;font-weight:400;transition:transform 0.2s;line-height:1}
.tnb-faq[open] summary:after{content:'\2212';transform:translateY(-50%)}
.tnb-faq summary:hover{color:#2e7d32}
.tnb-faq-body{padding:0 22px 20px;border-top:1px solid #f1f5f9}
.tnb-faq-body p{font-size:15.5px;line-height:1.85;color:#475569;margin:14px 0 0!important}
.tnb-faq-body a{color:#1a5a8c;font-weight:600}

/* ===== News archive (posts page) 3-column grid ===== */
.blog #primary, .archive #primary{width:100%}
.blog .ast-row, .archive .ast-row{display:grid!important;grid-template-columns:repeat(3,1fr);gap:26px;margin:0!important}
.blog article.ast-article-post, .archive article.ast-article-post{
  background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;
  overflow:hidden!important;transition:transform 0.3s,box-shadow 0.3s!important;
  margin:0!important;padding:0!important;display:flex;flex-direction:column;max-width:100%!important;width:100%!important;
}
.blog article.ast-article-post:hover, .archive article.ast-article-post:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(0,0,0,0.12)}
.blog .ast-blog-featured-section, .archive .ast-blog-featured-section{margin:0!important;width:100%!important;float:none!important}
.blog .ast-blog-featured-section img, .archive .ast-blog-featured-section img{
  width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;display:block;border-radius:0!important;
}
.blog article .ast-article-content, .blog article .entry-content,
.archive article .ast-article-content, .archive article .entry-content{padding:20px 22px 24px}
.blog article .entry-title, .archive article .entry-title{font-size:17px!important;line-height:1.45!important;margin-bottom:10px!important;padding-bottom:0!important;border-bottom:none!important}
.blog article .entry-title a, .archive article .entry-title a{color:#1a5a8c!important;text-decoration:none!important;font-family:'Exo 2',sans-serif}
.blog article .entry-title a:hover, .archive article .entry-title a:hover{color:#2e7d32!important}
.blog article .entry-meta, .archive article .entry-meta{padding:0 22px;margin-top:14px!important;font-size:13px}
.blog .ast-pagination, .archive .ast-pagination{margin-top:40px;text-align:center;width:100%}
@media(max-width:921px){
  .blog .ast-row, .archive .ast-row{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:544px){
  .blog .ast-row, .archive .ast-row{grid-template-columns:1fr!important}
}

/* ===== Shop archive cards ===== */
.ast-woocommerce-container ul.products li.product{display:flex;flex-direction:column}
