/**
 * 講座カード（1つの型）— Issue #785
 * トップ・イベント一覧・地域別一覧・検索結果で同じ template-parts/event-card.php を使う。
 * 並べ方は外側の .pt-evcards--grid（複数列）／--list（1列）だけで変える。中身と並び順は同じ。
 * events.css は個票（#783 / #784）の作業でも触るので、カードはこのファイルに分けた。
 */
.pt-evcards {
    display: grid;
    gap: 16px;
    margin: 0 0 24px;
}
.pt-evcards--grid { grid-template-columns: 1fr; }
@media (min-width: 640px) {
    .pt-evcards--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .pt-evcards--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pt-evcards--list { grid-template-columns: 1fr; }
.pt-evcards--search { margin: 0 0 16px; }

.pt-evcard {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    padding: 18px 18px 14px;
    background: #fff;
    border: 1px solid var(--pt-line, #e6e1d8);
    border-radius: var(--pt-radius, 12px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.pt-evcard--ended { opacity: .62; background: #fafafa; }

/* 1. タイトルは全幅（バッジと同じ行に置かない） */
.pt-evcard__title {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.pt-evcard__title::before, .pt-evcard__title::after { content: none !important; display: none !important; }
.pt-evcard__title a { color: var(--pt-ink, #3b423f); text-decoration: none; }
.pt-evcard__title a:hover { color: var(--pt-primary-dark, #257263); text-decoration: underline; }

/* 2. バッジの行（状態 → 種別 → 対象） */
.pt-evcard__badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pt-evcard__badges .event-status-badge { padding: 2px 10px; font-size: 12px; margin: 0; }
.pt-evcard__badges .event-kind,
.pt-evcard__badges .event-audience { margin: 0; }

/* 3. 開催時期・会場・参加費・主催 */
.pt-evcard__meta { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 4px; font-size: .9rem; color: var(--pt-ink, #3b423f); }
.pt-evcard__meta li { display: flex; gap: 6px; align-items: flex-start; margin: 0 !important; padding: 0 !important; line-height: 1.55; }
.pt-evcard__meta li::before { content: none !important; }
.pt-evcard__meta svg { flex-shrink: 0; margin-top: .25em; color: var(--pt-primary-dark, #257263); }
.pt-evcard__meta li > span { min-width: 0; overflow-wrap: anywhere; }
.pt-evcard__date > span { font-weight: 700; }
.pt-evcard__sub { display: block; font-weight: 400; font-size: .85em; color: var(--pt-ink-light, #656d68); }
.pt-evcard__time { display: inline-block; margin-left: .5em; font-weight: 400; color: var(--pt-ink-light, #656d68); }

/* 4・5. 地域と「詳細を見る」 */
.pt-evcard__foot { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding-top: 4px; }
.pt-evcard__areas { display: flex; flex-wrap: wrap; gap: 4px; }
.pt-evcard__areas .event-category-badge { margin: 0; }
.pt-evcard__more { margin-left: auto; font-size: .9rem; font-weight: 700; color: var(--pt-primary-dark, #257263); text-decoration: none; white-space: nowrap; }
.pt-evcard__more:hover { text-decoration: underline; }

/* 検索結果（Cocoon の #list の中）では1列・全幅 */
#list .pt-evcards--search { width: 100%; }

/* ==============================
   一覧・地域別一覧の構成 — Issue #786
   ============================== */

/* 見出しの下: 種別 → 「条件で絞る」（畳む）＋「地域から探す ↓」。最初のカードを1画面目に入れる */
.pt-hub-tools { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-start; justify-content: center; margin: .8em 0 0; }
.pt-hub-more { flex: 1 1 100%; max-width: 760px; margin: 0 auto; text-align: left; }
.pt-hub-more__summary {
    display: inline-block;
    cursor: pointer;
    padding: .35em 1em;
    border: 1px solid var(--pt-line, #e6e1d8);
    border-radius: 999px;
    background: #fff;
    font-size: .9rem;
    font-weight: 700;
    color: var(--pt-ink, #3b423f);
    list-style: none;
}
.pt-hub-more__summary::-webkit-details-marker { display: none; }
.pt-hub-more__summary::before { content: "＋ "; color: var(--pt-primary-dark, #257263); }
.pt-hub-more[open] .pt-hub-more__summary::before { content: "－ "; }
.pt-hub-more { text-align: center; }
.pt-hub-more__body { margin-top: .8em; padding: 12px; border: 1px solid var(--pt-line, #e6e1d8); border-radius: var(--pt-radius, 12px); background: #fff; }
.pt-hub-more__body .pt-sitesearch { margin-top: 0; }
.pt-hub-jump { font-size: .9rem; font-weight: 700; color: var(--pt-primary-dark, #257263); text-decoration: none; white-space: nowrap; padding: .35em .2em; }
.pt-hub-jump:hover { text-decoration: underline; }
.pt-hub-regions { scroll-margin-top: 16px; }
.event-archive .page-header .pt-kind-filter { margin-top: .4em; }
@media (max-width: 600px) {
    .event-archive .page-header .page-title { font-size: 1.5rem; margin-bottom: .3em; }
    .event-archive .page-header .page-description { font-size: .9rem; margin-bottom: .4em; }
}

/* ページ送り: 「次のページ »」を縦に折らない（Cocoon の .page-numbers は幅46pxの正方形） */
.event-archive .pagination .nav-links,
.taxonomy-event-archive .pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.event-archive .page-numbers.prev, .event-archive .page-numbers.next,
.taxonomy-event-archive .page-numbers.prev, .taxonomy-event-archive .page-numbers.next {
    width: auto;
    padding: 0 14px;
    white-space: nowrap;
}
.event-archive .pagination .page-numbers, .taxonomy-event-archive .pagination .page-numbers { margin: 0; }

/* 地域ページの数（合計＝状態ごとの和）と、最後にまとめた終了講座 */
.pt-region-count { margin: 0 0 12px; font-size: .95rem; color: var(--pt-ink-light, #656d68); }
.pt-region-count strong { font-size: 1.1rem; color: var(--pt-ink, #3b423f); }
.pt-region-ended { margin: 8px 0 24px; }
.pt-region-ended__summary { cursor: pointer; padding: 10px 14px; border: 1px solid var(--pt-line, #e6e1d8); border-radius: var(--pt-radius, 12px); background: #fafafa; font-weight: 700; }
.pt-region-ended[open] .pt-region-ended__summary { margin-bottom: 12px; }
