/*
Theme Name: Newsfy Custom
Theme URI: https://example.com
Author: Custom Theme
Author URI: https://example.com
Description: A custom news/magazine theme with modern header design
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: newsfy-custom
*/

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    color: #333;
}

/* Top Bar */
.top-bar {
    background: linear-gradient(135deg, #AB47BC 0%, #BA68C8 100%);
    padding: 8px 0;
    font-size: 13px;
}

.top-bar-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left a {
    color: #fff;
    text-decoration: none;
    margin-right: 20px;
    transition: opacity 0.3s;
}

.top-bar-left a:hover {
    opacity: 0.8;
}

.top-bar-right {
    display: flex;
    gap: 15px;
}

.top-bar-right a {
    color: #fff;
    font-size: 16px;
    transition: opacity 0.3s;
}

.top-bar-right a:hover {
    opacity: 0.8;
}

/* Main Header */
.main-header {
    background: #fff;
    border-bottom: 1px solid #eee;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo */
.site-logo {
    display: flex;
    align-items: center;
}

.site-logo a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 24px;
    font-weight: 700;
}

.logo-icon {
    width: 32px;
    height: 32px;
    background: #AB47BC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    margin-right: 2px;
    font-style: italic;
}

/* Logo Text - P 和 H 突出显示 + 白光闪过效果 */
.logo-text {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.5px;
    position: relative;
    display: inline-block;
    background: linear-gradient(to right, 
        #AB47BC 0%, #AB47BC 1ch,
        #333 1ch, #333 4ch,
        #AB47BC 4ch, #AB47BC 5ch,
        #333 5ch, #333 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 白光闪过效果 */
.logo-text::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.8) 50%, 
        transparent 100%
    );
    animation: shine 3s ease-in-out infinite;
    animation-delay: 1s;
}

@keyframes shine {
    0% {
        left: -100%;
    }
    20% {
        left: 100%;
    }
    100% {
        left: 100%;
    }
}

/* Hover 时加速闪光 */
.site-logo a:hover .logo-text::before,
.offcanvas-logo a:hover .logo-text::before {
    animation: shine 0.6s ease-in-out;
}

/* 暗黑模式 */
body.dark-mode .logo-text {
    background: linear-gradient(to right, 
        #AB47BC 0%, #AB47BC 1ch,
        #e0e0e0 1ch, #e0e0e0 4ch,
        #AB47BC 4ch, #AB47BC 5ch,
        #e0e0e0 5ch, #e0e0e0 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Navigation */
.main-navigation {
    flex: 1;
    display: flex;
    justify-content: center;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 35px;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.3s;
    display: block;
    padding: 5px 0;
}

.main-navigation a:hover {
    color: #AB47BC;
}

/* Header Actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.dark-mode-toggle,
.search-toggle,
.menu-toggle {
    background: none;
    border: none;
    font-size: 20px;
    color: #333;
    cursor: pointer;
    transition: color 0.3s;
    padding: 5px;
}

.dark-mode-toggle:hover,
.search-toggle:hover,
.menu-toggle:hover {
    color: #AB47BC;
}

/* Login Button */
.login-btn {
    background: transparent;
    color: #333;
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.login-btn:hover {
    background: #f8f9fa;
    color: #AB47BC;
}

.login-btn i {
    font-size: 18px;
}

/* User Menu */
.user-menu {
    position: relative;
}

.user-menu-toggle {
    background: #f8f9fa;
    border: none;
    padding: 6px 12px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #333;
}

.user-menu-toggle:hover {
    background: #e5e5e5;
}

.user-menu-toggle img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #fff;
}

.user-menu-toggle .user-name {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu-toggle i {
    font-size: 12px;
    transition: transform 0.3s;
}

.user-menu.active .user-menu-toggle i {
    transform: rotate(180deg);
}

/* User Dropdown */
.user-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 280px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 1000;
}

.user-menu.active .user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.user-dropdown-header {
    padding: 20px;
    border-bottom: 1px solid #e5e5e5;
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-dropdown-header img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid #f0f0f0;
}

.user-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.user-info strong {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-info span {
    font-size: 12px;
    color: #888;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-dropdown-menu {
    padding: 10px 0;
}

.user-dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.3s;
}

.user-dropdown-menu a:hover {
    background: #f8f9fa;
}

.user-dropdown-menu a i {
    width: 20px;
    color: #AB47BC;
    font-size: 16px;
}

.user-dropdown-footer {
    padding: 10px;
    border-top: 1px solid #e5e5e5;
}

.logout-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    color: #dc3545;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.3s;
}

.logout-link:hover {
    background: #dc3545;
    color: #fff;
}

/* Responsive */
@media (max-width: 1024px) {
    .main-navigation {
        display: none;
    }
}

@media (max-width: 768px) {
    .top-bar {
        display: none;
    }
    
    .login-btn span,
    .user-menu-toggle .user-name {
        display: none;
    }
    
    .user-menu-toggle {
        padding: 6px;
    }
    
    .header-actions {
        gap: 12px;
    }
}

/* Dark Mode Styles */
body.dark-mode {
    background: #1a1a1a;
    color: #e0e0e0;
}

body.dark-mode .main-header {
    background: #2a2a2a;
    border-bottom-color: #3a3a3a;
}

body.dark-mode .site-logo a,
body.dark-mode .main-navigation a,
body.dark-mode .dark-mode-toggle,
body.dark-mode .search-toggle,
body.dark-mode .menu-toggle {
    color: #e0e0e0;
}

body.dark-mode .main-navigation a:hover,
body.dark-mode .dark-mode-toggle:hover,
body.dark-mode .search-toggle:hover,
body.dark-mode .menu-toggle:hover {
    color: #AB47BC;
}

body.dark-mode .login-btn {
    color: #e0e0e0;
}

body.dark-mode .login-btn:hover {
    background: #3a3a3a;
    color: #AB47BC;
}

body.dark-mode .user-menu-toggle {
    background: #3a3a3a;
    color: #e0e0e0;
}

body.dark-mode .user-menu-toggle:hover {
    background: #4a4a4a;
}

body.dark-mode .user-dropdown {
    background: #2a2a2a;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

body.dark-mode .user-dropdown-header {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .user-dropdown-header img {
    border-color: #3a3a3a;
}

body.dark-mode .user-info strong {
    color: #e0e0e0;
}

body.dark-mode .user-dropdown-menu a {
    color: #e0e0e0;
}

body.dark-mode .user-dropdown-menu a:hover {
    background: #333;
}

body.dark-mode .user-dropdown-footer {
    border-top-color: #3a3a3a;
}

/* Main Content Layout */
.main-wrapper {
    background: #f8f9fa;
    padding: 40px 0;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    /* padding: 0 20px; */
}

/* main-content-grid 样式已删除 */

/* Sidebar Styles */
.sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: sticky;
    top: 80px; /* 调整这个值来控制侧边栏距离顶部的距离 */
}

.widget {
    background: #fff;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.widget-title {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
    position: relative;
}

.widget-title h5 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

/* Top Authors Widget */
.authors-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.author-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px;
    border-radius: 6px;
    transition: background 0.3s;
    cursor: pointer;
}

.author-item:hover {
    background: #f8f9fa;
}

.author-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.author-info {
    display: flex;
    flex-direction: column;
}

.author-name {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}

.author-position {
    font-size: 13px;
    color: #888;
}

/* Popular Posts Widget */
.mini-posts-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: relative;
    padding-left: 20px;
}

.mini-posts-list::before {
    content: '';
    position: absolute;
    left: 3.5px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: #e0e0e0;
}

.mini-post {
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
}

.mini-post .bullet {
    position: absolute;
    left: -20px;
    top: 8px;
    width: 8px;
    height: 8px;
    background: #AB47BC;
    border-radius: 50%;
    z-index: 1;
}

.mini-post .date {
    font-size: 12px;
    color: #888;
}

.mini-post .post-title {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.mini-post .post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.mini-post .post-title a:hover {
    color: #AB47BC;
}

/* Main Content Area */
.main-content {
    background: transparent;
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.post-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: transform 0.3s, box-shadow 0.3s;
}

.post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.post-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.post-card:hover .post-image img {
    transform: scale(1.05);
}

.post-content {
    padding: 0px;
}

.post-category {
    margin-bottom: 12px;
}

.post-category a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #666;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.3s;
}

.post-category a:hover {
    color: #AB47BC;
}

.post-category a::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 14px;
    background: #AB47BC;
    border-radius: 2px;
}

.post-card .post-title {
    margin: 0 0 15px 0;
    font-size: 18px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-card .post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
    display: block;
}

.post-card .post-title a:hover {
    color: #AB47BC;
}

.meta-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.post-author-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.author-image img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
}

.author-wrapper {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.author-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
}

.author-meta .by {
    font-size: 12px;
    color: #888;
    white-space: nowrap;
}

.author-meta a {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.author-meta a:hover {
    color: #AB47BC;
}

.date-wrapper {
    flex-shrink: 0;
}

.date-wrapper .date {
    font-size: 12px;
    color: #888;
    position: relative;
    padding-left: 12px;
    white-space: nowrap;
}

.date-wrapper .date::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background: #ddd;
}

.post-excerpt {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Load More Button */
.load-more-wrapper {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.load-more-btn {
    background: #AB47BC;
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
    position: relative;
    min-width: 160px;
}

.load-more-btn:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.load-more-btn.loading {
    background: transparent;
    border: none;
    pointer-events: none;
    padding: 20px;
}

.load-more-btn .btn-text {
    display: inline-block;
    transition: opacity 0.3s;
}

.load-more-btn.loading .btn-text {
    display: none;
}

.load-more-btn .spinner {
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: #FFB6C1;
    border-radius: 50%;
    animation: pulse 1s ease-in-out infinite;
}

.load-more-btn.loading .spinner {
    display: block;
}

@keyframes pulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 1;
    }
}

/* Right Sidebar Widgets */
.widget-ad {
    padding: 0;
    overflow: hidden;
}

.ad-banner {
    display: block;
}

.ad-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.featured-post .post-image {
    margin-bottom: 15px;
}

.featured-post .post-content {
    padding: 0;
}

.featured-post .post-category {
    margin-bottom: 10px;
}

.featured-post .post-title {
    margin: 0 0 12px 0;
    font-size: 16px;
    line-height: 1.4;
}

.featured-post .post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.featured-post .post-title a:hover {
    color: #AB47BC;
}

.featured-post .post-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #888;
}

.featured-post .post-date i {
    color: #AB47BC;
}

/* Small Posts List */
.small-posts-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.small-post {
    display: flex;
    gap: 15px;
}

.small-post .post-image {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
}

.small-post .post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.small-post .post-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.small-post .post-title {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}

.small-post .post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.small-post .post-title a:hover {
    color: #AB47BC;
}

.small-post .post-date {
    font-size: 12px;
    color: #888;
}

/* Dark Mode Adjustments */
body.dark-mode .main-wrapper {
    background: #1a1a1a;
}

body.dark-mode .widget,
body.dark-mode .post-card {
    background: #2a2a2a;
}

body.dark-mode .widget-title h5,
body.dark-mode .author-name,
body.dark-mode .post-card .post-title a,
body.dark-mode .post-author a,
body.dark-mode .mini-post .post-title a,
body.dark-mode .featured-post .post-title a,
body.dark-mode .small-post .post-title a {
    color: #e0e0e0;
}

body.dark-mode .author-item:hover {
    background: #333;
}

body.dark-mode .post-meta {
    border-bottom-color: #3a3a3a;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .main-content-grid {
        grid-template-columns: 280px 1fr 300px;
        gap: 20px;
    }
}

@media (max-width: 1024px) {
    .main-content-grid {
        grid-template-columns: 1fr 300px;
    }
    
    .sidebar-left {
        display: none;
    }
}

@media (max-width: 768px) {
    .main-wrapper {
        padding: 20px 0;
    }
    
    .container {
        padding: 0 15px;
    }
    
    .main-content-grid {
        grid-template-columns: 1fr;
    }
    
    .sidebar-right {
        display: none;
    }
    
    .posts-grid {
        grid-template-columns: 1fr;
    }
}

/* Footer Styles */
.site-footer {
    background: #f8f9fa;
    border-top: 1px solid #e5e5e5;
}

/* Instagram Section */
.footer-instagram {
    padding: 40px 0;
}

.instagram-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.instagram-item {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 8px;
}

.instagram-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
    border-radius: 8px;
}

.instagram-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.instagram-overlay i {
    color: #fff;
    font-size: 24px;
}

.instagram-item:hover img {
    transform: scale(1.1);
}

.instagram-item:hover .instagram-overlay {
    opacity: 1;
}

/* Footer Main */
.footer-content {
    padding: 60px 0;
    background: #fff;
}

.footer-wrapper {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
}

.footer-section {
    display: flex;
    flex-direction: column;
}

/* Footer About */
.footer-logo {
    margin-bottom: 20px;
}

.footer-logo a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 24px;
    font-weight: 700;
}

.footer-description {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Footer Title */
.footer-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
    position: relative;
    display: inline-block;
    width: fit-content;
}

/* Footer Posts */
.footer-posts-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-post-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-post-title {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}

.footer-post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-post-title a:hover {
    color: #AB47BC;
}

.footer-post-date {
    font-size: 12px;
    color: #888;
}

/* Footer Links */
.footer-links-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-link {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
    padding: 8px 0;
}

.footer-link:hover {
    color: #AB47BC;
}

.footer-link i {
    width: 20px;
    color: #AB47BC;
    font-size: 16px;
}

.footer-link span {
    font-size: 14px;
    font-weight: 500;
}

/* Newsletter */
.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.newsletter-form input[type="email"] {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s;
}

.newsletter-form input[type="email"]:focus {
    border-color: #AB47BC;
}

.newsletter-btn {
    background: #AB47BC;
    color: #fff;
    border: none;
    padding: 12px 20px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
}

.newsletter-btn:hover {
    background: #8E24AA;
}

/* Footer Bottom */
.footer-bottom {
    background: #fff;
    padding: 20px 0;
    border-top: 1px solid #e5e5e5;
}

.copyright {
    text-align: center;
    color: #666;
    font-size: 14px;
    margin: 0;
}

/* Dark Mode Footer */
body.dark-mode .site-footer {
    background: #1a1a1a;
}

body.dark-mode .footer-content {
    background: #2a2a2a;
}

body.dark-mode .footer-logo a,
body.dark-mode .footer-title,
body.dark-mode .footer-post-title a,
body.dark-mode .footer-link {
    color: #e0e0e0;
}

body.dark-mode .footer-description,
body.dark-mode .footer-post-date {
    color: #aaa;
}

body.dark-mode .footer-link i {
    color: #AB47BC;
}

body.dark-mode .newsletter-form input[type="email"] {
    background: #3a3a3a;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .footer-bottom {
    background: #2a2a2a;
    border-top-color: #3a3a3a;
}

body.dark-mode .copyright {
    color: #aaa;
}

/* Responsive */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    
    .instagram-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .instagram-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .footer-main {
        padding: 40px 0;
    }
}

/* Offcanvas Menu */
.offcanvas-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.offcanvas-container.active {
    display: flex;
    opacity: 1;
}

.offcanvas-container.active ~ main,
.offcanvas-container.active ~ .site-footer {
    filter: blur(5px);
    pointer-events: none;
}

.offcanvas-container-inner {
    position: relative;
    width: 380px;
    height: 100%;
    background: #fff;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.offcanvas-container.active .offcanvas-container-inner {
    transform: translateX(0);
}

.offcanvas-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.3s;
}

.offcanvas-close:hover {
    transform: rotate(90deg);
}

.offcanvas-close i {
    color: #333;
    font-size: 24px;
}

.offcanvas-content {
    padding: 30px 20px;
    flex: 1;
}

/* Offcanvas Logo */
.offcanvas-logo {
    margin-bottom: 30px;
    padding-top: 10px;
}

.offcanvas-logo a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 20px;
    font-weight: 700;
}

.offcanvas-logo .logo-icon {
    width: 28px;
    height: 28px;
    background: #AB47BC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    margin-right: 8px;
    font-style: italic;
    flex-shrink: 0;
}

/* Offcanvas Navigation */
.offcanvas-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.offcanvas-navigation li {
    position: relative;
}

.offcanvas-navigation > ul > li > a {
    display: block;
    padding: 14px 0;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.3s;
    border-bottom: 1px solid #f0f0f0;
}

.offcanvas-navigation > ul > li > a:hover {
    color: #AB47BC;
}

.offcanvas-navigation .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    flex-direction: column;
    gap: 0;
    background: #f8f9fa;
}

.offcanvas-navigation li.menu-item-has-children > a::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transition: transform 0.3s;
}

.offcanvas-navigation li.menu-item-has-children.active > a::after {
    transform: translateY(-50%) rotate(-45deg);
}

.offcanvas-navigation .sub-menu li a {
    display: block;
    padding: 12px 0 12px 20px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    transition: color 0.3s;
    border-bottom: 1px solid #e8e8e8;
}

.offcanvas-navigation .sub-menu li a:hover {
    color: #AB47BC;
}

/* Offcanvas Divider */
.offcanvas-divider {
    height: 1px;
    background: #e5e5e5;
    margin: 20px 0;
}



/* Dark Mode - Offcanvas */
body.dark-mode .offcanvas-container-inner {
    background: #2a2a2a;
}

body.dark-mode .offcanvas-close i,
body.dark-mode .offcanvas-logo a,
body.dark-mode .offcanvas-navigation > ul > li > a {
    color: #e0e0e0;
}

body.dark-mode .offcanvas-navigation > ul > li > a,
body.dark-mode .offcanvas-navigation .sub-menu li a {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .offcanvas-navigation .sub-menu {
    background: #333;
}

body.dark-mode .offcanvas-navigation .sub-menu li a {
    color: #aaa;
    border-bottom-color: #3a3a3a;
}

body.dark-mode .offcanvas-navigation .sub-menu li a:hover {
    color: #AB47BC;
}

body.dark-mode .offcanvas-divider {
    background: #3a3a3a;
}

/* Search Popup */
.popup-search-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
}

.popup-search-container.active {
    display: flex;
}

.popup-search-wrapper {
    position: relative;
    background: #fff;
    width: 100%;
    max-width: 500px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.popup-search-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 36px;
    height: 36px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.3s;
    z-index: 10;
}

.popup-search-close:hover {
    transform: rotate(90deg);
}

.popup-search-close i {
    color: #333;
    font-size: 24px;
}

.popup-search-container {
    flex-direction: column;
}

.popup-search-form-wrap {
    padding: 30px 30px 25px;
}

.popup-search-form-wrap h5 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
}

.rivax-search-form {
    display: flex;
    gap: 8px;
}

.rivax-search-form .search-field {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #e5e5e5;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s;
    background: #f8f9fa;
}

.rivax-search-form .search-field:focus {
    border-color: #AB47BC;
    background: #fff;
}

.rivax-search-form .submit {
    width: 44px;
    height: 44px;
    background: #AB47BC;
    border: none;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rivax-search-form .submit:hover {
    background: #8E24AA;
}

.popular-search {
    padding: 20px 30px;
    border-top: 1px solid #e5e5e5;
}

.popular-search-title {
    font-size: 13px;
    font-weight: 600;
    color: #666;
    margin-bottom: 12px;
}

.popular-search-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.popular-search-keyword {
    display: inline-block;
    padding: 6px 14px;
    background: #f8f9fa;
    color: #666;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s;
}

.popular-search-keyword:hover {
    background: #AB47BC;
    color: #fff;
}

.popup-search-recent-posts-wrap {
    padding: 25px 30px;
    border-top: 1px solid #e5e5e5;
}

.popup-search-recent-posts-wrap .title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
}

.popup-search-recent-posts {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.popup-search-recent-posts .post-wrapper {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.popup-search-recent-posts .post-wrapper a {
    flex-shrink: 0;
}

.popup-search-recent-posts .post-wrapper a img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    display: block;
}

.popup-search-recent-posts .content-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.popup-search-recent-posts .content-wrapper h6 {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.popup-search-recent-posts .content-wrapper h6 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.popup-search-recent-posts .content-wrapper h6 a:hover {
    color: #AB47BC;
}

.popup-search-recent-posts .content-wrapper .date {
    font-size: 11px;
    color: #999;
}

/* Responsive */
@media (max-width: 768px) {
    .popup-search-form-wrap,
    .popular-search,
    .popup-search-recent-posts-wrap {
        padding: 25px 20px;
    }
    
    .popup-search-close {
        top: 20px;
        right: 20px;
    }
}


/* ========================================
   Single Post Page Styles
   ======================================== */

/* Single Post Layout */
.single-post-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start;
}

/* Single Post Content */
.single-post-content {
    background: #fff;
    border-radius: 8px;
    padding: 10px 40px 40px 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Post Header */
.single-post-header {
    margin-bottom: 30px;
}

.single-post-header .post-category {
    margin-bottom: 15px;
}

.single-post-header .post-category a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #AB47BC;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: opacity 0.3s;
}

.single-post-header .post-category a:hover {
    opacity: 0.8;
}

.single-post-header .post-category a::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 14px;
    background: #AB47BC;
    border-radius: 2px;
}

.single-post-title {
    font-size: 36px;
    line-height: 1.3;
    color: #333;
    margin: 0 0 20px 0;
    font-weight: 700;
}

/* Post Meta */
.single-post-meta {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
    padding: 20px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.single-post-meta .author-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.single-post-meta .author-info img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.single-post-meta .author-details {
    display: flex;
    align-items: center;
    gap: 5px;
}

.single-post-meta .by {
    font-size: 14px;
    color: #888;
}

.single-post-meta .author-name {
    font-size: 14px;
    font-weight: 600;
    color: #888;
    text-decoration: none;
    transition: color 0.3s;
}

.single-post-meta .author-name:hover {
    color: #AB47BC;
}

.single-post-meta .post-date,
.single-post-meta .post-views {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #888;
}

.single-post-meta .post-date i,
.single-post-meta .post-views i {
    color: #AB47BC;
}

/* Featured Image */
.single-post-featured-image {
    margin: 30px 0;
    border-radius: 8px;
    overflow: hidden;
}

.single-post-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Post Body */
.single-post-body {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin: 30px 0;
}

.single-post-body p {
    margin-bottom: 20px;
}

.single-post-body h2,
.single-post-body h3,
.single-post-body h4 {
    margin: 30px 0 15px 0;
    color: #333;
    font-weight: 700;
}

.single-post-body h2 {
    font-size: 28px;
}

.single-post-body h3 {
    font-size: 24px;
}

.single-post-body h4 {
    font-size: 20px;
}

.single-post-body ul,
.single-post-body ol {
    margin: 20px 0;
    padding-left: 30px;
}

.single-post-body li {
    margin-bottom: 10px;
}

.single-post-body blockquote {
    margin: 30px 0;
    padding: 20px 30px;
    background: #f8f9fa;
    border-left: 4px solid #AB47BC;
    font-style: italic;
    color: #666;
}

.single-post-body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 20px 0;
}

