:root { --font-main: 'Times New Roman', Times, serif; --font-serif: 'Times New Roman', Times, serif; }
html { text-rendering: optimizeLegibility !important; -webkit-font-smoothing: antialiased; font-feature-settings: "kern" 1; }
body { font-family: var(--font-main); letter-spacing: -0.015em; color: #1a1a1a; }
.text-serif { font-family: var(--font-serif) !important; letter-spacing: -0.02em; }

.project-swiper { width: 100%; height: 500px; border-radius: 2rem; }
@media (max-width: 768px) { .project-swiper { height: 350px; border-radius: 1.5rem; } }
.swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.swiper-button-next, .swiper-button-prev { color: #fff; background: rgba(0,0,0,0.3); width: 45px; height: 45px; border-radius: 50%; backdrop-filter: blur(5px); }
.swiper-button-next::after, .swiper-button-prev::after { font-size: 18px; font-weight: bold; }
.premium-shadow { box-shadow: 0 30px 60px -12px rgba(0,0,0,0.25); }

.article-body-content { font-family: 'Times New Roman', Times, serif; color: #374151; font-size: 1.125rem; line-height: 1.8; }
.article-body-content h2 { font-size: 1.75rem; font-weight: 700; margin: 2rem 0 1rem; color: #111827; font-family: var(--font-main); }
.article-body-content h3 { font-size: 1.4rem; font-weight: 700; margin: 1.5rem 0 0.75rem; color: #1f2937; font-family: var(--font-main); }
.article-body-content p { margin-bottom: 1.5rem; }
.article-body-content ul { list-style-type: disc; margin-left: 1.5rem; margin-bottom: 1.5rem; }
.article-body-content ol { list-style-type: decimal; margin-left: 1.5rem; margin-bottom: 1.5rem; }
.article-body-content li { margin-bottom: 0.5rem; }
.article-body-content img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 2rem auto; display: block; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); }
.article-body-content strong, .article-body-content b { font-weight: 700; color: #111827; }
.article-body-content a { color: #dc2626; text-decoration: underline; text-underline-offset: 4px; }
.article-body-content .wp-image-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .875rem;
  margin: 2rem 0;
}
.article-body-content .wp-gallery-item { margin: 0; }
.article-body-content .wp-gallery-item img {
  width: 100%;
  margin: 0;
  border-radius: .75rem;
}
@media (max-width: 640px) {
  .article-body-content .wp-image-gallery { grid-template-columns: 1fr; }
}

.article-body-content .wp-doc-embed {
  margin: 2rem 0;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}
.article-body-content .wp-doc-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .875rem 1rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafafa;
}
.article-body-content .wp-doc-meta {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  min-width: 0;
}
.article-body-content .wp-doc-meta i {
  font-size: 1.35rem;
  color: #dc2626;
  margin-top: .15rem;
}
.article-body-content .wp-doc-meta strong {
  display: block;
  font-size: .95rem;
  color: #111827;
  line-height: 1.35;
  word-break: break-word;
}
.article-body-content .wp-doc-meta span {
  display: block;
  font-size: .75rem;
  color: #6b7280;
  margin-top: .15rem;
}
.article-body-content .wp-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.article-body-content .wp-doc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .8rem;
  border: 1px solid #d1d5db;
  border-radius: .65rem;
  font-size: .75rem;
  font-weight: 700;
  color: #374151 !important;
  text-decoration: none !important;
  background: #fff;
}
.article-body-content .wp-doc-btn-primary {
  background: #dc2626;
  border-color: #dc2626;
  color: #fff !important;
}
.article-body-content .wp-doc-frame-wrap { width: 100%; background: #f3f4f6; }
.article-body-content .wp-doc-frame {
  display: block;
  width: 100%;
  height: min(78vh, 920px);
  min-height: 480px;
  border: 0;
  background: #fff;
}
.article-body-content .wp-doc-note {
  margin: 0;
  padding: .65rem 1rem .85rem;
  font-size: .75rem;
  color: #6b7280;
}
.article-body-content .wp-doc-docx-wrap {
  max-height: min(78vh, 920px);
  overflow: auto;
  background: #e5e7eb;
}
.article-body-content .wp-doc-loading,
.article-body-content .wp-doc-fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 280px;
  padding: 2rem 1.25rem;
  text-align: center;
  color: #4b5563;
  background: #f9fafb;
}
.article-body-content .wp-doc-loading i,
.article-body-content .wp-doc-fallback i {
  font-size: 1.75rem;
  color: #dc2626;
}
.article-body-content .wp-docx-host {
  padding: 1rem;
}
.article-body-content .wp-docx-host .docx-wrapper > section.docx {
  margin: 0 auto 1rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
  background: #fff;
}
@media (max-width: 640px) {
  .article-body-content .wp-doc-frame { min-height: 360px; height: 70vh; }
}

.contact-buttons { position: fixed; bottom: 30px; left: 20px; display: flex; flex-direction: column; gap: 12px; z-index: 40; }
.btn-contact { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; box-shadow: 0 4px 20px rgba(0,0,0,0.15); transition: all 0.3s ease; position: relative; }
.btn-contact:hover { transform: translateY(-3px); }
.btn-zalo { background: #0068ff; }
.btn-messenger { background: #0084ff; }
.btn-phone { background: #dc2626; animation: pulse-red 2s infinite; }

@keyframes pulse-red {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 15px rgba(220, 38, 38, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}
