/*
 Theme Name:   Sklep Barmana Astra Child
 Theme URI:    https://sklepbarmana.pl
 Description:  Custom child theme for Sklep Barmana
 Author:       Sklep Barmana
 Author URI:   https://sklepbarmana.pl
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/

/* ===== CSS Variables ===== */
:root {
    --sb-primary:   #23170F; /* Deep rich whiskey dark brown */
    --sb-accent:    #C97A34; /* Elegant warm whiskey copper/gold */
    --sb-bg:        #F7F6F3;
    --sb-white:     #FFFFFF;
    --sb-gray:      #6B7280;
    --sb-border:    rgba(0,0,0,0.10);
    --sb-radius:    6px;
    --sb-container-width: 1200px;
    --sb-container-gutter: 20px;
}

/* ===== Typography ===== */
body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--sb-primary);
    background: var(--sb-bg);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: var(--sb-primary);
}

/* ===== Header ===== */
.ast-primary-header-bar,
.main-header-bar,
.ast-primary-header,
.ast-main-header-wrap,
.main-header-bar-wrap,
.site-primary-header-wrap,
.site-header-focus-item.ast-primary-header-bar {
    background: var(--sb-primary) !important;
    background-color: var(--sb-primary) !important;
    border-bottom: none !important;
}

.site-header {
    background: var(--sb-primary) !important;
    background-color: var(--sb-primary) !important;
    border-bottom: 3px solid var(--sb-accent) !important;
}

.site-title a,
.site-description {
    color: var(--sb-white) !important;
}

/* Nav links – desktop + mobile */
a.menu-link,
.main-header-menu a.menu-link,
.ast-nav-menu a.menu-link {
    color: var(--sb-white) !important;
}

/* Comprehensive Header Hover Rules to prevent text disappearing */
.ast-primary-header-bar a:hover,
.ast-primary-header-bar .menu-item:hover > a,
.ast-primary-header-bar .menu-link:hover,
.main-header-menu a:hover,
.main-header-menu .menu-item:hover > a,
.main-header-menu .menu-link:hover,
.ast-nav-menu a:hover,
.ast-nav-menu .menu-item:hover > a,
.ast-nav-menu .menu-link:hover,
.site-title a:hover,
.menu-link:hover,
a.menu-link:hover,
.main-header-menu a.menu-link:hover,
.ast-nav-menu a.menu-link:hover {
    color: var(--sb-accent) !important;
    background-color: transparent !important;
}

/* Active / Current menu item styling to prevent disappearing and look extremely premium */
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a,
.main-header-menu .current-menu-ancestor > a,
.ast-nav-menu .current-menu-item > a,
.ast-nav-menu .current_page_item > a,
.current-menu-item > a,
.current_page_item > a {
    color: var(--sb-white) !important;
    border-bottom: none !important;
}

/* ===== Mobile header ===== */

/* Mobile header bar background */
.ast-mobile-header-wrap,
.ast-mobile-header-content,
.ast-header-break-point .main-header-bar,
.ast-header-break-point .ast-primary-header-bar {
    background: var(--sb-primary) !important;
}

/* Hamburger toggle — icon color only, NO background */
.menu-toggle.ast-mobile-menu-trigger-minimal {
    color: var(--sb-white) !important;
    background: transparent !important;
}
.menu-toggle.ast-mobile-menu-trigger-minimal svg {
    fill: var(--sb-white) !important;
}

/* Mobile dropdown — override Astra's #f9f9f9 background on each menu item link */
.ast-header-break-point .main-navigation ul .menu-item .menu-link,
.ast-header-break-point .main-navigation ul li a.menu-link {
    background-color: var(--sb-primary) !important;
    color: var(--sb-white) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
.ast-header-break-point .main-navigation ul .menu-item .menu-link:hover,
.ast-header-break-point .main-navigation ul li a.menu-link:hover {
    background-color: rgba(200,147,58,0.15) !important;
    color: var(--sb-accent) !important;
}

/* Also cover the nav container itself */
.ast-header-break-point .main-header-bar-navigation,
.ast-header-break-point .main-header-menu,
.ast-header-break-point .main-header-menu .sub-menu {
    background: var(--sb-primary) !important;
    background-color: var(--sb-primary) !important;
}

/* Cart icon */
.ast-cart-menu-wrap .count {
    background: var(--sb-accent) !important;
    color: var(--sb-white) !important;
}

/* ===== Buttons ===== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .cart input.button {
    background-color: var(--sb-accent) !important;
    color: var(--sb-white) !important;
    border-radius: var(--sb-radius) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    border: none !important;
    transition: opacity 0.2s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: var(--sb-accent) !important;
    opacity: 0.85 !important;
    color: var(--sb-white) !important;
}

/* ===== Product Cards ===== */
.woocommerce ul.products li.product {
    background: var(--sb-white);
    border-radius: var(--sb-radius);
    border: 1px solid var(--sb-border);
    padding: 16px !important;
    transition: box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--sb-primary) !important;
}
.woocommerce ul.products li.product .price {
    color: var(--sb-accent) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* ===== Single Product ===== */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--sb-accent) !important;
    border-bottom: 2px solid var(--sb-accent) !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--sb-accent) !important;
    font-weight: 700 !important;
    font-size: 1.6rem !important;
}

