/* =========================================================
   いまじん サイト運営ツール v1.6.0
   投稿・固定ページ 共通デザインシステム
   - 商品サイト側の配色・余白・表・FAQ・カード設計をTOP側へ移植
   - 保存済み v1.5.0 / v1.6.0 マーカーがあるページだけ有効
   - TOPページは既存専用レイアウト保護のため安全モード
   ========================================================= */

body.svgeco-unified-content{
  --eco-green:#426d57;
  --eco-green-dark:#2f5140;
  --eco-green-soft:#eef5f0;
  --eco-text:#333;
  --eco-muted:#666;
  --eco-border:#d8e2da;
  --eco-gold:#b68a45;
}

/* ---------------------------------------------------------
   通常投稿・通常固定ページ
   CocoonのタイトルH1を残し、本文側はH2以下で統一する。
   --------------------------------------------------------- */
body.svgeco-unified-content.svgeco-layout-post .article-header > .entry-title,
body.svgeco-unified-content.svgeco-layout-page .article-header > .entry-title{
  width:100%;
  max-width:1040px;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 4px 13px!important;
  border-bottom:1px solid #e8ece9!important;
  color:#24352c!important;
  font-size:clamp(1.55rem,3vw,2rem)!important;
  line-height:1.4!important;
  box-sizing:border-box!important;
}

