/* Growth Cycle 1 — additive CSS layer.
 * Safe by construction:
 *  - focus-visible outlines: visible only while keyboard-navigating, idle
 *    rendering (and therefore pixel-geometry baselines) is unchanged;
 *  - .growth-call-bar and .growth-page rules apply only to markup emitted by
 *    the Cycle-1 new pages, historical pages render byte-identical bodies.
 */
:focus-visible {
  outline: 2px solid #1a73e8;
  outline-offset: 2px;
}

.growth-call-bar {
  display: none;
}

@media (max-width: 767px) {
  .growth-call-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 999;
    background: #1a73e8;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 16px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  }
  .growth-page {
    padding-bottom: 74px; /* keep the footer text clear of the fixed bar */
  }
}

/* Price cards on the Cycle-1 pages: clearer boundaries and hover state. */
.growth-page .price__item {
  border: 1px solid #e3e8ef;
  border-radius: 6px;
  padding: 12px 16px;
  transition: border-color 0.2s ease;
}
.growth-page .price__item:hover {
  border-color: #1a73e8;
}
.growth-page .price__item-price {
  font-weight: 700;
}

/* Growth Cycle 2: responsive hero. The captured markup sets the offer
 * background inline; on small viewports serve the 42 KB 800px variant
 * (390 px paint width, ~2x covered). Desktop keeps the original file. */
@media (max-width: 640px) {
  .offer, .offer.offer-blog {
    background-image: url("/images/offer/1-small.jpg") !important;
  }
}

/* Growth Cycle 2: accessibility contrast overrides (audit-driven).
 * Source palette kept, values darkened to WCAG AA (>=4.5:1). */
.price__item-price,
.usl-price-wrapper .usl-price-title {
  background-color: #1768a4; /* white on it: 5.9:1 (was #2083d2: 4.0:1) */
}
a.button.btn__green {
  background-color: #1e7a4c; /* white on it: 5.3:1 (was #3fbc80: ~2.4:1) */
}
a.button.btn__green:hover {
  background-color: #176440;
}
a.button.btn__blue {
  background-color: #1768a4;
}
a.button.btn__blue:hover {
  background-color: #125790;
}
.team-item-link a,
.html-wrapper a:not(.button) {
  color: #1768a4;
}
.usl-price-wrapper li.off {
  opacity: 1; /* keep the "not included" meaning, restore readable color */
  color: #555555; /* 6.4:1 on #eee */
}
/* Heading order fix: card titles moved from h4 to h2 — mirror the h4 look. */
.advantages__card .title-wrapper h2,
.advantages__inner .title-wrapper h2 {
  font-size: 1em;
  font-weight: 700;
}
.services__card-content .title-wrapper h2 {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  color: #000000;
}

/* Growth Cycle 2: call bar on every page (server-injected); keep the footer
 * text clear of it on small screens. Popup overlay (z-index 11000) stays above. */
@media (max-width: 767px) {
  body {
    padding-bottom: 74px;
  }
}

/* Growth Cycle 3: allow 320 px viewports (source CSS had a hard 360 px floor,
 * which produced horizontal scroll on small phones). The header phone shrinks
 * a step to fit; nothing else changes at >=360 px. */
@media (max-width: 359px) {
  body,
  .header,
  .header__bottom,
  .__wrapper,
  .quiz-popup {
    min-width: 320px;
  }
  .header__bottom-phone {
    font-size: 15px;
    margin: 0 8px;
  }
  .header__bottom .logo img {
    max-width: 118px;
    height: auto;
  }
}

/* Growth Cycle final: footer trust block (confirmed entity). */
.footer-trust {
  color: #fff;
  padding: 10px 0 2px;
  font-size: 13px;
  line-height: 1.5;
}
.footer-trust a {
  color: #b3d7ff;
  text-decoration: underline;
}
.footer-trust a:hover {
  color: #d1e8ff;
}

/* Growth Cycle final: consent checkboxes (popup forms + quiz). */
.contact__form-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 12px;
  font-size: 13px;
  line-height: 1.45;
  color: #444;
}
.contact__form-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  flex: 0 0 auto;
  accent-color: #1e7a4c;
  cursor: pointer;
}
.contact__form-consent label {
  cursor: pointer;
}
.contact__form-consent a {
  color: #1768a4;
  text-decoration: underline;
}
.quize-input-field.checkbox {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.45;
}
.quize-checkbox-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  padding: 10px 12px;
  border: 1px solid #e3e8ef;
  border-radius: 8px;
  background: #fff;
}
.quize-checkbox-item::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 2px solid #9aa7b5;
  border-radius: 4px;
  background: #fff;
  margin-top: 1px;
}
.quize-checkbox-item.quize-field-value::before {
  background: #1e7a4c;
  border-color: #1e7a4c;
  box-shadow: inset 0 0 0 3px #fff;
}

/* Growth Cycle final: cookie consent banner (optional analytics). */
.arm-cookie-banner {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 10050; /* below popup overlay (11000), above call bar */
  background: #fff;
  border: 1px solid #d7dee8;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(15, 33, 63, 0.16);
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.5;
  color: #2c3440;
  max-width: 640px;
  margin: 0 auto;
}
.arm-cookie-banner__text a { color: #1768a4; text-decoration: underline; }
.arm-cookie-banner__buttons {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.arm-cookie-btn {
  font-size: 14px;
  font-weight: 600;
  border-radius: 8px;
  padding: 9px 16px;
  cursor: pointer;
  border: 1px solid transparent;
  min-height: 40px;
}
.arm-cookie-btn--ok { background: #1e7a4c; color: #fff; }
.arm-cookie-btn--ok:hover { background: #176440; }
.arm-cookie-btn--no { background: #fff; color: #2c3440; border-color: #b9c4d1; }
.arm-cookie-btn--no:hover { border-color: #8fa2b5; }
@media (max-width: 767px) {
  .arm-cookie-banner { left: 8px; right: 8px; bottom: 84px; /* above call bar */ }
  .arm-cookie-banner__buttons .arm-cookie-btn { flex: 1 1 45%; }
}
/* Footer link for changing the decision */
.arm-cookie-settings-link { color: #b3d7ff; text-decoration: underline; cursor: pointer; }
