/**
 * Design Pack: Modern — أنماط تعتمد على CSS variables فقط (--staygo-*)
 * القيم تُحقن من tokens.json + تخصيص المستخدم في <style id="staylink-bio-tokens">
 * Namespace: .staygo-* فقط
 */

/* أساس الصفحة */
html.staylink-html-bio {
    box-sizing: border-box;
}
#staylink-bio-root,
#staylink-bio-root *,
#staylink-bio-root *::before,
#staylink-bio-root *::after {
    box-sizing: border-box;
}
body.staylink-template-modern,
body.staylink-body.staylink-template-modern {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    background: var(--staygo-colors-bg, #0f1115) !important;
    color: var(--staygo-colors-text) !important;
    font-family: var(--staygo-typography-font-family) !important;
    font-size: var(--staygo-typography-font-size-base) !important;
    line-height: var(--staygo-typography-line-height, 1.5) !important;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
body.staylink-template-modern #staylink-app,
body.staylink-body.staylink-template-modern #staylink-app {
    min-height: 100vh !important;
    background: transparent !important;
    color: inherit !important;
    font-family: inherit !important;
}
#staylink-bio-root {
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: var(--staygo-spacing-body-pad-y, var(--staygo-spacing-pad-md)) var(--staygo-spacing-container-pad-x, var(--staygo-spacing-pad-md));
    padding-bottom: max(var(--staygo-spacing-pad-lg), env(safe-area-inset-bottom));
    overflow-x: hidden;
    background: var(--staygo-colors-bg);
    color: var(--staygo-colors-text);
    font-family: var(--staygo-typography-font-family);
    font-size: var(--staygo-typography-font-size-base);
    line-height: var(--staygo-typography-line-height, 1.5);
}

/* Layout: container */
#staylink-bio-root .staygo-container {
    max-width: min(var(--staygo-layout-container-max, 1100px), 100%);
    margin: 0 auto;
    padding: 0 var(--staygo-spacing-container-pad-x, var(--staygo-spacing-pad-md));
    min-width: 0;
}
#staylink-bio-root.staylink-bio-full-width .staygo-container {
    max-width: none;
    width: 100%;
}

/* Card + Sections */
#staylink-bio-root .staygo-card {
    width: 100%;
    max-width: min(var(--staygo-layout-card-max, 900px), 100%);
    margin: 0 auto;
    padding: var(--staygo-spacing-card-pad, var(--staygo-spacing-pad-md));
    padding-bottom: var(--staygo-spacing-card-pad, var(--staygo-spacing-pad-md));
    background: var(--staygo-colors-surface);
    border: var(--staygo-borders-width, 1px) var(--staygo-borders-style, solid) var(--staygo-colors-border-card, var(--staygo-colors-border));
    border-radius: var(--staygo-layout-radius);
    box-shadow: var(--staygo-layout-shadow-card);
    min-width: 0;
    overflow-x: hidden;
}
#staylink-bio-root .staygo-section {
    background: var(--staygo-colors-surface);
    border: var(--staygo-borders-width, 1px) var(--staygo-borders-style, solid) var(--staygo-colors-border-card, var(--staygo-colors-border));
    border-radius: var(--staygo-layout-radius);
    padding: var(--staygo-spacing-section-padding);
    margin-bottom: var(--staygo-spacing-section-gap);
}
#staylink-bio-root .staygo-section-title {
    font-size: var(--staygo-typography-font-size-lg);
    font-weight: var(--staygo-typography-font-weight-bold);
    color: var(--staygo-colors-text);
    margin: 0 0 var(--staygo-spacing-heading-content-gap, var(--staygo-spacing-gap-lg)) 0;
    display: flex;
    align-items: center;
    gap: var(--staygo-spacing-gap-md);
    line-height: 1.3;
}

/* Page header */
#staylink-bio-root .staygo-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--staygo-spacing-gap-md);
    padding: var(--staygo-spacing-gap-md) var(--staygo-spacing-pad-md);
    margin-bottom: var(--staygo-spacing-gap-lg);
    border: 1px solid var(--staygo-colors-border);
    background: var(--staygo-colors-surface);
    border-radius: var(--staygo-layout-radius);
    box-shadow: var(--staygo-layout-shadow);
}
#staylink-bio-root .staygo-logo {
    font-weight: var(--staygo-typography-font-weight-bold);
    font-size: var(--staygo-typography-font-size-lg);
    color: var(--staygo-colors-text);
    text-decoration: none;
}
#staylink-bio-root .staygo-nav a {
    color: var(--staygo-colors-muted);
    text-decoration: none;
    font-weight: var(--staygo-typography-font-weight-semibold);
}
#staylink-bio-root .staygo-nav a:hover {
    color: var(--staygo-colors-text);
}

