/*
Theme Name: Kiiteyo Child
Template: hello-elementor
Version: 1.0.0
Description: kiiteyo.com 用 子テーマ
*/

/* =========================================
   kiiteyo archive styles
   役割:
   - 自動生成アーカイブの見た目統一
   - 記事本文やElementor側に干渉しにくい命名
   余白ルール:
   - セクション間 = margin
   - ボックス内 = padding
   - 一覧の並び = gap
========================================= */

:root{
  --ki-arc-bg: #fcfaf8;
  --ki-arc-panel: #ffffff;
  --ki-arc-line: #e9dfd7;
  --ki-arc-line-strong: #ddcfc5;
  --ki-arc-text: #493d38;
  --ki-arc-text-strong: #3f332f;
  --ki-arc-muted: #7a6d67;
  --ki-arc-accent: #8d776b;
  --ki-arc-accent-soft: #f4eeea;
  --ki-arc-shadow: 0 12px 30px rgba(73, 61, 56, 0.06);
  --ki-arc-radius-lg: 20px;
  --ki-arc-radius-md: 16px;
  --ki-arc-radius-sm: 999px;
  --ki-arc-max: 1120px;
}

/* ---------- 全体 ---------- */
body.ki-has-archive{
  background: var(--ki-arc-bg);
  color: var(--ki-arc-text);
}

.ki-archive{
  padding: 28px 16px 56px;
}

.ki-archive__inner{
  max-width: var(--ki-arc-max);
  margin: 0 auto;
}

/* ---------- ヘッダー ---------- */
.ki-archive-hero{
  margin: 0 0 24px;
  padding: 24px 22px;
  background: var(--ki-arc-panel);
  border: 1px solid var(--ki-arc-line);
  border-radius: var(--ki-arc-radius-lg);
  box-shadow: var(--ki-arc-shadow);
}

.ki-archive-hero__eyebrow{
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: var(--ki-arc-accent);
  font-weight: 700;
}

.ki-archive-hero__title{
  margin: 0;
  font-size: 28px;
  line-height: 1.35;
  color: var(--ki-arc-text-strong);
  font-weight: 700;
}

.ki-archive-hero__desc{
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ki-arc-text);
}

.ki-archive-hero__count{
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ki-arc-muted);
}

/* ---------- ショートカット ---------- */
.ki-archive-shortcuts{
  margin: 0 0 24px;
  padding: 18px;
  background: var(--ki-arc-panel);
  border: 1px solid var(--ki-arc-line);
  border-radius: var(--ki-arc-radius-lg);
}

.ki-archive-shortcuts__title{
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ki-arc-text-strong);
  font-weight: 700;
}

.ki-archive-shortcuts__list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ki-archive-shortcuts__item{
  margin: 0;
}

.ki-archive-shortcuts__link{
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--ki-arc-line-strong);
  border-radius: var(--ki-arc-radius-sm);
  background: #fff;
  color: var(--ki-arc-text-strong);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.ki-archive-shortcuts__link:hover{
  background: var(--ki-arc-accent-soft);
  border-color: #ccb8ac;
  transform: translateY(-1px);
}

/* ---------- 一覧 ---------- */
.ki-archive-section{
  margin: 0;
}

.ki-archive-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

/* ---------- カード ---------- */
.ki-archive-card{
  margin: 0;
}

.ki-archive-card__link{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  overflow: hidden;
  background: var(--ki-arc-panel);
  border: 1px solid var(--ki-arc-line);
  border-radius: var(--ki-arc-radius-lg);
  box-shadow: var(--ki-arc-shadow);
  color: var(--ki-arc-text);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ki-archive-card__link:hover{
  transform: translateY(-2px);
  border-color: #d7c7bc;
  box-shadow: 0 16px 34px rgba(73, 61, 56, 0.08);
}

.ki-archive-card__thumb-wrap{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ki-arc-line);
  background: #f6f0ec;
}

.ki-archive-card__thumb{
  display: block;
  width: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  object-position: center;
}

.ki-archive-card__thumb--placeholder{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 3 / 1;
  background:
    linear-gradient(180deg, #f7f1ed 0%, #efe5de 100%);
  color: var(--ki-arc-muted);
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.ki-archive-card__body{
  padding: 16px 16px 15px;
}

.ki-archive-card__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.ki-archive-card__chip{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: var(--ki-arc-radius-sm);
  background: var(--ki-arc-accent-soft);
  color: var(--ki-arc-accent);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
}

.ki-archive-card__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: var(--ki-arc-text-strong);
  font-weight: 700;
}

.ki-archive-card__excerpt{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.9;
  color: var(--ki-arc-text);
}

.ki-archive-card__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--ki-arc-line);
}

.ki-archive-card__date{
  font-size: 12px;
  line-height: 1.6;
  color: var(--ki-arc-muted);
}

/* ---------- ページネーション ---------- */
.ki-archive-pagination{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 28px 0 0;
}

.ki-archive-pagination__item{
  display: inline-flex;
}

.ki-archive-pagination .page-numbers{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--ki-arc-line-strong);
  border-radius: var(--ki-arc-radius-sm);
  background: #fff;
  color: var(--ki-arc-text-strong);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  font-weight: 700;
}

