/* =============================================================
   Kuki Life — Store styles
   子テーマの style.css か functions.php で読み込んでください
   ============================================================= */

/* ---- 共通タグ ---- */
.kuki-tag {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 0.78rem;
    line-height: 1.6;
    margin: 2px 2px;
    text-decoration: none;
    white-space: nowrap;
}
.kuki-tag--scene   { background: #e8f4fd; color: #1a73b8; }
.kuki-tag--purpose { background: #fdf3e8; color: #c9660a; }
.kuki-tag--feature { background: #edf7ed; color: #2a7a2a; }

/* ---- 詳細ページ ---- */
.kuki-store-wrap { max-width: 860px; margin: 0 auto; padding: 1.5rem 1rem; }

.kuki-store-title { font-size: 1.7rem; margin-bottom: 1rem; }

.kuki-store-thumbnail img { width: 100%; height: auto; border-radius: 8px; margin-bottom: 1.2rem; }

.kuki-store-tags { margin-bottom: 1.5rem; }
.kuki-store-tag-group { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .5rem; flex-wrap: wrap; }
.kuki-tag-label { font-size: .75rem; color: #888; min-width: 3em; padding-top: 3px; }

.kuki-store-info__heading,
.kuki-store-map__heading { font-size: 1.1rem; border-left: 4px solid #f08c00; padding-left: .6rem; margin: 1.5rem 0 .8rem; }

.kuki-store-info__table { width: 100%; border-collapse: collapse; }
.kuki-store-info__table th,
.kuki-store-info__table td { padding: .6rem .8rem; border-bottom: 1px solid #eee; vertical-align: top; }
.kuki-store-info__table th { width: 30%; background: #fafafa; font-weight: 600; white-space: nowrap; }

.kuki-store-map__embed { border-radius: 8px; overflow: hidden; }

/* ---- 一覧ページ ---- */
.kuki-archive-title { font-size: 1.5rem; margin-bottom: 1rem; }

.kuki-store-filters { margin-bottom: 1.5rem; }
.kuki-filter-group { display: flex; align-items: flex-start; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem; }
.kuki-filter-label { font-size: .75rem; color: #888; padding-top: 4px; min-width: 3em; }
.kuki-filter-tags { display: flex; flex-wrap: wrap; }

.kuki-store-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.2rem; }

.kuki-store-card { border: 1px solid #eee; border-radius: 10px; overflow: hidden; background: #fff; }
.kuki-store-card__thumb img { width: 100%; height: 180px; object-fit: cover; display: block; }
.kuki-store-card__body { padding: .9rem 1rem 1rem; }
.kuki-store-card__title { font-size: 1rem; margin: 0 0 .5rem; }
.kuki-store-card__title a { text-decoration: none; color: inherit; }
.kuki-store-card__title a:hover { text-decoration: underline; }
.kuki-store-card__tags { margin-bottom: .5rem; }
.kuki-store-card__address { font-size: .82rem; color: #666; margin: 0; }

.kuki-store-pagination { margin-top: 2rem; text-align: center; }
.kuki-store-empty { text-align: center; color: #888; padding: 3rem 0; }

/* ---- 主タグ ---- */
.kuki-tag-main {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 700;
    background: #1a73b8;
    color: #fff;
    letter-spacing: 0.03em;
}
.kuki-store-main-tag,
.kuki-store-card__main-tag { margin-bottom: .5rem; }

/* ---- レビュー ---- */
.kuki-store-review { margin-top: 1.5rem; }
.kuki-store-review__body {
    background: #fffdf5;
    border-left: 4px solid #f0c040;
    padding: .9rem 1.1rem;
    border-radius: 0 6px 6px 0;
    line-height: 1.8;
    color: #333;
}
.kuki-store-review__date {
    font-size: .8rem;
    color: #999;
    text-align: right;
    margin-top: .4rem;
}

@media (max-width: 600px) {
    .kuki-store-list { grid-template-columns: 1fr; }
    .kuki-store-info__table th { width: 35%; }
}
