@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/* ============================================
   浄化茶房 — からだとこころを、ととのえる
   Premium Wellness Media Design
   ============================================ */

/* --- Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;900&family=Zen+Old+Mincho:wght@400;700;900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

/* --- CSS Variables --- */
:root {
  --c-bg: #f7f5f0;
  --c-bg-warm: #f2efe8;
  --c-card: #ffffff;
  --c-primary: #3a5a40;
  --c-primary-light: #588157;
  --c-primary-pale: #a3b18a;
  --c-primary-dark: #2b4430;
  --c-accent: #b08d57;
  --c-accent-light: #d4b483;
  --c-accent-glow: rgba(176,141,87,.15);
  --c-cosmic: #1a1b2e;
  --c-cosmic-mid: #252a3a;
  --c-text: #1a1a1a;
  --c-text-sub: #555;
  --c-text-muted: #999;
  --c-border: #e5e0d5;
  --c-border-light: #f0ece4;
  --shadow-xs: 0 1px 2px rgba(0,0,0,.04);
  --shadow-sm: 0 1px 4px rgba(0,0,0,.05), 0 2px 8px rgba(0,0,0,.03);
  --shadow-md: 0 4px 20px rgba(0,0,0,.06);
  --shadow-lg: 0 8px 40px rgba(0,0,0,.08);
  --shadow-hover: 0 12px 48px rgba(0,0,0,.1);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --font-sans: 'Noto Sans JP', -apple-system, 'Hiragino Sans', sans-serif;
  --font-mincho: 'Shippori Mincho', 'Zen Old Mincho', 'Noto Serif JP', serif;
  --ease: cubic-bezier(.4, 0, .2, 1);
  --max-w: 1160px;
}

/* === GLOBAL === */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: var(--font-sans) !important;
  background: var(--c-bg) !important;
  color: var(--c-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .03em;
  line-height: 1.8 !important;
}

/* === HEADER === */
.header-container,
.header {
  background: url('https://neith-tea.com/blog/wp-content/uploads/2026/03/header_bg_candidate3.jpg') center/cover no-repeat !important;
  position: relative;
  overflow: hidden;
}

/* Dark overlay for text readability */
.header-container::before,
.header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(17,20,34,.82) 0%, rgba(28,35,51,.75) 30%, rgba(38,48,64,.7) 60%, rgba(47,64,56,.75) 100%);
  pointer-events: none;
  z-index: 0;
}

/* Ambient glow — gold accent */
.header-container::after {
  content: '';
  position: absolute;
  top: -120px;
  right: -80px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(176,141,87,.15) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.header .header-in {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 56px 20px 20px !important;
  position: relative;
  z-index: 1;
  text-align: center;
}

/* Remove default Cocoon logo decorations */
.header .header-in .logo-header::before {
  content: none !important;
  display: none !important;
}

/* Site title — 明朝体で高級感 */
.site-name-text,
.logo-header .site-name-text {
  color: #fff !important;
  font-family: var(--font-mincho) !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  letter-spacing: .2em;
  display: inline-block;
  text-shadow: none;
  position: relative;
}

/* Gold thin line under title */
.site-name-text::after {
  content: '';
  display: block;
  width: 44px;
  height: 1px;
  background: var(--c-accent);
  margin: 16px auto 0;
  opacity: .7;
}

/* Subtitle — ととのえる */
.logo-header::after {
  content: 'からだとこころを、ととのえる';
  display: block;
  color: rgba(255,255,255,.35);
  font-family: var(--font-sans) !important;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .35em;
  margin-top: 14px;
}

/* Logo link */
.logo-header a {
  color: #fff !important;
  text-decoration: none !important;
}

/* Tagline pill (if exists) */
.tagline {
  display: none !important;
}

/* === NAVIGATION === */
#navi {
  background: rgba(255,255,255,.04) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: none !important;
}

#navi .navi-in {
  max-width: var(--max-w);
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

/* Fix: hide duplicate mobile nav on desktop */
#navi .navi-in > ul:nth-of-type(n+2) {
  display: none !important;
}

