/* Persistent guarantee badge and direct phone contact. */
.guarantee-call {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 19;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  width: 188px;
  pointer-events: none;
}
.guarantee-call__badge {
  width: 131.2px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 3px 5px #16281d38);
}
.guarantee-call__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid #c69c57;
  border-radius: 10px;
  background: linear-gradient(145deg, #365642, #20382c);
  color: #fffaf0;
  box-shadow: 0 5px 18px #17291e40, inset 0 1px 0 #ffffff20;
  pointer-events: auto;
  transition: background .2s, transform .2s;
  text-decoration: none;
}
.guarantee-call__button:hover {
  background: #3c624b;
  transform: translateY(-2px);
}
.guarantee-call__button:focus-visible {
  outline: 3px solid #fffaf0;
  outline-offset: 3px;
  box-shadow: 0 0 0 7px #263b32;
}
.guarantee-call__button svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}
.guarantee-call__copy { display: flex; flex-direction: column; gap: 2px; }
.guarantee-call__label { font-size: 11px; line-height: 1.2; }
.guarantee-call__number { font-size: 15px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
/* Every footer link can scroll clear of the fixed contact control. */
body > footer { padding-bottom: calc(250px + env(safe-area-inset-bottom)); }
@media (max-width: 760px) {
  .guarantee-call { right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); width: 156px; gap: 6px; }
  .guarantee-call__badge { width: 91.84px; }
  .guarantee-call__button { min-height: 52px; padding: 8px 9px; gap: 7px; border-radius: 9px; }
  .guarantee-call__button svg { width: 19px; height: 19px; flex-basis: 19px; }
  .guarantee-call__label { font-size: 10px; }
  .guarantee-call__number { font-size: 13px; }
  body > footer { padding-bottom: calc(190px + env(safe-area-inset-bottom)); }
}
@media (max-height: 480px) {
  .guarantee-call__badge { width: 65.6px; }
}
@media (prefers-reduced-motion: reduce) {
  .guarantee-call__button { transition: none; }
  .guarantee-call__button:hover { transform: none; }
}
@media print {
  .guarantee-call { display: none; }
  body > footer { padding-bottom: 0; }
}
