/* Kontaktní popup (#cf-contact-modal). Samostatný soubor, protože dialog visí
   i na stránkách bez body.cf-page (homepage). Všechna pravidla jsou zakotvená
   v id dialogu, takže se nikde jinde na stránce nic nezmění.
   Paleta a typografie podle brand/BRAND.md. */

#cf-contact-modal {
  --cf-navy: #0e0e53;
  --cf-orange: #ff6633;
  --cf-orange-deep: #b3401f;
  --cf-orange-light: #fff2ed;
  --cf-ok: #1f6b45;
  --cf-muted: rgba(14, 14, 83, .72);
  --cf-line: rgba(14, 14, 83, .12);
  --cf-line-warm: rgba(255, 102, 51, .32);
  border: 0;
  padding: 0;
  background: transparent;
  width: min(560px, 94vw);
  max-width: 94vw;
  color: var(--cf-navy);
}
#cf-contact-modal::backdrop { background: rgba(14, 14, 83, .55); }
#cf-contact-modal [hidden] { display: none !important; }

#cf-contact-modal .cf-modal-panel {
  position: relative;
  display: grid;
  gap: .85rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 40px 90px -45px rgba(14, 14, 83, .5);
  max-height: 88vh;
  overflow-y: auto;
}
#cf-contact-modal .cf-modal-panel h2 { margin: 0; padding-right: 2.5rem; text-wrap: balance; }
#cf-contact-modal .cf-modal-close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--cf-line);
  border-radius: 50%;
  background: #fff;
  color: var(--cf-navy);
  cursor: pointer;
}
#cf-contact-modal .cf-modal-close:hover { border-color: var(--cf-orange); color: var(--cf-orange-deep); }
#cf-contact-modal :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--cf-navy); outline-offset: 3px; }
#cf-contact-modal .cf-modal-close:focus-visible { outline: 3px solid var(--cf-orange); outline-offset: 2px; }
#cf-contact-modal .cf-modal-context { margin: 0; color: var(--cf-orange-deep); font-weight: 600; }

#cf-contact-modal .cf-modal-form { display: grid; gap: .85rem; }
#cf-contact-modal .form_field-label { display: block; }
#cf-contact-modal .form_field-label span { font-weight: 400; opacity: .7; }
#cf-contact-modal .form_input { width: 100%; margin: 0; }
#cf-contact-modal .form_input:focus { border-color: var(--cf-orange); outline: none; box-shadow: 0 0 0 3px rgba(255, 102, 51, .2); }
#cf-contact-modal .form_input.no-icon { padding-left: 1.5rem; }
/* Nativní ikonky v polích jsou tyrkysové (kontaktní stránka), popup drží značkovou oranžovou. */
#cf-contact-modal input.form_input.name { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='24' viewBox='0 0 33 24' fill='none'%3E%3Cpath d='M5 20.0001C5 17.5001 7 15.6001 9.4 15.6001H14.5C17 15.6001 18.9 17.6001 18.9 20.0001' stroke='%23FF6633' stroke-width='1.4824' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15 5.2C16.7 6.9 16.7 9.6 15 11.2C13.3 12.8 10.6 12.9 8.99999 11.2C7.39999 9.5 7.29999 6.8 8.99999 5.2C10.7 3.6 13.3 3.6 15 5.2' stroke='%23FF6633' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='32.5' y1='2' x2='32.5' y2='22' stroke='%23E4E8EE'/%3E%3C/svg%3E"); }
#cf-contact-modal input.form_input[type="email"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='24' viewBox='0 0 33 24' fill='none'%3E%3Cpath d='M3 7.55203V17C3 18.657 4.343 20 6 20H18C19.657 20 21 18.657 21 17V7.55103' stroke='%23FF6633' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.492 12H15.508C16.109 12 16.695 11.82 17.193 11.483L19.88 9.663C20.58 9.189 21 8.398 21 7.552V7.552C21 6.142 19.857 5 18.446 5H5.554C4.143 5 3 6.142 3 7.551V7.551C3 8.397 3.42 9.188 4.121 9.663L6.808 11.483C7.305 11.82 7.892 12 8.492 12Z' stroke='%23FF6633' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='32.5' y1='2' x2='32.5' y2='22' stroke='%23E4E8EE'/%3E%3C/svg%3E"); }
#cf-contact-modal .cf-consent { display: flex; align-items: flex-start; gap: .75rem; margin: 0; font-size: .875rem; font-weight: 400; line-height: 1.55; cursor: pointer; }
#cf-contact-modal .cf-consent input { flex: none; width: 1.25rem; height: 1.25rem; margin: .1rem 0 0; accent-color: var(--cf-orange); cursor: pointer; }
#cf-contact-modal .cf-consent a { color: var(--cf-navy); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255, 102, 51, .6); text-underline-offset: .2em; }
#cf-contact-modal .cf-turnstile { min-height: 65px; }
#cf-contact-modal .cf-form-msg { margin: 0; padding: .875rem 1rem; border: 1px solid var(--cf-line-warm); border-radius: 1rem; background: var(--cf-orange-light); color: var(--cf-orange-deep); font-size: .9375rem; line-height: 1.5; }
#cf-contact-modal .cf-submit { width: 100%; justify-content: center; border: 0; font-family: inherit; font-size: 1rem; cursor: pointer; }
#cf-contact-modal .cf-modal-fine { margin: 0; font-size: .85rem; color: var(--cf-muted); }

#cf-contact-modal .cf-modal-done { display: grid; gap: .7rem; justify-items: start; }
#cf-contact-modal .cf-modal-done h3 { margin: 0; }
#cf-contact-modal .cf-done-icon { display: block; width: 3.5rem; height: 3.5rem; color: var(--cf-ok); }
#cf-contact-modal .cf-modal-done p { margin: 0; }

@media (max-width: 560px) {
  #cf-contact-modal { width: 100%; max-width: 100%; margin: auto auto 0; }
  #cf-contact-modal .cf-modal-panel { border-radius: 24px 24px 0 0; max-height: 92vh; padding: 1.4rem 1.25rem 1.75rem; }
}
