/* Corona Dentis – zaposlitev. Two parts, nothing else:
   1) site utilities that are NOT design (fluid safety net, anchor offset, focus ring);
   2) the application-form component (RULE 0 admission 1) — CF7 renders this markup itself, so no
      Elementor control can reach it. Colours come from the Kit (Site Settings → Global Colors). */

/* ---------- 1. Utilities ---------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:76px}
/* Focus ring (primer). Beats Hello Elementor's black `input:focus-visible` reset by specificity. */
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--e-global-color-cdfocus,#2DD4BF);outline-offset:3px;box-shadow:none}
body .wpcf7-form :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=file]),textarea):focus-visible{outline:none;border-color:var(--e-global-color-primary,#0F766E);box-shadow:0 0 0 3px rgba(45,212,191,.35)}
.elementor-heading-title,.elementor-widget-text-editor,.elementor-icon-list-text{overflow-wrap:break-word}
.elementor-button{white-space:normal}
.wpcf7-form-control{max-width:100%;min-width:0}

/* ---------- 2. Application form (.cdp) ---------- */
.cdp{--cdp-ink:var(--e-global-color-text,#102A2E);--cdp-teal:var(--e-global-color-primary,#0F766E);
  --cdp-deep:var(--e-global-color-accent,#0B5550);--cdp-muted:var(--e-global-color-secondary,#4E6466);
  --cdp-line:var(--e-global-color-cdline,#DCE3E1);--cdp-mint:var(--e-global-color-cdmint,#CFEDE7);
  --cdp-err:var(--e-global-color-cderr,#A4332B);--cdp-focus:var(--e-global-color-cdfocus,#2DD4BF);
  display:flex;flex-direction:column;min-height:360px;color:var(--cdp-ink)}
.cdp [hidden]{display:none!important}
.cdp fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}
.cdp legend{font:700 clamp(21px,2.4vw,25px)/1.2 var(--e-global-typography-secondary-font-family,"Bricolage Grotesque"),sans-serif;margin:0 0 16px;padding:0;color:var(--cdp-ink)}
.cdp-progress{height:6px;border-radius:6px;background:var(--cdp-line);overflow:hidden;margin-bottom:10px}
.cdp-progress i{display:block;height:100%;width:0;background:var(--cdp-teal);border-radius:6px;transition:width .3s ease}
.cdp .cdp-count{font-size:14px;color:var(--cdp-muted);margin:0 0 18px}
.cdp-step{flex:1}
.cdp-step.is-enter{animation:cdpIn .28s ease}
@keyframes cdpIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cdp-step.is-enter{animation:none}.cdp-progress i{transition:none}}
.cdp .cdp-legend-hint{margin:-8px 0 16px;color:var(--cdp-muted);font-size:15px}

/* Option cards (CF7 radio / exclusive-checkbox list markup) */
.cdp .wpcf7-form-control-wrap{display:block}
.cdp .cdp-opts{display:grid;gap:10px}
.cdp .cdp-two{grid-template-columns:1fr 1fr}
.cdp .wpcf7-list-item{display:block;margin:0;position:relative}
.wpcf7-form .cdp .wpcf7-list-item label{display:flex;align-items:center;gap:12px;min-height:54px;margin:0;padding:13px 16px;
  border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--cdp-line);font-weight:500;font-size:16px;line-height:1.35;cursor:pointer;
  background:#fff;transition:box-shadow .12s,background .12s}
.cdp .wpcf7-list-item label::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #A8B8B6;background:#fff;transition:box-shadow .12s}
.wpcf7-form .cdp .wpcf7-list-item input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;border:0}
.cdp .wpcf7-list-item label:hover{box-shadow:inset 0 0 0 1.5px var(--cdp-muted)}
.cdp .wpcf7-list-item label:has(input:checked){box-shadow:inset 0 0 0 2px var(--cdp-teal);background:#F0FAF8}
.cdp .wpcf7-list-item label:has(input:checked)::before{box-shadow:inset 0 0 0 6px var(--cdp-teal)}
.cdp .wpcf7-list-item label:has(input:focus-visible){outline:3px solid var(--cdp-focus);outline-offset:2px}

/* Contact step */
.cdp .cdp-field{margin-bottom:15px}
.wpcf7-form .cdp .cdp-field label{display:block;margin-bottom:6px}
.cdp .cdp-hint{font-weight:400;color:var(--cdp-muted);font-size:14px}
.wpcf7-form .cdp .cdp-field input:not([type=file]),.wpcf7-form .cdp .cdp-field textarea{width:100%;font-size:16px}
.wpcf7-form .cdp textarea{min-height:88px;height:auto;resize:vertical}
.wpcf7-form .cdp input[type=file]{width:100%;padding:10px;font-size:15px}
.wpcf7-form .cdp .wpcf7-not-valid{border-color:var(--cdp-err)}
.cdp .cdp-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* Consent = a plain square checkbox (undo the option-card styling above). */
.wpcf7-form .cdp .cdp-consent .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;min-height:0;margin:4px 0 6px;padding:0;
  box-shadow:none;background:none;border-radius:0;font-size:14.5px;font-weight:400;line-height:1.5;color:var(--cdp-muted);cursor:pointer}
.cdp .cdp-consent .wpcf7-list-item label::before{content:none}
.cdp .cdp-consent .wpcf7-list-item label:hover,.cdp .cdp-consent .wpcf7-list-item label:has(input:checked){box-shadow:none;background:none}
.cdp .cdp-consent .wpcf7-list-item label:has(input:focus-visible){outline:none}
.wpcf7-form .cdp .cdp-consent input[type=checkbox]{position:static;inset:auto;opacity:1;flex:none;width:19px;height:19px;margin:2px 0 0;padding:0;
  accent-color:var(--cdp-teal);cursor:pointer}
.cdp .cdp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Errors */
.cdp .cdp-err{color:var(--cdp-err);font-size:15px;font-weight:600;min-height:22px;margin:6px 0 0}
.cdp .wpcf7-not-valid-tip{color:var(--cdp-err);font-size:14px;font-weight:600;margin-top:6px}
.cdp fieldset > .wpcf7-form-control-wrap > .wpcf7-not-valid-tip{display:none} /* option groups: one message in .cdp-err */
.wpcf7 form.cdz-form .wpcf7-response-output{margin:14px 0 0;padding:12px 14px;border-radius:12px;border:1.5px solid var(--cdp-err);color:var(--cdp-err);font-size:15px}
.wpcf7 form.cdz-form.sent .wpcf7-response-output{display:none}

/* Navigation */
.cdp-nav{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.cdp-nav .cdp-next,.cdp-nav .cdp-send{margin-left:auto}
.wpcf7-form .cdp-nav .cdp-back{background:transparent;color:var(--cdp-ink);box-shadow:inset 0 0 0 1.5px var(--cdp-ink)}
.wpcf7-form .cdp-nav .cdp-back:hover,.wpcf7-form .cdp-nav .cdp-back:focus-visible{background:var(--cdp-ink);color:#fff}
.wpcf7-form .cdp-nav button,.wpcf7-form .cdp-nav input[type=submit]{cursor:pointer;line-height:1;border:0}
.wpcf7-form .cdp-nav input[type=submit][disabled]{opacity:.6;cursor:wait}
.cdp-nav .wpcf7-spinner{display:none;margin:0}
.wpcf7 form.submitting .cdp-nav .wpcf7-spinner{display:inline-block}

/* Done */
.cdp-done{outline:none}
.cdp-done h3{font-size:30px;margin:0 0 12px}
.cdp-done p{margin:0 0 12px}
.cdp-done .cdp-muted{color:var(--cdp-muted)}
.cdp-check{width:56px;height:56px;border-radius:50%;background:var(--cdp-mint);display:grid;place-items:center;margin-bottom:18px}

@media (max-width:767px){
  .cdp{min-height:0}
  .cdp .cdp-two,.cdp .cdp-row2{grid-template-columns:1fr}
  .cdp-nav > *{flex:1 1 auto}
}

/* Sticky mobile CTA: shown by component.js only between the hero button and the form. */
.cd-sticky-cta{transition:opacity .2s,transform .2s,visibility .2s}
.cd-sticky-cta.is-hidden{opacity:0;visibility:hidden;transform:translateY(16px);pointer-events:none}
@media (prefers-reduced-motion:reduce){.cd-sticky-cta{transition:none}}
