/*
Theme Name: Claudeish
Theme URI: https://all-fox.com/
Author: All Fox
Description: Minimal text-only theme. Warm paper background, serif headings, no images. Post list, search, categories.
Version: 1.3.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: claudeish
Tags: blog, minimal, one-column, custom-menu, translation-ready
Requires at least: 5.9
Requires PHP: 7.4
*/

:root {
  --paper: #FAF9F5;
  --paper-2: #F0EEE6;
  --ink: #141413;
  --ink-2: #2B2A26;
  --ink-3: #54524C;
  --ink-4: #8C8A82;
  --line: #E5E3DC;
  --clay: #D97757;
  --clay-dark: #C2613F;
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --measure: 68ch;
  --wrap: 760px;
}

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

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink-2);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }

a { color: var(--clay); text-decoration: none; }
a:hover { color: var(--clay-dark); text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.25;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 0 0 0.5em;
}

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--ink); color: var(--paper);
  padding: 10px 16px; z-index: 100;
}
.skip-link:focus { left: 0; }

/* ---------- header ---------- */

.site-header { border-bottom: 1px solid var(--line); }

.header-top {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 20px; padding: 20px 0 16px;
}

.site-title { font-family: var(--serif); font-size: 21px; font-weight: 500; margin: 0; }
.site-title a { color: var(--ink); }
.site-title a:hover { color: var(--clay); text-decoration: none; }
.site-tagline { font-size: 13px; color: var(--ink-4); margin: 2px 0 0; }

.search-toggle {
  background: none; border: 1px solid var(--line); border-radius: 8px;
  color: var(--ink-3); font-family: var(--sans); font-size: 14px;
  padding: 7px 14px; cursor: pointer; line-height: 1.2; white-space: nowrap;
}
.search-toggle:hover { background: var(--paper-2); color: var(--ink); }

.search-panel { display: none; padding: 0 0 18px; }
.search-panel.open { display: block; }

.search-form { display: flex; gap: 8px; }
.search-form input[type="search"] {
  flex: 1; min-width: 0;
  background: #fff; border: 1px solid var(--line); border-radius: 8px;
  color: var(--ink); font-family: var(--sans); font-size: 15px;
  padding: 9px 13px;
}
.search-form input[type="search"]:focus {
  outline: none; border-color: var(--clay);
  box-shadow: 0 0 0 3px rgba(217, 119, 87, 0.14);
}
.search-form button {
  background: var(--ink); border: 1px solid var(--ink); border-radius: 8px;
  color: var(--paper); font-family: var(--sans); font-size: 14px;
  padding: 9px 18px; cursor: pointer;
}
.search-form button:hover { background: var(--ink-3); border-color: var(--ink-3); }

.cat-nav { padding: 0 0 16px; }
.cat-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.cat-nav a {
  font-size: 13px; color: var(--ink-3); letter-spacing: 0.02em;
  padding-bottom: 2px; border-bottom: 1px solid transparent;
}
.cat-nav a:hover { color: var(--ink); text-decoration: none; border-bottom-color: var(--clay); }
.cat-nav .current-cat > a,
.cat-nav .current-menu-item > a { color: var(--ink); border-bottom-color: var(--clay); }

/* ---------- listing ---------- */

.page-heading { padding: 34px 0 6px; }
.page-heading h1 { font-size: 26px; margin: 0; }
.page-heading p { font-size: 14px; color: var(--ink-4); margin: 6px 0 0; }

.post-list { padding: 12px 0 0; }

.post-item { padding: 26px 0; border-bottom: 1px solid var(--line); }
.post-item:first-child { padding-top: 20px; }

.eyebrow {
  font-size: 12px; color: var(--clay); letter-spacing: 0.06em;
  text-transform: uppercase; margin-bottom: 8px;
}
.eyebrow a { color: var(--clay); }

.post-item h2 { font-size: 22px; margin: 0 0 8px; }
.post-item h2 a { color: var(--ink); }
.post-item h2 a:hover { color: var(--clay); text-decoration: none; }

.post-item .excerpt { font-size: 15px; line-height: 1.65; color: var(--ink-3); margin: 0; max-width: 62ch; }

.meta { font-size: 13px; color: var(--ink-4); margin-top: 11px; }
.meta a { color: var(--ink-4); }
.meta a:hover { color: var(--ink-3); }

/* ---------- single ---------- */

.single-header { padding: 40px 0 0; }
.single-header h1 { font-size: 32px; line-height: 1.22; margin: 0 0 12px; }
.single-header .meta { margin-bottom: 0; }

.entry-content {
  max-width: var(--measure);
  padding: 26px 0 40px;
  font-size: 17px; line-height: 1.75; color: var(--ink-2);
}
.entry-content p { margin: 0 0 1.3em; }
.entry-content h2 { font-size: 22px; margin: 2rem 0 0.6rem; }
.entry-content h3 { font-size: 18px; margin: 1.6rem 0 0.5rem; }
.entry-content ul, .entry-content ol { margin: 0 0 1.3em; padding-left: 1.4em; }
.entry-content li { margin-bottom: 0.4em; }
.entry-content strong { font-weight: 500; color: var(--ink); }
.entry-content img, .entry-content figure, .entry-content iframe { display: none; }
.entry-content blockquote {
  border-left: 2px solid var(--clay); margin: 1.5em 0; padding: 0 0 0 1.25rem;
  color: var(--ink-3); font-style: normal;
}
.entry-content code {
  font-family: var(--mono); background: var(--paper-2);
  border-radius: 4px; padding: 2px 5px; font-size: 0.9em;
}
.entry-content pre {
  font-family: var(--mono); background: var(--paper-2);
  border: 1px solid var(--line); border-radius: 8px;
  padding: 1rem; overflow-x: auto; font-size: 14px; line-height: 1.6;
}
.entry-content pre code { background: none; padding: 0; }
.entry-content table { border-collapse: collapse; width: 100%; margin: 0 0 1.3em; font-size: 15px; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }
.entry-content th { background: var(--paper-2); font-weight: 500; color: var(--ink); }

