/*
 * NGM College — Astra Child: content.
 * Reading typography for pages and posts written in the editor, news cards, single posts,
 * pagination, search and 404.
 *
 * The Elementor kit sets h1/h2/h3 to 16/15/14 px for the whole site (Site Settings → Typography),
 * which would shrink every heading Astra draws outside Elementor. Headings of the theme and of
 * editor content are therefore sized here with enough specificity; headings inside Elementor
 * widgets are never touched (:not(.elementor *)).
 */

/* ---- Editor content ------------------------------------------------------------------------
   Applies to what is typed in the editor. Anything inside an Elementor container or a plugin
   component (ngm*, vybe*, iqac*, spd-*, the staff panel) keeps the look its own stylesheet gives it,
   so every rule below is written against the same exclusion list.
   Colour and font of headings come from Astra's Customizer (Headings colour, Poppins); only size,
   spacing and weight are set here, to answer the kit's 16/15/14 px h1/h2/h3. */
.entry-content, .ast-comment-content { font-size: 16.5px; line-height: 1.75; color: var(--ngmca-text); }
.entry-content > *:first-child { margin-top: 0; }

.entry-content :is(h1, h2, h3, h4, h5, h6):not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-weight: 700; line-height: 1.25; margin: 1.7em 0 .6em; }
.entry-content h1:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 38px; }
.entry-content h2:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 30px; }
.entry-content h3:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 24px; }
.entry-content h4:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 20px; }
.entry-content h5:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 18px; }
.entry-content h6:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 16px; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 782px) {
	.entry-content h1:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 30px; }
	.entry-content h2:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 25px; }
	.entry-content h3:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { font-size: 21px; }
}
.entry-content p a:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *):not(.wp-block-button__link):not(.button), .entry-content li a:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *):not(.wp-block-button__link):not(.button) {
	color: var(--ngmca-blue); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: rgba(25, 78, 144, .4);
}
.entry-content p a:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *):not(.wp-block-button__link):not(.button):hover, .entry-content li a:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *):not(.wp-block-button__link):not(.button):hover {
	color: var(--ngmca-navy); text-decoration-color: var(--ngmca-gold); text-decoration-thickness: 2px;
}

.entry-content :is(ul, ol):not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { padding-left: 1.4em; }
.entry-content :is(ul, ol):not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) li::marker { color: var(--ngmca-blue); font-weight: 600; }
.entry-content li:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { margin-bottom: .4em; }

.entry-content blockquote:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *), .wp-block-quote {
	margin: 1.6em 0; padding: 18px 24px; border: 0; border-left: 4px solid var(--ngmca-gold);
	background: var(--ngmca-mist); border-radius: 0 var(--ngmca-radius) var(--ngmca-radius) 0;
	color: var(--ngmca-ink); font-size: 1.05em;
}
.entry-content blockquote cite { display: block; margin-top: 10px; font: 500 14px/1.4 var(--ngmca-font-body); color: var(--ngmca-muted); font-style: normal; }

.entry-content table:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { width: 100%; border-collapse: collapse; margin: 0 0 1.6em; font-size: 15.5px; }
.entry-content :is(th, td):not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { border: 1px solid var(--ngmca-line); padding: 10px 14px; text-align: left; vertical-align: top; }
.entry-content th:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { background: var(--ngmca-mist); color: var(--ngmca-ink); font-family: var(--ngmca-font-head); font-weight: 600; }
.entry-content .wp-block-table { overflow-x: auto; }

.entry-content hr:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { border: 0; height: 1px; background: var(--ngmca-line); margin: 2.4em 0; }
.entry-content img:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { border-radius: var(--ngmca-radius-sm); height: auto; }
.entry-content figcaption, .wp-caption-text { font-size: 13.5px; color: var(--ngmca-muted); text-align: center; margin-top: 8px; }
.entry-content code:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { background: var(--ngmca-ice); color: var(--ngmca-navy); padding: 2px 6px; border-radius: 6px; font-size: .92em; }
.entry-content pre:not(.elementor *, .vp-root *, [class*="ngm"] *, [class*="vybe"] *, [class*="iqac"] *, [class*="spd-"] *) { background: var(--ngmca-deep); color: var(--ngmca-on-dark); padding: 18px 20px; border-radius: var(--ngmca-radius); overflow-x: auto; }