body.svgeco-unified-content.svgeco-layout-post .article-header > .eye-catch-wrap,
body.svgeco-unified-content.svgeco-layout-page .article-header > .eye-catch-wrap,
body.svgeco-unified-content.svgeco-layout-post .article-header > .date-tags,
body.svgeco-unified-content.svgeco-layout-page .article-header > .date-tags{
  width:100%;
  max-width:1040px;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

body.svgeco-unified-content.svgeco-layout-post .entry-content,
body.svgeco-unified-content.svgeco-layout-page .entry-content{
  width:100%!important;
  max-width:1040px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 4px 40px!important;
  color:var(--eco-text)!important;
  line-height:1.85!important;
  overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}

body.svgeco-unified-content.svgeco-layout-post .entry-content *,
body.svgeco-unified-content.svgeco-layout-page .entry-content *,
body.svgeco-unified-content.svgeco-layout-post .entry-content *::before,
body.svgeco-unified-content.svgeco-layout-page .entry-content *::before,
body.svgeco-unified-content.svgeco-layout-post .entry-content *::after,
body.svgeco-unified-content.svgeco-layout-page .entry-content *::after{
  box-sizing:border-box;
}

body.svgeco-unified-content.svgeco-layout-post .entry-content > :first-child,
body.svgeco-unified-content.svgeco-layout-page .entry-content > :first-child{margin-top:0!important}
body.svgeco-unified-content.svgeco-layout-post .entry-content > :last-child,
body.svgeco-unified-content.svgeco-layout-page .entry-content > :last-child{margin-bottom:0!important}

/* 商品側 .eco-section-title と同じ見出し設計 */
body.svgeco-unified-content.svgeco-layout-post .entry-content h2:not(.screen-reader-text),
body.svgeco-unified-content.svgeco-layout-page .entry-content h2:not(.screen-reader-text),
body.svgeco-unified-content .entry-content .eco-section-title{
  width:100%;
  max-width:none!important;
  margin:34px 0 20px!important;
  padding:10px 14px!important;
  border:0!important;
  border-left:5px solid var(--eco-green)!important;
  border-radius:0!important;
  background:var(--eco-green-soft)!important;
  color:var(--eco-green-dark)!important;
  font-size:clamp(1.2rem,2.4vw,1.5rem)!important;
  line-height:1.45!important;
  font-weight:700!important;
  clear:both!important;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content h2:first-child,
body.svgeco-unified-content.svgeco-layout-page .entry-content h2:first-child{margin-top:0!important}

body.svgeco-unified-content.svgeco-layout-post .entry-content h3,
body.svgeco-unified-content.svgeco-layout-page .entry-content h3{
  margin:26px 0 12px!important;
  padding:0 0 8px!important;
  border:0!important;
  border-bottom:1px solid #dfe7e1!important;
  background:transparent!important;
  color:var(--eco-green-dark)!important;
  font-size:1.12rem!important;
  line-height:1.5!important;
  font-weight:700!important;
  clear:both!important;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content h4,
body.svgeco-unified-content.svgeco-layout-page .entry-content h4{
  margin:22px 0 9px!important;
  color:#37483f!important;
  font-size:1rem!important;
  line-height:1.5!important;
}

body.svgeco-unified-content.svgeco-layout-post .entry-content p,
body.svgeco-unified-content.svgeco-layout-page .entry-content p,
body.svgeco-unified-content.svgeco-layout-post .entry-content ul,
body.svgeco-unified-content.svgeco-layout-page .entry-content ul,
body.svgeco-unified-content.svgeco-layout-post .entry-content ol,
body.svgeco-unified-content.svgeco-layout-page .entry-content ol,
body.svgeco-unified-content.svgeco-layout-post .entry-content dl,
body.svgeco-unified-content.svgeco-layout-page .entry-content dl{
  max-width:none!important;
}

body.svgeco-unified-content.svgeco-layout-post .entry-content img,
body.svgeco-unified-content.svgeco-layout-page .entry-content img{
  max-width:100%!important;
  height:auto!important;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content iframe,
body.svgeco-unified-content.svgeco-layout-page .entry-content iframe,
body.svgeco-unified-content.svgeco-layout-post .entry-content video,
body.svgeco-unified-content.svgeco-layout-page .entry-content video{
  max-width:100%!important;
}

/* 共通セクション */
body.svgeco-unified-content.svgeco-layout-post .entry-content .eco-section,
body.svgeco-unified-content.svgeco-layout-page .entry-content .eco-section,
body.svgeco-unified-content.svgeco-layout-post .entry-content > section,
body.svgeco-unified-content.svgeco-layout-page .entry-content > section{
  margin-bottom:44px;
}

/* 商品側と共通のカード */
body.svgeco-unified-content .entry-content .eco-role-card,
body.svgeco-unified-content .entry-content .eco-info-card,
body.svgeco-unified-content .entry-content .eco-content-card{
  margin:18px 0;
  padding:20px;
  border:1px solid var(--eco-border);
  border-radius:12px;
  background:#fff;
}
body.svgeco-unified-content .entry-content .eco-role-card > :first-child,
body.svgeco-unified-content .entry-content .eco-info-card > :first-child,
body.svgeco-unified-content .entry-content .eco-content-card > :first-child{margin-top:0!important}
body.svgeco-unified-content .entry-content .eco-role-card > :last-child,
body.svgeco-unified-content .entry-content .eco-info-card > :last-child,
body.svgeco-unified-content .entry-content .eco-content-card > :last-child{margin-bottom:0!important}

/* 特徴リスト */
body.svgeco-unified-content .entry-content .eco-feature-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin:0;
  padding:20px 24px 20px 44px;
  border:1px solid var(--eco-border);
  border-radius:12px;
  background:#fff;
}
body.svgeco-unified-content .entry-content .eco-feature-list li{margin:0;line-height:1.7}

/* 表 */
body.svgeco-unified-content .entry-content .eco-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content table,
body.svgeco-unified-content.svgeco-layout-page .entry-content table,
body.svgeco-unified-content .entry-content .eco-table,
body.svgeco-unified-content .entry-content .eco-spec-table{
  width:100%!important;
  max-width:100%!important;
  margin:18px 0!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  table-layout:auto!important;
  float:none!important;
  background:#fff!important;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content table th,
body.svgeco-unified-content.svgeco-layout-post .entry-content table td,
body.svgeco-unified-content.svgeco-layout-page .entry-content table th,
body.svgeco-unified-content.svgeco-layout-page .entry-content table td,
body.svgeco-unified-content .entry-content .eco-table th,
body.svgeco-unified-content .entry-content .eco-table td,
body.svgeco-unified-content .entry-content .eco-spec-table th,
body.svgeco-unified-content .entry-content .eco-spec-table td{
  padding:12px 14px!important;
  border:1px solid var(--eco-border)!important;
  vertical-align:top!important;
  text-align:left!important;
  background:#fff!important;
  line-height:1.7!important;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content table th,
body.svgeco-unified-content.svgeco-layout-page .entry-content table th,
body.svgeco-unified-content .entry-content .eco-table th,
body.svgeco-unified-content .entry-content .eco-spec-table th{
  background:var(--eco-green-soft)!important;
  color:var(--eco-green-dark)!important;
  font-weight:700!important;
}
body.svgeco-unified-content .entry-content .eco-spec-table th{width:28%}

/* FAQ */
body.svgeco-unified-content .entry-content .eco-faq{
  padding:22px;
  border:1px solid var(--eco-border);
  border-radius:14px;
  background:#fff;
}
body.svgeco-unified-content .entry-content details[data-imagine-faq-item],
body.svgeco-unified-content .entry-content .eco-faq .faq-item,
body.svgeco-unified-content .entry-content details.faq-item{
  margin:0 0 10px;
  border:1px solid #dfe7e1;
  border-radius:9px;
  background:#fff;
  overflow:hidden;
}
body.svgeco-unified-content .entry-content details[data-imagine-faq-item]:last-child,
body.svgeco-unified-content .entry-content .eco-faq .faq-item:last-child,
body.svgeco-unified-content .entry-content details.faq-item:last-child{margin-bottom:0}
body.svgeco-unified-content .entry-content details[data-imagine-faq-item] > summary,
body.svgeco-unified-content .entry-content .eco-faq summary,
body.svgeco-unified-content .entry-content details.faq-item > summary{
  position:relative;
  padding:14px 46px 14px 16px;
  cursor:pointer;
  color:var(--eco-green-dark);
  font-weight:700;
  line-height:1.55;
  list-style:none;
  background:#fff;
}
body.svgeco-unified-content .entry-content details[data-imagine-faq-item] > summary::-webkit-details-marker,
body.svgeco-unified-content .entry-content .eco-faq summary::-webkit-details-marker,
body.svgeco-unified-content .entry-content details.faq-item > summary::-webkit-details-marker{display:none}
body.svgeco-unified-content .entry-content details[data-imagine-faq-item] > summary::after,
body.svgeco-unified-content .entry-content .eco-faq summary::after,
body.svgeco-unified-content .entry-content details.faq-item > summary::after{
  content:'＋';
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.2rem;
  font-weight:400;
}
body.svgeco-unified-content .entry-content details[open][data-imagine-faq-item] > summary::after,
body.svgeco-unified-content .entry-content .eco-faq details[open] summary::after,
body.svgeco-unified-content .entry-content details.faq-item[open] > summary::after{content:'−'}
body.svgeco-unified-content .entry-content .eco-faq-answer{
  padding:14px 16px 16px;
  border-top:1px solid #e7ece8;
  background:#fbfdfb;
}
body.svgeco-unified-content .entry-content .eco-faq-answer p{margin:0}

/* レシピ */
body.svgeco-unified-content .entry-content .eco-recipe,
body.svgeco-unified-content .entry-content .imj-recipe-card{
  padding:24px;
  border:1px solid var(--eco-border);
  border-radius:14px;
  background:#fbfdfb;
}
body.svgeco-unified-content .entry-content .eco-recipe-item{
  margin:0 0 28px;
  padding:20px;
  border:1px solid #e1e8e3;
  border-radius:12px;
  background:#fff;
}
body.svgeco-unified-content .entry-content .eco-recipe-item:last-child{margin-bottom:0}
body.svgeco-unified-content .entry-content .eco-recipe-note,
body.svgeco-unified-content .entry-content .eco-note{
  margin:15px 0 0!important;
  padding:12px 14px!important;
  border-left:4px solid var(--eco-gold)!important;
  background:#fffaf0!important;
  color:#555!important;
}

/* 画像・カードグリッド：商品サイト最新仕様と同じ PC3列 / タブレット2列 / スマホ1列 */
body.svgeco-unified-content .entry-content .eco-card-grid,
body.svgeco-unified-content .entry-content .eco-grid,
body.svgeco-unified-content .entry-content .eco-image-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:start;
  width:100%;
}
body.svgeco-unified-content .entry-content .eco-product-image-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,300px));
  gap:20px;
  justify-content:center;
  align-items:start;
  width:100%;
  max-width:940px;
  margin:20px auto;
  padding:0;
}
body.svgeco-unified-content .entry-content .eco-product-image-grid > *,
body.svgeco-unified-content .entry-content .eco-image-grid > *,
body.svgeco-unified-content .entry-content .eco-card-grid > *,
body.svgeco-unified-content .entry-content .eco-grid > *{min-width:0}
body.svgeco-unified-content .entry-content .eco-product-image-grid figure,
body.svgeco-unified-content .entry-content .eco-product-image-grid .eco-product-image-item{
  margin:0;
  text-align:center;
}
body.svgeco-unified-content .entry-content .eco-product-image-grid img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:300px!important;
  max-height:300px!important;
  margin:auto!important;
  object-fit:contain;
  object-position:center center;
}
body.svgeco-unified-content .entry-content .eco-product-image-grid figcaption,
body.svgeco-unified-content .entry-content .eco-product-image-caption{
  margin:8px 0 0;
  line-height:1.55;
  text-align:center;
}

