/*
Theme Name: Astra Child Dark
Theme URI: https://wpastra.com/
Description: Astra child theme with a dark global layout, blog archive card grid, and dark single post page. Safe to customize without touching the parent theme.
Author: Alpha BPO
Author URI: https://alphabpo.com/
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* =========================================================
   1. DARK THEME — GLOBAL VARIABLES
   ========================================================= */
:root,
body.ast-theme-dark {
    --atc-bg:            #0e1117;   /* page background */
    --atc-bg-alt:        #151b24;   /* cards / surfaces */
    --atc-bg-soft:       #1c2330;   /* hover / inputs */
    --atc-border:        #2a3342;
    --atc-text:          #e6e9ef;
    --atc-text-muted:    #9aa3b2;
    --atc-heading:       #ffffff;
    --atc-accent:        #00a8e8;   /* matches "Read More" blue in mockup */
    --atc-accent-hover:  #0095cf;
    --atc-header-bg:     #0a0d13;
    --atc-footer-bg:     #0a0d13;
}

/* =========================================================
   2. GLOBAL BASE
   ========================================================= */
html,
body,
body.ast-separate-container,
body.ast-plain-container {
    background-color: var(--atc-bg) !important;
    color: var(--atc-text);
}

body,
body p,
body li,
body dd,
body dt,
body span,
body address {
    color: var(--atc-text);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.ast-archive-title {
    color: var(--atc-heading) !important;
}

a { color: var(--atc-accent); }
a:hover,
a:focus { color: var(--atc-accent-hover); }

hr { border-color: var(--atc-border); }

/* Content container (works for both "boxed" and "full-width" Astra layouts) */
.site-content,
#primary,
.ast-container,
.entry-content,
.site-main,
.ast-article-single,
.ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container #primary,
.ast-plain-container .site-content > .ast-container {
    background-color: transparent !important;
    color: var(--atc-text);
}

/* Sidebars */
#secondary,
.widget_search,
.widget,
.widget-area .widget {
    background-color: var(--atc-bg-alt) !important;
    color: var(--atc-text);
    border-color: var(--atc-border);
}
.widget-title,
.widget .widget-title {
    color: var(--atc-heading) !important;
    border-bottom: 1px solid var(--atc-border);
    padding-bottom: 8px;
    margin-bottom: 14px;
}
.widget a { color: var(--atc-text); }
.widget a:hover { color: var(--atc-accent); }

/* Inputs / search */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="number"],
textarea,
select {
    background-color: var(--atc-bg-soft) !important;
    color: var(--atc-text) !important;
    border: 1px solid var(--atc-border) !important;
}
input::placeholder,
textarea::placeholder { color: var(--atc-text-muted); }

button,
input[type="submit"],
.wp-block-button__link,
.ast-custom-button {
    background-color: var(--atc-accent) !important;
    color: #fff !important;
    border-color: var(--atc-accent) !important;
}
button:hover,
input[type="submit"]:hover { background-color: var(--atc-accent-hover) !important; }

/* Tables, code, blockquote */
table { color: var(--atc-text); border-color: var(--atc-border); }
table th, table td { border-color: var(--atc-border); }
code, pre {
    background-color: #11161e;
    color: #e6e9ef;
    border: 1px solid var(--atc-border);
}
blockquote {
    background-color: var(--atc-bg-alt);
    border-left: 4px solid var(--atc-accent);
    color: var(--atc-text);
    padding: 18px 22px;
}

/* =========================================================
   3. HEADER — DARKER
   ========================================================= */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-above-header,
.ast-below-header,
.ast-main-header-wrap,
header.site-header,
.ast-header-break-point .main-header-bar {
    background-color: var(--atc-header-bg) !important;
    border-bottom: 1px solid var(--atc-border);
}

.site-title,
.site-title a,
.site-description,
.ast-site-identity .site-title a {
    color: #fff !important;
}

/* Primary menu */
.main-header-menu a,
.main-header-menu .menu-item > a,
.ast-header-break-point .main-header-menu a,
.main-navigation a,
#ast-desktop-header .main-header-menu a {
    color: #ffffff !important;
}
.main-header-menu a:hover,
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a {
    color: var(--atc-accent) !important;
}

