/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* =============================================
   1. 字体声明 (@font-face) - 引入字符范围锁定
   ============================================= */

/* 英文/数字范围代码 (Unicode Range) */
/* U+0000-00FF 覆盖了所有基础拉丁字母、数字和符号 */
@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-Bold.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF;
}
@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-Medium.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF;
}
@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-Regular.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF;
}

@font-face {
    font-family: 'Inter';
    src: url('assets/fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF;
}
@font-face { font-family: 'Inter'; src: url('assets/fonts/Inter-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }
@font-face { font-family: 'Inter'; src: url('assets/fonts/Inter-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }

/* =============================================
   2. 响应式流体字号 (390px -> 1440px)
   ============================================= */
:root {
    --fluid-12: 0.75rem;
    --fluid-13: clamp(0.75rem, 0.25vw + 0.7rem, 0.8125rem);
    --fluid-14: clamp(0.8125rem, 0.2vw + 0.75rem, 0.875rem);
    --fluid-15: clamp(0.875rem, 0.2vw + 0.8rem, 0.9375rem);
    --fluid-16: clamp(0.9375rem, 0.2vw + 0.85rem, 1rem);
    --fluid-18: clamp(1rem, 0.4vw + 0.88rem, 1.125rem);
    --fluid-20: clamp(1.125rem, 0.5vw + 1rem, 1.25rem);
    --fluid-22: clamp(1.125rem, 0.4vw + 1rem, 1.375rem);
    --fluid-24: clamp(1.25rem, 1vw + 1rem, 1.5rem);
    --fluid-28: clamp(1.375rem, 1.5vw + 1rem, 1.75rem);
    --fluid-32: clamp(1.5rem, 2.5vw + 0.8rem, 2rem);
    --fluid-36: clamp(1.5rem, 1.5vw + 0.88rem, 2.25rem);
    --fluid-40: clamp(1.75rem, 3vw + 1rem, 2.5rem);
    --fluid-48: clamp(2rem, 4vw + 1rem, 3rem);
    --fluid-56: clamp(2.25rem, 3vw + 1rem, 3.5rem);

    /* 语义映射（方便直接在 Bricks 自定义 CSS 中用） */
    --fs-h1: var(--fluid-40); --fs-h2: var(--fluid-32); --fs-h3: var(--fluid-28);
    --fs-h4: var(--fluid-24); --fs-h5: var(--fluid-20);
    --fs-body: var(--fluid-16); --fs-small: var(--fluid-14);
    --fs-subtitle: var(--fluid-22); --fs-display: var(--fluid-36);
    --fs-hero-lg: var(--fluid-56);

    /* 字体族 */
    --font-main: 'Inter', -apple-system, system-ui, sans-serif;
    --font-heading: 'Poppins', sans-serif;
}

/* =============================================
   3. 中英混排黑科技
   ============================================= */

/* 中文站逻辑：数字/英文优先用专业字体，汉字用系统字体 */
:root:lang(zh) {
    --font-main: 'Inter', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
    --font-heading: 'Poppins', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
}

/* =============================================
   4. 底层渲染分配
   ============================================= */

/* 渲染平滑优化 */
*, *::before, *::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* 分配字体族到 Bricks 元素 */
h1, h2, h3, h4, h5, h6,
.brxe-heading,
.brxe-button,
.brxe-nav-menu a {
    font-family: var(--font-heading);
}
body, p, .brxe-text, .brxe-text-basic {
    font-family: var(--font-main);
}

/* =============================================
   5. 中文排版精修
   ============================================= */
:root:lang(zh) body { line-height: 1.8; }
:root:lang(zh) :is(h1, h2, h3, h4, h5, h6, .brxe-heading) { line-height: 1.4; letter-spacing: 0; }

/* 强制中文版正文不加粗 + 增加微小字间距 */
:root:lang(zh) :is(p, .brxe-text, .brxe-text-basic) {
    font-weight: 400;
    letter-spacing: 0.02em; 
}

/* 英文版排版精修 */
:root:lang(en) body {
    line-height: 1.6;
    letter-spacing: 0;
}

/* 无障碍：尊重系统减弱动态效果 */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
