.dlc{
  --g:#16c05e; --bd:#e7ecf2; --txt:#0f172a; --mut:#64748b; --bg:#fff;
  font-family:"Quicksand",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Helvetica Neue","Noto Sans",sans-serif;
  display:grid; grid-template-columns:320px 1fr; gap:22px; align-items:start;
}
.dlc, .dlc *{box-sizing:border-box;}
.dlc ul{list-style:none;margin:0;padding:0;}
.dlc button, .dlc input{font:inherit;}

@media (min-width:1100px){ .dlc .dlc__grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:1099px){ .dlc .dlc__grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:768px){ .dlc{grid-template-columns:1fr;} .dlc .dlc__grid{grid-template-columns:1fr;} }

/* Mobile open */
.dlc .dlc__open{
  display:none; align-items:center; justify-content:center; gap:10px;
  border:1px solid var(--bd); background:var(--bg); border-radius:12px;
  padding:12px 14px; font-weight:700; cursor:pointer; color:var(--txt);
}
.dlc .dlc__open:hover{ background:var(--bg); color:var(--txt); border-color:var(--bd); }
.dlc .dlc__openIco svg{fill:var(--g);}
@media (max-width:768px){ .dlc .dlc__open{display:flex;} }

/* Sidebar */
.dlc .dlc__side{background:var(--bg);border:1px solid #eef1f5;border-radius:14px;padding:14px;position:relative;}
.dlc .dlc__sideHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.dlc .dlc__close{display:none;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--txt);}
@media (max-width:768px){ .dlc .dlc__close{display:inline-block;} }

.dlc .dlc__search{margin:8px 0 12px;}
.dlc .dlc__searchInput{
  width:100%; border:1px solid var(--bd); border-radius:12px; padding:11px 12px;
  font-weight:600; outline:none; color:var(--txt); background:var(--bg);
}
.dlc .dlc__search small{display:block;margin-top:6px;color:var(--mut);font-weight:600;font-size:12px;}