.single-post-body a {
    color: #AB47BC;
    text-decoration: underline;
    transition: opacity 0.3s;
}

.single-post-body a:hover {
    opacity: 0.8;
}

/* Post Tags */
.post-tags {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 25px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin: 30px 0;
}

.post-tags i {
    color: #AB47BC;
    font-size: 16px;
}

.post-tags a {
    display: inline-block;
    padding: 6px 14px;
    background: #f8f9fa;
    color: #666;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s;
}

.post-tags a:hover {
    background: #AB47BC;
    color: #fff;
}

/* Author Box */
.author-box {
    display: flex;
    gap: 24px;
    padding: 40px;
    background: #f8f9fa;
    border-radius: 12px;
    margin: 40px 0;
    border-left: 4px solid #AB47BC;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.author-box .author-avatar {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 50%;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.author-box .author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 50%;
}

.author-box .author-bio {
    flex: 1;
    min-width: 0; /* 确保文字能够换行 */
}

.author-box .author-name {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    padding-left: 28px;
}

/* 使用 CSS 创建笔图标 */
.author-box .author-name::before {
    content: '';
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, #AB47BC 0%, #BA68C8 100%);
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z'/%3E%3C/svg%3E");
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
}

.author-box .author-description {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    margin: 0;
    white-space: pre-line; /* 保留换行符 */
    word-wrap: break-word; /* 长单词换行 */
    overflow-wrap: break-word; /* 确保换行 */
}

/* 列表样式优化 */
.author-box .author-description ul,
.author-box .author-description ol {
    margin: 12px 0;
    padding-left: 20px;
}

.author-box .author-description li {
    margin: 8px 0;
    line-height: 1.6;
}

.author-box .author-description strong {
    color: #1a1a1a;
    font-weight: 600;
}

.author-box .author-description a {
    color: #AB47BC;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.author-box .author-description a:hover {
    color: #e55a25;
    text-decoration: underline;
}

/* Post Navigation */
.post-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 40px 0;
}

.nav-previous,
.nav-next {
    padding: 25px;
    background: #f8f9fa;
    border-radius: 8px;
    transition: background 0.3s;
}

.nav-previous:hover,
.nav-next:hover {
    background: #AB47BC;
}

.nav-previous:hover *,
.nav-next:hover * {
    color: #fff !important;
}

.nav-next {
    text-align: right;
}

.nav-label {
    display: block;
    font-size: 13px;
    color: #888;
    margin-bottom: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.nav-title {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
}

.nav-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

/* Single Post Sidebar */
.single-post-sidebar {
    position: sticky;
    top: 100px;
}

.single-post-sidebar .widget {
    background: #fff;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.single-post-sidebar .widget:last-child {
    margin-bottom: 0;
}

/* Categories List */
.categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.categories-list li {
    border-bottom: 1px solid #eee;
}

.categories-list li:last-child {
    border-bottom: none;
}

.categories-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.categories-list a:hover {
    color: #AB47BC;
}

.categories-list .cat-name {
    font-size: 14px;
    font-weight: 500;
}

.categories-list .cat-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    background: #f8f9fa;
    border-radius: 14px;
    font-size: 12px;
    font-weight: 600;
    color: #666;
}

.categories-list a:hover .cat-count {
    background: #AB47BC;
    color: #fff;
}

/* Comments Section */
.comments-area {
    margin-top: 50px;
    padding-top: 40px;
    border-top: 2px solid #eee;
}

.comments-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 30px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.comments-title::before {
    content: '';
    width: 4px;
    height: 24px;
    background: #AB47BC;
    border-radius: 2px;
}

.comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment {
    margin-bottom: 20px;
}

.comment-body {
    display: flex;
    gap: 15px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.comment-body:hover {
    border-color: #AB47BC;
    box-shadow: 0 2px 12px rgba(171, 71, 188, 0.1);
}

.comment-author {
    flex-shrink: 0;
}

.comment-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid #f0f0f0;
}

.comment-content-wrap {
    flex: 1;
    min-width: 0;
}

.comment-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.comment-author-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.comment-author-name {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.comment-date {
    font-size: 12px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 5px;
}

.comment-date::before {
    content: '';
    width: 1px;
    height: 12px;
    background: #ddd;
}

.comment-text {
    margin-bottom: 12px;
}

.comment-text p {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0;
}

.reply {
    margin: 0;
}

.comment-reply-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #AB47BC;
    text-decoration: none;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 4px;
    transition: all 0.3s;
}

.comment-reply-link:hover {
    background: #AB47BC;
    color: #fff;
}

