.floating-reserve.call-button {
  position: fixed;
  z-index: 80;
  right: 22px;
  bottom: 22px;
  min-width: 224px;
  min-height: 68px;
  padding: 9px 13px 9px 10px;
  display: grid;
  grid-template-columns: 48px 1fr 28px;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(23,21,15,.94);
  backdrop-filter: blur(15px);
  color: #fff;
  box-shadow: 0 18px 55px rgba(27,18,10,.28);
  font-size: initial;
  font-weight: initial;
  letter-spacing: initial;
  text-transform: none;
  transition: transform .35s cubic-bezier(.22,1,.36,1), background .3s, box-shadow .3s;
}
.call-button>i { position:relative; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--gold); font-style:normal; }
.call-button>i::after { content:""; position:absolute; inset:-5px; border:1px solid rgba(185,138,67,.45); border-radius:50%; animation:callPulse 2.2s ease-out infinite; }
.call-button svg { width:20px; height:20px; fill:none; stroke:#fff; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.call-button>span { display:flex; flex-direction:column; line-height:1.12; }
.call-button small { margin-bottom:5px; color:rgba(255,255,255,.5); font-size:8px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.call-button strong { font-family:var(--serif); font-size:18px; font-weight:600; letter-spacing:0; }
.call-button>b { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; font-size:12px; transition:transform .35s,background .35s,color .35s; }
.call-button:hover { transform:translateY(-5px); background:var(--red); box-shadow:0 24px 65px rgba(73,27,20,.34); }
.call-button:hover>b { transform:rotate(45deg); background:#fff; color:var(--red); }
@keyframes callPulse { 0%{opacity:.7;transform:scale(.88)} 75%,100%{opacity:0;transform:scale(1.28)} }
@media(max-width:680px){
  .floating-reserve.call-button { right:14px; bottom:14px; min-width:0; width:64px; height:64px; min-height:64px; padding:8px; display:grid; grid-template-columns:1fr; }
  .call-button>i { width:48px; height:48px; }
  .call-button>span,.call-button>b { display:none; }
}
