/* 人物の一覧: 本文幅(48rem)の中で小さなカードを並べる(PCは3列、スマホは2列) */
.pt-tj-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.5rem;
    margin: 0.6rem 0 1rem;
    padding: 0;
    list-style: none;
}

@media (max-width: 30rem) {
    .pt-tj-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.4rem;
    }
}

.pt-tj-person {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    gap: 0.2rem 0.3rem;
    min-width: 0;
    padding: 0.45rem 0.6rem;
    border: 0.0625rem solid #e1e7ee;
    border-radius: 0.6rem;
    background: #fff;
}

.pt-tj-person__name {
    width: 100%;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.pt-tj-person__cat {
    padding: 0 0.45rem;
    border-radius: 62.5rem;
    background: var(--pt-green-bg);
    color: var(--pt-green-dark);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.6;
}

.pt-tj-person__meta {
    width: 100%;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #666;
}

.pt-tj-hint {
    margin: 0;
    font-size: 0.8rem;
    color: #666;
}

.pt-tj-empty {
    padding: 0.8rem 1rem;
    border: 0.0625rem dashed #ccd3da;
    border-radius: 0.8rem;
    color: #666;
}

.pt-tj-nav {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0;
}

.pt-tj-months,
.pt-tj-nearby {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
    gap: 0.4rem;
    padding: 0;
    list-style: none;
}

.pt-tj-months a,
.pt-tj-nearby a {
    display: block;
    padding: 0.5rem 0.6rem;
    border: 0.0625rem solid #d5dde5;
    border-radius: 0.6rem;
    background: #fff;
    text-align: center;
    font-weight: 700;
    text-decoration: none;
}

.pt-tj-days {
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.pt-tj-days li {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.8rem;
    padding: 0.5rem 0.2rem;
    border-bottom: 0.0625rem solid #e3e8ee;
}

.pt-tj-days__date {
    flex: 0 0 5.5rem;
    font-weight: 700;
}

.pt-tj-days__names {
    flex: 1 1 14rem;
    font-size: 0.9rem;
}

.pt-tj-source {
    margin: 1.5rem 0 1rem;
    font-size: 0.78rem;
    color: #777;
}

.pt-tj-source p {
    margin: 0.2rem 0;
}

/* 誕生花・誕生日の有名人の切り替えタブ(実体は別URLへのリンク) */
.pt-tool-tab-nav {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 1rem 0 1.5rem;
}

.pt-tool-tab-nav__tab {
    padding: 0.4rem 1.1rem;
    border: 0.0625rem solid #ccd3da;
    border-radius: 62.5rem;
    background: #fff;
    color: var(--pt-blue);
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.pt-tool-tab-nav__tab:hover {
    border-color: var(--pt-blue);
}

.pt-tool-tab-nav__tab.is-active {
    background: var(--pt-blue);
    border-color: transparent;
    color: #fff;
}