/* Buttons — Borders & Frames من Design Settings */
#staylink-bio-root .staygo-btn {
    min-height: var(--staygo-buttons-btn-min-height, 44px);
    padding: var(--staygo-buttons-btn-pad-y) var(--staygo-buttons-btn-pad-x);
    border-radius: var(--staygo-buttons-btn-radius);
    border: var(--staygo-borders-width, 1px) var(--staygo-borders-style, solid) var(--staygo-colors-border-button, var(--staygo-colors-border));
    background: var(--staygo-colors-surface);
    color: var(--staygo-colors-text);
    font-family: inherit;
    font-weight: var(--staygo-typography-font-weight-bold);
    font-size: var(--staygo-buttons-btn-font);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--staygo-spacing-btn-icon-gap, var(--staygo-spacing-gap-sm));
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    -webkit-tap-highlight-color: transparent;
}
#staylink-bio-root .staygo-btn:hover { border-color: var(--staygo-colors-border-hover, rgba(255,255,255,0.25)); }
#staylink-bio-root .staygo-btn:focus { border-color: var(--staygo-colors-border-focus); outline: none; }
#staylink-bio-root .staygo-btn:active { border-color: var(--staygo-colors-border-active, rgba(255,255,255,0.35)); }
#staylink-bio-root .staygo-btn:disabled { border-color: var(--staygo-colors-border-disabled); }
#staylink-bio-root .staygo-btn--primary {
    border: none;
    background: var(--staygo-colors-accent);
    color: var(--staygo-colors-on-accent);
}
#staylink-bio-root .staygo-btn--outline {
    background: transparent;
    color: var(--staygo-colors-text);
}

/* Links + typography */
#staylink-bio-root a {
    color: var(--staygo-colors-text);
    text-decoration: none;
}
#staylink-bio-root a:hover {
    text-decoration: underline;
}
#staylink-bio-root .staygo-muted {
    color: var(--staygo-colors-muted);
}

/* Hero / Cover */
#staylink-bio-root .staygo-hero {
    min-height: var(--staygo-layout-cover-height-px, 140px);
    max-height: var(--staygo-layout-cover-max-height, 200px);
    height: var(--staygo-layout-cover-height-px, 140px);
    border-radius: var(--staygo-layout-radius-lg);
    background: var(--staygo-colors-accent);
    border: 1px solid var(--staygo-colors-border);
    position: relative;
    overflow: hidden;
    margin-bottom: var(--staygo-spacing-pad-md);
}
#staylink-bio-root .staygo-hero-cover {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#staylink-bio-root .staygo-hero-logo {
    position: absolute;
    bottom: calc(-1 * var(--staygo-layout-hero-offset, 28px));
    right: var(--staygo-spacing-pad-md);
    width: var(--staygo-layout-hero-logo-size, 72px);
    height: var(--staygo-layout-hero-logo-size, 72px);
    border-radius: var(--staygo-layout-radius-full, 9999px);
    border: var(--staygo-layout-hero-logo-border, 3px) solid var(--staygo-colors-on-accent);
    background: var(--staygo-colors-surface);
    box-shadow: var(--staygo-layout-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--staygo-typography-font-weight-bold);
    font-size: var(--staygo-typography-font-size-xl);
    color: var(--staygo-colors-muted);
    overflow: hidden;
}
#staylink-bio-root .staygo-hero-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Gallery */
#staylink-bio-root .staygo-gallery-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: var(--staygo-media-gallery-gap);
    border-radius: var(--staygo-media-gallery-radius);
    overflow: hidden;
}
#staylink-bio-root .staygo-gallery-item {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: var(--staygo-layout-radius-sm);
    overflow: hidden;
    aspect-ratio: 4/3;
}
#staylink-bio-root .staygo-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Footer */
#staylink-bio-root .staygo-footer {
    margin-top: var(--staygo-spacing-section-gap);
    padding: var(--staygo-spacing-pad-md);
    border-top: 1px solid var(--staygo-colors-border);
    color: var(--staygo-colors-muted);
    font-size: var(--staygo-typography-font-size-sm);
}

/* Dark mode override (من اللوحة أو prefers-color-scheme) */
@media (prefers-color-scheme: dark) {
    #staylink-bio-root {
        color-scheme: dark;
    }
}

