/* ============================================================
   apl-secteur.css — licence de secteur : échelle des paliers
   + recherche + état résultat. Page prospection-predictive.
   Toutes les classes en apl-. Aucune couleur en dur : jetons du
   site, valides en clair comme en [data-theme="dark"].
   ============================================================ */

.apl-sec{max-width:1120px;margin:0 auto}
.apl-sec-hd{max-width:640px}
.apl-eye{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.apl-eye::before{content:"";width:16px;height:1px;background:var(--muted)}
.apl-sec-hd h2{font-family:var(--disp);font-size:clamp(24px,2.7vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:14px 0 0;text-wrap:pretty}
.apl-sec-hd p{font-size:16px;line-height:1.6;color:var(--text-dim);margin:14px 0 0;max-width:56ch;text-wrap:pretty}
.apl-sec-hd p b{color:var(--text);font-weight:600}

/* ── recherche : même UI que la carte étude de marché (.searchbar / .sb-*) ── */
.apl-search{margin:28px 0 0;max-width:460px;position:relative}
.apl-searchbar{background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:8px;position:relative}
.apl-srow{display:flex;align-items:center;gap:8px}
.apl-srow>svg{width:17px;height:17px;color:var(--muted);flex:none;margin-left:6px}
.apl-srow input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--text);padding:8px 2px}
.apl-srow input::placeholder{color:var(--muted);font-weight:400}
.apl-sgo{flex:none;display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--sans);color:var(--bg);background:var(--text);border:1px solid var(--text);border-radius:var(--radius);padding:11px 17px;cursor:pointer;transition:background .15s}
.apl-sgo:hover{background:var(--text-dim)}
.apl-sgo .apl-ar{transition:transform .18s}
.apl-sgo:hover .apl-ar{transform:translateX(3px)}
.apl-shelp{flex:none;width:22px;height:22px;margin-right:4px;display:grid;place-items:center;color:var(--muted);border:0;background:transparent;cursor:help}
.apl-shelp svg{width:19px;height:19px}
.apl-sac{position:absolute;left:0;right:0;top:calc(100% + 8px);display:none;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;z-index:24;max-height:236px;overflow-y:auto}
.apl-sac.apl-on{display:block}
.apl-sopt{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:0;background:transparent;padding:9px 11px;border-radius:var(--radius);cursor:pointer;font-family:var(--sans)}
.apl-sopt:hover,.apl-sopt.apl-hi{background:var(--s2)}
.apl-sopt .oic{width:26px;height:26px;border-radius:8px;background:var(--s2);color:var(--muted);display:grid;place-items:center;flex-shrink:0}
.apl-sopt.apl-hi .oic{background:var(--s3);color:var(--text)}
.apl-sopt .oic svg{width:14px;height:14px}
.apl-sopt .ot{flex:1;min-width:0}
.apl-sopt .ot b{display:block;font-size:14px;font-weight:650;letter-spacing:-.012em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apl-sopt .ot span{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:1px}
.apl-sopt .obadge{flex:none;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--s2);border-radius:99px;padding:4px 10px}
.apl-sopt:hover .obadge,.apl-sopt.apl-hi .obadge{background:var(--s3)}
.apl-sac .none{padding:11px;font-size:12.5px;line-height:1.45;color:var(--muted)}

