/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Child theme for Astra that safely overrides styles and adds custom functionality.
Author: Rahul
Author URI: https://emvigotech.com/
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Tags: custom-colors, custom-menu, custom-logo, featured-images, translation-ready
*/

/* Your custom CSS goes below */

/* === Blog Grid Shortcode === */
.gm-blog-grid { --gm-gap: 24px; --gm-radius: 16px; --gm-shadow: 0 6px 20px rgba(0,0,0,.06); --gm-muted:#f5f5f7; }
.gm-blog-grid .gm-grid { display:grid; grid-template-columns: repeat(var(--gm-cols,3), minmax(0,1fr)); gap: var(--gm-gap); }
.gm-blog-grid.gm-cols-2 { --gm-cols:2; }
.gm-blog-grid.gm-cols-3 { --gm-cols:3; }
.gm-blog-grid.gm-cols-4 { --gm-cols:4; }
.gm-card { background:#fff; border-radius: var(--gm-radius); overflow:hidden; box-shadow: var(--gm-shadow); display:flex; flex-direction:column; }
.gm-thumb { position:relative; display:block; background: var(--gm-muted); }
.gm-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.gm-thumb.is-placeholder .gm-ph { width:100%; height:100%; opacity:.2; }
.gm-badge { position:absolute; left:12px; top:12px; font-size:.75rem; padding:4px 10px; background:#eee; border-radius:999px; line-height:1; }
.gm-card-body { padding: 16px 18px 18px; display:flex; flex-direction:column; gap:10px; }
.gm-title { font-size:1.05rem; line-height:1.35; margin:0; }
.gm-title a { text-decoration:none; }
.gm-excerpt { color:#555; margin:0; }
.gm-meta { display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-size:.9rem; color:#666; justify-content: space-between }
.gm-meta-item { display:inline-flex; align-items:center; gap:6px; }
.gm-meta-item svg { width:16px; height:16px; fill:currentColor; opacity:.85; }
.gm-empty { color:#666; }
.gm-pagination { margin-top:28px; text-align:center; }
.gm-pagination .page-numbers { display:flex; padding:8px 12px; margin: 0 4px; border-radius:10px; justify-content: center;}
.gm-pagination .page-numbers{ list-style:none;}
.gm-pagination .page-numbers.current { background:#7c506b; color:#fff; }
@media (max-width: 960px) { .gm-blog-grid.gm-cols-4, .gm-blog-grid.gm-cols-3 { --gm-cols:2; } }
@media (max-width: 640px) { .gm-blog-grid { --gm-cols:1; } }
.post-thumbnail.aligncenter { text-align: center;}
.post-thumbnail img.centered-image { display: block; margin: 0 auto;}
.entry-body-with-toc { display: grid; grid-template-columns: minmax(0,1fr) 802px; gap: 2rem;}
.toc-sidebar { order: 1; }
.toc-content { order: 2; }
@media (min-width: 992px) { .entry-body-with-toc { grid-template-columns: minmax(0,1fr) 802px; } }
@media (max-width: 782px) { .entry-body-with-toc { display: block; } .toc-sidebar { margin-bottom: 1.5rem; } }
.toc-card { position: sticky; top: 100px; max-height: calc(100vh - 1px); overflow: auto; padding: 1rem 1rem 1.25rem; border: 1px solid var(--ast-border-color, #e5e7eb); border-radius: 12px; background: #fff; }
.toc-title {font-weight: 600; margin-bottom: .5rem;}
.toc-list{ margin: 0; padding-left: 1rem; }
.toc-list > li { margin: .25rem 0; }
.toc-nav .toc-list > li > a { text-decoration: none; color: #7c506b; }
.toc-nav a:hover { text-decoration: underline; color: #7c506b; font-weight: 900 !important; }
.toc-nav a.active { font-weight: 600; text-decoration: underline; }
html { scroll-behavior: smooth; }