/* WordPressの管理バーと本文を既存デザインになじませる。 */
.kth-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.kth-confirmation-values { display:grid; grid-template-columns:minmax(160px,1fr) 3fr; gap:16px 28px; margin:32px 0; text-align:left; }
.kth-confirmation-values dt { font-weight:700; }
.kth-confirmation-values dd { margin:0; overflow-wrap:anywhere; }
.kth-form-actions { display:flex; flex-wrap:wrap; gap:20px; justify-content:center; margin:32px 0; }
.kth-form-actions .pill { width:auto; min-width:220px; padding-inline:24px; }
.contact-panel button:disabled { opacity:.5; cursor:not-allowed; }
.contact-panel .form-error,.contact-panel .form-preview-note { padding:12px; overflow-wrap:anywhere; }
.kth-contact-result { text-align:center; margin:60px 0; }
.kth-contact-result p { margin-bottom:24px; }
.kth-word-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; width:min(1120px,90%); margin:32px auto 56px; }
/* 1日1語：Instagramの画像だけを正方形の枠に収めて並べる。画像は切り取らず、余白は淡い色で埋める。 */
.kth-word-card { min-width:0; background:#fff7f8; border:1px solid #f6dfe2; border-radius:16px; overflow:hidden; transition:box-shadow .3s ease; }
.kth-word-card a { display:block; }
.kth-word-card img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; transition:transform .3s ease; }
.kth-word-card a:focus-visible { outline-offset:-3px; }
.kth-word-card:has(a:focus-visible) { box-shadow:var(--detail-shadow); }
@media (hover:hover) and (pointer:fine) {
  .kth-word-card:hover { box-shadow:var(--detail-shadow); }
  .kth-word-card:hover img { transform:scale(1.025); }
}
@media (prefers-reduced-motion:reduce) { .kth-word-card, .kth-word-card img { transition:none; } .kth-word-card img { transform:none!important; } }
.member-caption { overflow-wrap:anywhere; }
@media(max-width:600px) {
  .kth-confirmation-values { grid-template-columns:1fr; gap:8px; }
  .kth-confirmation-values dd { margin-bottom:16px; }
  /* 左右の余白はほかのセクションと同じ24pxに揃え、1日1語のページでは説明文の幅に合わせる。 */
  .kth-word-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:calc(100% - var(--page-gutter) * 2); }
  .archive .kth-word-grid { width:100%; }
}
body.admin-bar { --kth-admin-height:32px; }
body.admin-bar .site-header { top:var(--kth-admin-height); }
@media(min-width:601px) { body.admin-bar .hero { --hero-art-height:min(59.0625vw,calc(100svh - var(--site-header-height) - var(--hero-bottom-gap) - var(--kth-admin-height))); } }
.kth-empty { padding:48px 24px; text-align:center; grid-column:1/-1; }
.kth-empty p { margin-bottom:24px; }
.kth-filters { align-items:center; gap:16px; flex-wrap:wrap; }
.kth-filters .pill { min-width:120px; }
.kth-pagination a,.kth-pagination span { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid #f1d9d9; border-radius:50%; padding:6px; }
.kth-pagination .current { background:var(--red); color:#fff; border-color:var(--red); }
.kth-pagination .dots { border:0; }
.interview-photo { display:block; }
.essay-photo { display:block; overflow:hidden; }
.essay-photo img { width:100%; height:100%; object-fit:cover; }
.essay-photo .image-placeholder { width:100%; height:100%; }
.interview-photo .image-placeholder { width:100%; aspect-ratio:1; border-radius:50%; }
.entry-content { max-width:900px; margin:40px auto; overflow-wrap:anywhere; line-height:2; }
.entry-content p { margin:0 0 1.5em; }
.entry-content h2 { font-size:clamp(22px,2.2vw,30px); margin:2em 0 1em; padding-bottom:12px; border-bottom:1px solid #f3bec4; }
.entry-content h3 { font-size:clamp(20px,1.8vw,25px); margin:1.6em 0 .7em; }
.entry-content a { text-decoration:underline; text-underline-offset:3px; }
.entry-content ul,.entry-content ol { padding-left:1.5em; margin:1.5em 0; }
.entry-content img { max-width:100%; height:auto; }
.entry-content figure { max-width:100%; margin:1.8em auto; }
.entry-content figcaption { font-size:.85em; color:#666; }
.entry-content iframe,.entry-content video { max-width:100%; }
.entry-content table { width:100%; border-collapse:collapse; }
.entry-content th,.entry-content td { border:1px solid #ddd; padding:12px; }
.entry-content blockquote { border-left:3px solid #f3bec4; padding:12px 24px; margin:24px 0; }
.entry-content .alignleft { float:left; margin:0 24px 16px 0; }
.entry-content .alignright { float:right; margin:0 0 16px 24px; }
.entry-content .aligncenter { display:block; margin-left:auto; margin-right:auto; }
.entry-content::after { content:""; display:block; clear:both; }
.entry-content .wp-block-columns { gap:24px; }
.entry-content .has-cocoon-white-background-color { background:#fff; }
.article-hero { max-width:1100px; margin-left:auto; margin-right:auto; aspect-ratio:auto; background:transparent; }
.article-hero img { width:100%; max-height:70vh; object-fit:contain; height:auto; }
.languages a { text-decoration:none; }
.languages a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.mobile-language-switcher { display:none; }
@media(max-width:900px) {
  .mobile-language-switcher { display:block; grid-column:1/-1; min-width:0; padding:12px 18px; }
  .main-nav .mobile-language-switcher .languages { display:flex; width:auto; max-width:240px; margin:auto; gap:18px; justify-content:center; }
  .main-nav .mobile-language-switcher a { padding:0; border:0; background:transparent; }
}
@media(max-width:782px) { body.admin-bar { --kth-admin-height:46px; } }
@media(max-width:600px) { body.admin-bar #wpadminbar { position:fixed; } .kth-filters select { width:100%; } .entry-content .alignleft,.entry-content .alignright { float:none; margin:16px auto; } }

/* 弧状の文字（SVG）は、弧の端で回転した文字が枠外に出ても切らない。 */
.kth-arc-text { overflow:visible; }
