328 lines
		
	
	
		
			No EOL
		
	
	
		
			4.7 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			328 lines
		
	
	
		
			No EOL
		
	
	
		
			4.7 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| :root {
 | |
|   --primary-color: #2c3e50;
 | |
|   --secondary-color: #3498db;
 | |
|   --accent-color: #e74c3c;
 | |
|   --text-color: #333;
 | |
|   --light-gray: #f5f6fa;
 | |
|   --border-color: #dcdde1;
 | |
|   --success-color: #27ae60;
 | |
|   --warning-color: #f1c40f;
 | |
|   --error-color: #c0392b;
 | |
| }
 | |
| 
 | |
| /* Reset et styles de base */
 | |
| * {
 | |
|   margin: 0;
 | |
|   padding: 0;
 | |
|   box-sizing: border-box;
 | |
| }
 | |
| 
 | |
| body {
 | |
|   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
 | |
|   line-height: 1.6;
 | |
|   color: var(--text-color);
 | |
|   background-color: var(--light-gray);
 | |
| }
 | |
| 
 | |
| /* Layout */
 | |
| .container {
 | |
|   max-width: 1200px;
 | |
|   margin: 0 auto;
 | |
|   padding: 0 1rem;
 | |
| }
 | |
| 
 | |
| /* Navigation */
 | |
| .navbar {
 | |
|   background-color: var(--primary-color);
 | |
|   padding: 1rem 0;
 | |
|   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | |
| }
 | |
| 
 | |
| .navbar-container {
 | |
|   display: flex;
 | |
|   justify-content: space-between;
 | |
|   align-items: center;
 | |
| }
 | |
| 
 | |
| .navbar-brand {
 | |
|   color: white;
 | |
|   text-decoration: none;
 | |
|   font-size: 1.5rem;
 | |
|   font-weight: bold;
 | |
| }
 | |
| 
 | |
| .navbar-menu {
 | |
|   display: flex;
 | |
|   gap: 1.5rem;
 | |
| }
 | |
| 
 | |
| .navbar-link {
 | |
|   color: white;
 | |
|   text-decoration: none;
 | |
|   padding: 0.5rem 1rem;
 | |
|   border-radius: 4px;
 | |
|   transition: background-color 0.3s;
 | |
| }
 | |
| 
 | |
| .navbar-link:hover {
 | |
|   background-color: rgba(255, 255, 255, 0.1);
 | |
| }
 | |
| 
 | |
| /* Cards */
 | |
| .card {
 | |
|   background: white;
 | |
|   border-radius: 8px;
 | |
|   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | |
|   padding: 1.5rem;
 | |
|   margin-bottom: 1.5rem;
 | |
| }
 | |
| 
 | |
| .card-title {
 | |
|   font-size: 1.25rem;
 | |
|   margin-bottom: 1rem;
 | |
|   color: var(--primary-color);
 | |
| }
 | |
| 
 | |
| /* Forms */
 | |
| .form-group {
 | |
|   margin-bottom: 1rem;
 | |
| }
 | |
| 
 | |
| .form-label {
 | |
|   display: block;
 | |
|   margin-bottom: 0.5rem;
 | |
|   font-weight: 500;
 | |
| }
 | |
| 
 | |
| .form-control {
 | |
|   width: 100%;
 | |
|   padding: 0.75rem;
 | |
|   border: 1px solid var(--border-color);
 | |
|   border-radius: 4px;
 | |
|   font-size: 1rem;
 | |
|   transition: border-color 0.3s;
 | |
| }
 | |
| 
 | |
| .form-control:focus {
 | |
|   outline: none;
 | |
|   border-color: var(--secondary-color);
 | |
| }
 | |
| 
 | |
| /* Buttons */
 | |
| .btn {
 | |
|   display: inline-block;
 | |
|   padding: 0.75rem 1.5rem;
 | |
|   border: none;
 | |
|   border-radius: 4px;
 | |
|   font-size: 1rem;
 | |
|   font-weight: 500;
 | |
|   text-align: center;
 | |
|   text-decoration: none;
 | |
|   cursor: pointer;
 | |
|   transition: background-color 0.3s, transform 0.2s;
 | |
| }
 | |
| 
 | |
| .btn-primary {
 | |
|   background-color: var(--secondary-color);
 | |
|   color: white;
 | |
| }
 | |
| 
 | |
| .btn-primary:hover {
 | |
|   background-color: #2980b9;
 | |
|   transform: translateY(-1px);
 | |
| }
 | |
| 
 | |
| .btn-secondary {
 | |
|   background-color: var(--primary-color);
 | |
|   color: white;
 | |
| }
 | |
| 
 | |
| .btn-secondary:hover {
 | |
|   background-color: #2c3e50;
 | |
|   transform: translateY(-1px);
 | |
| }
 | |
| 
 | |
| /* Alerts */
 | |
| .alert {
 | |
|   padding: 1rem;
 | |
|   border-radius: 4px;
 | |
|   margin-bottom: 1rem;
 | |
| }
 | |
| 
 | |
| .alert-success {
 | |
|   background-color: #d4edda;
 | |
|   color: var(--success-color);
 | |
|   border: 1px solid #c3e6cb;
 | |
| }
 | |