.comment-reply-link::before {
    content: '\f3e5';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

/* Nested Comments */
.children {
    list-style: none;
    margin: 20px 0 0 0;
    padding: 0 0 0 30px;
    border-left: 2px solid #f0f0f0;
}

.children .comment {
    margin-bottom: 15px;
}

.children .comment-body {
    background: #fafafa;
}

/* Comment Number Badge */
.comment-list {
    padding-left: 50px;
}

.comment-list > .comment {
    position: relative;
}

.comment-list > .comment::before {
    content: attr(data-comment-number);
    position: absolute;
    left: -50px;
    top: 20px;
    width: 32px;
    height: 32px;
    background: #AB47BC;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(171, 71, 188, 0.3);
}

/* Comment Form */
.comment-respond {
    margin-top: 40px;
    padding: 30px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
}

.comment-reply-title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.comment-reply-title::before {
    content: '\f075';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: #AB47BC;
}

.comment-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.comment-form-comment {
    grid-column: 1 / -1;
}

.comment-form-comment,
.comment-form-author,
.comment-form-email,
.comment-form-url {
    display: flex;
    flex-direction: column;
}

.comment-form label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.comment-form .required {
    color: #AB47BC;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    padding: 12px 16px;
    border: 2px solid #e5e5e5;
    border-radius: 6px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: all 0.3s;
    background: #fff;
}

.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus,
.comment-form textarea:focus {
    border-color: #AB47BC;
    box-shadow: 0 0 0 3px rgba(171, 71, 188, 0.1);
}

.comment-form textarea {
    min-height: 140px;
    resize: vertical;
}

.form-submit {
    grid-column: 1 / -1;
    margin: 10px 0 0 0;
}

.submit {
    background: #AB47BC;
    color: #fff;
    border: none;
    padding: 14px 35px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.submit:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.submit::after {
    content: '\f1d8';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

/* Comment Notes */
.comment-notes {
    grid-column: 1 / -1;
    font-size: 13px;
    color: #888;
    margin: 0 0 10px 0;
    padding: 12px 16px;
    background: #fff;
    border-left: 3px solid #AB47BC;
    border-radius: 4px;
}

.comment-notes .required {
    color: #AB47BC;
    font-weight: 600;
}

/* Dark Mode - Single Post */
body.dark-mode .single-post-content {
    background: #2a2a2a;
}

body.dark-mode .single-post-title,
body.dark-mode .single-post-body h2,
body.dark-mode .single-post-body h3,
body.dark-mode .single-post-body h4,
body.dark-mode .author-name,
body.dark-mode .comments-title,
body.dark-mode .comment-reply-title {
    color: #e0e0e0;
}

body.dark-mode .single-post-body {
    color: #ccc;
}

body.dark-mode .single-post-meta,
body.dark-mode .post-tags {
    border-color: #3a3a3a;
}

body.dark-mode .single-post-body blockquote {
    background: #333;
    color: #aaa;
}

body.dark-mode .author-box,
body.dark-mode .nav-previous,
body.dark-mode .nav-next {
    background: #2a2a2a;
    border-left-color: #AB47BC;
}

body.dark-mode .author-box .author-name {
    color: #e0e0e0;
}

body.dark-mode .author-box .author-description {
    color: #b0b0b0;
}

body.dark-mode .author-box .author-description strong {
    color: #e0e0e0;
}

body.dark-mode .author-box .author-avatar img {
    border-color: #1a1a1a;
}

body.dark-mode .nav-label {
    color: #aaa;
}

body.dark-mode .nav-title a {
    color: #e0e0e0;
}

body.dark-mode .single-post-sidebar .widget {
    background: #2a2a2a;
}

body.dark-mode .categories-list li {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .categories-list a {
    color: #e0e0e0;
}

body.dark-mode .categories-list .cat-count {
    background: #333;
    color: #aaa;
}

body.dark-mode .comments-title {
    color: #e0e0e0;
}

body.dark-mode .comment-body {
    background: #2a2a2a;
    border-color: #3a3a3a;
}

body.dark-mode .comment-body:hover {
    border-color: #AB47BC;
}

body.dark-mode .children .comment-body {
    background: #252525;
}

body.dark-mode .comment-author img {
    border-color: #3a3a3a;
}

body.dark-mode .comment-author-name {
    color: #e0e0e0;
}

body.dark-mode .comment-text p {
    color: #aaa;
}

body.dark-mode .comment-respond {
    background: #2a2a2a;
    border-color: #3a3a3a;
}

body.dark-mode .comment-reply-title {
    color: #e0e0e0;
}

body.dark-mode .comment-form label {
    color: #e0e0e0;
}

body.dark-mode .comment-form input[type="text"],
body.dark-mode .comment-form input[type="email"],
body.dark-mode .comment-form input[type="url"],
body.dark-mode .comment-form textarea {
    background: #333;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .comment-form input[type="text"]:focus,
body.dark-mode .comment-form input[type="email"]:focus,
body.dark-mode .comment-form input[type="url"]:focus,
body.dark-mode .comment-form textarea:focus {
    border-color: #AB47BC;
    box-shadow: 0 0 0 3px rgba(171, 71, 188, 0.2);
}

body.dark-mode .comment-notes {
    background: #333;
    color: #aaa;
}

/* Responsive - Single Post */
@media (max-width: 1024px) {
    .single-post-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .single-post-sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    .single-post-layout {
        gap: 20px;
    }
    
    .single-post-content {
        padding: 20px;
        border-radius: 8px;
    }
    
    .single-post-title {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 15px;
    }
    
    .single-post-header .post-category {
        margin-bottom: 12px;
    }
    
    .single-post-meta {
        gap: 15px;
        padding: 15px 0;
    }
    
    .single-post-meta .author-info img {
        width: 36px;
        height: 36px;
    }
    
    .single-post-body {
        font-size: 15px;
    }
    
    .single-post-body img {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
        max-width: calc(100% + 40px);
        border-radius: 0;
    }
    
    .single-post-featured-image {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
        border-radius: 0;
    }
    
    .post-navigation {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .nav-previous,
    .nav-next {
        padding: 20px;
    }
    
    .nav-next {
        text-align: left;
    }
    
    .author-box {
        flex-direction: column;
        padding: 20px;
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
        border-radius: 0;
    }
    
    .comment-list {
        padding-left: 0;
    }
    
    .comment-list > .comment::before {
        display: none;
    }
    
    .comment-body {
        flex-direction: row;
        padding: 15px;
        gap: 12px;
    }
    
    .comment-author img {
        width: 40px;
        height: 40px;
    }
    
    .comment-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .comment-date::before {
        display: none;
    }
    
    .children {
        padding-left: 20px;
    }
    
    .comment-form {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .comment-respond {
        padding: 20px;
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
        border-radius: 0;
    }
    
    .post-tags {
        padding: 20px 0;
        margin: 25px 0;
        gap: 10px;
    }
    
    .post-tags a {
        padding: 5px 12px;
        font-size: 12px;
    }
    
    .comments-area {
        margin-top: 30px;
        padding-top: 30px;
    }
    
    .comments-title {
        font-size: 20px;
    }
}


/* Social Share Buttons */
.single-post-meta .meta-left {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
    flex: 1;
}

.social-share {
    display: flex;
    align-items: center;
    gap: 20px;
}

.share-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    transition: all 0.3s;
    border: none;
    cursor: pointer;
}

.share-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.share-btn.facebook {
    background: #1877f2;
}

.share-btn.twitter {
    background: #1da1f2;
}

.share-btn.linkedin {
    background: #0077b5;
}

.share-btn.pinterest {
    background: #e60023;
}

.share-btn.whatsapp {
    background: #25d366;
}

.share-btn.copy-link {
    background: #666;
}

.share-btn.copy-link.copied {
    background: #28a745;
}

.share-btn.facebook:hover {
    background: #145dbf;
}

.share-btn.twitter:hover {
    background: #1a8cd8;
}

.share-btn.linkedin:hover {
    background: #005885;
}

.share-btn.pinterest:hover {
    background: #bd001a;
}

.share-btn.whatsapp:hover {
    background: #1faa52;
}

.share-btn.copy-link:hover {
    background: #444;
}

/* Responsive - Social Share */
@media (max-width: 768px) {
    .single-post-meta {
        justify-content: flex-start;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .single-post-meta .meta-left {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .social-share {
        width: 100%;
        justify-content: flex-start;
        gap: 12px;
    }
    
    .share-btn {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
}


/* ========================================
   Category Archive Page Styles
   ======================================== */

/* Category Layout */
.category-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start;
}

/* Category Content */
.category-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Category Header */
.category-header {
    background: #fff;
    border-radius: 8px;
    padding: 30px 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.category-info {
    flex: 1;
}

.category-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.category-title i {
    color: #AB47BC;
    font-size: 28px;
}

.category-description {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

.category-meta {
    display: flex;
    align-items: center;
    gap: 20px;
}

.category-meta .post-count {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #f8f9fa;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.category-meta .post-count i {
    color: #AB47BC;
}

/* Category Posts Grid */
.category-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.category-post-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.category-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.category-post-card .post-image {
    position: relative;
    overflow: hidden;
    height: 290px;
    flex-shrink: 0;
}

.category-post-card .post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.category-post-card:hover .post-image img {
    transform: scale(1.05);
}

.category-post-card .post-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.category-post-card:hover .post-overlay {
    opacity: 1;
}

.category-post-card .read-more-btn {
    width: 50px;
    height: 50px;
    background: #AB47BC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    transition: transform 0.3s;
}

.category-post-card .read-more-btn:hover {
    transform: scale(1.1);
}

.category-post-card .post-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.category-post-card .post-category {
    margin: 0;
}

.category-post-card .post-category a {
    display: inline-block;
    background: #AB47BC;
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.3s;
}

.category-post-card .post-category a:hover {
    background: #8E24AA;
}

.category-post-card .post-category a::before {
    display: none;
}

.category-post-card .post-title {
    margin: 12px 0;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.category-post-card .post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-post-card .post-title a:hover {
    color: #AB47BC;
}

.category-post-card .meta-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.category-post-card .post-author-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.category-post-card .author-image img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
}

.category-post-card .author-wrapper {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.category-post-card .author-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
}

.category-post-card .author-meta .by {
    font-size: 12px;
    color: #888;
    white-space: nowrap;
}

.category-post-card .author-meta a {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.category-post-card .author-meta a:hover {
    color: #AB47BC;
}

.category-post-card .date-wrapper {
    flex-shrink: 0;
}

.category-post-card .date-wrapper .date {
    font-size: 12px;
    color: #888;
    position: relative;
    padding-left: 12px;
    white-space: nowrap;
}

.category-post-card .date-wrapper .date::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background: #ddd;
}

.category-post-card .post-excerpt {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
    flex: 1;
}

.category-post-card .read-more-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #AB47BC;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.3s;
}

.category-post-card .read-more-link:hover {
    gap: 12px;
}

.category-post-card .read-more-link i {
    font-size: 12px;
}

/* Category Load More */
.category-content .load-more-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.category-content .load-more-btn {
    background: #AB47BC;
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
    position: relative;
    min-width: 160px;
}

.category-content .load-more-btn:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.category-content .load-more-btn.loading {
    background: transparent;
    border: none;
    pointer-events: none;
    padding: 20px;
}

.category-content .load-more-btn .btn-text {
    display: inline-block;
    transition: opacity 0.3s;
}

.category-content .load-more-btn.loading .btn-text {
    display: none;
}

.category-content .load-more-btn .spinner {
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: #FFB6C1;
    border-radius: 50%;
    animation: pulse 1s ease-in-out infinite;
}

.category-content .load-more-btn.loading .spinner {
    display: block;
}

/* No Posts Found */
.no-posts-found {
    background: #fff;
    border-radius: 8px;
    padding: 80px 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    text-align: center;
}

.no-posts-icon {
    margin-bottom: 20px;
}

.no-posts-icon i {
    font-size: 80px;
    color: #ddd;
}

.no-posts-found h2 {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin: 0 0 15px 0;
}

.no-posts-found p {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin: 0 0 30px 0;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.back-home-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 30px;
    background: #AB47BC;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.3s;
}

.back-home-btn:hover {
    background: #8E24AA;
}

/* Category Sidebar */
.category-sidebar {
    position: sticky;
    top: 100px;
}

.category-sidebar .widget {
    background: #fff;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.category-sidebar .widget:last-child {
    margin-bottom: 0;
}

/* Dark Mode - Category Page */
body.dark-mode .category-header,
body.dark-mode .category-post-card,
body.dark-mode .category-pagination,
body.dark-mode .no-posts-found {
    background: #2a2a2a;
}

body.dark-mode .category-title,
body.dark-mode .category-post-card .post-title a,
body.dark-mode .no-posts-found h2 {
    color: #e0e0e0;
}

body.dark-mode .category-description,
body.dark-mode .category-post-card .post-excerpt,
body.dark-mode .no-posts-found p {
    color: #aaa;
}

body.dark-mode .category-meta .post-count {
    background: #333;
    color: #e0e0e0;
}

body.dark-mode .category-post-card .post-meta {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .category-post-card .author-name {
    color: #aaa;
}

body.dark-mode .category-pagination .page-numbers {
    background: #333;
    color: #e0e0e0;
}

body.dark-mode .category-pagination .page-numbers:hover {
    background: #AB47BC;
    color: #fff;
}

body.dark-mode .category-pagination .page-numbers.current {
    background: #AB47BC;
    color: #fff;
}

body.dark-mode .category-sidebar .widget {
    background: #2a2a2a;
}

/* Responsive - Category Page */
@media (max-width: 1024px) {
    .category-layout {
        grid-template-columns: 1fr;
    }
    
    .category-sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    .category-header {
        padding: 25px 20px;
    }
    
    .category-title {
        font-size: 24px;
    }
    
    .category-title i {
        font-size: 22px;
    }
    
    .category-posts-grid {
        grid-template-columns: 1fr;
    }
    
    .category-post-card .post-content {
        padding: 20px;
    }
    
    .category-post-card .post-title {
        font-size: 16px !important;
        font-weight: 700;
    }
    
    .category-post-card .post-excerpt {
        font-size: 13px;
    }
    
    .category-pagination {
        padding: 20px;
    }
    
    .category-pagination .page-numbers {
        min-width: 36px;
        height: 36px;
        font-size: 13px;
    }
    
    .no-posts-found {
        padding: 60px 20px;
    }
    
    .no-posts-icon i {
        font-size: 60px;
    }
    
    .no-posts-found h2 {
        font-size: 22px;
    }
}


/* ========================================
   404 Error Page Styles
   ======================================== */

/* 404 Page Layout */
.error-404-page {
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 40px 0;
}

/* 404 Content */
.error-404-content {
    background: #fff;
    border-radius: 12px;
    padding: 80px 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    text-align: center;
}

.error-404-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
}

.error-number {
    font-size: 120px;
    font-weight: 900;
    color: #AB47BC;
    line-height: 1;
    text-shadow: 3px 3px 0 rgba(171, 71, 188, 0.1);
}

.error-emoji {
    font-size: 100px;
    animation: shake 2s ease-in-out infinite;
}

@keyframes shake {
    0%, 100% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-10deg);
    }
    75% {
        transform: rotate(10deg);
    }
}

.error-404-title {
    font-size: 36px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
}

.error-404-description {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin: 0 0 40px 0;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* 404 Search Form */
.error-404-search {
    max-width: 500px;
    margin: 0 auto 40px;
}

.error-404-search h3 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 20px 0;
}

.error-search-form {
    display: flex;
    gap: 10px;
}

.error-search-form .search-field {
    flex: 1;
    padding: 14px 20px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    font-size: 15px;
    outline: none;
    transition: border-color 0.3s;
}

.error-search-form .search-field:focus {
    border-color: #AB47BC;
}

.error-search-form .search-submit {
    width: 50px;
    height: 50px;
    background: #AB47BC;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-search-form .search-submit:hover {
    background: #8E24AA;
}

/* 404 Links */
.error-404-links {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.error-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
}

.error-btn.primary {
    background: #AB47BC;
    color: #fff;
}

.error-btn.primary:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.error-btn.secondary {
    background: #f8f9fa;
    color: #333;
    border: 2px solid #e5e5e5;
}

.error-btn.secondary:hover {
    background: #e5e5e5;
    border-color: #d5d5d5;
}

/* 404 Posts Section */
.error-404-posts {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.error-404-posts .section-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 30px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
    position: relative;
}

.error-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.error-post-card {
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}

.error-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.error-post-card .post-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.error-post-card .post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.error-post-card:hover .post-image img {
    transform: scale(1.05);
}

.error-post-card .post-content {
    padding: 20px;
}

.error-post-card .post-category {
    margin-bottom: 10px;
}

.error-post-card .post-category a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #AB47BC;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: opacity 0.3s;
}

.error-post-card .post-category a:hover {
    opacity: 0.8;
}

.error-post-card .post-category a::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 10px;
    background: #AB47BC;
    border-radius: 2px;
}

.error-post-card .post-title {
    margin: 0 0 12px 0;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
}

.error-post-card .post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.error-post-card .post-title a:hover {
    color: #AB47BC;
}

.error-post-card .post-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.error-post-card .post-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #888;
}

.error-post-card .post-date i {
    color: #AB47BC;
}

/* 404 Categories Section */
.error-404-categories {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.error-404-categories .section-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 30px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 30px 20px;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s;
    text-align: center;
}

.category-card:hover {
    background: #AB47BC;
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(171, 71, 188, 0.2);
}

.category-card i {
    font-size: 32px;
    color: #AB47BC;
    transition: color 0.3s;
}

.category-card:hover i {
    color: #fff;
}

.category-card .cat-name {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    transition: color 0.3s;
}

.category-card:hover .cat-name {
    color: #fff;
}

.category-card .cat-count {
    font-size: 13px;
    color: #888;
    transition: color 0.3s;
}

.category-card:hover .cat-count {
    color: rgba(255, 255, 255, 0.8);
}

/* Dark Mode - 404 Page */
body.dark-mode .error-404-content,
body.dark-mode .error-404-posts,
body.dark-mode .error-404-categories {
    background: #2a2a2a;
}

body.dark-mode .error-404-title,
body.dark-mode .error-404-search h3,
body.dark-mode .section-title {
    color: #e0e0e0;
}

body.dark-mode .error-404-description {
    color: #aaa;
}

body.dark-mode .error-search-form .search-field {
    background: #333;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .error-btn.secondary {
    background: #333;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .error-btn.secondary:hover {
    background: #3a3a3a;
    border-color: #5a5a5a;
}

body.dark-mode .error-post-card,
body.dark-mode .category-card {
    background: #333;
}

body.dark-mode .error-post-card .post-title a,
body.dark-mode .category-card .cat-name {
    color: #e0e0e0;
}

body.dark-mode .category-card:hover {
    background: #AB47BC;
}

body.dark-mode .category-card:hover .cat-name,
body.dark-mode .category-card:hover i {
    color: #fff;
}

/* Responsive - 404 Page */
@media (max-width: 1024px) {
    .error-posts-grid,
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .error-404-content {
        padding: 60px 20px;
    }
    
    .error-number {
        font-size: 80px;
    }
    
    .error-emoji {
        font-size: 70px;
    }
    
    .error-404-title {
        font-size: 28px;
    }
    
    .error-404-description {
        font-size: 15px;
    }
    
    .error-404-links {
        flex-direction: column;
    }
    
    .error-btn {
        width: 100%;
        justify-content: center;
    }
    
    .error-404-posts,
    .error-404-categories {
        padding: 30px 20px;
    }
    
    .error-posts-grid,
    .categories-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .error-404-icon {
        gap: 10px;
    }
    
    .error-number {
        font-size: 60px;
    }
    
    .error-emoji {
        font-size: 50px;
    }
    
    .error-404-title {
        font-size: 24px;
    }
}


/* Comment Awaiting Moderation */
.comment-awaiting-moderation {
    padding: 10px 15px;
    background: #fff3cd;
    border-left: 3px solid #ffc107;
    color: #856404;
    font-size: 13px;
    margin: 0 0 12px 0;
    border-radius: 4px;
}

/* No Comments Message */
.no-comments {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    text-align: center;
    color: #888;
    font-size: 14px;
    margin: 20px 0;
}

/* Comment Navigation */
.comment-navigation {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin: 30px 0;
    padding: 20px 0;
    border-top: 1px solid #eee;
}

.comment-navigation .nav-previous,
.comment-navigation .nav-next {
    flex: 1;
}

.comment-navigation a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #f8f9fa;
    color: #333;
    text-decoration: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s;
}

.comment-navigation a:hover {
    background: #AB47BC;
    color: #fff;
}

.comment-navigation .nav-next {
    text-align: right;
}

/* Dark Mode - Additional */
body.dark-mode .comment-awaiting-moderation {
    background: #3a3a2a;
    border-color: #ffc107;
    color: #ffd54f;
}

body.dark-mode .no-comments {
    background: #2a2a2a;
    color: #aaa;
}

body.dark-mode .comment-navigation {
    border-top-color: #3a3a3a;
}

body.dark-mode .comment-navigation a {
    background: #2a2a2a;
    color: #e0e0e0;
}

body.dark-mode .comment-navigation a:hover {
    background: #AB47BC;
    color: #fff;
}


/* ========================================
   Vending Machine Detail Page Styles
   ======================================== */

/* Detail Container */
.detail-container {
    padding: 40px 0;
}

.detail-container .inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Breadcrumb Navigation */
.i-link-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.i-link-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.i-link-item a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
}

.i-link-item a:hover {
    color: #AB47BC;
}

.i-link-item.last-item span {
    color: #AB47BC;
    font-weight: 600;
}

.breadcrumb-separator {
    color: #999;
    font-size: 16px;
    margin: 0 5px;
    user-select: none;
}

.link-arrow {
    width: 12px;
    height: 12px;
    fill: #999;
}

/* Header Content Wrap - 电脑端定位布局 */
.header-content-wrap {
    display: grid;
    grid-template-columns: 500px 1fr;
    gap: 40px;
    margin-bottom: 40px;
    position: relative;
}

/* Album Wrap - 电脑端固定定位 */
.album-wrap {
    position: sticky;
    top: 100px;
    align-self: start;
}

/* Main Image Container */
.main-image-container {
    width: 100%;
    aspect-ratio: 1;
    background: #f8f9fa;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main-image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Thumbnail List */
.thumbnail-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.thumbnail-item {
    aspect-ratio: 1;
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.3s;
}

.thumbnail-item:hover {
    border-color: #AB47BC;
}

.thumbnail-item.active {
    border-color: #AB47BC;
}

.thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Album Container (默认图片) */
.album-container {
    width: 100%;
}

.img-container {
    width: 100%;
    aspect-ratio: 1;
    background: #f8f9fa;
    border-radius: 12px;
    overflow: hidden;
}

.img-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.img-content img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Detail Info */
.detail-info {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Project Title */
.project-title {
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.project-title .title {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.project-title .name {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0;
    line-height: 1.3;
}

.tag-container {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.product-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 20px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.product-badge i {
    margin-right: 5px;
    font-size: 12px;
}

.product-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.sub-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.company-name {
    font-size: 14px;
    color: #888;
}

/* Project Info */
.project-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.project-info .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.project-info-item {
    display: flex;
    gap: 10px;
}

.item-type {
    font-size: 14px;
    color: #888;
    font-weight: 600;
    white-space: nowrap;
}

.item-value {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

/* Project Description */
.project-desc {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 25px;
}

.project-advantages .row-header {
    margin-bottom: 20px;
}

.project-advantages .title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    padding-bottom: 10px;
    border-bottom: 2px solid #AB47BC;
    display: inline-block;
    width: auto;
}

.advantages-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.advantage-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #555;
}

.advantage-icon {
    color: #AB47BC;
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0;
}

/* Bottom Layout */
.bottom-layout {
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.operation-container {
    display: flex;
    gap: 15px;
}

.inquiry-btn,
.custom-btn {
    flex: 1;
    padding: 14px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}

.inquiry-btn {
    background: #AB47BC;
    color: #fff;
}

.inquiry-btn:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.custom-btn {
    background: #fff;
    color: #AB47BC;
    border: 2px solid #AB47BC;
}

.custom-btn:hover {
    background: #AB47BC;
    color: #fff;
}

/* Content Section */
.content-section {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start;
}

/* Left Content */
.left-content {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    /* box-shadow: 0 2px 8px rgba(0,0,0,0.05); */
}

/* Tab Navigation */
.tab-navigation {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid #eee;
}

.tab-item {
    padding: 12px 20px;
    background: transparent;
    border: none;
    font-size: 15px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}

.tab-item:hover {
    color: #AB47BC;
}

.tab-item.active {
    color: #AB47BC;
    border-bottom-color: #AB47BC;
}

/* Tab Content */
.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.section-title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
}

/* Project Introduction */
.project-introduction {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
}

.project-introduction h2 {
    font-size: 22px;
    font-weight: 700;
    color: #333;
    margin: 25px 0 15px 0;
}

.project-introduction p {
    margin-bottom: 15px;
}

.project-introduction ul {
    margin: 15px 0;
    padding-left: 25px;
}

.project-introduction li {
    margin-bottom: 10px;
}

.project-introduction img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 20px 0;
}

/* Related Articles */
.related-articles {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-item {
    display: flex;
    gap: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s;
}

.article-item:hover {
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}

.article-thumb {
    width: 120px;
    height: 90px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
}

.article-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.article-category {
    font-size: 12px;
    color: #AB47BC;
    font-weight: 600;
}

.article-title {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-meta {
    display: flex;
    gap: 15px;
    font-size: 12px;
    color: #888;
}

/* Guide Menu Title */
.guide-menu-title {
    margin-bottom: 25px;
}

.guide-menu-title .title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.menu-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.guide-menu-tab {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.menu-txt {
    font-size: 14px;
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
}

.menu-txt:hover {
    color: #AB47BC;
}

.menu-item.more {
    color: #AB47BC;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

/* Recommended Projects */
.recommended-projects {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.project-card {
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.3s;
}

.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.project-card-thumb {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.project-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.project-card:hover .project-card-thumb img {
    transform: scale(1.05);
}

.project-card-info {
    padding: 15px;
}

.project-card-title {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.project-card-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Responsive - Vending Machine Detail */
@media (max-width: 1024px) {
    .header-content-wrap {
        grid-template-columns: 400px 1fr;
        gap: 30px;
    }
    
    .content-section {
        grid-template-columns: 1fr;
    }
    
    .recommended-projects {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    /* 移动端取消定位，改为正常流式布局 */
    .header-content-wrap {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .album-wrap {
        position: static;
    }
    
    .thumbnail-list {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .project-title .name {
        font-size: 24px;
    }
    
    .advantages-list {
        grid-template-columns: 1fr;
    }
    
    .operation-container {
        flex-direction: column;
    }
    
    .left-content {
        padding: 20px;
    }
    
    .tab-navigation {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .tab-item {
        white-space: nowrap;
    }
    
    .recommended-projects {
        grid-template-columns: 1fr;
    }
    
    .article-item {
        flex-direction: column;
    }
    
    .article-thumb {
        width: 100%;
        height: 200px;
    }
}

/* ========================================
   Login/Register Page Styles
   ======================================== */

/* Auth Page Layout */
.auth-page {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    padding: 60px 0;
}

/* Auth Container */
.auth-container {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* Auth Header */
.auth-header {
    text-align: center;
    margin-bottom: 35px;
}

.auth-logo {
    margin-bottom: 15px;
}

.auth-logo a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 32px;
    font-weight: 700;
}

.auth-logo .logo-icon {
    width: 40px;
    height: 40px;
    background: #AB47BC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 22px;
    margin-right: 10px;
    font-style: italic;
}

.auth-subtitle {
    font-size: 15px;
    color: #666;
    margin: 0;
}

/* Auth Tabs */
.auth-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    background: #f8f9fa;
    padding: 5px;
    border-radius: 8px;
}

.auth-tab {
    flex: 1;
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.auth-tab:hover {
    color: #AB47BC;
}

.auth-tab.active {
    background: #fff;
    color: #AB47BC;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Auth Form Container */
.auth-form-container {
    display: none;
}

.auth-form-container.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Form Group */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.form-group label i {
    color: #AB47BC;
    font-size: 16px;
}

.form-group .required {
    color: #AB47BC;
}

.form-control {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: all 0.3s;
}

.form-control:focus {
    border-color: #AB47BC;
    box-shadow: 0 0 0 3px rgba(171, 71, 188, 0.1);
}

/* Password Wrapper */
.password-wrapper {
    position: relative;
}

.password-wrapper .form-control {
    padding-right: 45px;
}

.toggle-password {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    padding: 5px;
    transition: color 0.3s;
}

.toggle-password:hover {
    color: #AB47BC;
}

/* Password Strength */
.password-strength {
    margin-top: 8px;
    height: 4px;
    background: #e5e5e5;
    border-radius: 2px;
    overflow: hidden;
}

.strength-bar {
    height: 100%;
    width: 0;
    background: #e5e5e5;
    transition: all 0.3s;
    border-radius: 2px;
}

.strength-bar.weak {
    width: 33%;
    background: #dc3545;
}

.strength-bar.medium {
    width: 66%;
    background: #ffc107;
}

.strength-bar.strong {
    width: 100%;
    background: #28a745;
}

/* Form Options */
.form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 10px;
}

.remember-me,
.terms-agree {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
    cursor: pointer;
}

.remember-me input,
.terms-agree input {
    cursor: pointer;
}

.terms-agree a {
    color: #AB47BC;
    text-decoration: none;
}

.terms-agree a:hover {
    text-decoration: underline;
}

.forgot-password {
    font-size: 14px;
    color: #AB47BC;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 0.3s;
}

.forgot-password:hover {
    opacity: 0.8;
}

/* Submit Button */
.auth-submit-btn {
    width: 100%;
    padding: 14px 20px;
    background: #AB47BC;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 25px;
}

.auth-submit-btn:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

/* Auth Divider */
.auth-divider {
    position: relative;
    text-align: center;
    margin: 25px 0;
}

.auth-divider::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #e5e5e5;
}

.auth-divider span {
    position: relative;
    display: inline-block;
    padding: 0 15px;
    background: #fff;
    font-size: 13px;
    color: #888;
}

/* Social Login */
.social-login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.social-btn {
    padding: 12px 20px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.social-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.social-btn.google {
    color: #db4437;
    border-color: #db4437;
}

.social-btn.google:hover {
    background: #db4437;
    color: #fff;
}

.social-btn.facebook {
    color: #4267B2;
    border-color: #4267B2;
}

.social-btn.facebook:hover {
    background: #4267B2;
    color: #fff;
}

/* Auth Messages */
.auth-message {
    margin-top: 20px;
    padding: 12px 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
}

.auth-message.error {
    background: #fee;
    color: #c33;
    border-left: 4px solid #c33;
}

.auth-message.success {
    background: #efe;
    color: #3c3;
    border-left: 4px solid #3c3;
}

/* Auth Features */
.auth-features {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.feature-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: all 0.3s;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.feature-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.feature-icon i {
    font-size: 28px;
    color: #fff;
}

.feature-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
}

.feature-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Dark Mode - Auth Page */
body.dark-mode .auth-container,
body.dark-mode .feature-card {
    background: #2a2a2a;
}

body.dark-mode .auth-logo a,
body.dark-mode .form-group label,
body.dark-mode .feature-card h3 {
    color: #e0e0e0;
}

body.dark-mode .auth-subtitle,
body.dark-mode .feature-card p {
    color: #aaa;
}

body.dark-mode .auth-tabs {
    background: #333;
}

body.dark-mode .auth-tab {
    color: #aaa;
}

body.dark-mode .auth-tab.active {
    background: #3a3a3a;
    color: #AB47BC;
}

body.dark-mode .form-control {
    background: #333;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .form-control:focus {
    border-color: #AB47BC;
    box-shadow: 0 0 0 3px rgba(171, 71, 188, 0.2);
}

body.dark-mode .password-strength {
    background: #3a3a3a;
}

body.dark-mode .auth-divider::before {
    background: #3a3a3a;
}

body.dark-mode .auth-divider span {
    background: #2a2a2a;
}

body.dark-mode .social-btn {
    background: #333;
    border-color: #4a4a4a;
}

body.dark-mode .social-btn:hover {
    background: #3a3a3a;
}

body.dark-mode .social-btn.google:hover {
    background: #db4437;
    border-color: #db4437;
}

body.dark-mode .social-btn.facebook:hover {
    background: #4267B2;
    border-color: #4267B2;
}

/* Responsive - Auth Page */
@media (max-width: 1024px) {
    .auth-page {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .auth-features {
        flex-direction: row;
    }
}

@media (max-width: 768px) {
    .auth-page {
        padding: 40px 0;
    }
    
    .auth-container {
        padding: 30px 20px;
    }
    
    .auth-features {
        flex-direction: column;
    }
    
    .social-login {
        grid-template-columns: 1fr;
    }
}


/* Already Logged In Page */
.already-logged-in {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    padding: 60px 0;
}

.logged-in-card {
    background: #fff;
    border-radius: 12px;
    padding: 60px 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    text-align: center;
    max-width: 500px;
    width: 100%;
}

.logged-in-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
}

.logged-in-icon i {
    font-size: 40px;
    color: #fff;
}

.logged-in-card h2 {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin: 0 0 15px 0;
}

.logged-in-card p {
    font-size: 16px;
    color: #666;
    margin: 0 0 30px 0;
}

.logged-in-card p strong {
    color: #AB47BC;
}

.logged-in-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.logged-in-actions .btn-primary,
.logged-in-actions .btn-secondary,
.logged-in-actions .btn-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
}

.logged-in-actions .btn-primary {
    background: #AB47BC;
    color: #fff;
}

.logged-in-actions .btn-primary:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.logged-in-actions .btn-secondary {
    background: #f8f9fa;
    color: #333;
    border: 2px solid #e5e5e5;
}

.logged-in-actions .btn-secondary:hover {
    background: #e5e5e5;
    border-color: #d5d5d5;
}

.logged-in-actions .btn-logout {
    background: transparent;
    color: #dc3545;
    border: 2px solid #dc3545;
}

.logged-in-actions .btn-logout:hover {
    background: #dc3545;
    color: #fff;
}

/* Dark Mode - Already Logged In */
body.dark-mode .logged-in-card {
    background: #2a2a2a;
}

body.dark-mode .logged-in-card h2 {
    color: #e0e0e0;
}

body.dark-mode .logged-in-card p {
    color: #aaa;
}

body.dark-mode .logged-in-actions .btn-secondary {
    background: #333;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .logged-in-actions .btn-secondary:hover {
    background: #3a3a3a;
    border-color: #5a5a5a;
}

/* Responsive - Already Logged In */
@media (max-width: 768px) {
    .logged-in-card {
        padding: 40px 20px;
    }
    
    .logged-in-card h2 {
        font-size: 24px;
    }
}


/* ========================================
   My Account Page Styles
   ======================================== */

/* Account Page Layout */
.account-page {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    padding: 40px 0;
    align-items: start;
}

/* Account Sidebar */
.account-sidebar {
    position: sticky;
    top: 100px;
}

.account-user-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

.user-avatar {
    margin-bottom: 15px;
}

.user-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid #f0f0f0;
}

.account-user-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 5px 0;
}

.account-user-card p {
    font-size: 13px;
    color: #888;
    margin: 0;
    word-break: break-word;
}

/* Account Menu */
.account-menu {
    background: #fff;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.account-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.3s;
    margin-bottom: 5px;
}

.account-menu-item:last-child {
    margin-bottom: 0;
}

.account-menu-item:hover {
    background: #f8f9fa;
    color: #AB47BC;
}

.account-menu-item.active {
    background: #AB47BC;
    color: #fff;
}

.account-menu-item i {
    width: 20px;
    font-size: 16px;
}

.account-menu-item.logout {
    color: #dc3545;
    border-top: 1px solid #e5e5e5;
    margin-top: 10px;
    padding-top: 15px;
}

.account-menu-item.logout:hover {
    background: #dc3545;
    color: #fff;
}

/* Account Content */
.account-content {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    min-height: 500px;
}

.account-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin: 0 0 30px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
}

/* Account Tabs */
.account-tab {
    display: none;
}

.account-tab.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

/* Account Stats */
.account-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.stat-card {
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    border-radius: 12px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #fff;
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.2);
}

.stat-icon {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.stat-info h4 {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 5px 0;
}

.stat-info p {
    font-size: 14px;
    margin: 0;
    opacity: 0.9;
}

/* Account Welcome */
.account-welcome {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 30px;
    border-left: 4px solid #AB47BC;
}

.account-welcome h3 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
}

.account-welcome p {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Account Form */
.account-form {
    max-width: 600px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Remove WooCommerce clearfix from all form rows */
.form-row::before,
.form-row::after,
.account-form .form-row::before,
.account-form .form-row::after {
    content: none !important;
    display: none !important;
}

.form-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 30px 0 20px 0;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
}

.btn-primary {
    background: #AB47BC;
    color: #fff;
    border: none;
    padding: 14px 30px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-primary:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

/* Posts List */
.posts-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.post-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    transition: all 0.3s;
}

.post-item:hover {
    background: #e5e5e5;
}

.post-thumb {
    flex-shrink: 0;
}

.post-thumb img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
}

.post-info {
    flex: 1;
    min-width: 0;
}

.post-info h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px 0;
}

.post-info h4 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.post-info h4 a:hover {
    color: #AB47BC;
}

.post-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.post-status {
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
}

.post-status.status-publish {
    background: #d4edda;
    color: #155724;
}

.post-status.status-draft {
    background: #fff3cd;
    color: #856404;
}

.post-status.status-pending {
    background: #cce5ff;
    color: #004085;
}

.post-date {
    color: #888;
}

.post-actions {
    flex-shrink: 0;
}

.btn-edit {
    width: 36px;
    height: 36px;
    background: #AB47BC;
    color: #fff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s;
}

.btn-edit:hover {
    background: #8E24AA;
    transform: scale(1.1);
}

/* Comments List */
.comments-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.comment-item {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 3px solid #AB47BC;
}

.comment-content p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    margin: 0 0 12px 0;
}

.comment-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: #888;
}

.comment-meta a {
    color: #AB47BC;
    text-decoration: none;
}

.comment-meta a:hover {
    text-decoration: underline;
}

/* No Content */
.no-content {
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 15px;
}

/* Dark Mode - Account Page */
body.dark-mode .account-user-card,
body.dark-mode .account-menu,
body.dark-mode .account-content {
    background: #2a2a2a;
}

body.dark-mode .stat-card {
    background: linear-gradient(135deg, #8E24AA 0%, #d14a1f 100%);
}

body.dark-mode .account-user-card h3,
body.dark-mode .account-title,
body.dark-mode .account-welcome h3,
body.dark-mode .form-section-title,
body.dark-mode .post-info h4 a {
    color: #e0e0e0;
}

body.dark-mode .account-user-card p,
body.dark-mode .account-welcome p {
    color: #aaa;
}

body.dark-mode .user-avatar img {
    border-color: #3a3a3a;
}

body.dark-mode .account-menu-item {
    color: #aaa;
}

body.dark-mode .account-menu-item:hover {
    background: #333;
    color: #AB47BC;
}

body.dark-mode .account-menu-item.active {
    background: #AB47BC;
    color: #fff;
}

body.dark-mode .account-menu-item.logout {
    border-top-color: #3a3a3a;
}

body.dark-mode .account-welcome {
    background: #333;
}

body.dark-mode .post-item,
body.dark-mode .comment-item {
    background: #333;
}

body.dark-mode .post-item:hover {
    background: #3a3a3a;
}

body.dark-mode .form-section-title {
    border-top-color: #3a3a3a;
}

/* Responsive - Account Page */
@media (max-width: 1024px) {
    .account-page {
        grid-template-columns: 1fr;
    }
    
    .account-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    
    .account-user-card {
        margin-bottom: 0;
    }
}

@media (max-width: 768px) {
    .account-sidebar {
        grid-template-columns: 1fr;
    }
    
    .account-content {
        padding: 25px 20px;
    }
    
    .account-stats {
        grid-template-columns: 1fr;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .post-item {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* Account Messages */
.account-message {
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.account-message.success {
    background: #d4edda;
    color: #155724;
    border-left: 4px solid #28a745;
}

.account-message.error {
    background: #f8d7da;
    color: #721c24;
    border-left: 4px solid #dc3545;
}

.account-message i {
    font-size: 18px;
}


/* WooCommerce Orders Table */
.woo-orders-table {
    overflow-x: auto;
}

.orders-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.orders-table thead {
    background: #f8f9fa;
}

.orders-table th {
    padding: 15px;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: #333;
    border-bottom: 2px solid #e5e5e5;
}

.orders-table td {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
    font-size: 14px;
    color: #555;
}

.orders-table tbody tr:hover {
    background: #f8f9fa;
}

.orders-table a {
    color: #AB47BC;
    text-decoration: none;
    font-weight: 600;
}

.orders-table a:hover {
    text-decoration: underline;
}

.order-status {
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.order-status.status-completed {
    background: #d4edda;
    color: #155724;
}

.order-status.status-processing {
    background: #cce5ff;
    color: #004085;
}

.order-status.status-on-hold {
    background: #fff3cd;
    color: #856404;
}

.order-status.status-pending {
    background: #f8d7da;
    color: #721c24;
}

.order-status.status-cancelled,
.order-status.status-refunded,
.order-status.status-failed {
    background: #f8d7da;
    color: #721c24;
}

.btn-view {
    display: inline-block;
    padding: 6px 16px;
    background: #AB47BC;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s;
}

.btn-view:hover {
    background: #8E24AA;
    transform: translateY(-2px);
}

/* Addresses Grid */
.addresses-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.address-card {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 25px;
    border: 2px solid #e5e5e5;
    transition: border-color 0.3s;
}

.address-card:hover {
    border-color: #AB47BC;
}

.address-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e5e5e5;
}

.address-header h3 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.btn-edit-small {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #AB47BC;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s;
}

.btn-edit-small:hover {
    background: #8E24AA;
}

.address-content p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    margin: 0 0 8px 0;
}

.address-content p:last-child {
    margin-bottom: 0;
}

.no-address {
    color: #888;
    font-style: italic;
}

/* Dark Mode - WooCommerce */
body.dark-mode .orders-table {
    background: #2a2a2a;
}

body.dark-mode .orders-table thead {
    background: #333;
}

body.dark-mode .orders-table th {
    color: #e0e0e0;
    border-bottom-color: #3a3a3a;
}

body.dark-mode .orders-table td {
    color: #aaa;
    border-bottom-color: #3a3a3a;
}

body.dark-mode .orders-table tbody tr:hover {
    background: #333;
}

body.dark-mode .address-card {
    background: #333;
    border-color: #3a3a3a;
}

body.dark-mode .address-card:hover {
    border-color: #AB47BC;
}

body.dark-mode .address-header {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .address-header h3 {
    color: #e0e0e0;
}

body.dark-mode .address-content p {
    color: #aaa;
}

/* Responsive - WooCommerce */
@media (max-width: 768px) {
    .orders-table {
        display: block;
    }
    
    .orders-table thead {
        display: none;
    }
    
    .orders-table tbody,
    .orders-table tr,
    .orders-table td {
        display: block;
    }
    
    .orders-table tr {
        margin-bottom: 20px;
        border: 1px solid #e5e5e5;
        border-radius: 8px;
        padding: 15px;
    }
    
    .orders-table td {
        padding: 8px 0;
        border: none;
        text-align: right;
        position: relative;
        padding-left: 50%;
    }
    
    .orders-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        font-weight: 700;
        color: #333;
    }
    
    .addresses-grid {
        grid-template-columns: 1fr;
    }
}


/* Address Modal */
.address-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
}

.address-modal.active {
    display: flex;
}

.address-modal-content {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px;
    border-bottom: 2px solid #e5e5e5;
}

.modal-header h3 {
    font-size: 22px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.modal-close {
    width: 36px;
    height: 36px;
    background: #f8f9fa;
    border: none;
    border-radius: 50%;
    font-size: 24px;
    color: #666;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.modal-close:hover {
    background: #AB47BC;
    color: #fff;
    transform: rotate(90deg);
}

#address-form {
    padding: 30px;
}

/* Address Form Fields - High Priority */
#address-form .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

/* Remove WooCommerce clearfix that causes layout issues */
#address-form .form-row::before,
#address-form .form-row::after {
    content: none !important;
    display: none !important;
}

#address-form .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 0 !important;
}

#address-form .form-group label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
    width: 100% !important;
    float: none !important;
}

#address-form .form-group .required {
    color: #dc3545 !important;
}

#address-form .form-group input,
#address-form .form-group select,
#address-form .form-group textarea {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    outline: none !important;
    transition: border-color 0.3s !important;
    background: #fff !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    float: none !important;
}

#address-form .form-group input:focus,
#address-form .form-group select:focus,
#address-form .form-group textarea:focus {
    border-color: #AB47BC !important;
    box-shadow: 0 0 0 3px rgba(171, 71, 188, 0.1) !important;
}

/* Single column form groups */
#address-form > .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid #e5e5e5;
}

.btn-secondary {
    background: #f8f9fa;
    color: #333;
    border: 2px solid #e5e5e5;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-secondary:hover {
    background: #e5e5e5;
    border-color: #d5d5d5;
}

/* Dark Mode - Modal */
body.dark-mode .address-modal-content {
    background: #2a2a2a;
}

body.dark-mode .modal-header {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .modal-header h3 {
    color: #e0e0e0;
}

body.dark-mode .modal-close {
    background: #333;
    color: #aaa;
}

body.dark-mode .modal-close:hover {
    background: #AB47BC;
    color: #fff;
}

body.dark-mode .modal-footer {
    border-top-color: #3a3a3a;
}

body.dark-mode .btn-secondary {
    background: #333;
    border-color: #4a4a4a;
    color: #e0e0e0;
}

body.dark-mode .btn-secondary:hover {
    background: #3a3a3a;
    border-color: #5a5a5a;
}

/* Dark Mode - Form Fields */
body.dark-mode #address-form .form-group label {
    color: #e0e0e0 !important;
}

body.dark-mode #address-form .form-group input,
body.dark-mode #address-form .form-group select,
body.dark-mode #address-form .form-group textarea {
    background: #333 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}

body.dark-mode #address-form .form-group input:focus,
body.dark-mode #address-form .form-group select:focus,
body.dark-mode #address-form .form-group textarea:focus {
    border-color: #AB47BC !important;
    box-shadow: 0 0 0 3px rgba(171, 71, 188, 0.15) !important;
}

/* Responsive - Modal */
@media (max-width: 768px) {
    .address-modal-content {
        max-width: 100%;
        border-radius: 0;
        max-height: 100vh;
    }
    
    .modal-header,
    #address-form {
        padding: 20px;
    }
    
    .modal-footer {
        flex-direction: column;
    }
    
    .modal-footer button {
        width: 100%;
    }
}


/* ============================================
   Guestbook Page Styles
   ============================================ */

.guestbook-page {
    padding: 60px 0;
    background: #f8f9fa;
}

.guestbook-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Page Header */
.guestbook-page .page-header {
    text-align: center;
    margin-bottom: 50px;
}

.guestbook-page .page-title {
    font-size: 42px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 15px;
}

.guestbook-page .page-description {
    font-size: 18px;
    color: #666;
    margin: 0;
}

/* Guestbook Form Section */
.guestbook-form-section {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.guestbook-form .form-header {
    margin-bottom: 30px;
}

.guestbook-form .form-header h3 {
    font-size: 24px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

.guestbook-form .form-group {
    margin-bottom: 20px;
}

.guestbook-form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.guestbook-form textarea {
    width: 100%;
    padding: 15px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
    resize: vertical;
    transition: border-color 0.3s;
}

.guestbook-form textarea:focus {
    outline: none;
    border-color: #007bff;
}

.guestbook-form .form-actions {
    display: flex;
    justify-content: flex-end;
}

.guestbook-form .submit-btn {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.guestbook-form .submit-btn:hover {
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.guestbook-form .submit-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
}

.guestbook-form .form-message {
    margin-top: 20px;
    padding: 15px 45px 15px 15px;
    border-radius: 8px;
    display: none;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    position: relative;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.guestbook-form .form-message.success {
    background: #d4edda;
    color: #155724;
    border: 2px solid #c3e6cb;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);
}

.guestbook-form .form-message.error {
    background: #f8d7da;
    color: #721c24;
    border: 2px solid #f5c6cb;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
}

.guestbook-form .form-message i {
    font-size: 18px;
    flex-shrink: 0;
}

.guestbook-form .form-message span {
    flex: 1;
}

.close-message-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: inherit;
    font-size: 16px;
    cursor: pointer;
    padding: 5px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    opacity: 0.6;
}

.close-message-btn:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1);
}

/* Login Notice */
.login-notice {
    text-align: center;
    padding: 40px;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.login-notice i {
    font-size: 24px;
    color: #856404;
}

.login-notice p {
    margin: 0;
    font-size: 16px;
    color: #856404;
}

.login-notice a {
    color: #007bff;
    font-weight: 600;
    text-decoration: none;
}

.login-notice a:hover {
    text-decoration: underline;
}

/* Messages Section */
.guestbook-messages-section {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.messages-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.messages-header h3 {
    font-size: 24px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

/* Message Item */
.message-item {
    display: flex;
    gap: 20px;
    padding: 25px 0;
    border-bottom: 1px solid #f0f0f0;
}

.message-item:last-child {
    border-bottom: none;
}

.message-avatar {
    flex-shrink: 0;
}

.message-avatar img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.message-content {
    flex: 1;
}

.message-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.message-author-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.message-author {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

.message-date {
    font-size: 13px;
    color: #999;
    display: flex;
    align-items: center;
    gap: 5px;
}

.message-actions {
    display: flex;
    gap: 10px;
}

.delete-message-btn {
    background: transparent;
    border: none;
    color: #dc3545;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 5px;
    transition: all 0.3s;
    font-size: 14px;
}

.delete-message-btn:hover {
    background: #dc3545;
    color: #fff;
}

.message-text {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
}

/* Loading & Empty States */
.loading-spinner,
.no-messages,
.error-message {
    text-align: center;
    padding: 60px 20px;
}

.loading-spinner i,
.no-messages i,
.error-message i {
    font-size: 48px;
    color: #ccc;
    margin-bottom: 15px;
}

.loading-spinner p,
.no-messages p,
.error-message p {
    font-size: 16px;
    color: #999;
    margin: 0;
}

.error-message i {
    color: #dc3545;
}

/* Load More Button */
.load-more-wrapper {
    text-align: center;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #f0f0f0;
}

.load-more-btn {
    background: #f8f9fa;
    color: #333;
    border: 2px solid #e0e0e0;
    padding: 12px 40px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}

.load-more-btn:hover {
    background: #AB47BC;
    color: #fff;
    border-color: #AB47BC;
}

.load-more-btn:disabled {
    background: #f8f9fa;
    color: #999;
    border-color: #e0e0e0;
    cursor: not-allowed;
}

/* Responsive Design */
@media (max-width: 768px) {
    .guestbook-page {
        padding: 40px 0;
    }
    
    .guestbook-page .page-title {
        font-size: 32px;
    }
    
    .guestbook-form-section,
    .guestbook-messages-section {
        padding: 25px;
    }
    
    .message-item {
        flex-direction: column;
        gap: 15px;
    }
    
    .message-avatar img {
        width: 48px;
        height: 48px;
    }
    
    .message-header {
        flex-direction: column;
        gap: 10px;
    }
    
    .message-actions {
        align-self: flex-start;
    }
}

/* Dark Mode Support */
body.dark-mode .guestbook-page {
    background: #1a1a1a;
}

body.dark-mode .guestbook-form-section,
body.dark-mode .guestbook-messages-section {
    background: #2a2a2a;
}

body.dark-mode .guestbook-page .page-title,
body.dark-mode .guestbook-form .form-header h3,
body.dark-mode .messages-header h3,
body.dark-mode .message-author {
    color: #fff;
}

body.dark-mode .guestbook-page .page-description,
body.dark-mode .message-text {
    color: #ccc;
}

body.dark-mode .guestbook-form textarea {
    background: #1a1a1a;
    border-color: #444;
    color: #fff;
}

body.dark-mode .guestbook-form label {
    color: #ddd;
}

body.dark-mode .message-item {
    border-bottom-color: #444;
}

body.dark-mode .messages-header {
    border-bottom-color: #444;
}

body.dark-mode .load-more-btn {
    background: #1a1a1a;
    color: #fff;
    border-color: #444;
}

body.dark-mode .load-more-btn:hover {
    background: #AB47BC;
    border-color: #AB47BC;
}

body.dark-mode .guestbook-form .form-message.success {
    background: #1e4620;
    color: #a3d9a5;
    border-color: #2d5f2e;
}

body.dark-mode .guestbook-form .form-message.error {
    background: #4a1c1c;
    color: #f5a3a3;
    border-color: #6b2929;
}

body.dark-mode .close-message-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}


/* ============================================
   Guestbook Admin Page Styles
   ============================================ */

.guestbook-admin-page {
    padding: 60px 0;
    background: #f8f9fa;
    min-height: 100vh;
}

/* Admin Statistics */
.admin-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

/* Guestbook Admin Stats */
.guestbook-page .stat-card {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    gap: 20px;
}

.guestbook-page .stat-icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
}

.guestbook-page .stat-icon.pending {
    background: linear-gradient(135deg, #ffa726 0%, #fb8c00 100%);
}

.guestbook-page .stat-icon.approved {
    background: linear-gradient(135deg, #66bb6a 0%, #43a047 100%);
}

.guestbook-page .stat-icon.total {
    background: linear-gradient(135deg, #42a5f5 0%, #1e88e5 100%);
}

.guestbook-page .stat-info h3 {
    font-size: 32px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 5px 0;
}

.guestbook-page .stat-info p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

/* Admin Tabs */
.admin-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    background: #fff;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.tab-btn {
    flex: 1;
    padding: 15px 30px;
    border: none;
    background: transparent;
    color: #666;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.tab-btn:hover {
    background: #f8f9fa;
    color: #333;
}

.tab-btn.active {
    background: #007bff;
    color: #fff;
}

.tab-btn .badge {
    background: rgba(255, 255, 255, 0.3);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
}

.tab-btn.active .badge {
    background: rgba(255, 255, 255, 0.3);
}

/* Tab Content */
.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.messages-section {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    min-height: 400px;
}

/* Pending Message Item */
.pending-message-item {
    display: flex;
    gap: 15px;
    padding: 20px;
    border: 2px solid #f0f0f0;
    border-radius: 12px;
    margin-bottom: 15px;
    transition: all 0.3s;
}

.pending-message-item:hover {
    border-color: #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.1);
}

.pending-message-item .message-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.pending-message-item .message-content {
    flex: 1;
}

.pending-message-item .message-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.pending-message-item .message-author {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

.pending-message-item .message-date {
    font-size: 13px;
    color: #999;
}

.pending-message-item .message-text {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
}

.pending-message-item .message-actions {
    display: flex;
    gap: 10px;
}

.approve-btn,
.reject-btn {
    padding: 8px 20px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.approve-btn {
    background: #28a745;
    color: #fff;
}

.approve-btn:hover {
    background: #218838;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.3);
}

.reject-btn {
    background: #dc3545;
    color: #fff;
}

.reject-btn:hover {
    background: #c82333;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
}

.approve-btn:disabled,
.reject-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Quick Actions */
.quick-actions {
    margin-top: 30px;
    display: flex;
    gap: 15px;
    justify-content: center;
}

.action-btn {
    padding: 12px 30px;
    background: #fff;
    color: #333;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.action-btn:hover {
    background: #007bff;
    color: #fff;
    border-color: #007bff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

/* Responsive */
@media (max-width: 768px) {
    .admin-stats {
        grid-template-columns: 1fr;
    }
    
    .admin-tabs {
        flex-direction: column;
    }
    
    .pending-message-item {
        flex-direction: column;
    }
    
    .pending-message-item .message-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .quick-actions {
        flex-direction: column;
    }
    
    .action-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Dark Mode */
body.dark-mode .guestbook-admin-page {
    background: #1a1a1a;
}

body.dark-mode .guestbook-page .stat-card,
body.dark-mode .admin-tabs,
body.dark-mode .messages-section {
    background: #2a2a2a;
}

body.dark-mode .guestbook-page .stat-info h3,
body.dark-mode .pending-message-item .message-author {
    color: #fff;
}

body.dark-mode .guestbook-page .stat-info p,
body.dark-mode .pending-message-item .message-text {
    color: #ccc;
}

body.dark-mode .tab-btn {
    color: #ccc;
}

body.dark-mode .tab-btn:hover {
    background: #333;
    color: #fff;
}

body.dark-mode .pending-message-item {
    border-color: #444;
    background: #2a2a2a;
}

body.dark-mode .pending-message-item:hover {
    border-color: #007bff;
}

body.dark-mode .pending-message-item .message-text {
    background: #1a1a1a;
}

body.dark-mode .action-btn {
    background: #2a2a2a;
    color: #fff;
    border-color: #444;
}

body.dark-mode .action-btn:hover {
    background: #007bff;
    border-color: #007bff;
}


/* ========================================
   Featured Slider Section
   ======================================== */

.featured-slider-section {
    margin-bottom: 0;
    position: relative;
}

.slider-container {
    position: relative;
    padding-bottom: 80px;
}

/* Main Slider Styles */
.main-slider {
    width: 100%;
    height: 500px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.main-slider .swiper-slide {
    position: relative;
}

.slide-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.slide-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 900px;
    padding: 50px;
    color: #fff;
    z-index: 2;
    text-align: center;
}

.slide-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 15px;
}

.slide-category {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    position: relative;
    padding-left: 0;
}

.slide-category::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 18px;
    background: #ff9800;
    border-radius: 2px;
}

.slide-date {
    font-size: 14px;
    opacity: 0.9;
}

.slide-title {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 auto 20px;
    max-width: 800px;
}

.slide-title a {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    transition: opacity 0.3s ease;
}

.slide-title a:hover {
    opacity: 0.8;
    text-decoration-thickness: 3px;
}

.slide-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.author-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255, 255, 255, 0.3);
}

.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-author .author-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.author-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.author-label {
    font-size: 13px;
    opacity: 0.8;
}

.author-name {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.author-name:hover {
    opacity: 0.8;
}

.author-time {
    font-size: 13px;
    opacity: 0.7;
}

/* Thumbnail Navigation Styles */
.thumbs-slider-wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 100px);
    max-width: 1200px;
    z-index: 10;
}

.thumbs-slider {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    position: relative;
}

/* PC端进度条 - 顶部 */
.thumbs-slider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #e0e0e0;
    z-index: 1;
}

.thumbs-slider .progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    background: #ff6b6b;
    z-index: 2;
    width: 0;
    transition: none;
}

.thumbs-slider .progress-bar.animating {
    transition: width linear;
}

.thumbs-slider .swiper-slide {
    cursor: pointer;
    transition: all 0.3s ease;
}

.thumb-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    transition: background 0.3s ease;
}

.thumbs-slider .swiper-slide-thumb-active .thumb-card {
    background: #f8f9fa;
}

.thumb-card:hover {
    background: #f8f9fa;
}

.thumb-image {
    width: 100px;
    height: 100px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.thumb-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.thumb-card:hover .thumb-image img {
    transform: scale(1.05);
}

.thumb-content {
    flex: 1;
    min-width: 0;
}

.thumb-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 8px 0;
    color: #2c3e50;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.thumb-date {
    font-size: 13px;
    color: #7f8c8d;
}

/* Responsive Styles */
@media (max-width: 1024px) {
    .main-slider {
        height: 400px;
    }
    
    .slide-content {
        padding: 30px;
    }
    
    .slide-title {
        font-size: 28px;
    }
    
    .thumbs-slider-wrapper {
        width: calc(100% - 60px);
    }
}

@media (max-width: 768px) {
    .featured-slider-section {
        margin-bottom: 0;
    }
    
    .main-content-grid {
        margin-top: 40px;
    }
    
    .slider-container {
        padding-bottom: 0;
    }
    
    .main-slider {
        height: 450px;
        border-radius: 16px;
        margin-bottom: 20px;
    }
    
    /* 移动端大图内容左对齐 */
    .slide-content {
        top: auto;
        bottom: 30px;
        left: 20px;
        right: 20px;
        transform: none;
        text-align: left;
        padding: 0;
        max-width: 100%;
    }
    
    .slide-meta {
        justify-content: flex-start;
        margin-bottom: 12px;
    }
    
    .slide-title {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 15px;
        text-align: left;
    }
    
    .slide-author {
        justify-content: flex-start;
        gap: 10px;
    }
    
    .author-avatar {
        width: 40px;
        height: 40px;
    }
    
    .slide-author .author-info {
        gap: 6px;
    }
    
    .author-label {
        font-size: 12px;
    }
    
    .author-name {
        font-size: 14px;
    }
    
    .author-time {
        font-size: 12px;
    }
    
    /* 缩略图区域 - 横向滚动 */
    .thumbs-slider-wrapper {
        position: static;
        transform: none;
        width: 100%;
        max-width: 100%;
        padding: 0 15px;
        overflow: hidden;
    }
    
    .thumbs-slider {
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        overflow: visible;
        position: relative;
        margin: 0 -15px;
        padding: 0 15px;
    }
    
    /* 移动端进度条覆盖PC端样式 - 改为顶部 */
    .thumbs-slider::before {
        top: 0;
        bottom: auto;
        border-radius: 2px;
    }
    
    .thumbs-slider .progress-bar {
        top: 0;
        bottom: auto;
        border-radius: 2px;
    }
    
    .thumbs-slider .swiper-wrapper {
        padding-top: 15px;
    }
    
    .thumb-card {
        background: #fff;
        border-radius: 12px;
        padding: 0;
        gap: 0;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
        overflow: hidden;
        flex-direction: column;
        align-items: stretch;
    }
    
    .thumbs-slider .swiper-slide-thumb-active .thumb-card {
        background: #fff;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    }
    
    .thumb-card:hover {
        background: #fff;
    }
    
    .thumb-image {
        width: 100%;
        height: 180px;
        border-radius: 0;
    }
    
    .thumb-content {
        padding: 15px;
    }
    
    .thumb-title {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 8px;
        color: #2c3e50;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    .thumb-date {
        font-size: 13px;
        color: #95a5a6;
    }
}

@media (max-width: 480px) {
    .main-slider {
        height: 400px;
    }
    
    .slide-title {
        font-size: 20px;
    }
    
    .slide-category {
        font-size: 12px;
    }
    
    .slide-date {
        font-size: 12px;
    }
    
    .author-avatar {
        width: 36px;
        height: 36px;
    }
    
    .thumb-image {
        height: 160px;
    }
}


/* Brand Introduction Section & Product Grid 样式已删除 */


/* ========================================
   售货机两栏布局
   ======================================== */

/* 售货机内容区与轮播图的间距 */
.main-wrapper > .content-wrapper:last-child {
    margin-top: 60px;
}

.vending-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 30px;
    align-items: start;
}

.vending-main-content {
    min-width: 0;
}

.vending-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* 售货机分类导航样式已删除 */

/* 售货机项目列表样式已删除 */

/* ========================================
   侧边栏样式
   ======================================== */

.vending-sidebar .widget {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.vending-sidebar .widget-title {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
}

.vending-sidebar .widget-title h5 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.vending-sidebar .widget-title i {
    color: #AB47BC;
}

/* 热门推荐 */
.hot-projects-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.hot-project-item {
    transition: transform 0.3s;
}

.hot-project-item:hover {
    transform: translateX(5px);
}

.hot-project-link {
    display: flex;
    gap: 12px;
    text-decoration: none;
    color: inherit;
}

.hot-project-image {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f0f0f0;
}

.hot-project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.hot-project-item:hover .hot-project-image img {
    transform: scale(1.1);
}

.hot-project-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.hot-project-category {
    display: inline-block;
    padding: 2px 8px;
    background: #fff3e0;
    color: #AB47BC;
    font-size: 11px;
    font-weight: 600;
    border-radius: 3px;
    align-self: flex-start;
}

.hot-project-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s;
}

.hot-project-item:hover .hot-project-title {
    color: #AB47BC;
}

.hot-project-date {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #999;
}

.hot-project-date i {
    color: #AB47BC;
}

/* 分类统计 */
.category-stats-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.category-stat-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.category-stat-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.category-stat-name {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.category-stat-count {
    font-size: 13px;
    color: #666;
}

.category-stat-bar {
    height: 6px;
    background: #f0f0f0;
    border-radius: 3px;
    overflow: hidden;
}

.category-stat-progress {
    height: 100%;
    background: linear-gradient(90deg, #AB47BC 0%, #ff9800 100%);
    border-radius: 3px;
    transition: width 0.5s ease;
}

/* 广告位 */
.widget-ad .ad-banner {
    display: block;
    border-radius: 8px;
    overflow: hidden;
}

.widget-ad .ad-banner img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s;
}

.widget-ad .ad-banner:hover img {
    transform: scale(1.05);
}

/* 响应式设计 */
@media (max-width: 1200px) {
    .vending-layout {
        grid-template-columns: 1fr 300px;
        gap: 25px;
    }
}

@media (max-width: 768px) {
    /* 手机端减少间距 */
    .main-wrapper > .content-wrapper:last-child {
        margin-top: 40px;
    }
    
    .vending-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .vending-sidebar {
        position: static;
        order: 2;
    }
    
    .vending-sidebar .widget {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .hot-project-image {
        width: 70px;
        height: 70px;
    }
}

/* Dark Mode */
body.dark-mode .vending-sidebar .widget {
    background: #2a2a2a;
}

body.dark-mode .vending-sidebar .widget-title h5,
body.dark-mode .category-stat-name {
    color: #e0e0e0;
}

body.dark-mode .hot-project-title {
    color: #e0e0e0;
}

body.dark-mode .hot-project-item:hover .hot-project-title {
    color: #AB47BC;
}

body.dark-mode .category-stat-count {
    color: #aaa;
}

body.dark-mode .vending-sidebar .widget-title {
    border-bottom-color: #AB47BC;
}

body.dark-mode .category-stat-bar {
    background: #3a3a3a;
}

body.dark-mode .hot-project-image {
    background: #3a3a3a;
}


/* ============================================
   售货机区域样式
   ============================================ */

/* 售货机布局 */
.vending-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
    margin-top: 40px;
}

/* 左侧主内容区 */
.vending-main-content {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* 分类导航 */
.vending-categories {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.category-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    cursor: pointer;
    transition: all 0.3s;
}

.category-tab i {
    font-size: 16px;
}

.category-tab:hover {
    background: #f8f9fa;
    border-color: #AB47BC;
    color: #AB47BC;
}

.category-tab.active {
    background: #AB47BC;
    border-color: #AB47BC;
    color: #fff;
}

.category-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}

.category-tab.active .category-count {
    background: rgba(255, 255, 255, 0.3);
}

/* 项目标题区 */
.vending-projects-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.projects-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.projects-count {
    font-size: 14px;
    color: #888;
}

.count-number {
    font-size: 18px;
    font-weight: 700;
    color: #AB47BC;
}

/* 项目网格 */
.vending-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 30px;
}

/* 项目卡片 */
.vending-project-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #f0f0f0;
    transition: all 0.3s;
}

.vending-project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    border-color: #AB47BC;
}

.project-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1/1;
    /* background: #f8f9fa; */
}