.apl-out{margin:12px 0 0;display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.7,.2,1)}
.apl-out.apl-open{grid-template-rows:1fr}
.apl-out>div{overflow:hidden;min-height:0}
.apl-res{margin-top:4px;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-lg);padding:18px 19px;box-shadow:var(--shadow-md);position:relative}
.apl-close{position:absolute;top:11px;right:11px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);border-radius:99px;color:var(--muted);cursor:pointer;z-index:2}
.apl-close:hover{background:var(--s2);color:var(--text)}
.apl-close svg{width:13px;height:13px}
.apl-res-hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-right:30px}
.apl-res-nm{font-family:var(--disp);font-size:20px;font-weight:800;letter-spacing:-.026em;color:var(--text)}
.apl-res-cp{font-family:var(--mono);font-size:12px;color:var(--muted)}
.apl-zone{display:inline-flex;align-items:center;gap:7px;margin-top:9px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:99px;padding:4px 11px}
.apl-zone i{width:5px;height:5px;border-radius:99px;background:var(--accent)}
.apl-rgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.apl-metric{background:var(--s2);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px}
.apl-metric .apl-k{display:block;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.apl-metric .apl-v{display:block;font-family:var(--disp);font-size:21px;font-weight:800;letter-spacing:-.03em;color:var(--text);margin-top:8px;font-variant-numeric:tabular-nums}
.apl-metric .apl-u{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0;color:var(--text-dim)}
.apl-metric.apl-price{grid-column:1/-1;background:var(--text);border-color:var(--text)}
.apl-metric.apl-price .apl-k{color:color-mix(in srgb,var(--bg) 62%,transparent)}
.apl-metric.apl-price .apl-v{color:var(--bg);font-size:25px}
.apl-metric.apl-price .apl-u{color:color-mix(in srgb,var(--bg) 74%,transparent)}
.apl-metric.apl-devis{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px dashed var(--border-hi)}
.apl-metric.apl-devis .apl-dt b{display:block;font-family:var(--disp);font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.apl-metric.apl-devis .apl-dt span{display:block;font-size:12.5px;color:var(--text-dim);margin-top:3px}
.apl-contact{flex:none;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 16px;font:600 13.5px/1 var(--sans);color:var(--bg);background:var(--text);border:1px solid var(--text);border-radius:var(--radius);text-decoration:none;transition:background .15s}
.apl-contact:hover{background:var(--text-dim)}
.apl-rnote{display:flex;gap:9px;align-items:flex-start;margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-dim)}
.apl-rnote svg{width:15px;height:15px;color:var(--accent);flex:none;margin-top:2px}
.apl-rnote b{color:var(--text);font-weight:600}
/* hors périmètre */
.apl-miss{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-lg);padding:16px 17px;box-shadow:var(--shadow-md);padding-right:38px}
.apl-miss>svg{width:18px;height:18px;color:var(--muted);flex:none;margin-top:1px}
.apl-miss b{display:block;font-size:14px;font-weight:650;letter-spacing:-.012em;color:var(--text)}
.apl-miss p{font-size:13px;line-height:1.5;color:var(--text-dim);margin:5px 0 0}
.apl-miss a{color:var(--accent);font-weight:600;text-decoration:none}
.apl-miss a:hover{text-decoration:underline;text-underline-offset:2px}

