/* ============================================================
   category_top.css
   category_top.twig / Propose_category.twig / Bouquet_category.twig
   共通CSS（外部ファイル化版）
   配置場所: html/template/default/css/category_top.css
   ============================================================ */

/* ============================================================
   category_top.twig 共通CSS
   ※ Propose_category.twig（ID:26専用）も参照
   ============================================================ */

/* ---------- 輪数バッジ ---------- */
.fiore-badge {
  position: absolute;
  top: 8px; left: 8px;
  z-index: 10;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 4px;
  line-height: 1.4;
  letter-spacing: 0.03em;
  pointer-events: none;
  background: #fde8ef;
  color: #a03f63;
  border: 1px solid #f4b8cc;
}

/* ---------- ヒーロー ---------- */
.cat-hero {
  background: linear-gradient(135deg, #faf3f5, #fdf9f3);
  padding: 56px 24px 48px;
  text-align: center;
  border-bottom: 1px solid #e8dde1;
}
.cat-hero__eyebrow {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.35em;
  color: #c75a7e;
  margin-bottom: 14px;
}
.cat-hero__h1 {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.6;
  color: #2a1f24;
  margin-bottom: 16px;
}
.cat-hero__h1 span { color: #c75a7e; display: inline-block; }
.cat-hero__lead {
  font-size: 14px;
  color: #6e5e64;
  line-height: 2;
  max-width: 640px;
  margin: 0 auto 28px;
}
.cat-hero__badges {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.cat-hero__badge {
  background: #fff;
  border: 1px solid #e8dde1;
  border-radius: 100px;
  padding: 6px 16px;
  font-size: 12px;
  color: #2a1f24;
  letter-spacing: 0.03em;
}
.cat-hero__badge strong { color: #c75a7e; }
.cat-hero__line-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #06c755;
  color: #fff !important;
  padding: 14px 36px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 16px rgba(6,199,85,0.3);
  text-decoration: none;
}
.cat-hero__line-btn:hover { opacity: 0.85; }
/* ID:26 専用：数日経過バナー */
.cat-hero__urgent {
  background: #fff8e1;
  border: 1.5px solid #c9a961;
  border-radius: 10px;
  padding: 14px 20px;
  max-width: 520px;
  margin: 0 auto 24px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
}
.cat-hero__urgent-icon { font-size: 22px; flex-shrink: 0; }
.cat-hero__urgent-title { font-size: 13px; font-weight: 700; color: #8a6500; margin-bottom: 4px; }
.cat-hero__urgent-desc { font-size: 12px; color: #6e5e64; line-height: 1.8; }

/* ---------- 選び方ガイド（共通） ---------- */
.cat-guide {
  background: #fff;
  padding: 48px 24px;
  border-bottom: 1px solid #e8dde1;
}
.cat-guide__title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 8px;
  color: #2a1f24;
}
.cat-guide__subtitle {
  font-size: 13px;
  color: #6e5e64;
  text-align: center;
  margin-bottom: 32px;
}
/* グリッド（全商品一覧用） */
.cat-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 960px;
  margin: 0 auto;
}
.cat-guide__card {
  background: #faf3f5;
  border-radius: 12px;
  padding: 24px 20px;
  text-align: center;
}
.cat-guide__card-icon { font-size: 28px; margin-bottom: 10px; }
.cat-guide__card-type { font-size: 11px; letter-spacing: 0.15em; color: #c75a7e; margin-bottom: 6px; }
.cat-guide__card-name {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 8px;
  color: #2a1f24;
}
.cat-guide__card-price { font-size: 13px; color: #c75a7e; font-weight: 500; margin-bottom: 8px; }
.cat-guide__card-desc { font-size: 12px; color: #6e5e64; line-height: 1.8; }
/* サムネイルリスト（ID:26・27共通） */
.cat-guide__list { display: flex; flex-direction: column; gap: 20px; max-width: 960px; margin: 0 auto; }
.cat-guide__card-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; justify-content: center; }
.cat-guide__card-icon-sm { font-size: 20px; }
.cat-guide__card-type-sm { font-size: 11px; letter-spacing: 0.15em; color: #c75a7e; }
.cat-guide__card-name-sm {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 4px;
  color: #2a1f24;
}
.cat-guide__card-desc-sm { font-size: 12px; color: #6e5e64; line-height: 1.8; margin-bottom: 0; }
.cat-guide__thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e8dde1;
}
.cat-guide__thumb {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e8dde1;
  padding: 8px;
  transition: border-color 0.2s;
}
.cat-guide__thumb:hover { border-color: #c75a7e; }
.cat-guide__thumb img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  display: block;
}
.cat-guide__thumb-info { flex: 1; }
.cat-guide__thumb-name {
  font-size: 16px;
  font-weight: 500;
  font-family: "Shippori Mincho", "游明朝", serif;
  color: #c75a7e;
  margin-bottom: 6px;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
.cat-guide__thumb-sales { font-size: 12px; color: #6e5e64; line-height: 1.7; }

/* ---------- trustバー（共通・黒） ---------- */
.cat-trust {
  background: #2a1f24;
  padding: 20px 24px;
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}
.cat-trust__item {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 6px;
}
.cat-trust__item::before { content: '✓'; color: #c9a961; font-weight: bold; }

/* ---------- trustバー（ID:26専用・自社工房直販追加版） ---------- */
.cat-trust2 {
  background: #2a1f24;
  padding: 18px 16px;
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.cat-trust2__item {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.cat-trust2__item::before { content: '✓'; color: #c9a961; font-weight: bold; }
.cat-trust2__highlight { color: #f9d776; font-weight: 700; }

/* ---------- 商品一覧ヘッダー ---------- */
.cat-list-header { padding: 36px 24px 16px; text-align: center; }
.cat-list-header__title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 18px;
  font-weight: 500;
  color: #2a1f24;
}

/* ---------- 注文の流れ（ID:26専用） ---------- */
.cat-flow {
  background: #fdf9f3;
  padding: 48px 24px;
  border-bottom: 1px solid #e8dde1;
}
.cat-flow__title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #2a1f24;
  margin-bottom: 8px;
}
.cat-flow__subtitle {
  font-size: 13px;
  color: #6e5e64;
  text-align: center;
  margin-bottom: 36px;
}
.cat-flow__steps {
  display: flex;
  align-items: flex-start;
  max-width: 860px;
  margin: 0 auto;
}
.cat-flow__step {
  flex: 1;
  text-align: center;
  padding: 0 8px;
  position: relative;
}
.cat-flow__step:not(:last-child)::after {
  content: '▶';
  position: absolute;
  top: 22px; right: -10px;
  color: #c9a961;
  font-size: 14px;
}
.cat-flow__step-num {
  width: 48px; height: 48px;
  background: #c75a7e;
  color: #fff;
  border-radius: 50%;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  line-height: 48px;
  text-align: center;
  margin: 0 auto 10px;
}
.cat-flow__step-icon { font-size: 22px; margin-bottom: 8px; }
.cat-flow__step-title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 14px;
  font-weight: 500;
  color: #2a1f24;
  margin-bottom: 6px;
}
.cat-flow__step-desc { font-size: 11px; color: #6e5e64; line-height: 1.8; }
.cat-flow__cta { text-align: center; margin-top: 32px; }

/* ---------- お客様の声（ID:26専用） ---------- */
.cat-voice {
  background: #fff;
  padding: 48px 24px;
  border-bottom: 1px solid #e8dde1;
}
.cat-voice__title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #2a1f24;
  margin-bottom: 8px;
}
.cat-voice__subtitle {
  font-size: 13px;
  color: #6e5e64;
  text-align: center;
  margin-bottom: 32px;
}
.cat-voice__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 960px;
  margin: 0 auto;
}
.cat-voice__card {
  background: #faf3f5;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
}
.cat-voice__product {
  display: block;
  margin-bottom: 12px;
  text-decoration: none;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e8dde1;
  transition: border-color 0.2s;
}
.cat-voice__product:hover { border-color: #c75a7e; }
.cat-voice__product img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.cat-voice__card-body { display: flex; flex-direction: column; flex: 1; }
.cat-voice__tag {
  display: inline-block;
  background: #fde8ef;
  color: #a03f63;
  font-size: 10px;
  border-radius: 4px;
  padding: 2px 8px;
  margin-bottom: 8px;
  letter-spacing: 0.05em;
  align-self: flex-start;
}
.cat-voice__stars { color: #c9a961; font-size: 13px; margin-bottom: 8px; letter-spacing: 2px; }
.cat-voice__text {
  font-size: 12px;
  color: #2a1f24;
  line-height: 1.9;
  margin-bottom: 12px;
  flex: 1;
}
.cat-voice__author {
  font-size: 11px;
  color: #6e5e64;
  border-top: 1px solid #e8dde1;
  padding-top: 10px;
}

/* ---------- 競合比較（ID:26専用） ---------- */
.cat-compare {
  background: #fdf9f3;
  padding: 48px 24px;
  border-bottom: 1px solid #e8dde1;
}
.cat-compare__title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #2a1f24;
  margin-bottom: 8px;
}
.cat-compare__subtitle { font-size: 13px; color: #6e5e64; text-align: center; margin-bottom: 32px; }
.cat-compare__wrap { max-width: 900px; margin: 0 auto; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.compare-table2 { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 13px; }
.compare-table2 th,
.compare-table2 td { padding: 12px 14px; text-align: center; vertical-align: middle; border: 1px solid #e8dde1; line-height: 1.6; }
.compare-table2 th:first-child,
.compare-table2 td:first-child { text-align: left; min-width: 200px; }
.compare-table2 thead th { background: #2a1f24; color: #fff; font-weight: 500; }
.compare-table2 thead th.col-fiore-title { background: #c75a7e; }
.compare-table2 td.col-fiore { background: #fff5f8; color: #c75a7e; font-weight: 700; }
.compare-product-cell2 { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.compare-product-img2 { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.compare-product-name2 { font-size: 13px; font-weight: 500; color: #2a1f24; margin-bottom: 2px; }
.compare-product-sub2 { font-size: 11px; color: #c75a7e; }
.compare-mark-o { color: #06c755; font-weight: bold; }
.compare-mark-x { color: #bbb; }
.cat-compare__note { font-size: 11px; color: #999; text-align: right; max-width: 900px; margin: 10px auto 0; }
/* SP カード */
.compare-cards2 { display: none; flex-direction: column; gap: 12px; max-width: 480px; margin: 0 auto; }
.compare-card2 { background: #fff; border: 1px solid #e8dde1; border-radius: 10px; overflow: hidden; }
.compare-card2-header { background: #fde8ef; padding: 10px 14px; display: flex; align-items: center; gap: 10px; }
.compare-card2-header img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.compare-card2-name { font-size: 13px; font-weight: 600; color: #a03f63; }
.compare-card2-link { font-size: 11px; color: #c75a7e; text-decoration: none; }
.compare-card2-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #e8dde1; }
.compare-card2-cell { padding: 10px 8px; text-align: center; font-size: 12px; border-right: 1px solid #e8dde1; }
.compare-card2-cell:last-child { border-right: none; }
.compare-card2-cell.is-fiore { background: #fff5f8; }
.compare-card2-cell-label { font-size: 10px; color: #888; margin-bottom: 4px; }
.compare-card2-cell-value { font-size: 14px; font-weight: 700; color: #2a1f24; }
.compare-card2-cell.is-fiore .compare-card2-cell-value { color: #c75a7e; }
.compare-note-sp2 { font-size: 11px; color: #999; text-align: right; margin-top: 8px; }

/* ============================================================
   レスポンシブ（767px以下）
   ============================================================ */
@media (max-width: 767px) {
  /* バッジ */
  .fiore-badge { font-size: 10px; padding: 3px 8px; }

  /* ヒーロー */
  .cat-hero { padding: 40px 16px 32px; }
  .cat-hero__h1 { font-size: 20px; }
  .cat-hero__lead br { display: none; }
  .cat-hero__lead { line-height: 1.9; }
  .cat-hero__urgent { flex-direction: column; gap: 8px; }

  /* 選び方ガイド */
  .cat-guide { padding: 36px 16px; }
  .cat-guide__grid { grid-template-columns: 1fr; gap: 12px; }
  .cat-guide__thumb { flex-direction: column; align-items: center; gap: 6px; padding: 8px 6px; }
  .cat-guide__thumb img { width: 100%; height: auto; aspect-ratio: 1/1; }
  .cat-guide__thumb-info { width: 100%; text-align: center; }
  .cat-guide__thumb-name { font-size: 13px; }
  .cat-guide__thumb-sales { display: none; }

  /* trustバー共通 */
  .cat-trust { gap: 12px; padding: 16px; }
  .cat-trust2 { gap: 10px; padding: 14px 12px; }
  .cat-trust2__item { font-size: 11px; white-space: normal; }

  /* 注文の流れ */
  .cat-flow { padding: 36px 16px; }
  .cat-flow__steps { flex-direction: column; }
  .cat-flow__step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    text-align: left;
    padding: 16px 0;
    border-bottom: 1px solid #e8dde1;
  }
  .cat-flow__step:last-child { border-bottom: none; }
  .cat-flow__step:not(:last-child)::after { content: ''; position: static; }
  .cat-flow__step-num { margin: 0; flex-shrink: 0; }
  .cat-flow__step-icon { display: none; }

  /* お客様の声 */
  .cat-voice { padding: 36px 16px; }
  .cat-voice__grid { grid-template-columns: 1fr; gap: 12px; }
  .cat-voice__card { flex-direction: row; align-items: flex-start; gap: 12px; padding: 14px; }
  .cat-voice__product { width: 100px; flex-shrink: 0; margin-bottom: 0; }
  .cat-voice__product img { width: 100px; height: 100px; }
  .cat-voice__text { font-size: 11px; }
  .cat-voice__author { font-size: 10px; }

  /* 競合比較 */
  .cat-compare { padding: 36px 16px; }
  .cat-compare__wrap { display: none; }
  .cat-compare__note { display: none; }
  .compare-cards2 { display: flex; }
}

/* ---------- よくあるご質問（FAQ・ID:26専用） ---------- */
.cat-faq {
  background: #fdf9f3;
  padding: 48px 24px;
  border-bottom: 1px solid #e8dde1;
}
.cat-faq__title {
  font-family: "Shippori Mincho", "游明朝", serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #2a1f24;
  margin-bottom: 8px;
}
.cat-faq__subtitle {
  font-size: 13px;
  color: #6e5e64;
  text-align: center;
  margin-bottom: 32px;
}
.cat-faq__list {
  max-width: 720px;
  margin: 0 auto;
}
.cat-faq__item {
  background: #fff;
  border: 1px solid #e8dde1;
  border-radius: 10px;
  margin-bottom: 12px;
  overflow: hidden;
}
.cat-faq__q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #2a1f24;
  position: relative;
  user-select: none;
}
.cat-faq__q-mark {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fde8ef;
  color: #c75a7e;
  font-family: "Cormorant Garamond", serif;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cat-faq__q-text { flex: 1; }
.cat-faq__q-toggle {
  flex-shrink: 0;
  font-size: 18px;
  color: #c9a961;
  transition: transform 0.25s;
}
.cat-faq__item.open .cat-faq__q-toggle { transform: rotate(45deg); }
.cat-faq__a {
  display: none;
  padding: 0 20px 20px 58px;
  font-size: 13px;
  color: #6e5e64;
  line-height: 1.9;
}
.cat-faq__item.open .cat-faq__a { display: block; }

@media (max-width: 767px) {
  .cat-faq { padding: 36px 16px; }
  .cat-faq__q { padding: 16px; font-size: 13px; }
  .cat-faq__a { padding: 0 16px 16px 50px; font-size: 12px; }
}