.trajet-form { display: flex; flex-direction: column; gap: 1rem; max-width: 640px; } .champ { display: flex; flex-direction: column; gap: 0.35rem; label { font-weight: 600; font-size: 0.9rem; } input, textarea { padding: 0.5rem 0.65rem; border: 1px solid #c4c9d1; border-radius: 6px; font: inherit; &[aria-invalid='true'] { border-color: #d13438; } &:focus { outline: 2px solid #2b6cb0; outline-offset: 1px; } } } .champ--adresse { position: relative; } .ligne-adresse { display: flex; gap: 0.5rem; align-items: stretch; input { flex: 1 1 auto; } } .btn-domicile { flex: 0 0 auto; white-space: nowrap; padding: 0 0.75rem; border: 1px solid #2b6cb0; border-radius: 6px; background: #fff; color: #2b6cb0; font-size: 0.85rem; cursor: pointer; &:hover:not(:disabled) { background: var(--couleur-orange); border-color: var(--couleur-orange); color: #fff; } &:disabled { border-color: #c4c9d1; color: #9aa1ab; cursor: not-allowed; } } .ligne-carnet { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.35rem; } .label-carnet { font-size: 0.8rem; font-weight: 500; color: #6b7280; } .select-carnet { padding: 0.4rem 0.55rem; border: 1px solid #c4c9d1; border-radius: 6px; background: #fff; font: inherit; cursor: pointer; &:focus { outline: 2px solid #2b6cb0; outline-offset: 1px; } &:disabled { background: #f3f5f8; color: #9aa1ab; cursor: not-allowed; } } .suggestions { list-style: none; margin: 0.25rem 0 0; padding: 0; border: 1px solid #c4c9d1; border-radius: 6px; background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); max-height: 220px; overflow-y: auto; z-index: 10; li + li { border-top: 1px solid #eef0f3; } button { display: flex; flex-direction: column; gap: 0.1rem; width: 100%; padding: 0.5rem 0.65rem; border: none; background: transparent; text-align: left; cursor: pointer; &:hover, &:focus { background: #ebf3fb; outline: none; } } } .suggestion-label { font-weight: 500; } .suggestion-detail { font-size: 0.8rem; color: #6b7280; } .compteur { align-self: flex-end; font-size: 0.75rem; color: #6b7280; } .erreur { margin: 0; font-size: 0.82rem; color: #d13438; } .alerte { margin: 0; padding: 0.5rem 0.75rem; border-radius: 6px; font-size: 0.85rem; &--info { background: #eef2f7; color: #33475b; } &--warning { background: #fff4e5; color: #8a5a00; border: 1px solid #f0c36d; } } .actions { display: flex; gap: 0.75rem; button { padding: 0.55rem 1.1rem; border-radius: 6px; font: inherit; cursor: pointer; &:disabled { opacity: 0.6; cursor: not-allowed; } } } .btn-primaire { border: none; background: var(--couleur-bleu); color: #fff; &:hover:not(:disabled) { background: var(--couleur-orange); } } .btn-secondaire { border: 1px solid #c4c9d1; background: #fff; color: #33475b; &:hover:not(:disabled) { background: #f3f5f8; } } /* Case Aller/Retour : compacte, sur une seule ligne pour gagner en hauteur. */ .champ--aller-retour { margin: 0.25rem 0 0.5rem; } .case-aller-retour { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; cursor: pointer; } .case-aller-retour input { width: 1rem; height: 1rem; margin: 0; }