.mod-upit {
  --upit-color: #1f5593;
  --upit-color-hover: #174477;
  --upit-border: #d8dee6;
  --upit-text: #26313d;
  padding: 1.35rem;
  border: 1px solid #e4e8ed;
  border-radius: 8px;
  background: #f7f8fa;
  color: var(--upit-text);
  box-shadow: 0 4px 18px rgba(26, 42, 58, .06);
  box-sizing: border-box;
}
.mod-upit .mod-upit__form { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: .65rem; margin: 0; }
.mod-upit .mod-upit__form > * { min-width: 0; }
.mod-upit__toggle { display: none; }
.mod-upit__visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.mod-upit label { display: grid; gap: .4rem; margin: 0; font-weight: 400; }
.mod-upit label > span { font-size: .88rem; line-height: 1.3; color: #4b5663; }
.mod-upit input:not([type="checkbox"]), .mod-upit textarea, .mod-upit select {
  width: 100%;
  min-height: 44px;
  padding: .6rem .72rem;
  border: 1px solid var(--upit-border);
  border-radius: 5px;
  background: #fff;
  color: var(--upit-text);
  font: inherit;
  line-height: 1.35;
  box-sizing: border-box;
  box-shadow: inset 0 1px 2px rgba(20, 35, 50, .025);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.mod-upit textarea { min-height: 92px; resize: vertical; }
.mod-upit select { appearance: auto; }
.mod-upit input:focus, .mod-upit textarea:focus, .mod-upit select:focus { border-color: var(--upit-color); outline: 0; box-shadow: 0 0 0 3px rgba(31, 85, 147, .14); }
.mod-upit .mod-upit__grid { display: grid !important; width: 100%; gap: .65rem; }
.mod-upit .mod-upit__grid--two, .mod-upit .mod-upit__grid--guests { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.mod-upit .mod-upit__grid--ages { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important; }
.mod-upit__ages { padding: 1rem; border: 1px solid #e1e6ec; background: #fff; border-radius: 6px; }
.mod-upit__ages-title { margin: 0 0 .7rem; font-weight: 600; }
.mod-upit__consent { grid-template-columns: 20px 1fr; align-items: start; cursor: pointer; }
.mod-upit__consent input { width: 18px; height: 18px; margin: .05rem 0 0; accent-color: var(--upit-color); }
.mod-upit__consent span { font-size: .84rem !important; }
.mod-upit__submit { width: 100%; min-height: 49px; padding: .72rem 1rem; border: 0; border-radius: 5px; background: var(--upit-color); color: #fff; font: inherit; font-weight: 600; cursor: pointer; box-shadow: 0 2px 5px rgba(20, 58, 103, .18); transition: background .18s ease, transform .08s ease; }
.mod-upit__submit:hover { background: var(--upit-color-hover); }
.mod-upit__submit:active { transform: translateY(1px); }
.mod-upit__submit:disabled { cursor: wait; opacity: .65; }
.mod-upit__status { padding: 0; }
.mod-upit__status.is-success, .mod-upit__status.is-error { padding: .75rem; border-radius: 4px; }
.mod-upit__status.is-success { background: #e8f5e9; color: #225c28; }
.mod-upit__status.is-error { background: #fdeaea; color: #8b1e1e; }
.mod-upit__website { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) {
  .mod-upit .mod-upit__grid--two, .mod-upit .mod-upit__grid--guests { grid-template-columns: 1fr !important; }
}
@media (max-width: 767.98px) {
  .mod-upit.mod-upit--mobile-accordion { padding: 0; overflow: hidden; }
  .mod-upit--mobile-accordion .mod-upit__toggle {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border: 0;
    background: #eef0f2;
    color: var(--upit-text);
    font: inherit;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
  }
  .mod-upit__toggle-icon { position: relative; width: 16px; height: 16px; flex: 0 0 16px; transition: transform .2s ease; }
  .mod-upit__toggle-icon::before, .mod-upit__toggle-icon::after { content: ''; position: absolute; top: 7px; left: 1px; width: 14px; height: 2px; border-radius: 2px; background: currentColor; }
  .mod-upit__toggle-icon::after { transform: rotate(90deg); transition: opacity .2s ease; }
  .mod-upit--mobile-accordion.is-accordion-ready .mod-upit__content { display: none; }
  .mod-upit--mobile-accordion.is-accordion-ready.is-accordion-open .mod-upit__content { display: block; }
  .mod-upit--mobile-accordion.is-accordion-open .mod-upit__toggle { border-bottom: 1px solid #e1e5ea; }
  .mod-upit--mobile-accordion.is-accordion-open .mod-upit__toggle-icon { transform: rotate(180deg); }
  .mod-upit--mobile-accordion.is-accordion-open .mod-upit__toggle-icon::after { opacity: 0; }
  .mod-upit--mobile-accordion .mod-upit__content { padding: 1rem; }
}
