.bio-page {
    min-height: 100vh;
    min-height: 100dvh;
    position: relative;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family:
        system-ui,
        -apple-system,
        'Segoe UI',
        Roboto,
        'Helvetica Neue',
        Arial,
        sans-serif;
    --bio-card-radius: 1.125rem;
    --bio-icon-size: 2.875rem;
    --bio-icon-radius: 0.9375rem;
}

.bio-skip-link {
    position: absolute;
    left: 0.5rem;
    top: 0.5rem;
    z-index: 1080;
    padding: 0.5rem 1rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--bs-primary);
    background: var(--bs-body-bg);
    border: 2px solid var(--bs-primary);
    border-radius: 0.5rem;
    transform: translateY(-150%);
    transition: transform 0.2s ease;
}

.bio-skip-link:focus {
    transform: translateY(0);
    outline: none;
}

/* Sabit üst köşe — cam efektli araç düğmeleri */
.bio-floating-actions {
    position: fixed;
    top: max(0.85rem, env(safe-area-inset-top, 0px));
    right: max(0.85rem, env(safe-area-inset-right, 0px));
    z-index: 100;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
    max-width: calc(100vw - 1.7rem);
}

.bio-fab-btn {
    border-radius: 2rem !important;
    padding: 0.45rem 0.85rem !important;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    border: 1px solid rgba(var(--bs-body-color-rgb), 0.12) !important;
    background: rgba(var(--bs-body-bg-rgb), 0.72) !important;
    color: var(--bs-body-color) !important;
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 4px 24px rgba(0, 0, 0, 0.08);
    transition:
        transform 0.2s cubic-bezier(0.34, 1.35, 0.64, 1),
        box-shadow 0.25s ease,
        border-color 0.2s ease,
        background 0.2s ease;
}

[data-bs-theme='dark'] .bio-fab-btn {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(33, 37, 41, 0.55) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 8px 32px rgba(0, 0, 0, 0.35);
}

.bio-fab-btn:hover {
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
    transform: translateY(-1px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 28px rgba(var(--bs-primary-rgb), 0.22);
}

.bio-fab-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.35);
}

.bio-copy-feedback.toast {
    position: fixed;
    bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%) translateY(120%);
    z-index: 1090;
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    max-width: min(90vw, 20rem);
    border-radius: 1rem !important;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.bio-copy-feedback.toast.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

/* Arka plan müziği — düşük profilli yüzen kontrol */
.bio-music-fab {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    z-index: 1060;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    opacity: 0.48;
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
    background: rgba(255, 255, 255, 0.58);
    backdrop-filter: blur(12px) saturate(1.15);
    -webkit-backdrop-filter: blur(12px) saturate(1.15);
    color: var(--bs-body-color);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.5) inset,
        0 4px 18px rgba(0, 0, 0, 0.1);
}

[data-bs-theme="dark"] .bio-music-fab {
    background: rgba(33, 37, 41, 0.58);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 6px 24px rgba(0, 0, 0, 0.35);
}

.bio-music-fab:hover,
.bio-music-fab:focus-visible {
    opacity: 1;
    transform: scale(1.07);
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 28px rgba(var(--bs-primary-rgb), 0.18);
}

/* Arka plan katmanı (özel veya varsayılan) */
.bio-bg-layer {
    position: fixed;
    inset: 0;
    z-index: -2;
    background-color: var(--bs-body-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform-origin: center center;
    will-change: auto;
}

.bio-bg-layer--builtin {
    background:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(99, 102, 241, 0.22), transparent),
        radial-gradient(ellipse 60% 40% at 100% 0%, rgba(236, 72, 153, 0.12), transparent),
        var(--bs-body-bg);
}

[data-bs-theme="dark"] .bio-bg-layer--builtin {
    background:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(129, 140, 248, 0.18), transparent),
        radial-gradient(ellipse 60% 40% at 100% 0%, rgba(244, 114, 182, 0.1), transparent),
        var(--bs-body-bg);
}

/* Okunabilirlik için koyu örtü (görsel / gradient üstü) */
.bio-bg-overlay {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: #000;
    opacity: 0;
}

/* Özel arka plan (fotoğraf / gradient / düz renk): isim, biyografi ve kartlar net görünsün */
.bio-page.bio-bg--custom .bio-header-profile {
    padding: 1.15rem 1.25rem 1.35rem;
    margin-top: 0.15rem;
    border-radius: 1.35rem;
    background: rgba(0, 0, 0, 0.48);
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1) inset,
        0 12px 40px rgba(0, 0, 0, 0.4);
}