.project-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s;
}

.vending-project-card:hover .project-image img {
    transform: scale(1.1);
}

.project-content {
    padding: 20px;
}

.project-category {
    display: inline-block;
    padding: 4px 12px;
    background: #FFF5F0;
    color: #AB47BC;
    font-size: 12px;
    font-weight: 600;
    border-radius: 4px;
    margin-bottom: 12px;
}

.project-title {
    margin: 0 0 12px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.project-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.project-title a:hover {
    color: #AB47BC;
}

.project-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #888;
}

.project-date i {
    color: #AB47BC;
}

/* 加载更多按钮 */
.vending-load-more {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.vending-load-more-btn {
    background: #AB47BC;
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    min-width: 160px;
}

.vending-load-more-btn:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.vending-load-more-btn.loading {
    background: transparent;
    border: none;
    pointer-events: none;
    padding: 20px;
}

.vending-load-more-btn .btn-text {
    display: inline-block;
    transition: opacity 0.3s;
}

.vending-load-more-btn.loading .btn-text {
    display: none;
}

.vending-load-more-btn .spinner {
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: #FFB6C1;
    border-radius: 50%;
    animation: pulse 1s ease-in-out infinite;
}

.vending-load-more-btn.loading .spinner {
    display: block;
}

/* 无项目提示 */
.no-projects {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 16px;
}

/* 右侧边栏 */
.vending-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.vending-sidebar .widget {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.vending-sidebar .widget-title {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
}

.vending-sidebar .widget-title h5 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.vending-sidebar .widget-title i {
    color: #AB47BC;
}

/* 热门推荐列表 */
.hot-projects-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.hot-project-item {
    transition: transform 0.3s;
}

.hot-project-item:hover {
    transform: translateX(5px);
}

.hot-project-link {
    display: flex;
    gap: 12px;
    text-decoration: none;
}

.hot-project-image {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f9fa;
}

.hot-project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hot-project-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hot-project-category {
    display: inline-block;
    padding: 2px 8px;
    background: #FFF5F0;
    color: #AB47BC;
    font-size: 11px;
    font-weight: 600;
    border-radius: 3px;
    width: fit-content;
}

.hot-project-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hot-project-link:hover .hot-project-title {
    color: #AB47BC;
}

.hot-project-date {
    font-size: 12px;
    color: #888;
}

.hot-project-date i {
    margin-right: 4px;
}

/* 分类统计 */
.category-stats-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.category-stat-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.category-stat-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.category-stat-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.category-stat-count {
    font-size: 13px;
    color: #888;
}

.category-stat-bar {
    height: 6px;
    background: #f0f0f0;
    border-radius: 3px;
    overflow: hidden;
}

.category-stat-progress {
    height: 100%;
    background: linear-gradient(90deg, #AB47BC, #FF8C5A);
    border-radius: 3px;
    transition: width 0.3s;
}

/* 广告位 */
.widget-ad .ad-banner {
    border-radius: 8px;
    overflow: hidden;
}

.widget-ad .ad-banner img {
    width: 100%;
    height: auto;
    display: block;
}

/* 暗黑模式 */
body.dark-mode .vending-main-content,
body.dark-mode .vending-sidebar .widget {
    background: #2a2a2a;
}

body.dark-mode .projects-title,
body.dark-mode .project-title a,
body.dark-mode .category-stat-name,
body.dark-mode .hot-project-title,
body.dark-mode .vending-sidebar .widget-title h5 {
    color: #e0e0e0;
}

body.dark-mode .category-tab {
    background: #333;
    border-color: #444;
    color: #aaa;
}

body.dark-mode .category-tab:hover {
    background: #3a3a3a;
    border-color: #AB47BC;
    color: #AB47BC;
}

body.dark-mode .category-tab.active {
    background: #AB47BC;
    border-color: #AB47BC;
    color: #fff;
}

body.dark-mode .vending-project-card {
    background: #333;
    border-color: #444;
}

body.dark-mode .vending-project-card:hover {
    border-color: #AB47BC;
}

body.dark-mode .project-image {
    background: #3a3a3a;
}

body.dark-mode .vending-projects-header {
    border-bottom-color: #3a3a3a;
}

body.dark-mode .category-stat-bar {
    background: #3a3a3a;
}

/* 响应式设计 */
@media (max-width: 1200px) {
    .vending-layout {
        grid-template-columns: 1fr 280px;
        gap: 20px;
    }
    
    .vending-projects-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 1024px) {
    .vending-layout {
        grid-template-columns: 1fr;
    }
    
    .vending-sidebar {
        display: none;
    }
}

@media (max-width: 768px) {
    .vending-main-content {
        padding: 20px;
    }
    
    .vending-projects-grid {
        grid-template-columns: 1fr;
    }
    
    .vending-categories {
        gap: 8px;
    }
    
    .category-tab {
        padding: 8px 16px;
        font-size: 13px;
    }
    
    .projects-title {
        font-size: 20px;
    }
}


/* 项目详情页容器样式 */
.detail-container {
    width: 100%;
    background: #f5f5f5;
    padding: 20px 0;
}

.detail-container .inner {
    width: 1400px;
    margin: 0 auto;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
}

/* 面包屑导航 */
.i-link-wrap {
    display: flex;
    align-items: center;
    padding: 15px 0;
    font-size: 14px;
    color: #666;
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

.i-link-item {
    display: flex;
    align-items: center;
}

.i-link-item a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
}

.i-link-item a:hover {
    color: #AB47BC;
}

.i-link-item.last-item span {
    color: #333;
    font-weight: 500;
}

.link-arrow {
    width: 12px;
    height: 12px;
    margin: 0 8px;
    fill: #999;
}

/* 头部内容区域 */
.header-content-wrap {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    align-items: stretch;
}

/* 相册区域 */
.album-wrap {
    flex: 0 0 600px;
    display: flex;
    flex-direction: column;
}

.album-container {
    width: 100%;
}

.img-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.img-container img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.img-content {
    position: relative;
    width: 100%;
    padding-bottom: 75%;
    background: #f0f0f0;
}

.img-content img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 缩略图容器 - 隐藏，因为只有一张封面图 */
.thumb-container {
    display: none;
}

/* 详情信息区域 */
.detail-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* 项目标题 */
.project-title {
    margin-bottom: 20px;
}

.project-title .title {
    width: 100%;
}

.project-title .name {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.tag-container {
    display: flex;
    gap: 8px;
}

.icon-label {
    height: 22px;
    width: auto;
}

.sub-title {
    font-size: 14px;
    color: #666;
    margin-top: 8px;
}

.company-name {
    color: #AB47BC;
    cursor: pointer;
}

.company-name:hover {
    text-decoration: underline;
}

/* 项目信息 */
.project-info {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.project-info .row {
    display: flex;
    gap: 40px;
    margin-bottom: 15px;
}

.project-info .row:last-child {
    margin-bottom: 0;
}

.project-info .row-item {
    flex: 1;
}

.project-info-item {
    display: flex;
    font-size: 14px;
}

.project-info-item .item-type {
    color: #999;
    white-space: nowrap;
    margin-right: 8px;
}

.project-info-item .item-value {
    color: #333;
    flex: 1;
}

/* 项目描述区域 */
.project-desc {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1;
}

.project-desc .row {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
}

.row-header {
    margin-bottom: 15px;
}

.row-header .title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.row-header .sub-title {
    font-size: 12px;
    color: #999;
}

/* 加盟扶持 */
.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 15px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    font-size: 14px;
    color: #666;
}

.tag-icon {
    width: 16px;
    height: 16px;
    fill: #AB47BC;
}

/* 底部操作区域 */
.bottom-layout {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.operation-container {
    display: flex;
    gap: 15px;
    justify-content: flex-start;
}

.inquiry-btn {
    padding: 12px 40px;
    font-size: 16px;
    background: #AB47BC;
    border: none;
    border-radius: 25px;
    color: #fff;
    cursor: pointer;
    transition: background 0.3s;
    text-align: center;
}

.inquiry-btn:hover {
    background: #8E24AA;
}

.custom-btn {
    padding: 12px 30px;
    font-size: 16px;
    background: #fff;
    border: 1px solid #AB47BC;
    border-radius: 25px;
    color: #AB47BC;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.custom-btn:hover {
    background: #AB47BC;
    color: #fff;
}

.btn-icon {
    width: 18px;
    height: 18px;
}

/* 响应式 */
@media (max-width: 1440px) {
    .detail-container .inner {
        width: 95%;
    }
}

@media (max-width: 1024px) {
    .header-content-wrap {
        flex-direction: column;
    }
    
    .album-wrap {
        flex: 1;
    }
    
    .project-info .row {
        flex-direction: column;
        gap: 15px;
    }
    
    .fee-item {
        flex: 0 0 100%;
    }
}

/* 内容区域 - 两栏布局 */
.content-section {
    display: flex;
    gap: 30px;
    margin-top: 30px;
}

/* 左侧内容区 */
.left-content {
    flex: 1;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
}

/* 标签导航 */
.tab-navigation {
    display: flex;
    border-bottom: 2px solid #f0f0f0;
    margin-bottom: 20px;
}

.tab-item {
    padding: 15px 30px;
    font-size: 16px;
    color: #666;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: all 0.3s;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
}

.tab-item:hover {
    color: #AB47BC;
}

.tab-item.active {
    color: #AB47BC;
    border-bottom-color: #AB47BC;
    font-weight: 600;
}

/* 标签内容区 */
.tab-content {
    display: block;
    border-bottom: 1px solid #f0f0f0;
    margin: 25px 0;
}

.tab-content:last-child {
    border-bottom: none;
}

.tab-content h3.section-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #AB47BC;
    display: inline-block;
}

/* 项目介绍内容 */
.project-introduction {
    line-height: 1.8;
}

.project-introduction h2 {
    font-size: 20px;
    color: #333;
    margin: 20px 0 15px;
    font-weight: 600;
}

.project-introduction p {
    font-size: 15px;
    color: #666;
    margin-bottom: 15px;
    text-align: justify;
}

.project-introduction img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px auto;
    border-radius: 8px;
}

.project-introduction ul,
.project-introduction ol {
    padding-left: 25px;
    margin: 15px 0;
}

.project-introduction li {
    font-size: 15px;
    color: #666;
    margin-bottom: 10px;
    line-height: 1.8;
}

/* 相关文章列表 */
.related-articles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.article-item {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: all 0.3s;
    text-decoration: none;
}

.article-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.article-thumb {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.article-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.article-item:hover .article-thumb img {
    transform: scale(1.05);
}

.article-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 15px;
}

.article-category {
    display: inline-block;
    padding: 4px 10px;
    background: #fff5f0;
    color: #AB47BC;
    font-size: 12px;
    font-weight: 600;
    border-radius: 4px;
    width: fit-content;
}

.article-title {
    font-size: 16px;
    color: #333;
    font-weight: 500;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-meta {
    display: flex;
    gap: 15px;
    font-size: 13px;
    color: #999;
}

.article-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.article-meta i {
    font-size: 12px;
}

/* 相关文章响应式 */
@media (max-width: 1024px) {
    .related-articles {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .related-articles {
        grid-template-columns: 1fr;
    }
}

/* 推荐项目标题区 */
.guide-menu-title {
    margin: 25px 0;
}

.guide-menu-title .title {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.guide-menu-title .menu-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    margin-right: 15px;
}

.guide-menu-title .separator {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, #e0e0e0, transparent);
}

.guide-menu-tab {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.guide-menu-tab .menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.guide-menu-tab .menu-txt {
    font-size: 14px;
    color: #666;
    cursor: pointer;
    transition: color 0.3s;
    white-space: nowrap;
    text-decoration: none;
}

.guide-menu-tab .menu-txt:hover {
    color: #AB47BC;
}

.guide-menu-tab .menu-item .separator {
    width: 1px;
    height: 12px;
    background: #ddd;
}

.guide-menu-tab .menu-item.more {
    color: #AB47BC;
    cursor: pointer;
    font-size: 14px;
}

.guide-menu-tab .menu-item.more .arrow {
    width: 12px;
    height: 12px;
    fill: #AB47BC;
}

/* 推荐项目列表 */
.recommended-projects {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.project-card {
    background: #f9f9f9;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s;
    text-decoration: none;
}

.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.project-card-thumb {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.project-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.project-card:hover .project-card-thumb img {
    transform: scale(1.1);
}

.project-card-info {
    padding: 15px;
}

.project-card-title {
    font-size: 16px;
    color: #333;
    font-weight: 500;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.project-card-desc {
    font-size: 14px;
    color: #999;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 右侧边栏样式 - 复用首页样式 */
.vending-sidebar {
    flex: 0 0 350px;
    position: sticky;
    top: 100px;
    align-self: flex-start;
}

.widget {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.widget-title {
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}

.widget-title h5 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.widget-title i {
    color: #AB47BC;
}

/* 热门推荐 */
.hot-projects-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.hot-project-item {
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 15px;
}

.hot-project-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.hot-project-link {
    display: flex;
    gap: 12px;
    text-decoration: none;
    transition: transform 0.3s;
}

.hot-project-link:hover {
    transform: translateX(5px);
}

.hot-project-image {
    flex: 0 0 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
}

.hot-project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hot-project-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.hot-project-category {
    font-size: 12px;
    color: #AB47BC;
    background: #fff5f0;
    padding: 2px 8px;
    border-radius: 3px;
    display: inline-block;
    width: fit-content;
}

.hot-project-title {
    font-size: 14px;
    color: #333;
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hot-project-date {
    font-size: 12px;
    color: #999;
}

.hot-project-date i {
    margin-right: 4px;
}

/* 分类统计 */
.category-stats-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.category-stat-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.category-stat-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.category-stat-name {
    font-size: 14px;
    color: #333;
}

.category-stat-count {
    font-size: 13px;
    color: #999;
}

.category-stat-bar {
    height: 6px;
    background: #f0f0f0;
    border-radius: 3px;
    overflow: hidden;
}

.category-stat-progress {
    height: 100%;
    background: linear-gradient(90deg, #AB47BC, #ff8c5a);
    border-radius: 3px;
    transition: width 0.3s;
}

/* 广告位 */
.ad-banner {
    border-radius: 6px;
    overflow: hidden;
}

.ad-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.no-content {
    text-align: center;
    color: #999;
    padding: 20px 0;
    font-size: 14px;
}

@media (max-width: 768px) {
    .detail-container .inner {
        width: 100%;
        border-radius: 0;
    }
    
    .project-title {
        flex-direction: column;
    }
    
    .project-data-score {
        flex-direction: column;
        gap: 20px;
    }
    
    .content-section {
        flex-direction: column;
    }
    
    .vending-sidebar {
        flex: 1;
    }
    
    .recommended-projects {
        grid-template-columns: 1fr;
    }
    
    .guide-menu-tab {
        overflow-x: auto;
        flex-wrap: nowrap;
    }
    
    .tab-item {
        padding: 12px 20px;
        font-size: 14px;
    }
}
/*
 Related Vending Machines Section */
.related-vending-machines {
    margin: 40px 0;
    padding: 30px;
    background: #f9f9f9;
    border-radius: 8px;
}

.related-vending-machines .section-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 25px;
    color: #333;
    padding-bottom: 15px;
    border-bottom: 2px solid #e0e0e0;
}

.vending-machines-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.vending-machine-card {
    display: block;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
}

.vending-machine-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.vending-card-thumb {
    width: 100%;
    height: 160px;
    overflow: hidden;
    /* background: #f0f0f0; */
}

.vending-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.vending-machine-card:hover .vending-card-thumb img {
    transform: scale(1.05);
}

.vending-card-info {
    padding: 15px;
}

.vending-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px 0;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.vending-excerpt {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Responsive */
@media (max-width: 992px) {
    .vending-machines-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (max-width: 768px) {
    .vending-machines-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .related-vending-machines {
        padding: 20px;
    }
    
    .related-vending-machines .section-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .vending-machines-grid {
        grid-template-columns: 1fr;
    }
}

/* 亚马逊评论区块样式 */
.customer-reviews {
    margin: 30px 0;
}

.customer-reviews h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
}

.review-item {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.review-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-color: #AB47BC;
}

.review-item:last-child {
    margin-bottom: 0;
}

.review-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.review-rating {
    background: #FFF3E0;
    color: #F57C00;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
}

.review-header strong {
    color: #333;
    font-size: 16px;
    flex: 1;
}

.review-content {
    color: #555;
    line-height: 1.8;
    margin: 15px 0;
    font-size: 15px;
}

.review-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e0e0e0;
    font-size: 14px;
    color: #666;
}

.review-meta .review-author {
    padding-right: 15px;
    border-right: 1px solid #ddd;
    font-weight: 500;
}

.review-meta .review-date {
    color: #999;
}

/* 产品成分信息样式 */
.product-ingredients {
    margin: 30px 0;
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
}

.product-ingredients h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.ingredients-content {
    color: #555;
    line-height: 1.8;
    font-size: 14px;
}

.ingredients-content p {
    margin: 0;
}

/* 产品详情信息样式 */
.product-details-section {
    margin: 30px 0;
    background: #f0f8ff;
    border: 1px solid #d0e8ff;
    border-radius: 8px;
    padding: 20px;
}

.product-details-section h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.details-content {
    color: #555;
    line-height: 1.8;
    font-size: 14px;
}

.details-content p {
    margin: 0;
    white-space: pre-line;
}

/* 优缺点区块样式 */
.pros-cons {
    margin: 30px 0;
}

.pros-cons h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.pros-cons ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pros-cons li {
    padding: 10px 0;
    padding-left: 30px;
    position: relative;
    color: #555;
    line-height: 1.6;
}

.pros-cons li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #4CAF50;
    font-weight: bold;
    font-size: 18px;
}

/* 特色文章区块样式优化 */
.featured-article-row {
    margin-bottom: 30px;
}

.featured-article-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    max-height: 400px;
}

.featured-article-image {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.featured-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}

.featured-article-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.featured-article-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.featured-article-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 15px;
}

.featured-article-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.featured-article-title a:hover {
    color: #AB47BC;
}

.featured-article-excerpt {
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.featured-article-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

.article-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

.article-stats {
    display: flex;
    gap: 15px;
    color: #999;
    font-size: 14px;
}

/* 响应式调整 */
@media (max-width: 768px) {
    .featured-article-card {
        grid-template-columns: 1fr;
        max-height: none;
    }
    
    .featured-article-image {
        height: 250px;
    }
    
    .featured-article-title {
        font-size: 22px;
    }
}

/* ========================================
   Image Lightbox Styles
   ======================================== */

.instagram-item {
    cursor: pointer;
    position: relative;
}

.instagram-item .instagram-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(171, 71, 188, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.instagram-item:hover .instagram-overlay {
    opacity: 1;
}

.instagram-item .instagram-overlay i {
    color: #fff;
    font-size: 24px;
}

/* Lightbox Container */
.image-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}

.image-lightbox.active {
    display: flex;
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.95);
    cursor: pointer;
}

.lightbox-content {
    position: relative;
    z-index: 10000;
    max-width: 90%;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-image {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
}

/* Lightbox Controls */
.lightbox-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    z-index: 10001;
}

.lightbox-close:hover {
    background: rgba(171, 71, 188, 0.9);
    border-color: #AB47BC;
    transform: rotate(90deg);
}

.lightbox-prev,
.lightbox-next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    z-index: 10001;
}

.lightbox-prev {
    left: 20px;
}

.lightbox-next {
    right: 20px;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(171, 71, 188, 0.9);
    border-color: #AB47BC;
}

/* Responsive Lightbox */
@media (max-width: 768px) {
    .lightbox-content {
        max-width: 95%;
    }
    
    .lightbox-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    
    .lightbox-prev,
    .lightbox-next {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .lightbox-prev {
        left: 10px;
    }
    
    .lightbox-next {
        right: 10px;
    }
}

/* Dark Mode Lightbox */
body.dark-mode .lightbox-overlay {
    background: rgba(0, 0, 0, 0.98);
}

/* ========================================
   广告位招租样式 - 简洁版
   ======================================== */

.widget-ad-rental {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    margin-bottom: 30px;
    border: 1px solid #e8e8e8;
}

.widget-ad-rental .widget-title {
    background: #f8f9fa;
    padding: 15px 20px;
    border-bottom: 1px solid #e8e8e8;
}

.widget-ad-rental .widget-title h5 {
    color: #333;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
}

.widget-ad-rental .widget-title i {
    margin-right: 8px;
    color: #AB47BC;
}

.ad-rental-content {
    padding: 20px;
}

.rental-header {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
}

.rental-header h6 {
    margin: 0 0 6px 0;
    font-size: 18px;
    font-weight: 700;
    color: #2d3748;
}

.rental-header p {
    margin: 0;
    font-size: 13px;
    color: #718096;
}

.rental-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
}

.stat-item {
    background: #f8f9fa;
    padding: 12px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid #e8e8e8;
}

.stat-item i {
    display: block;
    font-size: 20px;
    color: #AB47BC;
    margin-bottom: 6px;
}

.stat-item span {
    font-size: 11px;
    color: #4a5568;
    font-weight: 500;
}

.rental-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.option-item {
    background: #f8f9fa;
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    padding: 12px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.option-item:hover {
    border-color: #AB47BC;
    background: #fff;
    transform: translateX(3px);
}

.option-item.featured {
    background: linear-gradient(135deg, #fff5f0 0%, #ffe8dc 100%);
    border-color: #AB47BC;
    position: relative;
}

.option-item.featured::before {
    content: 'Popular';
    position: absolute;
    top: -8px;
    right: 10px;
    background: #AB47BC;
    color: #fff;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 600;
}

.option-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.option-header i {
    font-size: 16px;
    color: #AB47BC;
}

.option-price {
    font-size: 16px;
    font-weight: 700;
    color: #AB47BC;
}

/* Premium Package 完整盒子 */
.premium-package-box {
    background: linear-gradient(135deg, #fff5f0 0%, #ffe8dc 100%);
    border: 3px solid #AB47BC;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    position: relative;
    box-shadow: 0 4px 16px rgba(171, 71, 188, 0.2);
}

.premium-badge {
    position: absolute;
    top: -12px;
    right: 20px;
    background: #AB47BC;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(171, 71, 188, 0.4);
}

.premium-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.premium-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.premium-title i {
    font-size: 20px;
    color: #AB47BC;
}

.premium-title span {
    font-size: 16px;
    font-weight: 700;
    color: #2d3748;
}

.premium-price {
    font-size: 28px;
    font-weight: 800;
    color: #AB47BC;
}

.premium-price span {
    font-size: 14px;
    font-weight: 500;
    color: #a0aec0;
}

.premium-divider {
    height: 2px;
    background: linear-gradient(to right, transparent, #AB47BC, transparent);
    margin: 15px 0;
}

.premium-includes {
    margin-bottom: 15px;
}

.includes-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.includes-title i {
    color: #AB47BC;
    font-size: 14px;
}

.includes-title span {
    font-size: 13px;
    font-weight: 700;
    color: #2d3748;
}

.includes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.includes-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 12px;
    color: #4a5568;
    font-weight: 500;
}

.includes-list li i {
    color: #10b981;
    font-size: 12px;
    flex-shrink: 0;
}

.premium-savings {
    background: #fff;
    border: 2px dashed #AB47BC;
    border-radius: 8px;
    padding: 10px 15px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: #AB47BC;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.premium-savings i {
    font-size: 14px;
}

.rental-cta {
    display: block;
    width: 100%;
    padding: 12px 20px;
    background: #AB47BC;
    color: #fff;
    text-align: center;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s;
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.rental-cta:hover {
    background: #8E24AA;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(171, 71, 188, 0.4);
}

.rental-cta i {
    margin-left: 8px;
    font-size: 12px;
}

/* 响应式 */
@media (max-width: 768px) {
    .rental-stats {
        grid-template-columns: 1fr;
    }
    
    .stat-item {
        padding: 10px;
    }
    
    .option-item {
        padding: 10px 12px;
    }
}

/* 暗黑模式 */
body.dark-mode .widget-ad-rental {
    background: #2d3748;
    border-color: #4a5568;
}

body.dark-mode .widget-ad-rental .widget-title {
    background: #1a202c;
    border-bottom-color: #4a5568;
}

body.dark-mode .widget-ad-rental .widget-title h5 {
    color: #e2e8f0;
}

body.dark-mode .rental-header {
    border-bottom-color: #4a5568;
}

body.dark-mode .rental-header h6 {
    color: #e2e8f0;
}

body.dark-mode .rental-header p {
    color: #a0aec0;
}

body.dark-mode .stat-item {
    background: #1a202c;
    border-color: #4a5568;
}

body.dark-mode .stat-item span {
    color: #cbd5e0;
}

body.dark-mode .option-item {
    background: #1a202c;
    border-color: #4a5568;
}

body.dark-mode .option-item:hover {
    background: #374151;
    border-color: #AB47BC;
}

body.dark-mode .option-item.featured {
    background: linear-gradient(135deg, #2d3748 0%, #374151 100%);
    border-color: #AB47BC;
}

body.dark-mode .option-header span {
    color: #e2e8f0;
}

body.dark-mode .premium-package-box {
    background: linear-gradient(135deg, #2d3748 0%, #374151 100%);
    border-color: #AB47BC;
}

body.dark-mode .premium-title span {
    color: #e2e8f0;
}

body.dark-mode .includes-title span {
    color: #e2e8f0;
}

body.dark-mode .includes-list li {
    color: #cbd5e0;
}

body.dark-mode .premium-savings {
    background: #1a202c;
    color: #AB47BC;
    border-color: #AB47BC;
}

body.dark-mode .rental-cta {
    background: #AB47BC;
}

body.dark-mode .rental-cta:hover {
    background: #8E24AA;
}



/* ========================================
   商务合作页面样式
   ======================================== */

.partnership-page-wrapper {
    padding: 40px 0;
    background: #f8f9fa;
}

.partnership-hero {
    text-align: center;
    padding: 60px 20px;
    background: linear-gradient(135deg, #AB47BC 0%, #FF8C61 100%);
    color: white;
    border-radius: 15px;
    margin-bottom: 60px;
}

.partnership-title {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 15px;
}

.partnership-subtitle {
    font-size: 20px;
    opacity: 0.95;
}

/* 数据统计区域 */
.partnership-stats {
    margin-bottom: 60px;
}

.partnership-stats h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 40px;
    color: #2c3e50;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 20px;
}

.stat-card {
    background: white;
    padding: 40px 20px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
}

.stat-card i {
    font-size: 48px;
    color: #AB47BC;
    margin-bottom: 20px;
}

.stat-number {
    font-size: 36px;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 16px;
    color: #7f8c8d;
}

/* 合作方式 */
.partnership-options {
    margin-bottom: 60px;
}

.partnership-options h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 40px;
    color: #2c3e50;
}

/* 一行4个的网格布局 */
.options-grid-four {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.option-card-small {
    background: white;
    padding: 30px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    text-align: center;
    transition: all 0.3s ease;
}

.option-card-small:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.option-icon-small {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #AB47BC 0%, #FF8C61 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.option-icon-small i {
    font-size: 32px;
    color: white;
}

.option-card-small h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #2c3e50;
}

.option-card-small p {
    color: #7f8c8d;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.5;
}

.option-price-small {
    font-size: 32px;
    font-weight: 700;
    color: #AB47BC;
}

.price-unit {
    font-size: 16px;
    color: #7f8c8d;
    font-weight: 400;
}

.price-unit {
    font-size: 18px;
    color: #7f8c8d;
    font-weight: 400;
}

/* 高级套餐包装器 */
.premium-package-wrapper {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.premium-package-box {
    background: white;
    border-radius: 15px;
    padding: 40px;
    box-shadow: 0 8px 30px rgba(171, 71, 188, 0.2);
    border: 3px solid #AB47BC;
    position: relative;
    width: 100%;
}

.premium-package-box.premium-quarterly {
    border-color: #FFB84D;
    box-shadow: 0 8px 30px rgba(255, 184, 77, 0.25);
}

.premium-badge {
    position: absolute;
    top: -15px;
    right: 40px;
    background: linear-gradient(135deg, #AB47BC 0%, #FF8C61 100%);
    color: white;
    padding: 8px 25px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(171, 71, 188, 0.4);
}

.premium-badge-best {
    background: linear-gradient(135deg, #FFB84D 0%, #FFA726 100%);
    box-shadow: 0 4px 15px rgba(255, 184, 77, 0.4);
}

.premium-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.premium-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 28px;
    font-weight: 700;
    color: #2c3e50;
}

.premium-title i {
    color: #FFB84D;
    font-size: 32px;
}

.premium-price {
    font-size: 42px;
    font-weight: 700;
    color: #AB47BC;
}

.premium-price .price-unit {
    font-size: 18px;
    color: #7f8c8d;
}

.premium-divider {
    height: 2px;
    background: linear-gradient(90deg, transparent, #AB47BC, transparent);
    margin: 25px 0;
}

.premium-includes {
    margin: 25px 0;
}

.includes-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 20px;
}

.includes-title i {
    color: #FFB84D;
    font-size: 20px;
}

.includes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.includes-list li {
    padding: 12px 0;
    color: #555;
    display: flex;
    align-items: center;
    font-size: 16px;
}

.includes-list li i {
    color: #27ae60;
    margin-right: 12px;
    font-size: 18px;
}

.premium-savings {
    background: linear-gradient(135deg, #FFB84D 0%, #FFA726 100%);
    color: white;
    padding: 15px 20px;
    border-radius: 10px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.premium-savings i {
    font-size: 22px;
}

.premium-savings-best {
    background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
}

/* 合作优势 */
.partnership-advantages {
    margin-bottom: 60px;
}

.partnership-advantages h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 40px;
    color: #2c3e50;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.advantage-item {
    background: white;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.advantage-item i {
    font-size: 48px;
    color: #AB47BC;
    margin-bottom: 20px;
}

.advantage-item h4 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #2c3e50;
}

.advantage-item p {
    color: #7f8c8d;
    line-height: 1.6;
}

/* 合作流程 */
.partnership-process {
    margin-bottom: 60px;
}

.partnership-process h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 40px;
    color: #2c3e50;
}

.process-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.step-item {
    text-align: center;
    flex: 1;
    min-width: 150px;
}

.step-number {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #AB47BC 0%, #FF8C61 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    margin: 0 auto 15px;
}

.step-item h4 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #2c3e50;
}

.step-item p {
    font-size: 14px;
    color: #7f8c8d;
}

.step-arrow {
    color: #AB47BC;
    font-size: 24px;
}

/* 联系表单 */
.partnership-contact {
    background: white;
    padding: 50px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    max-width: 800px;
    margin: 0 auto;
}

.partnership-contact h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 15px;
    color: #2c3e50;
}

.contact-intro {
    text-align: center;
    color: #7f8c8d;
    margin-bottom: 40px;
    font-size: 16px;
}

.partnership-form {
    margin-bottom: 30px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: #2c3e50;
    font-weight: 600;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #ecf0f1;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #AB47BC;
}

.form-group textarea {
    resize: vertical;
    font-family: inherit;
}

.submit-btn {
    width: 100%;
    padding: 15px 30px;
    background: linear-gradient(135deg, #AB47BC 0%, #FF8C61 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(171, 71, 188, 0.3);
}

.form-message {
    margin-top: 20px;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
    display: none;
}

.form-message.success {
    background: #d4edda;
    color: #155724;
    display: block;
}

.form-message.error {
    background: #f8d7da;
    color: #721c24;
    display: block;
}

.direct-contact {
    text-align: center;
    padding-top: 30px;
    border-top: 2px solid #ecf0f1;
}

.direct-contact p {
    color: #7f8c8d;
    margin-bottom: 15px;
}

.contact-email {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #AB47BC;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-email:hover {
    color: #FF8C61;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .partnership-title {
        font-size: 32px;
    }
    
    .partnership-subtitle {
        font-size: 16px;
    }
    
    .partnership-stats h2,
    .partnership-options h2,
    .partnership-advantages h2,
    .partnership-process h2,
    .partnership-contact h2 {
        font-size: 28px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .options-grid-four {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .advantages-grid {
        grid-template-columns: 1fr;
    }
    
    .process-steps {
        flex-direction: column;
        padding: 30px 20px;
    }
    
    .step-arrow {
        transform: rotate(90deg);
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .partnership-contact {
        padding: 30px 20px;
    }
    
    .premium-package-wrapper {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .premium-package-box {
        padding: 30px 20px;
    }
    
    .premium-header {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    
    .premium-title {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .options-grid-four {
        grid-template-columns: 1fr;
    }
}


/* ========================================
   Single Post Content Images - Center Alignment
   ======================================== */

/* 文章内容中的图片居中显示 */
.single-post-body img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
}

/* 如果图片在段落中 */
.single-post-body p img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* 图片容器居中 */
.single-post-body .wp-block-image {
    text-align: center;
}

.single-post-body .wp-block-image img {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

/* WordPress 图片对齐类 */
.single-post-body .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.single-post-body .alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
}

.single-post-body .alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 10px;
}

/* 图片说明文字也居中 */
.single-post-body .wp-caption {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.single-post-body .wp-caption-text {
    text-align: center;
    font-size: 0.9em;
    color: #666;
    margin-top: 8px;
}

/* Related Posts Section (Single Post Page) */
.related-posts-section {
    background: #fff;
    padding: 40px 30px;
    border-radius: 12px;
    margin-top: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.related-posts-section .section-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 3px solid #AB47BC;
    display: inline-block;
}

.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.related-post-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.related-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.post-card-link {
    text-decoration: none;
    display: block;
}

.post-card-thumb {
    position: relative;
    height: 290px;
    overflow: hidden;
    background: #f8f9fa;
}

.post-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.related-post-card:hover .post-card-thumb img {
    transform: scale(1.1);
}

.post-card-thumb .post-category {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #AB47BC;
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    z-index: 1;
}

.post-card-info {
    padding: 25px;
}

.post-card-info .post-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 12px 0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 0.3s;
}

.related-post-card:hover .post-card-info .post-title {
    color: #AB47BC;
}

.post-card-info .post-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: #999;
}

.post-card-info .post-meta i {
    margin-right: 5px;
}

.post-card-info .post-date,
.post-card-info .post-views {
    display: flex;
    align-items: center;
}

/* Responsive */
@media (max-width: 992px) {
    .related-posts-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .related-posts-section {
        padding: 25px 20px;
        margin-top: 20px;
    }
    
    .related-posts-section .section-title {
        font-size: 20px;
        margin-bottom: 20px;
    }
    
    .related-posts-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .post-card-info {
        padding: 15px;
    }
    
    .post-card-info .post-title {
        font-size: 15px;
    }
}


/* ========================================
   手机端横向滚动修复
   ======================================== */

/* 防止所有元素超出视口宽度 */
@media (max-width: 768px) {
    /* 强制移除横向滚动 */
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        position: relative;
    }
    
    /* 确保所有容器不超出屏幕 */
    * {
        max-width: 100% !important;
    }
    
    /* 特殊处理可能导致溢出的元素 */
    .container,
    .main-wrapper,
    .site-footer,
    .footer-main,
    .footer-instagram,
    .instagram-grid,
    .footer-grid,
    .footer-bottom {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
    
    /* 修复图片溢出 */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* 修复表格溢出 */
    table {
        max-width: 100% !important;
        overflow-x: auto !important;
        display: block !important;
    }
    
    /* 修复预格式化文本 */
    pre, code {
        max-width: 100% !important;
        overflow-x: auto !important;
        word-wrap: break-word !important;
    }
    
    /* 修复iframe和嵌入内容 */
    iframe, embed, object {
        max-width: 100% !important;
    }
    
    /* 修复文章内容区域 */
    .single-post-content,
    .single-post-body,
    .post-content,
    .entry-content {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
    
    /* 修复网格布局 */
    .posts-grid,
    .category-posts-grid,
    .related-posts-grid {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
    
    /* 修复固定宽度元素 */
    [style*="width"] {
        max-width: 100% !important;
    }
    
    /* 修复Flexbox溢出 */
    .flex-container,
    [class*="flex"] {
        flex-wrap: wrap !important;
    }
    
    /* 修复底部区域 */
    .site-footer,
    .footer-main,
    .footer-bottom,
    .footer-instagram {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* 修复Instagram网格 */
    .instagram-grid {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    
    /* 修复footer网格 */
    .footer-grid {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    
    /* 修复所有padding和margin导致的溢出 */
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    
    /* 修复可能的负margin */
    * {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* 允许特定元素有margin */
    p, h1, h2, h3, h4, h5, h6, ul, ol, li, blockquote {
        margin-left: revert !important;
        margin-right: revert !important;
    }
}


/* ========================================
   表格样式 - 带边框
   ======================================== */

/* 基础表格样式 */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #fff;
    border: 1px solid #ddd;
}

table thead {
    background: #f8f9fa;
}

table th {
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    color: #333;
    border: 1px solid #ddd;
}

table td {
    padding: 12px 15px;
    border: 1px solid #ddd;
    color: #555;
}

table tbody tr:nth-child(even) {
    background: #f8f9fa;
}

table tbody tr:hover {
    background: #f0f0f0;
}

/* 文章内容中的表格 */
.single-post-body table,
.post-content table,
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #fff;
    border: 1px solid #ddd;
}

.single-post-body table th,
.post-content table th,
.entry-content table th {
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    color: #333;
    border: 1px solid #ddd;
    background: #f8f9fa;
}

.single-post-body table td,
.post-content table td,
.entry-content table td {
    padding: 12px 15px;
    border: 1px solid #ddd;
    color: #555;
}

.single-post-body table tbody tr:nth-child(even),
.post-content table tbody tr:nth-child(even),
.entry-content table tbody tr:nth-child(even) {
    background: #f8f9fa;
}

/* 手机端表格响应式 */
@media (max-width: 768px) {
    /* 表格容器 - 允许横向滚动 */
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 15px 0;
        font-size: 14px;
    }
    
    table th,
    table td {
        padding: 10px 12px;
        white-space: nowrap;
    }
    
    /* 文章内容中的表格 */
    .single-post-body table,
    .post-content table,
    .entry-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 15px 0;
        font-size: 14px;
    }
    
    .single-post-body table th,
    .single-post-body table td,
    .post-content table th,
    .post-content table td,
    .entry-content table th,
    .entry-content table td {
        padding: 10px 12px;
        white-space: nowrap;
    }
}

/* 暗黑模式下的表格 */
body.dark-mode table {
    background: #2a2a2a;
    border-color: #3a3a3a;
}

body.dark-mode table th {
    background: #333;
    color: #e0e0e0;
    border-color: #3a3a3a;
}

body.dark-mode table td {
    color: #ccc;
    border-color: #3a3a3a;
}

body.dark-mode table tbody tr:nth-child(even) {
    background: #252525;
}

body.dark-mode table tbody tr:hover {
    background: #333;
}


/* ========================================
   文章资讯板块样式
   ======================================== */

.articles-section {
    background: #f8f9fa;
    padding: 60px 0;
    margin-top: 60px;
    position: relative;
}

.articles-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 1px;
    background: linear-gradient(to right, transparent, #e0e0e0 20%, #e0e0e0 80%, transparent);
}

.articles-section::after {
    content: '';
    position: absolute;
    top: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 6px;
    background: #AB47BC;
    border-radius: 3px;
}

/* 板块标题 */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e8e8e8;
    gap: 20px;
}

.section-title-wrap {
    flex: 0 0 auto;
    max-width: 400px;
}

.section-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0 0 8px 0;
}

.section-subtitle {
    font-size: 16px;
    color: #999;
    margin: 0;
    white-space: nowrap;
}

/* 文章分类导航 */
.articles-categories {
    display: flex;
    gap: 12px;
    flex: 1;
    justify-content: flex-end;
    overflow-x: auto;
    overflow-y: hidden;
    padding-left: 30px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #AB47BC #f0f0f0;
    flex-wrap: wrap;
    align-items: flex-start;
}

.articles-categories::-webkit-scrollbar {
    height: 6px;
}

.articles-categories::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 3px;
}

.articles-categories::-webkit-scrollbar-thumb {
    background: #AB47BC;
    border-radius: 3px;
}

.articles-categories::-webkit-scrollbar-thumb:hover {
    background: #8E24AA;
}

.article-category-tab {
    padding: 10px 20px;
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 25px;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

.article-category-tab:hover {
    border-color: #AB47BC;
    color: #AB47BC;
    background: #fff5f0;
}

.article-category-tab .category-count {
    font-size: 12px;
    padding: 2px 8px;
    background: rgba(0,0,0,0.1);
    border-radius: 10px;
}

/* 特色大文章 */
.featured-article-row {
    margin-bottom: 30px;
}

.featured-article-card {
    display: flex;
    gap: 30px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08);
    transition: all 0.3s;
}

.featured-article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.featured-article-image {
    flex: 0 0 50%;
    position: relative;
    overflow: hidden;
}

.featured-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.featured-article-card:hover .featured-article-image img {
    transform: scale(1.1);
}

.featured-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
}

.featured-article-content {
    flex: 1;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.featured-article-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.article-category {
    padding: 6px 12px;
    background: #fff5f0;
    color: #AB47BC;
    font-size: 13px;
    font-weight: 600;
    border-radius: 5px;
}

.article-date {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #999;
}

.featured-article-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 15px 0;
}

.featured-article-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.featured-article-title a:hover {
    color: #AB47BC;
}

.featured-article-excerpt {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 20px;
}

.featured-article-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.article-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

.article-author img {
    border-radius: 50%;
}

.author-name {
    font-size: 14px;
    color: #999;
    font-weight: 500;
}

.article-stats {
    display: flex;
    gap: 15px;
}

.article-views,
.article-comments {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #999;
}

/* 小文章卡片网格 */
.articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.article-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: all 0.3s;
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.article-card-image {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.article-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.article-card:hover .article-card-image img {
    transform: scale(1.1);
}

.article-category-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    padding: 6px 12px;
    background: #AB47BC;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 5px;
}

.article-card-content {
    padding: 20px;
}

.article-card-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 12px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-card-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.article-card-title a:hover {
    color: #AB47BC;
}

.article-card-excerpt {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.article-meta {
    display: flex;
    gap: 12px;
    font-size: 13px;
    color: #999;
}

.article-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.read-more {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #AB47BC;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.3s;
}

.read-more:hover {
    gap: 8px;
}

.read-more i {
    font-size: 11px;
}

.no-articles {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 0;
    color: #999;
    font-size: 16px;
}

/* ========================================
   顶部新闻板块样式
   ======================================== */

/* .top-news-section {
    background: #fff;
    padding: 0px 0 30px;
} */

/* 主要内容区 */
.top-news-content {
    display: grid;
    grid-template-columns: 1fr 550px;
    gap: 30px;
    margin-bottom: 30px;
}

/* 左侧大卡片 */
.featured-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08);
    transition: all 0.3s;
    height: 100%;
}

.featured-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.featured-card-image {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.featured-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.featured-card:hover .featured-card-image img {
    transform: scale(1.1);
}

.featured-category {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 8px 16px;
    background: #4A90E2;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 5px;
    z-index: 1;
}

.featured-card-content {
    padding: 25px;
}

.featured-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    color: #333;
    margin: 0 0 12px 0;
}

.featured-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.featured-title a:hover {
    color: #AB47BC;
}

.featured-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 20px;
}

.featured-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.featured-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

.author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.featured-info {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
}

.featured-date,
.featured-comments {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #999;
}

.bookmark-btn {
    width: 36px;
    height: 36px;
    border: 2px solid #e0e0e0;
    border-radius: 50%;
    background: #fff;
    color: #666;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.bookmark-btn:hover {
    border-color: #AB47BC;
    color: #AB47BC;
    background: #fff5f0;
}

/* 右侧小卡片 - 2行2个网格布局 */
.top-news-sidebar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.sidebar-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: all 0.3s;
}

.sidebar-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.sidebar-card-image {
    position: relative;
    width: 100%;
    height: 150px;
    overflow: hidden;
}

.sidebar-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.sidebar-card:hover .sidebar-card-image img {
    transform: scale(1.1);
}

.sidebar-category {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 10px;
    background: #4CAF50;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    border-radius: 4px;
}

.sidebar-category.lifestyle {
    background: #E91E63;
}

.sidebar-category.sports {
    background: #00BCD4;
}

.sidebar-category.food {
    background: #FF9800;
}

.sidebar-card-content {
    padding: 15px;
}

.sidebar-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: #333;
    margin: 0 0 12px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sidebar-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.sidebar-title a:hover {
    color: #AB47BC;
}

.sidebar-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid #f0f0f0;
}

.sidebar-author {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sidebar-author .author-avatar {
    width: 28px;
    height: 28px;
}

.sidebar-author .author-name {
    font-size: 12px;
}

.sidebar-date {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #999;
}

.sidebar-meta .bookmark-btn {
    width: 28px;
    height: 28px;
}

/* 响应式 - 文章资讯板块 */
@media (max-width: 1200px) {
    .section-header {
        flex-wrap: wrap;
    }
    
    .section-title-wrap {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }
    
    .articles-categories {
        flex: 1 1 100%;
        padding-left: 0;
        justify-content: flex-start;
    }
    
    .top-news-content {
        grid-template-columns: 1fr 480px;
    }
}

@media (max-width: 1024px) {
    .featured-article-card {
        flex-direction: column;
    }
    
    .featured-article-image {
        flex: 0 0 300px;
    }
    
    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .top-news-content {
        grid-template-columns: 1fr;
    }
    
    .top-news-sidebar {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .articles-section {
        padding: 40px 0;
    }
    
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding-bottom: 15px;
    }
    
    .articles-categories {
        padding-left: 0;
        width: 100%;
        justify-content: flex-start;
        padding-bottom: 10px;
        overflow-x: auto;
        flex-wrap: nowrap;
    }
    
    .article-category-tab {
        flex-shrink: 0;
    }
    
    .section-title {
        font-size: 24px;
    }
    
    .articles-grid {
        grid-template-columns: 1fr;
    }
    
    .featured-article-title {
        font-size: 22px;
    }
    
    .featured-article-content {
        padding: 20px;
    }
    
    .top-news-sidebar {
        grid-template-columns: 1fr;
    }
    
    .featured-title {
        font-size: 20px;
    }
}

/* 暗黑模式 */
body.dark-mode .articles-section {
    background: #1a1a1a;
}

body.dark-mode .featured-article-card,
body.dark-mode .article-card,
body.dark-mode .article-category-tab {
    background: #2a2a2a;
}

body.dark-mode .section-title,
body.dark-mode .featured-article-title,
body.dark-mode .featured-article-title a,
body.dark-mode .article-card-title,
body.dark-mode .article-card-title a {
    color: #f5f5f5;
}

body.dark-mode .featured-article-title a:hover,
body.dark-mode .article-card-title a:hover {
    color: #AB47BC;
}

body.dark-mode .section-subtitle,
body.dark-mode .featured-article-excerpt,
body.dark-mode .article-card-excerpt {
    color: #aaa;
}

body.dark-mode .author-name {
    color: #ccc;
}

body.dark-mode .article-category-tab {
    border-color: #444;
    color: #999;
}

body.dark-mode .article-category-tab:hover {
    border-color: #AB47BC;
    color: #AB47BC;
}

body.dark-mode .featured-article-footer,
body.dark-mode .article-card-footer {
    border-top-color: #333;
}

body.dark-mode .top-news-section {
    background: #1a1a1a;
}

body.dark-mode .featured-title,
body.dark-mode .featured-title a,
body.dark-mode .sidebar-title,
body.dark-mode .sidebar-title a {
    color: #f5f5f5;
}

body.dark-mode .featured-title a:hover,
body.dark-mode .sidebar-title a:hover {
    color: #AB47BC;
}

body.dark-mode .featured-card,
body.dark-mode .sidebar-card,
body.dark-mode .bookmark-btn {
    background: #2a2a2a;
}

body.dark-mode .bookmark-btn {
    border-color: #444;
    color: #999;
}

body.dark-mode .bookmark-btn:hover {
    border-color: #AB47BC;
    color: #AB47BC;
}

body.dark-mode .featured-meta,
body.dark-mode .sidebar-meta {
    border-top-color: #333;
}

body.dark-mode .featured-excerpt {
    color: #aaa;
}


/* ========================================
   自定义语言切换器样式
   ======================================== */
.newsfy-language-switcher {
    position: relative;
    display: inline-block;
}

.newsfy-ls-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    color: #1a1a1a;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.newsfy-ls-trigger:hover {
    background: rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
}

.newsfy-ls-trigger svg:first-child {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.newsfy-ls-current {
    font-weight: 600;
}

.newsfy-ls-arrow {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.newsfy-language-switcher.active .newsfy-ls-arrow {
    transform: rotate(180deg);
}

.newsfy-ls-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    min-width: 100%;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 99999;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.newsfy-language-switcher.active .newsfy-ls-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.newsfy-ls-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.newsfy-ls-item:last-child {
    border-bottom: none;
}

.newsfy-ls-item:hover {
    background: rgba(255, 71, 87, 0.08);
}

/* 深色主题适配 */
body.dark-mode .newsfy-ls-trigger,
body[data-theme="dark"] .newsfy-ls-trigger {
    color: #e0e0e0;
    background: transparent;
    border-color: rgba(224, 224, 224, 0.2);
}

body.dark-mode .newsfy-ls-trigger:hover,
body[data-theme="dark"] .newsfy-ls-trigger:hover {
    color: #AB47BC;
    background: rgba(171, 71, 188, 0.1);
    border-color: rgba(171, 71, 188, 0.3);
}

body.dark-mode .newsfy-ls-dropdown,
body[data-theme="dark"] .newsfy-ls-dropdown {
    background: #2a2a2a;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .newsfy-ls-item,
body[data-theme="dark"] .newsfy-ls-item {
    color: #e0e0e0;
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

body.dark-mode .newsfy-ls-item:hover,
body[data-theme="dark"] .newsfy-ls-item:hover {
    color: #AB47BC;
    background: rgba(171, 71, 188, 0.1);
}

/* 移动端适配 */
@media (max-width: 768px) {
    .newsfy-ls-trigger {
        padding: 8px 14px;
        font-size: 13px;
    }
    
    .newsfy-ls-current {
        display: none;
    }
    
    .newsfy-ls-item {
        padding: 12px 14px;
        font-size: 13px;
    }
}


/* ========================================
   Hero Section - SEO H1 区域
   ======================================== */
.hero-section {
    margin-bottom: 40px;
    position: relative;
}

.hero-content {
    text-align: center;
    position: relative;
    z-index: 1;
    background: #ffffff;
    padding: 60px 40px;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05), 0 8px 24px rgba(171, 71, 188, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
}

.hero-content:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 12px 32px rgba(171, 71, 188, 0.12);
    transform: translateY(-2px);
}

/* 装饰性渐变边框效果 */
.hero-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #AB47BC 0%, #BA68C8 50%, #AB47BC 100%);
    background-size: 200% 100%;
    animation: gradientShift 3s ease infinite;
}

/* 装饰性背景图案 - 右上角 */
.hero-content::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(171, 71, 188, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 6s ease-in-out infinite;
}

/* 左下角装饰圆点 */
.hero-section::before {
    content: '';
    position: absolute;
    bottom: 10%;
    left: 5%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(247, 147, 30, 0.03) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: float 8s ease-in-out infinite reverse;
}

@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-20px) scale(1.05);
    }
}

.hero-title {
    font-size: 48px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 16px 0;
    line-height: 1.2;
    position: relative;
    z-index: 2;
    animation: fadeInUp 0.8s ease;
}

/* 标题下方装饰线 */
.hero-title::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #AB47BC, #BA68C8);
    margin: 20px auto 0;
    border-radius: 2px;
    animation: expandWidth 1s ease 0.3s backwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes expandWidth {
    from {
        width: 0;
    }
    to {
        width: 80px;
    }
}

.hero-subtitle {
    font-size: 20px;
    color: #666666;
    margin: 0 0 40px 0;
    font-weight: 400;
    position: relative;
    z-index: 2;
    animation: fadeInUp 0.8s ease 0.2s backwards;
}

.hero-features {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    animation: fadeInUp 0.8s ease 0.4s backwards;
}

.hero-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333333;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 24px;
    background: #f8f8f8;
    border-radius: 50px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* 悬停时的光晕效果 */
.hero-feature::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(171, 71, 188, 0.1);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.hero-feature:hover::before {
    width: 200%;
    height: 200%;
}

.hero-feature:hover {
    background: #AB47BC;
    color: #ffffff;
    border-color: #AB47BC;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}

.hero-feature i {
    font-size: 20px;
    color: #AB47BC;
    transition: color 0.3s ease;
    position: relative;
    z-index: 1;
}

.hero-feature:hover i {
    color: #ffffff;
    animation: bounce 0.6s ease;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

/* 暗黑模式适配 */
body.dark-mode .hero-content {
    background: #1a1a1a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(171, 71, 188, 0.1);
}

body.dark-mode .hero-content:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 12px 32px rgba(171, 71, 188, 0.15);
}

body.dark-mode .hero-content::after {
    background: radial-gradient(circle, rgba(171, 71, 188, 0.08) 0%, transparent 70%);
}

body.dark-mode .hero-title {
    color: #e0e0e0;
}

body.dark-mode .hero-subtitle {
    color: #999999;
}

body.dark-mode .hero-feature {
    background: #2a2a2a;
    color: #e0e0e0;
    border-color: #333333;
}

body.dark-mode .hero-feature:hover {
    background: #AB47BC;
    color: #ffffff;
    border-color: #AB47BC;
}

body.dark-mode .hero-feature i {
    color: #AB47BC;
}

body.dark-mode .hero-feature:hover i {
    color: #ffffff;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .hero-content {
        padding: 40px 30px;
        border-radius: 12px;
    }
    
    .hero-title {
        font-size: 32px;
    }
    
    .hero-subtitle {
        font-size: 16px;
        margin-bottom: 30px;
    }
    
    .hero-features {
        gap: 20px;
    }
    
    .hero-feature {
        font-size: 14px;
        padding: 10px 20px;
    }
    
    .hero-feature i {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .hero-content {
        padding: 30px 20px;
        border-radius: 8px;
    }
    
    .hero-title {
        font-size: 28px;
    }
    
    .hero-subtitle {
        font-size: 14px;
    }
    
    .hero-features {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
    
    .hero-feature {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}


/* Author Box 响应式优化 */
@media (max-width: 768px) {
    .author-box {
        flex-direction: column;
        padding: 30px 20px;
        gap: 20px;
        text-align: center;
    }
    
    .author-box .author-avatar {
        margin: 0 auto;
        width: 80px;
        height: 80px;
    }
    
    .author-box .author-name {
        justify-content: center;
    }
    
    .author-box .author-description {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .author-box {
        padding: 25px 15px;
    }
    
    .author-box .author-avatar {
        width: 60px;
        height: 60px;
    }
    
    .author-box .author-avatar img {
        width: 100%;
        height: 100%;
    }
    
    .author-box .author-name {
        font-size: 18px;
    }
    
    .author-box .author-description {
        font-size: 13px;
        line-height: 1.7;
    }
}



/* ========================================
   About Page Styles
   ======================================== */

.about-page-wrapper {
    background: #fff;
}

/* Hero Section */
.about-hero {
    position: relative;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    overflow: hidden;
}

.about-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
    background-size: 50px 50px;
    opacity: 0.3;
}

.about-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
}

.about-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    max-width: 800px;
    padding: 0 20px;
}

.about-hero-title {
    font-size: 56px;
    font-weight: 800;
    margin: 0 0 20px 0;
    line-height: 1.2;
    letter-spacing: -1px;
}

.about-hero-subtitle {
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 30px 0;
    opacity: 0.95;
}

.about-hero-divider {
    width: 80px;
    height: 4px;
    background: #fff;
    margin: 0 auto;
    border-radius: 2px;
}

/* Story Section */
.about-story {
    padding: 100px 0;
    background: #fff;
}

.about-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.about-story-content {
    padding-right: 20px;
}

.section-label {
    display: inline-block;
    color: #AB47BC;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.section-title {
    font-size: 42px;
    font-weight: 800;
    color: #333;
    margin: 0 0 25px 0;
    line-height: 1.3;
}

.section-text {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin: 0 0 20px 0;
}

.about-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.stat-item {
    text-align: center;
    padding: 25px;
    background: #f8f9fa;
    border-radius: 12px;
    transition: transform 0.3s, box-shadow 0.3s;
}

.stat-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(171, 71, 188, 0.15);
}

.stat-number {
    font-size: 36px;
    font-weight: 800;
    color: #AB47BC;
    margin-bottom: 8px;
}

.stat-label {
    font-size: 14px;
    color: #666;
    font-weight: 600;
}

.about-story-image {
    position: relative;
}

.about-story-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.image-decoration {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    border-radius: 20px;
    z-index: -1;
    opacity: 0.2;
}

/* Mission Section */
.about-mission {
    padding: 100px 0;
    background: #f8f9fa;
}

.about-mission-header {
    text-align: center;
    margin-bottom: 60px;
}

.mission-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.mission-card {
    background: #fff;
    padding: 40px 30px;
    border-radius: 16px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.mission-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(171, 71, 188, 0.2);
}

.mission-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 32px;
    color: #fff;
}

.mission-title {
    font-size: 22px;
    font-weight: 700;
    color: #333;
    margin: 0 0 15px 0;
}

.mission-text {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    margin: 0;
}

/* Values Section */
.about-values {
    padding: 100px 0;
    background: #fff;
}

.about-values-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.values-image {
    position: relative;
}

.values-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.values-badge {
    position: absolute;
    bottom: 30px;
    right: 30px;
    background: #fff;
    padding: 20px 30px;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 12px;
}

.values-badge i {
    font-size: 24px;
    color: #AB47BC;
}

.values-badge span {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

.values-content {
    padding-left: 20px;
}

.values-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
}

.value-item {
    display: flex;
    gap: 20px;
}

.value-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: #f8f9fa;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #AB47BC;
}

.value-content h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 8px 0;
}

.value-content p {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    margin: 0;
}

/* Team Section */
.about-team {
    padding: 100px 0;
    background: #f8f9fa;
}

.about-team-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-subtitle {
    font-size: 16px;
    color: #666;
    margin: 15px 0 0 0;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.team-member {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.team-member:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.member-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
}

.member-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.team-member:hover .member-image img {
    transform: scale(1.1);
}

.member-social {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    padding: 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s;
}

.team-member:hover .member-social {
    opacity: 1;
    transform: translateY(0);
}

.member-social a {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    transition: all 0.3s;
}

.member-social a:hover {
    background: #AB47BC;
    transform: translateY(-3px);
}

.member-info {
    padding: 25px 20px;
    text-align: center;
}

.member-name {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 8px 0;
}

.member-role {
    font-size: 14px;
    color: #AB47BC;
    font-weight: 600;
    margin: 0;
}

/* CTA Section */
.about-cta {
    padding: 100px 0;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    position: relative;
    overflow: hidden;
}

.about-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
    background-size: 50px 50px;
    opacity: 0.3;
}

.cta-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.cta-title {
    font-size: 42px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 20px 0;
}

.cta-text {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.95);
    margin: 0 0 40px 0;
    line-height: 1.7;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-btn {
    padding: 16px 40px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;
}

.cta-btn.primary {
    background: #fff;
    color: #AB47BC;
}

.cta-btn.primary:hover {
    background: #f0f0f0;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cta-btn.secondary {
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
}

.cta-btn.secondary:hover {
    background: #fff;
    color: #AB47BC;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Dark Mode */
body.dark-mode .about-page-wrapper {
    background: #1a1a1a;
}

body.dark-mode .about-story,
body.dark-mode .about-values {
    background: #1a1a1a;
}

body.dark-mode .about-mission,
body.dark-mode .about-team {
    background: #2a2a2a;
}

body.dark-mode .section-title,
body.dark-mode .mission-title,
body.dark-mode .value-content h4,
body.dark-mode .member-name {
    color: #e0e0e0;
}

body.dark-mode .section-text,
body.dark-mode .mission-text,
body.dark-mode .value-content p,
body.dark-mode .stat-label,
body.dark-mode .section-subtitle {
    color: #aaa;
}

body.dark-mode .stat-item,
body.dark-mode .mission-card,
body.dark-mode .team-member,
body.dark-mode .value-icon {
    background: #333;
}

body.dark-mode .values-badge {
    background: #333;
}

body.dark-mode .values-badge span {
    color: #e0e0e0;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .about-hero-title {
        font-size: 48px;
    }
    
    .section-title {
        font-size: 36px;
    }
    
    .about-story-grid,
    .about-values-grid {
        gap: 60px;
    }
}

@media (max-width: 1024px) {
    .about-hero {
        height: 400px;
    }
    
    .about-hero-title {
        font-size: 42px;
    }
    
    .about-story,
    .about-mission,
    .about-values,
    .about-team,
    .about-cta {
        padding: 80px 0;
    }
    
    .about-story-grid,
    .about-values-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .about-story-image img,
    .values-image img {
        height: 400px;
    }
    
    .mission-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .about-hero {
        height: 350px;
    }
    
    .about-hero-title {
        font-size: 36px;
    }
    
    .about-hero-subtitle {
        font-size: 16px;
    }
    
    .about-story,
    .about-mission,
    .about-values,
    .about-team,
    .about-cta {
        padding: 60px 0;
    }
    
    .section-title {
        font-size: 32px;
    }
    
    .cta-title {
        font-size: 32px;
    }
    
    .about-stats {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .about-story-image img,
    .values-image img {
        height: 300px;
    }
    
    .image-decoration {
        width: 150px;
        height: 150px;
        top: -15px;
        right: -15px;
    }
    
    .team-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-btn {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .about-hero-title {
        font-size: 28px;
    }
    
    .section-title {
        font-size: 26px;
    }
    
    .cta-title {
        font-size: 26px;
    }
    
    .about-story-content,
    .values-content {
        padding: 0;
    }
    
    .stat-number {
        font-size: 28px;
    }
    
    .mission-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }
}


/* ========================================
   Contact Page Styles
   ======================================== */

.contact-page-wrapper {
    background: #fff;
}

/* Contact Hero */
.contact-hero {
    position: relative;
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    overflow: hidden;
}

.contact-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
    background-size: 50px 50px;
    opacity: 0.3;
}

.contact-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
}

.contact-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    max-width: 700px;
    padding: 0 20px;
}

.contact-hero-title {
    font-size: 52px;
    font-weight: 800;
    margin: 0 0 20px 0;
    line-height: 1.2;
}

.contact-hero-subtitle {
    font-size: 18px;
    font-weight: 400;
    margin: 0 0 30px 0;
    opacity: 0.95;
}

.contact-hero-divider {
    width: 80px;
    height: 4px;
    background: #fff;
    margin: 0 auto;
    border-radius: 2px;
}

/* Contact Info Section */
.contact-info-section {
    padding: 80px 0;
    background: #f8f9fa;
    margin-top: -50px;
    position: relative;
    z-index: 10;
}

.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.contact-info-card {
    background: #fff;
    padding: 40px 30px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s, box-shadow 0.3s;
}

.contact-info-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(171, 71, 188, 0.2);
}

.info-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 28px;
    color: #fff;
}

.info-title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 15px 0;
}

.info-text {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin: 0;
}

.info-text a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
}

