/*
 * Public biolink page enhancement layer.
 * Loaded after link-custom.css on the public link page only.
 * Neutral polish that does NOT override user-chosen colors/backgrounds/themes —
 * only depth, motion and spacing. Safe to remove: delete this file + its l/wrapper.php reference.
 */

/* ---------- Buttons: softer depth + tactile feedback ---------- */
.link-btn {
    box-shadow: 0 6px 18px rgba(0, 0, 0, .10);
    transition: transform .22s ease, box-shadow .22s ease, opacity .3s, background .3s;
    will-change: transform;
}

.link-btn:hover {
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.link-btn:active {
    transform: translateY(1px) scale(.995);
}

/* Smoother hover scale than the default */
.link-hover-animation {
    transition: transform .25s cubic-bezier(.2, .8, .2, 1);
}

.link-hover-animation:hover {
    transform: translateY(-2px) scale(1.02);
}

/* ---------- Avatar: gentle ring + entrance ---------- */
.link-avatar-round,
.link-avatar-rounded {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

/* ---------- Block entrance animation (staggered fade-up) ---------- */
@media (prefers-reduced-motion: no-preference) {
    [data-biolink-block-id] {
        animation: biolink-fade-up .5s ease both;
    }
    /* Stagger the first several blocks for a polished cascade */
    [data-biolink-block-id]:nth-child(1) { animation-delay: .03s; }
    [data-biolink-block-id]:nth-child(2) { animation-delay: .08s; }
    [data-biolink-block-id]:nth-child(3) { animation-delay: .13s; }
    [data-biolink-block-id]:nth-child(4) { animation-delay: .18s; }
    [data-biolink-block-id]:nth-child(5) { animation-delay: .23s; }
    [data-biolink-block-id]:nth-child(6) { animation-delay: .28s; }

    @keyframes biolink-fade-up {
        from { opacity: 0; transform: translateY(14px); }
        to   { opacity: 1; transform: translateY(0); }
    }
}

/* ---------- Images inside blocks ---------- */
.link-btn-image-wrapper {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    transition: transform .3s ease, box-shadow .3s ease;
}

.link-btn-image-wrapper:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
}

.link-btn-image { transition: transform .4s ease; }
.link-btn-image-wrapper:hover .link-btn-image { transform: scale(1.04); }

/* ---------- Social icons (use the existing .link-hover-animation on each <a>) ---------- */
a.link-hover-animation:hover i {
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .2));
}

/* ---------- Modals (phone collector / sensitive content) ---------- */
.modal-content {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}

/* ---------- Responsive: comfortable touch targets & spacing ---------- */
@media (max-width: 575.98px) {
    .link-btn {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        font-size: 1.05rem;
    }
}

/* Larger tap area on touch devices */
@media (hover: none) {
    .link-btn { min-height: 52px; }
}
