/* ==========================================================================
   Anova Theme 1.7 — single post alignment, inline categories, comments,
   plugin post types (WooCommerce, Tutor LMS…) and page builder layouts.
   ========================================================================== */

/* Bootstrap Icons sizing inside text */
.bi { display: inline-block; line-height: 1; vertical-align: -0.125em; }

/* ---------- Single post: title alignment ---------- */
.anova-title-align-left .anova-single-header { text-align: left; }
.anova-title-align-left .anova-single-subtitle { margin-left: 0; margin-right: 0; }
.anova-title-align-left .anova-single-meta,
.anova-title-align-left .anova-single-meta-details { justify-content: flex-start; }
.anova-title-align-left .anova-share-section.anova-share-align-center { align-items: flex-start; text-align: left; }

.anova-title-align-center .anova-single-header { text-align: center; }
.anova-title-align-center .anova-single-meta,
.anova-title-align-center .anova-single-meta-details { justify-content: center; }

.anova-title-align-right .anova-single-header { text-align: right; }
.anova-title-align-right .anova-single-subtitle { margin-left: auto; margin-right: 0; }
.anova-title-align-right .anova-single-meta,
.anova-title-align-right .anova-single-meta-details { justify-content: flex-end; }
.anova-title-align-right .anova-share-section.anova-share-align-center { align-items: flex-end; text-align: right; }

/* ---------- Single post: body alignment ---------- */
.anova-content-align-left .anova-single-content { text-align: left; }
.anova-content-align-center .anova-single-content { text-align: center; }
.anova-content-align-right .anova-single-content { text-align: right; }
.anova-content-align-justify .anova-single-content p,
.anova-content-align-justify .anova-single-content li { text-align: justify; hyphens: auto; }
.anova-content-align-center .anova-single-content :is(ul, ol),
.anova-content-align-right .anova-single-content :is(ul, ol) { list-style-position: inside; padding-left: 0; }
.anova-content-align-center .anova-single-content :is(img, figure, table, .wp-block-image),
.anova-content-align-center .anova-single-content blockquote { margin-left: auto; margin-right: auto; }
.anova-content-align-right .anova-single-content :is(img, figure, table, .wp-block-image) { margin-left: auto; margin-right: 0; }
.anova-content-align-center .anova-single-content blockquote,
.anova-content-align-right .anova-single-content blockquote { border-left: 0; }

/* ---------- Single post: categories inline with the post info ---------- */
.anova-single-meta-details .anova-single-cats {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.4rem;
  margin: 0;
}
.anova-single-meta-details .anova-single-cat {
  display: inline;
  padding: 0;
  background: none;
  border-radius: 0;
  color: var(--accent-primary, #2563eb);
  font-size: inherit;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
}
.anova-single-meta-details .anova-single-cat:hover,
.anova-single-meta-details .anova-single-cat:focus { background: none; color: var(--accent-primary, #2563eb); text-decoration: underline; }
.anova-single-comments { display: inline-flex; align-items: center; gap: 0.4rem; color: inherit; text-decoration: none; }
.anova-single-comments:hover { color: var(--accent-primary, #2563eb); }

/* ---------- Comments ---------- */
.anova-comments { max-width: 780px; margin: 3rem auto 0; padding-top: 2rem; border-top: 1px solid var(--border-color, #e5e7eb); }
.anova-comments-title { font-size: 1.35rem; margin: 0 0 1.25rem; }
.anova-comment-list, .anova-comment-list .children { list-style: none; margin: 0; padding: 0; }
.anova-comment-list .children { margin-left: 1.5rem; }
.anova-comment-list .comment-body { padding: 1rem 0; border-bottom: 1px solid var(--border-color, #e5e7eb); }
.anova-comment-list .comment-author { display: flex; align-items: center; gap: 0.6rem; font-weight: 600; }
.anova-comment-list .comment-author img { border-radius: 50%; }
.anova-comment-list .comment-metadata { font-size: 0.8rem; margin: 0.25rem 0 0.5rem; }
.anova-comment-list .comment-metadata a { color: var(--text-muted, #6b7280); text-decoration: none; }
.anova-comments .comment-respond { margin-top: 2rem; }
.anova-comments .comment-form { display: grid; gap: 0.9rem; }
.anova-comments .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
  width: 100%; padding: 0.7rem 0.9rem; border: 1px solid var(--border-color, #e5e7eb); border-radius: 10px; font: inherit; background: var(--bg-card, #fff); color: inherit;
}
.anova-comments .comment-form-cookies-consent { display: flex; gap: 0.5rem; align-items: flex-start; }
.anova-comment-submit { border: 0; cursor: pointer; }
.anova-comments-closed { color: var(--text-muted, #6b7280); }
html.dark .anova-comments .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) { background: var(--dark-surface, #1e293b); border-color: rgba(255, 255, 255, 0.12); }

/* ---------- Neutral single template for plugin post types ---------- */
.anova-singular { padding-block: 3rem; }
.anova-singular--builder { padding-block: 0; }
.anova-singular-content > *:first-child { margin-top: 0; }
.anova-cpt-single .anova-singular .entry-content { max-width: none; }

/* ---------- WooCommerce ---------- */
.anova-woocommerce { padding-block: 2.5rem 4rem; }
.anova-woocommerce .woocommerce-breadcrumb { font-size: 0.85rem; margin-bottom: 1.25rem; }
.anova-woocommerce .woocommerce-products-header__title, .anova-woocommerce .product_title { font-family: var(--heading-font); }
.anova-woocommerce ul.products li.product .button,
.anova-woocommerce .single_add_to_cart_button,
.woocommerce :is(a.button, button.button, input.button, #respond input#submit).alt {
  background: var(--accent-primary, #2563eb); color: #fff; border-radius: 999px;
}
.anova-woocommerce ul.products li.product .price, .anova-woocommerce .summary .price { color: var(--accent-primary, #2563eb); }
html.dark .woocommerce :is(.woocommerce-tabs, .quantity input, table.shop_table) { color: var(--dark-text, #f1f5f9); }

/* ---------- Page builders ---------- */
.anova-builder-content .site-main > .anova-page-wrapper.page-layout-full-width,
.anova-builder-page { max-width: none; }
.anova-builder-content .anova-page-content.entry-content { max-width: none; }
.anova-canvas { margin: 0; }

/* ---------- [anova_latest_posts] ---------- */
.anova-latest-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.5rem; }
.anova-latest-post-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; }
.anova-latest-post-meta { margin: 0.75rem 0 0.25rem; font-size: 0.8rem; color: var(--text-muted, #6b7280); }
.anova-latest-post h3 { margin: 0 0 0.4rem; font-size: 1.1rem; }
.anova-latest-post h3 a { color: inherit; text-decoration: none; }

/* ---------- Default (unlicensed) design keeps things minimal ---------- */
.anova-default .hero-section { padding: clamp(4rem, 10vw, 7rem) 0; }

/* Headings inside comment form and block widgets */
.anova-comments .comment-reply-title { font-size: 1.35rem; margin: 0 0 0.75rem; }
.anova-sidebar .widget :is(h2, .wp-block-heading) { font-size: 1.1rem; margin: 0 0 0.75rem; }
