/* Mobile-fixes Corrections iOS/Android spécifiques */
@supports (-webkit-touch-callout: none) {
    /* CSS spécifique iOS */
    .fixed-bottom {
        padding-bottom: env(safe-area-inset-bottom);
    }
}

/* Empêche sélection texte sur boutons (UI tactile) */
.btn, .nav-link {
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

/* Scroll momentum mobile */
.page-body {
    -webkit-overflow-scrolling: touch;
}

/* Cache scrollbar mais garde fonctionnalité */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Correction menu mobile */
.navbar-collapse {
    background: #fff;
    border-bottom: 1px solid #e6e7e9;
}

/* Avatar profil mobile */
.avatar {
    font-weight: 600;
}

/* Bottom nav plus haute sur mobile */
.fixed-bottom {
    min-height: 64px;
}

/* Active state menu */
.nav-item.active .nav-link {
    color: #d63939 !important;
    font-weight: 600;
}

.nav-item.active .nav-link-icon {
    color: #d63939;
}

/* Hamburger centré correctement */
.navbar-toggler {
    border: none;
    padding: 0.5rem;
}

.navbar-toggler:focus {
    box-shadow: none;
}


/* Header N.B.O.S compact */
.navbar-brand a {
    text-decoration: none;
}

.navbar-brand .gap-2 {
    gap: 0.5rem !important;
}

/* Taille papillon ajustée */
.navbar-brand .ti-butterfly {
    font-size: 1.75rem;
    line-height: 1;
}

/* N.B.O.S taille */
.navbar-brand .fs-4 {
    font-size: 1.5rem !important;
    letter-spacing: 2px;
}

/* Slogan noir fin */
.navbar-brand small {
    font-weight: 500;
    white-space: nowrap;
}

/* Mobile : réduire */
@media (max-width: 767px) {
    .navbar-brand .ti-butterfly {
        font-size: 1.5rem;
    }
    .navbar-brand .fs-4 {
        font-size: 1.25rem !important;
    }
    .navbar-brand small {
        font-size: 0.6rem !important;
        letter-spacing: 0.5px;
    }
}

/* Bouton rond GPS dans alerte */
.alert .btn-icon.rounded-circle {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
}

.alert .btn-icon.rounded-circle:active {
    transform: scale(0.95);
}

/* Badge coords */
.badge.bg-primary-lt {
    background-color: rgba(214, 57, 57, 0.1);
    color: #d63939;
    font-family: monospace;
    font-size: 0.65rem;
    line-height: 1.2;
}


/* Bouton rond parfait */
.btn-round {
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(214, 57, 57, 0.3);
}

.btn-round i {
    font-size: 1.5rem;
    line-height: 1;
}

.btn-round:active {
    transform: scale(0.95);
}


.map-compact {
    height: 200px;
    width: 100%;
    border-radius: 4px;
}

/*-------------------------------------------------*/
/* Page login centrée */
.container-tight {
    max-width: 400px;
    margin: 0 auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Card login ombre douce */
.card-md {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid #e6e7e9;
}

/* Inputs tactiles */
.card-md .form-control {
    font-size: 16px; /* Empêche zoom iOS */
    border-left: 0;
}

.card-md .input-group-text {
    background: #fff;
}

/* Bouton œil password */
.link-secondary {
    color: #6c757d;
    text-decoration: none;
}

.link-secondary:hover {
    color: #d63939;
}

/* Checkbox large pour mobile */
.form-check-input {
    width: 1.2em;
    height: 1.2em;
    margin-top: 0.15em;
}
/*-------------------------------------------------*/



