/**
 * WordPress Core Blocks Styling
 * 
 * @package Linghang
 */

/* Content Width Variables
   ========================================================================== */
:root {
    --content-width: 1200px;
    /* 正文内容宽度 - 与主题container一致 */
    --wide-width: 1200px;
    /* 宽内容宽度 - 与主题container一致 */
    --content-padding: 15px;
    /* 内容左右内边距 */
}

/* Default Block Width
   ========================================================================== */
.wp-block {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
}

/* Typography Blocks
   ========================================================================== */

/* 段落 */
.wp-block-paragraph {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 标题 */
.wp-block-heading,
h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 列表 */
.wp-block-list {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 引用 */
.wp-block-quote {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    border-left: 4px solid var(--primary-color);
}

.wp-block-pullquote {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    padding: 40px;
    border-top: 4px solid var(--primary-color);
    border-bottom: 4px solid var(--primary-color);
}

/* 代码 */
.wp-block-code {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 4px;
    overflow-x: auto;
}

/* 预格式化文本 */
.wp-block-preformatted {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 4px;
    overflow-x: auto;
}

/* Media Blocks
   ========================================================================== */

/* 图片 */
.wp-block-image {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

.wp-block-image img {
    display: block;
    height: auto;
}

.wp-block-image figcaption {
    text-align: center;
    font-size: 14px;
    color: var(--text-muted);
    margin-top: 10px;
}

/* 图库 */
.wp-block-gallery {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 视频 */
.wp-block-video {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 音频 */
.wp-block-audio {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 嵌入内容 */
.wp-block-embed {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* Layout Blocks
   ========================================================================== */

/* 分组 */
.wp-block-group {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

.wp-block-group__inner-container {
    padding: 0;
}

/* 列 */
.wp-block-columns {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 覆盖块(Cover) - 默认全宽 */
.wp-block-cover {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* 间距 */
.wp-block-spacer {
    max-width: 100%;
}

/* Interactive Blocks
   ========================================================================== */

/* 按钮 */
.wp-block-buttons {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

.wp-block-button__link {
    padding: 15px 40px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 0;
    transition: var(--transition-base);
}

/* 表格 */
.wp-block-table {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
}

.wp-block-table td,
.wp-block-table th {
    padding: 12px;
    border: 1px solid var(--border-color);
}

/* 分隔符 */
.wp-block-separator {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    border: none;
    border-top: 2px solid var(--border-color);
}

.wp-block-separator.is-style-wide {
    max-width: var(--wide-width);
}

/* Alignment Classes
   ========================================================================== */

/* 宽内容对齐 */
.alignwide {
    max-width: var(--wide-width);
    margin-left: auto;
    margin-right: auto;
}

.wp-block-image.alignwide,
.wp-block-gallery.alignwide,
.wp-block-group.alignwide,
.wp-block-columns.alignwide {
    max-width: var(--wide-width);
}

/* 全宽对齐 */
.alignfull {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.wp-block-image.alignfull,
.wp-block-gallery.alignfull,
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
    max-width: 100%;
    width: 100%;
}

/* 左对齐 */
.alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
}

/* 右对齐 */
.alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
}

/* 居中对齐 */
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive Design
   ========================================================================== */
@media (max-width: 1024px) {
    :root {
        --content-width: 90%;
        --wide-width: 95%;
    }
}

@media (max-width: 768px) {
    .wp-block {
        padding-left: 20px;
        padding-right: 20px;
    }

    .wp-block-columns {
        flex-direction: column;
    }

    .alignleft,
    .alignright {
        float: none;
        margin: 0 auto 20px;
        display: block;
    }
}

@media (max-width: 480px) {
    :root {
        --content-padding: 15px;
    }

    .wp-block-quote,
    .wp-block-pullquote {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* Theme-Specific Enhancements
   ========================================================================== */

/* 确保在全宽模板中内容也居中 */
.page-template-full-width .entry-content>*:not(.alignwide):not(.alignfull):not(.wp-block-cover):not(.wp-block-group.alignfull) {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* 首页内容居中 */
.home .entry-content>*:not(.alignwide):not(.alignfull):not(.wp-block-cover):not(.wp-block-group.alignfull) {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

:where(.is-layout-grid) {
    gap: 2em !important;
}