/* ==========================================
 * page-talent-base.css (共通レイアウト)
 * ========================================== */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    width: 100%;
    overflow-x: hidden;
    font-family: "Noto Sans JP", sans-serif;
    color: #3d3d3d;
    background-color: var(--current-background-color, #fcfcfc);
    line-height: 1.6;
}

/* ヘッダー同期 */
.main-header {
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 8px 0;
    position: fixed;
    top: 0; left: 0; width: 100%; z-index: 2000;
}
.header-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 15px;
    display: flex; justify-content: space-between; align-items: center;
}
.logo img { height: 25px; width: auto; }

.main-nav .nav-links { display: flex; gap: 25px; list-style: none; }
.main-nav .nav-links a {
    font-weight: 700; font-size: 0.9rem; color: #3d3d3d; text-decoration: none;
}
.main-nav .nav-links a.is-active { color: #ff69b4; position: relative; }
.main-nav .nav-links a.is-active::after {
    content: ""; position: absolute; left: 0; bottom: -5px; width: 100%; height: 2px; background-color: #ff69b4;
}

.menu-toggle {
    display: none; background: none; border: none; cursor: pointer;
    width: 30px; height: 20px; position: relative; z-index: 1100;
}
.menu-toggle span { display: block; height: 2px; background-color: #3d3d3d; margin-bottom: 6px; }

/* レイアウト：左固定、右スクロール */
.single-talent-page { display: flex; width: 100%; min-height: 100vh; }

.talent-image-wrapper {
    position: fixed; top: 50px; left: 0; width: 50vw;
    height: calc(100vh - 50px); display: flex; justify-content: center; align-items: center; z-index: 100;
}
.talent-image-wrapper img { max-height: 90vh; max-width: 90%; object-fit: contain; }

.talent-info-wrapper { margin-left: 50vw; width: 50vw; padding: 40px 5%; z-index: 500; }

/* 共通パーツ */
img { max-width: 100%; height: auto; }

.talent-name img { width: 100%; max-width: 400px; margin-bottom: 30px; }

.profile-section-title {
    font-size: 1.8rem; margin: 30px 0 20px; display: inline-block;
    border-bottom: 3px solid var(--current-theme-color, #ccc);
}

.embed-responsive {
    position: relative; width: 100%; padding-top: 56.25%; margin-bottom: 30px;
}
.embed-responsive iframe {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 10px;
}

@media (max-width: 768px) {
    .menu-toggle { display: block; }
    .main-nav {
        position: fixed; top: 0; right: -100%; width: 70%; height: 100vh;
        background-color: rgba(255, 255, 255, 0.98); padding-top: 80px; z-index: 1050;
    }
    .main-nav.active { right: 0; }
    .main-nav .nav-links { flex-direction: column; align-items: center; }

    .single-talent-page { flex-direction: column; }
    .talent-image-wrapper { position: static; width: 100%; height: auto; padding-top: 70px; }
    .talent-info-wrapper { margin-left: 0; width: 100%; padding: 20px; }
}