/* 
Theme Name: CautaStomatolog
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root{
  --cs-blue-900:#1B5FA8;
  --cs-blue-700:#2E7DC4;
  --cs-blue-500:#4FA3E3;
  --cs-blue-300:#7ECBF5;
  --cs-blue-100:#C9E8FA;
  --cs-cta:#12B5A5;
  --cs-cta-hover:#0E9A8C;
  --cs-success:#16A34A;
  --cs-premium:#D9A227;
  --cs-bg-soft:#F6F9FC;
  --cs-border:#E3EAF2;
  --cs-text:#1A2A3A;
  --cs-text-muted:#5B6B7C;
  --cs-white:#FFFFFF;
  --cs-radius:16px;
  --cs-radius-sm:10px;
  --cs-font-head:"Manrope",sans-serif;
  --cs-font-body:"Inter",sans-serif;
}

/* ---------- [cs_terms] : grid termeni ---------- */
.cs-terms-grid{
  display:grid;
  grid-template-columns:repeat(var(--cs-cols,4),1fr);
  gap:16px;
  width:100%;
}
.cs-term-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:126px;
  padding:22px 14px;
  text-align:center;
  text-decoration:none;
  background:var(--cs-bg-soft);
  border:1px solid var(--cs-border);
  border-radius:14px;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.cs-term-card:hover{
  background:var(--cs-blue-100);
  border-color:var(--cs-blue-300);
  transform:translateY(-2px);
}
.cs-term-card__icon{ font-size:22px; color:var(--cs-blue-900); }
.cs-term-card__name{
  font:700 16px/1.3 var(--cs-font-head);
  color:var(--cs-blue-900);
}
.cs-term-card__count{
  font:500 13px/1 var(--cs-font-body);
  color:var(--cs-text-muted);
}

/* ---------- [cs_terms_inline] : chips ---------- */
.cs-chips-inner{ display:flex; flex-wrap:wrap; gap:6px; }
.cs-chip{
  display:inline-flex;
  align-items:center;
  font:600 12px/1 var(--cs-font-body);
  padding:6px 10px;
  border-radius:8px;
  white-space:nowrap;
  text-decoration:none;
}
.cs-chip--solid{ background:var(--cs-blue-100); color:var(--cs-blue-900); }
.cs-chip--soft{
  background:var(--cs-bg-soft);
  color:var(--cs-text-muted);
  border:1px solid var(--cs-border);
}
.cs-chip--more{
  background:transparent;
  color:var(--cs-text-muted);
  border:1px dashed var(--cs-border);
}
a.cs-chip:hover{ background:var(--cs-blue-300); color:var(--cs-white); }

/* ---------- [cs_badges] ---------- */
.cs-badges{ display:flex; flex-wrap:wrap; gap:6px; }
.cs-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font:700 11px/1 var(--cs-font-body);
  text-transform:uppercase;
  letter-spacing:.3px;
  padding:5px 10px;
  border-radius:999px;
  color:var(--cs-white);
}
.cs-badge i{ font-size:11px; }
.cs-badge--verified{ background:var(--cs-success); }
.cs-badge--premium{ background:var(--cs-premium); }
.cs-badge--recommended{ background:var(--cs-blue-900); }
.cs-badge--type{
  background:rgba(255,255,255,.94);
  color:var(--cs-blue-900);
}

