/* ============================================================
   Shutoken Events Plugin CSS
   gold-blog-child/style-user.css に貼り付けること
   ============================================================ */

/* ---------- 変数 ---------- */
:root {
    --sse-navy:   #1a3a6b;
    --sse-orange: #e06c00;
    --sse-gray:   #f5f5f5;
    --sse-border: #ddd;
    --sse-text:   #333;
    --sse-small:  #666;
    --sse-radius: 4px;
}

/* ---------- 共通ラッパー ---------- */
.sse-wrap,
.sse-single {
    max-width: 100%;
}

/* ---------- ヒーロー（アーカイブ） ---------- */
.sse-hero {
    margin-bottom: 24px;
}
.sse-hero__title {
    font-size: 1.7em;
    font-weight: 700;
    color: var(--sse-navy);
    margin: 0 0 10px;
    line-height: 1.3;
}
.sse-hero__lead {
    margin: 0 0 16px;
    color: var(--sse-small);
    line-height: 1.7;
}
.sse-hero__image {
    margin-top: 12px;
}
.sse-hero__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--sse-radius);
}

/* ---------- 絞り込みフォーム ---------- */
.sse-filter {
    background: var(--sse-navy);
    border-radius: var(--sse-radius);
    padding: 16px;
    margin-bottom: 24px;
}
.sse-filter__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}
.sse-filter__select {
    width: 100%;
    padding: 9px 10px;
    border: none;
    border-radius: var(--sse-radius);
    font-size: 0.95em;
    background: #fff;
    color: var(--sse-text);
    cursor: pointer;
    box-sizing: border-box;
}
.sse-filter__actions {
    display: flex;
    gap: 8px;
    align-items: center;
}
.sse-filter__btn {
    padding: 10px 24px;
    border: none;
    border-radius: var(--sse-radius);
    font-size: 1em;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
    line-height: 1.4;
}
.sse-filter__btn--search {
    background: #2a5298;
    color: #fff;
    flex: 1;
    text-align: center;
}
.sse-filter__btn--search:hover {
    background: #1a3a6b;
    color: #fff;
}
.sse-filter__btn--reset {
    background: rgba(255,255,255,0.15);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.4);
}
.sse-filter__btn--reset:hover {
    background: rgba(255,255,255,0.25);
    color: #fff;
}

/* ---------- イベントカード ---------- */
.sse-cards {
    margin-bottom: 24px;
}
.sse-card {
    border: 1px solid var(--sse-border);
    border-radius: var(--sse-radius);
    padding: 16px 18px;
    margin-bottom: 12px;
    background: #fff;
    transition: box-shadow 0.2s;
}
.sse-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.sse-card--past {
    background: #f9f9f9;
    opacity: 0.85;
}
.sse-card__tags {
    margin-bottom: 6px;
}
.sse-card__title {
    font-size: 1.05em;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.4;
}
.sse-card__title a {
    color: var(--sse-navy);
    text-decoration: none;
}
.sse-card__title a:hover {
    text-decoration: underline;
}
.sse-card__meta {
    font-size: 0.9em;
    color: var(--sse-small);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* ---------- 開催終了ヘッダー ---------- */
.sse-past-header {
    font-size: 0.9em;
    font-weight: 700;
    color: var(--sse-small);
    border-top: 2px solid var(--sse-border);
    padding-top: 16px;
    margin-top: 8px;
    margin-bottom: 12px;
}

/* ---------- タグ ---------- */
.sse-tag {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 2px;
    font-size: 0.85em;
    font-weight: 600;
    margin-right: 4px;
}
.sse-tag--target {
    background: #e8eef7;
    color: var(--sse-navy);
}
.sse-tag--pref {
    background: var(--sse-gray);
    color: var(--sse-small);
}
.sse-tag--past {
    background: #888;
    color: #fff;
}

/* ---------- 該当なし ---------- */
.sse-no-events {
    padding: 20px;
    text-align: center;
    color: var(--sse-small);
    background: var(--sse-gray);
    border-radius: var(--sse-radius);
}

/* ---------- シングルページ ---------- */
.sse-single__tags {
    margin-bottom: 12px;
}

.sse-single__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.sse-single__table th,
.sse-single__table td {
    padding: 10px 12px;
    border: 1px solid var(--sse-border);
    vertical-align: top;
    font-size: 1em;
    line-height: 1.6;
}
.sse-single__table th {
    width: 130px;
    background: var(--sse-gray);
    font-weight: 600;
    color: var(--sse-text);
    white-space: nowrap;
}
.sse-single__table td {
    background: #fff;
}

/* 公式ページボタン */
.sse-btn-official {
    display: inline-block;
    background: var(--sse-orange);
    color: #fff !important;
    padding: 7px 18px;
    border-radius: var(--sse-radius);
    font-weight: 600;
    text-decoration: none !important;
}
.sse-btn-official:hover {
    background: #c05a00;
}

/* メモ */
.sse-single__memo {
    background: #fffbe6;
    border-left: 3px solid #f0c040;
    padding: 12px 16px;
    margin-bottom: 20px;
    border-radius: 0 var(--sse-radius) var(--sse-radius) 0;
}
.sse-single__memo p {
    margin: 0;
    font-size: 0.95em;
}

/* 一覧へ戻るボタン */
.sse-single__back {
    text-align: center;
    margin-top: 24px;
    margin-bottom: 8px;
}
.sse-btn-back {
    display: inline-block;
    padding: 10px 28px;
    border: 2px solid var(--sse-navy);
    border-radius: var(--sse-radius);
    color: var(--sse-navy) !important;
    font-weight: 600;
    text-decoration: none !important;
}
.sse-btn-back:hover {
    background: var(--sse-navy);
    color: #fff !important;
}

/* ---------- 脚注 ---------- */
.sse-footnote {
    font-size: 0.85em;
    color: var(--sse-small);
    border-top: 1px solid var(--sse-border);
    padding-top: 12px;
    margin-top: 24px;
    line-height: 1.7;
}

/* ---------- モバイル ---------- */
@media (max-width: 600px) {
    .sse-hero__title { font-size: 1.3em; }
    .sse-card { padding: 12px 14px; }
    .sse-single__table th { width: 90px; font-size: 0.9em; }
    .sse-single__table td { font-size: 0.9em; }
}

/* ---------- Goldテーマ自動出力を非表示 ---------- */
body.post-type-archive-se_event .l-keyvisual {
    display: none !important;
}
body.post-type-archive-se_event .archive.archive-is-archive.archive-is-list {
    display: none !important;
}
body.post-type-archive-se_event .sort_tab {
    display: none !important;
}