/* ========== Design Pack: توافق مع كلاسات staylink-* و sl-* (نفس القالب) ========== */
/* خلفية الصفحة + تدرج (من tokens) */
body.staylink-template-modern,
body.staylink-body.staylink-template-modern {
    background: var(--staygo-colors-bg, #0f1115) !important;
    background-image: radial-gradient(1200px 800px at 15% 5%, color-mix(in srgb, var(--staygo-colors-accent, #0038f5) 22%, transparent), transparent 55%),
        radial-gradient(1000px 700px at 85% 0%, color-mix(in srgb, var(--staygo-colors-primary2, #9f03ff) 22%, transparent), transparent 55%),
        var(--staygo-colors-bg) !important;
    background-attachment: fixed;
}
@supports not (color: color-mix(in srgb, red, blue)) {
    body.staylink-template-modern,
    body.staylink-body.staylink-template-modern {
        background-image: radial-gradient(1200px 800px at 15% 5%, rgba(159, 3, 255, 0.22), transparent 55%),
            radial-gradient(1000px 700px at 85% 0%, rgba(0, 56, 245, 0.22), transparent 55%),
            var(--staygo-colors-bg) !important;
    }
}

#staylink-bio-root {
    background: var(--staygo-colors-bg);
    background-image: radial-gradient(1200px 800px at 15% 5%, color-mix(in srgb, var(--staygo-colors-accent) 22%, transparent), transparent 55%),
        radial-gradient(1000px 700px at 85% 0%, color-mix(in srgb, var(--staygo-colors-primary2) 18%, transparent), transparent 55%),
        var(--staygo-colors-bg);
}
@supports not (color: color-mix(in srgb, red, blue)) {
    #staylink-bio-root {
        background-image: radial-gradient(1200px 800px at 15% 5%, rgba(159, 3, 255, 0.22), transparent 55%),
            radial-gradient(1000px 700px at 85% 0%, rgba(0, 56, 245, 0.22), transparent 55%),
            var(--staygo-colors-bg);
    }
}

/* مرادفات container/card (للهيكل الحالي) */
#staylink-bio-root .container,
#staylink-bio-root .staylink-bio-container {
    max-width: min(var(--staygo-layout-container-max, 1100px), 100%);
    margin: 0 auto;
    padding: 0 var(--staygo-spacing-pad-md);
    min-width: 0;
}
#staylink-bio-root.staylink-bio-full-width .container,
#staylink-bio-root.staylink-bio-full-width .staylink-bio-container { max-width: none; width: 100%; }

#staylink-bio-root .staylink-form-card {
    width: 100%;
    max-width: min(var(--staygo-layout-card-max, 900px), 100%);
    margin: 0 auto;
    padding: var(--staygo-spacing-pad-md);
    background: var(--staygo-colors-surface);
    border: 1px solid var(--staygo-colors-border);
    border-radius: var(--staygo-layout-radius);
    box-shadow: var(--staygo-layout-shadow-card);
    min-width: 0;
    overflow-x: hidden;
}

/* Hero / Cover (staylink-branding-hero) */
#staylink-bio-root .staylink-branding-hero {
    min-height: var(--staygo-layout-cover-height-px, 140px);
    max-height: var(--staygo-layout-cover-max-height, 200px);
    height: var(--staygo-layout-cover-height-px, 140px);
    border-radius: var(--staygo-layout-radius-lg);
    background: linear-gradient(120deg, color-mix(in srgb, var(--staygo-colors-accent) 55%, transparent), color-mix(in srgb, var(--staygo-colors-primary2) 45%, transparent)),
        radial-gradient(500px 260px at 20% 20%, rgba(255, 255, 255, 0.18), transparent 55%);
    border: 1px solid var(--staygo-colors-border);
    position: relative;
    overflow: hidden;
    margin-bottom: var(--staygo-spacing-pad-md);
}
@supports not (color: color-mix(in srgb, red, blue)) {
    #staylink-bio-root .staylink-branding-hero {
        background: linear-gradient(120deg, rgba(0, 56, 245, 0.55), rgba(159, 3, 255, 0.45)),
            radial-gradient(500px 260px at 20% 20%, rgba(255, 255, 255, 0.18), transparent 55%);
    }
}
#staylink-bio-root .staylink-branding-hero-cover {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#staylink-bio-root .staylink-branding-hero-cover.has-cover::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 56, 245, 0.25) 0%, rgba(159, 3, 255, 0.28) 45%, rgba(0, 0, 0, 0.55) 100%);
    pointer-events: none;
}
#staylink-bio-root .staylink-branding-hero-logo-wrap {
    position: absolute;
    bottom: calc(-1 * var(--staygo-layout-hero-offset, 28px));
    right: var(--staygo-spacing-pad-md);
    width: var(--staygo-layout-hero-logo-size, 72px);
    height: var(--staygo-layout-hero-logo-size, 72px);
    border-radius: var(--staygo-layout-radius-full);
    border: var(--staygo-layout-hero-logo-border, 3px) solid var(--staygo-colors-on-accent);
    background: var(--staygo-colors-surface);
    box-shadow: var(--staygo-layout-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--staygo-typography-font-weight-bold);
    font-size: var(--staygo-typography-font-size-xl);
    color: var(--staygo-colors-muted);
    overflow: hidden;
}
#staylink-bio-root .staylink-branding-hero-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* أزرار sl-btn (مرادف staygo-btn) — Borders & Frames من Design Settings */
#staylink-bio-root .sl-btn,
#staylink-bio-root .sl-button {
    min-height: var(--staygo-buttons-btn-min-height, 44px);
    padding: var(--staygo-buttons-btn-pad-y) var(--staygo-buttons-btn-pad-x);
    border-radius: var(--staygo-buttons-btn-radius);
    border: var(--staygo-borders-width, 1px) var(--staygo-borders-style, solid) var(--staygo-colors-border-button, var(--staygo-colors-border));
    background: var(--staygo-colors-surface);
    color: var(--staygo-colors-text);
    font-family: inherit;
    font-weight: var(--staygo-typography-font-weight-bold);
    font-size: var(--staygo-buttons-btn-font);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--staygo-spacing-btn-icon-gap, var(--staygo-spacing-gap-sm));
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    -webkit-tap-highlight-color: transparent;
}
#staylink-bio-root .sl-btn:hover,
#staylink-bio-root .sl-button:hover { border-color: var(--staygo-colors-border-hover, rgba(255,255,255,0.25)); }
#staylink-bio-root .sl-btn:focus,
#staylink-bio-root .sl-button:focus { border-color: var(--staygo-colors-border-focus); outline: none; }
#staylink-bio-root .sl-btn:active,
#staylink-bio-root .sl-button:active { border-color: var(--staygo-colors-border-active, rgba(255,255,255,0.35)); }
#staylink-bio-root .sl-btn:disabled,
#staylink-bio-root .sl-button:disabled { border-color: var(--staygo-colors-border-disabled); }
#staylink-bio-root .sl-btn--outline,
#staylink-bio-root .sl-button--outline {
    background: transparent;
    color: var(--staygo-colors-text);
}
#staylink-bio-root .copy-btn.copied {
    background: color-mix(in srgb, var(--staygo-colors-good) 20%, transparent);
    border-color: var(--staygo-colors-good);
    color: var(--staygo-colors-good);
}