.info-text a:hover {
    color: #AB47BC;
}

/* Contact Form Section */
.contact-form-section {
    padding: 100px 0;
    background: #fff;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
    align-items: start;
}

.contact-form-wrapper {
    background: #fff;
}

.form-header {
    margin-bottom: 40px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.form-group .required {
    color: #AB47BC;
}

.form-control {
    padding: 14px 18px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
    transition: all 0.3s;
    background: #f8f9fa;
}

.form-control:focus {
    outline: none;
    border-color: #AB47BC;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(171, 71, 188, 0.1);
}

.form-control::placeholder {
    color: #aaa;
}

textarea.form-control {
    resize: vertical;
    min-height: 150px;
}

.form-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #AB47BC;
}

.form-checkbox label {
    font-size: 14px;
    color: #666;
    cursor: pointer;
    margin: 0;
}

.form-checkbox label a {
    color: #AB47BC;
    text-decoration: none;
}

.form-checkbox label a:hover {
    text-decoration: underline;
}

.submit-btn {
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    color: #fff;
    border: none;
    padding: 16px 40px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    overflow: hidden;
    align-self: flex-start;
}

.submit-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(171, 71, 188, 0.4);
}

.submit-btn .btn-icon {
    transition: transform 0.3s;
}

.submit-btn:hover .btn-icon {
    transform: translateX(5px);
}