#navi .navi-in ul {
  display: flex !important;
  align-items: center;
  gap: 0;
  list-style: none !important;
  margin: 0;
  padding: 0;
}

#navi .navi-in li {
  list-style: none !important;
  position: relative;
}

#navi .navi-in a {
  color: rgba(255,255,255,.65) !important;
  font-size: 12.5px !important;
  font-weight: 400;
  letter-spacing: .08em;
  padding: 16px 20px !important;
  transition: color .3s var(--ease);
  display: block;
  position: relative;
  text-decoration: none !important;
}

#navi .navi-in a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--c-accent);
  transition: all .3s var(--ease);
  transform: translateX(-50%);
}

#navi .navi-in a:hover {
  color: rgba(255,255,255,.95) !important;
  background: transparent !important;
}

#navi .navi-in a:hover::after {
  width: 100%;
}

#navi .current-menu-item > a {
  color: rgba(255,255,255,.95) !important;
}

#navi .current-menu-item > a::after {
  width: 100%;
}

/* CTA button — last menu item (公式ストア) */
#navi .navi-in li:last-child a {
  background: transparent !important;
  color: var(--c-accent-light) !important;
  font-weight: 500;
  border: 1px solid rgba(176,141,87,.35);
  border-radius: 4px;
  padding: 8px 20px !important;
  margin: 8px 0 8px 12px;
  transition: all .3s var(--ease);
}

#navi .navi-in li:last-child a::after {
  display: none;
}

#navi .navi-in li:last-child a:hover {
  background: rgba(176,141,87,.12) !important;
  border-color: rgba(176,141,87,.5);
  color: #fff !important;
}

/* === MAIN CONTENT === */
.content-in.wrap {
  max-width: var(--max-w) !important;
  margin: 0 auto;
  padding: 48px 20px !important;
}

#content {
  background: transparent !important;
}

#main {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* === CARD GRID === */
#list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.entry-card-wrap {
  display: block !important;
  background: var(--c-card) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  box-shadow: var(--shadow-xs) !important;
  border: 1px solid var(--c-border-light) !important;
  transition: all .4s var(--ease) !important;
  text-decoration: none !important;
}

.entry-card-wrap:hover {
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-6px);
  border-color: transparent !important;
}

/* Card layout */
.entry-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}

/* Card thumbnail */
.entry-card-thumb {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}

.entry-card-thumb-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .6s var(--ease) !important;
}

.entry-card-wrap:hover .entry-card-thumb-image {
  transform: scale(1.04);
}

/* Category badge */
.cat-label {
  background: rgba(26,26,26,.7) !important;
  backdrop-filter: blur(8px);
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .1em;
  padding: 4px 12px !important;
  border-radius: 3px !important;
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  border: none !important;
}

/* Card content */
.entry-card-content {
  margin-left: 0 !important;
  padding: 22px 24px 24px !important;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Card title */
.entry-card-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  color: var(--c-text) !important;
  margin-bottom: 10px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .3s var(--ease);
}

.entry-card-wrap:hover .entry-card-title {
  color: var(--c-primary) !important;
}

/* Card snippet */
.entry-card-snippet {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: var(--c-text-sub) !important;
  margin-bottom: 16px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

/* Card meta */
.entry-card-meta {
  font-size: 11px !important;
  color: var(--c-text-muted) !important;
  padding-top: 14px;
  border-top: 1px solid var(--c-border-light);
  margin-top: auto;
}

.entry-card-meta .entry-category {
  display: none !important;
}

/* === HERO CARD (First card) === */
#list .entry-card-wrap:first-child {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr;
  border-radius: var(--radius-lg) !important;
  background: var(--c-card) !important;
}

#list .entry-card-wrap:first-child .entry-card {
  display: contents !important;
}

#list .entry-card-wrap:first-child .entry-card-thumb {
  aspect-ratio: auto;
  min-height: 340px;
  border-radius: var(--radius-lg) 0 0 var(--radius-lg) !important;
}

