/*
Theme Name: HST Theme
Theme URI: https://hst.aizyu.cn/
Description: Astra Child Theme for HST official website
Author: HST Team
Author URI: https://hsttec.com/
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hst-theme
*/

/* --- Global Typography & Colors --- */
:root {
    --hst-font-family: "Open Sans", "Noto Sans SC", Arial, sans-serif;
    --hst-pc-page-gutter: 40px;
    --hst-container-width: 1280px;
    --hst-container-gutter: 40px;
    --hst-font-hero-title: 80px;
    --hst-font-hero-subtitle: 48px;
    --hst-font-section-eyebrow: 44px;
    --hst-font-section-title: 40px;
    --hst-font-content-title: 22px;
    --hst-font-card-title: 18px;
    --hst-font-body-lg: 20px;
    --hst-font-body: 17px;
    --hst-font-body-sm: 15px;
    --hst-font-caption: 12px;
    --hst-font-nav: 15px;
    --hst-font-sidebar-section: 24px;
    --hst-font-sidebar-item: 17px;
    --hst-font-sidebar-subitem: 15px;
    --hst-font-form: 16px;
    --hst-font-button: 18px;
}

body {
    font-family: var(--hst-font-family);
    color: #333;
    font-size: var(--hst-font-body);
}

h1, h2, h3, h4, h5, h6 {
    color: #222;
}

a {
    color: #e60012;
    text-decoration: none;
    transition: color 0.3s;
}

a:hover {
    color: #c40010;
}

/* --- Gutenberg Block Overrides --- */
.wp-block-button__link {
    background-color: #e60012;
    border-radius: 4px;
    font-weight: 600;
}

.wp-block-button__link:hover {
    background-color: #c40010;
}

.wp-block-cover {
    border-radius: 0;
}

.wp-block-columns {
    margin-bottom: 0;
}

/* --- Utility Classes --- */
.hst-no-padding {
    padding: 0 !important;
}

.hst-text-white {
    color: #fff !important;
}

.hst-bg-light {
    background-color: #f5f5f5;
}

.hst-bg-dark {
    background-color: #111;
}

.hst-bg-red {
    background-color: #e60012;
}

.hst-section-padding {
    padding: 60px 0;
}

#ast-scroll-top,
.ast-scroll-top-icon {
    background-color: #e60012 !important;
    color: #fff !important;
}

#ast-scroll-top:hover,
#ast-scroll-top:focus,
.ast-scroll-top-icon:hover,
.ast-scroll-top-icon:focus {
    background-color: #c40010 !important;
    color: #fff !important;
}

/* --- Page Layout Container --- */
.hst-container {
    width: min(var(--hst-container-width), calc(100% - (var(--hst-container-gutter) * 2)));
    max-width: var(--hst-container-width);
    margin: 0 auto;
    padding: 0;
}

@media (min-width: 1025px) {
    .hst-container {
        width: min(var(--hst-container-width), calc(100% - (var(--hst-container-gutter) * 2)));
        padding-left: 0;
        padding-right: 0;
    }

    body:not(.home):not(.hst-language-home):not(.hst-about-page):not(.hst-products-page):not(.hst-service-page) .site-content .ast-container {
        padding-left: var(--hst-pc-page-gutter);
        padding-right: var(--hst-pc-page-gutter);
    }
}

@media (max-width: 820px) {
    :root {
        --hst-font-hero-title: 46px;
        --hst-font-hero-subtitle: 28px;
        --hst-font-section-eyebrow: 32px;
        --hst-font-section-title: 30px;
        --hst-font-content-title: 20px;
        --hst-font-body-lg: 17px;
        --hst-font-body: 16px;
        --hst-font-nav: 15px;
        --hst-font-sidebar-section: 18px;
        --hst-font-sidebar-item: 15px;
        --hst-font-sidebar-subitem: 14px;
        --hst-font-form: 15px;
        --hst-font-button: 16px;
    }
}

@media (max-width: 560px) {
    :root {
        --hst-container-gutter: 18px;
        --hst-font-hero-title: 34px;
        --hst-font-hero-subtitle: 20px;
        --hst-font-section-eyebrow: 28px;
        --hst-font-section-title: 26px;
        --hst-font-content-title: 18px;
        --hst-font-body-lg: 16px;
        --hst-font-body: 15px;
        --hst-font-nav: 14px;
        --hst-font-sidebar-section: 17px;
        --hst-font-sidebar-item: 15px;
        --hst-font-sidebar-subitem: 14px;
        --hst-font-form: 15px;
        --hst-font-button: 15px;
    }
}
