/* Medoperator shared UI layer: CTA consistency and 44px touch targets. */
:root {
  --medop-action: #4f8fe5;
  --medop-action-hover: #397bd4;
  --medop-action-text: #ffffff;
  --medop-action-height: 52px;
  --medop-action-radius: 26px;
}

/* Primary and secondary calls to action in standard Tilda blocks. */
a.t-btn,
button.t-submit,
input.t-submit,
a.button-link {
  min-width: 44px !important;
  min-height: var(--medop-action-height) !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: var(--medop-action-radius) !important;
  background-color: var(--medop-action) !important;
  color: var(--medop-action-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

a.t-btn:hover,
button.t-submit:hover,
input.t-submit:hover,
a.button-link:hover {
  background-color: var(--medop-action-hover) !important;
}

/* Compact controls remain visually distinct but receive a safe touch area. */
.t-slds__arrow,
.t450__close-button,
.t890__arrow,
.t651__btn {
  min-width: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}

/* Reusable navigation and contact links. */
#t-header a[href],
a[role="button"],
a[href^="tel:"],
a[href^="mailto:"],
.t-breadcrumbs a[href] {
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
}

/* Footer is an absolutely positioned Zero Block: do not change its geometry. */
#t-footer .link-footer a[href] {
  position: relative;
  min-width: 0 !important;
  min-height: 0 !important;
  display: inline !important;
  align-items: normal !important;
}

#t-footer .tn-elem[data-elem-type="shape"] > a[href] {
  position: relative;
}

#t-footer .link-footer a[href]::after,
#t-footer .tn-elem[data-elem-type="shape"] > a[href]::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: max(100%, 44px);
  height: 44px;
  transform: translate(-50%, -50%);
}

/* Keep consent text on one line in Zero Blocks while preserving a 44px hit area. */
.t-checkbox__label a[href],
.t-checkbox__control a[href] {
  position: relative;
  min-width: 0 !important;
  min-height: 0 !important;
  display: inline !important;
  align-items: normal !important;
}

.t-checkbox__label a[href]::after,
.t-checkbox__control a[href]::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: max(100%, 44px);
  height: 44px;
  transform: translate(-50%, -50%);
}

/* Restore the intended two-column layout of name + phone in Zero forms. */
@media (min-width: 981px) {
  .t396__artboard .tn-atom__form .t-form__inputsbox:has(> .t-input-group_nm):has(> .t-input-group_ph) {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-content: flex-start !important;
  }

  .t396__artboard .tn-atom__form .t-form__inputsbox:has(> .t-input-group_nm):has(> .t-input-group_ph) > .t-input-group_cb,
  .t396__artboard .tn-atom__form .t-form__inputsbox:has(> .t-input-group_nm):has(> .t-input-group_ph) > .t-form__errorbox-middle,
  .t396__artboard .tn-atom__form .t-form__inputsbox:has(> .t-input-group_nm):has(> .t-input-group_ph) > .tn-form__submit {
    flex-basis: 100% !important;
  }
}

.t-skiplink {
  min-width: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}

/* Compact submenu rhythm without reducing the accessible 44px target. */
.t-menusub__list-item:not(:last-child) {
  margin-bottom: 4px !important;
}

.t-menusub__link-item {
  line-height: 1.25 !important;
}

/* Icon links: enlarge the hit area without scaling the artwork. */
.tn-elem[data-elem-type="image"] a.tn-atom,
.t-sociallinks__item a {
  min-width: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}

/* Country choice is deliberately unavailable: all leads are collected as RU. */
.t-input-phonemask__select {
  min-width: 64px;
  min-height: 44px;
  pointer-events: none;
  cursor: default;
}

.t-input-phonemask__select-triangle {
  display: none !important;
}

/* Strong keyboard focus remains visible on the pale-blue design. */
#allrecords a[href]:focus-visible,
#allrecords button:focus-visible,
#allrecords input[type="submit"]:focus-visible {
  outline: 3px solid #111111 !important;
  outline-offset: 3px !important;
}

@media (max-width: 640px) {
  a.t-btn,
  button.t-submit,
  input.t-submit,
  a.button-link {
    min-height: 48px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

/* Services injected into the technical 404 page. */
.medop-404-services {
  padding: 48px 20px 56px;
  background: #ffffff;
  font-family: "Gilroy", Arial, sans-serif;
}

.medop-404-services__inner {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}

.medop-404-services h2 {
  margin: 0 0 28px;
  color: #111111;
  font-family: var(--t-heading-font, Arial, sans-serif);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  text-align: center;
}

.medop-404-services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.medop-404-service {
  min-height: 180px;
  box-sizing: border-box;
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 20px;
  border-radius: 14px;
  background: #ecf0f9;
  color: #111111;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}

.medop-404-service:hover {
  background: #dfe8f7;
  transform: translateY(-2px);
}

.medop-404-service img {
  width: 140px;
  height: 114px;
  flex: 0 0 auto;
  border-radius: 10px;
  object-fit: cover;
}

.medop-404-service strong,
.medop-404-service span {
  display: block;
}

.medop-404-service strong {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.25;
}

.medop-404-service span {
  font-size: 15px;
  line-height: 1.4;
}

.medop-404-services__return {
  margin-top: 32px;
  text-align: center;
}

.medop-fine-amount {
  color: #e32626 !important;
  font-weight: 700 !important;
}

@media (max-width: 720px) {
  .medop-404-services {
    padding: 36px 16px 44px;
  }

  .medop-404-services__grid {
    grid-template-columns: 1fr;
  }

  .medop-404-service {
    min-height: 150px;
    gap: 14px;
    padding: 16px;
  }

  .medop-404-service img {
    width: 96px;
    height: 96px;
  }

  .medop-404-service strong {
    font-size: 16px;
  }

  .medop-404-service span {
    font-size: 14px;
  }
}
