/* Halavach Finans — consultation modal. */
.hf-contact-modal[hidden] { display: none !important; }
.hf-contact-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 20px; }
.hf-contact-modal__backdrop { position: absolute; inset: 0; background: rgba(7, 22, 49, .72); backdrop-filter: blur(5px); }
.hf-contact-modal__dialog { position: relative; z-index: 1; width: min(680px, 100%); max-height: min(760px, calc(100vh - 32px)); overflow: auto; padding: 34px 38px 30px; color: #0c1b39; background: #fbfaf6; border: 1px solid rgba(12, 27, 57, .12); border-radius: 26px; box-shadow: 0 24px 80px rgba(7, 22, 49, .28); }
.hf-contact-modal__close { position: absolute; top: 13px; right: 16px; width: 38px; height: 38px; border: 1px solid rgba(12, 27, 57, .14); border-radius: 50%; color: #0c1b39; background: rgba(255, 255, 255, .66); font-size: 25px; line-height: 1; cursor: pointer; }
.hf-contact-modal__close:hover, .hf-contact-modal__close:focus-visible { color: #21694f; border-color: #21694f; outline: none; }
.hf-contact-modal__topline { display: flex; align-items: center; gap: 10px; color: #21694f; font: 700 11px/1.2 "Arial", sans-serif; letter-spacing: .19em; }
.hf-contact-modal__topline span { width: 30px; height: 2px; background: #d8a84f; }
.hf-contact-modal__dialog h2 { max-width: 540px; margin: 18px 42px 10px 0; color: #0c1b39; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 46px); font-weight: 400; line-height: .98; }
.hf-contact-modal__lead { max-width: 570px; margin: 0; color: #53627a; font-size: 16px; line-height: 1.55; }
.hf-contact-modal__subject { margin: 17px 0 0; padding: 10px 13px; border-left: 3px solid #d8a84f; color: #53627a; background: rgba(234, 240, 234, .72); font-size: 13px; line-height: 1.35; }
.hf-contact-modal__subject span { margin-right: 4px; }
.hf-contact-modal__subject strong { color: #0c1b39; font-weight: 700; }
.hf-contact-modal__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 20px; }
.hf-contact-modal__field { display: grid; gap: 7px; color: #0c1b39; font-size: 13px; font-weight: 700; }
.hf-contact-modal__field--full { grid-column: 1 / -1; }
.hf-contact-modal__field input, .hf-contact-modal__field textarea { width: 100%; box-sizing: border-box; border: 1px solid #ced8d3; border-radius: 13px; padding: 13px 14px; color: #0c1b39; background: #fff; font: inherit; font-weight: 400; transition: border-color .2s, box-shadow .2s; }
.hf-contact-modal__field textarea { min-height: 104px; resize: vertical; }
.hf-contact-modal__field input::placeholder, .hf-contact-modal__field textarea::placeholder { color: #8a96a5; }
.hf-contact-modal__field input:focus, .hf-contact-modal__field textarea:focus { border-color: #21694f; outline: none; box-shadow: 0 0 0 3px rgba(33, 105, 79, .12); }
.hf-contact-modal__consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 9px; color: #657187; font-size: 12px; line-height: 1.45; }
.hf-contact-modal__consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #21694f; }
.hf-contact-modal__consent a { color: #21694f; text-underline-offset: 2px; }
.hf-contact-modal__actions { grid-column: 1 / -1; }
.hf-contact-modal__submit, .hf-contact-modal__channel { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; box-sizing: border-box; border: 0; border-radius: 12px; padding: 12px 18px; font: 700 14px/1.2 Arial, sans-serif; text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.hf-contact-modal__submit { width: 100%; color: #fff; background: #21694f; box-shadow: 0 10px 20px rgba(33, 105, 79, .18); }
.hf-contact-modal__submit:hover, .hf-contact-modal__submit:focus-visible, .hf-contact-modal__channel:hover, .hf-contact-modal__channel:focus-visible { transform: translateY(-1px); outline: none; }
.hf-contact-modal__submit:disabled { cursor: wait; opacity: .7; transform: none; }
.hf-contact-modal__status { min-height: 20px; grid-column: 1 / -1; margin: -4px 0 0; color: #53627a; font-size: 13px; line-height: 1.4; }
.hf-contact-modal__status.is-success { color: #21694f; }
.hf-contact-modal__status.is-error { color: #a33a36; }
.hf-contact-modal__channels { grid-column: 1 / -1; padding-top: 17px; border-top: 1px solid rgba(12, 27, 57, .11); text-align: center; }
.hf-contact-modal__channels p { margin: 0; color: #657187; font-size: 12px; }
.hf-contact-modal__channel-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 10px; }
.hf-contact-modal__channel { min-height: 42px; padding: 10px 13px; font-size: 12px; }
.hf-contact-modal__channel--whatsapp { color: #12633f; background: #e6f3ea; }
.hf-contact-modal__channel--telegram { color: #14587c; background: #e6f0f6; }
.hf-contact-modal__channel[aria-disabled="true"] { opacity: .5; cursor: default; pointer-events: auto; }
.hf-contact-modal-open { overflow: hidden; }
@media (max-width: 600px) {
  .hf-contact-modal { padding: 10px; }
  .hf-contact-modal__dialog { max-height: calc(100vh - 20px); padding: 28px 20px 22px; border-radius: 20px; }
  .hf-contact-modal__dialog h2 { margin-top: 15px; font-size: 35px; }
  .hf-contact-modal__form { grid-template-columns: 1fr; gap: 13px; }
  .hf-contact-modal__field--full, .hf-contact-modal__consent, .hf-contact-modal__actions, .hf-contact-modal__status, .hf-contact-modal__channels { grid-column: auto; }
  .hf-contact-modal__channel { flex: 1 1 100%; }
}
