/*
 * Ashcraft Initiative — Custom Dark Theme
 * Overrides Astra defaults to match the landing page aesthetic.
 * Loaded by the ashcraft-theme mu-plugin.
 */

/* ===== FONTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

/* ===== ROOT VARIABLES ===== */
:root {
    --bg-deep: #0f0f0f;
    --bg-primary: #1a1a1a;
    --bg-elevated: #242424;
    --bg-card: #1e1e1e;
    --orange-flame: #E8731A;
    --orange-glow: #F5923E;
    --orange-ember: #C45A10;
    --cream: #E8DCC8;
    --cream-dim: #B8AD9C;
    --gray-steel: #6B6B6B;
    --gray-anvil: #4A4A4A;
    --gray-dark: #2a2a2a;
    --text-primary: #EDEDED;
    --text-secondary: #A8A8A8;
    --text-dim: #707070;
}

/* ===== GLOBAL ===== */
body, .ast-separate-container {
    background-color: var(--bg-deep) !important;
    color: var(--text-primary) !important;
    font-family: 'Source Sans 3', sans-serif !important;
}

/* ===== HEADER ===== */
.ast-primary-header-bar,
.site-header,
.ast-primary-header,
.main-header-bar {
    background-color: var(--bg-primary) !important;
    border-bottom: 1px solid var(--gray-dark) !important;
    box-shadow: none !important;
}

.site-title a,
.ast-site-identity .site-title a {
    color: var(--cream) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.main-header-menu .menu-link,
.ast-header-break-point .ast-button-wrap .menu-toggle,
.main-header-menu a,
.ast-nav-menu a {
    color: var(--text-secondary) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

.main-header-menu a:hover,
.ast-nav-menu a:hover,
.main-header-menu .menu-link:hover {
    color: var(--orange-glow) !important;
}

.main-header-menu .current-menu-item > a,
.main-header-menu .current-menu-item > .menu-link {
    color: var(--orange-flame) !important;
}

/* ===== CONTENT AREA ===== */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-woocommerce-container,
.ast-separate-container .no-results,
.ast-separate-container .ast-no-results,
.site-content .ast-container,
.ast-plain-container,
#primary, #secondary,
.ast-separate-container #primary,
.ast-separate-container #secondary {
    background-color: var(--bg-deep) !important;
}

article, .ast-article-post, .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--gray-dark) !important;
    border-radius: 4px !important;
    padding: 2rem !important;
}

/* ===== TYPOGRAPHY ===== */
h1, h2, h3, h4, h5, h6,
.entry-title, .entry-title a,
.page-title,
.ast-archive-title,
.woocommerce-products-header__title {
    color: var(--cream) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

p, li, td, th, span, div, label,
.entry-content p,
.entry-content li {
    color: var(--text-secondary);
}

a {
    color: var(--orange-flame) !important;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--orange-glow) !important;
}

/* ===== SIDEBAR / WIDGETS ===== */
.widget, .widget-area,
.ast-separate-container .widget-area .widget {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--gray-dark) !important;
    border-radius: 4px !important;
    color: var(--text-secondary) !important;
}

.widget-title, .widget h2 {
    color: var(--cream) !important;
    font-family: 'Rajdhani', sans-serif !important;
    border-bottom: 2px solid var(--orange-ember) !important;
    padding-bottom: 0.5rem !important;
}

/* ===== BUTTONS ===== */
.ast-button, .button, button,
input[type="submit"], input[type="button"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
#bbpress-forums #bbp-search-form #bbp_search_submit,
#bbpress-forums .bbp-submit-wrapper button {
    background-color: var(--orange-flame) !important;
    color: var(--bg-deep) !important;
    border: none !important;
    border-radius: 3px !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 0.75rem 1.5rem !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
}

.ast-button:hover, .button:hover, button:hover,
input[type="submit"]:hover, input[type="button"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background-color: var(--orange-glow) !important;
    color: var(--bg-deep) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(232, 115, 26, 0.3);
}

/* ===== FORMS / INPUTS ===== */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="url"], input[type="tel"],
input[type="number"], textarea, select,
.woocommerce .input-text,
#bbpress-forums input[type="text"],
#bbpress-forums textarea,
#bbpress-forums select {
    background-color: var(--bg-deep) !important;
    border: 1px solid var(--gray-dark) !important;
    border-radius: 3px !important;
    color: var(--text-primary) !important;
    font-family: 'Source Sans 3', sans-serif !important;
    padding: 0.75rem 1rem !important;
    transition: border-color 0.3s ease;
}

input[type="text"]:focus, input[type="email"]:focus,
input[type="password"]:focus, input[type="search"]:focus,
textarea:focus, select:focus {
    border-color: var(--orange-flame) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(232, 115, 26, 0.15) !important;
}

::placeholder {
    color: var(--text-dim) !important;
}

/* ===== FOOTER ===== */
.ast-footer, .site-footer,
.ast-small-footer, .ast-footer-overlay,
.site-below-footer-wrap,
.ast-footer-row-inline {
    background-color: var(--bg-primary) !important;
    border-top: 1px solid var(--gray-dark) !important;
    color: var(--text-dim) !important;
}

.site-footer a, .ast-footer a {
    color: var(--cream-dim) !important;
}