.bio-page.bio-bg--custom .bio-name {
    color: #f8fafc;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.95),
        0 0 1.25rem rgba(0, 0, 0, 0.7);
}

.bio-page.bio-bg--custom .bio-header-profile .bio-about {
    color: rgba(248, 250, 252, 0.93) !important;
    opacity: 1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.88);
}

.bio-page.bio-bg--custom .bio-avatar,
.bio-page.bio-bg--custom .bio-avatar-placeholder {
    border-color: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.5);
}

.bio-page.bio-bg--custom .bio-verified-badge {
    color: #7dd3fc;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.85));
}

.bio-page.bio-bg--custom .bio-site-logo__img {
    filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.65));
}

.bio-page.bio-bg--custom .bio-section-eyebrow {
    color: rgba(255, 255, 255, 0.88);
    opacity: 1;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.78);
}

.bio-page.bio-bg--custom .bio-empty-hint {
    background: rgba(0, 0, 0, 0.55);
    border-color: rgba(255, 255, 255, 0.28);
    color: rgba(248, 250, 252, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
}

.bio-page.bio-bg--custom .bio-link-card {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(255, 255, 255, 0.4);
    color: #16181d;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 8px 32px rgba(0, 0, 0, 0.38);
}

.bio-page.bio-bg--custom .bio-link-card:hover {
    background: #fff;
    color: #16181d;
    border-color: rgba(var(--bs-primary-rgb), 0.5);
}

.bio-page.bio-bg--custom .bio-link-title {
    color: #0f1115;
}

.bio-page.bio-bg--custom .bio-link-sub.text-secondary,
.bio-page.bio-bg--custom .bio-link-sub {
    color: #4b5563 !important;
}

.bio-page.bio-bg--custom .bio-link-chevron.text-secondary {
    color: rgba(0, 0, 0, 0.42) !important;
}

.bio-page.bio-bg--custom .bio-link-icon {
    background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 100%);
    border-color: rgba(0, 0, 0, 0.08);
    color: var(--bs-primary);
}

.bio-page.bio-bg--custom .bio-page-footer {
    border-top-color: rgba(255, 255, 255, 0.22);
}

.bio-page.bio-bg--custom .bio-footer-note {
    color: rgba(248, 250, 252, 0.92) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.78);
}

.bio-page.bio-bg--custom .bio-fab-btn {
    background: rgba(0, 0, 0, 0.52) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #f8fafc !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 8px 28px rgba(0, 0, 0, 0.45) !important;
}

.bio-page.bio-bg--custom .bio-fab-btn:hover {
    background: rgba(0, 0, 0, 0.68) !important;
    color: #fff !important;
}

