/* Bootstrap 5 自定义样式覆盖 */

/* 覆盖Bootstrap主题颜色 */
:root {
    --bs-primary: #2E7D32;
    --bs-primary-rgb: 46, 125, 50;
    --bs-secondary: #8D6E63;
    --bs-success: #4CAF50;
    --bs-info: #2196F3;
    --bs-warning: #FF9800;
    --bs-danger: #F44336;
    --bs-light: #F5F5F5;
    --bs-dark: #212121;
    
    /* 字体 */
    --bs-font-sans-serif: 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #333333;
    --bs-body-bg: #FFFFFF;
    
    /* 链接 */
    --bs-link-color: #2E7D32;
    --bs-link-hover-color: #1B5E20;
    
    /* 边框 */
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #E0E0E0;
    --bs-border-radius: 8px;
    --bs-border-radius-sm: 4px;
    --bs-border-radius-lg: 12px;
    --bs-border-radius-xl: 16px;
    
    /* 阴影 */
    --bs-box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    --bs-box-shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
    --bs-box-shadow-lg: 0 8px 16px rgba(0,0,0,0.15);
    
    /* 按钮 */
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-border-radius: 8px;
    
    /* 卡片 */
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
    --bs-card-title-spacer-y: 1rem;
    --bs-card-border-width: 1px;
    --bs-card-border-color: #E0E0E0;
    --bs-card-border-radius: 12px;
    --bs-card-box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1.5rem;
    --bs-card-cap-bg: #FFFFFF;
    --bs-card-bg: #FFFFFF;
    
    /* 表单 */
    --bs-form-control-bg: #FFFFFF;
    --bs-form-control-border-color: #E0E0E0;
    --bs-form-control-focus-border-color: #2E7D32;
    --bs-form-control-focus-box-shadow: 0 0 0 0.25rem rgba(46, 125, 50, 0.25);
}

/* 导航栏自定义 */
.navbar-dark {
    --bs-navbar-color: rgba(255, 255, 255, 0.85);
    --bs-navbar-hover-color: rgba(255, 255, 255, 1);
    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.5);
    --bs-navbar-active-color: rgba(255, 255, 255, 1);
    --bs-navbar-brand-color: rgba(255, 255, 255, 1);
    --bs-navbar-brand-hover-color: rgba(255, 255, 255, 1);
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* 下拉菜单自定义 */
.dropdown-menu {
    --bs-dropdown-link-active-bg: #2E7D32;
    --bs-dropdown-link-active-color: #FFFFFF;
    border: none;
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}

/* 表单自定义 */
.form-control:focus {
    border-color: #2E7D32;
    box-shadow: 0 0 0 0.25rem rgba(46, 125, 50, 0.25);
}

.form-select:focus {
    border-color: #2E7D32;
    box-shadow: 0 0 0 0.25rem rgba(46, 125, 50, 0.25);
}

/* 卡片自定义 */
.card {
    border: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}

/* 按钮组自定义 */
.btn-group .btn-primary:not(:first-child) {
    border-left-color: rgba(255, 255, 255, 0.2);
}

/* 模态框自定义 */
.modal-content {
    border: none;
    box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}

.modal-header {
    background-color: #2E7D32;
    color: #FFFFFF;
    border-bottom: none;
}

.modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* 轮播图自定义 */
.carousel-control-prev,
.carousel-control-next {
    width: 50px;
    height: 50px;
    background-color: rgba(46, 125, 50, 0.8);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.8;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    background-color: #2E7D32;
    opacity: 1;
}

.carousel-indicators [data-bs-target] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(46, 125, 50, 0.5);
    border: none;
}

.carousel-indicators .active {
    background-color: #2E7D32;
}

/* 进度条自定义 */
.progress {
    background-color: #E0E0E0;
}

.progress-bar {
    background-color: #2E7D32;
}

/* 警告框自定义 */
.alert-primary {
    --bs-alert-color: #1B5E20;
    --bs-alert-bg: #C8E6C9;
    --bs-alert-border-color: #81C784;
}