/* Pills + Trust badges */
#staylink-bio-root .staylink-info-pills {
    display: flex;
    flex-wrap: wrap;
    gap: var(--staygo-spacing-gap-md);
    align-items: flex-start;
}
#staylink-bio-root .staylink-info-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--staygo-spacing-gap-sm);
    padding: var(--staygo-spacing-pad-sm) var(--staygo-spacing-gap-md);
    background: var(--staygo-colors-surface);
    border: 1px solid var(--staygo-colors-border);
    border-radius: var(--staygo-layout-radius-2xl, 32px);
    font-size: var(--staygo-typography-font-size-sm);
    color: var(--staygo-colors-text);
    line-height: 1.4;
    max-width: 100%;
}
#staylink-bio-root .staylink-info-pill--wide {
    width: 100%;
    min-width: 0;
    padding: var(--staygo-spacing-gap-md) var(--staygo-spacing-pad-md);
    font-size: var(--staygo-typography-font-size-base);
}
#staylink-bio-root .staylink-bio-discount-badge {
    background: linear-gradient(114deg, var(--staygo-colors-primary1), var(--staygo-colors-primary2)) !important;
    color: var(--staygo-colors-on-accent) !important;
    border-color: var(--staygo-colors-border) !important;
}
#staylink-bio-root .staylink-trust-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--staygo-spacing-gap-sm);
    margin-top: var(--staygo-spacing-gap-lg);
}
#staylink-bio-root .staylink-trust-badge {
    font-size: var(--staygo-typography-font-size-sm);
    color: var(--staygo-colors-muted);
    background: var(--staygo-colors-surface2);
    border: 1px solid var(--staygo-colors-border);
    border-radius: var(--staygo-layout-radius-full);
    padding: var(--staygo-spacing-pad-xs) var(--staygo-spacing-gap-lg);
}
#staylink-bio-root .staylink-description-wrap { display: flex; flex-direction: column; gap: var(--staygo-spacing-gap-sm); }
#staylink-bio-root .staylink-description--truncated .staylink-description-full { display: none; }
#staylink-bio-root .staylink-description-toggle { margin-top: var(--staygo-spacing-gap-sm); font-size: var(--staygo-typography-font-size-sm); }
#staylink-bio-root .form-help { color: var(--staygo-colors-muted); font-size: var(--staygo-typography-font-size-sm); }