@media (prefers-reduced-motion: reduce) {
    .bio-page.bio-bg--custom .bio-header-profile,
    .bio-page.bio-bg--custom .bio-empty-hint,
    .bio-page.bio-bg--custom .bio-fab-btn {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

/* Hafif animasyonlar (GIF hareket eder; bunlar ekstra CSS hareketi) */
@keyframes bioBgPan {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

.bio-bg-anim-pan {
    will-change: background-position;
    animation: bioBgPan 90s linear infinite alternate;
}

.bio-bg-layer--builtin.bio-bg-anim-pan {
    background-size: 220% 220%;
}

.bio-bg-anim-pan:not(.bio-bg-layer--builtin) {
    background-size: 200% 200%;
}

@keyframes bioBgZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

.bio-bg-anim-zoom {
    will-change: transform;
    animation: bioBgZoom 22s ease-in-out infinite alternate;
}

@keyframes bioBgShift {
    0% { filter: hue-rotate(0deg) saturate(1); }
    100% { filter: hue-rotate(25deg) saturate(1.15); }
}

.bio-bg-anim-shift {
    will-change: filter;
    animation: bioBgShift 18s ease-in-out infinite alternate;
}

.bio-main {
    display: flex;
    flex-direction: column;
}

.bio-wrap {
    max-width: min(26.5rem, 100%);
    position: relative;
}

.bio-header {
    margin-bottom: 2rem;
    padding-top: 0.25rem;
}

@media (min-width: 768px) {
    .bio-header {
        margin-bottom: 2.35rem;
    }
}

.bio-header-profile {
    width: 100%;
    isolation: isolate;
}

.bio-header-profile .bio-site-logo {
    position: relative;
    z-index: 2;
}

.bio-header-profile .bio-avatar-ring {
    position: relative;
    z-index: 3;
}

.bio-header-profile .bio-name,
.bio-header-profile .bio-about {
    position: relative;
    z-index: 4;
}

/* Site logosu (site_settings) */
.bio-site-logo {
    width: 100%;
    line-height: 0;
}

.bio-site-logo--align-center {
    text-align: center;
}

.bio-site-logo--align-start {
    align-self: flex-start;
    text-align: start;
}

.bio-site-logo--above-avatar {
    margin-bottom: 1rem;
}

.bio-site-logo--between-avatar-name {
    margin-top: 0.4rem;
    margin-bottom: 0.2rem;
}

.bio-site-logo--below-name {
    margin-top: 0.45rem;
    margin-bottom: 0.15rem;
}

.bio-site-logo__link {
    display: inline-block;
    line-height: 0;
    border-radius: 0.35rem;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.bio-site-logo__link:hover {
    opacity: 0.88;
    transform: translateY(-1px);
}

.bio-site-logo__link:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 3px;
}

.bio-site-logo__img {
    width: auto;
    max-width: min(100%, 320px);
    height: auto;
    object-fit: contain;
    vertical-align: middle;
}

/* Gradient çerçeveli avatar */
.bio-avatar-ring {
    display: inline-block;
    line-height: 0;
    padding: 4px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--bs-primary) 0%, #a855f7 45%, #22d3ee 100%);
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

[data-bs-theme='dark'] .bio-avatar-ring {
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.bio-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--bs-body-bg) !important;
    display: block;
    background: var(--bs-body-bg);
    position: relative;
    z-index: 1;
}

.bio-avatar-placeholder {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    font-size: 3rem;
    color: var(--bs-secondary-color);
    background: linear-gradient(160deg, var(--bs-secondary-bg) 0%, var(--bs-tertiary-bg) 100%);
    border: 3px solid var(--bs-body-bg) !important;
}

.bio-name {
    font-size: clamp(1.5rem, 5vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: var(--bs-body-color);
}

.bio-about {
    max-width: 24rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    opacity: 0.92;
}

.bio-verified-badge {
    color: var(--bs-primary);
    font-size: 1.1em;
    line-height: 1;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 6px rgba(var(--bs-primary-rgb), 0.35));
}

.bio-section-eyebrow {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
    margin: 0 0 1rem;
    opacity: 0.9;
}

/* Google AdSense — ana sayfa birimleri */
.bio-ad-slot {
    margin: 0.35rem 0 1.1rem;
}

.bio-ad-slot--profile {
    margin-top: 0.15rem;
}

.bio-ad-slot--footer {
    margin-bottom: 0.25rem;
}

.bio-ad-wrap {
    min-height: 90px;
    overflow: hidden;
}

.bio-ad-slot .bio-ad-ins {
    min-height: 90px;
}

.bio-ad-slot-item {
    list-style: none;
}

.bio-empty-hint {
    padding: 1.75rem 1.25rem;
    border-radius: var(--bio-card-radius);
    border: 1px dashed var(--bs-border-color-translucent);
    background: rgba(var(--bs-body-bg-rgb), 0.5);
    color: var(--bs-secondary-color);
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
}

.bio-page-footer {
    margin-top: 2.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--bs-border-color-translucent);
}

.bio-footer-note {
    line-height: 1.6;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
}

.bio-link-card {
    position: relative;
    padding: 0.95rem 1.05rem;
    border-radius: var(--bio-card-radius);
    color: var(--bs-body-color);
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color-translucent);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 4px 20px rgba(0, 0, 0, 0.04);
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.28s ease,
        background 0.28s ease;
}

.bio-link-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 3px;
    height: 0;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(180deg, var(--bs-primary), #a855f7);
    opacity: 0;
    transition:
        transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.25s ease;
}

.bio-link-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 12px 36px rgba(0, 0, 0, 0.08),
        0 0 0 1px rgba(var(--bs-primary-rgb), 0.14);
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    color: var(--bs-body-color);
}