/* Sub-menu dropdowns */
.main-header-menu .sub-menu,
.main-header-menu ul.sub-menu {
    background-color: var(--atc-header-bg) !important;
    border: 1px solid var(--atc-border);
}
.main-header-menu .sub-menu a { color: #fff !important; }
.main-header-menu .sub-menu a:hover { background-color: var(--atc-bg-soft) !important; color: var(--atc-accent) !important; }

/* Header widgets — custom HTML, social, search, button */
.ast-builder-layout-element,
.ast-header-html,
.ast-header-html *:not(a),
.ast-header-widget-area,
.ast-header-widget-area *,
.ast-builder-social-element,
.ast-header-search .search-field,
.ast-builder-text-element,
.ast-header-button-1 .ast-custom-button {
    color: #fff !important;
}
.ast-header-html a,
.ast-header-widget-area a,
.ast-builder-social-element a,
.ast-builder-social-element a svg,
.ast-header-social-1-wrap-inner a,
.ast-header-social-1-wrap-inner a svg {
    color: #fff !important;
    fill: #fff !important;
}
.ast-builder-social-element a:hover,
.ast-builder-social-element a:hover svg {
    color: var(--atc-accent) !important;
    fill: var(--atc-accent) !important;
}

/* Header search input */
.ast-search-menu-icon .search-field,
.ast-header-search .search-field {
    background-color: var(--atc-bg-soft) !important;
    color: #fff !important;
    border-color: var(--atc-border) !important;
}
.ast-search-menu-icon .search-submit,
.ast-header-search .search-submit { color: #fff !important; }

/* Mobile menu toggle */
.ast-mobile-menu-buttons-minimal,
.ast-button-wrap .menu-toggle,
.ast-mobile-header-wrap,
.ast-mobile-header-wrap .main-header-bar {
    background-color: var(--atc-header-bg) !important;
    color: #fff !important;
}
.menu-toggle .menu-toggle-icon,
.ast-mobile-menu-trigger-minimal { color: #fff !important; }

/* =========================================================
   4. FOOTER — DARKER
   ========================================================= */
.site-footer,
.footer-adv,
.footer-adv-overlay,
.ast-small-footer,
.footer-sml-layout-1,
.ast-builder-footer-grid-columns,
.site-below-footer-wrap,
.site-above-footer-wrap,
.site-primary-footer-wrap {
    background-color: var(--atc-footer-bg) !important;
    color: #fff !important;
    border-top: 1px solid var(--atc-border);
}

.site-footer *,
.footer-adv *,
.ast-small-footer *,
.site-below-footer-wrap *,
.site-primary-footer-wrap * { color: #fff !important; }

.site-footer a,
.footer-adv a,
.ast-small-footer a { color: #fff !important; }
.site-footer a:hover,
.footer-adv a:hover,
.ast-small-footer a:hover { color: var(--atc-accent) !important; }

.site-footer .widget-title,
.footer-adv .widget-title { color: #fff !important; border-bottom-color: var(--atc-border); }

.site-footer input,
.site-footer textarea,
.site-footer select,
.footer-adv input,
.footer-adv textarea {
    background-color: var(--atc-bg-soft) !important;
    color: #fff !important;
    border-color: var(--atc-border) !important;
}

/* Footer social */
.site-footer .ast-builder-social-element,
.site-footer .ast-builder-social-element svg,
.footer-adv .ast-builder-social-element,
.footer-adv .ast-builder-social-element svg {
    color: #fff !important;
    fill: #fff !important;
}

/* =========================================================
   5. BLOG ARCHIVE / POST LIST — CARD GRID
   (matches the screenshot layout)
   ========================================================= */

/* Section heading like "NEW AND RECENTLY PUBLISHED" */
.atc-blog-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    margin: 0 0 28px;
    border-bottom: 1px solid var(--atc-border);
}
.atc-blog-heading h1,
.atc-blog-heading h2 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 0;
    color: #fff !important;
}
.atc-blog-heading .atc-viewall {
    font-size: 14px;
    font-weight: 600;
    color: var(--atc-accent);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.atc-blog-heading .atc-viewall:after {
    content: "—";
    margin-left: 4px;
}

/* Grid — 4 cards per row, responsive */
.atc-post-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
    margin-bottom: 40px;
}
@media (max-width: 1100px) {
    .atc-post-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
    .atc-post-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .atc-post-grid { grid-template-columns: 1fr; }
}

/* Card */
.atc-card {
    background-color: var(--atc-bg-alt);
    border: 1px solid var(--atc-border);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.atc-card:hover {
    transform: translateY(-4px);
    border-color: var(--atc-accent);
    box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}

/* Thumbnail area — tall, like book covers in the screenshot */
.atc-card-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 3/4;
    background-color: #0a0d13;
    overflow: hidden;
    display: block;
}
.atc-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.atc-card:hover .atc-card-thumb img { transform: scale(1.05); }

/* Placeholder when no featured image */
.atc-card-thumb.atc-no-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1a2332 0%, #0a0d13 100%);
    color: var(--atc-text-muted);
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 2px;
}

/* Card body */
.atc-card-body {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.atc-card-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 8px;
}
.atc-card-title a {
    color: #fff !important;
    text-decoration: none;
}
.atc-card-title a:hover { color: var(--atc-accent) !important; }

.atc-card-meta {
    color: var(--atc-text-muted);
    font-size: 13px;
    margin: 0 0 14px;
    line-height: 1.5;
}
.atc-card-meta .atc-author { color: var(--atc-text); }

.atc-card-excerpt {
    color: var(--atc-text-muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0 0 16px;
    flex: 1;
}

/* Read More button — matches the cyan pill in screenshot */
.atc-read-more {
    display: inline-block;
    align-self: flex-start;
    padding: 8px 18px;
    background-color: var(--atc-accent);
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
.atc-read-more:hover {
    background-color: var(--atc-accent-hover);
    color: #fff !important;
}

/* =========================================================
   6. PAGINATION
   ========================================================= */
.atc-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 40px 0;
    flex-wrap: wrap;
}
.atc-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--atc-border);
    background-color: var(--atc-bg-alt);
    color: var(--atc-text) !important;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
}
.atc-pagination .page-numbers:hover,
.atc-pagination .page-numbers.current {
    background-color: var(--atc-accent);
    border-color: var(--atc-accent);
    color: #fff !important;
}

/* =========================================================
   7. SINGLE POST — DARK LAYOUT
   ========================================================= */
.atc-single {
    max-width: 880px;
    margin: 0 auto;
    padding: 20px 0 60px;
}

.atc-single-header {
    text-align: center;
    padding: 30px 0 40px;
    border-bottom: 1px solid var(--atc-border);
    margin-bottom: 40px;
}
.atc-single-category {
    display: inline-block;
    background-color: var(--atc-accent);
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 5px 14px;
    border-radius: 20px;
    text-decoration: none;
    margin-bottom: 18px;
}
.atc-single-title {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff !important;
    margin: 0 0 20px;
}
.atc-single-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    color: var(--atc-text-muted);
    font-size: 14px;
}
.atc-single-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.atc-single-meta a { color: var(--atc-text); }
.atc-single-meta a:hover { color: var(--atc-accent); }
.atc-meta-icon {
    width: 14px;
    height: 14px;
    display: inline-block;
    opacity: 0.7;
}

/* Featured image */
.atc-single-thumb {
    margin: 0 0 40px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--atc-border);
}
.atc-single-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