/* ---------- [cs_program] ---------- */
.cs-schedule{
  border:1px solid var(--cs-border);
  border-radius:var(--cs-radius);
  overflow:hidden;
  background:var(--cs-white);
}
.cs-schedule__table{
  width:100%;
  border-collapse:collapse;
  margin:0;
}
.cs-schedule__row{ border-bottom:1px solid var(--cs-border); }
.cs-schedule__row:last-child{ border-bottom:0; }
.cs-schedule__row.is-closed{ background:var(--cs-bg-soft); }
.cs-schedule__day{
  text-align:left;
  padding:13px 18px;
  font:600 15px/1.4 var(--cs-font-body);
  color:var(--cs-text);
  width:50%;
}
.cs-schedule__hours{
  text-align:right;
  padding:13px 18px;
  font:500 15px/1.4 var(--cs-font-body);
  color:var(--cs-text-muted);
}
.cs-schedule__closed{ color:#C0392B; font-weight:600; }

/* ---------- [cs_preturi] ---------- */
.cs-prices-table{ width:100%; }
.cs-prices{
  width:100%;
  border-collapse:collapse;
  border:1px solid var(--cs-border);
  border-radius:var(--cs-radius);
  overflow:hidden;
  background:var(--cs-white);
}
.cs-prices thead th{
  background:var(--cs-bg-soft);
  text-align:left;
  padding:14px 18px;
  font:700 13px/1 var(--cs-font-body);
  text-transform:uppercase;
  letter-spacing:.4px;
  color:var(--cs-blue-900);
  border-bottom:1px solid var(--cs-border);
}
.cs-prices thead th:last-child{ text-align:right; }
.cs-prices__row{ border-bottom:1px solid var(--cs-border); }
.cs-prices__row:last-child{ border-bottom:0; }
.cs-prices__service{
  padding:13px 18px;
  font:500 15px/1.5 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-prices__value{
  padding:13px 18px;
  text-align:right;
  font:700 15px/1.5 var(--cs-font-body);
  color:var(--cs-blue-900);
  white-space:nowrap;
}
.cs-prices__note{
  margin:12px 0 0;
  font:400 13px/1.6 var(--cs-font-body);
  color:var(--cs-text-muted);
}

/* ---------- [cs_facilitati] ---------- */
.cs-facilities{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 20px;
  list-style:none;
  margin:0;
  padding:0;
}
.cs-facility{
  display:flex;
  align-items:center;
  gap:10px;
  font:500 15px/1.5 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-facility i{
  flex:0 0 auto;
  width:30px; height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  color:var(--cs-cta);
  background:var(--cs-blue-100);
  border-radius:50%;
}

/* ---------- [cs_contact] ---------- */
.cs-contact{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px 24px;
  list-style:none;
  margin:0;
  padding:0;
}
.cs-contact__item{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font:500 15px/1.5 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-contact__item--wide{ grid-column:1 / -1; align-items:flex-start; }
.cs-contact__item i{
  flex:0 0 auto;
  width:32px; height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  color:var(--cs-blue-900);
  background:var(--cs-bg-soft);
  border:1px solid var(--cs-border);
  border-radius:50%;
}
.cs-contact__label{
  font:700 12px/1 var(--cs-font-body);
  text-transform:uppercase;
  letter-spacing:.3px;
  color:var(--cs-text-muted);
  width:100%;
  padding-left:42px;
  margin-bottom:-6px;
  order:-1;
}
.cs-contact__item a{ color:var(--cs-blue-700); text-decoration:none; }
.cs-contact__item a:hover{ color:var(--cs-blue-900); text-decoration:underline; }

/* ---------- [cs_harta] ---------- */
.cs-map{ display:flex; flex-direction:column; gap:12px; }
.cs-map__frame{
  width:100%;
  border:1px solid var(--cs-border);
  border-radius:var(--cs-radius);
  display:block;
}
.cs-map__link{ align-self:flex-start; }

/* ---------- [cs_medici_clinica] ---------- */
.cs-doctors-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.cs-doctor-card--compact{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  background:var(--cs-white);
  border:1px solid var(--cs-border);
  border-radius:var(--cs-radius);
  overflow:hidden;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.cs-doctor-card--compact:hover{
  border-color:var(--cs-blue-300);
  box-shadow:0 10px 24px rgba(27,95,168,.12);
  transform:translateY(-3px);
}
.cs-doctor-card__media{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--cs-bg-soft);
}
.cs-doctor-card__media img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.cs-doctor-card__media--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:38px;
  color:var(--cs-blue-300);
}
.cs-doctor-card__body{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px;
}
.cs-doctor-card__name{
  margin:0;
  font:700 16px/1.3 var(--cs-font-head);
  color:var(--cs-blue-900);
}
.cs-doctor-card__role{
  font:600 13px/1.4 var(--cs-font-body);
  color:var(--cs-cta);
}
.cs-doctor-card__spec{
  font:400 13px/1.5 var(--cs-font-body);
  color:var(--cs-text-muted);
}

/* ---------- [cs_clinici_medic] ---------- */
.cs-clinics-linked{ display:flex; flex-direction:column; gap:16px; }
.cs-clinic-mini{
  display:flex;
  gap:16px;
  padding:16px;
  background:var(--cs-white);
  border:1px solid var(--cs-border);
  border-radius:var(--cs-radius);
}
.cs-clinic-mini__media{
  flex:0 0 120px;
  height:100px;
  border-radius:var(--cs-radius-sm);
  overflow:hidden;
  background:var(--cs-bg-soft);
}
.cs-clinic-mini__media img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.cs-clinic-mini__body{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
  flex:1 1 auto;
  min-width:0;
}
.cs-clinic-mini__name{
  margin:0;
  font:700 18px/1.3 var(--cs-font-head);
  color:var(--cs-blue-900);
}
.cs-clinic-mini__addr,
.cs-clinic-mini__phone{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font:500 14px/1.5 var(--cs-font-body);
  color:var(--cs-text-muted);
  text-decoration:none;
}
.cs-clinic-mini__addr i,
.cs-clinic-mini__phone i{ font-size:12px; color:var(--cs-blue-300); }
.cs-clinic-mini__phone:hover{ color:var(--cs-blue-900); }
.cs-clinic-mini__link{ margin-top:6px; }

/* ---------- Butoane comune ---------- 
.cs-btn--outline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  font:600 15px/1 var(--cs-font-body);
  color:var(--cs-blue-900);
  background:transparent;
  border:1px solid var(--cs-blue-900);
  border-radius:var(--cs-radius-sm);
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.cs-btn--outline:hover{
  background:var(--cs-blue-900);
  color:var(--cs-white);
}
*/
/* ---------- Ascunde containere goale ---------- */
.cs-chips:empty,
.cs-hide-if-empty:empty,
.cs-badges:empty{ display:none !important; }
/* =========================================================
   CautaStomatolog — CSS pagini conținut + legal + verificat
   Se adaugă DUPĂ cs-shortcodes.css și cs-single.css
   ========================================================= */

/* ---------- Badge "Informație verificată" ---------- */
.cs-verified{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:700 12px/1 var(--cs-font-body);
  color:#0F7A38;
  background:#E7F7EF;
  border:1px solid #B7E4CB;
  padding:5px 10px;
  border-radius:999px;
  white-space:nowrap;
  vertical-align:middle;
}
.cs-verified i{ font-size:12px; color:#16A34A; }
.cs-verified--compact{ padding:5px; gap:0; }
.cs-verified--compact i{ font-size:13px; }

/* varianta inline pentru text (în paragrafe, notices) */
.cs-verified-inline{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-weight:700;
  color:#0F7A38;
  background:#E7F7EF;
  padding:2px 8px;
  border-radius:999px;
  font-size:.9em;
}
.cs-verified-inline i{ color:#16A34A; font-size:.9em; }

/* ---------- Câmp cu verificare ---------- */
.cs-vfield{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:10px 0;
  border-bottom:1px solid var(--cs-border);
}
.cs-vfield:last-child{ border-bottom:0; }
.cs-vfield__label{
  font:700 12px/1 var(--cs-font-body);
  text-transform:uppercase;
  letter-spacing:.3px;
  color:var(--cs-text-muted);
  min-width:110px;
}
.cs-vfield__value{
  font:500 15px/1.5 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-vfield__value a{ color:var(--cs-blue-700); text-decoration:none; }
.cs-vfield__value a:hover{ text-decoration:underline; }

/* ---------- Notices ---------- */
.cs-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 18px;
  border-radius:12px;
  border:1px solid var(--cs-border);
  font:400 14px/1.65 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-notice i{ flex:0 0 auto; margin-top:2px; font-size:18px; }
.cs-notice p{ margin:0; }
.cs-notice--info{ background:var(--cs-blue-100); border-color:#B6D9F2; }
.cs-notice--info i{ color:var(--cs-blue-900); }
.cs-notice--verified{ background:#E7F7EF; border-color:#B7E4CB; }
.cs-notice--verified i{ color:#16A34A; }
.cs-notice--warning{ background:#FDF6E3; border-color:#F0E0B0; }
.cs-notice--warning i{ color:#B7791F; }

/* ---------- Pagini legal ---------- */
.cs-legal{ }
.cs-legal__title{
  margin:0;
  scroll-margin-top:100px;
}
.cs-legal .elementor-widget-text-editor{
  font:400 16px/1.8 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-legal p{ margin:0 0 14px; }
.cs-legal ul,
.cs-legal ol{ margin:0 0 14px; padding-left:22px; }
.cs-legal li{ margin-bottom:8px; }
.cs-legal a{ color:var(--cs-blue-700); }
.cs-legal a:hover{ color:var(--cs-blue-900); }
.cs-legal strong{ color:var(--cs-text); font-weight:600; }

/* ---------- Info card (Despre, Contact) ---------- */
.cs-info-card,
.cs-promo-card{
  background:var(--cs-white);
  border:1px solid var(--cs-border);
  border-radius:16px;
  padding:28px;
}
.cs-contact-info{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.cs-contact-info li{
  display:flex;
  align-items:center;
  gap:10px;
  font:500 15px/1.5 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-contact-info i{
  width:32px; height:32px;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:13px; color:var(--cs-blue-900);
  background:var(--cs-bg-soft); border:1px solid var(--cs-border);
  border-radius:50%;
}
.cs-contact-info a{ color:var(--cs-blue-700); text-decoration:none; }

/* ---------- Promovare ---------- */
.cs-promo-grid{ align-items:stretch; }
.cs-promo-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1 1 0;
  min-width:0;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.cs-promo-card:hover{
  border-color:var(--cs-blue-300);
  box-shadow:0 10px 26px rgba(27,95,168,.10);
  transform:translateY(-3px);
}
.cs-promo-card i{ font-size:26px; }
.cs-promo-price{
  margin-top:auto !important;
  font:700 15px/1.4 var(--cs-font-body);
  color:var(--cs-blue-900);
  padding-top:8px;
  border-top:1px solid var(--cs-border);
}
.cs-promo-cta{ margin-top:8px; }

/* ---------- Arhive taxonomii ---------- */
.cs-tax-page .cs-terms-grid{ margin-bottom:8px; }



/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  .cs-terms-grid{ grid-template-columns:repeat(3,1fr); }
  .cs-doctors-grid{ grid-template-columns:repeat(3,1fr); }
   .cs-promo-grid{ flex-wrap:wrap; }
  .cs-promo-card{ flex:1 1 45%; }
}

@media (max-width:767px){
.cs-legal .elementor-widget-text-editor{ font-size:15px; }
  .cs-legal__title{ scroll-margin-top:80px; }
  .cs-info-card,
  .cs-promo-card{ padding:20px 18px; }
  .cs-promo-card{ flex:1 1 100%; }
  .cs-vfield__label{ min-width:100%; }
  .cs-notice{ font-size:13px; padding:14px 16px; }
  .cs-terms-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .cs-term-card{ min-height:110px; padding:18px 10px; }
  .cs-term-card__name{ font-size:14px; }

  .cs-doctors-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }

  .cs-facilities,
  .cs-contact{ grid-template-columns:1fr; }

  .cs-schedule__day,
  .cs-schedule__hours{ padding:11px 14px; font-size:14px; }

  .cs-prices__service,
  .cs-prices__value{ padding:11px 14px; font-size:14px; }

  .cs-clinic-mini{ flex-direction:column; }
  .cs-clinic-mini__media{ flex:0 0 auto; width:100%; height:160px; }
  .cs-clinic-mini__link{ width:100%; justify-content:center; }

  .cs-contact__label{ padding-left:0; }
}

input.facetwp-autocomplete-update {
    display: none !important;
}
.home .facetwp-facet {
    margin-bottom: 0px;
}
/* =========================================================
   CautaStomatolog — CSS Arhivă locații (județe + orașe)
   Se adaugă după celelalte fișiere CSS
   ========================================================= */

.cs-locatii{
  display:flex;
  flex-direction:column;
  gap:20px;
}

/* ---------- Grup județ ---------- */
.cs-locatii__group{
  background:var(--cs-white);
  border:1px solid var(--cs-border);
  border-radius:16px;
  overflow:hidden;
}

/* ---------- Header județ ---------- */
.cs-locatii__judet{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 22px;
  background:var(--cs-bg-soft);
  border-bottom:1px solid var(--cs-border);
  text-decoration:none;
  transition:background .2s ease;
}
.cs-locatii__judet:hover{ background:var(--cs-blue-100); }
.cs-locatii__judet-name{
  font:700 19px/1.3 var(--cs-font-head);
  color:var(--cs-blue-900);
}
.cs-locatii__judet-count{
  font:600 13px/1 var(--cs-font-body);
  color:var(--cs-text-muted);
  background:var(--cs-white);
  border:1px solid var(--cs-border);
  padding:6px 12px;
  border-radius:999px;
  white-space:nowrap;
}

/* ---------- Grid orașe ---------- */
.cs-locatii__orase{
  display:grid;
  grid-template-columns:repeat(var(--cs-cols,3),1fr);
  gap:2px;
  background:var(--cs-border);
}
.cs-locatii__oras{
  display:flex;
  align-items:center;
  gap:9px;
  padding:14px 18px;
  background:var(--cs-white);
  text-decoration:none;
  transition:background .18s ease;
}
.cs-locatii__oras:hover{ background:var(--cs-bg-soft); }
.cs-locatii__oras i{
  flex:0 0 auto;
  font-size:12px;
  color:var(--cs-blue-300);
}
.cs-locatii__oras-name{
  flex:1 1 auto;
  font:500 15px/1.3 var(--cs-font-body);
  color:var(--cs-text);
}
.cs-locatii__oras:hover .cs-locatii__oras-name{ color:var(--cs-blue-900); }
.cs-locatii__oras-count{
  flex:0 0 auto;
  font:600 12px/1 var(--cs-font-body);
  color:var(--cs-text-muted);
  background:var(--cs-bg-soft);
  min-width:26px;
  height:26px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  .cs-locatii__orase{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:767px){
  .cs-locatii__orase{ grid-template-columns:1fr !important; }
  .cs-locatii__judet{ padding:16px 18px; }
  .cs-locatii__judet-name{ font-size:17px; }
  .cs-locatii__oras{ padding:13px 16px; }
}
.cs-loc-grid {
	display: grid;
	grid-template-columns: repeat(var(--cs-cols, 3), minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.cs-loc-grid-item {
	min-width: 0;
	height: 100%;
}

.cs-loc-grid-item > .elementor {
	height: 100%;
}

@media (max-width: 1024px) {
	.cs-loc-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.cs-loc-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}
.cs-pagination {
	margin-top: 32px;
	width: 100%;
}

.cs-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cs-pagination .page-numbers li {
	margin: 0;
	padding: 0;
}

.cs-pagination .page-numbers a,
.cs-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #222;
	text-decoration: none;
	transition: all 0.2s ease;
}

.cs-pagination .page-numbers a:hover {
	border-color: #111;
	background: #f5f5f5;
	color: #111;
}

.cs-pagination .page-numbers .current {
	border-color: #111;
	background: #111;
	color: #fff;
}

.cs-pagination .prev,
.cs-pagination .next {
	width: auto;
}
.cs-medic-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cs-medic-meta__row {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 22px;
}

.cs-medic-meta__row > i {
    width: 18px;
    flex: 0 0 18px;
    text-align: center;
    font-size: 15px;
    color: #6ec9f5;
}

.cs-medic-meta__value {
    line-height: 1.4;
}
@media (max-width: 767px) {
	.cs-pagination .page-numbers a,
	.cs-pagination .page-numbers span {
		min-width: 36px;
		height: 36px;
		padding: 0 9px;
		font-size: 13px;
	}
}