/* Gallery slider */
#staylink-bio-root .staylink-bio-gallery-wrap {
    display: flex;
    align-items: center;
    gap: var(--staygo-spacing-gap-md);
    width: 100%;
    min-width: 0;
}
#staylink-bio-root .staylink-bio-gallery-slider {
    flex: 1;
    min-width: 0;
    width: 100%;
    overflow: hidden;
    border-radius: var(--staygo-layout-radius);
    background: var(--staygo-colors-surface2);
    border: 1px solid var(--staygo-colors-border);
    height: var(--staygo-media-cover-height, min(56vw, 280px));
    touch-action: pan-y pinch-zoom;
}
#staylink-bio-root .staylink-bio-gallery-track {
    display: flex;
    height: 100%;
    transition: transform 0.35s ease-out;
    will-change: transform;
    flex-shrink: 0;
}
#staylink-bio-root .staylink-bio-gallery-item,
#staylink-bio-root .sl-gallery-item {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    min-width: 100%;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 4 / 3;
}
#staylink-bio-root .staylink-bio-gallery-item::before,
#staylink-bio-root .sl-gallery-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--sl-lqip-bg);
    background-size: cover;
    background-position: center;
    filter: blur(14px);
    transform: scale(1.06);
    z-index: 0;
    transition: opacity 0.35s ease;
}
#staylink-bio-root .staylink-bio-gallery-item.loaded::before,
#staylink-bio-root .sl-gallery-item.loaded::before { opacity: 0; pointer-events: none; }
#staylink-bio-root .staylink-bio-gallery-item img,
#staylink-bio-root .sl-gallery-item img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0;
    transition: opacity 0.35s ease;
}
#staylink-bio-root .staylink-bio-gallery-item.loaded img,
#staylink-bio-root .sl-gallery-item.loaded img { opacity: 1; }
#staylink-bio-root .staylink-bio-slider-btn {
    flex-shrink: 0;
    width: var(--staygo-spacing-tap-min, 44px);
    height: var(--staygo-spacing-tap-min, 44px);
    padding: 0;
}
#staylink-bio-root .staylink-bio-slider-dots {
    display: flex;
    justify-content: center;
    gap: var(--staygo-spacing-pad-sm);
    margin-top: var(--staygo-spacing-gap-md);
    flex-wrap: wrap;
}
#staylink-bio-root .staylink-bio-slider-dots .dot {
    width: var(--staygo-spacing-dot-size, 8px);
    height: var(--staygo-spacing-dot-size, 8px);
    border-radius: var(--staygo-layout-radius-full);
    background: var(--staygo-colors-muted2, var(--staygo-colors-muted));
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
#staylink-bio-root .staylink-bio-slider-dots .dot:hover,
#staylink-bio-root .staylink-bio-slider-dots .dot.active {
    background: var(--staygo-colors-primary1, var(--staygo-colors-accent));
    transform: scale(1.2);
}

/* Platform list */
#staylink-bio-root .staylink-platform-list,
#staylink-bio-root .staylink-bio-links-grid {
    display: flex;
    flex-direction: column;
    gap: var(--staygo-spacing-gap-md);
}
@media (min-width: 480px) {
    #staylink-bio-root .staylink-bio-links-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
#staylink-bio-root .staylink-platform-item,
#staylink-bio-root .staylink-bio-link-card {
    display: flex;
    align-items: center;
    gap: var(--staygo-spacing-gap-md);
    padding: var(--staygo-spacing-gap-md) var(--staygo-spacing-pad-md);
    min-height: max(var(--staygo-spacing-tap-min, 44px), 56px);
    border: 1px solid var(--staygo-colors-border);
    background: var(--staygo-colors-surface);
    border-radius: var(--staygo-layout-radius-lg);
    text-decoration: none;
    color: var(--staygo-colors-text);
    font-size: var(--staygo-typography-font-size-base);
    font-weight: var(--staygo-typography-font-weight-semibold);
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    text-align: left;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
#staylink-bio-root a.staylink-platform-item:hover,
#staylink-bio-root a.staylink-bio-link-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
    border-color: color-mix(in srgb, var(--staygo-colors-accent) 55%, transparent);
    text-decoration: none;
    color: var(--staygo-colors-text);
}
#staylink-bio-root .staylink-bio-link-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--staygo-layout-radius-sm);
    background: var(--staygo-colors-surface2);
    overflow: hidden;
}
#staylink-bio-root .staylink-bio-link-icon img { width: 40px; height: 40px; object-fit: contain; }
#staylink-bio-root .staylink-bio-link-text { flex: 1; min-width: 0; }