/* Content area */
.atc-single-content {
    font-size: 17px;
    line-height: 1.75;
    color: var(--atc-text);
}
.atc-single-content p { margin-bottom: 1.3em; }
.atc-single-content h2 { font-size: 28px; margin: 40px 0 18px; }
.atc-single-content h3 { font-size: 22px; margin: 30px 0 14px; }
.atc-single-content h4 { font-size: 18px; margin: 24px 0 12px; }
.atc-single-content img { border-radius: 6px; max-width: 100%; height: auto; }
.atc-single-content ul,
.atc-single-content ol { margin: 0 0 1.3em 1.3em; }
.atc-single-content a { color: var(--atc-accent); text-decoration: underline; }
.atc-single-content a:hover { color: var(--atc-accent-hover); }

/* Tags */
.atc-single-tags {
    margin: 40px 0 0;
    padding: 20px 0;
    border-top: 1px solid var(--atc-border);
    border-bottom: 1px solid var(--atc-border);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.atc-single-tags-label {
    color: var(--atc-text-muted);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.atc-single-tags a {
    display: inline-block;
    padding: 4px 12px;
    background-color: var(--atc-bg-alt);
    border: 1px solid var(--atc-border);
    color: var(--atc-text) !important;
    font-size: 12px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.atc-single-tags a:hover {
    background-color: var(--atc-accent);
    border-color: var(--atc-accent);
    color: #fff !important;
}

/* Author box */
.atc-author-box {
    margin: 40px 0;
    padding: 25px;
    background-color: var(--atc-bg-alt);
    border: 1px solid var(--atc-border);
    border-radius: 8px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.atc-author-avatar img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: block;
}
.atc-author-info { flex: 1; }
.atc-author-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--atc-text-muted);
    margin-bottom: 4px;
}
.atc-author-name {
    font-size: 18px;
    font-weight: 700;
    color: #fff !important;
    margin: 0 0 8px;
}
.atc-author-bio {
    color: var(--atc-text-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* Post navigation */
.atc-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 40px 0;
}

[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
        fill: #ffffff !important;
    }

@media (max-width: 640px) {
    .atc-post-nav { grid-template-columns: 1fr; }
}

.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle{
	background-image:  unset !important;
	background: black  !important;
	background-color: black  !important;
	border: 1px solid white; 
	
	        background-image: linear-gradient(90deg, #ffc700 0%, #ffc700 100%);
        border-radius: 5px !important;
        width: 40px !important;
        height: 40px !important;
        display: flex;
        justify-content: center;
        align-items: center;
	
}

.atc-post-nav a {
    display: block;
    padding: 18px 20px;
    background-color: var(--atc-bg-alt);
    border: 1px solid var(--atc-border);
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.atc-post-nav a:hover {
    border-color: var(--atc-accent);
    background-color: var(--atc-bg-soft);
}
.atc-post-nav-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--atc-accent);
    font-weight: 700;
    margin-bottom: 6px;
}
.atc-post-nav-title {
    font-size: 15px;
    font-weight: 600;
    color: #fff !important;
    line-height: 1.4;
}
.atc-post-nav .atc-next { text-align: right; }

/* Comments */
.atc-single .comments-area,
.atc-single #comments,
.atc-single .comment-respond {
    background-color: var(--atc-bg-alt);
    border: 1px solid var(--atc-border);
    border-radius: 8px;
    padding: 25px;
    margin-top: 30px;
}
.atc-single .comments-area *,
.atc-single .comment-respond * { color: var(--atc-text); }
.atc-single .comments-title,
.atc-single .comment-reply-title { color: #fff !important; font-size: 22px; margin-bottom: 20px; }
.atc-single .comment-body { border-bottom: 1px solid var(--atc-border); padding: 15px 0; }
.atc-single .comment-author cite,
.atc-single .comment-metadata a { color: var(--atc-text-muted); }

.partner_links li{
	list-style: none !important; 
}

.partner_links li{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 1 160px;
    margin:10px;
    background:rgba(255,255,255,0.8) !important;
    padding:10px 10px;
    border-radius:10px;
}

.partner_links li img{
    width:120px;    
    height:60px;     
    object-fit:contain; 
    display:block;
}
.error-404,
.search-no-results,
.no-results {
    background-color: var(--atc-bg-alt);
    border: 1px solid var(--atc-border);
    border-radius: 8px;
    padding: 40px;
    color: var(--atc-text);
    text-align: center;
}
.error-404 *,
.search-no-results *,
.no-results * { color: var(--atc-text); }

.atc-screen-reader-text {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle{
	background-color: white  !important; 
	color: black !important;
}