/* フォームは機能を変更せず、はみ出しだけ防止 */
body.svgeco-unified-content.svgeco-layout-post .entry-content input,
body.svgeco-unified-content.svgeco-layout-post .entry-content select,
body.svgeco-unified-content.svgeco-layout-post .entry-content textarea,
body.svgeco-unified-content.svgeco-layout-post .entry-content button,
body.svgeco-unified-content.svgeco-layout-page .entry-content input,
body.svgeco-unified-content.svgeco-layout-page .entry-content select,
body.svgeco-unified-content.svgeco-layout-page .entry-content textarea,
body.svgeco-unified-content.svgeco-layout-page .entry-content button{
  max-width:100%;
}

/* 引用・コード */
body.svgeco-unified-content.svgeco-layout-post .entry-content blockquote,
body.svgeco-unified-content.svgeco-layout-page .entry-content blockquote{
  margin:20px 0;
  padding:14px 18px;
  border-left:4px solid var(--eco-green);
  background:#f7faf8;
  color:#4f5b54;
}
body.svgeco-unified-content.svgeco-layout-post .entry-content pre,
body.svgeco-unified-content.svgeco-layout-page .entry-content pre{
  max-width:100%;
  overflow:auto;
}

/* ---------------------------------------------------------
   TOPページ安全モード
   既存の専用グリッド・ヒーロー・検索等を変えない。
   共通classが明示された部品だけ商品側デザインへ寄せる。
   --------------------------------------------------------- */
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-section-title{
  margin:0 0 20px;
  padding:10px 14px;
  border-left:5px solid var(--eco-green);
  background:var(--eco-green-soft);
  color:var(--eco-green-dark);
  font-size:clamp(1.2rem,2.4vw,1.5rem);
  line-height:1.45;
  font-weight:700;
}
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-table,
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-spec-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-table th,
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-table td,
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-spec-table th,
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-spec-table td{
  padding:12px 14px;
  border:1px solid var(--eco-border);
  vertical-align:top;
  text-align:left;
}
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-table th,
body.svgeco-unified-content.svgeco-layout-front .entry-content .eco-spec-table th{
  background:var(--eco-green-soft);
  color:var(--eco-green-dark);
}

