/* 投稿ページ(お知らせ詳細)のレイアウトと、クラシックエディタ本文のスコープ */

.aplaza-post {
  /* 固定ヘッダーのスペース確保はここで一度だけ行う(二重加算しない) */
  padding: clamp(140px, 16vw, 200px) clamp(24px, 6vw, 104px) clamp(90px, 10vw, 140px);
}
.aplaza-post__inner { max-width: 880px; margin-inline: auto; }

/* 記事全体(日付・タイトル・本文)をヘッダーバーと同じ文法の白ボックスで包む */
.aplaza-post__article {
  background: var(--surface);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 28px -14px rgba(80, 79, 80, 0.35);
  padding: clamp(32px, 5vw, 64px);
}

.aplaza-post__head {
  padding-bottom: clamp(24px, 3vw, 36px);
  border-bottom: 1px solid var(--line);
}
.aplaza-post__title {
  font-family: "Zen Maru Gothic", var(--font-body);
  font-weight: 700;
  font-size: clamp(1.55rem, 3.2vw, 2.3rem);
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 0.5em;
  text-wrap: pretty;
}

.aplaza-post__back {
  margin-top: clamp(48px, 6vw, 72px);
  display: flex;
  justify-content: flex-end;
}
.aplaza-post__back a {
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.aplaza-post__back .aplaza-news__arrow { width: 34px; height: 34px; }
.aplaza-post__back a:hover .aplaza-news__arrow,
.aplaza-post__back a:focus-visible .aplaza-news__arrow {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  transform: translateX(4px);
}
.aplaza-post__back a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ── クラシックエディタ本文スコープ(規約第8.8章)。要素セレクタはこの中に限定する ── */
.aplaza-entry-content {
  margin-top: clamp(28px, 3.5vw, 40px);
  font-size: clamp(0.95rem, 1.25vw, 1.05rem);
  line-height: 2.4;
  overflow-wrap: break-word;
}
.aplaza-entry-content > * + * { margin-block-start: 1.4em; }

.aplaza-entry-content h2 {
  font-family: "Zen Maru Gothic", var(--font-body);
  font-weight: 700;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-block-start: 2.4em;
}
.aplaza-entry-content h3 {
  font-family: "Zen Maru Gothic", var(--font-body);
  font-weight: 700;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.8;
  margin-block-start: 2em;
}

.aplaza-entry-content a {
  color: var(--accent-deep);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.aplaza-entry-content a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.aplaza-entry-content ul,
.aplaza-entry-content ol { padding-inline-start: 1.5em; }
.aplaza-entry-content li + li { margin-block-start: 0.4em; }

.aplaza-entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.aplaza-entry-content blockquote {
  border-inline-start: 3px solid var(--line);
  padding-inline-start: 1.2em;
  color: var(--ink-soft);
}

.aplaza-entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92em;
}
.aplaza-entry-content th,
.aplaza-entry-content td {
  border: 1px solid var(--line);
  padding: 0.6em 0.9em;
  text-align: left;
}
.aplaza-entry-content th { background: var(--ground); font-weight: 700; }

/* WordPress標準の配置クラス(本文スコープ内のみ) */
.aplaza-entry-content .alignleft { float: left; margin: 0.4em 1.4em 1em 0; }
.aplaza-entry-content .alignright { float: right; margin: 0.4em 0 1em 1.4em; }
.aplaza-entry-content .aligncenter { margin-inline: auto; }
.aplaza-entry-content .wp-caption { max-width: 100%; }
.aplaza-entry-content .wp-caption-text {
  font-size: 0.8rem;
  color: var(--ink-soft);
  margin-top: 0.6em;
}