/* Section spacing */
#staylink-bio-root .staylink-section {
    margin-bottom: var(--staygo-spacing-section-gap);
    padding: var(--staygo-spacing-section-padding);
}
#staylink-bio-root .staylink-section:last-of-type { margin-bottom: 0; }
#staylink-bio-root .staylink-bio-section-spaced {
    margin-top: var(--staygo-spacing-section-gap);
    padding-top: var(--staygo-spacing-section-padding);
}
#staylink-bio-root .staylink-version-badge,
#staylink-bio-root .staylink-bio-header-badge {
    padding: var(--staygo-spacing-pad-sm) var(--staygo-spacing-pad-sm);
    border: 1px solid var(--staygo-colors-border);
    background: var(--staygo-colors-surface);
    border-radius: var(--staygo-layout-radius-full);
    color: var(--staygo-colors-muted);
    font-size: var(--staygo-typography-font-size-sm);
}

/* Availability block */
#staylink-bio-root .staylink-availability-range { margin: 0 0 var(--staygo-spacing-gap-lg) 0; font-size: var(--staygo-typography-font-size-base); color: var(--staygo-colors-good); }
#staylink-bio-root .staylink-bio-availability-block.staylink-availability-card {
    background: var(--staygo-colors-surface2);
    border: 1px solid var(--staygo-colors-border);
    border-radius: var(--staygo-layout-radius);
    padding: var(--staygo-spacing-pad-md);
}
#staylink-bio-root .staylink-availability-today { margin: 0 0 var(--staygo-spacing-gap-md) 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--staygo-spacing-gap-md); }
#staylink-bio-root .staylink-availability-badge {
    display: inline-block;
    padding: var(--staygo-spacing-pad-sm) var(--staygo-spacing-gap-md);
    border-radius: var(--staygo-layout-radius-full);
    font-size: var(--staygo-typography-font-size-sm);
    font-weight: var(--staygo-typography-font-weight-semibold);
}
#staylink-bio-root .staylink-availability-available { background: color-mix(in srgb, var(--staygo-colors-good) 20%, transparent); color: var(--staygo-colors-good); }
#staylink-bio-root .staylink-availability-unavailable { background: color-mix(in srgb, var(--staygo-colors-danger) 15%, transparent); color: var(--staygo-colors-danger); }
#staylink-bio-root .staylink-availability-calendar { display: flex; flex-wrap: wrap; gap: var(--staygo-spacing-pad-sm); margin-bottom: var(--staygo-spacing-pad-sm); }
#staylink-bio-root .staylink-av-day {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--staygo-layout-calendar-cell, 28px);
    height: var(--staygo-layout-calendar-cell, 28px);
    border-radius: var(--staygo-layout-radius-sm);
    font-size: var(--staygo-typography-font-size-xs, 0.75rem);
    color: var(--staygo-colors-muted);
}
#staylink-bio-root .staylink-av-day.available { background: var(--staygo-colors-surface2); color: var(--staygo-colors-text); }
#staylink-bio-root .staylink-av-day.booked { background: color-mix(in srgb, var(--staygo-colors-danger) 15%, transparent); color: var(--staygo-colors-danger); }
#staylink-bio-root .staylink-av-day.today { outline: 2px solid var(--staygo-colors-primary1); }
#staylink-bio-root .staylink-views-text { margin: 0; display: inline-flex; align-items: center; gap: var(--staygo-spacing-pad-sm); font-size: var(--staygo-typography-font-size-sm); color: var(--staygo-colors-muted); }
#staylink-bio-root .staylink-header-actions { display: flex; align-items: center; gap: var(--staygo-spacing-btn-gap, var(--staygo-spacing-gap-md)); flex-wrap: wrap; }

/* Bottom nav (mobile) */
#staylink-bio-root .staylink-bio-bottom-nav { display: none; }
@media (max-width: 768px) {
    #staylink-bio-root .staylink-bio-bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 99;
        padding: var(--staygo-spacing-pad-sm) var(--staygo-spacing-pad-md);
        padding-bottom: max(var(--staygo-spacing-pad-sm), env(safe-area-inset-bottom));
        gap: var(--staygo-spacing-pad-sm);
        background: var(--staygo-colors-overlay-bg);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-top: 1px solid var(--staygo-colors-border);
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.25);
        justify-content: center;
        align-items: center;
    }
    #staylink-bio-root .staylink-bio-bottom-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        padding: var(--staygo-spacing-pad-sm) var(--staygo-spacing-gap-md);
        color: var(--staygo-colors-text);
        text-decoration: none;
        font-size: var(--staygo-typography-font-size-sm);
        font-weight: var(--staygo-typography-font-weight-semibold);
        border-radius: var(--staygo-buttons-btn-radius);
        -webkit-tap-highlight-color: transparent;
        min-height: var(--staygo-spacing-tap-min);
        justify-content: center;
    }
    #staylink-bio-root .staylink-bio-bottom-nav-item:hover,
    #staylink-bio-root .staylink-bio-bottom-nav-item:focus {
        background: var(--staygo-colors-surface2);
        color: var(--staygo-colors-accent);
    }
}