.bio-link-card:hover::before {
    transform: translateY(-50%) scaleY(1);
    height: 60%;
    opacity: 1;
}

[data-bs-theme='dark'] .bio-link-card {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 8px 32px rgba(0, 0, 0, 0.25);
}

[data-bs-theme='dark'] .bio-link-card:hover {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 16px 40px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(var(--bs-primary-rgb), 0.22);
}

.bio-link-icon {
    width: var(--bio-icon-size);
    height: var(--bio-icon-size);
    font-size: 1.32rem;
    border-radius: var(--bio-icon-radius);
    background: linear-gradient(145deg, var(--bs-tertiary-bg) 0%, var(--bs-secondary-bg) 100%);
    color: var(--bs-primary);
    border: 1px solid rgba(var(--bs-body-color-rgb), 0.06);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset;
    transition: transform 0.32s cubic-bezier(0.34, 1.35, 0.64, 1);
}

[data-bs-theme='dark'] .bio-link-icon {
    border-color: rgba(255, 255, 255, 0.08);
}

.bio-link-icon .fa-brands,
.bio-link-icon .fa-solid {
    font-size: 1.2rem;
    line-height: 1;
}

.bio-link-icon--image {
    padding: 0.2rem;
}

.bio-link-icon-img {
    width: 100%;
    height: 100%;
    max-width: 2.35rem;
    max-height: 2.35rem;
    object-fit: contain;
    display: block;
}

.bio-link-title {
    font-size: 1.02rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.bio-link-sub {
    line-height: 1.35;
    margin-top: 0.15rem;
}

.min-w-0 {
    min-width: 0;
}

.bio-link-chevron {
    opacity: 0.45;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(var(--bs-body-color-rgb), 0.06);
    font-size: 1rem;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.25s ease,
        background 0.25s ease;
}

.bio-link-card:hover .bio-link-chevron {
    opacity: 0.95;
    transform: translateX(3px);
    background: rgba(var(--bs-primary-rgb), 0.14);
}

/* —— Genel ayarlardan seçilen sayfa görünümü (bio_style) —— */

.bio-style--glass .bio-link-card {
    background: rgba(var(--bs-body-bg-rgb), 0.58);
    backdrop-filter: blur(12px) saturate(1.12);
    -webkit-backdrop-filter: blur(12px) saturate(1.12);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.bio-style--glass .bio-link-card:hover {
    background: rgba(var(--bs-body-bg-rgb), 0.72);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1) !important;
}

[data-bs-theme="dark"] .bio-style--glass .bio-link-card {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .bio-style--glass .bio-link-card:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45) !important;
}

.bio-style--glass .bio-link-icon {
    background: rgba(var(--bs-body-bg-rgb), 0.45);
    border: 1px solid rgba(0, 0, 0, 0.06);
}

[data-bs-theme="dark"] .bio-style--glass .bio-link-icon {
    border-color: rgba(255, 255, 255, 0.08);
}

.bio-style--glass .bio-avatar-ring {
    box-shadow:
        0 12px 36px rgba(0, 0, 0, 0.1),
        0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}