.submit-btn.loading {
    pointer-events: none;
}

.submit-btn.loading .btn-text,
.submit-btn.loading .btn-icon {
    opacity: 0;
}

.submit-btn .btn-spinner {
    display: none;
    position: absolute;
    width: 22px;
    height: 22px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.submit-btn.loading .btn-spinner {
    display: block;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Success Modal */
.contact-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.contact-modal.active {
    display: flex;
}

.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(5px);
    animation: fadeIn 0.3s ease;
}

.modal-content {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 50px 40px;
    max-width: 500px;
    width: 100%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: slideUp 0.4s ease;
    z-index: 1;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: #f8f9fa;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    color: #666;
    font-size: 18px;
}

.modal-close:hover {
    background: #e5e5e5;
    transform: rotate(90deg);
}

.modal-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 40px;
    color: #fff;
    animation: scaleIn 0.5s ease 0.2s both;
}

@keyframes scaleIn {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}

.modal-title {
    font-size: 28px;
    font-weight: 800;
    color: #333;
    margin: 0 0 15px 0;
}

.modal-text {
    font-size: 16px;
    line-height: 1.7;
    color: #666;
    margin: 0 0 30px 0;
}

.modal-btn {
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
}

.modal-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(171, 71, 188, 0.4);
}

/* Contact Sidebar */
.contact-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: sticky;
    top: 100px;
}

