/* IHRO West Africa - Page Projets (styles specifiques) */

.bg-primary-custom {
background: linear-gradient(135deg, var(--primary-color) 0%, #2c5282 100%);
}


.text-accent {
color: var(--accent-color) !important;
}

.btn-accent {
background-color: var(--accent-color);
border-color: var(--accent-color);
color: white;
font-weight: 600;
border-radius: 25px;
padding: 10px 30px;
transition: all 0.3s ease;
}

.btn-accent:hover {
background-color: #e6851e;
border-color: #e6851e;
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(247, 147, 30, 0.4);
}

.hero-section {
background: linear-gradient(135deg, var(--primary-color) 0%, #2c5282 100%);
color: white;
padding: 80px 0;
position: relative;
overflow: hidden;
}

.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="0.5"/></svg>');
background-size: 100px 100px;
opacity: 0.3;
}

.hero-content {
position: relative;
z-index: 1;
}

.stat-card {
background: white;
border-radius: 15px;
padding: 25px;
text-align: center;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
border-top: 4px solid var(--accent-color);
}

.stat-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.stat-icon {
font-size: 3rem;
margin-bottom: 15px;
}

.stat-number {
font-size: 2.5rem;
font-weight: 700;
color: var(--primary-color);
}

.stat-label {
color: #666;
font-size: 1rem;
margin-top: 10px;
}

.section-title {
color: var(--primary-color);
font-weight: 700;
margin-bottom: 1rem;
position: relative;
padding-bottom: 15px;
}

.section-title::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 4px;
background: linear-gradient(90deg, var(--accent-color), var(--primary-color));
border-radius: 2px;
}

.project-card {
background: white;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
height: 100%;
}

.project-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.project-image {
height: 200px;
object-fit: cover;
width: 100%;
}

.project-status {
position: absolute;
top: 15px;
right: 15px;
padding: 8px 15px;
border-radius: 20px;
font-size: 0.85rem;
font-weight: 600;
text-transform: uppercase;
}

.status-ongoing {
background: linear-gradient(135deg, var(--warning-color), #ffca2c);
color: #333;
}

.status-completed {
background: linear-gradient(135deg, var(--success-color), #20c997);
color: white;
}

.status-planned {
background: linear-gradient(135deg, var(--info-color), #0dcaf0);
color: white;
}

.project-content {
padding: 25px;
}

.project-title {
color: var(--primary-color);
font-weight: 700;
font-size: 1.25rem;
margin-bottom: 15px;
}

.project-meta {
display: flex;
gap: 15px;
margin-bottom: 15px;
flex-wrap: wrap;
}

.project-meta-item {
display: flex;
align-items: center;
gap: 5px;
color: #666;
font-size: 0.9rem;
}

.project-meta-item i {
color: var(--accent-color);
}

.project-description {
color: #555;
line-height: 1.7;
margin-bottom: 20px;
}

.progress {
height: 8px;
border-radius: 10px;
background: #e9ecef;
overflow: hidden;
}

.progress-bar {
background: linear-gradient(90deg, var(--accent-color), var(--primary-color));
border-radius: 10px;
}

.form-section {
background: white;
border-radius: 20px;
padding: 40px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.form-card {
border: none;
border-radius: 15px;
overflow: hidden;
}

.form-card-header {
background: linear-gradient(135deg, var(--primary-color), #2c5282);
color: white;
padding: 20px 25px;
font-weight: 600;
font-size: 1.1rem;
}

.form-control, .form-select {
border-radius: 10px;
padding: 12px 15px;
border: 2px solid #e9ecef;
transition: all 0.3s ease;
}

.form-control:focus, .form-select:focus {
border-color: var(--accent-color);
box-shadow: 0 0 0 0.2rem rgba(247, 147, 30, 0.25);
}

.form-label {
font-weight: 600;
color: var(--primary-color);
margin-bottom: 8px;
}

.required-field::after {
content: ' *';
color: #dc3545;
}

.alert {
border-radius: 15px;
padding: 20px 25px;
margin-bottom: 30px;
border: none;
font-weight: 500;
}

.alert-success {
background: linear-gradient(135deg, #d4edda, #c3e6cb);
color: #155724;
border-left: 5px solid var(--success-color);
}

.alert-error {
background: linear-gradient(135deg, #f8d7da, #f5c6cb);
color: #721c24;
border-left: 5px solid #dc3545;
}

.modal-content {
border: none;
border-radius: 20px;
overflow: hidden;
}

.modal-header {
background: linear-gradient(135deg, var(--primary-color), #2c5282);
color: white;
border: none;
}

.modal-header .btn-close {
filter: brightness(0) invert(1);
}

.nav-tabs {
border: none;
gap: 10px;
justify-content: center;
margin-bottom: 30px;
}

.nav-tabs .nav-link {
border: none;
border-radius: 30px;
padding: 15px 30px;
font-weight: 600;
color: var(--primary-color);
background: white;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
}

.nav-tabs .nav-link:hover {
background: var(--light-bg);
}

.nav-tabs .nav-link.active {
background: linear-gradient(135deg, var(--accent-color), #e6851e);
color: white;
box-shadow: 0 5px 20px rgba(247, 147, 30, 0.4);
}

footer {
background: linear-gradient(135deg, var(--primary-color), #2c5282);
color: white;
margin-top: 80px;
}

@media (max-width: 768px) {
.hero-section {
padding: 50px 0;
}

.stat-card {
margin-bottom: 20px;
}

.form-section {
padding: 25px;
}

.nav-tabs .nav-link {
padding: 12px 20px;
font-size: 0.9rem;
}
}
