/* ===================================================
   Elementor adapter za zasebna-fizioterapija-ljubljana.si
   Premosti razlike med Elementor DOM strukturo in
   originalnimi selektorji iz zfl.css (čisti HTML dizajn).
   Vsako pravilo pove, KATERI konflikt rešuje.
   =================================================== */

/* --- 1. Hello tema doda privzete margine (original ima *{margin:0}).
       Elementni selektorji, naloženi kasneje, jih izničijo, ne povozijo pa
       nobenega class-based pravila iz zfl.css. --- */
h1, h2, h3, h4, h5, h6, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; }

/* --- 2. Lepljiva glava: lepi se ovoj lokacije (<header data-elementor-type>),
       ne notranji container (lepljiv otrok fiksne višine se ne premakne). --- */
[data-elementor-type="header"] {
  position: sticky;
  top: 0;
  z-index: 100;
}
[data-elementor-type="header"] .site-header {
  position: relative;
  top: auto;
  min-height: 0;
}

/* --- 3. Hello header-footer.css uporablja iste razrede .site-header/.header-inner
       in vsiljuje flex-wrap:wrap + max-width:1140px. --- */
.site-header .container.header-inner {
  flex-wrap: nowrap;
  max-width: 1440px;
  width: 100%;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* --- 4. Pro Nav Menu: zaprt mobilni dropdown ostane v toku (~150px) in prelomi
       glavo. Widget mora biti position:static, da se dropdown sidra na .site-header. --- */
@media (max-width: 1024px) {
  .elementor-widget-nav-menu { position: static; }
  .elementor-nav-menu--dropdown-tablet nav.elementor-nav-menu--dropdown,
  .elementor-nav-menu--dropdown-mobile nav.elementor-nav-menu--dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9997;
    box-shadow: var(--shadow-lg);
  }
}

/* --- 5. `.elementor img{height:auto;max-width:100%}` (0-1-1) povozi enorazredna
       pravila za slike iz dizajna (0-1-0) – ponovno uveljavi po razredu. --- */
.elementor .brand-logo-full { height: 48px; width: auto; }
.elementor .brand-logo { height: 52px; width: auto; }
.elementor .hr-avatars img { width: 46px; height: 46px; }
.elementor .t-avatar { width: 54px; height: 54px; }
.elementor .ico-check { width: 20px; height: 20px; }
.elementor .hero-checks .ico-check,
.elementor .cta-checks .ico-check { width: 19px; height: 19px; }
.elementor .cta-photo { width: 150px; height: 150px; }
.elementor .service-icon img,
.elementor .wi-icon img,
.elementor .step-icon img { width: 100%; height: 100%; }
.elementor .chip-icon img { width: 52px; height: 52px; }
.elementor .g-quote img { width: 40px; height: 40px; }
.elementor .author-photo img { width: 100%; height: 100%; }

/* --- 6. Elementor kontejnerji ne smejo dodajati privzetih presledkov.
       SAMO ničelne spremenljivke – dejanski padding pride iz razredov v zfl.css
       (vključno z media queryji), ki so v kaskadi kasneje in zato zmagajo.
       (Flat padding tukaj bi zamrznil namizne razmike na mobilnem.) --- */
.e-con.section,
.e-con.hero,
.e-con.page-hero,
.e-con.site-header,
.e-con.site-footer {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
}

/* --- 7. .container kot Elementor kontejner: centriranje prek auto margin (flex item). --- */
.e-con.container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 24px;
  width: 100%;
}
.e-con.container-narrow { max-width: 780px; }

/* --- 8. Naslovi: Elementor resetira line-height/margine .elementor-heading-title. --- */
h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title {
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.01em;
  /* POZOR: brez `color` – enaka specifičnost kot .cta-band h2 {color:#fff}
     in ker se adapter naloži kasneje, bi naslov na navy pasu postal navy. */
}
h1.elementor-heading-title { font-size: clamp(1.9rem, 4vw, 2.7rem); }
.hero-copy h1.elementor-heading-title { font-size: clamp(2.1rem, 4.2vw, 3rem); }
p.elementor-heading-title { line-height: inherit; margin: 0; }