.site-footer a:hover, .ast-footer a:hover {
    color: var(--orange-glow) !important;
}

/* ===== WOOCOMMERCE ===== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--gray-dark) !important;
    border-radius: 4px !important;
    padding: 1.5rem !important;
    transition: all 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    border-color: var(--orange-ember) !important;
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
    color: var(--cream) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--orange-flame) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
}

.woocommerce .star-rating span::before {
    color: var(--orange-flame) !important;
}

.woocommerce-message, .woocommerce-info {
    background-color: var(--bg-card) !important;
    border-top-color: var(--orange-flame) !important;
    color: var(--text-secondary) !important;
}

.woocommerce-error {
    background-color: var(--bg-card) !important;
    border-top-color: #ef4444 !important;
    color: var(--text-secondary) !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background-color: var(--bg-card) !important;
    color: var(--text-secondary) !important;
    border-color: var(--gray-dark) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--orange-flame) !important;
    color: var(--bg-deep) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: var(--bg-card) !important;
    border-color: var(--gray-dark) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--bg-primary) !important;
    border-bottom-color: var(--bg-primary) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--text-secondary) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--orange-flame) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    background-color: var(--bg-primary) !important;
    color: var(--text-secondary) !important;
}

.woocommerce table.shop_table {
    background-color: var(--bg-card) !important;
    border-color: var(--gray-dark) !important;
}

.woocommerce table.shop_table th {
    background-color: var(--bg-elevated) !important;
    color: var(--cream) !important;
    font-family: 'Rajdhani', sans-serif !important;
}

.woocommerce table.shop_table td {
    border-color: var(--gray-dark) !important;
    color: var(--text-secondary) !important;
}

/* Cart and Checkout */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--gray-dark) !important;
    border-radius: 4px !important;
    padding: 1.5rem !important;
}

/* ===== BBPRESS FORUMS ===== */
#bbpress-forums {
    font-family: 'Source Sans 3', sans-serif !important;
}

#bbpress-forums .bbp-header,
#bbpress-forums .bbp-footer {
    background-color: var(--bg-elevated) !important;
    border: 1px solid var(--gray-dark) !important;
    color: var(--cream) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 4px !important;
}

#bbpress-forums li.bbp-header .bbp-forum-info,
#bbpress-forums li.bbp-header .bbp-topic-title,
#bbpress-forums li.bbp-header .bbp-reply-author {
    color: var(--cream) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic,
#bbpress-forums .bbp-forums-list li,
#bbpress-forums li.bbp-body .bbp-forum-info,
#bbpress-forums li.bbp-body .bbp-topic-title {
    background-color: var(--bg-card) !important;
    border-bottom: 1px solid var(--gray-dark) !important;
    padding: 1rem !important;
}

#bbpress-forums li.bbp-body ul.forum:hover,
#bbpress-forums li.bbp-body ul.topic:hover {
    background-color: var(--bg-elevated) !important;
}

#bbpress-forums .bbp-forum-title,
#bbpress-forums .bbp-topic-permalink {
    color: var(--orange-flame) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
}

#bbpress-forums .bbp-forum-title:hover,
#bbpress-forums .bbp-topic-permalink:hover {
    color: var(--orange-glow) !important;
}

#bbpress-forums .bbp-forum-content,
#bbpress-forums .bbp-topic-content,
#bbpress-forums .bbp-reply-content,
#bbpress-forums p.bbp-topic-meta {
    color: var(--text-secondary) !important;
}

#bbpress-forums .bbp-topic-freshness-author,
#bbpress-forums .bbp-author-name {
    color: var(--cream-dim) !important;
}

#bbpress-forums div.bbp-reply-author img.avatar {
    border: 2px solid var(--gray-dark) !important;
    border-radius: 4px !important;
}

#bbpress-forums .bbp-reply-header {
    background-color: var(--bg-elevated) !important;
    border: 1px solid var(--gray-dark) !important;
    color: var(--text-dim) !important;
}

#bbpress-forums div.bbp-reply-content {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--gray-dark) !important;
    padding: 1.5rem !important;
}

#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span.current {
    background-color: var(--bg-card) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--gray-dark) !important;
}

#bbpress-forums .bbp-pagination-links a:hover,
#bbpress-forums .bbp-pagination-links span.current {
    background-color: var(--orange-flame) !important;
    color: var(--bg-deep) !important;
}

/* ===== BREADCRUMBS ===== */
.ast-breadcrumbs, .ast-breadcrumbs a,
nav.woocommerce-breadcrumb, nav.woocommerce-breadcrumb a {
    color: var(--text-dim) !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 0.85rem !important;
}

.ast-breadcrumbs a:hover,
nav.woocommerce-breadcrumb a:hover {
    color: var(--orange-glow) !important;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--bg-deep);
}
::-webkit-scrollbar-thumb {
    background: var(--gray-anvil);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--orange-ember);
}

/* ===== SELECTION ===== */
::selection {
    background: rgba(232, 115, 26, 0.3);
    color: var(--text-primary);
}

/* ===== BACK TO HOME LINK ===== */
.ashcraft-home-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--orange-flame);
    text-decoration: none;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}

.ashcraft-home-link:hover {
    color: var(--orange-glow);
}
