/**
 * ============================================
 * STYLES GEO V3 - Interface unifiée
 * ============================================
 */

/* ========== STRUCTURE GÉNÉRALE ========== */

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
  }
  
  #map {
    position: absolute;
    top: 0;
    left: 0;
    right: 400px;
    bottom: 0;
    z-index: 1;
  }
  
  #info {
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 100vh;
    background-color: white;
    overflow-y: auto;
    padding: 15px;
    box-sizing: border-box;
    box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    z-index: 1000;
  }
  
  /* ========== COORDONNÉES CURSEUR ========== */
  
  .cursor-coords {
    position: absolute;
    bottom: 10px;        /* ← Changé de top à bottom */
    left: 10px;
    background-color: rgba(255,255,255,0.9);
    padding: 8px 12px;   /* ← Augmenté */
    border-radius: 5px;
    font-family: monospace;
    font-size: 12px;
    z-index: 1000;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    line-height: 1.4;    /* ← Ajouté pour l'espacement */
  }
  
  /* ========== SECTIONS ========== */
  
  .section {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
  }
  
  .section h2 {
    margin: 0 0 10px 0;
    font-size: 18px;
    color: #333;
  }
  
  .section h3 {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: #0066cc;
  }
  
  .subsection {
    margin: 15px 0;
    padding: 10px;
    background-color: #f8f9fa;
    border-radius: 5px;
  }
  
  /* ========== PANNEAUX D'OBJETS ========== */
  
  .object-panel {
    animation: fadeIn 0.3s ease-in;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  .object-panel h3 {
    margin-top: 0;
    color: #0066cc;
    border-bottom: 2px solid #0066cc;
    padding-bottom: 5px;
  }
  
  /* ========== FORMULAIRES ========== */
  
  label {
    display: block;
    margin-top: 8px;
    margin-bottom: 3px;
    font-weight: normal;
    color: #555;
  }
  
  .bold-label {
    font-weight: bold;
    margin-right: 5px;
  }
  
  input[type="text"],
  input[type="number"],
  select {
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 14px;
  }
  
  input[type="number"] {
    width: 70px;
  }
  
  .full-width {
    width: 100%;
    box-sizing: border-box;
  }
  
  .coord-row {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 8px 0;
  }
  
  .coord-row input {
    flex: 1;
  }
  
  /* ========== BOUTONS ========== */
  
  button {
    width: 100%;
    padding: 8px 12px;
    margin: 5px 0;
    background-color: #0066cc;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
  }
  
  button:hover {
    background-color: #0052a3;
  }
  
  button:active {
    background-color: #003d7a;
  }
  
  button:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
    opacity: 0.6;
  }
  
  button.active {
    background-color: #ff6b00;
    font-weight: bold;
  }
  
  button.btn-small {
    width: auto;
    flex: 1;
    padding: 6px 10px;
    font-size: 13px;
  }
  
  button.btn-danger {
    background-color: #dc3545;
  }
  
  button.btn-danger:hover {
    background-color: #c82333;
  }
  
  button.btn-import {
    background-color: #28a745;
  }
  
  button.btn-import:hover {
    background-color: #218838;
  }
  
  button.export-btn {
    background-color: #6c757d;
    flex: 1;
  }
  
  button.export-btn:hover {
    background-color: #5a6268;
  }
  
  .button-row {
    display: flex;
    gap: 5px;
    margin: 5px 0;
  }
  
  .button-row button {
    margin: 0;
  }
  
  /* ========== LISTES ========== */
  
  .segments-list {
    margin-top: 15px;
  }
  
  .segment {
    padding: 8px;
    margin: 5px 0;
    background-color: #f8f9fa;
    border-left: 3px solid #0066cc;
    border-radius: 3px;
    font-size: 13px;
  }
  
  .segment .marker-label {
    font-weight: bold;
    color: #0066cc;
  }
  
  /* ========== BOÎTES D'INFO ========== */
  
  .info-box {
    margin-top: 10px;
    padding: 10px;
    background-color: #fff3cd;
    border-left: 4px solid #ff6b00;
    border-radius: 4px;
    font-size: 13px;
  }
  
  .info-box strong {
    color: #ff6b00;
  }
  
  .small-text {
    font-size: 12px;
    color: #666;
    margin: 0 0 10px 0;
  }
  
  /* ========== SÉLECTEUR DE TYPE ========== */
  
  #object-type-selector {
    background-color: #e7f3ff;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
  }
  
  #object-type-selector h2 {
    color: #0066cc;
  }
  
  #objectTypeSelect {
    font-size: 15px;
    font-weight: bold;
    padding: 10px;
    background-color: white;
    border: 2px solid #0066cc;
  }
  
  /* ========== EXPORT PANEL ========== */
  
  #export-panel {
    background-color: #f0f0f0;
    padding: 15px;
    border-radius: 5px;
    margin-top: 20px;
    border-top: 2px solid #6c757d;
  }
  
  #export-panel h3 {
    margin-top: 0;
    color: #6c757d;
  }
  
  /* ========== ICÔNES SUR LA CARTE ========== */
  
  .leaflet-marker-icon {
    border: none;
    background: none;
  }
  
  .leaflet-marker-icon svg {
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
    cursor: move;
  }
  
  .leaflet-dst-icon,
  .leaflet-point-icon,
  .leaflet-line-icon {
    border: none;
    background: none;
  }
  
  /* ========== RESPONSIVE ========== */
  
  @media (max-width: 1024px) {
    #map {
      right: 350px;
    }
    
    #info {
      width: 350px;
    }
  }
  
  @media (max-width: 768px) {
    #map {
      right: 300px;
    }
    
    #info {
      width: 300px;
      font-size: 13px;
    }
    
    button {
      font-size: 13px;
      padding: 6px 10px;
    }
  }