/*
Theme Name: Cocoon Child
Template: cocoon-master
Version: 1.0.0
Description: SAKUERA専用のCocoon子テーマ。
*/

:root {
  --sakuera-bg: #faf7f2;
  --sakuera-surface: #ffffff;
  --sakuera-text: #343434;
  --sakuera-muted: #6f6b66;
  --sakuera-primary: #17324d;
  --sakuera-primary-hover: #244764;
  --sakuera-accent: #dfa3ad;
  --sakuera-border: #ded9d2;
  --sakuera-success: #6f9a7b;
  --sakuera-error: #b86b6b;
  --sakuera-radius-button: 8px;
  --sakuera-radius-card: 12px;
  --sakuera-shadow: 0 4px 16px rgba(23, 50, 77, 0.06);
  --sakuera-content: 1200px;
  --sakuera-reading: 720px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--sakuera-bg);
  color: var(--sakuera-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

a {
  color: var(--sakuera-primary);
  text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--sakuera-primary);
  outline-offset: 3px;
}

.sakuera-container {
  width: min(calc(100% - 40px), var(--sakuera-content));
  margin-inline: auto;
}

.sakuera-reading-width {
  width: min(100%, var(--sakuera-reading));
  margin-inline: auto;
}

.sakuera-button,
.entry-content .sakuera-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: var(--sakuera-radius-button);
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.entry-content .sakuera-button,
.sakuera-button--primary {
  background: var(--sakuera-primary);
  color: #fff;
}

.entry-content .sakuera-button:hover,
.sakuera-button--primary:hover {
  background: var(--sakuera-primary-hover);
  color: #fff;
}

.sakuera-button:active {
  transform: scale(0.95);
}

.sakuera-card {
  border: 1px solid var(--sakuera-border);
  border-radius: var(--sakuera-radius-card);
  background: var(--sakuera-surface);
  box-shadow: var(--sakuera-shadow);
  padding: 24px;
}

/* SAKUERA: Cocoon default noise reduction */
.sidebar,
#sidebar,
.sns-share,
.sns-follow,
.author-box,
.related-entries,
.footer-meta,
.post-author,
.copy-info,
.under-entry-content,
.pager-post-navi,
.go-to-top-button,
.footer-bottom .source-org,
.footer-bottom .theme-by,
.admin-panel,
.admin-pv,
.admin-responsive {
  display: none !important;
}

.content-in,
.main-and-sidebar,
.content {
  display: block !important;
}

.main,
.content .main {
  width: min(100%, 920px) !important;
  margin-inline: auto !important;
  float: none !important;
}

.entry-content,
.article {
  color: var(--sakuera-text);
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  background: var(--sakuera-surface);
}

.entry-content th,
.entry-content td {
  border: 1px solid var(--sakuera-border);
  padding: 12px;
  vertical-align: top;
}

.entry-content th {
  background: #f7f2ec;
}

.entry-content small {
  color: var(--sakuera-muted);
}

@media (min-width: 768px) {
  body { font-size: 18px; }
  .sakuera-container { width: min(calc(100% - 64px), var(--sakuera-content)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}