#list .entry-card-wrap:first-child .entry-card-content {
  padding: 40px 36px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#list .entry-card-wrap:first-child .entry-card-title {
  font-size: 21px !important;
  font-weight: 700 !important;
  font-family: var(--font-mincho) !important;
  -webkit-line-clamp: 3;
  margin-bottom: 16px !important;
  line-height: 1.7 !important;
}

#list .entry-card-wrap:first-child .entry-card-snippet {
  font-size: 14px !important;
  -webkit-line-clamp: 3;
  line-height: 1.8 !important;
}

#list .entry-card-wrap:first-child .cat-label {
  font-size: 11px !important;
  padding: 5px 14px !important;
  background: rgba(58,90,64,.85) !important;
}

/* === SIDEBAR === */
#sidebar {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

.widget-sidebar {
  background: var(--c-card) !important;
  border-radius: var(--radius-md) !important;
  padding: 28px !important;
  margin-bottom: 24px !important;
  box-shadow: var(--shadow-xs) !important;
  border: 1px solid var(--c-border-light) !important;
}

.widget-sidebar .widgettitle,
.widget-sidebar h2 {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--c-text) !important;
  letter-spacing: .08em;
  padding-bottom: 14px !important;
  margin-bottom: 18px !important;
  border-bottom: none !important;
  position: relative;
}

.widget-sidebar .widgettitle::after,
.widget-sidebar h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 2px;
  background: var(--c-accent);
}

/* Search widget */
.search-edit,
.search-box input[type="text"],
.search-box input[type="search"] {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  background: var(--c-bg) !important;
  transition: all .3s var(--ease);
  font-family: var(--font-sans) !important;
}

.search-edit:focus,
.search-box input:focus {
  border-color: var(--c-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(58,90,64,.08) !important;
}

.search-submit {
  background: var(--c-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 10px 18px !important;
  cursor: pointer;
  transition: all .3s var(--ease);
  font-weight: 500 !important;
}

.search-submit:hover {
  background: var(--c-primary-dark) !important;
}

/* Sidebar links */
.widget-sidebar a {
  color: var(--c-text) !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  transition: color .3s var(--ease);
}

.widget-sidebar a:hover {
  color: var(--c-primary) !important;
}

.widget-sidebar li {
  padding: 9px 0 !important;
  border-bottom: 1px solid var(--c-border-light);
  list-style: none !important;
}

.widget-sidebar li:last-child {
  border-bottom: none;
}

.widget-sidebar ul {
  padding-left: 0 !important;
  margin: 0 !important;
}

/* === FOOTER === */
#footer {
  background: #111422 !important;
  color: rgba(255,255,255,.5) !important;
  padding: 56px 20px 36px !important;
  margin-top: 80px;
  position: relative;
}

#footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 1px;
  background: var(--c-accent);
  opacity: .4;
}

.footer-bottom {
  max-width: var(--max-w);
  margin: 0 auto;
  text-align: center;
}

.footer-bottom-logo .site-name-text {
  font-family: var(--font-mincho) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.8) !important;
  letter-spacing: .15em;
}

.footer-bottom-logo .site-name-text::after {
  display: none;
}

.copyright {
  font-size: 11px !important;
  color: rgba(255,255,255,.25) !important;
  margin-top: 20px;
  letter-spacing: .05em;
}

#footer a {
  color: rgba(255,255,255,.5) !important;
  transition: color .3s var(--ease);
}

#footer a:hover {
  color: rgba(255,255,255,.8) !important;
}

/* === PAGINATION === */
.pagination-next-link,
.page-numbers {
  background: var(--c-card) !important;
  color: var(--c-text) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 24px !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  transition: all .3s var(--ease) !important;
}

.pagination-next-link:hover,
.page-numbers:hover {
  background: var(--c-primary) !important;
  color: #fff !important;
  border-color: var(--c-primary) !important;
}

.page-numbers.current {
  background: var(--c-primary) !important;
  color: #fff !important;
  border-color: var(--c-primary) !important;
}

/* === SINGLE POST === */
.article {
  background: var(--c-card) !important;
  border-radius: var(--radius-lg) !important;
  padding: 56px 52px !important;
  box-shadow: var(--shadow-sm) !important;
  border: 1px solid var(--c-border-light) !important;
}

