/* =========================================================
   TuristulLiber — Redesign listing Destinatii + categorii + filtre
   Prefix: tld- (TuristulLiber Destinatii). Scoped, nu atinge .Article/
   .Delta__Sidebar-locatii folosite de alte tipuri de continut (ex: vacante),
   pentru ca doar destinatii foloseste clasele .tld-card / .tld-filter.
   Brand: secondary #69b706 (verde) · primary #0095fe (albastru)
   ========================================================= */

/* ---------- Card destinatie ---------- */
.tld-card{
    position:relative; /* ancora pentru inima de favorite, mutata peste imagine */
    background:#fff;
    border-radius:16px;
    /* overflow:visible (nu hidden) — .tld-card__img isi cliparaza singura imaginea;
       daca cardul intreg ar avea overflow:hidden, popup-ul de share (.Socials__Links,
       position:absolute) ar fi taiat si nu s-ar mai vedea deloc la hover. */
    box-shadow:0 4px 16px rgba(0,0,0,.07);
    transition:transform .25s ease, box-shadow .25s ease;
    height:100%;
    display:flex;
    flex-direction:column;
}
.tld-card:hover{ transform:translateY(-5px); box-shadow:0 18px 32px rgba(0,0,0,.14); }
.tld-card__link{ display:block; text-decoration:none; color:inherit; }
.tld-card__link:hover{ color:inherit; }
.tld-card__img{
    position:relative; height:200px; overflow:hidden;
    border-radius:16px 16px 0 0;
}
.tld-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; border-radius:0 !important; }
.tld-card:hover .tld-card__img img{ transform:scale(1.08); }
.tld-card__badge{
    position:absolute; top:12px; left:12px; z-index:2;
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(20,20,20,.62); backdrop-filter:blur(3px); color:#fff;
    font-family:'Oswald', sans-serif; font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:.03em;
    padding:6px 12px; border-radius:50px;
}
.tld-card__badge i{ color:#a9e46a; font-size:12px; }

/* Gradient decorativ in josul imaginii, ca sa se citeasca iconitele albe de deasupra lui */
.tld-card__img:after{
    content:"";
    position:absolute; left:0; right:0; bottom:0; height:60px;
    background:linear-gradient(0deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 100%);
    pointer-events:none;
}

.tld-card__body{ padding:16px 18px 18px; flex:1; }
.tld-card__body h3{
    font-family:'Oswald', sans-serif; font-size:17px; font-weight:600; color:#363636; margin:0 0 8px;
}

/* Zona de review — componenta .Review__stars e globala (folosita in tot site-ul,
   la dimensiuni diferite dupa context) — o resetam explicit, pe fiecare nivel
   (ul/li/i), la o aliniere si marime compacta, garantata cu !important. */
.tld-card__meta{
    display:flex !important;
    align-items:center !important;
    gap:8px;
    margin-bottom:10px;
}
.tld-card__meta .Review__stars{
    display:flex !important;
    align-items:center !important;
    list-style:none !important;
    gap:2px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
}
.tld-card__meta .Review__stars li{
    display:flex !important;
    align-items:center !important;
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}
.tld-card__meta .Review__stars li:before,
.tld-card__meta .Review__stars li:after{ content:none !important; display:none !important; }
.tld-card__meta .Review__stars i{
    font-size:12px !important;
    line-height:1 !important;
    display:block !important;
    color:#d3d3d3 !important;
}
/* Stelele veneau verzi (culoare de link mostenita) in loc de auriu — fortam explicit. */
.tld-card__meta .Review__stars li.selected i{
    color:#ffb100 !important;
}
.tld-card__reviews{
    display:flex !important;
    align-items:center !important;
    line-height:1 !important;
    font-family:'Open Sans', sans-serif;
    font-size:12px;
    color:#9a9a9a;
    white-space:nowrap;
}
.tld-card__body p{
    font-family:'Open Sans', sans-serif; font-size:13.5px; color:#6b6b6b; line-height:1.65em; margin:0;
}

/* ---------- Favorite / comentarii / share — overlay pe imagine, markup propriu ----------
   loop-destinatie.php rescrie output-ul TuristulShare() inlocuind div-urile Bootstrap
   (.row/.col-1/.col/.ml-auto/.text-right) cu .tld-share / .tld-share__fav-wrap /
   .tld-share__comments-wrap / .tld-share__more. Nu mai suprascriem nimic din Bootstrap
   cu !important — construim layout-ul de la zero, flexbox simplu. */
.tld-share{
    position:absolute;
    top:0; left:0; right:0;
    height:200px; /* aceeasi inaltime ca .tld-card__img */
    z-index:2;
    pointer-events:none; /* clic-urile trec catre link, mai putin pe iconitele proprii */
}
@media (max-width:767px){ .tld-share{ height:170px; } }

.tld-share__fav-wrap{ position:absolute; top:12px; right:12px; pointer-events:auto; }
.tld-share__fav-wrap .AddToFavorites{
    display:flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,.95);
    box-shadow:0 4px 10px rgba(0,0,0,.2);
    transition:transform .2s ease, background .2s ease;
}
.tld-share__fav-wrap .AddToFavorites i{ font-size:16px; color:#6b6b6b; }
.tld-share__fav-wrap .AddToFavorites:hover{ transform:scale(1.1); background:#fff; }
.tld-share__fav-wrap .AddToFavorites.text-red i{ color:#e0453c; }

.tld-share__comments-wrap{ position:absolute; left:14px; bottom:10px; pointer-events:auto; }
.tld-share__comments-wrap .comm{
    display:flex; align-items:center; gap:5px;
    font-family:'Open Sans', sans-serif; font-size:12.5px; font-weight:600;
    color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.tld-share__comments-wrap .comm i{ font-size:14px; }
.tld-share__comments-wrap .comm:hover{ color:#a9e46a; }

.tld-share__more{ position:absolute; right:14px; bottom:6px; pointer-events:auto; }
.tld-share__more .sha{
    display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; color:#fff; font-size:15px;
}
.tld-share__more .sha:hover{ color:#a9e46a; }
/* Popup-ul cu WhatsApp/FB/Twitter/Pinterest — ascuns implicit, JS-ul existent
   (custom.js: $(".SHare").hover) adauga/scoate clasa .shw la hover. */
.tld-share__more .Socials__Links{
    display:none;
    position:absolute; bottom:100%; right:0; margin-bottom:8px;
    background:rgba(20,20,20,.88); border-radius:14px;
    padding:7px 8px; gap:2px;
    white-space:nowrap;
}
.tld-share__more.shw .Socials__Links{ display:flex; align-items:center; }
.tld-share__more .Socials__Links a{
    display:flex; align-items:center; justify-content:center;
    width:26px; height:26px; color:#fff; font-size:14px;
}
.tld-share__more .Socials__Links a:hover{ color:#a9e46a; }

/* ---------- Header zona (Descriere_judet) ---------- */
.tld-term-header{
    background:#f5faf1;
    border:1px solid #dcefd2;
    border-radius:14px;
    box-shadow:0 4px 12px rgba(0,0,0,.04);
}
.tld-term-header__eyebrow{
    display:inline-flex; align-items:center; gap:6px;
    background:#69b706; color:#fff;
    font-family:'Oswald', sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.03em;
    padding:6px 14px; border-radius:50px; margin-bottom:12px;
}
.tld-term-header h2.ST{
    font-family:'Oswald', sans-serif; font-size:24px; font-weight:700; color:#363636; margin-bottom:14px;
}
.tld-term-header .Descriere_judet__Content{
    font-family:'Open Sans', sans-serif; font-size:14px; color:#4d4d4d; line-height:1.75em;
}

/* ---------- Filtru zone (search + lista) ---------- */
.tld-filter{
    background:#fff;
    border:1px solid #eee;
    border-radius:14px;
    padding:16px 16px 6px;
    box-shadow:0 4px 14px rgba(0,0,0,.05);
}
.tld-filter--mobile{ margin-bottom:20px; padding:14px; }
.tld-filter--mobile .tld-filter-search-wrap{ margin-bottom:12px; }
.tld-filter .Side__title{ margin-top:0 !important; }
.tld-filter .Side__title h3{
    font-family:'Oswald', sans-serif; font-size:14px; font-weight:700; color:#363636;
    display:flex; align-items:center; justify-content:space-between; width:100%;
}
.tld-filter .Side__title i{ color:#69b706; }

.tld-filter-search-wrap{
    position:relative; margin-bottom:14px;
}
.tld-filter-search-wrap i{
    position:absolute; left:14px; top:50%; transform:translateY(-50%);
    color:#9a9a9a; font-size:14px;
}
.tld-filter-search{
    width:100%; border:1px solid #e2e2e2; border-radius:50px;
    padding:10px 14px 10px 38px;
    font-family:'Open Sans', sans-serif; font-size:13.5px; color:#363636;
    outline:none; transition:border-color .2s ease;
}
.tld-filter-search:focus{ border-color:#69b706; }

/* Bug fix: lista era d-none pe mobil desi filtrul mobil trebuie sa o afiseze */
.tld-filter--mobile .Delta__Sidebar-locatii{ display:block !important; }

.tld-filter .Delta__Sidebar-locatii{
    list-style:none; margin:0 !important; padding:0 !important;
}
.tld-filter .Delta__Sidebar-locatii li{
    position:relative;
    /* general.css (design-ul vechi, cu checkbox-uri) pune margin-bottom:15px pe orice li din
       aceasta lista — mult prea mult pentru randurile noastre compacte (padding 9px + linie
       divizoare). Se vede cel mai tare la itemul activ, unde linia devine transparenta si ramane
       doar un gol mare, fara nimic care sa marcheze finalul randului. */
    margin-bottom:0 !important;
}
.tld-filter .Delta__Sidebar-locatii li a{
    display:block;
    font-family:'Open Sans', sans-serif; font-size:13.5px; color:#4d4d4d;
    padding:9px 10px 9px 4px;
    border-bottom:1px solid #f2f2f2;
    text-decoration:none;
    transition:color .15s ease, padding-left .15s ease;
}
.tld-filter .Delta__Sidebar-locatii li a:before{ content:none !important; }
.tld-filter .Delta__Sidebar-locatii li a:after{ content:none !important; }
.tld-filter .Delta__Sidebar-locatii li a:hover{ color:#69b706; padding-left:8px; }
/* Locatia curenta (pagina pe care esti) — evidentiata puternic, nu doar text colorat */
.tld-filter .Delta__Sidebar-locatii li a.activ{
    color:#fff !important;
    font-weight:700;
    background:#69b706;
    border-radius:8px;
    border-bottom-color:transparent;
    padding-left:12px;
}
.tld-filter .Delta__Sidebar-locatii li a.activ:hover{ color:#fff; padding-left:12px; }
.tld-filter .Delta__Sidebar-locatii li.ml-15 a{ font-size:13px; color:#7a7a7a; }
/* Nivelul 2 (ex: orasul dintr-un judet) — cu un pas mai mic/deschis decat judetul parinte (nivel 1),
   ca sa se vada clar diferenta de adancime, nu doar prin indentare. */
.tld-filter .Delta__Sidebar-locatii li[data-lvl="2"] a{ font-size:12.5px; color:#9a9a9a; }
.tld-filter .Delta__Sidebar-locatii li.tld-filter-search-hidden{ display:none; }

/* Grupuri colapsabile (adaugate de JS) */
.tld-filter .tld-filter-parent > a{ padding-right:34px; font-weight:700; color:#363636; }
/* Eticheta "Romania" e doar grupare vizuala (span, nu link) — vezi hierarchical_category_list().
   font-size explicit: un <span> nu e acoperit de regula ".Delta__Sidebar-locatii li a" de mai sus,
   asa ca fara asta mostenea marimea implicita a browserului (~25px) in loc de 13.5px. */
.tld-filter .tld-filter-parent > .filter-group-label{
    display:block; padding:9px 34px 9px 4px; font-family:'Open Sans', sans-serif;
    font-size:13.5px; font-weight:700; color:#363636; cursor:pointer;
}
.tld-filter .tld-filter-toggle{
    position:absolute; right:0; top:4px;
    width:28px; height:28px; border:none; background:transparent; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    color:#9a9a9a; transition:transform .2s ease;
}
.tld-filter li.is-open .tld-filter-toggle{ transform:rotate(180deg); color:#69b706; }
/* Cand judetul deschis e chiar cel activ (pill verde de fundal), iconita verde de mai sus s-ar
   pierde pe fundalul verde — o facem alba, ca pe restul textului din pill. */
.tld-filter li.is-open-active .tld-filter-toggle{ color:#fff; }
.tld-filter-children{
    list-style:none; margin:0 !important;
    /* Fara !important pe left: fiecare nivel de <ul> imbricat aduna acest padding peste cel al
       parintelui, asa ca adancimea se vede progresiv (nivel 1 = 16px, nivel 2 = 32px etc.),
       fara sa avem nevoie de clase separate pe fiecare nivel. */
    padding:0 !important; padding-left:16px !important;
}

/* Buton de deschidere pentru filtrul mobil — ascuns pe desktop, filtrul colapsat
   implicit pe mobil ca sa nu ocupe tot ecranul intre hero si primele carduri. */
.tld-filter-toggle-btn{
    display:none;
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:#f5faf1;
    border:1px solid #dcefd2;
    border-radius:12px;
    padding:13px 16px;
    font-family:'Oswald', sans-serif;
    font-size:13.5px;
    font-weight:600;
    color:#363636;
    cursor:pointer;
    text-align:left;
}
.tld-filter-toggle-btn__label{
    display:flex; align-items:center; gap:8px; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.tld-filter-toggle-btn__label i{ color:#69b706; flex-shrink:0; }
/* Grup dreapta: iconita de filtru + sageata — semnaleaza clar ca butonul e interactiv
   (altfel, mai ales pe pagina unei zone, ar parea doar o eticheta statica "esti aici"). */
.tld-filter-toggle-btn__action{
    display:flex; align-items:center; gap:8px; flex-shrink:0;
    background:#fff; border:1px solid #dcefd2; border-radius:50px;
    padding:6px 10px;
}
.tld-filter-toggle-btn__action i:first-child{ color:#69b706; font-size:13px; }
.tld-filter-toggle-btn__chev{ color:#9a9a9a; flex-shrink:0; transition:transform .2s ease; font-size:11px; }
.tld-filter--mobile.is-open .tld-filter-toggle-btn__chev{ transform:rotate(180deg); }

.tld-filter--mobile .tld-filter-toggle-btn{ display:flex; }
.tld-filter--mobile .tld-filter-collapse{ display:none; margin-top:14px; }
.tld-filter--mobile.is-open .tld-filter-collapse{ display:block; }

/* Chiar si deschisa, limitam inaltimea listei ca sa nu "inghita" tot ecranul pe mobil —
   ramane scrollabila intern, cardurile raman aproape. */
@media (max-width:767px){
    /* Un singur scroll (lista principala) — fara scroll in scroll pe grupurile imbricate. */
    .tld-filter--mobile .Delta__Sidebar-locatii{
        max-height:min(55vh, 380px);
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
    /* Pe mobil filtrul are propria versiune (butonul de sus) — copia din sidebar ar dubla-o. */
    .tld-filter--desktop{ display:none; }
}

/* ---------- Responsive ---------- */
@media (max-width:767px){
    .tld-card__img{ height:170px; }
}

/* ---------- Descriere de jos (descriere_bottom, sub paginare) ---------- */
.tld-term-bottom{
    position:relative;
    margin:30px 0;
    padding:26px 28px 24px 32px;
    background:#fff;
    border:1px solid #eee;
    border-radius:16px;
    box-shadow:0 4px 16px rgba(0,0,0,.06);
    overflow:hidden;
}
.tld-term-bottom:before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
    background:linear-gradient(180deg,#69b706 0%,#a9e46a 100%);
}
.tld-term-bottom__eyebrow{
    display:inline-flex; align-items:center; gap:6px;
    background:#eaf6e0; color:#4f8f0a;
    font-family:'Oswald', sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.03em;
    padding:6px 14px; border-radius:50px; margin-bottom:14px;
}
.tld-term-bottom__content{
    font-family:'Open Sans', sans-serif; font-size:14.5px; color:#4d4d4d; line-height:1.8em;
}
.tld-term-bottom__content > :first-child{ margin-top:0; }
.tld-term-bottom__content > :last-child{ margin-bottom:0; }
.tld-term-bottom__content h2,
.tld-term-bottom__content h3,
.tld-term-bottom__content h4{
    font-family:'Oswald', sans-serif; font-weight:600; color:#363636; line-height:1.3em; margin:26px 0 10px;
}
.tld-term-bottom__content h2{ font-size:22px; }
.tld-term-bottom__content h3{ font-size:18px; }
.tld-term-bottom__content h4{ font-size:16px; }
.tld-term-bottom__content p{ margin:0 0 14px; }
.tld-term-bottom__content ul,
.tld-term-bottom__content ol{ margin:0 0 16px; padding-left:20px; }
.tld-term-bottom__content li{ margin-bottom:6px; }
.tld-term-bottom__content a{ color:#4f8f0a; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.tld-term-bottom__content a:hover{ color:#69b706; }
.tld-term-bottom__content img{ max-width:100%; height:auto; border-radius:10px; }
.tld-term-bottom__content blockquote{
    margin:0 0 16px; padding:12px 16px; background:#f5faf1; border-left:3px solid #69b706; border-radius:0 10px 10px 0;
}
@media (max-width:767px){
    .tld-term-bottom{ padding:20px 18px 18px 22px; margin:24px 0; border-radius:14px; }
    .tld-term-bottom__content{ font-size:14px; }
    .tld-term-bottom__content h2{ font-size:19px; }
    .tld-term-bottom__content h3{ font-size:16.5px; }
}

/* ---------- Titlu filtru: fara linie dubla, discret ---------- */
.tld-filter .Side__title{ border-bottom:1px solid #eee; margin-bottom:6px !important; }
.tld-filter .Side__title h3{ border-bottom:0; padding-bottom:10px; }
