/*
 * Kavenio CV v4.1.18.2 — Login, Conversion & Mobile Navigation Polish
 * Late visual/navigation layer. Product logic and scoring engines remain untouched.
 */

:root {
  --v4182-gold: #f7c843;
  --v4182-gold-2: #ffe57d;
  --v4182-deep: #070c17;
  --v4182-panel: #0e1728;
  --v4182-line: rgba(255,255,255,.12);
  --v4182-muted: #aeb9c9;
}

/* ---------- Shared mobile navigation ---------- */
.kv4182-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  color: #fff;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.kv4182-menu-toggle span {
  width: 17px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}
.kv4182-menu-toggle:hover,
.kv4182-menu-toggle:focus-visible {
  border-color: rgba(247,200,67,.48);
  background: rgba(247,200,67,.10);
  outline: none;
}
.kv4182-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(2,5,12,.66);
  opacity: 0;
  transition: opacity .18s ease;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.kv4182-menu-backdrop.is-open { opacity: 1; }
.kv4182-mobile-menu {
  position: fixed;
  z-index: 999;
  top: 12px;
  inset-inline-end: 12px;
  width: min(340px,calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(247,200,67,.10),transparent 30%),
    linear-gradient(180deg,rgba(15,24,41,.985),rgba(6,11,21,.985));
  color: #fff;
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  transform: translateY(-10px) scale(.985);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .18s ease,opacity .18s ease,visibility .18s ease;
}
.kv4182-mobile-menu.is-open {
  transform: none;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.kv4182-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 4px 13px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.kv4182-menu-head strong { font-size: .96rem; }
.kv4182-menu-close {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  color: #fff;
  font-size: 1.35rem;
  cursor: pointer;
}
.kv4182-menu-list {
  display: grid;
  gap: 7px;
  padding-top: 12px;
}
.kv4182-menu-action {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  color: #e8edf5 !important;
  text-decoration: none !important;
  text-align: start;
  font: inherit;
  font-size: .9rem;
  font-weight: 800;
  cursor: pointer;
}
.kv4182-menu-action:hover,
.kv4182-menu-action:focus-visible,
.kv4182-menu-action.is-active {
  border-color: rgba(247,200,67,.31);
  background: rgba(247,200,67,.09);
  color: #ffe58a !important;
  outline: none;
}
body.kv4182-menu-open { overflow: hidden; }

/* ---------- Login / registration conversion polish ---------- */
.v418-auth .auth-wrapper { gap: 14px !important; }
.v418-auth .auth-card {
  margin-top: 14px !important;
  min-height: 560px !important;
  grid-template-columns: minmax(390px,.86fr) minmax(0,1.14fr) !important;
  border-radius: 30px !important;
}
.v418-auth .auth-card-form {
  padding: clamp(30px,3.65vw,46px) !important;
}
.v418-auth .auth-card-info {
  padding: clamp(38px,4vw,54px) !important;
}
.v418-auth .auth-card-info-inner { gap: 17px !important; }
.v418-auth .auth-card-info h1 {
  max-width: 500px !important;
  font-size: clamp(2rem,3.05vw,2.85rem) !important;
  line-height: 1.12 !important;
}
.v418-auth .auth-card-info p {
  font-size: .94rem !important;
  line-height: 1.82 !important;
}
.v418-auth .auth-benefits { gap: 8px !important; }
.v418-auth .auth-benefits li {
  padding: 9px 12px 9px 36px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
}
html[dir="rtl"] .v418-auth .auth-benefits li { padding: 9px 36px 9px 12px !important; }
.v418-auth .auth-benefits li::before { top: 9px !important; inset-inline-start: 9px !important; }
.v418-auth .auth-form-head { margin-bottom: 16px !important; }
.v418-auth .auth-form-head h2 { font-size: clamp(1.75rem,2.25vw,2.1rem) !important; }
.v418-auth .auth-form-head p { margin-top: 7px !important; }
.v418-auth .auth-tabs { margin-bottom: 18px !important; }
body.v418-auth[data-brand-version] .google-login-btn {
  min-height: 50px !important;
  border: 1px solid #d4dde8 !important;
  background: #f8fafc !important;
  color: #172033 !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.055) !important;
  opacity: 1 !important;
}
body.v418-auth[data-brand-version] .google-login-btn:hover {
  border-color: #aab8ca !important;
  background: #fff !important;
}
.v418-auth .oauth-divider { color: #7e8da1 !important; }
.v418-auth .field-group { margin-bottom: 15px !important; }
.v418-auth .field-group label {
  margin-bottom: 7px !important;
  color: #1d2939 !important;
  font-size: .87rem !important;
  font-weight: 850 !important;
}
body.v418-auth[data-brand-version] .field-control,
body.v418-auth[data-brand-version] .field-group > input {
  min-height: 52px !important;
  border: 1px solid #d6dfeb !important;
  border-radius: 14px !important;
  background: #f1f6fd !important;
  color: #111827 !important;
}
body.v418-auth[data-brand-version] .field-group > input:focus,
body.v418-auth[data-brand-version] .field-control:focus-within {
  border-color: rgba(184,137,11,.70) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(245,197,66,.12) !important;
  outline: none !important;
}
.v418-auth .auth-submit { margin-top: 3px !important; }
.v418-auth .auth-footer-note { margin-top: 15px !important; }
.v418-auth .auth-legal-links {
  gap: 8px 14px !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #e7ecf2 !important;
  font-size: .78rem !important;
}
.v418-auth .auth-legal-links a { color: #68778d !important; font-weight: 700; }

/* ---------- Checkout conversion rhythm ---------- */
.v418-checkout .checkout-content,
.v418-checkout .pricing-grid { scroll-margin-top: 90px; }
.v418-checkout .pricing-card { transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.v418-checkout .pricing-card:hover { transform: translateY(-3px); }

/* ---------- Template landing pages ---------- */
body.kvx-template .nav { position: relative; }
body.kvx-template .links { min-width: 0; }

@media (max-width: 1020px) {
  .kv4182-menu-toggle { display: inline-flex; }

  /* Landing: keep primary action, language and a real menu. */
  .v418-landing .top-actions { display: flex !important; align-items: center !important; }

  /* About/contact: hidden desktop links now have a menu counterpart. */
  .v418-company .public-actions { align-items: center !important; }

  /* Template pages: old CSS hides text links, hamburger restores access. */
  body.kvx-template .links { gap: 8px !important; }
}

@media (max-width: 820px) {
  .v418-auth .auth-card {
    grid-template-columns: 1fr !important;
    grid-template-areas: "form" "info" !important;
    margin-top: 12px !important;
  }
  .v418-auth .auth-card-form { order: -1 !important; }
  .v418-auth .auth-card-info { order: 2 !important; }
}

@media (max-width: 640px) {
  .v418-auth .auth-page-shell { padding: 10px !important; }
  body.v418-auth[data-brand-version] .auth-topbar {
    min-height: 62px !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 7px 9px !important;
    border-radius: 19px !important;
  }
  .v418-auth .auth-brand { flex: 1 1 auto; min-width: 0; }
  .v418-auth .auth-brand-logo { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .v418-auth .auth-brand-text span { display: none !important; }
  .v418-auth .auth-top-actions {
    width: auto !important;
    flex: 0 0 auto;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }
  .v418-auth .auth-top-actions > :not(.kv4182-menu-toggle) { display: none !important; }
  .v418-auth .auth-card-form { padding: 24px 20px 26px !important; }
  .v418-auth .auth-card-info { padding: 26px 20px !important; }
  .v418-auth .auth-tabs { grid-template-columns: 1fr 1fr !important; gap: 6px !important; }
  .v418-auth .auth-tab { min-height: 43px !important; font-size: .84rem !important; }
  .v418-auth .auth-card-info h1 { font-size: 1.8rem !important; }
  .v418-auth .auth-card-info .btn-secondary { width: 100% !important; }
  .v418-auth .auth-legal-links { font-size: .75rem !important; }

  .v418-company .public-actions .kv4182-menu-toggle { display: inline-flex !important; }
  .v418-landing .top-actions .kv4182-menu-toggle { display: inline-flex !important; }
}

@media (max-width: 430px) {
  .v418-landing .language-pill { display: none !important; }
  .v418-landing .top-actions .btn-primary { padding-inline: 11px !important; }
  .v418-auth .auth-card-form { padding-inline: 17px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .kv4182-mobile-menu,
  .kv4182-menu-backdrop,
  .v418-checkout .pricing-card { transition: none !important; }
}
/* Generic fallback keeps Google sign-in readable even if brand-version attributes change. */
.v418-auth .google-login-btn { color: #172033 !important; opacity: 1 !important; }