/* --- 9. Kicker kot Heading widget: original .kicker (uppercase, muted). --- */
.elementor-widget.kicker .elementor-heading-title {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
  margin-bottom: 10px;
}
.triage-head .elementor-widget.kicker .elementor-heading-title { color: var(--accent); }

/* --- 10. Gumbi (POZOR: Elementor 4.2 NIMA .elementor-button-wrapper –
       gumb je <a> neposredno v .elementor-widget-button). --- */
/* --- Elementorjeva privzeta line-height 1 skrajša gumb; dizajn višine
       vrstice sploh ne določa, ampak jo podeduje od telesa (1.65) – zato je
       gumb v izvirniku visok 53px (25 + 24 padding + 4 obroba). --- */
.elementor-widget-button .elementor-button {
  font-family: var(--head);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.65;
  min-height: 48px;
  border-radius: 10px;
  padding: 12px 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.elementor-widget-button .elementor-button .elementor-button-content-wrapper { gap: 9px; }

/* --- 11. Margine na notranjih elementih, ne na .elementor-widget ovojih
       (Elementor kit CSS pobriše spodnje margine ovojev). --- */

/* --- 12. Text editor: privzeti odstavki naj sledijo dizajnu, ne temi. --- */
/* Izvorni CSS ima `* { margin: 0 }` in robove določa izključno s pravili
   dizajna – zato tu NE nastavljamo splošnega roba za odstavke (prej je
   14px povozil npr. `.article-content > p { margin-bottom: 16px }`). */

/* --- 13. Sidra naslovov (id na ovoju widgeta) pod lepljivo glavo. --- */
.elementor-widget[id] { scroll-margin-top: calc(var(--header-h) + 20px); }

/* --- 14. Mrežni kontejnerji brez razreda dobijo privzetih 10px – ničle. --- */
.e-con.services-strip,
.e-con.why-grid,
.e-con.steps-row,
.e-con.testimonials,
.e-con.article-grid,
.e-con.tile-grid,
.e-con.footer-grid { padding: 0; }

/* --- 15. Elementor `.e-con.e-flex{display:flex}` (0-2-0) povozi `display:grid`
       iz dizajna (0-1-0). Adapter je naložen za Elementorjevim CSS, zato pri
       enaki specifičnosti zmaga in vrne mrežne postavitve. --- */
.e-con.hero-inner,
.e-con.why-panel,
.e-con.faq-grid,
.e-con.cta-band,
.e-con.contact-grid,
.e-con.booking-grid,
.e-con.split,
.e-con.author-hero,
.e-con.article-layout,
.e-con.triage { display: grid; }

/* Elementor doda `e-con-full`/flex lastnosti tudi otrokom – zagotovi, da se
   .hero-photo obnaša kot v dizajnu (relativni oder za absolutno sliko). */
.e-con.hero-photo { position: relative; display: block; }
.e-con.hero-photo .elementor-widget-image,
.e-con.hero-photo .elementor-widget-container { position: static; }

/* --- 16. Izvirnik ima na nekaterih sekcijah inline padding (padding-top:0 ipd.).
       V Elementorju to izrazimo z razredi; .e-con.section.pt-0 (0-2-0) premaga
       .section{padding:76px 0} (0-1-0) in ostane pravilno tudi na mobilnem. --- */
.e-con.section.pt-0 { padding-top: 0; }
.e-con.section.pb-0 { padding-bottom: 0; }
.e-con.section.pt-56 { padding-top: 56px; }

/* --- 17. Gumbi so bili 60px namesto 48px iz dizajna: Elementorjev
       .elementor-button-content-wrapper/ikona povečata vsebinsko višino.
       Uskladi vrstično višino besedila in velikost ikone. --- */
.elementor-widget-button .elementor-button .elementor-button-text { line-height: 1.4; }
.elementor-widget-button .elementor-button .elementor-button-icon,
.elementor-widget-button .elementor-button i,
.elementor-widget-button .elementor-button svg {
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 1;
}
.elementor-widget-button .elementor-button .elementor-button-content-wrapper { align-items: center; line-height: 1.4; }

/* --- 18. V CTA pasu (grid stolpec `auto`) se je besedilo gumbov lomilo v dve
       vrstici (73px namesto 53px kot v dizajnu). Gumbi so enovrstični. --- */
.cta-buttons .elementor-button,
.header-actions .elementor-button { white-space: nowrap; }

/* --- 19. Dizajn ima na .btn `border: 2px solid transparent` (skupaj +4px višine).
       Elementor gumbi brez obrobe so bili zato 4px nižji od izvirnika. --- */
.elementor-widget-button .elementor-button { border: 2px solid transparent; }

/* --- 20. Elementor `.elementor-widget{position:relative}` postane sidro za
       absolutno pozicionirano .cta-photo (medaljon je zato pristal sredi pasu).
       Ovoj naredimo nepozicioniran, da sidro spet postane .cta-band. --- */
.cta-photo-wrap { position: static; }

/* --- 21. Elementor `.elementor img{border-radius:0}` (0-1-1) povozi okrogli
       medaljon in belo obrobo iz dizajna (.cta-photo, 0-1-0). --- */
.elementor .cta-photo {
  border-radius: 50%;
  border: 6px solid #fff;
  object-fit: cover;
  object-position: top;
}
.elementor .t-avatar { border-radius: 50%; border: 3px solid #fff; }
.elementor .hr-avatars img { border-radius: 50%; border: 3px solid #fff; }
.elementor .brand-logotip img { height: 48px; width: auto; }

/* --- 22. V izvirniku višino .split-photo / .article-figure slike določa HTML
       atribut height (CSS aspect-ratio se zato NE uveljavi). V WP Hello tema
       doda img{height:auto} in slike so ~290px nižje. Ker Chrome atributa ne
       uveljavi kot višino, pretvornik atribut prepiše v inline style (glej
       zp_fix() v scripts/build-zfl-pages.php) – tu le nevtraliziramo aspect-ratio. --- */
.elementor .split-photo img,
.elementor .article-figure img { aspect-ratio: auto; }

/* --- 23. Logotip (SVG) v glavi/nogi: Elementorjev .elementor img{max-width:100%}
       ga stisne v ozek widget stolpec – višino in prosto širino uveljavimo nazaj. --- */
.elementor .brand-logotip img,
.elementor .brand-logotip .elementor-widget-container img {
  height: 48px;
  /* SVG brez zanesljive intrinzične širine v flex ovoju se je skrčil v kvadrat
     48x48 – širino zato izračunamo iz razmerja viewBox (194:46). */
  width: 202px;
  max-width: none;
}
.elementor .brand-logotip { flex-shrink: 0; }

/* --- 24. Elementor ima privzeto pravilo `.elementor-widget-image a img[src$=".svg"]
       { width: 48px }` (0-2-2), ki je logotip stisnilo v kvadrat 48x48 in premagalo
       moj `.elementor .brand-logotip img` (0-2-1). Selektor z istim atributom. --- */
.elementor .brand-logotip a img[src$=".svg"],
.elementor .site-footer .brand-logotip a img[src$=".svg"] {
  width: 202px;
  height: 48px;
  max-width: none;
}

/* --- 25. Pomožni razredi: inline slogi iz izvornega HTML se pri pretvorbi
       zapišejo kot razredi (glej zp_util_classes() v scripts/build-zfl-pages.php).
       Elementor kontejner/widget je nosilec razreda, zato so vrednosti enake
       kot inline slog na izvornem elementu. --- */
.elementor .mt-0  { margin-top: 0; }
.elementor .mt-12 { margin-top: 12px; }
.elementor .mt-16 { margin-top: 16px; }
.elementor .mt-22 { margin-top: 22px; }
.elementor .mt-36 { margin-top: 36px; }
.elementor .mt-44 { margin-top: 44px; }
.elementor .mt-56 { margin-top: 56px; }
.elementor .mb-0  { margin-bottom: 0; }
.elementor .mb-14 { margin-bottom: 14px; }
.elementor .mb-18 { margin-bottom: 18px; }
.elementor .mb-36 { margin-bottom: 36px; }
.elementor .mw-780 { max-width: 780px; }
.elementor .ta-center { text-align: center; }
.elementor .order-first { order: -1; }
.elementor .row-between {
  display: flex; justify-content: space-between; align-items: flex-end;
  flex-wrap: wrap; gap: 16px; margin-bottom: 36px;
}
.elementor .btn-full .elementor-button,
.elementor .btn-full > a.btn { width: 100%; justify-content: center; }

/* --- 26. Komponente, ki jih zdaj izrisujejo custom widgeti (zfl-*), sedijo
       v ovoju .elementor-widget > .elementor-widget-container. Kjer je izvorni
       korenski element sam po sebi mrežni/flex element v starševski mreži
       (npr. .article-aside > .aside-box), mora ovoj to postavitev prenesti. --- */
.elementor .elementor-widget-zfl-breadcrumbs,
.elementor .elementor-widget-zfl-cta,
.elementor .elementor-widget-zfl-tiles,
.elementor .elementor-widget-zfl-faq,
.elementor .elementor-widget-zfl-article-cards,
.elementor .elementor-widget-zfl-filter-bar,
.elementor .elementor-widget-zfl-form,
.elementor .elementor-widget-zfl-google-card,
.elementor .elementor-widget-zfl-contact-list,
.elementor .elementor-widget-zfl-hero-rating,
.elementor .elementor-widget-zfl-testimonial,
.elementor .elementor-widget-zfl-link-list,
.elementor .elementor-widget-zfl-byline,
.elementor .elementor-widget-zfl-social-links,
.elementor .elementor-widget-zfl-avatar { width: 100%; }

/* Mnenje je v mreži .testimonials samo po sebi kartica polne višine. */
.elementor .elementor-widget-zfl-testimonial,
.elementor .elementor-widget-zfl-testimonial > .elementor-widget-container,
.elementor .elementor-widget-zfl-avatar,
.elementor .elementor-widget-zfl-avatar > .elementor-widget-container { height: 100%; }
.elementor .elementor-widget-zfl-testimonial .testimonial { height: 100%; }

/* --- 27. Nativni Image widget nadomešča .split-photo / .article-figure ovoj:
       razred nosi kontejner, zato pravila dizajna ciljajo sliko v widgetu. --- */
.elementor .split-photo .elementor-widget-image,
.elementor .article-figure .elementor-widget-image,
.elementor .split-photo .elementor-widget-container,
.elementor .article-figure .elementor-widget-container { width: 100%; }

/* --- 28. Gumbi: razred .btn iz dizajna pristane na OVOJU widgeta
       (.elementor-widget-button), medtem ko pravi <a class="elementor-button">
       že nosi enako oblikovanje iz nastavitev widgeta. Brez tega se padding,
       obroba in min-height podvojijo (gumb 77px namesto 53px). Ovoj zato
       razobličimo, ostane pa postavitveno oprijemališče za pravila dizajna
       tipa `.split .actions .btn`. --- */
.elementor .elementor-widget-button.btn {
  display: inline-flex;
  padding: 0;
  min-height: 0;
  gap: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
/* Glava uporablja manjšo različico gumba (.header-actions .btn). */
.elementor .header-actions .elementor-widget-button .elementor-button {
  min-height: 44px;
  padding: 9px 20px;
  font-size: 0.9rem;
}

/* --- 29. Izvorni ovoji so blokovni elementi; Elementorjev kontejner je
       privzeto flex (.e-con.e-flex), kar odpravi združevanje robov (margin
       collapsing) in strani premakne za nekaj px na vsakem naslovu/odstavku.
       Pretvornik zato vsakemu kontejnerju, ki v dizajnu NI flex/grid, doda
       razred .zfl-block. --- */
.elementor .e-con.zfl-block { display: block; }

/* --- 30. Pravila dizajna z otroškim kombinatorjem (`>`) se prekinejo, ker
       Elementor med ovoj in vsebino vrine .elementor-widget >
       .elementor-widget-container. Tu jih ponovimo po tej poti; vrednosti so
       enake kot v css/style.css (razdelka .article-content in .hero-copy). --- */
.elementor .article-content > .elementor-widget > .elementor-widget-container > h2,
.elementor .article-content > .elementor-widget > h2 {
  margin: 44px 0 16px;
  scroll-margin-top: calc(var(--header-h) + 20px);
}
.elementor .article-content > .elementor-widget > .elementor-widget-container > h3,
.elementor .article-content > .elementor-widget > h3 {
  margin: 28px 0 12px;
}
.elementor .article-content > .elementor-widget > .elementor-widget-container > p,
.elementor .article-content > .elementor-widget > p {
  margin-bottom: 16px;
}
/* (`.hero-copy > p` pokriva že pravilo 11 prek razreda .hero-lead.) */

/* --- 31. Obrazci: v izvirniku oznake in polja podedujejo višino vrstice od
       telesa (1.65). WordPress/Hello prek normalize.css nastavi
       `button,input,select,textarea{line-height:1.15}`, zato je bilo vsako
       polje ~9px nižje. Vrnemo dedovanje. --- */
.elementor .form-field label,
.elementor .form-field input,
.elementor .form-field select,
.elementor .form-field textarea { line-height: inherit; }

/* --- 32. Tabele: tema doda spodnji rob in svojo višino vrstice. --- */
.elementor table { margin: 0; }
.elementor table.data th,
.elementor table.data td { line-height: inherit; }

/* --- 33. Sekcije z inline paddingom iz izvirnika (`style="padding-top:48px"`).
       Brez teh razredov obvelja `.section { padding: 76px 0 }` in je sekcija
       previsoka (+28px pri 48, +32 pri 44, +40 pri 36). --- */
.elementor .e-con.section.pt-36 { padding-top: 36px; }
.elementor .e-con.section.pt-44 { padding-top: 44px; }
.elementor .e-con.section.pt-48 { padding-top: 48px; }

/* --- 34. V flex ovojih dizajna (.author-box, .author-box-links) se widget
       razteza čez celotno širino in postavitev se prelomi v stolpec. --- */
.elementor .author-box > .elementor-widget,
.elementor .author-box-links > .elementor-widget { width: auto; flex: 0 0 auto; }
/* besedilni stolpec se mora krčiti (sicer ga dolg odstavek razširi čez zaslon) */
.elementor .author-box > .e-con { width: auto; flex: 1 1 auto; min-width: 0; }

/* --- 35. Podnapisi slik: dizajn višine vrstice ne določa (podeduje 1.65),
       Elementorjeva tipografija besedila pa jo prepiše. --- */
.elementor figcaption { line-height: inherit; }

/* --- 36. Elementorjev .e-con postavlja otroke privzeto v STOLPEC
       (--flex-direction: column). Ovoji dizajna, ki so `display:flex` brez
       navedene smeri, so vrstica – smer je zato treba vrniti. --- */
.elementor .e-con.author-box,
.elementor .e-con.author-box-links { flex-direction: row; }

/* --- 37. Vodoravni izliv na mobilnem: tabela ima min-width 520px, zato mora
       ovoj drseti; Elementorjev `.e-con { overflow: var(--overflow) }` to
       lahko povozi. --- */
.elementor .e-con.table-wrap { overflow-x: auto; }

/* --- 38. Pod 620px so gumbi v dizajnu čez celo širino (`.btn{width:100%;
       max-width:450px}`). Razred nosi ovoj widgeta, zato je treba širino
       prenesti tudi na sam <a class="elementor-button">. --- */
@media (max-width: 620px) {
  .elementor .elementor-widget-button.btn { width: 100%; max-width: 450px; }
  .elementor .elementor-widget-button.btn .elementor-button { width: 100%; }
}

/* --- 39. Hitri posvet: levi stolpec je zdaj iz nativnih widgetov, desna
       kartica pa je widget zfl-triage. Ovoj widgeta je celica mreže .triage,
       zato mora kartico raztegniti čez celotno višino in širino. --- */
.elementor .triage > .elementor-widget-zfl-triage { display: flex; width: 100%; }
.elementor .elementor-widget-zfl-triage > .triage-card,
.elementor .elementor-widget-zfl-triage > .elementor-widget-container > .triage-card { width: 100%; }

/* --- 40. Contact Form 7 v dizajnu strani. Obrazec je nativni Elementor widget
       "Shortcode" z razredom .form-card na ovoju; polja uporabljajo razrede
       dizajna (.form-grid/.form-field/.req/.hint/.form-note), CF7 pa okoli njih
       doda svoje ovoje, ki jih je treba nevtralizirati. --- */
.elementor .elementor-widget.form-card { display: block; }

/* CF7 vsako polje zavije v <span class="wpcf7-form-control-wrap"> – v
   .form-field (flex stolpec, gap 6px) mora biti blok polne širine. */
.form-card .wpcf7-form-control-wrap { display: block; width: 100%; }

/* CF7 samodejno zavije oznako in polje v <p>; display:contents ju vrne
   nazaj kot neposredna elementa .form-field, da razmik (gap) spet deluje. */
.form-card .form-field > p { display: contents; }

.form-card .wpcf7-form-control { width: 100%; }
.form-card .wpcf7-not-valid { border-color: var(--danger); }
.form-card .wpcf7-not-valid-tip {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--danger);
  margin-top: 2px;
}

/* Vrstica z gumbom: CF7 doda vrtavko takoj za gumb, sam gumb pa še zavije v
   <p>. Zgornji rob sme imeti samo zunanji ovoj, sicer se 22px podvoji. */
.form-card .form-submit { margin-top: 22px; }
.form-card .form-submit > p,
.form-card p:has(.wpcf7-submit) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 0;
  margin: 0;
}
.form-card .wpcf7-submit { width: auto; }
.form-card .wpcf7-submit[disabled] { opacity: 0.6; cursor: not-allowed; }
.form-card .wpcf7-spinner { margin: 0 0 0 12px; }

/* Odziv obrazca v barvah dizajna (#99d0b3 / #f4faf6 / #0f203a, napaka --danger). */
.form-card .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 15px 20px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong);
  font-size: 0.95rem;
  font-weight: 600;
}
.form-card .wpcf7-form.sent .wpcf7-response-output {
  background: var(--cream);
  border-color: var(--accent);
  color: var(--ink);
}
.form-card .wpcf7-form.invalid .wpcf7-response-output,
.form-card .wpcf7-form.failed .wpcf7-response-output,
.form-card .wpcf7-form.aborted .wpcf7-response-output {
  background: #fdf4f4;
  border-color: var(--danger);
  color: var(--danger);
}
/* Gumb je <input>, ki mu normalize.css nastavi line-height:1.15; dizajnov
   .btn ga podeduje (1.65) in je zato visok 53px. */