.article h1.entry-title {
  font-family: var(--font-mincho) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: .02em;
  margin-bottom: 24px !important;
  color: var(--c-text) !important;
}

.article h2 {
  font-family: var(--font-mincho) !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: var(--c-text) !important;
  margin: 56px 0 24px !important;
  padding: 0 0 14px !important;
  background: none !important;
  border-left: none !important;
  border-bottom: 1px solid var(--c-border) !important;
  border-radius: 0 !important;
  position: relative;
}

.article h2::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 48px;
  height: 2px;
  background: var(--c-accent);
}

.article h3 {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--c-text) !important;
  margin: 40px 0 16px !important;
  padding: 0 0 0 16px !important;
  border-bottom: none !important;
  border-left: 2px solid var(--c-primary-pale) !important;
}

.article p {
  line-height: 2.1 !important;
  margin-bottom: 1.6em !important;
  color: #333 !important;
  font-size: 15.5px !important;
}

/* Eye-catch */
.eye-catch {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  margin-bottom: 36px !important;
}

.eye-catch img {
  border-radius: var(--radius-md) !important;
}

/* === BREADCRUMB === */
.breadcrumb {
  font-size: 11px !important;
  color: var(--c-text-muted) !important;
  padding: 14px 0 !important;
  margin-bottom: 24px !important;
}

.breadcrumb a {
  color: var(--c-text-sub) !important;
  text-decoration: none !important;
  transition: color .3s var(--ease);
}

.breadcrumb a:hover {
  color: var(--c-primary) !important;
}

/* === SCROLL TO TOP === */
.go-to-top-button,
#go-to-top .go-to-top-button {
  background: var(--c-cosmic) !important;
  color: rgba(255,255,255,.8) !important;
  border-radius: 6px !important;
  width: 44px !important;
  height: 44px !important;
  box-shadow: var(--shadow-md) !important;
  transition: all .3s var(--ease) !important;
  border: none !important;
  font-size: 12px !important;
}

.go-to-top-button:hover {
  background: var(--c-primary-dark) !important;
  transform: translateY(-2px);
}

/* === MOBILE FOOTER === */
.mobile-menu-buttons {
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-top: 1px solid var(--c-border-light) !important;
  box-shadow: 0 -2px 12px rgba(0,0,0,.04) !important;
}

.mobile-menu-buttons .menu-button-in {
  color: var(--c-text-sub) !important;
  font-size: 10px !important;
}

/* === LINKS === */
.entry-content a {
  color: var(--c-primary) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(58,90,64,.2);
  transition: all .3s var(--ease);
}

.entry-content a:hover {
  color: var(--c-primary-dark) !important;
  border-bottom-color: var(--c-primary);
}

/* === BLOCKQUOTE === */
.entry-content blockquote {
  background: var(--c-bg-warm) !important;
  border-left: 3px solid var(--c-accent) !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
  padding: 24px 28px !important;
  margin: 28px 0 !important;
  font-style: normal;
  color: var(--c-text-sub) !important;
}

/* === TOC === */
.toc {
  background: var(--c-bg-warm) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 28px 32px !important;
}

.toc-title {
  font-weight: 600 !important;
  color: var(--c-text) !important;
  font-size: 15px !important;
  letter-spacing: .04em;
}

.toc a {
  color: var(--c-text-sub) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  border-bottom: none !important;
}

.toc a:hover {
  color: var(--c-primary) !important;
}

/* === AMAZON CTA BUTTONS === */
.entry-content .wp-block-button__link,
.entry-content a.btn {
  background: linear-gradient(135deg, #e67e22, #f39c12) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 15px 36px !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  display: inline-block;
  box-shadow: 0 4px 16px rgba(230,126,34,.2);
  transition: all .3s var(--ease);
  letter-spacing: .04em;
  border-bottom: none !important;
}

.entry-content .wp-block-button__link:hover,
.entry-content a.btn:hover {
  background: linear-gradient(135deg, #d35400, #e67e22) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(230,126,34,.3);
}

/* Neith CTA block */
.entry-content .wp-block-group.has-background {
  border-radius: var(--radius-lg) !important;
  padding: 36px !important;
  margin: 48px 0 !important;
  border: 1px solid var(--c-border) !important;
  background: linear-gradient(135deg, var(--c-bg-warm), var(--c-bg)) !important;
}

/* === RELATED POSTS === */
.related-entries {
  margin-top: 56px;
}

.related-entry-card-wrap {
  background: var(--c-card) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--c-border-light) !important;
  overflow: hidden;
  transition: all .3s var(--ease);
}

.related-entry-card-wrap:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
}