/* Sticky CTA (mobile) */
#staylink-bio-root .staylink-bio-sticky-cta { display: none; }
@media (max-width: 768px) {
    #staylink-bio-root .staylink-bio-sticky-cta {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        padding: var(--staygo-spacing-gap-md) var(--staygo-spacing-gap-lg);
        padding-bottom: max(var(--staygo-spacing-gap-lg), env(safe-area-inset-bottom));
        gap: var(--staygo-spacing-gap-md);
        background: var(--staygo-colors-overlay-strong);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-top: 1px solid var(--staygo-colors-border);
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
        justify-content: center;
        flex-wrap: wrap;
    }
    #staylink-bio-root.staylink-has-bottom-nav .staylink-bio-sticky-cta {
        bottom: var(--staygo-layout-sticky-cta-offset, 56px);
        padding-bottom: max(var(--staygo-spacing-gap-lg), env(safe-area-inset-bottom));
    }
    #staylink-bio-root .staylink-sticky-btn {
        flex: 1;
        min-width: var(--staygo-spacing-min-cta-width, 80px);
        max-width: var(--staygo-spacing-max-cta-width, 120px);
        padding: var(--staygo-spacing-gap-lg) var(--staygo-spacing-pad-md);
        border-radius: var(--staygo-buttons-btn-radius);
        font-size: var(--staygo-typography-font-size-sm);
        font-weight: var(--staygo-typography-font-weight-bold);
        text-align: center;
        text-decoration: none;
        color: var(--staygo-colors-on-accent);
        border: none;
        background: linear-gradient(114deg, var(--staygo-colors-primary1), var(--staygo-colors-primary2));
        -webkit-tap-highlight-color: transparent;
    }
    #staylink-bio-root .staylink-sticky-call {
        background: var(--staygo-colors-surface2);
        color: var(--staygo-colors-text);
        border: 1px solid var(--staygo-colors-border);
    }
    #staylink-bio-root .staylink-sticky-booking {
        background: var(--staygo-colors-good);
        color: var(--staygo-colors-on-accent);
    }
    #staylink-bio-root .staylink-form-card,
    #staylink-bio-root .staygo-card {
        padding-bottom: max(88px, calc(72px + env(safe-area-inset-bottom)));
    }
}

/* Footer (staylink-page-footer) */
#staylink-bio-root .staylink-page-footer.staylink-footer-same-as-header {
    margin-top: var(--staygo-spacing-gap-lg);
    padding: var(--staygo-spacing-gap-md) var(--staygo-spacing-pad-md);
    padding-bottom: max(var(--staygo-spacing-pad-md), env(safe-area-inset-bottom));
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--staygo-spacing-gap-md);
    font-size: var(--staygo-typography-font-size-base);
    color: var(--staygo-colors-text);
    text-align: center;
    border: 1px solid var(--staygo-colors-border);
    background: var(--staygo-colors-surface);
    border-radius: var(--staygo-layout-radius);
    box-shadow: var(--staygo-layout-shadow);
}
#staylink-bio-root .staylink-footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--staygo-spacing-gap-md);
    max-width: 100%;
    width: 100%;
    direction: ltr;
}
#staylink-bio-root .staylink-page-footer .staylink-logo { font-weight: var(--staygo-typography-font-weight-bold); font-size: var(--staygo-typography-font-size-lg); color: var(--staygo-colors-text); text-decoration: none; }
#staylink-bio-root .staylink-footer-version { color: var(--staygo-colors-muted); font-size: var(--staygo-typography-font-size-sm); }
#staylink-bio-root .staylink-page-footer .staylink-footer-link,
#staylink-bio-root .staylink-page-footer .staylink-footer-nav a { color: var(--staygo-colors-muted); text-decoration: none; font-weight: var(--staygo-typography-font-weight-semibold); }
#staylink-bio-root .staylink-page-footer .staylink-footer-link:hover,
#staylink-bio-root .staylink-page-footer .staylink-footer-nav a:hover { color: var(--staygo-colors-text); }
#staylink-bio-root .staylink-footer-center { position: absolute; left: 50%; transform: translateX(-50%); }
@media (max-width: 640px) {
    #staylink-bio-root .staylink-footer-inner { flex-direction: column; justify-content: center; text-align: center; }
    #staylink-bio-root .staylink-footer-center { position: static; transform: none; }
}