.ki-archive-pagination .page-numbers.current{
  background: var(--ki-arc-text-strong);
  border-color: var(--ki-arc-text-strong);
  color: #fff;
}

.ki-archive-pagination .page-numbers:hover{
  background: var(--ki-arc-accent-soft);
}

/* ---------- 空状態 ---------- */
.ki-archive-empty{
  padding: 28px 22px;
  background: var(--ki-arc-panel);
  border: 1px solid var(--ki-arc-line);
  border-radius: var(--ki-arc-radius-lg);
  box-shadow: var(--ki-arc-shadow);
}

.ki-archive-empty__title{
  margin: 0;
  font-size: 20px;
  line-height: 1.6;
  color: var(--ki-arc-text-strong);
  font-weight: 700;
}

.ki-archive-empty__text{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.9;
  color: var(--ki-arc-text);
}

.ki-archive-empty__link{
  color: var(--ki-arc-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---------- PC ---------- */
@media (min-width: 768px){
  .ki-archive{
    padding: 36px 20px 72px;
  }

  .ki-archive-hero{
    padding: 30px 28px;
    margin-bottom: 28px;
  }

  .ki-archive-hero__title{
    font-size: 34px;
  }

  .ki-archive-shortcuts{
    padding: 20px;
    margin-bottom: 28px;
  }

  .ki-archive-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* ---------- 広めPC ---------- */
@media (min-width: 1100px){
  .ki-archive-card__body{
    padding: 18px 18px 16px;
  }

  .ki-archive-card__title{
    font-size: 19px;
  }
}

/* =========================================
   kiiteyo 検索結果ページ
   方針:
   - 検索結果を「探し直しやすい一覧」にする
   - 年齢別 / 悩み別の入口へ戻しやすくする
   - トーンは静か・整理・信頼感
   余白管理:
   - セクション間 = margin
   - ボックス内 = padding
   - 一覧の並び = gap
========================================= */

:root{
  --ki-search-bg: #fcfaf8;
  --ki-search-panel: #ffffff;
  --ki-search-line: #e9dfd7;
  --ki-search-line-strong: #ddcfc5;
  --ki-search-text: #493d38;
  --ki-search-text-strong: #3f332f;
  --ki-search-muted: #7a6d67;
  --ki-search-accent: #8d776b;
  --ki-search-accent-soft: #f4eeea;
  --ki-search-shadow: 0 12px 30px rgba(73, 61, 56, 0.06);
  --ki-search-radius-lg: 20px;
  --ki-search-radius-md: 16px;
  --ki-search-radius-sm: 999px;
  --ki-search-max: 1120px;
}

/* ---------- 全体 ---------- */
body.ki-has-search{
  background: var(--ki-search-bg);
  color: var(--ki-search-text);
}

.ki-search{
  padding: 28px 16px 56px;
}

.ki-search__inner{
  max-width: var(--ki-search-max);
  margin: 0 auto;
}

/* ---------- 上部 ---------- */
.ki-search-hero{
  margin: 0 0 24px;
  padding: 24px 22px;
  background: var(--ki-search-panel);
  border: 1px solid var(--ki-search-line);
  border-radius: var(--ki-search-radius-lg);
  box-shadow: var(--ki-search-shadow);
}

.ki-search-hero__eyebrow{
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: var(--ki-search-accent);
  font-weight: 700;
}

.ki-search-hero__title{
  margin: 0;
  font-size: 28px;
  line-height: 1.35;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-hero__desc{
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ki-search-text);
}

.ki-search-hero__count{
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ki-search-muted);
}

/* ---------- 検索フォーム ---------- */
.ki-search-box{
  margin: 0 0 24px;
  padding: 18px;
  background: var(--ki-search-panel);
  border: 1px solid var(--ki-search-line);
  border-radius: var(--ki-search-radius-lg);
}

.ki-search-box__title{
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-form{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.ki-search-form__input{
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--ki-search-line-strong);
  border-radius: 14px;
  background: #fff;
  color: var(--ki-search-text);
  font-size: 15px;
  line-height: 1.5;
  outline: none;
}

.ki-search-form__input:focus{
  border-color: #cfb7aa;
  box-shadow: 0 0 0 3px rgba(223, 147, 111, 0.12);
}

.ki-search-form__button{
  min-height: 46px;
  padding: 12px 16px;
  border: 1px solid #d9a189;
  border-radius: 999px;
  background: linear-gradient(180deg, #e9a889 0%, #df936f 100%);
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ki-search-form__button:hover{
  transform: translateY(-1px);
  border-color: #cf8f73;
  box-shadow: 0 6px 14px rgba(223, 147, 111, 0.14);
}

/* ---------- ショートカット ---------- */
.ki-search-shortcuts{
  margin: 0 0 24px;
  padding: 18px;
  background: var(--ki-search-panel);
  border: 1px solid var(--ki-search-line);
  border-radius: var(--ki-search-radius-lg);
}

.ki-search-shortcuts__title{
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-shortcuts__list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ki-search-shortcuts__item{
  margin: 0;
}

.ki-search-shortcuts__link{
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--ki-search-line-strong);
  border-radius: var(--ki-search-radius-sm);
  background: #fff;
  color: var(--ki-search-text-strong);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.ki-search-shortcuts__link:hover{
  background: var(--ki-search-accent-soft);
  border-color: #ccb8ac;
  transform: translateY(-1px);
}

/* ---------- 結果一覧 ---------- */
.ki-search-results{
  margin: 0;
}

.ki-search-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

/* ---------- カード ---------- */
.ki-search-card{
  margin: 0;
}

.ki-search-card__link{
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  background: var(--ki-search-panel);
  border: 1px solid var(--ki-search-line);
  border-radius: var(--ki-search-radius-lg);
  box-shadow: var(--ki-search-shadow);
  color: var(--ki-search-text);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ki-search-card__link:hover{
  transform: translateY(-2px);
  border-color: #d7c7bc;
  box-shadow: 0 16px 34px rgba(73, 61, 56, 0.08);
}

.ki-search-card__thumb-wrap{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ki-search-line);
  background: #f6f0ec;
}

.ki-search-card__thumb{
  display: block;
  width: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  object-position: center;
}

.ki-search-card__thumb--placeholder{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 3 / 1;
  background: linear-gradient(180deg, #f7f1ed 0%, #efe5de 100%);
  color: var(--ki-search-muted);
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.ki-search-card__body{
  padding: 16px 16px 15px;
}

.ki-search-card__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}

.ki-search-card__chip{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: var(--ki-search-radius-sm);
  background: var(--ki-search-accent-soft);
  color: var(--ki-search-accent);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
}

.ki-search-card__chip--type{
  background: #f7f2ee;
  color: #7c655a;
}

.ki-search-card__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-card__excerpt{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.9;
  color: var(--ki-search-text);
}

.ki-search-card__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--ki-search-line);
}

.ki-search-card__date{
  font-size: 12px;
  line-height: 1.6;
  color: var(--ki-search-muted);
}

.ki-search-card__more{
  font-size: 12px;
  line-height: 1.6;
  color: var(--ki-search-accent);
  font-weight: 700;
}

/* ---------- ページ送り ---------- */
.ki-search-pagination{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 28px 0 0;
}

.ki-search-pagination__item{
  display: inline-flex;
}

.ki-search-pagination .page-numbers{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--ki-search-line-strong);
  border-radius: var(--ki-search-radius-sm);
  background: #fff;
  color: var(--ki-search-text-strong);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  font-weight: 700;
}

.ki-search-pagination .page-numbers.current{
  background: var(--ki-search-text-strong);
  border-color: var(--ki-search-text-strong);
  color: #fff;
}

.ki-search-pagination .page-numbers:hover{
  background: var(--ki-search-accent-soft);
}

/* ---------- 0件 ---------- */
.ki-search-empty{
  padding: 28px 22px;
  background: var(--ki-search-panel);
  border: 1px solid var(--ki-search-line);
  border-radius: var(--ki-search-radius-lg);
  box-shadow: var(--ki-search-shadow);
}

.ki-search-empty__title{
  margin: 0;
  font-size: 20px;
  line-height: 1.6;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-empty__text{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.9;
  color: var(--ki-search-text);
}

.ki-search-empty__list{
  margin: 10px 0 0 1.2em;
  padding: 0;
}

.ki-search-empty__links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 0;
}

.ki-search-empty__link{
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--ki-search-line-strong);
  border-radius: var(--ki-search-radius-sm);
  background: #fff;
  color: var(--ki-search-text-strong);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
}

/* ---------- PC ---------- */
@media (min-width: 768px){
  .ki-search{
    padding: 36px 20px 72px;
  }

  .ki-search-hero{
    padding: 30px 28px;
    margin-bottom: 28px;
  }

  .ki-search-hero__title{
    font-size: 34px;
  }

  .ki-search-box,
  .ki-search-shortcuts{
    padding: 20px;
    margin-bottom: 28px;
  }

  .ki-search-form{
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  .ki-search-form__button{
    min-width: 132px;
  }

  .ki-search-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* =========================================
   kiiteyo 検索0件時 おすすめ導線
========================================= */

.ki-search-empty-recs{
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--ki-search-line);
}

.ki-search-empty-recs__title{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-card--recommended .ki-search-card__more{
  color: var(--ki-search-accent);
}

/* =========================================
   kiiteyo 検索結果ページ
   TOP検索UI流用用の追加調整
========================================= */

.ki-search-box{
  margin: 0 0 24px;
  padding: 18px;
  background: var(--ki-search-panel);
  border: 1px solid var(--ki-search-line);
  border-radius: var(--ki-search-radius-lg);
}

.ki-search-box__title{
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ki-search-text-strong);
  font-weight: 700;
}

.ki-search-box .ki-homeSearch{
  margin: 0;
}

.ki-search-box .ki-top-search-quick{
  margin-top: 14px;
}

.ki-search-box .ki-top-search-quick-label{
  margin-top: 0;
}

@media (min-width: 768px){
  .ki-search-box{
    padding: 20px;
    margin-bottom: 28px;
  }
}