/* =========================================================
   Neuromed – widget-urile Elementor
   Clasele se pun în Elementor: Advanced → CSS Classes.
   Ce setezi direct în widget (culori, fonturi, spațieri) are întotdeauna prioritate:
   aici sunt doar valorile implicite ale componentelor Neuromed.
   Funcționează cu și fără „Optimized Markup” (cu sau fără .elementor-widget-container).
   ========================================================= */

/* ---------- Baza ---------- */
.nm-theme .elementor-widget-text-editor :is(p,ul,ol):last-child{margin-bottom:0}
.nm-theme .elementor-heading-title{text-wrap:balance}
.nm-theme .elementor-widget-shortcode .elementor-shortcode > :last-child{margin-bottom:0}
/* Ascuns de filtrul de medici */
.nm-theme .nm-hide{display:none!important}

/* ---------- Butoane (widget-ul Button) ----------
   Pastilă cu colțuri rotunde; culorile vin din Site Settings → Buttons sau din variantele de mai jos.
   La hover se schimbă doar culorile (nu și dimensiunea).
   Clasele nm-btn-* sunt variante fixe: au prioritate și față de culoarea implicită pe care editorul Elementor
   o pune pe fiecare buton (accentul din Site Settings). Pentru culori proprii, scoate clasa din Advanced → CSS Classes. */