/* === COMMENTS === */
.comment-area {
  background: var(--c-card) !important;
  border-radius: var(--radius-lg) !important;
  padding: 36px !important;
  margin-top: 36px !important;
  border: 1px solid var(--c-border-light) !important;
}

/* === SNS SHARE === */
.sns-share-buttons {
  gap: 8px;
}

.share-button {
  border-radius: var(--radius-sm) !important;
  transition: all .3s var(--ease) !important;
}

.share-button:hover {
  opacity: .85;
  transform: translateY(-1px);
}

/* === AUTHOR BOX === */
.author-box {
  background: var(--c-card) !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  border: 1px solid var(--c-border-light) !important;
  margin-top: 36px !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--c-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--c-border);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--c-text-muted);
}

/* === SELECTION === */
::selection {
  background: rgba(176,141,87,.15);
  color: var(--c-text);
}

/* === ANIMATIONS === */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.entry-card-wrap {
  animation: fadeInUp .5s var(--ease) both;
}

.entry-card-wrap:nth-child(1) { animation-delay: .05s; }
.entry-card-wrap:nth-child(2) { animation-delay: .1s; }
.entry-card-wrap:nth-child(3) { animation-delay: .15s; }
.entry-card-wrap:nth-child(4) { animation-delay: .2s; }
.entry-card-wrap:nth-child(5) { animation-delay: .25s; }
.entry-card-wrap:nth-child(6) { animation-delay: .3s; }

/* ============================================
   RESPONSIVE
   ============================================ */

/* Tablet */
@media screen and (max-width: 1023px) {
  #navi .navi-in a {
    padding: 14px 16px !important;
    font-size: 12px !important;
  }

  #navi .navi-in li:last-child a {
    padding: 7px 14px !important;
    font-size: 11px !important;
    margin-left: 8px;
  }

  #list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px;
  }

  #list .entry-card-wrap:first-child {
    grid-template-columns: 1fr;
  }

  #list .entry-card-wrap:first-child .entry-card-thumb {
    min-height: 240px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  }

  #list .entry-card-wrap:first-child .entry-card-title {
    font-size: 19px !important;
  }

  .article {
    padding: 36px !important;
  }
}

/* Mobile */
@media screen and (max-width: 834px) {
  .header .header-in {
    padding: 36px 16px 16px !important;
  }

  .site-name-text,
  .logo-header .site-name-text {
    font-size: 26px !important;
    letter-spacing: .15em;
  }

  .logo-header::after {
    font-size: 10px;
    letter-spacing: .25em;
    margin-top: 12px;
  }

  /* Mobile nav scroll */
  #navi .navi-in {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    padding: 0 12px;
    scrollbar-width: none;
  }

  #navi .navi-in::-webkit-scrollbar {
    display: none;
  }

  #navi .navi-in ul {
    flex-wrap: nowrap !important;
  }

  #navi .navi-in a {
    padding: 12px 14px !important;
    font-size: 12px !important;
    white-space: nowrap;
  }

  #navi .navi-in li:last-child a {
    padding: 6px 12px !important;
    font-size: 11px !important;
  }

  #list {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  #list .entry-card-wrap:first-child {
    grid-template-columns: 1fr;
  }

  #list .entry-card-wrap:first-child .entry-card-thumb {
    min-height: 200px;
    border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  }

  #list .entry-card-wrap:first-child .entry-card-title {
    font-size: 18px !important;
  }

  #list .entry-card-wrap:first-child .entry-card-content {
    padding: 24px 20px !important;
  }

  .entry-card-content {
    padding: 18px 20px 20px !important;
  }

  .entry-card-title {
    font-size: 14.5px !important;
  }

  .content-in.wrap {
    padding: 28px 14px !important;
  }

  .article {
    padding: 28px 20px !important;
    border-radius: var(--radius-md) !important;
  }

  .article h1.entry-title {
    font-size: 22px !important;
  }

  .article h2 {
    font-size: 18px !important;
    margin: 44px 0 20px !important;
  }

  .article p {
    font-size: 15px !important;
  }
}