.form-card .wpcf7-submit { line-height: inherit; }
/* CF7 zavije polje v <span class="wpcf7-form-control-wrap">; textarea v njem
   postane inline-block in pod njim ostane ~7px prostora za podpisnice.
   V izvirniku je polje neposreden flex element .form-field, zato tega ni. */
.form-card .form-field textarea,
.form-card .form-field select,
.form-card .form-field input { display: block; }

/* --- 39. MOBILNI MENI: enak kot .main-nav.is-open v dizajnu ---------------
   Vodoravna glava potrebuje ~1130px (logotip + 5 postavk + 2 gumba), zato
   na hamburger preklopimo pri 1150px. Elementor sam preklopi šele pri
   1024px, dizajn pa pri 900px – oba pasova sta bila stisnjena. --------- */
@media (max-width: 1150px) {
  [data-elementor-type="header"] .elementor-menu-toggle { display: flex; }
  [data-elementor-type="header"] nav.elementor-nav-menu--main { display: none; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown { display: block; }
  /* gumba v glavi sta na mobilnem v meniju (dizajn: .header-actions{display:none}) */
  [data-elementor-type="header"] .header-actions { display: none; }

  /* Panel čez celotno širino zaslona, brez stranskih odmikov.
     Drsenje: Elementor s pravilom
     `.elementor-nav-menu--dropdown-tablet nav.…--dropdown.…__container{overflow-y:hidden}`
     (0-3-1) prepove drsenje – z menijem, ki ima odprte podmenije, je panel
     višji od zaslona in spodnjih postavk ni mogoče doseči. Naše pravilo je
     zato enako specifično + razred widgeta (0-4-1). */
  [data-elementor-type="header"] .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    left: 0;
    right: 0;
    width: auto;
    margin-top: 0;
    background: #fff;
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
    /* spodaj več prostora, da se ob koncu drsenja gumb ne dotika roba */
    padding: 8px 0 32px;
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 12px 24px;
    font-family: var(--head);
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--ink);
    background: transparent;
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item:hover,
  .elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item-active {
    color: var(--accent-text);
    background: transparent;
  }

  /* Podmeni je v dizajnu vedno odprt in zamaknjen (.nav-item .dropdown) */
  .elementor-nav-menu--dropdown ul.sub-menu {
    display: block !important;
    padding: 0 0 6px 0;
    border: none;
    box-shadow: none;
  }
  .elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item {
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 10px 24px 10px 38px;
    font-size: 0.88rem;
    color: var(--ink);
    background: transparent;
  }
  .elementor-nav-menu--dropdown .elementor-item .sub-arrow { display: none; }

  /* CTA postavka na dnu = gumb (na namizju je skrita) */
  .elementor-nav-menu--dropdown .elementor-nav-menu > li.nav-cta > a.elementor-item {
    justify-content: center;
    margin: 14px 24px 0;
    min-height: 48px;
    padding: 12px 26px;
    border-radius: 10px;
    background: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
    font-size: 0.95rem;
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu > li.nav-cta > a.elementor-item:hover {
    background: var(--navy);
    color: #fff;
  }

  /* Hamburger v velikosti dizajna (.nav-toggle 44x44) */
  [data-elementor-type="header"] .elementor-menu-toggle {
    width: 44px;
    height: 44px;
    background: transparent;
    color: var(--ink);
    border-radius: 8px;
  }
}

/* CTA postavka je samo v mobilnem meniju */
@media (min-width: 1151px) {
  [data-elementor-type="header"] .elementor-nav-menu > li.nav-cta { display: none; }
}

/* --- 40. Hello Elementor reset.css nastavi
   `button:hover, [type=submit]:hover { background-color:#c36; color:#fff }`
   (0-1-1). Dizajn hover ozadja za svoje gumbe ne določa – .chip (0-1-0) in
   sorodni zato ob prehodu miške pordečijo. Povrnemo videz iz dizajna:
   hover spremeni le rob/senco, podlaga ostane. ------------------------- */
.chip:hover,
.chip:focus,
.filter-btn:hover,
.filter-btn:focus,
.triage-back:hover,
.triage-back:focus,
.nav-toggle:hover,
.nav-toggle:focus,
.video-play:hover,
.video-play:focus {
  background-color: inherit;
  color: inherit;
}
/* .chip in .filter-btn imata belo podlago, .triage-back/.nav-toggle prozorno */
.chip:hover,
.chip:focus,
.filter-btn:hover,
.filter-btn:focus {
  background-color: #fff;
  color: var(--ink);
}
.filter-btn:hover,
.filter-btn:focus { color: var(--navy); }
/* izbrani filter ostane navy tudi ob prehodu miške */
.filter-btn.is-active:hover,
.filter-btn.is-active:focus {
  background-color: var(--navy);
  color: #fff;
}
.triage-back:hover,
.triage-back:focus,
.nav-toggle:hover,
.nav-toggle:focus {
  background-color: transparent;
}

/* --- 41. Nadomestek za odstranjeni Hello reset.css ----------------------
   Dizajn ima svoj reset, manjkajo pa osnove za PROSTO vsebino, ki je
   dizajn ne predvideva (tabele v člankih, drobni tipografski elementi).
   Brez Hellovih barv – samo normalizacija. -------------------------- */
[hidden] { display: none; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
abbr[title] { text-decoration: underline dotted; cursor: help; }
code, kbd, samp, pre { font-family: monospace, monospace; font-size: 1em; }
pre { white-space: pre-wrap; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
textarea { overflow: auto; resize: vertical; }
progress { vertical-align: baseline; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="button"], [type="reset"], [type="submit"], button { -webkit-appearance: button; }

/* Tabele v prosti vsebini (dizajn stilizira le .table-wrap / table.data) */
.entry-content table:not(.data),
.elementor-widget-text-editor table:not(.data),
.elementor-widget-theme-post-content table:not(.data) {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
}
.entry-content table:not(.data) th,
.entry-content table:not(.data) td,
.elementor-widget-text-editor table:not(.data) th,
.elementor-widget-text-editor table:not(.data) td,
.elementor-widget-theme-post-content table:not(.data) th,
.elementor-widget-theme-post-content table:not(.data) td {
  border: 1px solid var(--border);
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}
.entry-content table:not(.data) th,
.elementor-widget-text-editor table:not(.data) th,
.elementor-widget-theme-post-content table:not(.data) th { font-weight: 700; }