:where(.nm-theme) .elementor-button{border-radius:999px;font-family:var(--nm-font);font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s}
.nm-theme button.nm-btn{padding:6px var(--nm-btn-px,28px);font:600 15px/1.2 var(--nm-font);border-radius:999px}
.nm-theme button.nm-btn.nm-btn-block{font-size:16px}
.nm-theme .elementor-element.elementor-widget-button:is(.nm-btn-primary,.nm-btn-ghost,.nm-btn-white,.nm-btn-outline-white) .elementor-button{border:1.5px solid var(--nm-btn-bd);background-color:var(--nm-btn-bg);color:var(--nm-btn-fg)}
.nm-theme .elementor-element.elementor-widget-button:is(.nm-btn-primary,.nm-btn-ghost,.nm-btn-white,.nm-btn-outline-white) .elementor-button:is(:hover,:focus,:active){border-color:var(--nm-btn-bd-h);background-color:var(--nm-btn-bg-h);color:var(--nm-btn-fg-h)}
.nm-theme .elementor-element.elementor-widget-button:is(.nm-btn-primary,.nm-btn-ghost,.nm-btn-white,.nm-btn-outline-white) .elementor-button .elementor-button-icon svg{fill:currentColor}
.elementor-widget-button .elementor-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.elementor-widget-button[class*="align-justify"] .elementor-button{display:flex;width:100%}
/* Link cu săgeată („Centrul de diagnostic imagistic →”) */
.nm-theme .elementor-element.elementor-widget-button.nm-btn-link .elementor-button,
.nm-theme .elementor-element.elementor-widget-button.nm-btn-link .elementor-button:is(:hover,:focus,:active){min-height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--nm-blue);font-size:15px}
.nm-theme .elementor-element.elementor-widget-button.nm-btn-link .elementor-button:hover{color:var(--nm-blue-dark)}
.nm-theme .elementor-element.elementor-widget-button.nm-btn-link .elementor-button-text::after{content:"→";display:inline-block;margin-left:8px;transition:transform .15s}
.nm-theme .elementor-element.elementor-widget-button.nm-btn-link .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.nm-theme .nm-on-dark .elementor-element.elementor-widget-button.nm-btn-link .elementor-button{color:#fff}

/* ---------- Hero (container cu clasa nm-hero-e) ----------
   Fotografia e fundalul containerului (Style → Background); peste ea, gradientul navy de mai jos.
   Pe telefon fotografia stă sus (Background → Size: Contain, Position: Top Center) și se topește în navy. */
.e-con.nm-hero-e{--nm-hero-overlay:linear-gradient(90deg,rgba(10,42,87,.97) 0%,rgba(10,42,87,.9) 34%,rgba(10,42,87,.55) 62%,rgba(10,42,87,.2) 100%),linear-gradient(0deg,rgba(10,42,87,.55) 0%,rgba(10,42,87,0) 40%);isolation:isolate;overflow:hidden;color:#DCE6F5}
.e-con.nm-hero-e::before{content:"";position:absolute;inset:0;z-index:0;width:100%;height:100%;background:var(--nm-hero-overlay);opacity:1;pointer-events:none}
.e-con.nm-hero-e > :is(.e-con-inner,.elementor-element){position:relative;z-index:1}
.nm-hero-e ::selection{background:rgba(255,255,255,.28);color:#fff}
.nm-hero-e .elementor-widget-text-editor{max-width:540px}
.nm-hero-e .nm-hero-points-e{padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.nm-hero-points-e .elementor-icon-list-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:rgba(0,166,82,.22)}
.nm-hero-points-e .elementor-icon-list-icon svg{width:12px;height:12px}
.nm-hero-points-e .elementor-icon-list-text{font-weight:500;line-height:1.4}

/* ---------- Carduri servicii (Icon Box cu clasa nm-svc; fără iconiță, cu link) ---------- */
.elementor-widget.nm-svc{display:flex;flex-direction:column;align-self:stretch;height:auto}
.nm-svc :is(.elementor-widget-container,.elementor-icon-box-wrapper,.elementor-icon-box-content){display:flex;flex:1;flex-direction:column;gap:12px;width:100%;text-align:start}
.elementor-widget.nm-svc .elementor-icon-box-title{margin:0;font-size:clamp(17px,1.5vw,20px);line-height:1.25;font-weight:600;color:var(--nm-ink)}
.elementor-widget.nm-svc .elementor-icon-box-title a{color:inherit}
.elementor-widget.nm-svc .elementor-icon-box-description{margin:0;font-size:14px;line-height:1.6;color:var(--nm-muted)}
.nm-svc .elementor-icon-box-title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.nm-svc:has(.elementor-icon-box-title a) .elementor-icon-box-content::after{content:var(--nm-more) "  →";margin-top:auto;padding-top:8px;font-size:14px;font-weight:600;color:var(--nm-blue);white-space:pre}
.nm-svc.nm-svc-white{background:#fff}
.nm-svc.nm-svc-white:hover{box-shadow:var(--nm-shadow)}
/* Cardul albastru „Programează-te” (container cu clasele nm-svc nm-svc-cta) */
.e-con.nm-svc-cta{gap:12px}
.e-con.nm-svc-cta .elementor-heading-title{color:#fff;font-size:22px;line-height:1.25}
.e-con.nm-svc-cta .elementor-widget-text-editor{color:#E3ECF9;font-size:14px;line-height:1.6}
.e-con.nm-svc-cta .elementor-widget-button{margin-top:auto}

/* ---------- Carduri navy „Informații pentru medici” (Icon Box cu clasa nm-doc) ---------- */
.elementor-widget.nm-doc{display:flex;flex-direction:column;align-self:stretch}
.nm-doc :is(.elementor-widget-container,.elementor-icon-box-wrapper,.elementor-icon-box-content){display:flex;flex:1;flex-direction:column;gap:14px;width:100%;text-align:start}
.elementor-widget.nm-doc .elementor-icon-box-title{margin:0;font-size:clamp(19px,1.7vw,22px);line-height:1.25;font-weight:600;color:#fff}
.elementor-widget.nm-doc .elementor-icon-box-title a{color:#fff}
.elementor-widget.nm-doc .elementor-icon-box-description{margin:0;font-size:15px;line-height:1.7;color:#C9D6EA}
.nm-doc .elementor-icon-box-title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.nm-doc:has(.elementor-icon-box-title a) .elementor-icon-box-content::after{content:var(--nm-more) "  →";margin-top:auto;padding-top:8px;font-size:14px;font-weight:600;color:#fff;white-space:pre}
.elementor-widget.nm-doc:hover{border-color:#3D6BAE}

/* ---------- Avantaje (Icon Box cu clasa nm-hl) și motive (nm-reason) ---------- */
.elementor-widget.nm-hl,.elementor-widget.nm-reason{display:block}
.elementor-widget:is(.nm-hl,.nm-reason) .elementor-icon-box-title{margin:0 0 6px;font-size:18px;line-height:1.3;font-weight:600;color:var(--nm-ink)}
.elementor-widget.nm-hl .elementor-icon-box-description{margin:0;font-size:14px;line-height:1.65;color:var(--nm-muted)}
.elementor-widget.nm-reason .elementor-icon-box-description{margin:0;font-size:15px;line-height:1.65;color:var(--nm-muted)}
.elementor-widget:is(.nm-hl,.nm-reason) .elementor-icon-box-wrapper{text-align:start}

/* ---------- Listă specializări (Icon List cu clasa nm-spec-e): pastile albe cu umbră, pe 2 coloane ---------- */
.nm-spec-e .elementor-icon-list-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:640px}
.nm-spec-e .elementor-icon-list-item{display:flex!important;align-items:center;gap:10px;box-sizing:border-box;min-height:50px;margin:0!important;padding:12px 20px!important;background:#fff;border:1px solid #E6EBF2;border-radius:999px;box-shadow:0 1px 2px rgba(20,24,31,.05),0 10px 22px -12px rgba(8,80,164,.3);transition:transform .15s,box-shadow .15s}
.nm-spec-e .elementor-icon-list-item:has(a):hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(20,24,31,.05),0 14px 26px -12px rgba(8,80,164,.4)}
.nm-spec-e .elementor-icon-list-item > a{display:flex;align-items:center;gap:10px;min-width:0}
.nm-spec-e .elementor-icon-list-icon{display:flex;flex-shrink:0;margin:0!important;padding:0!important}
.nm-spec-e .elementor-icon-list-text{min-width:0;padding:0!important;font-size:15px;font-weight:500;line-height:1.3;color:var(--nm-ink)}
.nm-spec-e .elementor-icon-list-icon svg{width:7px;height:7px}

/* ---------- Testimoniale (Testimonial cu clasa nm-quote-e; containerul-grilă cu clasa nm-quotes-e) ---------- */
.elementor-widget.nm-quote-e{box-sizing:border-box;height:100%;padding:28px;border-radius:24px;background:var(--nm-tint)}
.nm-quote-e .elementor-testimonial-wrapper{display:flex;flex-direction:column;gap:16px;height:100%;text-align:start}
.nm-quote-e .elementor-testimonial-wrapper::before{content:"";display:block;width:32px;height:32px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%2300A652' d='M6 20c0-6 3-10 8-12l1 2c-3 1.4-4.4 3.4-4.6 5.5H14V22H6zM18 20c0-6 3-10 8-12l1 2c-3 1.4-4.4 3.4-4.6 5.5H26V22H18z'/%3E%3C/svg%3E") center/contain no-repeat}
.nm-quote-e .elementor-testimonial-content{font-size:15px;line-height:1.7;color:#33404F;font-style:normal}
.nm-quote-e .elementor-testimonial-meta{margin-top:auto;text-align:start}
.nm-quote-e .elementor-testimonial-meta-inner{display:flex;align-items:center;gap:12px}
.nm-quote-e .elementor-testimonial-name{font-size:15px;font-weight:600;color:var(--nm-ink)}
.nm-quote-e .elementor-testimonial-job{font-size:13px;color:var(--nm-muted)}
.nm-quote-e a{color:inherit}

/* ---------- Medici (container cu clasa nm-doctor; grila cu clasa nm-doctors-e) ---------- */
.e-con.nm-doctor{position:relative;align-items:center;text-align:center;background:#fff;border:1px solid var(--nm-line);border-radius:24px;transition:border-color .15s,box-shadow .15s}
.e-con.nm-doctor:hover{border-color:rgba(8,80,164,.45);box-shadow:0 18px 36px -24px rgba(8,80,164,.35)}
.nm-doctor .elementor-widget-image{line-height:0}
.nm-doctor .elementor-widget-image img{display:block;width:128px;height:128px;max-width:none;margin-inline:auto;aspect-ratio:1;object-fit:cover;object-position:50% 18%;border-radius:50%;box-shadow:0 0 0 6px var(--nm-tint-2)}
.nm-doctor .elementor-heading-title{font-size:17px;line-height:1.3}
.nm-doctor .elementor-widget-text-editor p{display:inline-block;margin:0;padding:4px 12px;border-radius:999px;background:var(--nm-tint-2);color:var(--nm-blue);font-size:13px;font-weight:500;line-height:1.4}
.nm-doctor .elementor-widget-button{margin-top:auto}
.nm-theme .nm-doctor .elementor-element.elementor-widget-button.nm-btn-link .elementor-button{font-size:14px}

/* ---------- Pagini interioare ---------- */
.nm-page-hero-e .nm-crumbs ol{margin-bottom:0}
/* Antet cu poză (Neuromed → Setări → General → Titlul paginii): strat albastru peste poză, text alb */
.nm-ph-img .e-con.nm-page-hero-e{background-image:linear-gradient(90deg,rgba(9,30,62,var(--nm-ph-o,.72)),rgba(9,30,62,calc(var(--nm-ph-o,.72) * .6))),var(--nm-ph-img)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.nm-ph-img .nm-page-hero-e :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor :is(p,li,strong)){color:#fff!important}
.nm-ph-img .nm-page-hero-e .nm-crumbs :is(li,a,span){color:rgba(255,255,255,.82)!important}
.nm-ph-img .nm-page-hero-e .nm-crumbs a:hover{color:#fff!important}
.nm-ph-img .nm-page-hero-e .nm-crumbs li+li::before{color:rgba(255,255,255,.5)}
.elementor-widget.nm-prose{max-width:760px;font-size:17px;line-height:1.8;color:var(--nm-text)}
.nm-prose :is(h2,h3){color:var(--nm-ink);font-weight:600;letter-spacing:-.01em}
.nm-prose h2{margin:40px 0 14px;font-size:clamp(22px,2vw,28px);line-height:1.2}
.nm-prose h3{margin:28px 0 8px;font-size:19px;line-height:1.3}
.nm-prose :is(.elementor-widget-container,.elementor-text-editor) > :first-child,
.nm-prose > :first-child{margin-top:0}
.nm-prose p{margin:0 0 16px}
.nm-prose ul{display:flex;flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none}
.nm-prose ul li{position:relative;padding-left:22px;font-size:16px;line-height:1.7}
.nm-prose ul li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--nm-green)}
.nm-prose a{text-decoration:underline;text-underline-offset:3px}
.e-con.nm-aside-e{position:sticky;top:calc(var(--nm-header-h,76px) + 24px);align-self:start}
.admin-bar .e-con.nm-aside-e{top:calc(var(--nm-header-h,76px) + 56px)}

/* ---------- Telefon (≤767px) ---------- */
@media (max-width:767px){
  /* Hero: fotografia într-o bandă sus, care se topește în navy */
  .e-con.nm-hero-e{--nm-hero-overlay:linear-gradient(180deg,rgba(10,42,87,.05) 0,rgba(10,42,87,.3) 30vw,rgba(10,42,87,.9) 54vw,var(--nm-navy) 66.7vw)}
  .nm-hero-e .elementor-widget-text-editor{font-size:16px;line-height:1.6}
  .nm-hero-e .nm-hero-points-e{padding-top:18px}

  /* Servicii: listă compactă (număr – titlu – săgeată) */
  .nm-services-e .elementor-widget.nm-svc:not(.nm-svc-cta){min-height:60px;flex-direction:row;align-items:center;gap:14px;padding:10px 16px;border-radius:16px}
  .nm-services-e .nm-svc:not(.nm-svc-cta) :is(.elementor-widget-container,.elementor-icon-box-wrapper,.elementor-icon-box-content){flex-direction:row;align-items:center;gap:14px;min-width:0}
  .nm-services-e .nm-svc:not(.nm-svc-cta) .elementor-icon-box-title{flex:1;min-width:0;font-size:15.5px}
  .nm-services-e .nm-svc:not(.nm-svc-cta) .elementor-icon-box-description{display:none}
  .nm-services-e .nm-svc:not(.nm-svc-cta):has(.elementor-icon-box-title a) .elementor-icon-box-content::after{content:"→";margin:0 0 0 auto;padding:0;font-size:16px}
  .nm-services-e .e-con.nm-svc-cta{display:none}

  /* Specializări: grilă de 2 coloane egale (pastilele de lățimi diferite ieșeau în zig-zag) */
  .nm-spec-e .elementor-icon-list-items{gap:8px;max-width:none}
  .nm-spec-e .elementor-icon-list-item{gap:8px;padding:10px 12px!important;min-height:48px;border-radius:14px}
  .nm-spec-e .elementor-icon-list-item > a{gap:8px}
  .nm-spec-e .elementor-icon-list-icon svg{width:6px;height:6px}
  .nm-spec-e .elementor-icon-list-text{font-size:13px}

  /* Testimoniale: o bandă care se derulează orizontal */
  .e-con.nm-quotes-e{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(50% - 50vw)!important;padding:0 calc(50vw - 50%) 8px!important;width:100vw!important;max-width:100vw!important;min-width:0!important;align-self:stretch!important}
  .e-con.nm-quotes-e::-webkit-scrollbar{display:none}
  .e-con.nm-quotes-e > .elementor-widget{flex:0 0 min(290px,85%)!important;width:auto!important;max-width:none!important;scroll-snap-align:start}
  .elementor-widget.nm-quote-e{padding:24px}

  /* Medici: câte doi pe rând */
  .e-con.nm-doctor{padding:16px 10px!important;border-radius:18px;--gap:8px;--row-gap:8px}
  .nm-doctor .elementor-widget-image img{width:88px;height:88px;box-shadow:0 0 0 4px var(--nm-tint-2)}
  .nm-doctor .elementor-heading-title{font-size:15px}
  .nm-doctor .elementor-widget-text-editor p{padding:3px 10px;font-size:12px}
  .nm-theme .nm-doctor .elementor-element.elementor-widget-button.nm-btn-link .elementor-button{font-size:13px;white-space:nowrap}

  .e-con.nm-aside-e{position:static}
  .elementor-widget.nm-prose{font-size:16px}
}

@media (max-width:359px){
  .nm-spec-e .elementor-icon-list-items{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .nm-theme .elementor-button,.e-con.nm-doctor,.nm-theme .elementor-element.elementor-widget-button.nm-btn-link .elementor-button-text::after{transition:none}
}

/* ---------- Utilitare (Advanced → CSS Classes) ---------- */
.nm-maxw-560{max-width:560px}
.nm-maxw-640{max-width:640px}
.nm-maxw-860{max-width:860px}
.nm-on-dark .elementor-heading-title{color:#fff}
/* Breadcrumbs ascunse din Setări: dispare și spațiul widget-ului */
.nm-no-crumbs .elementor-widget-nm-breadcrumbs{display:none!important}
/* Programare + Policlinică (clasa nm-book-split pe grilă). Desktop: două coloane.
   Telefon / tabletă: coloanele se desfac și blocurile se reordonează: titlul, formularul, telefoanele, consultațiile. */
@media (max-width:1024px){
  .nm-book-split > :is(.nm-bs-left,.nm-bs-right){display:contents!important}
  .nm-book-split .nm-bs-head{order:1}
  .nm-book-split .nm-bs-form{order:2!important}
  .nm-book-split .nm-bs-phones{order:3}
  .nm-book-split .nm-bs-info{order:4}
}
/* Formularul de programare dintr-o grilă cu două coloane: pe telefon și tabletă apare primul */
@media (max-width:1024px){
  .e-grid > .elementor-widget-nm-booking.nm-form-first-yes{order:-1}
}
/* Banda albastră cu butoane: pe desktop coloana butoanelor e cât butoanele (încap și 3 pe un rând), textul ia restul */
@media (min-width:1025px){
  .nm-theme .nm-cta-e .e-grid:has(> .nm-cta-buttons){grid-template-columns:minmax(0,1fr) auto}
  .nm-theme .nm-cta-e .nm-cta-buttons{justify-content:flex-end}
}
.nm-hero-points-e .elementor-icon-list-item{gap:12px}
.nm-hero-points-e .elementor-icon-list-icon{padding:0!important}