[data-bs-theme='dark'] .bio-style--glass .bio-avatar-ring {
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

.bio-style--minimal .bio-link-card {
    box-shadow: none !important;
    background: transparent;
    border: 1px solid var(--bs-border-color);
}

.bio-style--minimal .bio-link-card:hover {
    box-shadow: none !important;
    transform: translateY(-2px) scale(1.005);
    background: var(--bs-tertiary-bg);
    border-color: var(--bs-primary);
}

.bio-style--minimal .bio-link-card::before {
    display: none;
}

.bio-style--minimal .bio-link-icon {
    background: transparent;
    border: 1px solid var(--bs-border-color-translucent);
}

.bio-style--soft .bio-link-card {
    border-radius: 1.35rem;
    padding: 0.95rem 1.1rem;
}

.bio-style--soft .bio-link-icon {
    border-radius: 1rem;
}

.bio-style--soft .bio-avatar-ring {
    border-radius: 28%;
    padding: 3px;
}

.bio-style--soft .bio-avatar,
.bio-style--soft .bio-avatar-placeholder {
    border-radius: 28%;
}

.bio-style--soft .bio-link-card:hover {
    border-radius: 1.4rem;
}

/* —— Ana sayfa giriş animasyonları —— */
@keyframes bioRevealUp {
    from {
        opacity: 0;
        transform: translateY(1.1rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bioRevealPop {
    from {
        opacity: 0;
        transform: translateY(0.5rem) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes bioAvatarRing {
    0%,
    100% {
        box-shadow:
            0 12px 40px rgba(0, 0, 0, 0.14),
            0 0 0 0 rgba(var(--bs-primary-rgb), 0.42),
            0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    }
    50% {
        box-shadow:
            0 12px 40px rgba(0, 0, 0, 0.14),
            0 0 0 14px rgba(var(--bs-primary-rgb), 0),
            0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    }
}

@keyframes bioCardIn {
    from {
        opacity: 0;
        transform: translateY(1.1rem) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.bio-avatar-wrap {
    display: inline-block;
    line-height: 0;
}

.bio-reveal {
    opacity: 0;
    animation: bioRevealUp 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.bio-reveal--tbtn {
    animation-delay: 0.04s;
}

.bio-theme-btn {
    transition:
        transform 0.22s cubic-bezier(0.34, 1.35, 0.64, 1),
        box-shadow 0.25s ease,
        border-color 0.2s ease;
}

.bio-theme-btn:hover {
    transform: scale(1.06);
}

.bio-theme-btn:active {
    transform: scale(0.96);
}

.bio-reveal--avatar {
    animation-name: bioRevealPop;
    animation-duration: 0.75s;
    animation-timing-function: cubic-bezier(0.34, 1.35, 0.64, 1);
    animation-delay: 0.08s;
}

.bio-reveal--logo {
    animation-delay: 0.12s;
}

.bio-reveal--title {
    animation-delay: 0.16s;
}

.bio-reveal--bio {
    animation-delay: 0.28s;
}

.bio-reveal--footer {
    animation-delay: 0.2s;
}

.bio-reveal--actions {
    animation-delay: 0.22s;
}

.bio-avatar-ring.bio-avatar--animate {
    animation: bioAvatarRing 2.4s ease-out 0.72s 2;
}

.bio-link-item .bio-link-card {
    animation: bioCardIn 0.62s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(0.38s + var(--bio-stagger, 0) * 0.052s);
}

.bio-link-card:hover .bio-link-icon {
    transform: scale(1.06);
}

.bio-link-card:active {
    transform: translateY(-1px) scale(0.995);
    transition-duration: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
    .bio-reveal,
    .bio-avatar-ring.bio-avatar--animate,
    .bio-link-item .bio-link-card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .bio-link-card:hover,
    .bio-link-card:hover .bio-link-icon,
    .bio-link-card:hover .bio-link-chevron,
    .bio-link-card:active,
    .bio-theme-btn:hover,
    .bio-theme-btn:active {
        transform: none;
        transition-duration: 0.15s;
    }

    .bio-bg-anim-pan,
    .bio-bg-anim-zoom,
    .bio-bg-anim-shift {
        animation: none !important;
    }
}

/* Özel arka plan + tüm şablonlar: cam/minimal sonraki kurallar kartları yeniden saydam yapmasın */
.bio-page.bio-bg--custom .bio-style--glass .bio-link-card,
.bio-page.bio-bg--custom .bio-style--minimal .bio-link-card,
.bio-page.bio-bg--custom .bio-style--soft .bio-link-card,
[data-bs-theme='dark'] .bio-page.bio-bg--custom .bio-style--glass .bio-link-card,
[data-bs-theme='light'] .bio-page.bio-bg--custom .bio-style--glass .bio-link-card {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    color: #16181d !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 8px 32px rgba(0, 0, 0, 0.38) !important;
}

.bio-page.bio-bg--custom .bio-style--glass .bio-link-card:hover,
.bio-page.bio-bg--custom .bio-style--minimal .bio-link-card:hover,
.bio-page.bio-bg--custom .bio-style--soft .bio-link-card:hover,
[data-bs-theme='dark'] .bio-page.bio-bg--custom .bio-style--glass .bio-link-card:hover {
    background: #fff !important;
    color: #16181d !important;
    border-color: rgba(var(--bs-primary-rgb), 0.5) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 12px 36px rgba(0, 0, 0, 0.42) !important;
}

.bio-page.bio-bg--custom .bio-style--glass .bio-link-icon,
.bio-page.bio-bg--custom .bio-style--minimal .bio-link-icon {
    background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 100%) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: var(--bs-primary) !important;
}