/* Modal */
#imageModal.staylink-bio-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: var(--staygo-spacing-pad-md);
}
#imageModal.staylink-bio-modal.active,
#imageModal.staylink-bio-modal[aria-hidden="false"] { display: flex; }
.staylink-bio-modal-backdrop { position: absolute; inset: 0; background: var(--staygo-layout-modal-backdrop, rgba(0, 0, 0, 0.88)); cursor: pointer; }
.staylink-bio-modal-box {
    position: relative;
    max-width: 92vw;
    max-height: 90vh;
    border-radius: var(--staygo-layout-radius);
    overflow: visible;
    box-shadow: var(--staygo-layout-shadow);
    background: var(--staygo-colors-bg);
}
.staylink-bio-modal-box img {
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    display: block;
    border-radius: var(--staygo-layout-radius-sm);
}
.staylink-bio-modal-close {
    position: absolute;
    top: var(--staygo-spacing-gap-md);
    right: var(--staygo-spacing-gap-md);
    width: 44px;
    height: 44px;
    z-index: 2;
}
[dir="rtl"] .staylink-bio-modal-close { right: auto; left: var(--staygo-spacing-gap-md); }
.staylink-bio-modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    z-index: 2;
    padding: 0;
}
.staylink-bio-modal-nav.nav-prev { left: var(--staygo-spacing-pad-md); }
.staylink-bio-modal-nav.nav-next { right: var(--staygo-spacing-pad-md); }
[dir="rtl"] .staylink-bio-modal-nav.nav-prev { left: auto; right: var(--staygo-spacing-pad-md); }
[dir="rtl"] .staylink-bio-modal-nav.nav-next { right: auto; left: var(--staygo-spacing-pad-md); }

/* Responsive: gallery على الموبايل عمودي */
@media (max-width: 480px) {
    #staylink-bio-root .staylink-bio-gallery-wrap { flex-direction: column; }
    #staylink-bio-root .staylink-bio-slider-btn { width: 100%; }
    #staylink-bio-root .staylink-bio-links-grid { grid-template-columns: 1fr; }
}
#staylink-bio-root img { max-width: 100%; height: auto; }

/* Card style: glass = شفافية أعلى، flat = بدون ظل */
#staylink-bio-root[data-card-style="glass"] .staygo-card,
#staylink-bio-root[data-card-style="glass"] .staylink-form-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
#staylink-bio-root[data-card-style="flat"] .staygo-card,
#staylink-bio-root[data-card-style="flat"] .staylink-form-card {
    box-shadow: none;
    border-color: var(--staygo-colors-border);
}
/* CTA emphasis: prominent = أزرار CTA أوضح وأكبر قليلاً */
#staylink-bio-root[data-cta-emphasis="prominent"] .staygo-btn--primary,
#staylink-bio-root[data-cta-emphasis="prominent"] .staylink-sticky-btn:not(.staylink-sticky-call) {
    font-weight: var(--staygo-typography-font-weight-black, 900);
    min-height: 48px;
    padding: var(--staygo-spacing-pad-sm) var(--staygo-spacing-pad-lg);
}
#staylink-bio-root[data-cta-emphasis="prominent"] .staylink-sticky-booking {
    box-shadow: 0 4px 20px color-mix(in srgb, var(--staygo-colors-good) 40%, transparent);
}

/* Design Settings: Borders & Frames — inputs, focus, disabled */
#staylink-bio-root input[type="text"],
#staylink-bio-root input[type="email"],
#staylink-bio-root input[type="url"],
#staylink-bio-root input[type="number"],
#staylink-bio-root input[type="tel"],
#staylink-bio-root textarea {
    border: var(--staygo-borders-width, 1px) var(--staygo-borders-style, solid) var(--staygo-colors-border-input, var(--staygo-colors-border));
    border-radius: var(--staygo-layout-radius-input, var(--staygo-layout-radius-sm));
    padding: var(--staygo-spacing-input-pad, var(--staygo-spacing-pad-sm)) var(--staygo-spacing-gap-md);
}
#staylink-bio-root input:focus,
#staylink-bio-root textarea:focus {
    border-color: var(--staygo-colors-border-focus);
    outline: none;
}
#staylink-bio-root input:disabled,
#staylink-bio-root textarea:disabled {
    border-color: var(--staygo-colors-border-disabled);
}
