/* WordPress へ組み込むための追加分。デザイン本体（styles.css・pages.css・form.css）は dist/feminine/ から取り込む。 */

/* 前のテーマ向けプラグイン（ExUnit）が差し込む「PAGE TOP」ボタン。フッターに BACK TO TOP があるので出さない */
#page_top, .page_top_btn { display: none !important; }

/* 管理バーが出ているとき、固定ヘッダーを下げる */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* ---------- 記事の一覧 ---------- */
.entry-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.entry-list li { border-bottom: 1px solid var(--line); }
.entry-list a { display: flex; align-items: center; gap: 22px; padding: 24px 6px; font-size: 1rem; line-height: 1.9; }
.entry-list a:hover { background: #f9f0f4; }
.entry-list time { flex-shrink: 0; font-family: var(--serif); font-size: 1.05rem; color: var(--muted); letter-spacing: .04em; }
.entry-list strong { font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.entry-list i { margin-left: auto; }
.entry-cat { flex-shrink: 0; font-size: .75rem; line-height: 1.6; padding: 5px 12px; border: 1px solid var(--line); border-radius: 25px; color: #89546c; background: #f7ebf0; }
.entry-empty { font-size: 1rem; }
.entry-section .pagination { margin-top: 34px; }
.entry-section .nav-links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.entry-section .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 30px; font-size: .875rem; background: #fffdfd; }
.entry-section .page-numbers.current { color: #fff; background: var(--rose); border-color: var(--rose); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* ---------- 記事の詳細 ---------- */
.entry-hero h1 { font-size: clamp(1.5rem,2.2vw,2.2rem); }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-size: .875rem; color: var(--muted); }
.entry-meta time { font-family: var(--serif); font-size: 1.05rem; letter-spacing: .04em; }
.entry-content { max-width: 820px; margin: 0 auto; font-size: 1rem; line-height: 2.1; overflow-wrap: anywhere; }
.entry-content > * { margin-top: 0; margin-bottom: 1.6em; }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content h2 { font-family: 'Noto Serif JP',serif; font-size: 1.6rem; font-weight: 500; line-height: 1.8; margin-top: 2.2em; padding-bottom: .5em; border-bottom: 1px solid var(--line); }
.entry-content h3 { font-family: 'Noto Serif JP',serif; font-size: 1.3rem; font-weight: 500; line-height: 1.8; margin-top: 2em; }
.entry-content h4 { font-size: 1.05rem; font-weight: 600; line-height: 1.8; margin-top: 1.8em; }
.entry-content a { color: var(--rose); text-decoration: underline; text-underline-offset: 4px; }
.entry-content img { display: inline-block; width: auto; max-width: 100%; height: auto; }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content figcaption { font-size: .8125rem; color: var(--muted); line-height: 1.8; margin-top: 8px; }
.entry-content ul, .entry-content ol { padding-left: 1.5em; }
.entry-content li { line-height: 2; }
.entry-content blockquote { margin-left: 0; margin-right: 0; padding: 20px 24px; border-left: 2px solid #cba6b7; background: #f8eff3; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 12px 14px; text-align: left; vertical-align: top; line-height: 1.8; }
.entry-content th { background: #f8eff3; font-weight: 500; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content iframe { max-width: 100%; }
.entry-back { display: flex; width: fit-content; margin: 46px auto 0; }

@media (max-width: 800px) {
  .entry-list a { flex-wrap: wrap; gap: 6px 14px; padding: 20px 2px; }
  .entry-list strong { width: 100%; }
  .entry-list i { display: none; }
  .entry-content h2 { font-size: 1.35rem; }
  .entry-content h3 { font-size: 1.15rem; }
}

/* ---------- お問い合わせフォーム：送信まわり ---------- */
.cco-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.send-status { margin-top: 26px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 10px; background: #fffdfd; font-size: .9375rem; line-height: 1.9; text-align: center; }
.send-error { margin-top: 26px; padding: 18px 20px; border: 1px solid #b66d84; border-radius: 10px; background: #fbebf0; color: #7a2a44; font-size: .9375rem; line-height: 1.9; }
.send-error:focus { outline: 2px solid var(--rose); outline-offset: 3px; }
.send-error ul { margin: 8px 0 0; padding-left: 18px; font-size: .875rem; }
.recaptcha-note { margin-top: 18px; font-size: .75rem; line-height: 1.9; color: var(--muted); text-align: center; }
.recaptcha-note a { text-decoration: underline; text-underline-offset: 3px; }
#contact-done .review-intro { margin-bottom: 0; }
.grecaptcha-badge { visibility: hidden; } /* 案内文をフォームの下に表示しているので、右下のバッジは隠す（Google が認めている表示方法） */