/* ── l'échelle des paliers ── */
.apl-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 0;align-items:stretch}
.apl-tier{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:22px 20px 24px;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;transform:translateY(14px);opacity:0}
.apl-tier.apl-in{transform:none;opacity:1}
.apl-tier:hover{border-color:var(--border-hi);box-shadow:var(--shadow-md)}
.apl-tier.apl-hot{border-color:var(--border);box-shadow:none}
.apl-zn{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.apl-tier.apl-hot .apl-zn{color:var(--muted)}
.apl-crit{font-family:var(--disp);font-size:16px;font-weight:800;letter-spacing:-.022em;margin:7px 0 0;color:var(--text)}
.apl-crit .apl-real{display:block;font-family:var(--mono);font-size:10px;font-weight:600;color:var(--accent);letter-spacing:.03em;margin-top:4px;height:0;overflow:hidden;opacity:0;transition:height .3s,opacity .3s}
.apl-tier.apl-spot .apl-real{height:14px;opacity:1}
/* les places du secteur : un point par place. Plein = prise, contour = libre. */
.apl-plots{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:46px;margin:18px 0 0}
.apl-plots i{width:15px;height:15px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);background:transparent;transition:background .3s,border-color .3s}
.apl-plots i.apl-taken{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2.5px var(--surface)}
.apl-tier.apl-hot .apl-plots i{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.apl-tier.apl-hot .apl-plots i.apl-taken{background:var(--accent);border-color:var(--accent)}
.apl-plots i.apl-more{width:auto;min-width:15px;height:15px;border:0;border-radius:99px;padding:0 6px;background:color-mix(in srgb,var(--accent) 12%,transparent);font-family:var(--mono);font-size:10px;font-weight:700;line-height:15px;color:var(--accent);text-align:center}
.apl-plotlg{display:flex;gap:14px;margin:11px 0 0;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.02em;color:var(--muted)}
.apl-plotlg span{display:inline-flex;align-items:center;gap:6px}
.apl-plotlg i{width:11px;height:11px;border-radius:50%;flex:none}
.apl-plotlg .t i{background:var(--accent)}
.apl-plotlg .f i{border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.apl-cap{display:flex;align-items:baseline;gap:7px;margin:18px 0 0}
.apl-cap b{font-family:var(--disp);font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}
.apl-cap span{font-size:13px;font-weight:500;color:var(--text-dim)}
.apl-tarif{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin:9px 0 0}
.apl-tarif b{color:var(--text-dim);font-weight:600}
.apl-vt{font-size:12px;color:var(--muted);margin:14px 0 0;padding-top:13px;border-top:1px solid var(--border);margin-top:auto}

/* exemples réels */
.apl-try{margin:20px 0 0;max-width:640px}
.apl-try-lb{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 11px}
.apl-chips{display:flex;flex-wrap:wrap;gap:8px}
.apl-chip{display:inline-flex;align-items:center;gap:8px;font:600 13.5px/1 var(--sans);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:9px 15px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.apl-chip:hover{border-color:var(--border-hi);background:var(--s2)}
.apl-chip .apl-cp{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--muted)}
.apl-chip.apl-on{background:var(--text);border-color:var(--text);color:var(--bg)}
.apl-chip.apl-on .apl-cp{color:color-mix(in srgb,var(--bg) 60%,transparent)}
.apl-tier.apl-spot{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent),var(--shadow-md);transform:translateY(-4px)}
.apl-tier.apl-spot .apl-zn{color:var(--accent)}
.apl-tier.apl-fade{opacity:.5;transition:opacity .3s}

.apl-plotlg{display:flex;gap:16px;margin:20px 0 0;max-width:640px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--muted)}
.apl-plotlg span{display:inline-flex;align-items:center;gap:7px}
.apl-plotlg i{width:12px;height:12px;border-radius:50%;flex:none}
.apl-plotlg .t i{background:var(--accent)}
.apl-plotlg .f i{border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent)}

/* bandeau capacité ≠ exclusivité */
.apl-foot{display:flex;gap:11px;align-items:flex-start;margin:24px 0 0;padding:15px 17px 17px;background:var(--s2);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:640px}
.apl-foot svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}
.apl-foot p{font-size:13px;line-height:1.55;color:var(--text-dim);margin:0}
.apl-foot b{color:var(--text);font-weight:600}

@media(max-width:820px){.apl-ladder{grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:640px){
  #licence{overflow:visible}
  #licence>.wrap{overflow:visible}
  .apl-sec{display:flex;flex-direction:column;overflow:visible}
  .apl-sec-hd{order:0}
  .apl-search{order:1;position:sticky;top:var(--nav-h,60px);z-index:18;margin:18px 0 0;padding:8px 0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);transition:padding .2s}
  .apl-search.apl-stuck{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:8px 18px 10px;border-bottom:1px solid var(--border)}
  .apl-search.apl-stuck .apl-searchbar{margin:0 18px}
  .apl-search.apl-stuck .apl-out{margin-left:18px;margin-right:18px}
  .apl-search.apl-stuck{padding:6px 0}
  .apl-search.apl-stuck .apl-searchbar{padding:5px;box-shadow:var(--shadow-sm)}
  .apl-search.apl-stuck .apl-srow input{font-size:14px;padding:6px 2px}
  .apl-search.apl-stuck .apl-sgo{padding:8px 13px;font-size:13px}
  .apl-ladder{order:2}
  .apl-plotlg{order:3}
  .apl-foot{order:4}
}
@media(max-width:460px){
  .apl-ladder{grid-template-columns:1fr}
  .apl-rgrid{grid-template-columns:1fr}
  .apl-metric.apl-devis{flex-direction:column;align-items:stretch}.apl-contact{justify-content:center}
}
