/* WordPress/Contact Form 7 integration; visual tokens are shared with the sample. */
.asusn-site .wpcf7 { margin: 0; }
.asusn-site .wpcf7-form { margin: 0; }
.asusn-site .wpcf7-form-control-wrap { display: block; min-width: 0; }
.asusn-site .contact-fields .field > p { margin: 0; }
.asusn-site .contact-fields label { display: block; }
.asusn-site .contact-fields .input { max-width: 100%; }
.asusn-site .contact-fields .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.asusn-site .contact-fields .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: .75rem; }
.asusn-site .contact-fields .wpcf7-acceptance input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: .3rem 0 0; accent-color: var(--a-color-brand); }
.asusn-site .contact-fields .submit-row { display: flex; align-items: center; }
.asusn-site .contact-fields input[type="submit"] { width: auto; }
.asusn-site .wpcf7-not-valid-tip { margin-top: .25rem; color: var(--a-color-error); font-size: var(--a-type-label); }
.asusn-site .wpcf7-form-control[aria-invalid="true"] { border: 2px solid var(--a-color-error); }
.asusn-site .wpcf7 form .wpcf7-response-output { margin: 1.5rem 0 0; padding: 1rem; border: 2px solid var(--a-color-brand); color: var(--a-color-ink); }
.asusn-site .wpcf7 form.sent .wpcf7-response-output { border-color: var(--a-color-ink); }
.asusn-site .wpcf7 form.submitting .button { opacity: .6; cursor: progress; pointer-events: none; }
.asusn-site .news-empty { padding-block: 1.5rem; }
.asusn-site .news-pagination { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.asusn-site .news-pagination .page-numbers { display: inline-flex; min-width: 3rem; min-height: 3rem; align-items: center; justify-content: center; padding: .5rem; border: 1px solid var(--a-color-brand); }
.asusn-site .news-pagination .current { background: var(--a-color-brand); color: var(--a-color-white); }
.asusn-site .article-copy > * + * { margin-top: 1rem; }
/* Align the post heading/date with its body and comments, not the wider site shell. */
.asusn-site .page-title--article { max-width: var(--a-width-copy); margin-inline: auto; }
/* Override the compact prose spacing only for the article's return link. */
.asusn-site.detail-page .article-copy > .section-action { margin-top: var(--a-space-7); }
.asusn-site .article-copy :where(ul,ol) { padding-left: 1.5em; }
.asusn-site .article-copy :where(iframe,video) { max-width: 100%; }
.asusn-site .article-copy :where(h2,h3) { color: var(--a-color-brand); }
body.asusn-site { padding: 0; }
.asusn-site.home .photo--profile { transform: none; }
/* Balance the square X/note marks with YouTube; retain the 48px hit areas. */
.asusn-site .social-icon[data-social="x"] svg,
.asusn-site .social-icon[data-social="note"] svg { width: 1.125rem; height: 1.125rem; }

/* Comments share the article's reading width and the A-01 form/button language. */
.asusn-site .comments-area { max-width: var(--a-width-copy); margin-inline: auto; padding-top: var(--a-space-6); border-top: 2px solid var(--a-color-brand); }
.asusn-site .comments-title,
.asusn-site .comment-reply-title { color: var(--a-color-brand); font-size: var(--a-type-title); line-height: 1.5; }
.asusn-site .comments-count { color: var(--a-color-muted); font-size: var(--a-type-label); font-weight: 400; }
.asusn-site .comment-reply-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; }
.asusn-site .comment-reply-title small { font-size: var(--a-type-label); font-weight: 400; letter-spacing: 0; }
.asusn-site .comment-reply-title small a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.asusn-site .comment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--a-space-5) var(--a-space-4); margin-top: var(--a-space-4); }
.asusn-site .comment-form > * { grid-column: 1 / -1; min-width: 0; margin: 0; }
.asusn-site .comment-form > .comment-form-author,
.asusn-site .comment-form > .comment-form-email { grid-column: auto; }
.asusn-site .comment-form label { display: block; margin-bottom: var(--a-space-2); font-size: var(--a-type-label); font-weight: 700; }
.asusn-site .comment-form .required { color: var(--a-color-brand); }
.asusn-site .comment-form :where(input[type="text"],input[type="email"],input[type="url"],textarea) { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: var(--a-control-height); padding: var(--a-space-3) var(--a-space-4); border: 1px solid var(--a-color-line-strong); border-radius: var(--a-radius-control); background: var(--a-color-white); color: var(--a-color-ink); font-size: var(--a-type-body); line-height: 1.6; }
.asusn-site .comment-form textarea { height: 9rem; min-height: 7rem; resize: vertical; }
.asusn-site .comment-form :where(input,textarea):focus-visible { border-color: var(--a-color-brand); outline-color: var(--a-color-brand); }
.asusn-site .comment-form :where(input,textarea):user-invalid { border-color: var(--a-color-error); border-width: 2px; }
.asusn-site .comment-notes,
.asusn-site .logged-in-as,
.asusn-site .must-log-in,
.asusn-site .no-comments { color: var(--a-color-muted); font-size: var(--a-type-label); line-height: 1.8; }
.asusn-site .comment-notes .required-field-message { display: block; }
.asusn-site .logged-in-as a,
.asusn-site .must-log-in a { color: var(--a-color-brand); }
.asusn-site .must-log-in { margin-top: var(--a-space-4); }
.asusn-site .comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: .75rem; }
.asusn-site .comment-form-cookies-consent input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: .25rem 0 0; accent-color: var(--a-color-brand); }
.asusn-site .comment-form-cookies-consent label { margin: 0; color: var(--a-color-muted); font-weight: 400; line-height: 1.8; }
.asusn-site .comment-submit { justify-content: center; min-width: 10rem; }
.asusn-site .comment-list,
.asusn-site .comment-list .children { list-style: none; padding: 0; }
.asusn-site .comment-list { margin-top: var(--a-space-4); }
.asusn-site .comment-list .children { margin-left: var(--a-space-5); padding-left: var(--a-space-4); border-left: 2px solid var(--a-color-line); }
.asusn-site .comment-body { padding-block: var(--a-space-5); border-bottom: 1px solid var(--a-color-line); }
.asusn-site .comment-author { font-size: var(--a-type-label); line-height: 1.5; }
.asusn-site .comment-author .avatar { float: left; width: 2.5rem; height: 2.5rem; margin-right: .75rem; border-radius: 50%; }
.asusn-site .comment-author .says { color: var(--a-color-muted); font-weight: 400; }
.asusn-site .comment-metadata { margin-top: .25rem; color: var(--a-color-muted); font-size: var(--a-type-label); }
.asusn-site .comment-meta::after { content: ""; display: block; clear: both; }
.asusn-site .comment-content { margin-top: var(--a-space-4); line-height: 1.8; overflow-wrap: anywhere; }
.asusn-site .comment-content > * + * { margin-top: var(--a-space-3); }
.asusn-site .comment-content :where(ul,ol) { padding-left: 1.5em; }
.asusn-site .comment-content :where(pre,code) { white-space: pre-wrap; }
.asusn-site .comment-content a { color: var(--a-color-brand); }
.asusn-site .comment-body .reply { margin-top: var(--a-space-3); }
.asusn-site .comment-reply-link,
.asusn-site .comment-navigation a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid var(--a-color-brand); color: var(--a-color-brand); font-size: var(--a-type-label); text-decoration: none; }
.asusn-site .comment-reply-link:hover,
.asusn-site .comment-navigation a:hover { color: var(--a-color-white); background: var(--a-color-brand); }
.asusn-site .comment-awaiting-moderation { margin-top: var(--a-space-3); color: var(--a-color-brand); font-size: var(--a-type-label); }
.asusn-site .bypostauthor > .comment-body .fn { color: var(--a-color-brand); }
.asusn-site .comment-navigation { display: flex; flex-wrap: wrap; gap: var(--a-space-3); margin-top: var(--a-space-5); }
.asusn-site .comment-list ~ .comment-respond,
.asusn-site .comment-list .comment-respond,
.asusn-site .no-comments { margin-top: var(--a-space-6); }
.asusn-site .comment-list .comment-respond { margin-bottom: var(--a-space-6); }
.asusn-site :where(#comments,#respond,.comment-body) { scroll-margin-top: var(--a-space-5); }
@media (max-width: 700px) {
  .asusn-site .comment-form { grid-template-columns: minmax(0,1fr); gap: var(--a-space-4); }
  .asusn-site .comment-list .children { margin-left: .5rem; padding-left: .5rem; }
  .asusn-site .comment-submit { width: 100%; }
}
