/*
 Theme Name:   Astra Child - ThePipeTool Dark Mode
 Theme URI:    https://www.thepipetool.com/blog
 Description:  Dark mode child theme for ThePipeTool blog, matching the main site design system.
 Author:       ThePipeTool
 Author URI:   https://www.thepipetool.com
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/

/* ============================================
   DARK MODE FOUNDATION
   Matches: view/index-test.php design system
   Palette: #0d0b09 body, #daa520 gold accent,
            #e8e0d4 text, Montserrat + Lora fonts
   ============================================ */

/* --- Override Astra Global Palette --- */
:root {
    --ast-global-color-0: #daa520;   /* Accent: gold */
    --ast-global-color-1: #b8860b;   /* Accent 2: dark gold */
    --ast-global-color-2: #ffffff;   /* Headings: white */
    --ast-global-color-3: #e8e0d4;   /* Body text: cream */
    --ast-global-color-4: #1e1c1a;   /* Card bg */
    --ast-global-color-5: #252218;   /* Card bg alt */
    --ast-global-color-6: rgba(184,134,11,0.15); /* Borders: gold subtle */
    --ast-global-color-7: #0d0b09;   /* Site bg */
    --ast-global-color-8: #0d0b09;   /* Site bg alt */
}

/* --- Base / Body --- */
body,
body.flavor-flavor {
    font-family: 'Lora', Georgia, serif;
    color: #e8e0d4;
    background: #0d0b09;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.ast-archive-title,
.page-title {
    font-family: 'Montserrat', sans-serif;
    color: #fff;
}

.entry-title a:hover {
    color: #daa520;
}

/* --- Links --- */
a {
    color: #daa520;
    transition: color 0.2s;
}
a:hover {
    color: #f0c040;
}

/* ============================================
   HEADER / NAVBAR — Compact with pipe icon
   ============================================ */
.ast-primary-header-bar,
.site-header,
.ast-primary-header,
.main-header-bar {
    background: rgba(13,11,9,0.95) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(218,165,32,0.15) !important;
}

/* Compact header height */
.main-header-bar,
.ast-primary-header-bar .site-primary-header-wrap {
    padding-top: 8px;
    padding-bottom: 8px;
}

/* Logo sizing — pipe icon only */
.ast-site-identity .custom-logo-link img,
.custom-logo-link img {
    max-height: 40px !important;
    width: auto !important;
}

/* Site title — Montserrat bold white, matching landing page nav brand */
.site-title,
.site-title a,
.ast-site-identity .site-title a {
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px !important;
    letter-spacing: 0.5px;
}

/* Site tagline — matches "Your Cellar. Your Pipes. Your Reviews." from index-test.php */
.site-description,
.ast-site-identity .site-description {
    color: #daa520 !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-top: 2px;
    opacity: 0.85;
}

/* Nav links */
.main-header-menu > .menu-item > a,
.ast-header-custom-item a,
.ast-masthead .ast-menu-toggle,
.main-navigation a {
    color: rgba(255,255,255,0.7) !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}

.main-header-menu > .menu-item > a:hover,
.main-header-menu > .menu-item.current-menu-item > a,
.main-navigation a:hover {
    color: #daa520 !important;
}

/* Submenu */
.ast-desktop .main-header-menu .sub-menu,
.main-header-menu .sub-menu {
    background: #1e1c1a;
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 8px;
}

.main-header-menu .sub-menu a {
    color: rgba(255,255,255,0.7) !important;
}

.main-header-menu .sub-menu a:hover {
    color: #daa520 !important;
    background: rgba(218,165,32,0.08);
}

/* ============================================
   SITE BACKGROUND & CONTENT AREA
   ============================================ */
.ast-separate-container,
.ast-two-container {
    background: #0d0b09;
}

/* Main content container background override */
.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-author-box,
.ast-separate-container .ast-page-builder-template .comment-respond,
.ast-separate-container .no-results,
.ast-separate-container .ast-pagination,
.ast-separate-container .ast-archive-description {
    background: linear-gradient(135deg, #1e1c1a, #252218);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 16px;
    padding: 32px;
}

/* Remove Astra default bottom borders between posts */
.ast-separate-container .ast-article-post {
    margin-bottom: 24px;
}

/* Full-width container override */
.ast-plain-container,
.ast-page-builder-template {
    background: #0d0b09;
}

/* ============================================
   BLOG POST CARDS (Archive / Index)
   ============================================ */
.ast-separate-container .blog-layout-3 .ast-article-post,
.ast-separate-container .blog-layout-2 .ast-article-post,
.ast-separate-container .ast-article-post {
    background: linear-gradient(135deg, #1e1c1a, #252218);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.ast-separate-container .ast-article-post:hover {
    border-color: rgba(218,165,32,0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* Post thumbnails */
.post-thumb-img-content img,
.ast-blog-single-element.ast-featured-img img {
    border-radius: 0;
}

/* Post meta (date, author, category) */
.entry-meta,
.entry-meta a,
.entry-meta *,
.ast-blog-single-element .post-meta *,
.read-more a {
    color: rgba(255,255,255,0.45) !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
}

.entry-meta a:hover,
.read-more a:hover {
    color: #daa520 !important;
}

/* Category badge */
.ast-blog-single-element.ast-taxonomy-container a,
.cat-links a {
    color: #daa520 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ast-blog-single-element.ast-taxonomy-container a:hover,
.cat-links a:hover {
    color: #f0c040 !important;
}

/* Excerpt text */
.ast-excerpt-container,
.ast-excerpt-container p,
.entry-content p {
    color: #e8e0d4;
    font-family: 'Lora', Georgia, serif;
    line-height: 1.7;
}

/* ============================================
   SINGLE POST
   ============================================ */
.ast-single-post .entry-content {
    color: #e8e0d4;
}

.ast-single-post .entry-content h1,
.ast-single-post .entry-content h2,
.ast-single-post .entry-content h3,
.ast-single-post .entry-content h4 {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}

.ast-single-post .entry-content blockquote {
    border-left: 4px solid #daa520;
    background: rgba(218,165,32,0.06);
    padding: 20px 24px;
    border-radius: 0 12px 12px 0;
    color: rgba(255,255,255,0.85);
    font-style: italic;
}

.ast-single-post .entry-content blockquote p {
    color: rgba(255,255,255,0.85);
}

/* Code blocks */
.entry-content code,
.entry-content pre {
    background: rgba(255,255,255,0.05);
    color: #daa520;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.08);
}

.entry-content pre {
    padding: 20px;
}

.entry-content code {
    padding: 2px 6px;
    font-size: 13px;
}

/* Images inside posts */
.entry-content img {
    border-radius: 12px;
}

/* Horizontal rule */
.entry-content hr {
    border-color: rgba(255,255,255,0.08);
}

/* Lists */
.entry-content ul li,
.entry-content ol li {
    color: #e8e0d4;
}

/* Tables inside posts */
.entry-content table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.08);
}

.entry-content table th {
    background: rgba(218,165,32,0.08);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.entry-content table td {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    color: rgba(255,255,255,0.8);
}

/* ============================================
   COMMENTS
   ============================================ */
.ast-comment-list li.depth-1 {
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.comment-reply-title,
.comments-title {
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
}

.comment-author .fn,
.comment-author .fn a {
    color: #daa520 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.comment-content,
.comment-content p {
    color: #e8e0d4;
}

.ast-comment-time,
.comment-metadata a {
    color: rgba(255,255,255,0.35) !important;
    font-size: 12px;
}

/* Comment form */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: #e8e0d4;
    border-radius: 8px;
    padding: 10px 14px;
    font-family: 'Lora', Georgia, serif;
    transition: border-color 0.2s;
}

.comment-form input:focus,
.comment-form textarea:focus {
    border-color: rgba(218,165,32,0.5);
    background: rgba(255,255,255,0.08);
    outline: none;
}

.comment-form label {
    color: rgba(255,255,255,0.6);
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
}

/* ============================================
   BUTTONS
   ============================================ */
.ast-button,
button,
.button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.ast-custom-button {
    background: linear-gradient(135deg, #b8860b, #daa520, #c49618) !important;
    color: #0d0b09 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 14px;
    transition: all 0.25s ease;
    box-shadow: 0 2px 12px rgba(218,165,32,0.3);
    cursor: pointer;
}

.ast-button:hover,
button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(218,165,32,0.45);
    color: #0d0b09 !important;
}

/* Outline variant */
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    border: 2px solid rgba(218,165,32,0.5) !important;
    color: #daa520 !important;
    box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: rgba(218,165,32,0.1) !important;
    border-color: #daa520 !important;
}

/* ============================================
   SIDEBAR (if ever enabled)
   ============================================ */
.widget-area .widget {
    background: linear-gradient(135deg, #1e1c1a, #252218);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.widget-title,
.widget-area .widget-title {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(218,165,32,0.3);
    margin-bottom: 16px;
}

.widget-area .widget a {
    color: #daa520;
}

.widget-area .widget a:hover {
    color: #f0c040;
}

.widget-area .widget,
.widget-area .widget li,
.widget-area .widget p {
    color: rgba(255,255,255,0.7);
    font-size: 14px;
}

/* ============================================
   PAGINATION
   ============================================ */
.ast-pagination .page-numbers,
.ast-pagination a {
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.6);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    transition: all 0.2s;
}

.ast-pagination .page-numbers.current,
.ast-pagination a:hover {
    background: linear-gradient(135deg, #b8860b, #daa520);
    color: #0d0b09;
    border-color: #daa520;
}

/* ============================================
   FOOTER
   ============================================ */
.ast-footer,
.site-footer,
.ast-small-footer,
.ast-footer-overlay,
.site-below-footer-wrap,
.ast-above-footer-wrap,
.ast-below-footer-bar,
footer.site-footer {
    background: #0d0b09 !important;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.ast-small-footer,
.site-footer .site-info,
.ast-footer-copyright,
.site-below-footer-wrap .ast-builder-grid-row {
    color: rgba(255,255,255,0.3);
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
}

.ast-small-footer a,
.site-footer a,
.ast-footer-copyright a {
    color: #b8860b;
}

.ast-small-footer a:hover,
.site-footer a:hover {
    color: #daa520;
}

/* Footer widgets */
.footer-adv .widget-title {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}

.footer-adv .widget,
.footer-adv .widget p {
    color: rgba(255,255,255,0.5);
}

/* ============================================
   SCROLL TO TOP
   ============================================ */
#ast-scroll-top,
.ast-scroll-top-icon {
    background: linear-gradient(135deg, #b8860b, #daa520) !important;
    color: #0d0b09 !important;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(218,165,32,0.3);
}

#ast-scroll-top:hover {
    box-shadow: 0 4px 20px rgba(218,165,32,0.45);
}

/* ============================================
   SEARCH
   ============================================ */
.search-form .search-field {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: #e8e0d4;
    border-radius: 8px;
    font-family: 'Lora', Georgia, serif;
}

.search-form .search-field:focus {
    border-color: rgba(218,165,32,0.5);
    background: rgba(255,255,255,0.08);
}

.search-form .search-submit {
    background: linear-gradient(135deg, #b8860b, #daa520) !important;
    color: #0d0b09 !important;
}

/* ============================================
   404 PAGE
   ============================================ */
.error-404 h1,
.page-header .page-title {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}

.error-404 .page-sub-title {
    color: rgba(255,255,255,0.6);
}

/* ============================================
   MISC OVERRIDES
   ============================================ */

/* Selection highlight */
::selection {
    background: rgba(218,165,32,0.3);
    color: #fff;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0d0b09;
}
::-webkit-scrollbar-thumb {
    background: rgba(218,165,32,0.3);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(218,165,32,0.5);
}

/* Tag links */
.tagcloud a,
.post-tags a,
.ast-terms-link a {
    background: rgba(218,165,32,0.08) !important;
    border: 1px solid rgba(218,165,32,0.2) !important;
    color: #daa520 !important;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px !important;
    font-weight: 500;
    padding: 4px 12px;
    transition: all 0.2s;
}

.tagcloud a:hover,
.post-tags a:hover {
    background: rgba(218,165,32,0.15) !important;
    border-color: #daa520 !important;
}

/* Author box */
.ast-author-box {
    border-top: 1px solid rgba(255,255,255,0.06);
}

.ast-author-box .about-author {
    color: rgba(255,255,255,0.6);
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ast-author-box .author-title {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}

.ast-author-box .author-bio {
    color: rgba(255,255,255,0.7);
}

/* Post navigation (prev/next) */
.ast-single-post-navigation a {
    color: #daa520 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.ast-single-post-navigation a:hover {
    color: #f0c040 !important;
}

/* Related posts */
.ast-single-related-posts-container {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    padding: 32px;
}

.ast-single-related-posts-title {
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
}

/* Archive/Category title */
.ast-archive-description .ast-archive-title,
.ast-archive-description .taxonomy-description p {
    color: #fff;
}

.ast-archive-description {
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Breadcrumbs */
.ast-breadcrumbs,
.ast-breadcrumbs a {
    color: rgba(255,255,255,0.4);
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
}

.ast-breadcrumbs a:hover {
    color: #daa520;
}

/* WP admin bar overrides when logged in */
body.admin-bar .ast-primary-header-bar,
body.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .ast-primary-header-bar,
    body.admin-bar .site-header {
        top: 46px;
    }
}
