/* 首页花纹与装饰 - 由主题配置动态应用 */
/* 页面背景花纹 */
.index-page-bg.dots {
    background-image: radial-gradient(circle, var(--pattern-color) 1px, transparent 1px);
    background-size: 24px 24px;
}
.index-page-bg.grid {
    background-image: linear-gradient(var(--pattern-color) 1px, transparent 1px),
                      linear-gradient(90deg, var(--pattern-color) 1px, transparent 1px);
    background-size: 32px 32px;
}
.index-page-bg.cross {
    background-image: linear-gradient(45deg, var(--pattern-color) 25%, transparent 25%),
                      linear-gradient(-45deg, var(--pattern-color) 25%, transparent 25%),
                      linear-gradient(45deg, transparent 75%, var(--pattern-color) 75%),
                      linear-gradient(-45deg, transparent 75%, var(--pattern-color) 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0;
}
.index-page-bg.waves {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30'%3E%3Cpath d='M0 15 Q15 5 30 15 T60 15' stroke='%230d6efd' fill='none' stroke-width='0.5' opacity='0.15'/%3E%3C/svg%3E");
    background-size: 60px 30px;
}
.index-page-bg.seigaiha {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40'%3E%3Cg fill='none' stroke='%230d6efd' stroke-width='0.5' opacity='0.12'%3E%3Ccircle cx='20' cy='20' r='10'/%3E%3Ccircle cx='60' cy='20' r='10'/%3E%3Ccircle cx='40' cy='35' r='10'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 80px 40px;
}
.index-page-bg.stamps {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Crect x='2' y='2' width='12' height='12' fill='none' stroke='%230d6efd' stroke-width='1' opacity='0.12' rx='1'/%3E%3Crect x='34' y='34' width='12' height='12' fill='none' stroke='%230d6efd' stroke-width='1' opacity='0.12' rx='1'/%3E%3C/svg%3E");
    background-size: 48px 48px;
}

/* 区块分隔线 */
.index-divider.wave {
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'%3E%3Cpath d='M0,12 Q300,0 600,12 T1200,12 L1200,24 L0,24 Z' fill='%23f8f9fa'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    margin: 1.5rem 0;
}
.index-divider.dots {
    height: 20px;
    background: radial-gradient(circle, var(--theme-primary, #0d6efd) 2px, transparent 2px);
    background-size: 16px 16px;
    opacity: 0.3;
    margin: 1.5rem 0;
}
.index-divider.line {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--theme-primary, #0d6efd), transparent);
    opacity: 0.25;
    margin: 1.5rem 0;
}
.index-divider.stamp {
    height: 28px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 28'%3E%3Cg fill='none' stroke='%230d6efd' stroke-width='1' opacity='0.4'%3E%3Crect x='20' y='4' width='16' height='16' rx='2'/%3E%3Crect x='92' y='4' width='16' height='16' rx='2'/%3E%3Crect x='164' y='4' width='16' height='16' rx='2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
    margin: 1.5rem 0;
}

/* 卡片装饰 */
.index-card-decor .card {
    position: relative;
    overflow: hidden;
}
.index-card-decor .card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, transparent 50%, var(--theme-primary, #0d6efd) 50%);
    opacity: 0.06;
    border-radius: 0 0.25rem 0 0;
}
.index-card-decor .card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border-left: 2px solid var(--theme-primary, #0d6efd);
    border-bottom: 2px solid var(--theme-primary, #0d6efd);
    opacity: 0.15;
    border-radius: 0 0 0 0.25rem;
}
