/* ═══════════════════════════════════════════════════════════════
   HACKLETTER - GIGOOO INSPIRED THEME
   Clean. Minimal. Light gray background.
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --bg: #eeeeee;
  --bg-card: #ffffff;
  --text: #2d2d2d;
  --text-light: #666666;
  --text-lighter: #999999;
  --accent: #e85a35;
  --border: #dddddd;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px;
  line-height: 1.7;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* ═══ LAYOUT ═══ */
.site-content,
.content-area,
.container,
.grid-container {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 60px 30px !important;
}

/* ═══ HEADER ═══ */
.site-header,
header {
  background: var(--bg) !important;
  padding: 40px 30px !important;
  text-align: center;
  border: none !important;
}

.site-logo img,
.header-image,
.custom-logo,
img.is-logo-image {
  display: none !important;
}

.site-branding {
  display: block !important;
}

/* 重複ロゴを非表示 */
.main-title,
.site-branding .main-title {
  display: none !important;
}

/* ═══ NAVIGATION ═══ */
.main-navigation,
nav {
  background: transparent !important;
  margin-top: 30px;
}

.main-navigation ul,
.menu {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
  list-style: none !important;
  padding: 0 !important;
}

.main-navigation a,
.menu a,
nav a {
  color: var(--text) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.main-navigation a:hover,
.menu a:hover {
  color: var(--accent) !important;
}

/* ═══ MAIN CONTENT ═══ */
.site-main {
  padding: 20px 0 !important;
}

/* ═══ ARTICLE CARDS ═══ */
article,
.post,
.hentry {
  background: var(--bg-card) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 40px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

article:hover,
.post:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}

/* ═══ ENTRY TITLE ═══ */
.entry-title,
.post-title,
h1, h2, h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  line-height: 1.3 !important;
  margin-bottom: 15px !important;
}

.entry-title,
h1 {
  font-size: 28px !important;
}

/* タイトル表示制限 - 最大2行 */
.entry-title,
.entry-title a,
.post-title,
.post-title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: 2.6em !important;
  word-break: break-word !important;
}

h2 {
  font-size: 22px !important;
}

h3 {
  font-size: 18px !important;
}

.entry-title a,
.post-title a {
  color: var(--text) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.entry-title a:hover,
.post-title a:hover {
  color: var(--accent) !important;
}

/* ═══ ENTRY META ═══ */
.entry-meta,
.post-meta {
  font-size: 13px !important;
  color: var(--text-lighter) !important;
  margin-bottom: 20px !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* ═══ ENTRY CONTENT ═══ */
.entry-content,
.entry-summary {
  color: var(--text-light) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* ═══ TAGS ═══ */
.cat-links a,
.tag-links a {
  display: inline-block;
  background: var(--bg) !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  margin-right: 8px !important;
  margin-bottom: 8px !important;
  color: var(--text-light) !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}

.cat-links a:hover,
.tag-links a:hover {
  background: var(--text) !important;
  color: #fff !important;
}

/* ═══ READ MORE ═══ */
.read-more,
.more-link {
  display: inline-block !important;
  background: var(--text) !important;
  color: #fff !important;
  padding: 12px 28px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  margin-top: 20px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}

.read-more:hover,
.more-link:hover {
  background: var(--accent) !important;
  transform: translateY(-2px);
}

/* ═══ FEATURED IMAGE ═══ */
.post-image,
.wp-post-image {
  width: 100% !important;
  height: auto !important;
  border-radius: 6px !important;
  margin-bottom: 25px !important;
}

/* ═══ SIDEBAR - HIDE ═══ */
.sidebar,
.widget-area,
aside {
  display: none !important;
}

.site-content .content-area {
  width: 100% !important;
}

/* ═══ FOOTER ═══ */
.site-footer,
footer {
  background: var(--bg) !important;
  padding: 60px 30px !important;
  text-align: center !important;
  font-size: 13px !important;
  color: var(--text-lighter) !important;
  border: none !important;
}

/* ═══ LINKS ═══ */
a {
  color: var(--accent) !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease;
}

a:hover {
  opacity: 0.8;
}

/* ═══ CODE ═══ */
pre, code {
  font-family: 'JetBrains Mono', monospace !important;
  background: var(--text) !important;
  color: #fff !important;
  border-radius: 4px;
}

code {
  padding: 2px 8px;
  font-size: 13px;
}

pre {
  padding: 25px !important;
  overflow-x: auto;
  margin: 25px 0 !important;
  border-radius: 8px !important;
}

/* ═══ BUTTONS ═══ */
button,
input[type="submit"],
.button {
  background: var(--text) !important;
  border: none !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  border-radius: 6px !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

button:hover,
input[type="submit"]:hover {
  background: var(--accent) !important;
}

/* ═══ FORMS ═══ */
input[type="text"],
input[type="email"],
input[type="search"],
textarea {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'Inter', sans-serif !important;
  padding: 14px 18px !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  width: 100%;
  transition: border-color 0.2s ease;
}

input:focus,
textarea:focus {
  border-color: var(--text) !important;
  outline: none;
}

/* ═══ PAGINATION ═══ */
.pagination,
.nav-links {
  text-align: center !important;
  margin: 50px 0 !important;
}

.pagination a,
.page-numbers {
  display: inline-block !important;
  background: var(--bg-card) !important;
  padding: 12px 18px !important;
  margin: 0 5px !important;
  color: var(--text) !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease;
}

.pagination a:hover {
  background: var(--text) !important;
  color: #fff !important;
}

/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar {
  width: 8px;
  background: var(--bg);
}

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

/* ═══ SELECTION ═══ */
::selection {
  background: var(--accent);
  color: #fff;
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 768px) {
  .site-header {
    padding: 30px 20px !important;
  }
  
  article {
    padding: 25px !important;
    margin-bottom: 20px !important;
  }
  
  .entry-title, h1 {
    font-size: 22px !important;
  }
  
  .main-navigation ul {
    gap: 20px !important;
  }
  
  .site-content,
  .container {
    padding: 30px 20px !important;
  }
}

/* ═══ HIDE UNNECESSARY ═══ */
.site-description,
.footer-widgets,
.comments-area,
.author-box {
  display: none !important;
}