/* ---- Blog / news cards (Astra Blog Pro) --------------------------------------------------- */
.ast-article-post { border-radius: var(--ngmca-radius-lg); }
.blog .ast-article-post .ast-blog-featured-section img,
.archive .ast-article-post .ast-blog-featured-section img { border-radius: var(--ngmca-radius) var(--ngmca-radius) 0 0; }
.ast-separate-container .ast-article-post, .ast-article-post .post-content.ast-grid-common-col {
	background: #fff; border: 1px solid var(--ngmca-line); border-radius: var(--ngmca-radius-lg); overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ast-article-post:hover { transform: translateY(-3px); box-shadow: var(--ngmca-shadow); border-color: #c9d6ea; }
.ast-article-post .entry-title, .ast-article-post .entry-title a {
	font: 700 21px/1.3 var(--ngmca-font-head); color: var(--ngmca-ink); text-decoration: none; text-wrap: balance;
}
.ast-article-post .entry-title a:hover { color: var(--ngmca-blue); }
.ast-article-post .ast-blog-single-element.ast-taxonomy-container a,
.cat-links a, .tags-links a {
	display: inline-block; padding: 3px 10px; border-radius: 100px;
	background: var(--ngmca-ice); color: var(--ngmca-blue); text-decoration: none;
	font: 600 12px/1.5 var(--ngmca-font-head); letter-spacing: .02em;
}
.ast-article-post .ast-blog-single-element.ast-taxonomy-container a:hover, .cat-links a:hover, .tags-links a:hover { background: var(--ngmca-blue); color: #fff; }
.entry-meta, .entry-meta a { color: var(--ngmca-muted); font-size: 13.5px; text-decoration: none; }
.ast-article-post .read-more a, .ast-read-more-container a { color: var(--ngmca-blue); font: 600 14px/1 var(--ngmca-font-head); text-decoration: none; }
.ast-article-post .read-more a:hover { color: var(--ngmca-navy); }
.ast-article-post .ast-excerpt-container, .ast-article-post .entry-content { font-size: 15px; color: var(--ngmca-text); }

/* ---- Single post -------------------------------------------------------------------------- */
.single-post .entry-header .entry-title { font: 700 clamp(28px, 3.4vw, 38px)/1.2 var(--ngmca-font-head); }
.single-post .post-navigation .nav-links a { color: var(--ngmca-ink); text-decoration: none; font-family: var(--ngmca-font-head); font-weight: 500; }
.single-post .post-navigation .nav-links a:hover { color: var(--ngmca-blue); }
.ast-single-related-posts-container .ast-related-posts-title-section .ast-related-posts-title { font: 700 26px/1.25 var(--ngmca-font-head); }
.ast-related-post-title a { font: 600 17px/1.35 var(--ngmca-font-head); color: var(--ngmca-ink); text-decoration: none; }
.ast-related-post-title a:hover { color: var(--ngmca-blue); }
.ast-single-post .entry-content > .wp-block-image:first-child { margin-top: 0; }

/* ---- Pagination --------------------------------------------------------------------------- */
.ast-pagination .page-numbers, .navigation.pagination .page-numbers {
	min-width: 42px; height: 42px; padding: 0 12px; margin: 0 3px;
	display: inline-grid; place-items: center; border-radius: 12px;
	border: 1px solid var(--ngmca-line); background: #fff; color: var(--ngmca-ink);
	font: 500 15px/1 var(--ngmca-font-head); text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ast-pagination .page-numbers:hover, .navigation.pagination .page-numbers:hover { border-color: var(--ngmca-blue); color: var(--ngmca-blue); }
.ast-pagination .page-numbers.current, .navigation.pagination .page-numbers.current { background: var(--ngmca-blue); border-color: var(--ngmca-blue); color: #fff; }

/* ---- Search and 404 ----------------------------------------------------------------------- */
.search .ast-archive-description, .archive .ast-archive-description { display: none; }
.search-no-results .page-title, .error404 .page-title, .error404 .ast-404-layout-1 .page-title {
	font: 700 clamp(26px, 3.4vw, 36px)/1.2 var(--ngmca-font-head); color: var(--ngmca-ink);
}
.error404 .ast-404-layout-1 .page-sub-title, .search-no-results .page-content p { font-size: 17px; color: var(--ngmca-text); }
.error404 .search-form, .search-no-results .search-form { max-width: 560px; margin: 18px auto 0; }
.error404 .ast-404-layout-1 .page-header { padding-top: 24px; }
.search-form .search-field { padding-right: 52px; }
.search-form .search-submit { border-radius: var(--ngmca-radius-sm); }

/* ---- Sidebar / widgets (when one is switched on) ------------------------------------------ */
.widget-title, .widget .widget-title { font: 700 18px/1.3 var(--ngmca-font-head); color: var(--ngmca-ink); }
.widget ul li a { color: var(--ngmca-text); text-decoration: none; }
.widget ul li a:hover { color: var(--ngmca-blue); }
.comments-title, .comment-reply-title { font: 700 24px/1.3 var(--ngmca-font-head); }
