/* formularz i okno cookies */

.mh-contact__box { padding: 2.4rem 2rem; border-radius: 15px; background: #F8F8F8; }
.mh-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
.mh-fld { position: relative; min-width: 0; }
.mh-fld__l { display: block; margin-bottom: .6rem; font-size: 1.2rem; font-weight: 700; color: #000; }
.mh-fld__in {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 1.4rem;
  border: 1px solid #cccccc;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 1.5rem;
  color: #000;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .2s;
}
.mh-fld__in:focus { border-color: #2945ff; box-shadow: 0 0 0 3px rgba(41,69,255,.15); }
.mh-fld__sel { padding-right: 3.6rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 1.4rem center; }
.mh-fld__area { height: auto; min-height: 110px; padding: 1.2rem 1.4rem; line-height: 1.45; resize: vertical; }
/* pulapka na boty, patrz konsultacja.php - nie usuwac */
.mh-fld--trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mh-fld__err { display: block; font-size: 1.15rem; color: #d63d2a; margin-top: .4rem; }
.mh-fld__err:empty { display: none; }
.mh-fld.is-wrong .mh-fld__in { border-color: #d63d2a; }
.mh-check { display: flex; gap: 1rem; align-items: flex-start; cursor: pointer; }
.mh-check input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; }
.mh-check__box { flex: 0 0 20px; height: 20px; border: 2px solid #000; border-radius: 5px; background: #fff; position: relative; }
.mh-check input:checked + .mh-check__box { background: #2945ff; border-color: #2945ff; }
.mh-check input:checked + .mh-check__box:after { content: ''; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.mh-check input:focus-visible + .mh-check__box { outline: 2px solid #2945ff; outline-offset: 2px; }
.mh-fld.is-wrong .mh-check__box { border-color: #d63d2a; }
.mh-check__txt { font-size: 1.25rem; line-height: 1.5; color: #666666; }
.mh-check__txt a { color: rgb(41,69,255); text-decoration: underline; }
.mh-form__send { width: 100%; margin-top: 2rem; }
.mh-form__send[disabled] { opacity: .6; pointer-events: none; }
.mh-done { padding: 2.4rem 0; }
.mh-done__t { font-size: 2.4rem; font-weight: 800; color: #000; letter-spacing: -0.03em; }
.mh-done__p { margin-top: 1.2rem; font-size: 1.4rem; line-height: 1.6; }
.mh-done__p b { color: #2945ff; }

.mh-cookie {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 200;
  padding: 2rem;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(0,0,0,.2);
}
.mh-cookie__t { font-size: 1.6rem; font-weight: 800; color: #000; }
.mh-cookie__p { margin-top: .6rem; font-size: 1.3rem; line-height: 1.5; color: #666666; }
.mh-cookie__p a { color: #2945ff; text-decoration: underline; }
.mh-cookie__btns { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 1.4rem; }
.mh-cookie__more { font-size: 1.3rem; font-weight: 700; text-decoration: underline; padding: .8rem; }
.mh-cookie__panel { margin-top: 1.4rem; border-top: 1px solid #E5E5E5; }
.mh-cookie__row { display: flex; justify-content: space-between; align-items: center; gap: 1.2rem; padding: 1.1rem 0; border-bottom: 1px solid #E5E5E5; }
.mh-cookie__row b { display: block; font-size: 1.3rem; color: #000; }
.mh-cookie__row span { font-size: 1.2rem; color: #666666; }
.mh-cookie__row em { font-style: normal; font-size: 1.2rem; color: #666666; }
.mh-cookie__panel .btn { margin-top: 1.4rem; }
.mh-sw { position: relative; flex: 0 0 42px; height: 24px; }
.mh-sw input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; z-index: 2; cursor: pointer; }
.mh-sw span:first-of-type { position: absolute; inset: 0; border-radius: 24px; background: #cccccc; transition: background-color .2s; }
.mh-sw span:first-of-type:after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; }
.mh-sw input:checked + span { background: #2945FF; }
.mh-sw input:checked + span:after { transform: translateX(18px); }

@media (min-width: 768px) {
  .mh-contact__box { padding: 3.2rem; }
  .mh-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1.2rem; }
  .mh-fld--wide { grid-column: 1 / -1; }
  .mh-cookie { left: auto; right: 2.4rem; bottom: 2.4rem; max-width: 420px; }
}
