.article {
  padding: 60px 0;
  background-color: #FDFAF6;
}
.article__detail {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
.article__content {
  flex: 1;
  min-width: 0;
  max-width: 100%;
}
.article__content h2,
.article__content h3,
.article__content h4 {
  scroll-margin-top: 100px;
}
.article__content blockquote * {
  margin-bottom: 0;
}
.article__content a {
  text-decoration: underline;
  color: #E8722A;
  transition: color 0.3s ease;
}
.article__content a:hover {
  color: #ff6224;
}
.article__content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 500px;
  border-radius: 10px;
}
.article__content a {
  color: #E8722A;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.article__content a:hover {
  color: #ff6224;
}
.article__content-image {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  max-height: 600px;
  margin-bottom: 0;
}
.article__content-image-link {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 40px;
  max-height: 600px;
}
.article__content ul li, .article__content ol li {
  font-style: italic;
  font-size: 16px;
  line-height: 140%;
  color: #2D2416;
}
.article__author {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.article__author-name {
  color: #2D2416;
}
.article__author-position {
  color: #6B5E4A;
  margin: 0;
}
.article__content-right {
  width: 340px;
  flex-shrink: 0;
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
}
.article__content-right_content {
  padding: 24px;
  border-radius: 16px;
  background-color: #fff;
  border: 1px solid rgba(45, 36, 22, 0.08);
}
.article__content-right .cta-section {
  padding: 24px;
  border-radius: 16px;
  background-color: #E8722A;
}
.article__content-right .cta-section-inner {
  align-items: flex-start;
  grid-gap: 16px;
}
.article__content-right .cta-section-title {
  margin: 0;
  color: #fff;
  text-align: left;
}
.article__content-right .cta-section-text {
  margin: 0;
  color: #FFD4B3;
  text-align: left;
}
.article__content-right .cta-section-button {
  background-color: #fff;
  color: #E8722A;
  border: 1px solid #E8722A;
  width: 100%;
}
.article__toc-title {
  margin: 0 0 16px;
  color: #2D2416;
}
.article__toc-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article__toc-link {
  display: block;
  font-size: 14px;
  line-height: 140%;
  color: #6B5E4A;
  text-decoration: none;
  transition: color 0.2s ease;
}
.article__toc-link:hover {
  color: #E8722A;
}
.article__toc-item--level-3 .article__toc-link {
  padding-left: 12px;
}
.article__toc-item--level-4 .article__toc-link {
  padding-left: 24px;
}
.article__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 500px;
  border-radius: 20px;
  aspect-ratio: 16/9;
}
.article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.article__date, .article__reading-time, .article__views {
  font-size: 16px;
  font-weight: 500;
  line-height: 120%;
  color: #E5E7EB;
}
.article__read-also {
  border-radius: 16px;
  background-color: #fff;
  border: 1px solid rgba(45, 36, 22, 0.08);
  padding: 24px 24px 14px 24px;
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
}
.article__read-also-title {
  margin: 0;
}
.article__read-also-list {
  display: flex;
  flex-direction: column;
}
.article__read-also-item {
  display: flex;
  flex-direction: column;
  grid-gap: 4px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(45, 36, 22, 0.08);
}
.article__read-also-item:last-child {
  border-bottom: none;
}
.article__read-also-item-title {
  margin: 0;
}
.article__read-also-item-meta {
  display: flex;
  gap: 4px;
}
.article__read-also-item-date {
  color: #6B5E4A;
}
.article__read-also-item-divider {
  color: #6B5E4A;
}
.article__read-also-item-reading-time {
  color: #6B5E4A;
}
.article__related {
  padding: 60px 0;
}
.article__related .article__services-swiper {
  overflow: hidden;
  margin-top: 30px;
}
.article__related-detail-header {
  display: flex;
  grid-gap: 10px;
  flex-direction: column;
}
.article__share {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
  gap: 10px;
}
.article__share-links {
  display: flex;
  gap: 10px;
}
.article__share-link {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  overflow: visible;
  box-shadow: 0 0 0 0 rgba(62, 123, 255, 0);
  transition: box-shadow 0.3s ease;
}
.article__share-link:hover {
  animation: article-share-wiggle 0.4s ease-in-out;
  box-shadow: 0 0 15px 0 rgba(62, 123, 255, 0.5);
}
.article__share-link:hover::before {
  animation: article-share-pulse 1s ease-out infinite;
}
.article__share-link::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 10px;
  border: 2px solid rgba(62, 123, 255, 0.7);
  opacity: 0;
}
.article__share-link .article__share-icon {
  transition: transform 0.3s ease, filter 0.3s ease;
}
.article__share-link:hover .article__share-icon {
  transform: scale(1.08);
  filter: drop-shadow(0 0 8px rgba(62, 123, 255, 0.7));
}
.article__share-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
}

@media screen and (max-width: 992px) {
  .article__detail {
    flex-direction: column;
    gap: 24px;
  }
  .article__content-right {
    width: 100%;
  }
  .article__content-right_content {
    display: none;
  }
  .article__read-also-swiper .articles__item {
    min-height: auto;
  }
  .article__cta-inner {
    padding: 32px 20px;
  }
}
@keyframes article-share-pulse {
  0% {
    opacity: 0.7;
    transform: scale(1);
  }
  70% {
    opacity: 0;
    transform: scale(1.3);
  }
  100% {
    opacity: 0;
    transform: scale(1.4);
  }
}
@keyframes article-share-wiggle {
  0% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-1px);
  }
  40% {
    transform: translateX(2px);
  }
  60% {
    transform: translateX(-1px);
  }
  80% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
.article__like {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  background: #fff;
  color: #2D2416;
  cursor: pointer;
  transition: border-color 0.3s ease, color 0.3s ease;
}
.article__like-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: transform 0.2s ease, fill 0.3s ease;
}
.article__like:hover {
  border-color: #E8722A;
  color: #E8722A;
}
.article__like:active .article__like-icon {
  transform: scale(0.85);
}
.article__like--active {
  border-color: #E8722A;
  color: #E8722A;
}
.article__like--active .article__like-icon {
  fill: #E8722A;
}
.article__like:disabled {
  cursor: wait;
}