/* Groups */
.dlc .dlc__group{border-top:1px solid #f0f3f7;padding-top:10px;margin-top:10px;}
.dlc .dlc__groupHead{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  border:0; background:transparent; padding:6px 2px; font-weight:600; cursor:pointer; color:var(--txt);
  text-align:left;
}
.dlc .dlc__groupHead:hover{ background:transparent; color:var(--txt); }
.dlc .dlc__chev{color:var(--mut);font-weight:900;transform:rotate(0deg);transition:transform .18s ease;}
.dlc .dlc__group.is-collapsed .dlc__chev{transform:rotate(-90deg);}
@media (max-width:768px){
  .dlc .dlc__groupBody{display:block;}
  .dlc .dlc__group.is-collapsed .dlc__groupBody{display:none;}
}

/* Items (Orase/Servicii/Program) */
.dlc .dlc__list{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.dlc .dlc__item{
  width:100%;
  display:flex; align-items:center; gap:10px;
  border:1px solid var(--bd); background:var(--bg); border-radius:12px;
  padding:10px 14px; cursor:pointer; color:var(--txt);
  font-weight:500; text-align:left;
  transition:background .15s,border-color .15s;
}
.dlc .dlc__item:hover{border-color:var(--g);background:#e8fbef;color:var(--txt);}
.dlc .dlc__item.active{border-color:var(--g);background:#e8fbef;color:var(--txt);}

.dlc .dlc__item.is-disabled{
  opacity:.45;
  pointer-events:none;
  border-color:var(--bd);
  background:var(--bg);
}

.dlc .dlc__txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;}
.dlc .dlc__count{font-size:12px;color:var(--mut);font-weight:700;flex:0 0 auto;}
.dlc .dlc__dot{width:8px;height:8px;border-radius:999px;background:#d1d9e6;flex:0 0 8px;}

/* Layout: text stanga, count+dot dreapta */
.dlc .dlc__item .dlc__txt{order:1;}
.dlc .dlc__item .dlc__count{order:2; margin-left:auto;}
.dlc .dlc__item .dlc__dot{order:3; margin-left:10px;}

.dlc .dlc__item:hover .dlc__dot,
.dlc .dlc__item.active .dlc__dot{
  background:var(--g);
  box-shadow:0 0 0 3px rgba(22,192,94,.14);
}

/* Servicii "vezi mai multe" */
.dlc .dlc__servWrap{position:relative;}
@media (min-width:769px){
  .dlc .dlc__servWrap.is-collapsible{overflow:hidden;transition:max-height .25s ease;}
  .dlc .dlc__fade{
    position:absolute;left:0;right:0;bottom:0;height:44px;
    background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
    opacity:0;pointer-events:none;transition:opacity .2s;
  }
  .dlc .dlc__servWrap.is-collapsible:not(.is-expanded) .dlc__fade{opacity:1;}
  .dlc .dlc__more{
    width:100%;margin-top:10px;border:1px solid var(--bd);background:var(--bg);border-radius:12px;
    padding:10px 12px;font-weight:700;cursor:pointer;color:var(--txt);
  }
  .dlc .dlc__more:hover{border-color:var(--g);background:#e8fbef;color:var(--txt);}
}
@media (max-width:768px){ .dlc .dlc__fade,.dlc .dlc__more{display:none !important;} }

/* Actions */
.dlc .dlc__actions{display:flex;gap:10px;margin-top:14px;}
.dlc .dlc__reset,.dlc .dlc__apply{flex:1;border-radius:12px;padding:11px 12px;font-weight:700;cursor:pointer;border:1px solid var(--bd);background:var(--bg);color:var(--txt);}
.dlc .dlc__reset{border-color:#f3d1d6;background:#fff0f2;color:#b91c1c;}
.dlc .dlc__apply{border-color:#b9e7cb;background:#e8fbef;color:#0b7d3d;}
.dlc .dlc__reset:hover{filter:brightness(.98);}
.dlc .dlc__apply:hover{filter:brightness(.98);}

/* Results + pager */
.dlc .dlc__grid{display:grid;gap:16px;align-items:stretch;}
.dlc .dlc__cell{min-width:0;}
.dlc .dlc__pager{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;}
.dlc .dlc__pgbtn{
  border:1px solid var(--g);background:var(--bg);border-radius:12px;
  padding:9px 12px;font-weight:700;cursor:pointer;color:var(--g);
}
.dlc .dlc__pgbtn:hover{background:#e8fbef;color:var(--g);}
.dlc .dlc__pgbtn[disabled]{opacity:.45;cursor:not-allowed;}
.dlc .dlc__pginfo{color:#0b7d3d;font-weight:700;}
.dlc .dlc__empty{margin-top:14px;color:#b91c1c;font-weight:700;}

/* Overlay + mobile drawer */
.dlc .dlc__overlay{display:none;}
@media (max-width:768px){
  .dlc .dlc__side{
    position:fixed;left:0;right:0;bottom:0;z-index:1000;
    transform:translateY(110%);transition:transform .22s ease;
    border-radius:16px 16px 0 0;max-height:88vh;overflow:auto;
  }
  .dlc .dlc__side.is-open{transform:translateY(0);}
  .dlc .dlc__overlay{
    display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);
    opacity:0;pointer-events:none;transition:opacity .2s;z-index:999;
  }
  .dlc .dlc__overlay.is-open{opacity:1;pointer-events:auto;}
}

/* Extra slots */
.dlc .dlc__extraSlot{margin-top:16px;}
.dlc .dlc__extraSlot--main{display:none;}
@media (max-width:768px){ .dlc .dlc__extraSlot--main{display:block;} }

/* Focus (clean + accesibil) */
.dlc button:focus-visible,
.dlc input:focus-visible{
  outline:2px solid rgba(22,192,94,.35);
  outline-offset:2px;
}

/* ===== Skeleton loading ===== */
.dlc .dlc__skelCard{
  position:relative;
  border:1px solid #eef1f5;
  border-radius:14px;
  background:#fff;
  padding:14px;
  min-height:190px;
  overflow:hidden;
}
.dlc .dlc__skelCard:before{
  content:"";
  position:absolute; inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(245,247,250,.85) 45%,
    rgba(255,255,255,0) 100%
  );
  animation:dlcShimmer 1.25s infinite;
}
@keyframes dlcShimmer{ 100%{ transform:translateX(100%); } }
@media (prefers-reduced-motion: reduce){ .dlc .dlc__skelCard:before{animation:none;} }

.dlc .dlc__skelTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.dlc .dlc__skelTitle{height:14px;width:58%;border-radius:999px;background:#eef2f7;}
.dlc .dlc__skelRate{height:12px;width:22%;border-radius:999px;background:#eef2f7;}
.dlc .dlc__skelMeta,.dlc .dlc__skelText{display:grid;gap:10px;margin-bottom:12px;}
.dlc .dlc__skelLine{height:12px;border-radius:999px;background:#eef2f7;}
.dlc .dlc__skelLine.w95{width:95%;}
.dlc .dlc__skelLine.w90{width:90%;}
.dlc .dlc__skelLine.w80{width:80%;}
.dlc .dlc__skelLine.w70{width:70%;}
.dlc .dlc__skelLine.w60{width:60%;}
.dlc .dlc__skelBtns{margin-top:auto;display:flex;gap:10px;}
.dlc .dlc__skelBtn{height:38px;flex:1;border-radius:12px;background:#eef2f7;}
