/* 全局样式 - Frontend Custom Styles */

/* 按钮样式 */
.btn-primary {
    background-color: #2c6868 !important;
    border-color: #2c6868 !important;
    color: #ffffff !important;
}

.btn-primary:hover {
    background-color: #235353 !important;
    border-color: #235353 !important;
}

/* 富文本内容样式 - 与编辑器保持一致 */
.prose-custom {
    line-height: 1.75;
    color: #374151;
}

.prose-custom p {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

.prose-custom h1 {
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: 0.8888889em;
    line-height: 1.1111111;
    font-weight: 800;
    color: #111827;
}

.prose-custom h2 {
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333;
    font-weight: 700;
    color: #111827;
}

.prose-custom h3 {
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    line-height: 1.6;
    font-weight: 600;
    color: #111827;
}

.prose-custom h4 {
    font-size: 1.125em;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.5555556;
    font-weight: 600;
    color: #111827;
}

.prose-custom h5,
.prose-custom h6 {
    font-size: 1em;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.5;
    font-weight: 600;
    color: #111827;
}

.prose-custom a {
    color: #3b82f6;
    text-decoration: underline;
    font-weight: 500;
}

.prose-custom a:hover {
    color: #2563eb;
}

.prose-custom strong {
    color: #111827;
    font-weight: 600;
}

.prose-custom em {
    font-style: italic;
}

.prose-custom ul,
.prose-custom ol {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-left: 1.625em;
}

.prose-custom ul {
    list-style-type: disc;
}

.prose-custom ol {
    list-style-type: decimal;
}

.prose-custom li {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.prose-custom ul ul,
.prose-custom ul ol,
.prose-custom ol ul,
.prose-custom ol ol {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
}

.prose-custom blockquote {
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-left: 1em;
    border-left: 0.25rem solid #e5e7eb;
    font-style: italic;
    color: #111827;
}

.prose-custom code {
    color: #111827;
    font-weight: 600;
    font-size: 0.875em;
    background-color: #f3f4f6;
    padding: 0.2em 0.4em;
    border-radius: 0.25rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.prose-custom pre {
    color: #e5e7eb;
    background-color: #1f2937;
    overflow-x: auto;
    font-size: 0.875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: 0.375rem;
    padding: 0.8571429em 1.1428571em;
}

.prose-custom pre code {
    background-color: transparent;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
}

.prose-custom img {
    margin-top: 2em;
    margin-bottom: 2em;
    max-width: 100%;
    height: auto;
    border-radius: 0.375rem;
}

/* 居中对齐的图片独占一行 */
.prose-custom img[style*="display: block"],
.prose-custom img[style*="margin-left: auto"],
.prose-custom img[style*="margin-right: auto"],
.prose-custom p[style*="text-align: center"] img,
.prose-custom div[style*="text-align: center"] img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.prose-custom table {
    width: 100%;
    table-layout: auto;
    text-align: left;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: 0.875em;
    line-height: 1.7142857;
    border-collapse: collapse;
}

.prose-custom thead {
    border-bottom: 1px solid #d1d5db;
}

.prose-custom thead th {
    color: #111827;
    font-weight: 600;
    vertical-align: bottom;
    padding: 0.5714286em;
}

.prose-custom tbody tr {
    border-bottom: 1px solid #e5e7eb;
}

.prose-custom tbody tr:last-child {
    border-bottom-width: 0;
}

.prose-custom tbody td {
    vertical-align: baseline;
    padding: 0.5714286em;
}

.prose-custom hr {
    border-color: #e5e7eb;
    border-top-width: 1px;
    margin-top: 3em;
    margin-bottom: 3em;
}

/* 背景色 */
body {
    background-color: #f5f8f7 !important;
}

/* 主色渐变 */
.bg-gradient-to-r.from-primary-600 {
    background: linear-gradient(to right, #2c6868, #235353) !important;
}

.bg-gradient-to-r.to-primary-800 {
    background: linear-gradient(to right, #2c6868, #235353) !important;
}

.bg-gradient-to-br.from-primary-600 {
    background: linear-gradient(to bottom right, #2c6868, #235353) !important;
}

/* 主色背景 */
.bg-primary-600 {
    background-color: #2c6868 !important;
}

.bg-primary-100 {
    background-color: #d9e8e8 !important;
}

.bg-primary-50 {
    background-color: #f0f5f5 !important;
}

/* 强调色 */
.text-accent {
    color: #a07840 !important;
}

.bg-accent {
    background-color: #a07840 !important;
}

/* Banner Carousel 样式 */
.carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    pointer-events: none;
}

.carousel-item.active {
    opacity: 1;
    pointer-events: auto;
}

.banner-text-content {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-in-out 0.3s, transform 0.6s ease-in-out 0.3s;
}

.carousel-item.active .banner-text-content {
    opacity: 1;
    transform: translateY(0);
}

/* Video 容器样式 */
.relative.group .absolute.inset-0 {
    background: rgba(0, 0, 0, 0.3);
    transition: background 0.3s ease;
}

.relative.group:hover .absolute.inset-0 {
    background: rgba(0, 0, 0, 0.5);
}
