/* ПРИВОД34 v5.0 — общая система интерфейса. Поверх v4.9, без изменения изображений, контента и компоновки. */
:root {
  --ui-primary:#bfff4c;
  --ui-primary-hover:#d0ff7c;
  --ui-primary-pressed:#aee53f;
  --ui-dark:#132630;
  --ui-dark-hover:#233e49;
  --ui-ink:#142731;
  --ui-muted:#61747a;
  --ui-line:#c6d5d9;
  --ui-focus:#558d10;
  --ui-radius:10px;
  --ui-shadow:0 5px 16px rgba(14,34,45,.11);
}
/* Single typography and interaction grammar for CTAs on all service, region, case, article and contact pages. */
.btn,.seo-lime-btn,.seo-outline-btn,
.reference-built .ref-lime,
.reference-built .ref-ratings a,
.reference-built .clone-dialog-button,
.reference-built .clone-form button[type="submit"],
.mobile-contact-bar a {
  box-sizing:border-box;
  font-family:Arial,'Helvetica Neue',sans-serif;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  border-radius:var(--ui-radius);
  line-height:1.22;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
  -webkit-tap-highlight-color:transparent;
}
/* Unified primary: same lime as the reference screenshot. */
.btn:not(.dark):not(.btn-outline),.seo-lime-btn,
.reference-built .ref-lime,
.reference-built .clone-dialog-button,
.reference-built .clone-form button[type="submit"] {
  color:#11232b;
  background:var(--ui-primary);
  border-color:transparent;
}
.btn:not(.dark):not(.btn-outline):hover,.seo-lime-btn:hover,
.reference-built .ref-lime:hover,
.reference-built .clone-dialog-button:hover,
.reference-built .clone-form button[type="submit"]:hover {background:var(--ui-primary-hover);box-shadow:var(--ui-shadow)}
.btn:not(.dark):not(.btn-outline):active,.seo-lime-btn:active,
.reference-built .ref-lime:active {background:var(--ui-primary-pressed);transform:translateY(1px)}
/* Secondary / dark buttons have shared neutral variants. */
.btn.dark {color:#fff;background:var(--ui-dark);border:1px solid var(--ui-dark)}
.btn.dark:hover {background:var(--ui-dark-hover);border-color:var(--ui-dark-hover);box-shadow:var(--ui-shadow)}
.btn.btn-outline,.seo-outline-btn,.reference-built .ref-ratings a {
  color:var(--ui-ink);background:#fff;border:1px solid var(--ui-line)
}
.btn.btn-outline:hover,.seo-outline-btn:hover,.reference-built .ref-ratings a:hover {
  color:#132630;background:#f0fbd9;border-color:#779d37;box-shadow:var(--ui-shadow)
}
/* Button labels don't unexpectedly wrap into two lines or become misaligned. */
.btn,.seo-lime-btn,.seo-outline-btn {display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;min-height:43px;vertical-align:middle}
.btn {padding:11px 20px}
.seo-lime-btn,.seo-outline-btn{min-height:44px}
.btn[disabled],button[disabled],a[aria-disabled="true"] {cursor:not-allowed;opacity:.55;box-shadow:none;transform:none;pointer-events:none}
/* Focus styles work with keyboard: visible on all controls, not mouse clicks. */
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ui-focus);outline-offset:3px;
}
.reference-built :focus-visible {outline:3px solid var(--ui-focus);outline-offset:3px}
/* Input form standards (not altering checkboxes or radio buttons). */
.lead-form :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.comp-fields input,.filter-panel input,
.reference-built .clone-form :is(input:not([type="checkbox"]):not([type="radio"]),select),
.reference-built .ref-lead-card>input,
.reference-built .ref-calc-field select,
.reference-built .ref-region-picker select {
  box-sizing:border-box;
  border-radius:8px;
  border:1px solid var(--ui-line);
  background-color:#fff;
  color:var(--ui-ink);
  transition:border-color .16s ease,box-shadow .16s ease;
}
:is(.lead-form,.comp-fields,.filter-panel) :is(input,textarea,select):focus,
.reference-built :is(.clone-form input,.clone-form select,.ref-lead-card>input,.ref-calc-field select,.ref-region-picker select):focus {
  border-color:#729d28;box-shadow:0 0 0 3px rgba(156,215,74,.2);
}
.reference-built .ref-calc-field select:disabled {background-color:#dbe1e4;color:#536069;border-color:#aab8bd;box-shadow:none}
::placeholder {color:#728289;opacity:1}
/* The reference hero: same colors, dimensions and content hierarchy. Polish only states and interaction. */
.reference-built .ref-header-order{display:inline-flex;align-items:center;justify-content:center;min-width:120px}
.reference-built .ref-main-cta,.reference-built .ref-calc-submit,.reference-built .ref-region-picker button{display:inline-flex;align-items:center;justify-content:center}
.reference-built .ref-main-nav a,.reference-built .ref-mobile-nav a,.reference-built .ref-block-heading a,
.reference-built .ref-place-columns a,.reference-built .ref-contact-tabs a,.reference-built .ref-service-card,
.reference-built .clone-extra a,.reference-built .clone-gallery a {
  transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.reference-built .ref-main-nav a:hover,.reference-built .ref-block-heading a:hover,.reference-built .ref-place-columns a:hover {color:var(--ui-primary);text-decoration:underline;text-underline-offset:4px}
.reference-built .ref-contact-tabs a{border-radius:7px}
.reference-built .ref-contact-tabs a:hover:not(.on){background:#ecfbd5;border-color:#9bbf63;color:#142630}
.reference-built .ref-contact-tabs a.on{background:#142630;color:#fff}
.reference-built .ref-social:hover{filter:brightness(1.13);box-shadow:0 0 0 3px rgba(191,255,76,.25)}
.reference-built .ref-condition-options button{transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease;min-width:0}
.reference-built .ref-condition-options button:hover:not(.is-selected){background:#455960;border-color:#71878a}
.reference-built .ref-condition-options button.is-selected{background:var(--ui-primary);border-color:var(--ui-primary);box-shadow:inset 0 0 0 1px rgba(19,38,48,.1)}
.reference-built .ref-service-card:hover{border-color:#a3c96f;box-shadow:var(--ui-shadow)}
.reference-built .ref-slider-control:hover{background:#f0fbdb;box-shadow:0 4px 18px #1e36413c}
.reference-built .ref-slider-control:active{transform:scale(.97)}
.reference-built .ref-ratings a{margin-left:auto;padding:8px 12px;min-height:33px;display:inline-flex;align-items:center;justify-content:center}
.reference-built .clone-modal-close:hover{background:#cddfdd}
.reference-built .clone-choices button{transition:background-color .18s ease,border-color .18s ease}
.reference-built .clone-choices button:focus-visible{outline-color:var(--ui-focus)}
.reference-built .clone-extra a:hover {background:#effbd6;border-color:#6f963c}
/* Filters are toggle buttons. Active and hover states must differ. */
.case-filter{min-height:42px;border-radius:10px;border-color:var(--ui-line);transition:background .18s,border-color .18s,color .18s,box-shadow .18s}
.case-filter:hover:not([aria-pressed="true"]){background:#f0fbdc;border-color:#7ca33d}
.case-filter[aria-pressed="true"]{background:var(--ui-dark);color:#fff;border-color:var(--ui-dark)}
/* Buttons in the consent banner and sticky mobile actions follow exactly the same palette. */
.analytics-consent button {min-height:40px;border-radius:var(--ui-radius)}
.mobile-contact-bar a{display:flex;justify-content:center;align-items:center;min-height:46px;padding:11px 7px}
.mobile-contact-bar a.mobile-phone,.mobile-contact-bar a:nth-child(2){background:var(--ui-primary);color:var(--ui-ink)}
.mobile-contact-bar a:last-child{background:#fff;color:var(--ui-ink)}
.mobile-contact-bar a:hover{filter:brightness(.96)}
/* Article and sidebar links stay links; make CTAs consistent. */
.article .button-row,.quiz-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.article .button-row .btn,.quiz-options .btn{margin:0}
.case-aside .btn{width:100%}
/* Larger touch targets where they matter, without changing desktop-first reference proportions. */
@media (max-width:700px){
  .btn,.seo-lime-btn,.seo-outline-btn{min-height:46px;padding:12px 16px}
  .reference-built .ref-mobile-menu{min-width:44px;min-height:44px;display:grid;place-items:center}
  .reference-built .ref-contact-tabs{height:40px}
  .reference-built .ref-contact-tabs a{min-height:40px}
  .reference-built .ref-main-cta{min-height:48px}
  .reference-built .ref-calc-submit{min-height:44px}
  .reference-built .ref-region-picker button,.reference-built .ref-region-picker select{min-height:44px;height:44px}
  .reference-built .ref-condition-options button{min-height:58px}
  .reference-built .ref-ratings a{min-height:40px}
  .reference-built .ref-slider-control{width:38px;height:38px}
  .reference-built .clone-modal-close{min-width:44px;min-height:44px}
  .case-filter{min-height:44px}
  .mobile-contact-bar{gap:9px}
  .mobile-contact-bar a{font-size:12px;line-height:1.18;overflow-wrap:anywhere}
  .seo-inline-cta .seo-lime-btn{white-space:normal}
}
@media(max-width:430px){
  .reference-built .ref-contact-tabs a{font-size:10px}
  .reference-built .ref-region-picker button{padding:0 14px}
}
@media(prefers-reduced-motion:reduce){
  :is(.btn,.seo-lime-btn,.seo-outline-btn,.reference-built .ref-lime,.case-filter,.reference-built .ref-service-card,.reference-built .ref-contact-tabs a){transition:none!important}
}