.sidebar-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.sidebar-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.sidebar-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sidebar-content {
    padding: 30px;
}

.sidebar-content h3 {
    font-size: 22px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
}

.sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sidebar-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: #666;
}

.sidebar-list li i {
    color: #AB47BC;
    font-size: 18px;
    flex-shrink: 0;
}

.social-card {
    padding: 30px;
}

.social-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
}

.social-card p {
    font-size: 14px;
    color: #666;
    margin: 0 0 25px 0;
}

.social-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.social-link {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    transition: all 0.3s;
    text-decoration: none;
}

.social-link.facebook {
    background: #1877f2;
}

.social-link.twitter {
    background: #1da1f2;
}

.social-link.instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.social-link.linkedin {
    background: #0077b5;
}

.social-link.youtube {
    background: #ff0000;
}

.social-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Map Section */
.contact-map-section {
    background: #f8f9fa;
}

.map-wrapper {
    width: 100%;
    height: 500px;
}

.map-wrapper iframe {
    width: 100%;
    height: 100%;
    display: block;
}

/* FAQ Section */
.contact-faq-section {
    padding: 100px 0;
    background: #fff;
}

.faq-header {
    text-align: center;
    margin-bottom: 60px;
}

.faq-grid {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.faq-item {
    background: #fff;
    border: 2px solid #e5e5e5;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s;
}

.faq-item:hover {
    border-color: #AB47BC;
}

.faq-item.active {
    border-color: #AB47BC;
    box-shadow: 0 5px 20px rgba(171, 71, 188, 0.15);
}

.faq-question {
    padding: 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.faq-question h4 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
    flex: 1;
}

.faq-question i {
    font-size: 14px;
    color: #AB47BC;
    transition: transform 0.3s;
}

.faq-item.active .faq-question i {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.faq-item.active .faq-answer {
    max-height: 500px;
    transition: max-height 0.5s ease-in;
}

.faq-answer p {
    padding: 0 30px 25px;
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #666;
}

/* Dark Mode */
body.dark-mode .contact-page-wrapper {
    background: #1a1a1a;
}

body.dark-mode .contact-info-section,
body.dark-mode .contact-map-section {
    background: #2a2a2a;
}

body.dark-mode .contact-form-section,
body.dark-mode .contact-faq-section {
    background: #1a1a1a;
}

body.dark-mode .contact-info-card,
body.dark-mode .sidebar-card,
body.dark-mode .faq-item {
    background: #2a2a2a;
    border-color: #3a3a3a;
}

body.dark-mode .info-title,
body.dark-mode .form-group label,
body.dark-mode .sidebar-content h3,
body.dark-mode .social-card h3,
body.dark-mode .faq-question h4 {
    color: #e0e0e0;
}

body.dark-mode .info-text,
body.dark-mode .sidebar-list li,
body.dark-mode .social-card p,
body.dark-mode .faq-answer p,
body.dark-mode .form-checkbox label {
    color: #aaa;
}

body.dark-mode .info-text a {
    color: #aaa;
}

body.dark-mode .form-control {
    background: #333;
    border-color: #3a3a3a;
    color: #e0e0e0;
}

body.dark-mode .form-control:focus {
    background: #3a3a3a;
}

body.dark-mode .modal-content {
    background: #2a2a2a;
}

body.dark-mode .modal-title {
    color: #e0e0e0;
}

body.dark-mode .modal-text {
    color: #aaa;
}

body.dark-mode .modal-close {
    background: #333;
    color: #aaa;
}

body.dark-mode .modal-close:hover {
    background: #3a3a3a;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .contact-hero-title {
        font-size: 46px;
    }
    
    .contact-form-grid {
        gap: 50px;
    }
}

@media (max-width: 1024px) {
    .contact-hero {
        height: 400px;
    }
    
    .contact-hero-title {
        font-size: 40px;
    }
    
    .contact-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .contact-form-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .contact-sidebar {
        position: static;
    }
    
    .contact-info-section,
    .contact-form-section,
    .contact-faq-section {
        padding: 80px 0;
    }
}

@media (max-width: 768px) {
    .contact-hero {
        height: 350px;
    }
    
    .contact-hero-title {
        font-size: 36px;
    }
    
    .contact-hero-subtitle {
        font-size: 16px;
    }
    
    .contact-info-section {
        padding: 60px 0;
        margin-top: -30px;
    }
    
    .contact-info-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .contact-form-section,
    .contact-faq-section {
        padding: 60px 0;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .submit-btn {
        width: 100%;
    }
    
    .map-wrapper {
        height: 350px;
    }
    
    .faq-question {
        padding: 20px;
    }
    
    .faq-question h4 {
        font-size: 16px;
    }
    
    .faq-answer p {
        padding: 0 20px 20px;
    }
}

@media (max-width: 480px) {
    .contact-hero-title {
        font-size: 28px;
    }
    
    .contact-info-card {
        padding: 30px 20px;
    }
    
    .info-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }
    
    .sidebar-content,
    .social-card {
        padding: 25px;
    }
    
    .modal-content {
        padding: 40px 30px;
    }
    
    .modal-icon {
        width: 70px;
        height: 70px;
        font-size: 35px;
    }
    
    .modal-title {
        font-size: 24px;
    }
    
    .modal-text {
        font-size: 15px;
    }
}


/* ========================================
   Legal Pages Styles (Privacy, Terms, Affiliate)
   ======================================== */

.legal-page-wrapper {
    background: #fff;
}

/* Legal Hero */
.legal-hero {
    position: relative;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    overflow: hidden;
}

.legal-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
    background-size: 50px 50px;
    opacity: 0.3;
}

