/* Every selector belongs to this plugin. Theme typography/colors stay authoritative. */
.ko-faq-section,
.ko-blog-guides,
.ko-blog-single {
  color: var(--text, #2c2c2c);
  font-family: 'Libre Franklin', sans-serif;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}
.ko-faq-section { margin: 64px 0; max-width: 100%; }
.ko-faq-section .ko-faq-title {
  font-family: 'EB Garamond', serif;
  font-size: clamp(1.8rem, 2.6vw, 2.6rem);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -.015em;
  max-width: 850px;
  margin: 0 0 30px;
}
.ko-faq-item { border-top: 1px solid var(--light-gray, #e8e6e1); }
.ko-faq-item:last-child { border-bottom: 1px solid var(--light-gray, #e8e6e1); }
.ko-faq-question {
  padding: 22px 8px 22px 0;
  cursor: pointer;
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.65;
  color: var(--black, #1a1918);
  list-style-position: outside;
  margin-left: 22px;
}
.ko-faq-question::marker { color: var(--accent, #8c7b5e); font-size: .8em; }
.ko-faq-answer { max-width: 880px; padding: 0 8px 12px 22px; }
.ko-faq-answer p { font-size: .94rem; line-height: 1.8; color: var(--text-light, #6b6660); margin: 0 0 18px; }
.ko-faq-question:focus-visible,
.ko-blog-guides a:focus-visible,
.ko-blog-single a:focus-visible {
  outline: 2px solid var(--accent, #8c7b5e);
  outline-offset: 5px;
}
.ko-blog-guides { width: min(1120px, calc(100% - 96px)); margin: 0 auto 76px; }
.ko-blog-section-title { font-family: 'EB Garamond', serif; font-size: clamp(2rem, 3vw, 2.7rem); font-weight: 400; line-height: 1.15; margin: 0 0 38px; }
.ko-blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 52px; }
.ko-blog-card { min-width: 0; border-top: 1px solid var(--light-gray, #e8e6e1); padding-top: 24px; }
.ko-blog-image { display: block; aspect-ratio: 16 / 10; margin-bottom: 22px; overflow: hidden; }
.ko-blog-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ko-blog-date { display: block; color: var(--text-light, #6b6660); font-size: .72rem; letter-spacing: .06em; line-height: 1.6; margin-bottom: 14px; }
.ko-blog-card-title { font-family: 'EB Garamond', serif; font-size: 2rem; line-height: 1.15; font-weight: 400; margin: 0 0 16px; }
.ko-blog-card-title a { color: inherit; text-decoration: none; }
.ko-blog-excerpt { font-size: .9rem; line-height: 1.8; color: var(--text-light, #6b6660); margin: 0 0 20px; }
.ko-blog-read,
.ko-blog-back { display: inline-block; padding: 10px 0; font-size: .8rem; color: var(--black, #1a1918); text-underline-offset: 5px; }
.ko-blog-pagination { position: static; inset: auto; z-index: auto; padding: 0; background: transparent; backdrop-filter: none; justify-content: flex-start; transition: none; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; align-items: center; }
.ko-blog-pagination a,
.ko-blog-pagination span { display: inline-block; padding: 12px; color: inherit; font-size: .85rem; }
.ko-blog-pagination [aria-current] { background: var(--off-white, #f7f6f3); }
.ko-blog-single { width: min(1120px, calc(100% - 96px)); margin: 0 auto; padding: 174px 0 100px; }
.ko-blog-article-header { max-width: 940px; margin-bottom: 44px; }
.ko-blog-kicker { font-size: .68rem; letter-spacing: .12em; line-height: 1.7; color: var(--text-light, #6b6660); margin: 0 0 24px; }
.ko-blog-article-title { font-family: 'EB Garamond', serif; font-size: clamp(2.6rem, 4.8vw, 4.6rem); font-weight: 400; line-height: 1.05; letter-spacing: -.02em; margin: 0 0 24px; }
.ko-blog-article-image { margin: 0 0 48px; }
.ko-blog-article-image img { display: block; max-width: 100%; width: 100%; height: auto; }
.ko-blog-article-content { max-width: 900px; font-size: .96rem; line-height: 1.85; }
.ko-blog-article-content p { margin: 0 0 24px; color: var(--text-light, #6b6660); }
.ko-blog-article-content h2,
.ko-blog-article-content h3,
.ko-blog-article-content h4,
.ko-blog-article-content h5,
.ko-blog-article-content h6 { font-family: 'EB Garamond', serif; line-height: 1.2; font-weight: 500; margin: 40px 0 16px; }
.ko-blog-article-content h2 { font-size: 2rem; }
.ko-blog-article-content h3 { font-size: 1.6rem; }
.ko-blog-article-content ul,
.ko-blog-article-content ol { margin: 0 0 24px; padding-left: 24px; }
.ko-blog-article-content a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ko-blog-article-content img,
.ko-blog-article-content video { max-width: 100%; height: auto; }
.ko-blog-article-content iframe { max-width: 100%; }
.ko-blog-article-content figure { max-width: 100%; margin: 24px 0; }
.ko-blog-article-content blockquote { margin: 32px 0; border-left: 2px solid var(--accent, #8c7b5e); padding-left: 24px; }
.ko-blog-article-content pre,
.ko-blog-article-content .wp-block-table { max-width: 100%; overflow-x: auto; }
.ko-blog-article-content table { width: 100%; border-collapse: collapse; }
.ko-blog-article-content th,
.ko-blog-article-content td { padding: 12px; border-bottom: 1px solid var(--light-gray, #e8e6e1); text-align: left; }
.ko-blog-back { margin-top: 36px; border-top: 1px solid var(--light-gray, #e8e6e1); padding-top: 24px; }
@media (max-width: 800px) {
  .ko-blog-guides,
  .ko-blog-single { width: calc(100% - 56px); }
  .ko-blog-grid { grid-template-columns: 1fr; gap: 42px; }
}
@media (max-width: 520px) {
  .ko-blog-guides,
  .ko-blog-single { width: calc(100% - 40px); }
  .ko-blog-guides { margin-bottom: 52px; }
  .ko-blog-single { padding: 144px 0 70px; }
  .ko-blog-card-title { font-size: 1.75rem; }
  .ko-faq-section { margin-top: 46px; margin-bottom: 46px; }
  .ko-faq-question { padding-top: 18px; padding-bottom: 18px; font-size: .9rem; }
  .ko-faq-answer { padding-left: 0; }
}
