/* Theme overrides that should load last (more reliable than editing style.css). */

/* Portfolio project cards */
.page-template-template-portfolio .project-card { background: #fff; }
.page-template-template-portfolio .project-title-row { display: flex; align-items: center; gap: 10px; }
.page-template-template-portfolio .project-title { margin: 0 0 0.25rem 0; }
.page-template-template-portfolio .project-link { color: #262626; font-weight: 400; }
.page-template-template-portfolio .project-link:hover { color: #ff6b6b; }
.page-template-template-portfolio .project-description { color: #262626; }
.page-template-template-portfolio .project-description p { color: inherit; }
.page-template-template-portfolio .project-summary p { margin-bottom: 0.4rem !important; }
.page-template-template-portfolio .project-readmore {
  display: inline-flex;
  align-items: center;
  margin-top: 0.5rem;
  padding: 6px 10px;
  color: #262626;
  background: #f3f3f3 !important;
  border: 2px solid #262626 !important;
  border-radius: 10px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.page-template-template-portfolio .project-readmore:hover {
  background: #ff6b6b;
  border-color: #ff6b6b;
  color: #fff;
  transform: translateY(-1px);
}
.page-template-template-portfolio .project-readmore::selection { background: #262626; color: #fff; }
.page-template-template-portfolio .project-readmore::-moz-selection { background: #262626; color: #fff; }
.page-template-template-portfolio .project-icon {
  width: 45px !important;
  height: 45px !important;
  max-width: 45px !important;
  max-height: 45px !important;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid #262626;
  background: #fff;
  display: block;
}
.page-template-template-portfolio .project-icon-link { display: inline-flex; flex: 0 0 45px; }

/* Project archive (/projects/) */
.post-type-archive-project .project-card { background: #fff; }
.post-type-archive-project .project-title-row { display: flex; align-items: center; gap: 10px; }
.post-type-archive-project .project-title { margin: 0 0 0.25rem 0; }
.post-type-archive-project .project-link { color: #262626; font-weight: 400; }
.post-type-archive-project .project-link:hover { color: #ff6b6b; }
.post-type-archive-project .project-description { color: #262626; }
.post-type-archive-project .project-description p { color: inherit; }
.post-type-archive-project .project-summary p { margin-bottom: 0.4rem !important; }
.post-type-archive-project .project-readmore {
  display: inline-flex;
  align-items: center;
  margin-top: 0.5rem;
  padding: 6px 10px;
  color: #262626;
  background: #f3f3f3 !important;
  border: 2px solid #262626 !important;
  border-radius: 10px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.post-type-archive-project .project-readmore:hover {
  background: #ff6b6b;
  border-color: #ff6b6b;
  color: #fff;
  transform: translateY(-1px);
}
.post-type-archive-project .project-readmore::selection { background: #262626; color: #fff; }
.post-type-archive-project .project-readmore::-moz-selection { background: #262626; color: #fff; }
.post-type-archive-project .project-icon {
  width: 45px !important;
  height: 45px !important;
  max-width: 45px !important;
  max-height: 45px !important;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid #262626;
  background: #fff;
  display: block;
}
.post-type-archive-project .project-icon-link { display: inline-flex; flex: 0 0 45px; }

/* Archive page template (blog archive page) */
.page-template-template-archive .archive-post,
.page-template-template-archive-php .archive-post {
  background: #fff;
  border: 2px solid #262626;
  border-radius: 10px;
  padding: 12px 14px;
  margin-top: 12px;
}
.page-template-template-archive .archive-post-title,
.page-template-template-archive-php .archive-post-title { margin: 0 0 0.35rem 0; }
.page-template-template-archive .archive-post-link,
.page-template-template-archive-php .archive-post-link { color: #262626; text-decoration: none; }
.page-template-template-archive .archive-post-link:hover,
.page-template-template-archive-php .archive-post-link:hover { color: #ff6b6b; }

/* Single project page */
.single-project .project-page { color: #262626; }
.single-project .project-topnav-outside { display: flex; justify-content: flex-start; }
.single-project .project-backlink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #262626;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  padding: 2px 0;
  font-weight: 400;
}
.single-project .project-backlink::before { content: "<"; display: inline-block; transform: translateY(-1px); color: #3d2723; }
.single-project .project-backlink:hover { color: #ff6b6b; border-bottom-color: #ff6b6b; }
.single-project .project-title-row { display: flex; align-items: center; gap: 12px; }
.single-project .project-icon {
  width: 45px !important;
  height: 45px !important;
  max-width: 45px !important;
  max-height: 45px !important;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid #262626;
  background: #fff;
  display: block;
}
.single-project .project-icon-link { display: inline-flex; flex: 0 0 45px; }
.single-project .project-hero { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.single-project .project-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.75rem; }
.single-project .project-btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border: 2px solid #262626;
  border-radius: 10px;
  background: #fff;
  color: #262626;
  text-decoration: none;
  font-weight: 400;
  line-height: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.single-project .project-btn.primary { background: #262626; color: #fff; }
.single-project .project-btn:hover { background: #ff6b6b; border-color: #ff6b6b; color: #fff; transform: translateY(-1px); }
.single-project .project-btn:focus-visible { outline: 3px solid rgba(255, 107, 107, 0.45); outline-offset: 2px; }
.single-project .project-tech-label { font-weight: 500; margin-bottom: 0.25rem; }
.single-project .project-tech-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.single-project .project-tech-tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid #c9c9c9;
  background: #f3f3f3;
  color: #262626;
  font-size: 0.95rem;
  line-height: 1;
}
@media screen and (max-width: 900px) { .single-project .project-hero { flex-direction: column; } }
