/* ===============================
FLOATING ACTION BUTTONS – PORTFOLIO MATCH
================================ */

.dr1floatingbuttons {
  pointer-events: none;
}

.dr1floatingbuttons .floating-buttons {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 1200;

  display: flex;
  flex-direction: column;
  gap: 16px;

  pointer-events: auto;
}

/* Base Button */

.dr1floatingbuttons .floating-button {
  width: 64px;
  height: 64px;
  border-radius: 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  position: relative;

  background: rgba(255,255,255,0.04);
  backdrop-filter: blur(10px);

  border: 1px solid rgba(56,189,248,0.35);

  color: #38bdf8;

  box-shadow:
    0 24px 60px rgba(0,0,0,0.85),
    inset 0 0 0 1px rgba(255,255,255,0.06);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    color 0.35s ease;

  opacity: 0;
  transform: translateY(20px) scale(0.9);
  animation: floatIn 0.6s forwards;
}

/* Stagger */

.dr1floatingbuttons .floating-button:nth-child(1){animation-delay:.1s;}
.dr1floatingbuttons .floating-button:nth-child(2){animation-delay:.2s;}
.dr1floatingbuttons .floating-button:nth-child(3){animation-delay:.3s;}
.dr1floatingbuttons .floating-button:nth-child(4){animation-delay:.4s;}

@keyframes floatIn {
  to {
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* Icon */

.dr1floatingbuttons .floating-button i {
  font-size:24px;
  transition:.35s;
}

/* Hover */

.dr1floatingbuttons .floating-button:hover {
  transform:translateY(-6px) scale(1.05);
  color:#fff;

  box-shadow:
    0 35px 90px rgba(0,0,0,.9),
    0 0 40px rgba(56,189,248,.55);
}

.dr1floatingbuttons .floating-button:hover i {
  transform:scale(1.25);
}

/* Tooltip */

.dr1floatingbuttons .floating-button::after {
  content:attr(data-tooltip);
  position:absolute;
  right:calc(100% + 14px);
  top:50%;
  transform:translateY(-50%) translateX(-10px);

  padding:8px 14px;
  font-size:13px;
  font-weight:600;

  color:#e5e7eb;
  background:rgba(2,6,23,.95);
  border:1px solid rgba(56,189,248,.35);
  border-radius:10px;

  box-shadow:0 10px 30px rgba(0,0,0,.75);
  white-space:nowrap;

  opacity:0;
  transition:.3s;
}

.dr1floatingbuttons .floating-button:hover::after {
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

/* Mobile */

@media(max-width:768px){

  .dr1floatingbuttons .floating-buttons{
    bottom:18px;
    right:18px;
  }

  .dr1floatingbuttons .floating-button{
    width:52px;
    height:52px;
    border-radius:18px;
  }

  .dr1floatingbuttons .floating-button i{
    font-size:21px;
  }

  .dr1floatingbuttons .floating-button::after{
    display:none;
  }
}