/* =====================================================
   ANNUAIRE COLLECTEURS AGRÉÉS — TUNISIE
   Fichier : /pub/static/annuaire/annuaire.css
   ===================================================== */
:root {
  --forest:#1a3d2b;--moss:#2d6a4f;--sage:#40916c;--mint:#95d5b2;
  --cream:#faf6ef;--sand:#f0e6d3;--sand-b:#e2d4bc;
  --gold:#c9920a;--goldy:#f5c518;
  --terra:#c4622d;--wa:#25D366;
  --text:#1c2b22;--muted:#6b7a72;--light:#a0afa5;--border:#e4ede7;
}
#annuaire-root *,#annuaire-root *::before,#annuaire-root *::after{margin:0;padding:0;box-sizing:border-box;}
#annuaire-root{font-family:'Outfit',sans-serif;background:var(--cream);color:var(--text);display:flex;flex-direction:column;height:90vh;min-height:600px;border-radius:14px;overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,0.1);}

/* HEADER */
#ann-header{background:var(--forest);padding:0 28px;height:58px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:relative;overflow:hidden;}
#ann-header::before{content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:rgba(149,213,178,0.07);}
.ann-logo{display:flex;align-items:center;gap:12px;}
.ann-logo-mark{width:34px;height:34px;background:var(--sage);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;}
.ann-logo-name{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:700;color:white;letter-spacing:-0.2px;}
.ann-logo-sub{font-size:9px;color:rgba(149,213,178,0.6);text-transform:uppercase;letter-spacing:0.5px;margin-top:1px;}
.ann-hstats{display:flex;gap:24px;}
.ann-hstat{text-align:center;}
.ann-hstat-n{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--mint);line-height:1;}
.ann-hstat-l{font-size:9px;color:rgba(149,213,178,0.5);text-transform:uppercase;letter-spacing:0.6px;}
.ann-hbtns{display:flex;gap:8px;}
.ann-hbtn{padding:7px 14px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;gap:5px;transition:all 0.2s;}
.ann-hbtn-ghost{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8);}
.ann-hbtn-ghost:hover{background:rgba(255,255,255,0.2);color:white;}
.ann-hbtn-gold{background:var(--goldy);color:#5a3800;font-weight:700;}
.ann-hbtn-gold:hover{background:var(--gold);}

/* TOOLBAR */
#ann-toolbar{background:var(--sand);border-bottom:1px solid var(--sand-b);padding:9px 18px;display:flex;gap:8px;align-items:center;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,0.04);}
.ann-srch-wrap{flex:1;min-width:160px;position:relative;}
.ann-srch-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--light);pointer-events:none;display:flex;}
.ann-srch-inp{width:100%;padding:8px 11px 8px 32px;border:1.5px solid var(--sand-b);border-radius:9px;font-family:'Outfit',sans-serif;font-size:13px;background:white;color:var(--text);outline:none;transition:all 0.2s;}
.ann-srch-inp:focus{border-color:var(--sage);box-shadow:0 0 0 2px rgba(64,145,108,0.07);}
.ann-srch-inp::placeholder{color:var(--light);}
.ann-fsel{padding:8px 26px 8px 11px;border:1.5px solid var(--sand-b);border-radius:9px;font-family:'Outfit',sans-serif;font-size:12px;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%236b7a72' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 7px center;color:var(--text);cursor:pointer;outline:none;transition:border-color 0.2s;min-width:135px;appearance:none;}
.ann-fsel:focus{border-color:var(--sage);}
.ann-tdiv{width:1px;height:24px;background:var(--sand-b);}
.ann-rcount{font-size:11px;color:var(--muted);white-space:nowrap;font-weight:500;}
.ann-btn-clr{padding:7px 11px;border-radius:9px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;cursor:pointer;background:transparent;color:var(--muted);border:1.5px solid var(--sand-b);white-space:nowrap;transition:all 0.2s;}
.ann-btn-clr:hover{border-color:var(--moss);color:var(--moss);}

/* BODY */
#ann-body{display:grid;grid-template-columns:320px 1fr;flex:1;overflow:hidden;min-height:0;}

/* LEFT */
#ann-left{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--cream);overflow:hidden;}
.ann-ph{padding:10px 13px 8px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-shrink:0;}
.ann-ph-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:var(--muted);}
.ann-ph-sort{font-size:11px;color:var(--moss);cursor:pointer;background:none;border:none;font-family:'Outfit',sans-serif;font-weight:600;}
#ann-clist{overflow-y:auto;flex:1;padding:9px;display:flex;flex-direction:column;gap:6px;}
#ann-clist::-webkit-scrollbar{width:4px;}
#ann-clist::-webkit-scrollbar-thumb{background:var(--sand-b);border-radius:4px;}