/* Small mobile */
@media screen and (max-width: 480px) {
  .site-name-text,
  .logo-header .site-name-text {
    font-size: 22px !important;
    letter-spacing: .12em;
  }

  .logo-header::after {
    font-size: 9px;
    letter-spacing: .2em;
  }

  .entry-card-title {
    font-size: 14px !important;
  }

  .entry-card-snippet {
    display: none !important;
  }

  .entry-card-content {
    padding: 16px 16px 18px !important;
  }

  .article {
    padding: 24px 16px !important;
  }

  .article h1.entry-title {
    font-size: 20px !important;
  }

  .article h2 {
    font-size: 17px !important;
  }
}


/* ========================================

.pagination .page-numbers {
  display: inline-block !important;
}


/* ========================================
   全てのページネーション要素を横並びに統一
   ======================================== */
.pagination,
.wp-pagenavi,
nav[aria-label*="ページ"],
nav.navigation,
.nav-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  align-items: center !important;
}

.pagination .page-numbers,
.wp-pagenavi a,
.wp-pagenavi span,
.nav-links a,
.nav-links span,
.page-numbers {
  display: inline-block !important;
  margin: 0 !important;
}

/* 縦並びを強制的に防止 */
.pagination > *,
.wp-pagenavi > *,
.nav-links > * {
  display: inline-block !important;
}


/* ========================================

/* ページ番号ボタンを横並びに */
.pagination .page-numbers,
.pagination a,
.pagination span,
.wp-pagenavi a,
.wp-pagenavi span,
.nav-links a,
.nav-links span,
.page-numbers,
.pager a,
.pager span {
  display: inline-block !important;
  margin: 0 5px !important;
  float: none !important;
}

/* 縦並びを強制的に防止 */
.pagination > *,
.wp-pagenavi > *,
.nav-links > *,
.pager > * {
  display: inline-block !important;
  float: none !important;
}

/* フレックスボックスを強制 */
.pagination,
.wp-pagenavi,
.nav-links,
.pager {
  display: flex !important;
  flex-direction: row !important;
}

/* 全ての子要素を横並びに */
.pagination > *,
.wp-pagenavi > *,
.nav-links > *,
.pager > * {
  display: inline-flex !important;
  align-items: center !important;
}


/* ========================================
   ページネーション修正 v4 - Claude Code により自動追加
   開発者ツールで確認した実際のHTML構造に基づく修正
   ======================================== */

/* 最も優先度の高いセレクタで横並びを強制 */
div.pagination.flex,
div.pagination,
.pagination {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}

/* ページ番号ボタンを横並びに（より詳細なセレクタ） */
div.pagination.flex > span.page-numbers,
div.pagination.flex > a.page-numbers,
div.pagination > span.page-numbers,
div.pagination > a.page-numbers,
.pagination .page-numbers,
.pagination a,
.pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 5px !important;
  float: none !important;
}

/* wp-pagenaviにも適用 */
.wp-pagenavi,
nav.wp-pagenavi {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}

.wp-pagenavi > *,
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 5px !important;
  float: none !important;
}

/* その他のナビゲーション要素 */
.nav-links,
.pager,
.page-navigation {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}

.nav-links > *,
.pager > * {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 5px !important;
  float: none !important;
}

/* 縦並びを絶対に許さない */
.pagination > *,
.wp-pagenavi > *,
.nav-links > *,
.pager > * {
  display: inline-flex !important;
}

/* inline-blockのスタイルを上書き */
.pagination .page-numbers.current,
.pagination a.page-numbers,
.pagination span.page-numbers {
  display: inline-flex !important;
}