/* ===== Custom Footer ===== */
.sb-custom-footer {
    background: var(--sb-primary);
    color: rgba(255,255,255,0.7);
    padding: 28px 20px;
    text-align: center;
    font-size: 0.875rem;
}
.sb-footer-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 14px;
}
.sb-footer-links a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    transition: color 0.2s ease;
}
.sb-footer-links a:hover {
    color: var(--sb-accent);
}
.sb-footer-copyright {
    color: rgba(255,255,255,0.45);
    font-size: 0.8rem;
}

/* Hide default Astra footer */
#colophon,
.site-below-footer-wrap {
    display: none !important;
}

/* Shared layout width for header + content */
.ast-container,
.site-header .ast-container,
.ast-primary-header-bar .ast-container,
.main-header-bar .ast-container,
.ast-builder-grid-row-container,
.site-content > .ast-container,
.blog .site-content > .ast-container,
.archive .site-content > .ast-container,
.single-post .site-content > .ast-container {
    max-width: var(--sb-container-width) !important;
    width: calc(100vw - (var(--sb-container-gutter) * 2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 1240px) {
    .ast-container,
    .site-header .ast-container,
    .ast-primary-header-bar .ast-container,
    .main-header-bar .ast-container,
    .ast-builder-grid-row-container,
    .site-content > .ast-container,
    .blog .site-content > .ast-container,
    .archive .site-content > .ast-container,
    .single-post .site-content > .ast-container {
        width: calc(100% - (var(--sb-container-gutter) * 2)) !important;
    }
}

/* ===== Homepage sections ===== */
.home .entry-title {
    display: none !important;
}

.home .entry-content > :first-child {
    margin-top: 0;
}

.home .entry-content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.sb-home-section {
    margin-top: 3rem;
}

.sb-home-section__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.sb-home-section__head h2 {
    margin: 0;
    font-size: 2rem;
}

.sb-home-section__head p {
    margin: 0;
    color: var(--sb-gray);
    font-size: 0.95rem;
}

.sb-home-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.sb-home-card {
    background: var(--sb-white);
    border: 1px solid var(--sb-border);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.sb-home-card__image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(200,147,58,0.14), rgba(28,28,30,0.06));
}

.sb-home-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sb-home-card__image-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(200,147,58,0.12), rgba(28,28,30,0.08));
}

