/* ——— DOAR în lista de categorii ——— */
.category-item .item__description p:empty,
.category-item .item__description p:only-child:has(br),
.category-item .item__description p:only-child:has( ),
.category-item .item__description p:only-child:has(span:empty){
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Dacă descrierea devine goală după ascunderea <p>, ascunde întreg blocul */
.category-item .item__description:empty,
.category-item .item__description:has(> p:empty),
.category-item .item__description:has(> p:only-child:has(br)),
.category-item .item__description:has(> p:only-child:has(span:empty)){
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Dacă tema injectează pseudo-elemente, elimină-le */
.category-item .item__description::before,
.category-item .item__description::after{
  content: none !important;
  display: none !important;
}

/* Elimină gap-ul rămas înaintea butonului când descrierea e ascunsă */
.category-item .item__description:where(:empty,
  :has(> p:empty),
  :has(> p:only-child:has(br)),
  :has(> p:only-child:has(span:empty))
) + *{
  margin-top: 0 !important;
}

/* ===== Elimina spațiul de sub titlul categoriei DOAR pe pagina cu categorii ===== */

/* (OPȚIONAL) Gard: aplică numai când sunt vizibile carduri de categorii
   și nu e deschisă pagina de servicii/furnizori.
   Dacă browserul nu suportă :has(), regulile de mai jos tot funcționează
   pentru că sunt oricum limitate la .category-item. */
:root:is(:has(.category-item), :has(#categories), :has(.categories-list))
     :not(:has(.service-item), :has(#services), :has(.services-list), :has(.provider-item), :has(#providers)) { }

/* 1) Reset dimensiuni/margini puse de temă pe descriere – DOAR în categorii */
.category-item .item__description,
.category-item .item__description.short,
.category-item .item_description{
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* 2) Dacă nu există text în descriere, ascunde complet blocul (numai la categorii) */
.category-item .item__description:empty,
.category-item .item__description.short:empty,
.category-item .item_description:empty{
  display: none !important;
}

/* 3) În unele teme descrierea conține doar <p> cu margini – anulăm (numai la categorii) */
.category-item .item__description > p{
  margin: 0 !important;
  padding: 0 !important;
}

/* 4) Fallback – dacă blocul conține doar spații/line-breakuri, forțăm înălțime 0 (numai la categorii) */
.category-item .item__description:not(:has(*)){
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* === Aceeași rază ca butonul === */
:root{
  --ui-radius: 20px;
  --btn-radius: calc(var(--ui-radius) - 6px);
}

/* 1) WRAPPERE IMAGINE — categorie + servicii + generic */
#sb_category_step_container .item [class*="item_picture"],
#sb_category_step_container .item .item__image,
#sb_service_step_container  .item [class*="item_picture"],
#sb_service_step_container  .item .item__image,
#sb_booking_content         .item [class*="item_picture"],
#sb_booking_content         .item .item__image,
.item [class*="item_picture"],
.item .item__image{
  position: relative !important;
  display: block !important;
  border-radius: var(--btn-radius) !important;
  overflow: hidden !important; /* taie colțurile pentru img absolut */
}

/* 2) IMAGINEA propriu-zisă (user-img, fit-mode, etc.) */
#sb_category_step_container .item img,
#sb_category_step_container .item .item_picture--fit-mode img,
#sb_service_step_container  .item img,
#sb_service_step_container  .item .item_picture--fit-mode img,
#sb_booking_content         .item img,
#sb_booking_content         .item .item_picture--fit-mode img,
.item .item__image img,
.item .item_picture--fit-mode img,
.item img.user-img{
  border-radius: inherit !important;            /* ia raza wrapperului */
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  /* plasă de siguranță dacă tema mai forțează colțuri pătrate */
  clip-path: inset(0 round var(--btn-radius)) !important;
}

/* 3) Unele teme au link-wrapper peste imagine — îl prindem și pe acesta */
#sb_category_step_container .item a.item_picture_wrapper,
#sb_service_step_container  .item a.item_picture_wrapper,
#sb_booking_content         .item a.item_picture_wrapper,
.item a.item_picture_wrapper{
  border-radius: var(--btn-radius) !important;
  overflow: hidden !important;
}

/* Rotunjire butoane peste tot */
:root{ --ui-radius:20px; }
:root{ --btn-radius: calc(var(--ui-radius) - 6px); }

#sb_category_step_container .sb-button,
#sb_category_step_container .btn,
#sb_category_step_container button,
#sb_service_step_container  .sb-button,
#sb_service_step_container  .btn,
#sb_service_step_container  button,
#sb_booking_content         .sb-button,
#sb_booking_content         .btn,
#sb_booking_content         button,
.sb-modal .btn, .sb-popup .btn,          /* modale/popup-uri */
.btn, .sb-button, button {               /* fallback global */
  border-radius: var(--btn-radius) !important;
}

/* —— TITLU DOAR ÎN PAGINA DE CATEGORII: centrat, pe toată lățimea cardului —— */
#sb_category_step_container .item .item__content h1.title,
#sb_category_step_container .item .item__content h2.title,
#sb_category_step_container .item .item__content h3.title,
#sb_category_step_container .item .item__content h4.title,
#sb_category_step_container .item .item__content h4.title.title--h4,
#sb_category_step_container .item .item__content h4.title.title--h4.short{
  display: block !important;
  width: auto !important;          /* anulează orice width fix */
  max-width: none !important;      /* NU mai limităm la 50% */
  margin: 12px 0 10px !important;  /* fără margin auto – folosește lățimea completă */
  text-align: center !important;   /* textul din titlu este centrat */

  /* împachetare sănătoasă, fără despărțire la cratimă */
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important; /* rupe doar dacă un cuvânt e prea lung */
  hyphens: none !important;            /* oprește „Trata- mente” */
  text-wrap: balance;                   /* (opțional) împarte mai frumos pe 2 rânduri */
}

/* NU schimbăm alinierea restului conținutului cardului */
#sb_category_step_container .item .item__content{
  text-align: initial !important;
}