/* ---------------------------------------------------------
   レスポンシブ：商品サイトと共通
   PC 1025px以上 = 3列 / タブレット 768〜1024px = 2列 / スマホ 767px以下 = 1列
   --------------------------------------------------------- */
@media screen and (min-width:768px) and (max-width:1024px){
  body.svgeco-unified-content.svgeco-layout-post .entry-content,
  body.svgeco-unified-content.svgeco-layout-page .entry-content{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.svgeco-unified-content .entry-content .eco-card-grid,
  body.svgeco-unified-content .entry-content .eco-grid,
  body.svgeco-unified-content .entry-content .eco-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }
  body.svgeco-unified-content .entry-content .eco-product-image-grid{
    grid-template-columns:repeat(2,minmax(0,300px));
    max-width:620px;
    gap:20px;
  }
}

@media screen and (max-width:767px){
  body.svgeco-unified-content.svgeco-layout-post .article-header > .entry-title,
  body.svgeco-unified-content.svgeco-layout-page .article-header > .entry-title{
    font-size:1.5rem!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.svgeco-unified-content.svgeco-layout-post .entry-content,
  body.svgeco-unified-content.svgeco-layout-page .entry-content{
    padding-left:8px!important;
    padding-right:8px!important;
    padding-bottom:32px!important;
    font-size:15px;
  }
  body.svgeco-unified-content .entry-content .eco-feature-list{
    grid-template-columns:1fr;
    padding:16px 16px 16px 36px;
  }
  body.svgeco-unified-content .entry-content .eco-card-grid,
  body.svgeco-unified-content .entry-content .eco-grid,
  body.svgeco-unified-content .entry-content .eco-image-grid{
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }
  body.svgeco-unified-content .entry-content .eco-product-image-grid{
    grid-template-columns:minmax(0,300px);
    max-width:300px;
    gap:18px;
  }
  body.svgeco-unified-content.svgeco-layout-post .entry-content .wp-block-columns,
  body.svgeco-unified-content.svgeco-layout-page .entry-content .wp-block-columns{
    flex-wrap:wrap!important;
  }
  body.svgeco-unified-content.svgeco-layout-post .entry-content .wp-block-column,
  body.svgeco-unified-content.svgeco-layout-page .entry-content .wp-block-column{
    flex-basis:100%!important;
    width:100%!important;
  }
  body.svgeco-unified-content.svgeco-layout-post .entry-content table,
  body.svgeco-unified-content.svgeco-layout-page .entry-content table,
  body.svgeco-unified-content .entry-content .eco-table,
  body.svgeco-unified-content .entry-content .eco-spec-table{
    display:block!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.svgeco-unified-content.svgeco-layout-post .entry-content h2:not(.screen-reader-text),
  body.svgeco-unified-content.svgeco-layout-page .entry-content h2:not(.screen-reader-text),
  body.svgeco-unified-content .entry-content .eco-section-title{
    margin-bottom:15px!important;
    font-size:1.15rem!important;
  }
  body.svgeco-unified-content .entry-content .eco-recipe,
  body.svgeco-unified-content .entry-content .imj-recipe-card,
  body.svgeco-unified-content .entry-content .eco-faq{
    padding:15px 12px;
  }
  body.svgeco-unified-content .entry-content .eco-recipe-item{padding:16px 13px}
}