.sb-home-card__body {
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.sb-home-card__title {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.35;
}

.sb-home-card__title a {
    color: var(--sb-primary);
    text-decoration: none;
}

.sb-home-card__title a:hover {
    color: var(--sb-accent);
}

.sb-home-card__meta,
.sb-home-card__excerpt {
    margin: 0;
    color: var(--sb-gray);
    font-size: 0.93rem;
    line-height: 1.55;
}

.sb-home-card__price {
    margin-top: auto;
    font-weight: 700;
    color: var(--sb-accent);
}

.sb-home-empty {
    background: var(--sb-white);
    border: 1px dashed var(--sb-border);
    padding: 16px;
    border-radius: 14px;
    color: var(--sb-gray);
}

@media (max-width: 1200px) {
    .sb-home-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 921px) {
    .home .entry-content {
        padding-left: 0;
        padding-right: 0;
    }

    .home .entry-content h1 {
        font-size: 2.2rem !important;
        line-height: 1.15;
    }

    .home .entry-content h2 {
        font-size: 1.55rem !important;
    }

    .home .entry-content p {
        font-size: 1.02rem;
        line-height: 1.7;
    }

    .home .wp-block-columns {
        gap: 20px;
    }

    .home .wp-block-column {
        margin-bottom: 0;
    }

    .home .wp-block-button__link {
        width: 100%;
        text-align: center;
    }

    .sb-home-section {
        margin-top: 2.25rem;
    }

    .sb-home-section__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .sb-home-section__head h2 {
        font-size: 1.6rem;
    }
}

@media (max-width: 640px) {
    .ast-mobile-header-wrap .site-branding .site-title a,
    .ast-header-break-point .site-title a {
        font-size: 1.2rem;
        line-height: 1.2;
    }

    .home .entry-content h1 {
        font-size: 1.9rem !important;
    }

    .home .entry-content p {
        font-size: 0.98rem;
    }

    .sb-home-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .sb-home-card__body {
        padding: 14px;
    }
}

/* ==========================================================================
   BLOG ARCHIVE – 3-COLUMN CARD GRID
   ========================================================================== */

.blog .site-content > .ast-container,
.archive .site-content > .ast-container,
.search .site-content > .ast-container {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
}

.blog .ast-archive-title,
.archive .ast-archive-title {
    font-size: 2rem;
    margin-bottom: 2rem;
}

/* ── 3-column grid ── */
.blog .ast-row,
.archive .ast-row,
.search .ast-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Full-width items within grid cells */
.blog .ast-row > *,
.archive .ast-row > *,
.search .ast-row > * {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* ── Card styling ── */
.blog .ast-article-post,
.archive .ast-article-post,
.search .ast-article-post {
    background: var(--sb-white) !important;
    border: 1px solid var(--sb-border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    transition: border-color 0.2s ease !important;
}
.blog .ast-article-post:hover,
.archive .ast-article-post:hover,
.search .ast-article-post:hover {
    border-color: var(--sb-accent) !important;
}

.blog .ast-article-post .ast-article-inner,
.archive .ast-article-post .ast-article-inner,
.search .ast-article-post .ast-article-inner {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.blog .ast-article-post .post-content,
.archive .ast-article-post .post-content,
.search .ast-article-post .post-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

/* ── Typography ── */
.blog .ast-article-post .entry-title,
.archive .ast-article-post .entry-title,
.search .ast-article-post .entry-title {
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
    font-weight: 700 !important;
}
.blog .ast-article-post .entry-title a,
.archive .ast-article-post .entry-title a,
.search .ast-article-post .entry-title a {
    color: var(--sb-primary) !important;
    text-decoration: none !important;
}
.blog .ast-article-post .entry-title a:hover,
.archive .ast-article-post .entry-title a:hover,
.search .ast-article-post .entry-title a:hover {
    color: var(--sb-accent) !important;
}

.blog .ast-article-post .entry-meta,
.archive .ast-article-post .entry-meta,
.search .ast-article-post .entry-meta {
    font-size: 0.78rem !important;
    color: var(--sb-gray) !important;
    margin: 0 0 10px !important;
}

.blog .ast-article-post .entry-content,
.blog .ast-article-post .entry-summary,
.archive .ast-article-post .entry-content,
.archive .ast-article-post .entry-summary,
.search .ast-article-post .entry-content,
.search .ast-article-post .entry-summary {
    flex: 1 !important;
}
.blog .ast-article-post .entry-content p,
.blog .ast-article-post .entry-summary p,
.archive .ast-article-post .entry-content p,
.archive .ast-article-post .entry-summary p,
.search .ast-article-post .entry-content p,
.search .ast-article-post .entry-summary p {
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin: 0 !important;
}

.blog .ast-article-post .read-more,
.archive .ast-article-post .read-more,
.search .ast-article-post .read-more {
    display: inline-block !important;
    margin-top: 12px !important;
    font-weight: 600 !important;
    color: var(--sb-accent) !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
}
.blog .ast-article-post .read-more:hover,
.archive .ast-article-post .read-more:hover,
.search .ast-article-post .read-more:hover {
    opacity: 0.8 !important;
}

/* ── Pagination ── */
.blog .ast-pagination,
.archive .ast-pagination,
.search .ast-pagination {
    margin-top: 2rem !important;
    text-align: center !important;
}
.blog .ast-pagination .page-numbers,
.archive .ast-pagination .page-numbers,
.search .ast-pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 10px !important;
    border-radius: var(--sb-radius) !important;
    background: var(--sb-white) !important;
    color: var(--sb-primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 1px solid var(--sb-border) !important;
    margin: 0 3px !important;
}
.blog .ast-pagination .page-numbers.current,
.archive .ast-pagination .page-numbers.current,
.search .ast-pagination .page-numbers.current {
    background: var(--sb-accent) !important;
    color: var(--sb-white) !important;
    border-color: var(--sb-accent) !important;
}
.blog .ast-pagination .page-numbers:hover:not(.current),
.archive .ast-pagination .page-numbers:hover:not(.current),
.search .ast-pagination .page-numbers:hover:not(.current) {
    border-color: var(--sb-accent) !important;
    color: var(--sb-accent) !important;
}

/* ── Tablet: 2 columns ── */
@media (max-width: 921px) {
    .blog .ast-row,
    .archive .ast-row,
    .search .ast-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ── Mobile: 1 column ── */
@media (max-width: 640px) {
    .blog .ast-row,
    .archive .ast-row,
    .search .ast-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* ==========================================================================
   SCROLL TO TOP – BRANDED STYLING
   ========================================================================== */

#ast-scroll-top {
    background: var(--sb-accent) !important;
    color: var(--sb-white) !important;
    border-radius: 8px !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
    transition: opacity 0.2s ease !important;
}
#ast-scroll-top:hover {
    opacity: 0.85 !important;
}
#ast-scroll-top .ast-icon.icon-arrow svg {
    fill: var(--sb-white) !important;
}

/* ==========================================================================
   GLOBAL BRANDING AND COLOR OVERRIDES (WHISKEY STYLE)
   ========================================================================== */

/* Force featured images left-aligned */
.gpthumanize-featured-image {
    text-align: left !important;
}

/* 1. Force the dark whiskey primary background color on all possible header rows, wrappers, and grid boxes */
.ast-primary-header-bar,
.main-header-bar,
.ast-primary-header,
.ast-main-header-wrap,
.main-header-bar-wrap,
.site-header,
.site-primary-header-wrap,
.site-header-primary-section-left,
.site-header-primary-section-right,
.ast-builder-grid-row-container-outer,
.ast-builder-grid-row,
.ast-primary-header-bar .ast-builder-grid-row-container-outer,
.ast-primary-header-bar .ast-builder-grid-row {
    background: var(--sb-primary) !important;
    background-color: var(--sb-primary) !important;
}

/* 2. Force body text, list items, excerpts, descriptions, and regular content copy to be highly readable crisp black/dark charcoal */
body,
p,
li,
.entry-content p,
.entry-content li,
.site-content p,
.site-content li,
.ast-plain-container p,
.ast-separate-container p,
.sb-home-card__excerpt,
.sb-home-card__meta,
.post-meta,
.entry-meta,
.entry-meta *,
.ast-archive-description,
.ast-archive-description * {
    color: #1c1c1e !important;
}

/* 3. Style site titles and typography color */
h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.site-title a {
    color: var(--sb-primary) !important;
}
.site-title a {
    color: var(--sb-white) !important;
}

/* 4. Force all Gutenberg block buttons, theme buttons, and element buttons to match our whiskey gold accent */
.wp-block-button__link,
.wp-block-button a,
.wp-element-button,
a.wp-block-button__link,
a.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .cart input.button {
    background-color: var(--sb-accent) !important;
    background: var(--sb-accent) !important;
    color: var(--sb-white) !important;
    border-radius: var(--sb-radius) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    border: none !important;
    transition: opacity 0.2s ease !important;
}

.wp-block-button__link:hover,
.wp-block-button a:hover,
.wp-element-button:hover,
a.wp-block-button__link:hover,
a.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: var(--sb-accent) !important;
    background: var(--sb-accent) !important;
    opacity: 0.85 !important;
    color: var(--sb-white) !important;
}

/* ==========================================================================
   BLOG ARCHIVE — CATEGORY TAG HIDE
   ========================================================================== */

/* Hide "Ogólne" and all other category tags/taxonomies above/within posts */
.ast-taxonomy-container,
.cat-links,
.entry-meta .cat-links,
.ast-blog-single-element.ast-taxonomy-container,
.ast-blog-layout-1 .ast-taxonomy-container {
    display: none !important;
}

/* ==========================================================================
   BLOG ARCHIVE — BACKGROUND COLOR
   ========================================================================== */

body.blog,
body.archive,
body.single-post,
body.search,
.blog #content,
.archive #content,
.single-post #content,
.search #content,
.blog .site-content,
.archive .site-content,
.single-post .site-content,
.search .site-content,
.blog #primary,
.archive #primary,
.single-post #primary,
.search #primary,
.blog #main,
.archive #main,
.single-post #main,
.search #main {
    background-color: var(--sb-bg) !important;
    background: var(--sb-bg) !important;
}

/* Kill Astra blog-layout-4 inner box-shadow */
.ast-blog-layout-4-grid .ast-article-inner {
    box-shadow: none !important;
}