/*
 Theme Name:   Cocoon Child
 Template:     cocoon-master
 Description:  Cocoon の子テーマです
 Author:       あなたの名前
 Version:      1.0
*/

/* =============================
   Google Fonts適用済み前提：
   Montserrat + Noto Sans JP
   ============================= */
body {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  background-color: #ffffff;
  color: #333;
  line-height: 1.8;
  font-size: 16px;
}

/* =============================
   リンクスタイル
   ============================= */
a {
  color: #ff6f00;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

/* =============================
   記事カード（1列レイアウト）
   ============================= */
#list {
  display: block;
  margin-top: 30px;
}

.entry-card-wrap {
  display: flex;
  flex-direction: row;
  border-radius: 12px;
  border: 1px solid #eee;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  overflow: hidden;
  margin-bottom: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.entry-card-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.1);
}

/* サムネイル画像 */
.entry-thumb {
  width: 280px;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px 0 0 10px;
  flex-shrink: 0;
}
.entry-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 本文エリア */
.entry-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.entry-title a {
  font-size: 1.3em;
  font-weight: 700;
  color: #222;
  line-height: 1.6;
  margin-bottom: 0.5em;
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 4.8em;
}

.entry-snippet {
  font-size: 0.95em;
  color: #444;
  line-height: 1.6;
  margin-bottom: 10px;
}

.cat-label {
  display: inline-block;
  background: #ff6f00;
  color: #fff;
  font-size: 0.75em;
  padding: 3px 8px;
  border-radius: 12px;
  margin-bottom: 8px;
  font-weight: bold;
}

.entry-meta {
  font-size: 0.8em;
  color: #999;
  margin-top: auto;
}
.klee-one-regular {
  font-family: "Klee One", cursive;
  font-weight: 400;
  font-style: normal;
}

/* =============================
   サイドバーとウィジェット
   ============================= */
.sidebar {
  background-color: #fdf9f5;
  border-radius: 16px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  padding: 30px;
}

.widget, .wp-block-group {
  background-color: #ffffff;
  border: 0px solid #f0f0f0;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  box-shadow: 0 0px 0px rgba(0,0,0,0.03);
  transition: all 0.3s ease;
}
.widget:hover, .wp-block-group:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.widgettitle,
.wp-block-group h2 {
  font-family: 'Quicksand', 'M PLUS Rounded 1c', sans-serif;
  font-size: 1.0em;
  font-weight: bold;
  border-left: 4px solid #ffc0cb;
  padding-left: 10px;
  margin-bottom: 15px;
  color: #333;
}

.widget ul, .wp-block-latest-posts {
  list-style: none;
  padding: 0;
  margin: 0;
}
.widget ul li, .wp-block-latest-posts li {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}
.widget ul li:last-child, .wp-block-latest-posts li:last-child {
  border-bottom: none;
}
.wp-block-latest-posts li a {
  color: #ff6f00;
  text-decoration: none;
  transition: color 0.3s;
}
.wp-block-latest-posts li a:hover {
  color: #e65100;
}

/* =============================
   グローバルナビ（中央揃え＋かわいく）
   ============================= */
#navi ul {
  display: flex;
  justify-content: center;
  gap: 24px;
  font-weight: bold;
}
#navi ul li a {
  color: #ff6f00;
  transition: 0.3s;
}
#navi ul li a:hover {
  color: #fff;
  background-color: #ff6f00;
  border-radius: 20px;
  padding: 6px 14px;
}

/* =============================
   フッター
   ============================= */
#footer {
  background: #507086;
  color: #343434;
  padding: 20px 0;
}
#footer a {
  color: #343434;
}
#footer a:hover {
  color: #000000;
}
/* ===============================
   サイドバー全体（背景・角丸・影）
   =============================== */
.sidebar {
  background-color: #fdfaf6;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
}

.widgettitle::after,
.wp-block-group h2::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 8px solid #d1a98a;
}

/* ===============================
   最近の投稿などのリスト整形
   =============================== */
.widget ul,
.wp-block-latest-posts {
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget ul li,
.wp-block-latest-posts li {
  padding: 6px 0;
  border-bottom: 1px dotted #e5e0da;
}

.widget ul li:last-child,
.wp-block-latest-posts li:last-child {
  border-bottom: none;
}

.wp-block-latest-posts li a,
.widget ul li a {
  color: #5c5248;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.wp-block-latest-posts li a:hover,
.widget ul li a:hover {
  color: #a2876d;
}
.sidebar,
.sidebar * {
  font-family: 'Klee One', cursive !important;
}
/* ─── フッター行をスリム化 ─── */
#footer {
  padding: 8px 0;        /* 上下の余白を 8px に */
  font-size: 0.85rem;    /* 文字を少し小さく   */
  line-height: 1.4;      /* 行間もタイトに      */
}

/* フッターメニューやリンクの余白が気になるとき */
#footer .footer-menu,
#footer a {
  margin-top: 0;         /* 余計な上マージンをゼロに */
}
/* フッターウィジェットの上下余白を減らす */
.footer-widgets {
  padding: 10px 0;    /* 例：デフォルト 40px → 20px */
}
