/* Styles de Globamigo (en plus de Tailwind) */

    .custom-scrollbar::-webkit-scrollbar { width: 6px; }
    .custom-scrollbar::-webkit-scrollbar-track { background: #f1f5f9; }
    .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
    #map { z-index: 1; min-height: 350px; }
    .hero-bg {
        background: linear-gradient(rgba(15, 23, 42, 0.65), rgba(15, 23, 42, 0.75)), url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1600&auto=format&fit=crop&q=80');
        background-size: cover;
        background-position: center;
    }
    body { padding-bottom: env(safe-area-inset-bottom); }

    /* ---- Paramètres ---- */
    .st-nav-btn { display:flex; align-items:center; gap:.75rem; padding:.6rem .75rem; border-radius:.75rem; color:#475569; font-size:.8rem; white-space:nowrap; text-align:left; flex-shrink:0; transition:background .15s,color .15s; }
    .st-nav-btn:hover { background:#f0fdfa; }
    .st-nav-btn > i { width:1.1rem; text-align:center; color:#94a3b8; }
    .st-nav-btn .st-nav-label { font-weight:600; }
    .st-nav-btn .st-nav-sub { font-size:.68rem; color:#94a3b8; white-space:normal; line-height:1.2; margin-top:1px; }
    .st-nav-btn.active { background:#fff; color:#115e59; box-shadow:0 1px 2px rgba(15,23,42,.08); outline:1px solid #ccfbf1; }
    .st-nav-btn.active > i { color:#0f766e; }
    @media (min-width:768px){ .st-nav-btn { white-space:normal; } }
    .st-label { display:block; font-weight:600; color:#334155; font-size:.75rem; margin-bottom:.3rem; }
    .st-hint { font-size:.68rem; color:#94a3b8; margin-top:.25rem; }
    .st-input { width:100%; border:1px solid #cbd5e1; border-radius:.6rem; padding:.55rem .75rem; background:#fff; font-size:.8rem; color:#0f172a; }
    .st-input:focus { outline:2px solid #0d9488; outline-offset:0; border-color:transparent; }
    .st-toggle { appearance:none; -webkit-appearance:none; width:2.6rem; height:1.5rem; border-radius:999px; background:#cbd5e1; position:relative; cursor:pointer; flex-shrink:0; transition:background .2s; }
    .st-toggle::after { content:""; position:absolute; top:3px; left:3px; width:1.125rem; height:1.125rem; border-radius:999px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.2); transition:transform .2s; }
    .st-toggle:checked { background:#0f766e; }
    .st-toggle:checked::after { transform:translateX(1.1rem); }
    .st-toggle:focus-visible, .st-nav-btn:focus-visible { outline:2px solid #0d9488; outline-offset:2px; }
    @media (prefers-reduced-motion: reduce){ .st-toggle, .st-toggle::after, .st-nav-btn { transition:none; } }

    /* ---- Navigation ---- */
    .nav-link { display:flex; align-items:center; gap:.4rem; padding:.45rem .75rem; border-radius:.6rem; color:#ccfbf1; transition:background .15s,color .15s; }
    .nav-link:hover { background:rgba(255,255,255,.12); color:#fff; }
    .nav-link.active { background:#fff; color:#115e59; }
    .nav-link.active i { color:#ea580c; }
    .mnav-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1; min-width:0; color:#64748b; gap:.2rem; padding:.25rem 0; }
    .mnav-btn span { font-size:10px; font-weight:600; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .mnav-btn.active { color:#0f766e; }
    @media (max-width: 767px) { body { padding-bottom: 4rem; } }

    /* ---- Carte : épingles et groupes ---- */
    .ct-pin { width:34px; height:34px; border-radius:50%; border:3px solid; background:#fff; color:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 3px 8px rgba(15,23,42,.35); }
    .ct-pin img { width:100%; height:100%; object-fit:cover; }
    .ct-pin i { color:#fff; }
    .cotravel-cluster { background:transparent; }
    .ct-cluster-inner { border-radius:50%; color:#fff; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; border:3px solid #fff; box-shadow:0 0 0 5px rgba(15,118,110,.25), 0 4px 10px rgba(15,23,42,.35); cursor:pointer; }
    .ct-list-scroll { max-height:240px; overflow-y:auto; padding-right:2px; }
    .ct-list-popup .leaflet-popup-content { margin:12px; }

    /* ---- Calendrier de date de naissance ---- */
    .dob-picker { position:absolute; z-index:80; top:calc(100% + 6px); left:0; width:292px; max-width:calc(100vw - 2rem); background:#fff; border:1px solid #e2e8f0; border-radius:1rem; box-shadow:0 20px 40px rgba(15,23,42,.18); padding:.75rem; color:#0f172a; }
    .dob-picker select { border:1px solid #cbd5e1; border-radius:.5rem; padding:.3rem .4rem; font-size:.78rem; font-weight:600; background:#fff; }
    .dob-picker .dob-nav { width:2rem; height:2rem; border-radius:.5rem; color:#475569; }
    .dob-picker .dob-nav:hover:not(:disabled) { background:#f0fdfa; color:#115e59; }
    .dob-picker .dob-nav:disabled { opacity:.3; cursor:not-allowed; }
    .dob-grid { display:grid; grid-template-columns:repeat(7, 1fr); gap:2px; }
    .dob-grid .dob-wd { font-size:.65rem; font-weight:700; color:#94a3b8; text-align:center; padding:.25rem 0; text-transform:uppercase; }
    .dob-grid button { height:2.1rem; border-radius:.5rem; font-size:.78rem; font-weight:600; color:#334155; }
    .dob-grid button:hover:not(:disabled) { background:#f0fdfa; color:#115e59; }
    .dob-grid button.dob-sel { background:#0f766e; color:#fff; }
    .dob-grid button:disabled { color:#cbd5e1; cursor:not-allowed; }
    .dob-grid button:focus-visible, .dob-picker select:focus-visible { outline:2px solid #0d9488; outline-offset:1px; }

body{font-family:system-ui,sans-serif;max-width:760px;margin:2rem auto;padding:0 1rem;line-height:1.5;color:#0f172a}h4{margin:1.2rem 0 .3rem}
/* Téléphone : la barre du bas tient compte de la zone du geste d'accueil (iPhone), en particulier en mode application */
#mobileNav { padding-bottom: env(safe-area-inset-bottom, 0px); height: calc(4rem + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 767px) { body { padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px)); } }
/* En mode application installée : pas de rebond de page ni de surlignage gris au toucher */
@media (display-mode: standalone) { html, body { overscroll-behavior-y: none; } * { -webkit-tap-highlight-color: transparent; } }
