.page {
    background-color: white;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    /* border-radius: 0.5rem; */
    padding: 1.5rem;
    margin-bottom: 1rem;
    min-height: 100vh;
}

@media (min-width: 640px) {
    .page {
        padding: 2rem;
    }
}

/* Worship Schedule Styles */

/* Custom fonts for Chinese text */
.worship-schedule {
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "STHeiti", "WenQuanYi Micro Hei", sans-serif;
}

.title-label {
    text-align-last: justify;
    text-justify: distribute-all-lines;
    text-align: justify;
}

.worship-procedure {
    font-family: "KaiTi", "Kaiti SC", STKaiti, "KaiTi_GB2312", serif;
}

/* Section title styles */
.section-title {
    /* font-size: 1.25rem; */
    font-weight: 700;    /* font-bold */
    /* letter-spacing: 0.025em; */
}

.section-title-en {
    /* font-size: 1rem;     */
    font-weight: 700;   
    /* color: #4B5563; */
    /* letter-spacing: 0.025em; */
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "STHeiti", "WenQuanYi Micro Hei", sans-serif;
}

.item-title-en {
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "STHeiti", "WenQuanYi Micro Hei", sans-serif;
}

/* Cover Title Component Styles
-------------------------------------------------- */
/* 1. Main Layout */
.worship-cover {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.worship-cover-main {
    flex: 1;
}

.worship-cover-aside {
    width: 100px;
}

/* 2. Header Section */
.worship-cover-header {
    display: flex;
    flex-direction: column;
}

.worship-title-section {
    flex: 1;
}

.worship-main-title {
    font-size: 1.875rem; /* text-3xl */
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.worship-date {
    font-size: 1.25rem; /* text-xl */
}

.worship-contact-section {
    margin-top: 1rem;
    text-align: right;
}

/* 合并 church-info 的样式到 worship-church-info */
.worship-church-info {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    margin-bottom: 0.5rem;
}

.worship-church-info > * {
    margin-top: 0.25rem;
}

/* 3. Divider */
.worship-divider {
    margin: 0.5rem 0;
    border-color: #D1D5DB; /* border-gray-300 */
}

/* 4. Info Section */
.worship-info-section {
    margin-top: 1rem;
}

.worship-info-section > * + * {
    margin-top: 0.5rem;
}

.worship-info-row {
    display: grid;
    grid-template-columns: 6em 1fr;
    gap: 0.5rem;
    align-items: flex-start;
}

.worship-info-label {
    font-size: 1.25rem; /* text-xl */
    text-align-last: justify;
    text-justify: distribute-all-lines;
    text-align: justify;
}

/* 5. Logo Section */
.worship-logo-section {
    /* margin-bottom: 0.5rem; */
}

/* 合并 church-logo 的样式到 worship-church-logo */
.worship-church-logo {
    width: auto;
    height: auto;
    object-fit: contain;
    width: 100%;
    display: block;
}

/* 6. Vertical Text */
.worship-vertical-text {
    padding: 0 1rem;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
}

.worship-vertical-text-main {
    display: flex;
    flex-direction: column;
    font-size: 1.25rem; /* text-xl */
}

.worship-vertical-text-sub {
    display: flex;
    flex-direction: column;
}

.worship-vertical-text-sub .worship-vertical-char {
    margin-bottom: 0.5rem;
    font-size: 1.875rem; /* text-3xl */
    font-weight: 600;
}

/* Responsive Styles */
@media (min-width: 768px) {
    .worship-cover {
        flex-direction: row;
    }
    
    .worship-cover-header {
        flex-direction: row;
    }
    
    .worship-cover-aside {
        margin-left: 0.5rem;
    }
    
    .worship-contact-section {
        margin-top: 0;
        margin-left: 2rem;
    }
}


/* 通用表格样式 */
.worship-table {
    width: 100%;
    background-color: #fff;
    border: 1px solid #D1D5DB; /* border-gray-300 */
}

/* 表头样式 */
.worship-table thead {
    background-color: #F3F4F6; /* bg-gray-100 */
}

.worship-table th {
    padding: 0.25rem 0.75rem; /* py-1 px-3 */
    border: 1px solid #D1D5DB; /* border-gray-300 */
    text-align: center;
    font-weight: 600; /* font-semibold */
    color: #374151; /* text-gray-700 */
}

/* 单元格样式 */
.worship-table td {
    padding: 0.25rem 0.75rem; /* py-1 px-3 */
    border: 1px solid #D1D5DB; /* border-gray-300 */
    vertical-align: middle;
    text-align: center;
}

.worship-table td.text-left {
    text-align: left;
}

.worship-table td.text-right {
    text-align: right;
}

.assignment-table-container,
.offering-table-container,
.fellowship-table-container,
.announcement-table-container,
.prayer-table-container,
.article-table-container {
    display: flex;
    justify-content: space-between;
}

.assignment-table, .attendance-table, .offering-table, .fellowship-table, .announcement-content,
.prayer-content, .article-content {
    margin-left: 0.25rem;
    flex: 1;
}



.vertical-title {
    width: 30px;
}

.announcement-content,
.prayer-content,
.article-content {
    padding-left: 1rem;
}

.event-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.event-poster-container {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.announcement-item {
    margin-bottom: 0.5rem;
}