.legal-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
}

.legal-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    max-width: 700px;
    padding: 0 20px;
}

.legal-hero-title {
    font-size: 48px;
    font-weight: 800;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.legal-hero-subtitle {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    opacity: 0.95;
}

/* Legal Content Section */
.legal-content-section {
    padding: 80px 0;
    background: #f8f9fa;
}

.legal-content-wrapper {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 50px;
    align-items: start;
}

/* Legal Sidebar */
.legal-sidebar {
    position: sticky;
    top: 100px;
}

.legal-nav-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.legal-nav-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #AB47BC;
}

.legal-nav {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.legal-nav-link {
    padding: 10px 15px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.3s;
    display: block;
}

.legal-nav-link:hover {
    background: #f8f9fa;
    color: #AB47BC;
    padding-left: 20px;
}

.legal-nav-link.active {
    background: #AB47BC;
    color: #fff;
}

/* Legal Main Content */
.legal-main-content {
    background: #fff;
    border-radius: 12px;
    padding: 50px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.legal-section {
    margin-bottom: 50px;
    scroll-margin-top: 100px;
}

.legal-section:last-child {
    margin-bottom: 0;
}

.legal-section h2 {
    font-size: 32px;
    font-weight: 800;
    color: #333;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 3px solid #AB47BC;
}

.legal-section h3 {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 30px 0 15px 0;
}

.legal-section h4 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 20px 0 10px 0;
}

.legal-section p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin: 0 0 15px 0;
}

.legal-section ul,
.legal-section ol {
    margin: 15px 0;
    padding-left: 30px;
}

.legal-section li {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 10px;
}

.legal-section li strong {
    color: #333;
    font-weight: 700;
}

/* Contact Info Box */
.contact-info-box {
    background: #f8f9fa;
    border-left: 4px solid #AB47BC;
    padding: 25px;
    border-radius: 8px;
    margin-top: 20px;
}

.contact-info-box p {
    margin: 0 0 10px 0;
    font-size: 15px;
}

.contact-info-box p:last-child {
    margin-bottom: 0;
}

.contact-info-box a {
    color: #AB47BC;
    text-decoration: none;
    font-weight: 600;
}

.contact-info-box a:hover {
    text-decoration: underline;
}

/* Info Box */
.info-box {
    background: #e3f2fd;
    border-left: 4px solid #2196f3;
    padding: 20px 25px;
    border-radius: 8px;
    margin: 25px 0;
    display: flex;
    gap: 15px;
    align-items: start;
}

.info-box i {
    font-size: 24px;
    color: #2196f3;
    flex-shrink: 0;
    margin-top: 2px;
}

.info-box p {
    margin: 0;
    flex: 1;
}

/* Affiliate Program List */
.affiliate-program-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 25px;
}

.affiliate-program-item {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 12px;
    border-left: 4px solid #AB47BC;
}

.affiliate-program-item h3 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 12px 0;
}

.affiliate-program-item p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
}

/* Transparency Grid */
.transparency-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-top: 25px;
}

.transparency-item {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 12px;
    display: flex;
    gap: 15px;
    align-items: start;
}

.transparency-item i {
    font-size: 28px;
    color: #AB47BC;
    flex-shrink: 0;
}

.transparency-item h4 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 8px 0;
}

.transparency-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

/* Thank You Box */
.thank-you-box {
    background: linear-gradient(135deg, #AB47BC 0%, #8E24AA 100%);
    color: #fff;
    padding: 30px;
    border-radius: 12px;
    margin-top: 25px;
    text-align: center;
}

.thank-you-box h3 {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 15px 0;
}

.thank-you-box p {
    margin: 0;
    color: rgba(255, 255, 255, 0.95);
    font-size: 16px;
    line-height: 1.7;
}

/* FAQ Items in Legal Pages */
.legal-section .faq-item {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 20px;
    border: none;
}

.legal-section .faq-item h4 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 12px 0;
}

.legal-section .faq-item p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
}

/* Dark Mode */
body.dark-mode .legal-page-wrapper {
    background: #1a1a1a;
}

body.dark-mode .legal-content-section {
    background: #1a1a1a;
}

body.dark-mode .legal-nav-card,
body.dark-mode .legal-main-content {
    background: #2a2a2a;
}

body.dark-mode .legal-nav-card h3,
body.dark-mode .legal-section h2,
body.dark-mode .legal-section h3,
body.dark-mode .legal-section h4,
body.dark-mode .affiliate-program-item h3,
body.dark-mode .transparency-item h4,
body.dark-mode .legal-section .faq-item h4 {
    color: #e0e0e0;
}

body.dark-mode .legal-nav-link {
    color: #aaa;
}

body.dark-mode .legal-nav-link:hover {
    background: #333;
    color: #AB47BC;
}

body.dark-mode .legal-section p,
body.dark-mode .legal-section li {
    color: #aaa;
}

body.dark-mode .legal-section li strong {
    color: #e0e0e0;
}

body.dark-mode .contact-info-box,
body.dark-mode .affiliate-program-item,
body.dark-mode .transparency-item,
body.dark-mode .legal-section .faq-item {
    background: #333;
}

body.dark-mode .info-box {
    background: rgba(33, 150, 243, 0.1);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .legal-hero {
        height: 350px;
    }
    
    .legal-hero-title {
        font-size: 40px;
    }
    
    .legal-content-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .legal-sidebar {
        position: static;
    }
    
    .legal-main-content {
        padding: 40px;
    }
    
    .transparency-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .legal-hero {
        height: 300px;
    }
    
    .legal-hero-title {
        font-size: 32px;
    }
    
    .legal-hero-subtitle {
        font-size: 14px;
    }
    
    .legal-content-section {
        padding: 60px 0;
    }
    
    .legal-main-content {
        padding: 30px 25px;
    }
    
    .legal-section {
        margin-bottom: 40px;
    }
    
    .legal-section h2 {
        font-size: 26px;
    }
    
    .legal-section h3 {
        font-size: 20px;
    }
    
    .legal-section h4 {
        font-size: 16px;
    }
    
    .legal-section p,
    .legal-section li {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .legal-hero-title {
        font-size: 26px;
    }
    
    .legal-main-content {
        padding: 25px 20px;
    }
    
    .legal-section h2 {
        font-size: 22px;
    }
    
    .contact-info-box,
    .affiliate-program-item,
    .transparency-item,
    .info-box,
    .thank-you-box {
        padding: 20px;
    }
}


/* ============================================
   Mobile Responsive Optimization
   手机端响应式优化
   ============================================ */

@media (max-width: 768px) {
    /* User Menu Dropdown - 手机端优化 */
    .user-dropdown {
        position: fixed;
        top: auto;
        right: 10px;
        left: 10px;
        width: auto;
        max-width: 400px;
        margin: 0 auto;
        transform: translateY(0);
    }
    
    .user-menu.active .user-dropdown {
        top: 70px;
    }
    
    .user-dropdown-header {
        padding: 20px 15px;
    }
    
    .user-dropdown-header img {
        width: 48px;
        height: 48px;
    }
    
    .user-info strong {
        font-size: 14px;
    }
    
    .user-info span {
        font-size: 11px;
    }
    
    .user-dropdown-menu a {
        padding: 12px 15px;
        font-size: 13px;
    }
    
    .user-dropdown-footer {
        padding: 10px;
    }
    
    .logout-link {
        padding: 10px 15px;
        font-size: 13px;
    }
    
    /* Footer Content - 手机端优化 */
    .footer-content {
        padding: 40px 0;
    }
    
    .footer-wrapper {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .footer-section {
        text-align: center;
    }
    
    .footer-logo {
        justify-content: center;
    }
    
    .footer-description {
        max-width: 100%;
    }
    
    .footer-posts-list,
    .footer-links-list {
        max-width: 100%;
    }
    
    .footer-post-item,
    .footer-link {
        text-align: left;
    }
    
    .footer-title {
        width: 100%;
        text-align: center;
    }
    
    /* Footer Newsletter */
    .footer-newsletter {
        max-width: 100%;
    }
    
    .newsletter-form {
        width: 100%;
    }
    
    /* Footer Bottom */
    .footer-bottom {
        padding: 15px 0;
    }
    
    .copyright {
        font-size: 12px;
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    /* Extra small screens - 超小屏幕优化 */
    .user-dropdown {
        right: 5px;
        left: 5px;
    }
    
    .user-dropdown-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .user-info {
        align-items: center;
    }
    
    .footer-content {
        padding: 30px 0;
    }
    
    .footer-wrapper {
        gap: 25px;
    }
    
    .footer-section {
        padding: 0 15px;
    }
}


/* ============================================
   Comments Form Mobile Optimization
   评论表单手机端优化
   ============================================ */
@media (max-width: 768px) {
    /* Comments Area */
    .comments-area {
        padding: 30px 20px !important;
        margin: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    .comment-respond {
        padding: 20px !important;
        max-width: 100% !important;
        background: #fff !important;
        border-radius: 12px !important;
    }
    
    .comment-reply-title {
        font-size: 20px !important;
        margin-bottom: 20px !important;
        word-wrap: break-word !important;
    }
    
    /* Comment Form */
    .comment-form {
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    .comment-form p {
        margin-bottom: 20px !important;
        max-width: 100% !important;
    }
    
    .logged-in-as {
        font-size: 13px !important;
        line-height: 1.8 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        padding: 15px !important;
        background: #f8f9fa !important;
        border-radius: 8px !important;
        border-left: 3px solid #AB47BC !important;
    }
    
    .logged-in-as a {
        word-break: break-all !important;
    }
    
    /* Comment Textarea */
    .comment-form-comment {
        max-width: 100% !important;
    }
    
    .comment-form-comment label {
        display: block !important;
        margin-bottom: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }
    
    .comment-form-comment textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
        padding: 15px !important;
        font-size: 14px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        resize: vertical !important;
        line-height: 1.6 !important;
    }
    
    /* Other Form Fields */
    .comment-form-author,
    .comment-form-email,
    .comment-form-url {
        max-width: 100% !important;
    }
    
    .comment-form-author label,
    .comment-form-email label,
    .comment-form-url label {
        display: block !important;
        margin-bottom: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }
    
    .comment-form-author input,
    .comment-form-email input,
    .comment-form-url input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 15px !important;
        font-size: 14px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
    }
    
    /* Submit Button */
    .form-submit {
        max-width: 100% !important;
        margin: 0 !important;
    }
    
    .form-submit button,
    .form-submit .submit {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        border: none !important;
        border-radius: 8px !important;
        background: #AB47BC !important;
        color: #fff !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
    }
    
    .form-submit button:hover,
    .form-submit .submit:hover {
        background: #8E24AA !important;
        transform: translateY(-2px) !important;
    }
    
    /* Required Field Message */
    .required-field-message {
        display: block !important;
        margin-top: 10px !important;
        font-size: 12px !important;
        color: #666 !important;
    }
    
    .required {
        color: #AB47BC !important;
        font-weight: 700 !important;
    }
}

@media (max-width: 480px) {
    /* Extra small screens */
    .comments-area {
        padding: 25px 15px !important;
    }
    
    .comment-reply-title {
        font-size: 18px !important;
    }
    
    .logged-in-as {
        font-size: 12px !important;
        padding: 12px !important;
    }
    
    .comment-form-comment textarea {
        padding: 12px !important;
        font-size: 13px !important;
    }
    
    .comment-form-author input,
    .comment-form-email input,
    .comment-form-url input {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
    
    .form-submit button,
    .form-submit .submit {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }
}


/* ============================================
   Related Posts Mobile Optimization
   相关文章手机端优化
   ============================================ */
@media (max-width: 768px) {
    .related-posts-section {
        padding: 30px 15px !important;
    }
    
    .related-posts-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
    
    .related-post-card {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .post-card-thumb {
        width: 100% !important;
        height: 180px !important;
    }
    
    .post-card-thumb img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .post-category {
        font-size: 10px !important;
        padding: 4px 8px !important;
    }
    
    .post-card-info {
        padding: 12px !important;
    }
    
    .post-title {
        font-size: 13px !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    
    .post-meta {
        font-size: 11px !important;
        gap: 8px !important;
    }
    
    .post-meta i {
        font-size: 10px !important;
    }
}

@media (max-width: 480px) {
    /* 超小屏幕保持2列 */
    .related-posts-grid {
        gap: 12px !important;
    }
    
    .post-card-thumb {
        height: 120px !important;
    }
    
    .post-card-info {
        padding: 10px !important;
    }
    
    .post-title {
        font-size: 12px !important;
    }
    
    .post-meta {
        font-size: 10px !important;
    }
}


/* ============================================
   Related Posts Desktop Optimization
   相关文章电脑端优化 - 完整显示图片
   ============================================ */
.related-post-card .post-card-thumb {
    position: relative;
    height: 290px;
    overflow: hidden;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

.related-post-card .post-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    background: #fff;
}

/* 暗黑模式 */
body.dark-mode .related-post-card .post-card-thumb {
    background: #2a2a2a;
}

body.dark-mode .related-post-card .post-card-thumb img {
    background: #333;
}

/* ============================================
   Emoji 图标大小修复
   ============================================ */
/* 限制所有 emoji 图标的大小 */
img.emoji {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    vertical-align: -0.1em !important;
    margin: 0 0.05em 0 0.1em !important;
    border: none !important;
    box-shadow: none !important;
}

/* 项目优势列表中的 emoji */
.advantage-icon img.emoji,
.advantage-item img.emoji {
    width: 1em !important;
    height: 1em !important;
}

/* 购买按钮中的 emoji */
.inquiry-btn img.emoji,
.inquiry-btn span img.emoji {
    width: 1.2em !important;
    height: 1.2em !important;
    vertical-align: middle !important;
    margin-right: 0.3em !important;
}

/* ============================================
   后台管理表格样式
   ============================================ */
.wp-list-table td {
    vertical-align: top;
}

.wp-list-table details summary {
    font-weight: 600;
}

.wp-list-table details[open] summary {
    margin-bottom: 10px;
}


/* ============================================
   Breadcrumb Navigation Styles
   ============================================ */

.breadcrumb-nav {
    margin-bottom: 20px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.breadcrumb-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 8px;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
}

.breadcrumb-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 6px;
    text-decoration: none;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    background: transparent;
}

.breadcrumb-link:hover {
    background: #f8f4fc;
    color: #AB47BC;
}

.breadcrumb-link i {
    font-size: 13px;
    color: #AB47BC;
    transition: transform 0.3s ease;
}

.breadcrumb-link:hover i {
    transform: scale(1.1);
}

.breadcrumb-separator {
    display: flex;
    align-items: center;
    color: #d0d0d0;
    font-size: 11px;
    margin: 0 2px;
}

.breadcrumb-separator i {
    opacity: 0.5;
}

.breadcrumb-current {
    color: #333;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 12px;
    background: linear-gradient(135deg, #f8f4fc 0%, #faf7fd 100%);
    border-radius: 6px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.breadcrumb-current span {
    display: inline-block;
}

/* Dark Mode Support */
body.dark-mode .breadcrumb-nav {
    border-bottom-color: #2a2a2a;
}

body.dark-mode .breadcrumb-link {
    color: #b0b0b0;
}

body.dark-mode .breadcrumb-link:hover {
    background: #2a2a2a;
    color: #BA68C8;
}

body.dark-mode .breadcrumb-link i {
    color: #BA68C8;
}

body.dark-mode .breadcrumb-separator {
    color: #4a4a4a;
}

body.dark-mode .breadcrumb-current {
    color: #e0e0e0;
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%);
}

/* Responsive Design */
@media (max-width: 768px) {
    .breadcrumb-nav {
        margin-bottom: 15px;
        padding: 10px 0;
    }
    
    .breadcrumb-link {
        padding: 5px 10px;
        font-size: 13px;
        gap: 5px;
    }
    
    .breadcrumb-link i {
        font-size: 12px;
    }
    
    .breadcrumb-current {
        font-size: 13px;
        padding: 5px 10px;
        max-width: 200px;
    }
    
    .breadcrumb-separator {
        font-size: 10px;
        margin: 0 1px;
    }
}

@media (max-width: 480px) {
    .breadcrumb-link span {
        display: none;
    }
    
    .breadcrumb-link {
        padding: 6px 8px;
    }
    
    .breadcrumb-link i {
        margin: 0;
    }
    
    .breadcrumb-current {
        max-width: 150px;
        font-size: 12px;
    }
}
