.article-template__layout { display: grid; grid-template-columns: 1fr; gap: var(--space-lg, 1rem); }
@media (min-width: 1280px) {
  .article-template__layout { grid-template-columns: 1fr 300px; gap: var(--space-2xl, 1.5rem); }
}
.article-template__main { min-width: 0; }
.article-template__sidebar { min-width: 0; }
.article-template__media { margin-bottom: var(--space-lg, 1rem); }
@media (min-width: 1280px) {
  .article-template__media { margin-bottom: var(--space-2xl, 1.5rem); }
}
.article-template__media-image { border-radius: var(--radius-lg, 0); }
.article-template__title { margin-bottom: var(--space-lg, 1rem); }
@media (min-width: 1280px) {
  .article-template__title { margin-bottom: var(--space-2xl, 1.5rem); }
}
.article-template__title-text { font-size: var(--font-2xl, 1.5rem); font-weight: var(--font-weight-bold, 700); }
@media (min-width: 1280px) {
  .article-template__title-text { font-size: var(--font-3xl, 1.875rem); }
}
.article-template__info {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg, 1rem);
  margin-bottom: var(--space-lg, 1rem);
  font-size: var(--font-sm, 0.875rem);
  color: var(--color-gray, #635d5a);
}
@media (min-width: 1280px) {
  .article-template__info { margin-bottom: var(--space-2xl, 1.5rem); }
}
.article-template__info-label { margin-right: var(--space-xs, 0.25rem); }
.article-template__info-category {
  font-weight: var(--font-weight-bold, 700);
  text-transform: uppercase;
  background: var(--color-primary, #79542e);
  color: var(--color-white, #fff);
  padding: var(--space-xs, 0.25rem);
  border-radius: var(--radius-sm, 0);
  margin-right: var(--space-xs, 0.25rem);
  line-height: 1;
  display: inline-block;
  transition: background-color var(--transition-base, 300ms linear);
}
.article-template__info-category:hover { background: var(--color-primary-hover, #8a6643); }
.article-template__info-category a { line-height: 1; font-size: var(--font-xs, 0.75rem); }
.article-template__info-link { color: var(--color-primary, #79542e); }
.article-template__info-link:hover { text-decoration: underline; }
.article-template__content { margin-bottom: var(--space-2xl, 1.5rem); }
@media (min-width: 1280px) {
  .article-template__content { margin-bottom: var(--space-4xl, 2rem); }
}
.article-template__content-text { font-size: var(--font-base, 1rem); line-height: var(--line-height-relaxed, 1.75); }
.article-template__content-text h2,
.article-template__content-text h3,
.article-template__content-text h4,
.article-template__content-text h5,
.article-template__content-text h6 { margin-top: var(--space-2xl, 1.5rem); margin-bottom: var(--space-lg, 1rem); font-weight: var(--font-weight-bold, 700); }
.article-template__content-text p { margin-bottom: var(--space-lg, 1rem); }
.article-template__content-text ul,
.article-template__content-text ol { margin-bottom: var(--space-lg, 1rem); padding-left: var(--space-2xl, 1.5rem); }
.article-template__content-text img { max-width: 100%; height: auto; border-radius: var(--radius-md, 0); margin: var(--space-lg, 1rem) 0; }
.article-template__content-text a { color: var(--color-primary, #79542e); }
.article-template__content-text a:hover { text-decoration: underline; }
.article-template__share { border-top: 1px solid var(--border-color, #e5e5e5); padding-top: var(--space-lg, 1rem); margin-bottom: var(--space-2xl, 1.5rem); }
@media (min-width: 1280px) {
  .article-template__share { padding-top: var(--space-2xl, 1.5rem); margin-bottom: var(--space-4xl, 2rem); }
}
.article-template__share-title { margin-bottom: var(--space-md, 0.75rem); font-weight: var(--font-weight-semibold, 600); }
.article-template__share-icons { display: flex; gap: var(--space-md, 0.75rem); margin-bottom: var(--space-md, 0.75rem); }
.article-template__share-link { transition: opacity var(--transition-base, 300ms linear); }
.article-template__share-link:hover { opacity: 0.7; }
.article-template__share-copylink-btn { font-size: var(--font-sm, 0.875rem); color: var(--color-primary, #79542e); }
.article-template__share-copylink-btn:hover { text-decoration: underline; }
.article-template__share-copylink-success { display: none; font-size: var(--font-sm, 0.875rem); color: var(--color-success, #428445); margin-top: var(--space-sm, 0.5rem); }
.article-template__comments { border-top: 1px solid var(--border-color, #e5e5e5); padding-top: var(--space-2xl, 1.5rem); }
@media (min-width: 1280px) {
  .article-template__comments { padding-top: var(--space-4xl, 2rem); }
}
.article-template__comments-form { margin-bottom: var(--space-2xl, 1.5rem); }
@media (min-width: 1280px) {
  .article-template__comments-form { margin-bottom: var(--space-4xl, 2rem); }
}
.article-template__comments-form-title { font-size: var(--font-xl, 1.25rem); font-weight: var(--font-weight-bold, 700); margin-bottom: var(--space-lg, 1rem); }
.article-template__comments-success {
  margin-bottom: var(--space-lg, 1rem);
  padding: var(--space-md, 0.75rem);
  background: rgba(66, 132, 69, 0.1);
  border: 1px solid var(--color-success, #428445);
  border-radius: var(--radius-sm, 0);
  color: var(--color-success, #428445);
}
.article-template__comments-errors {
  margin-bottom: var(--space-lg, 1rem);
  padding: var(--space-md, 0.75rem);
  background: rgba(235, 0, 27, 0.1);
  border: 1px solid var(--color-error, #EB001B);
  border-radius: var(--radius-sm, 0);
  color: var(--color-error, #EB001B);
}
.article-template__comments-form-fields { display: flex; flex-direction: column; gap: var(--space-lg, 1rem); }
.article-template__comments-form-row { display: grid; grid-template-columns: 1fr; gap: var(--space-lg, 1rem); }
@media (min-width: 768px) {
  .article-template__comments-form-row { grid-template-columns: repeat(2, 1fr); }
}
.article-template__comments-form-label { display: block; }
.article-template__comments-form-label-text { display: block; margin-bottom: var(--space-sm, 0.5rem); font-size: var(--font-sm, 0.875rem); font-weight: var(--font-weight-medium, 500); }
.article-template__comments-form-label-text .required { color: var(--color-error, #EB001B); }
.article-template__comments-input,
.article-template__comments-textarea {
  width: 100%;
  padding: var(--space-sm, 0.5rem) var(--space-lg, 1rem);
  border: 1px solid var(--border-color, #e5e5e5);
  border-radius: var(--radius-md, 0);
  background: var(--color-white, #fff);
  color: var(--color-black, #1a1c1a);
  transition: border-color var(--transition-base, 300ms linear), box-shadow var(--transition-base, 300ms linear);
}
.article-template__comments-input::placeholder,
.article-template__comments-textarea::placeholder { color: var(--color-gray, #635d5a); }
.article-template__comments-input:focus,
.article-template__comments-textarea:focus { outline: none; border-color: var(--color-primary, #79542e); box-shadow: 0 0 0 2px rgba(255, 51, 0, 0.2); }
.article-template__comments-textarea { resize: vertical; min-height: 120px; }
.article-template__comments-list { margin-top: var(--space-2xl, 1.5rem); }
.article-template__comments-list-title {
  font-size: var(--font-xl, 1.25rem);
  font-weight: var(--font-weight-bold, 700);
  margin-bottom: var(--space-lg, 1rem);
  display: flex;
  align-items: center;
  gap: var(--space-sm, 0.5rem);
}
.article-template__comments-icon { width: 1.5rem; height: 1.5rem; }
.article-template__comments-items { display: flex; flex-direction: column; gap: var(--space-lg, 1rem); }
.article-template__comments-item {
  display: flex;
  gap: var(--space-lg, 1rem);
  padding: var(--space-lg, 1rem);
  border: 1px solid var(--border-color, #e5e5e5);
  border-radius: var(--radius-lg, 0);
  background: var(--color-gray-light, #f4f3f1);
}
.article-template__comments-item-avatar { flex-shrink: 0; }
.article-template__comments-item-avatar img { border-radius: var(--radius-rounded, 50%); }
.article-template__comments-item-avatar-initials {
  width: 48px; height: 48px; border-radius: var(--radius-rounded, 50%);
  background: var(--color-primary, #F30); color: var(--color-white, #fff);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--font-lg, 1.125rem); font-weight: var(--font-weight-bold, 700);
  flex-shrink: 0; user-select: none;
}
.article-template__comments-item-content { flex: 1; }
.article-template__comments-item-header { margin-bottom: var(--space-sm, 0.5rem); }
.article-template__comments-item-author { font-weight: var(--font-weight-semibold, 600); }
.article-template__comments-item-date { font-size: var(--font-sm, 0.875rem); color: var(--color-gray, #635d5a); margin-left: var(--space-sm, 0.5rem); }
.article-template__comments-item-body { color: var(--color-gray-dark, #50453b); }
.article-sidebar {
  border: 1px solid var(--border-color, #e5e5e5);
  border-radius: var(--radius-md, 0);
  padding: var(--space-lg, 1rem);
  margin-bottom: var(--space-lg, 1rem);
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl, 1.5rem);
}
@media (min-width: 1200px) {
  .article-sidebar { margin-bottom: 0; }
}
.article-sidebar__section { display: block; }
.article-sidebar__title {
  font-size: var(--font-lg, 1.125rem);
  font-weight: var(--font-weight-bold, 700);
  margin-bottom: var(--space-md, 0.75rem);
  padding-bottom: var(--space-sm, 0.5rem);
  border-bottom: 1px solid var(--border-color, #e5e5e5);
}
.article-sidebar__related-posts {
  display: flex;
  flex-direction: column;
  gap: var(--space-md, 0.75rem);
  list-style: none;
  padding: 0;
  margin: 0;
}
.article-sidebar__related-post-link { display: flex; gap: var(--space-md, 0.75rem); transition: color var(--transition-base, 300ms linear); }
.article-sidebar__related-post-link:hover { color: var(--color-primary, #79542e); }
.article-sidebar__related-post-link:hover .article-sidebar__related-post-image img { transform: scale(1.05); }
.article-sidebar__related-post-image {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-sm, 0);
  overflow: hidden;
  background: var(--color-gray-light, #f4f3f1);
}
.article-sidebar__related-post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base, 300ms linear); }
.article-sidebar__related-post-content { flex: 1; min-width: 0; }
.article-sidebar__related-post-title {
  font-size: var(--font-sm, 0.875rem);
  font-weight: var(--font-weight-medium, 500);
  margin-bottom: var(--space-xs, 0.25rem);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.article-sidebar__related-post-date { font-size: var(--font-xs, 0.75rem); color: var(--color-gray, #635d5a); }
.article-sidebar__tags { display: flex; flex-wrap: wrap; gap: var(--space-sm, 0.5rem); }
.article-sidebar__tag {
  display: inline-block;
  padding: var(--space-xs, 0.25rem) var(--space-md, 0.75rem);
  font-size: var(--font-sm, 0.875rem);
  border-radius: var(--radius-sm, 0);
  border: 1px solid var(--border-color, #e5e5e5);
  transition: all var(--transition-base, 300ms linear);
}
.article-sidebar__tag:hover { background: var(--color-primary, #79542e); color: var(--color-white, #fff); border-color: var(--color-primary, #79542e); }