.entry-tags { border-top: 1px solid var(--line); padding: 18px 0; font-size: 13px; color: var(--ink-4); }
.entry-tags a { color: var(--ink-3); }

.post-nav {
  display: flex; gap: 24px; justify-content: space-between;
  border-top: 1px solid var(--line); padding: 22px 0 40px;
}
.post-nav div { flex: 1; min-width: 0; }
.post-nav .nav-next { text-align: right; }
.post-nav span { display: block; font-size: 12px; color: var(--ink-4); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 5px; }
.post-nav a { font-family: var(--serif); font-size: 16px; color: var(--ink); line-height: 1.35; }
.post-nav a:hover { color: var(--clay); text-decoration: none; }

/* ---------- pagination ---------- */

.pagination { padding: 30px 0 44px; font-size: 14px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pagination .page-numbers {
  display: inline-block; min-width: 36px; text-align: center;
  border: 1px solid var(--line); border-radius: 8px;
  padding: 6px 11px; color: var(--ink-3);
}
.pagination .page-numbers:hover { background: var(--paper-2); color: var(--ink); text-decoration: none; }
.pagination .page-numbers.current { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.pagination .page-numbers.dots { border-color: transparent; }

/* ---------- misc ---------- */

.notice { padding: 40px 0 60px; color: var(--ink-3); }
.notice h1 { font-size: 26px; }

.site-footer {
  border-top: 1px solid var(--line);
  padding: 22px 0 34px;
  font-size: 13px; color: var(--ink-4);
  display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between;
}
.site-footer a { color: var(--ink-4); }
.site-footer a:hover { color: var(--ink-3); }

@media (max-width: 600px) {
  .wrap { padding: 0 18px; }
  .single-header h1 { font-size: 26px; }
  .post-item h2 { font-size: 19px; }
  .entry-content { font-size: 16px; }
  .post-nav { flex-direction: column; gap: 18px; }
  .post-nav .nav-next { text-align: left; }
}

/* ---------- single: layout with side rail ---------- */

.wrap-wide { max-width: 1080px; }

.single-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 48px; }
.single-main { min-width: 0; }

.single-side { min-width: 0; padding-top: 46px; }
.side-sticky { position: sticky; top: 28px; }

.side-title {
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  color: var(--ink-4); letter-spacing: 0.07em; text-transform: uppercase;
  margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line);
}

.rp-list { list-style: none; margin: 0; padding: 0; }
.rp-list li { padding: 0 0 15px; margin-bottom: 15px; border-bottom: 1px solid var(--line); }
.rp-list li:last-child { border-bottom: 0; margin-bottom: 0; }
.rp-list a {
  display: block; font-family: var(--serif); font-size: 15px;
  line-height: 1.35; color: var(--ink);
}
.rp-list a:hover { color: var(--clay); text-decoration: none; }
.rp-date { display: block; font-size: 12px; color: var(--ink-4); margin-top: 5px; }

.read-next { border-top: 1px solid var(--line); padding: 30px 0 8px; margin-top: 14px; }
.rp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 30px; }
.rp-card .eyebrow { margin-bottom: 6px; }
.rp-card h3 { font-size: 17px; line-height: 1.3; margin: 0 0 6px; }
.rp-card h3 a { color: var(--ink); }
.rp-card h3 a:hover { color: var(--clay); text-decoration: none; }
.rp-card p { font-size: 14px; line-height: 1.55; color: var(--ink-3); margin: 0; }

@media (max-width: 900px) {
  .single-layout { grid-template-columns: 1fr; gap: 0; }
  .single-side { padding-top: 0; border-top: 1px solid var(--line); margin-top: 8px; padding-top: 24px; }
  .side-sticky { position: static; }
  .rp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rp-grid { grid-template-columns: 1fr; gap: 22px; }
}

.single-side .page-heading + .rp-list { margin-top: 0; }
.archive .single-side, .search .single-side { padding-top: 40px; }
.rp-cats a { font-family: var(--sans); font-size: 14px; }

.side-title-2 { margin-top: 28px; }
.home .side-sticky, .archive .side-sticky, .search .side-sticky { position: static; }
.home .single-side { padding-top: 32px; }

.entry-content video,
.entry-content audio,
.entry-content object,
.entry-content embed,
.entry-content .wp-video,
.entry-content .wp-block-video,
.entry-content .wp-block-embed,
.entry-content .video-js,
.entry-content .jwplayer,
.entry-content .mejs-container,
.entry-content .wp-playlist,
.entry-content noscript { display: none !important; }

.entry-content [class*="vjs-"],
.entry-content [id*="goog_"],
.entry-content .twitter-tweet,
.entry-content .video-container { display: none !important; }

.entry-content [class*="vjs-"],
.entry-content [id*="goog_"],
.entry-content .twitter-tweet,
.entry-content .video-container { display: none !important; }

.wrap { max-width: 1080px; }
.single-main .entry-content { max-width: 68ch; }
