/* FINAL OVAL PREMIUM CTA BUTTONS — Подробнее / Оставить заявку */
:root{
  --oval-cta-blue:#2563eb;
  --oval-cta-blue-dark:#1d4ed8;
  --oval-cta-blue-soft:#eff6ff;
  --oval-cta-text:#0f172a;
}
html body a.cta-oval-premium,
html body button.cta-oval-premium,
html body .cta-oval-premium{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  font-family:inherit!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-decoration:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  border:1px solid rgba(37,99,235,.22)!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease, filter .18s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}
html body a.cta-oval-premium-more,
html body button.cta-oval-premium-more,
html body .cta-oval-premium-more{
  color:var(--oval-cta-blue-dark)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(239,246,255,.94))!important;
  border-color:rgba(37,99,235,.22)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
html body a.cta-oval-premium-apply,
html body button.cta-oval-premium-apply,
html body .cta-oval-premium-apply{
  color:#fff!important;
  background:linear-gradient(135deg,#3b82f6 0%,#2563eb 48%,#1d4ed8 100%)!important;
  border-color:rgba(37,99,235,.42)!important;
  box-shadow:0 9px 22px rgba(37,99,235,.20), inset 0 1px 0 rgba(255,255,255,.30)!important;
}
html body a.cta-oval-premium:hover,
html body button.cta-oval-premium:hover{
  transform:translateY(-1px)!important;
  filter:saturate(1.04) brightness(1.02)!important;
}
html body a.cta-oval-premium-more:hover,
html body button.cta-oval-premium-more:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:rgba(37,99,235,.48)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.18), inset 0 1px 0 rgba(255,255,255,.26)!important;
}
html body a.cta-oval-premium-apply:hover,
html body button.cta-oval-premium-apply:hover{
  background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af)!important;
  box-shadow:0 11px 26px rgba(37,99,235,.25), inset 0 1px 0 rgba(255,255,255,.26)!important;
}
html body a.cta-oval-premium:active,
html body button.cta-oval-premium:active{
  transform:translateY(0) scale(.985)!important;
}
html body a.cta-oval-premium:focus-visible,
html body button.cta-oval-premium:focus-visible{
  outline:3px solid rgba(96,165,250,.85)!important;
  outline-offset:3px!important;
}
html body .service-actions,
html body .service-final-actions,
html body .blog-card-actions,
html body .card-actions{
  align-items:center!important;
}
html body .service-actions:has(.cta-oval-premium),
html body .service-final-actions:has(.cta-oval-premium){
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  justify-content:flex-start!important;
}
html body .service-actions .cta-oval-premium,
html body .service-final-actions .cta-oval-premium{
  flex:0 0 auto!important;
}
html body .card .cta-oval-premium,
html body .service-card .cta-oval-premium,
html body .service-final-card .cta-oval-premium,
html body .home-service-compact .cta-oval-premium{
  margin:0!important;
}
@media (max-width:640px){
  html body a.cta-oval-premium,
  html body button.cta-oval-premium,
  html body .cta-oval-premium{
    height:36px!important;
    min-height:36px!important;
    padding:0 12px!important;
    font-size:12.5px!important;
    letter-spacing:0!important;
  }
  html body .service-actions:has(.cta-oval-premium),
  html body .service-final-actions:has(.cta-oval-premium){
    gap:8px!important;
  }
}
@media (max-width:380px){
  html body a.cta-oval-premium,
  html body button.cta-oval-premium,
  html body .cta-oval-premium{
    height:35px!important;
    min-height:35px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
}

/* Specificity guard: старые .btn/.smallBtn/.service-final-* правила не должны перебивать финальный вид */
html body .service-actions a.smallBtn.cta-oval-premium,
html body .service-actions a.smallBtn.order.cta-oval-premium,
html body .service-final-actions a.btn.service-final-more.cta-oval-premium,
html body .service-final-actions a.btn.service-final-write.cta-oval-premium,
html body a.btn.cta-oval-premium,
html body a.smallBtn.cta-oval-premium{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
html body .service-final-actions a.btn.service-final-more.cta-oval-premium,
html body .service-final-actions a.btn.service-final-write.cta-oval-premium{
  flex:0 0 auto!important;
}
@media (max-width:640px){
  html body .service-actions a.smallBtn.cta-oval-premium,
  html body .service-actions a.smallBtn.order.cta-oval-premium,
  html body .service-final-actions a.btn.service-final-more.cta-oval-premium,
  html body .service-final-actions a.btn.service-final-write.cta-oval-premium,
  html body a.btn.cta-oval-premium,
  html body a.smallBtn.cta-oval-premium{
    height:36px!important;
    min-height:36px!important;
    padding:0 12px!important;
    font-size:12.5px!important;
  }
}
@media (max-width:380px){
  html body .service-actions a.smallBtn.cta-oval-premium,
  html body .service-actions a.smallBtn.order.cta-oval-premium,
  html body .service-final-actions a.btn.service-final-more.cta-oval-premium,
  html body .service-final-actions a.btn.service-final-write.cta-oval-premium,
  html body a.btn.cta-oval-premium,
  html body a.smallBtn.cta-oval-premium{
    height:35px!important;
    min-height:35px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
}