| 
 | |
| .alert-warning {
 | |
|   background-color: #fff3cd;
 | |
|   color: var(--warning-color);
 | |
|   border: 1px solid #ffeeba;
 | |
| }
 | |
| 
 | |
| .alert-error {
 | |
|   background-color: #f8d7da;
 | |
|   color: var(--error-color);
 | |
|   border: 1px solid #f5c6cb;
 | |
| }
 | |
| 
 | |
| /* Grid */
 | |
| .grid {
 | |
|   display: grid;
 | |
|   gap: 1.5rem;
 | |
| }
 | |
| 
 | |
| .grid-2 {
 | |
|   grid-template-columns: repeat(2, 1fr);
 | |
| }
 | |
| 
 | |
| .grid-3 {
 | |
|   grid-template-columns: repeat(3, 1fr);
 | |
| }
 | |
| 
 | |
| .grid-4 {
 | |
|   grid-template-columns: repeat(4, 1fr);
 | |
| }
 | |
| 
 | |
| /* Responsive */
 | |
| @media (max-width: 768px) {
 | |
| 
 | |
|   .grid-2,
 | |
|   .grid-3,
 | |
|   .grid-4 {
 | |
|     grid-template-columns: 1fr;
 | |
|   }
 | |
| 
 | |
|   .navbar-menu {
 | |
|     display: none;
 | |
|   }
 | |
| 
 | |
|   .navbar-menu.active {
 | |
|     display: flex;
 | |
|     flex-direction: column;
 | |
|     position: absolute;
 | |
|     top: 100%;
 | |
|     left: 0;
 | |
|     right: 0;
 | |
|     background-color: var(--primary-color);
 | |
|     padding: 1rem;
 | |
|   }
 | |
| }
 | |
| 
 | |
| /* Utilities */
 | |
| .text-center {
 | |
|   text-align: center;
 | |
| }
 | |
| 
 | |
| .text-right {
 | |
|   text-align: right;
 | |
| }
 | |
| 
 | |
| .text-left {
 | |
|   text-align: left;
 | |
| }
 | |
| 
 | |
| .mt-1 {
 | |
|   margin-top: 0.5rem;
 | |
| }
 | |
| 
 | |
| .mt-2 {
 | |
|   margin-top: 1rem;
 | |
| }
 | |
| 
 | |
| .mt-3 {
 | |
|   margin-top: 1.5rem;
 | |
| }
 | |
| 
 | |
| .mt-4 {
 | |
|   margin-top: 2rem;
 | |
| }
 | |
| 
 | |
| .mb-1 {
 | |
|   margin-bottom: 0.5rem;
 | |
| }
 | |
| 
 | |
| .mb-2 {
 | |
|   margin-bottom: 1rem;
 | |
| }
 | |
| 
 | |
| .mb-3 {
 | |
|   margin-bottom: 1.5rem;
 | |
| }
 | |
| 
 | |
| .mb-4 {
 | |
|   margin-bottom: 2rem;
 | |
| }
 | |
| 
 | |
| .p-1 {
 | |
|   padding: 0.5rem;
 | |
| }
 | |
| 
 | |
| .p-2 {
 | |
|   padding: 1rem;
 | |
| }
 | |
| 
 | |
| .p-3 {
 | |
|   padding: 1.5rem;
 | |
| }
 | |
| 
 | |
| .p-4 {
 | |
|   padding: 2rem;
 | |
| }
 | |
| 
 | |
| /* Map container */
 | |
| .map-container {
 | |
|   width: 100%;
 | |
|   height: 400px;
 | |
|   border-radius: 8px;
 | |
|   overflow: hidden;
 | |
|   margin-bottom: 1.5rem;
 | |
| }
 | |
| 
 | |
| /* Tags display */
 | |
| .tags-container {
 | |
|   display: flex;
 | |
|   flex-wrap: wrap;
 | |
|   gap: 0.5rem;
 | |
|   margin: 1rem 0;
 | |
| }
 | |
| 
 | |
| .tag {
 | |
|   background-color: var(--light-gray);
 | |
|   padding: 0.25rem 0.75rem;
 | |
|   border-radius: 16px;
 | |
|   font-size: 0.875rem;
 | |
|   color: var(--primary-color);
 | |
|   border: 1px solid var(--border-color);
 | |
| }
 | |
| 
 | |
| /* Footer */
 | |
| .footer {
 | |
|   background-color: var(--primary-color);
 | |
|   color: white;
 | |
|   padding: 2rem 0;
 | |
|   margin-top: 3rem;
 | |
| }
 | |
| 
 | |
| .footer-content {
 | |
|   display: flex;
 | |
|   justify-content: space-between;
 | |
|   align-items: center;
 | |
| }
 | |
| 
 | |
| .footer-links {
 | |
|   display: flex;
 | |
|   gap: 1.5rem;
 | |
| }
 | |
| 
 | |
| .footer-link {
 | |
|   color: white;
 | |
|   text-decoration: none;
 | |
|   opacity: 0.8;
 | |
|   transition: opacity 0.3s;
 | |
| }
 | |
| 
 | |
| .footer-link:hover {
 | |
|   opacity: 1;
 | |
| } | 