/* CARD */
.ann-cc{background:white;border-radius:11px;padding:13px 14px;cursor:pointer;border:1.5px solid var(--border);transition:all 0.18s;position:relative;overflow:hidden;animation:ann-sli 0.28s ease both;}
@keyframes ann-sli{from{opacity:0;transform:translateX(-6px);}to{opacity:1;transform:translateX(0);}}
.ann-cc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sage);border-radius:3px 0 0 3px;opacity:0;transition:opacity 0.18s;}
.ann-cc:hover{border-color:var(--mint);box-shadow:0 3px 14px rgba(45,106,79,0.1);transform:translateX(2px);}
.ann-cc:hover::before,.ann-cc.act::before{opacity:1;}
.ann-cc.act{border-color:var(--moss);background:linear-gradient(135deg,white,rgba(149,213,178,0.04));box-shadow:0 3px 16px rgba(45,106,79,0.12);}
.ann-cc-r1{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.ann-cc-name{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:700;color:var(--forest);line-height:1.2;}
.ann-spill{font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap;text-transform:uppercase;letter-spacing:0.4px;flex-shrink:0;}
.ann-sp-a{background:#dcf5e7;color:#1a5c35;}
.ann-sp-s{background:#ffe8d6;color:#9c4a1a;}
.ann-cc-loc{font-size:11px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:3px;}
.ann-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.ann-tg{font-size:10px;padding:2px 7px;border-radius:20px;background:var(--sand);color:var(--muted);font-weight:500;}
.ann-cc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-top:8px;border-top:1px solid #f0f0f0;}
.ann-ldots{display:flex;gap:3px;}
.ann-ld{width:7px;height:7px;border-radius:50%;background:#e0e0e0;}
.ann-ld.u{background:var(--sage);}
.ann-ld.sp{background:var(--terra);}
.ann-lstat{font-size:10px;font-weight:600;}
.ann-lstat.fr{color:var(--sage);}
.ann-lstat.pa{color:var(--terra);}
.ann-cc-cta{width:100%;margin-top:9px;padding:8px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;cursor:pointer;border:none;background:var(--forest);color:white;display:flex;align-items:center;justify-content:center;gap:5px;transition:all 0.2s;}
.ann-cc-cta:hover{background:#0e1f16;}

/* EMPTY */
#ann-emp{display:none;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px;color:var(--light);text-align:center;}
#ann-emp.show{display:flex;}
#ann-emp p{font-size:12px;margin-top:10px;line-height:1.6;}

/* RIGHT */
#ann-right{display:flex;flex-direction:column;overflow:hidden;position:relative;}
#ann-map{flex:1;min-height:0;z-index:1;}
.ann-mleg{position:absolute;bottom:18px;left:13px;z-index:10;background:white;border-radius:9px;padding:9px 12px;box-shadow:0 3px 14px rgba(0,0,0,0.1);border:1px solid var(--border);}
.ann-mleg-i{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);}
.ann-mleg-i+.ann-mleg-i{margin-top:5px;}
.ann-mpin{width:9px;height:9px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);flex-shrink:0;}
.ann-mpin.g{background:var(--sage);}
.ann-mpin.o{background:var(--terra);}

/* DRAWER */
#ann-drawer{background:white;border-top:2px solid var(--border);transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.34,1.1,0.64,1);flex-shrink:0;max-height:58%;overflow-y:auto;position:relative;z-index:10;}
#ann-drawer.open{transform:translateY(0);}
.ann-dhandle{width:36px;height:3px;background:#ddd;border-radius:2px;margin:10px auto;cursor:pointer;}
.ann-din{padding:0 20px 20px;}
.ann-dhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--sand);}
.ann-dname{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:700;color:var(--forest);}
.ann-dcls{background:#f5f5f5;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:all 0.2s;}
.ann-dcls:hover{background:#eee;}
.ann-dgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px;}
.ann-di label{font-size:9px;text-transform:uppercase;letter-spacing:0.9px;color:var(--light);display:block;margin-bottom:2px;font-weight:700;}
.ann-di span{font-size:12px;color:var(--text);font-weight:500;}
.ann-dtl{font-size:9px;text-transform:uppercase;letter-spacing:0.9px;color:var(--light);font-weight:700;display:block;margin-bottom:7px;}

/* FORM */
.ann-lfs{margin-top:16px;background:linear-gradient(135deg,#f0faf5,var(--cream));border:1.5px solid var(--mint);border-radius:13px;padding:16px;}
.ann-lfh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.ann-lft{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:700;color:var(--forest);}
.ann-lfbadge{display:inline-flex;align-items:center;gap:4px;color:white;font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;}
.ann-lfg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.ann-fg{display:flex;flex-direction:column;gap:3px;}
.ann-fg.full{grid-column:1/-1;}
.ann-fg label{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.5px;}
.ann-fg input,.ann-fg select,.ann-fg textarea{padding:8px 10px;border:1.5px solid #dde8e2;border-radius:7px;font-family:'Outfit',sans-serif;font-size:12px;color:var(--text);background:white;outline:none;transition:border-color 0.2s;}
.ann-fg input:focus,.ann-fg select:focus,.ann-fg textarea:focus{border-color:var(--sage);}
.ann-fg textarea{resize:vertical;min-height:55px;}
.ann-lfa{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
.ann-bte,.ann-btw{padding:10px;border-radius:8px;border:none;font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all 0.2s;}
.ann-bte{background:var(--forest);color:white;}
.ann-bte:hover{background:#0e1f16;}
.ann-btw{background:var(--wa);color:white;}
.ann-btw:hover{filter:brightness(0.9);}
.ann-succ{display:none;text-align:center;padding:18px;background:#dcf5e7;border-radius:9px;}
.ann-succ.show{display:block;}
.ann-succ p{font-size:13px;color:var(--forest);font-weight:600;margin-top:5px;}
.ann-brst{margin-top:9px;background:var(--forest);color:white;border:none;padding:7px 18px;border-radius:7px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;}

/* POPUP LEAFLET */
.leaflet-popup-content-wrapper{border-radius:12px !important;box-shadow:0 8px 28px rgba(0,0,0,0.14) !important;border:none !important;}
.leaflet-popup-tip-container{display:none;}
.ann-pi h4{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--forest);margin-bottom:3px;font-weight:700;}
.ann-pi p{font-size:11px;color:var(--muted);margin-bottom:2px;}
.ann-ptgs{display:flex;flex-wrap:wrap;gap:3px;margin:6px 0;}
.ann-ptg{font-size:9px;padding:2px 6px;background:var(--sand);border-radius:10px;color:var(--muted);}
.ann-pcta{width:100%;margin-top:8px;background:var(--forest);color:white;border:none;padding:8px;border-radius:7px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:background 0.2s;}
.ann-pcta:hover{background:#0e1f16;}

/* RESPONSIVE */
@media(max-width:900px){
  #ann-body{grid-template-columns:1fr;grid-template-rows:280px 1fr;}
  #ann-left{border-right:none;border-bottom:1px solid var(--border);}
  .ann-hstats{display:none;}
  #ann-clist{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:8px;}
  .ann-cc{min-width:220px;flex-shrink:0;}
  .ann-dgrid{grid-template-columns:1fr 1fr;}
  .ann-lfg{grid-template-columns:1fr;}
  .ann-lfa{grid-template-columns:1fr;}
}