/* 面包屑导航自定义 */
.breadcrumb {
    --bs-breadcrumb-divider-color: #666666;
    --bs-breadcrumb-item-active-color: #2E7D32;
}

.breadcrumb-item a {
    color: #666666;
    text-decoration: none;
}

.breadcrumb-item a:hover {
    color: #2E7D32;
}

/* 分页自定义 */
.page-link {
    color: #2E7D32;
    border-color: #E0E0E0;
}

.page-link:hover {
    color: #1B5E20;
    background-color: #F5F5F5;
    border-color: #E0E0E0;
}

.page-item.active .page-link {
    background-color: #2E7D32;
    border-color: #2E7D32;
    color: #FFFFFF;
}

/* 工具提示自定义 */
.tooltip {
    --bs-tooltip-bg: #2E7D32;
}

/* 弹出框自定义 */
.popover {
    --bs-popover-border-color: #2E7D32;
    --bs-popover-header-bg: #2E7D32;
    --bs-popover-header-color: #FFFFFF;
}

/* 响应式表格 */
.table-responsive {
    border-radius: 8px;
    overflow: hidden;
}

.table {
    --bs-table-striped-bg: rgba(46, 125, 50, 0.05);
    --bs-table-hover-bg: rgba(46, 125, 50, 0.1);
}

.table thead {
    background-color: #2E7D32;
    color: #FFFFFF;
}

/* 手风琴自定义 */
.accordion-button {
    background-color: #F5F5F5;
    color: #333333;
    font-weight: 500;
}

.accordion-button:not(.collapsed) {
    background-color: #C8E6C9;
    color: #1B5E20;
}

.accordion-button:focus {
    border-color: #2E7D32;
    box-shadow: 0 0 0 0.25rem rgba(46, 125, 50, 0.25);
}

.accordion-body {
    background-color: #FFFFFF;
}

/* 列表组自定义 */
.list-group-item {
    border-color: #E0E0E0;
}

.list-group-item.active {
    background-color: #2E7D32;
    border-color: #2E7D32;
}

/* 徽章自定义 */
.badge.bg-primary {
    background-color: #2E7D32 !important;
}

/* 关闭按钮自定义 */
.btn-close:focus {
    box-shadow: 0 0 0 0.25rem rgba(46, 125, 50, 0.25);
}

/* 表单验证样式 */
.was-validated .form-control:valid,
.form-control.is-valid {
    border-color: #4CAF50;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%234CAF50' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
    border-color: #F44336;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23F44336'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23F44336' stroke='none'/%3e%3c/svg%3e");
}

/* 自定义农业主题类 */
.agriculture-bg {
    background: linear-gradient(135deg, #2E7D32, #81C784);
    color: #FFFFFF;
}

.agriculture-border {
    border: 2px solid #2E7D32;
}

.agriculture-text {
    color: #2E7D32;
}

.agriculture-shadow {
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.2);
}

/* 农业图标样式 */
.agriculture-icon {
    color: #2E7D32;
    font-size: 1.5rem;
}

.agriculture-icon-lg {
    color: #2E7D32;
    font-size: 2.5rem;
}

/* 农业按钮变体 */
.btn-agriculture {
    background: linear-gradient(135deg, #2E7D32, #81C784);
    border: none;
    color: #FFFFFF;
    font-weight: 500;
    padding: 0.875rem 2rem;
    transition: all 0.3s ease;
}

.btn-agriculture:hover {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
    color: #FFFFFF;
}

/* 农业卡片变体 */
.card-agriculture {
    border-top: 4px solid #2E7D32;
    background: linear-gradient(to bottom, #FFFFFF, #F9F9F9);
}

/* 响应式调整 */
@media (max-width: 768px) {
    .btn-agriculture {
        padding: 0.75rem 1.5rem;
    }
    
    .agriculture-icon-lg {
        font-size: 2rem;
    }
}

@media (max-width: 576px) {
    .btn-agriculture {
        width: 100%;
        max-width: 300px;
    }
}