@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');

body {
       font-family: "Josefin Sans", sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden ;
}
/* prevent background scroll when mobile menu open */
.no-scroll {
    overflow: hidden;
}
/* Show dropdown on hover */
nav .relative:hover .absolute {
    display: block;
}

/* Back To Top */
.btm-fade { transition: opacity 220ms ease, transform 220ms ease; }
.btm-hidden { opacity: 0; pointer-events: none; transform: translateY(12px) scale(0.95); }
.btm-visible { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }

.flower-btn { width: 64px; height: 64px; display: inline-grid; place-items: center;background: #fff; border-radius: 90%; box-shadow: -1px 4px 5px 0px #b2246f6b;}
.flower-btn:focus { outline: none; box-shadow: 0 0 0 4px rgba(236,72,153,0.12); border-radius: 9999px; }
.flower-btn:hover { transform: translateY(-4px) scale(1.02); }

/* Tooltip */
.tooltip {
position: absolute;
bottom: 80px;
right: 50%;
transform: translateX(50%) translateY(6px);
background: rgba(0,0,0,0.8);
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
opacity: 0;
transition: opacity 0.4s ease, transform 0.4s ease;
pointer-events: none;
white-space: nowrap;
}
.flower-btn:hover .tooltip {
opacity: 1;
transform: translateX(50%) translateY(-4px);
}

/* pulse animation */
@keyframes pulseGlow {
0%, 100% { transform: scale(1); filter: drop-shadow(0 0 4px rgba(236,72,153,0.6)); }
50% { transform: scale(1.1); filter: drop-shadow(0 0 10px rgba(236,72,153,0.8)); }
}
.pulse-center {
animation: pulseGlow 2s infinite ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
.btm-fade, .flower-btn, .flower-svg { transition: none !important; animation: none !important; }
}

/* Header shrink behavior */
header.sticky .main-header { transition: padding 180ms ease; }
header.sticky .site-logo { transition: width 180ms ease, height 180ms ease, transform 180ms ease; }
header.sticky.is-scrolled .main-header { padding-top: 6px; padding-bottom: 6px; }
header.sticky.is-scrolled .site-logo { width: 48px; }



@keyframes fade-in-down {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-fade-in-down {
  animation: fade-in-down 0.4s ease-out forwards;
}


@keyframes fade-in-down {
  0% {opacity: 0; transform: translateY(-10px);}
  100% {opacity: 1; transform: translateY(0);}
}
.animate-fade-in-down {
  animation: fade-in-down 0.4s ease-out forwards;
}