/* Remy Wosch Contact Buttons v1.0.0 */
:root {
  --rw-contact-gold: #d7ad5c;
  --rw-contact-gold-light: #f2cf83;
  --rw-contact-ink: #090b0d;
  --rw-contact-surface: rgba(12, 15, 18, 0.96);
  --rw-contact-border: rgba(242, 207, 131, 0.66);
  --rw-contact-text: #fffdf8;
  --rw-contact-viber: #7360f2;
}

.rw-call-inline,
.rw-viber-floating {
  -webkit-tap-highlight-color: transparent;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.rw-call-inline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  min-height: 44px !important;
  max-width: 100% !important;
  padding: 0.76em 1.12em !important;
  margin-left: 10px !important;
  border: 1px solid var(--rw-contact-border) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)), var(--rw-contact-surface) !important;
  color: var(--rw-contact-text) !important;
  font: inherit !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.22) !important;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease !important;
  cursor: pointer !important;
}

.rw-call-inline:hover,
.rw-call-inline:focus-visible {
  transform: translateY(-1px) !important;
  border-color: var(--rw-contact-gold-light) !important;
  background: linear-gradient(180deg, rgba(215,173,92,0.22), rgba(215,173,92,0.10)), var(--rw-contact-ink) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.30), 0 0 0 3px rgba(215,173,92,0.12) !important;
  outline: none !important;
}

.rw-call-inline svg,
.rw-viber-floating svg {
  display: block !important;
  flex: 0 0 auto !important;
  width: 1.08em !important;
  height: 1.08em !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.rw-call-inline--compact {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin-left: 8px !important;
  border-radius: 50% !important;
}

.rw-call-inline--compact > span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.rw-call-inline--stacked {
  margin-left: 0 !important;
  margin-top: 10px !important;
}

.rw-viber-floating {
  position: fixed !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  bottom: max(22px, calc(env(safe-area-inset-bottom) + 18px)) !important;
  z-index: 2147482000 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 0 18px 0 15px !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #7d6bf5, var(--rw-contact-viber)) !important;
  color: #ffffff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
  box-shadow: 0 18px 44px rgba(25,18,68,0.40), 0 5px 16px rgba(0,0,0,0.28) !important;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease !important;
}

.rw-viber-floating:hover,
.rw-viber-floating:focus-visible {
  transform: translateY(-2px) scale(1.015) !important;
  box-shadow: 0 22px 52px rgba(25,18,68,0.48), 0 7px 20px rgba(0,0,0,0.30), 0 0 0 4px rgba(115,96,242,0.20) !important;
  filter: brightness(1.04) !important;
  outline: none !important;
}

.rw-viber-floating__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.17) !important;
}

.rw-viber-floating__icon svg {
  width: 20px !important;
  height: 20px !important;
}

body.rw-contact-buttons-ready {
  --rw-contact-safe-bottom: 86px;
}

@media (max-width: 860px) {
  .rw-call-inline:not(.rw-call-inline--compact) {
    margin-left: 8px !important;
    padding: 0.72em 0.94em !important;
  }
}

@media (max-width: 700px) {
  .rw-call-inline:not(.rw-call-inline--compact) {
    margin-left: 0 !important;
    margin-top: 9px !important;
    min-width: min(100%, 230px) !important;
  }

  .rw-viber-floating {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(14px, calc(env(safe-area-inset-bottom) + 10px)) !important;
    min-height: 50px !important;
    padding: 0 14px 0 11px !important;
    gap: 8px !important;
    font-size: 14px !important;
  }

  .rw-viber-floating__icon {
    width: 32px !important;
    height: 32px !important;
  }
}

@media (max-width: 420px) {
  .rw-viber-floating__label-long {
    display: none !important;
  }

  .rw-viber-floating__label-short {
    display: inline !important;
  }
}

@media (min-width: 421px) {
  .rw-viber-floating__label-short {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rw-call-inline,
  .rw-viber-floating {
    transition: none !important;
  }
}

@media print {
  .rw-call-inline,
  .rw-viber-floating {
    display: none !important;
  }
}
