/* container for the floating buttons */
  .fab2-group {
    position: relative;
    right: 18px;width:250px;margin:0 auto;
    bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 9999;
  }

  .fab2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    padding: 12px 14px;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
    font-weight: 600;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    color: white;
    transform: translateY(0);
    transition: transform .12s ease, box-shadow .12s ease;
    user-select: none;
  }

  .fab2:active { transform: translateY(1px); }
  .fab2:focus { outline: 3px solid rgba(0,0,0,0.12); outline-offset: 2px; }

  .fab2 .icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    flex: 0 0 20px;
  }

  /* Call button style */
  .fab2.call {
    background: linear-gradient(180deg,#1e9bff,#0b76d1);
  }

  /* WhatsApp button style (WhatsApp green) */
  .fab2.whatsapp {
    background: linear-gradient(180deg,#25d366,#128C7E);
  }

  /* small label on narrow screens (only icon) */
  @media (max-width:420px){
    .fab2 { padding: 10px; gap:8px; }
    .fab2 span.label { display: none; }
  }

  /* ===== Inline buttons example ===== */
  .btn {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:8px;
    text-decoration:none;
    color:white;
    font-weight:600;
    box-shadow: 0 6px 14px rgba(0,0,0,0.12);
    transition: transform .08s ease, box-shadow .12s ease;
  }
  .btn:active { transform: translateY(1px); }
  .btn.call { background:#0b76d1; }
  .btn.whatsapp {background: linear-gradient(180deg,#25d366,#128C7E); }

  /* Accessible visually-hidden text (if needed) */
  .sr-only {
    position:absolute!important;
    height:1px;width:1px;
    overflow:hidden;clip:rect(1px,1px,1px,1px);
    white-space:nowrap;border:0;padding:0;margin:-1px;
  }
  
  .ImgHeight img{height:350px !important;}
  .gallery-img img{height:220px;}
  
  
  
  /* container & button basics */
.float-btn{
  position: fixed;
  bottom: 20px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  background: #111;        /* default fallback */
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  z-index: 9999;
  transition: transform .15s ease, box-shadow .15s ease;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

/* left (call) and right (whatsapp) positions */
.call-btn { left: 18px; background: linear-gradient(135deg,#0ba360,#3cb371); }
.wa-btn   { right: 18px; background: linear-gradient(135deg,#25D366,#128C7E); }

/* hover & focus */
.float-btn:hover,
.float-btn:focus{
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 26px rgba(0,0,0,0.28);
}

/* svg sizing & keep color white */
.float-btn svg { display:block; width:22px; height:22px; color: #fff; }

/* subtle pulsing halo using ::after; and small blink animation on inner icon */
.float-btn::after{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  left: 0; top: 0;
  pointer-events: none;
  transform: scale(1);
  opacity: 0;
}

/* main pulse/halo for attention */
.call-btn::after { box-shadow: 0 0 0 6px rgba(11,163,96,0.12); animation: pulse 1.8s infinite; }
.wa-btn::after   { box-shadow: 0 0 0 6px rgba(37,211,102,0.14); animation: pulse 1.8s infinite; }

/* subtle blink of icon (opacity flicker) */
.float-btn svg { animation: blink .9s infinite ease-in-out; }

/* Respect users' reduce-motion preference */
@media (prefers-reduced-motion: reduce) {
  .float-btn::after, .float-btn svg { animation: none; }
}

/* Animations */
@keyframes pulse {
  0%   { transform: scale(.95); opacity: .6; }
  70%  { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}
@keyframes blink {
  0%   { opacity: 1; transform: translateY(0); }
  50%  { opacity: .85; transform: translateY(-1px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* small-screen adjustments */
@media (max-width:420px){
  .float-btn { width:50px; height:50px; bottom:14px; }
  .call-btn { left:12px; }
  .wa-btn { right:12px; }
}

/* accessibility focus ring */
.float-btn:focus {
  box-shadow: 0 0 0 3px rgba(255,255,255,0.12), 0 10px 26px rgba(0,0,0,0.28);
}

.bookingimg{max-width:100%;}


/* Base alert box style */
.alert {
  padding: 15px 20px;
  background-color: #f1fdf4;
  border-left: 6px solid #4CAF50;
  color: #155724;
  font-family: "Segoe UI", sans-serif;
  font-size: 15px;
  border-radius: 8px;
  margin: 15px 0;
  position: relative;
  animation: slideIn 0.6s ease-out;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

/* Success color */
.alert.success {
  background-color: #d4edda;
  border-left-color: #28a745;
  color: #155724;
}

/* Close (×) button */
.closebtn {
  position: absolute;
  right: 15px;
  top: 8px;
  color: #155724;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
}

.closebtn:hover {
  color: #0b6623;
}

/* Slide animation */
@keyframes slideIn {
  from {opacity: 0; transform: translateY(-15px);}
  to {opacity: 1; transform: translateY(0);}
}