/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

:root {
  --bk-parchment: #e6dfd2;
  --bk-parchment-light: #efe9de;
  --bk-parchment-deep: #d4cbbd;
}

html,
body {
  background-color: var(--bk-parchment) !important;
}

body {
  background-image:
    radial-gradient(ellipse 90% 55% at 18% 8%, rgba(255, 252, 246, 0.28), transparent 50%),
    radial-gradient(ellipse 70% 50% at 92% 96%, rgba(110, 92, 74, 0.12), transparent 48%),
    url("/wp-content/mu-plugins/bk-theme-templates/assets/parchment.svg?v=1.1.6");
  background-color: var(--bk-parchment) !important;
  background-size: auto, auto, 1600px 1200px;
  background-repeat: no-repeat, no-repeat, repeat;
  background-attachment: fixed;
}

.ct-header,
header#header,
[data-header],
.ct-footer,
footer#footer,
.site-main,
main#main,
#main-container,
.ct-container,
.ct-container-full,
[data-row],
[data-row="top"],
[data-row="middle"],
[data-row="bottom"] {
  background-color: transparent !important;
  background-image: none !important;
}

#header .site-title-container {
  max-width: min(44rem, calc(100vw - 5.2rem));
  gap: 0;
}

#header .site-title {
  margin: 0;
  line-height: 1.15 !important;
}

#header .site-description {
  max-width: 100%;
  margin: 0.22rem 0 0;
  color: #1f1b16 !important;
  font-size: clamp(0.58rem, calc((100vw - 6rem) / 38), 0.82rem) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0;
  white-space: nowrap;
}

/* ===== カンタータ目次 .kantaten-toc ===== */
.kantaten-toc {
  max-width: 560px;
  margin: 2em 0;
  padding: 1.75em 1.5em;
  background: linear-gradient(135deg, #f8f6f1 0%, #f0ebe3 100%);
  border-radius: 12px;
  border: 1px solid rgba(179, 139, 0, 0.15);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  font-family: inherit;
}

.kantaten-toc h4 {
  margin: 0 0 0.5em 0;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #5a5248;
  text-transform: uppercase;
}

.kantaten-toc > p:first-of-type {
  margin: 0 0 1.25em 0;
  font-size: 0.85em;
  color: #7a7268;
  line-height: 1.5;
}

.kantaten-toc > p {
  margin: 0;
  padding: 0;
}

.kantaten-toc a {
  display: block;
  padding: 0.65em 1em 0.65em 0.9em;
  margin: 0.25em 0;
  color: #3a3a3a;
  text-decoration: none;
  border-radius: 8px;
  border-left: 3px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  line-height: 1.45;
}

.kantaten-toc a:hover {
  background: rgba(179, 139, 0, 0.08);
  border-left-color: #b38b00;
  color: #2a2a2a;
}

.kantaten-toc a span {
  display: block;
  font-size: 0.85em;
  color: #7a7268;
  font-style: italic;
  margin-top: 0.2em;
  font-weight: 400;
}

.kantaten-toc a:hover span {
  color: #8a7a5a;
}

/* ===== 区切り線（セパレーター）ブロック ===== */
.wp-block-separator,
hr.wp-block-separator {
  border: none !important;
  height: 2px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(179, 139, 0, 0.2) 15%,
    rgba(179, 139, 0, 0.5) 50%,
    rgba(179, 139, 0, 0.2) 85%,
    transparent 100%) !important;
  opacity: 1;
  margin-top: var(--wp--preset--spacing--70, 3rem) !important;
  margin-bottom: var(--wp--preset--spacing--70, 3rem) !important;
}

/* 幅広スタイルのとき */
.wp-block-separator.is-style-wide,
hr.wp-block-separator.is-style-wide {
  height: 2px !important;
}

/* ドットスタイルのとき（オプション） */
.wp-block-separator.is-style-dots,
hr.wp-block-separator.is-style-dots {
  background: none !important;
  border: none !important;
  height: auto !important;
  line-height: 1;
  text-align: center;
}

.wp-block-separator.is-style-dots::before,
hr.wp-block-separator.is-style-dots::before {
  content: "◆";
  color: rgba(179, 139, 0, 0.4);
  font-size: 0.5em;
  letter-spacing: 1em;
}

/* ===== 目次に戻るボタン ===== */
.entry-content a[href="#top"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35em !important;
  margin-top: 2em !important;
  padding: 0.6em 1.3em !important;
  background: linear-gradient(135deg, #f8f6f1 0%, #f0ebe3 100%) !important;
  color: #5a5248 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  border: 1px solid rgba(179, 139, 0, 0.2) !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.25s ease !important;
}

.entry-content a[href="#top"]:hover {
  background: linear-gradient(135deg, #f0ebe3 0%, #e8e2d8 100%) !important;
  border-color: rgba(179, 139, 0, 0.4) !important;
  color: #3a3a3a !important;
  box-shadow: 0 4px 12px rgba(179, 139, 0, 0.12) !important;
}

/* ===== 本文の両端揃え ===== */
.entry-content p,
.entry-content li {
  text-align: justify;
  text-justify: inter-character; /* 日本語の均等割り（対応ブラウザ） */
}
