/* =========================================================
   Pages — public bio page base structural styles
   Visual/colour styles come from pages_themes.css (injected inline)
   ========================================================= */

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

/* Fallback if no theme is applied */
.pages-wrap {
    min-height: 100vh;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.pages-page {
    max-width: 480px;
    margin: 0 auto;
    padding: 48px 16px 64px;
}

/* Avatar structural */
.pages-avatar,
.pages-avatar-placeholder {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    display: block;
    margin: 0 auto 16px;
}

.pages-avatar {
    object-fit: cover;
}

.pages-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
}

/* Title / bio */
.pages-title {
    margin: 0 0 8px;
    text-align: center;
    line-height: 1.25;
}

.pages-bio {
    margin: 0 0 32px;
    text-align: center;
    line-height: 1.65;
}

/* Blocks */
.pages-block {
    margin-bottom: 12px;
}

.pages-block--link a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    padding: 14px 20px;
    text-decoration: none;
    transition: all .2s ease;
    line-height: 1.4;
}

.pages-block--heading,
.pages-block--html {
    line-height: 1.6;
}

/* YouTube embed */
.pages-yt-embed {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.pages-yt-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* YouTube preview */
.pages-yt-preview {
    overflow: hidden;
    display: block;
}

.pages-yt-preview img {
    width: 100%;
    display: block;
}
