/* ============================================================
   GWORKS BRAND LAYER v1.0
   Site-wide theme unification for gworks.org theme pages.
   Loads after Luna's dark WooCommerce base (plugin, priority 999).
   Palette matches homepage v6: paper #0C0F08, ink #F2F5E8,
   brand green #8DC63F, deep #3F7A16, gold #FFB800.
   Fonts: Unbounded (display) + Onest (body).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@500;700;800&family=Onest:wght@300;400;500;600&display=swap');

:root {
    --gw-paper: #0C0F08;
    --gw-paper-2: #101408;
    --gw-ink: #F2F5E8;
    --gw-ink-soft: #B9C0A4;
    --gw-ink-faint: #82896D;
    --gw-green: #8DC63F;
    --gw-green-deep: #3F7A16;
    --gw-green-bright: #A4D65E;
    --gw-gold: #FFB800;
    --gw-card: #171C11;
    --gw-input: #12160D;
    --gw-line: rgba(141,198,63,.22);
    --gw-line-soft: rgba(242,245,232,.10);
    --gw-font-display: 'Unbounded', sans-serif;
    --gw-font-body: 'Onest', sans-serif;
    --gw-ease: cubic-bezier(.22,1,.36,1);
}

/* --- Fonts (Google Fonts, display swap) --- */

/* --- Body + wrappers: our green-tinted paper over Luna neutral black --- */
body,
body.custom-background,
.site-content,
#content,
.content-area,
main#main,
.page-content,
.archive/post-type-archive-product,
.woocommerce,
.woocommerce-page,
#page,
.hfeed,
.bizberg_content_wrap,
.content-wrapper,
.container-fluid {
    background: var(--gw-paper) !important;
    background-color: var(--gw-paper) !important;
    background-image: none !important;
    color: var(--gw-ink-soft) !important;
}

/* --- Body + typography (original) --- */

/* --- Body & typography --- */
body,
body.custom-background {
    background: var(--gw-paper) !important;
    color: var(--gw-ink) !important;
    font-family: var(--gw-font-body) !important;
    font-weight: 300;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
body p, body li, body label, body td, body th {
    color: var(--gw-ink-soft) !important;
}
h1, h2, h3, h4, h5, h6,
.page-title, .entry-title, .section-title,
.woocommerce-products-header h1 {
    color: var(--gw-ink) !important;
    font-family: var(--gw-font-display) !important;
}
h1 { font-size: clamp(1.7rem, 3.4vw, 2.6rem) !important; letter-spacing: .5px; }
h2 { font-size: clamp(1.35rem, 2.6vw, 1.9rem) !important; }
h3 { font-size: 1.2rem !important; }

/* --- Links --- */
a, .woocommerce a, .woocommerce-page a {
    color: var(--gw-green-bright) !important;
    transition: color .3s var(--gw-ease) !important;
}
a:hover, .woocommerce a:hover {
    color: var(--gw-green) !important;
}

/* --- Header / nav --- */
.bizberg_header_wrapper,
header.site-header,
header#masthead,
#masthead .navbar,
#masthead .navbar-default,
.primary_header_2_wrapper,
.top-header-bar {
    background: var(--gw-paper-2) !important;
    border-bottom: 1px solid var(--gw-line) !important;
}
#masthead .navbar a,
#masthead .navbar-default .navbar-nav > li > a,
.top-header-bar a, .top-header-bar span {
    color: var(--gw-ink-soft) !important;
    font-family: var(--gw-font-display) !important;
    font-size: .68rem !important;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
#masthead .navbar a:hover,
.navbar-nav > li:hover > a,
.navbar-nav > li > a:hover,
.top-header-bar a:hover {
    color: var(--gw-green) !important;
    background: transparent !important;
}
.navbar .cart-contents-count, .header-cart .count {
    background: var(--gw-green) !important;
    color: #0D1206 !important;
    border-radius: 999px;
    font-family: var(--gw-font-display) !important;
}
.navbar-nav > .current-menu-item > a,
.navbar-nav > .current_page_item > a {
    color: var(--gw-green) !important;
}
.slicknav_menu, .slicknav_nav, .slicknav_nav a {
    background: var(--gw-paper-2) !important;
    color: var(--gw-ink-soft) !important;
    border-color: var(--gw-line-soft) !important;
}
.slicknav_nav a:hover { color: var(--gw-green) !important; }

/* --- Slicknav (mobile menu) --- */
.slicknav_menu, .slicknav_nav, .slicknav_nav a {
    background: var(--gw-paper-2) !important;
    color: var(--gw-ink-soft) !important;
    border-color: var(--gw-line-soft) !important;
}
.slicknav_nav a:hover { color: var(--gw-green) !important; }
.slicknav_btn { background: transparent !important; }
.slicknav_icon-bar { background-color: var(--gw-green) !important; }
.slicknav_arrow { color: var(--gw-green-bright) !important; }

/* --- Buttons: brand pill shape --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.added_to_cart,
button, input[type="submit"], input[type="button"], input[type="reset"],
.wpcf7-submit, .give-btn {
    font-family: var(--gw-font-display) !important;
    font-size: .74rem !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 14px 28px !important;
    border: none !important;
    border-radius: 999px !important;
    background: var(--gw-green) !important;
    color: #0D1206 !important;
    cursor: pointer;
    transition: all .3s var(--gw-ease) !important;
    box-shadow: 0 12px 26px rgba(141,198,63,.25) !important;
    -webkit-appearance: none;
    appearance: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, button:hover, input[type="submit"]:hover,
.wpcf7-submit:hover, .give-btn:hover {
    background: var(--gw-green-bright) !important;
    color: #0D1206 !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(141,198,63,.35) !important;
}

/* --- Inputs / forms --- */
.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"],
.woocommerce input[type="password"], .woocommerce input[type="search"], .woocommerce input[type="number"],
.woocommerce textarea, .woocommerce select, .woocommerce .select2-container .select2-selection,
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], textarea, select,
.wpcf7-form input, .wpcf7-form textarea, .give-form input, .give-form textarea, select.give-select {
    background: var(--gw-input) !important;
    border: 1px solid var(--gw-line-soft) !important;
    color: var(--gw-ink) !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    font-family: var(--gw-font-body) !important;
    transition: border-color .3s var(--gw-ease) !important;
}
input:focus, textarea:focus, select:focus,
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus,
.select2-container--default .select2-selection--single:focus {
    border-color: var(--gw-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(141,198,63,.25) !important;
}

/* --- Product cards / shop grid --- */
ul.products li.product,
.woocommerce ul.products li.product,
.wc-block-grid__product, li.product {
    background: var(--gw-card) !important;
    border: 1px solid var(--gw-line-soft) !important;
    border-radius: 18px !important;
    padding: 18px !important;
    margin-bottom: 26px !important;
    transition: transform .3s var(--gw-ease), border-color .3s var(--gw-ease), box-shadow .3s var(--gw-ease) !important;
}
ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: var(--gw-line) !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.5) !important;
}
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--gw-font-display) !important;
    color: var(--gw-ink) !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    letter-spacing: .5px;
}

/* --- Prices --- */
.price, .woocommerce-Price-amount {
    color: var(--gw-green-bright) !important;
    font-family: var(--gw-font-display) !important;
}
.price del { color: var(--gw-ink-faint) !important; }
.price del .woocommerce-Price-amount { color: var(--gw-ink-faint) !important; }

/* --- Onsale badge --- */
.woocommerce span.onsale, .woocommerce-page span.onsale {
    background: var(--gw-gold) !important;
    color: #0D1206 !important;
    border-radius: 999px;
    font-family: var(--gw-font-display) !important;
    font-size: .62rem !important;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 8px 14px !important;
    line-height: 1 !important;
    min-height: 0 !important;
    min-width: 0 !important;
}
.price del + ins {
    display: inline-block;
    margin-left: 8px;
    text-decoration: none;
}

/* --- Tables (cart/checkout) --- */
.woocommerce table.shop_table,
.shop_table, .woocommerce-checkout-review-order-table {
    border: 1px solid var(--gw-line-soft) !important;
    border-radius: 14px !important;
    overflow: hidden;
    background: transparent !important;
    color: var(--gw-ink-soft) !important;
}
.woocommerce table.shop_table th {
    background: var(--gw-input) !important;
    color: var(--gw-ink) !important;
    font-family: var(--gw-font-display) !important;
    font-size: .72rem !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.woocommerce table.shop_table td { border-top: 1px solid var(--gw-line-soft) !important; }

/* --- Cart page specifics --- */
.woocommerce-cart .post-8, .woocommerce-cart .entry-content,
.woocommerce-cart .cart_totals {
    background: var(--gw-paper-2) !important;
    border-radius: 18px;
    padding: 24px;
}
.woocommerce-cart .cart_totals h2 {
    font-size: 1.1rem !important;
}
.woocommerce .quantity .qty { text-align: center; }
.woocommerce table.cart td.actions .coupon .input-text {
    background: var(--gw-input) !important;
}

/* --- My Account --- */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}
.woocommerce-MyAccount-navigation ul li {
    background: var(--gw-card) !important;
    border: 1px solid var(--gw-line-soft) !important;
    border-radius: 12px;
    margin-bottom: 8px;
}
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 18px;
    color: var(--gw-ink-soft) !important;
    font-family: var(--gw-font-display) !important;
    font-size: .72rem !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: all .3s var(--gw-ease);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--gw-green) !important;
    color: #0D1206 !important;
}
.woocommerce form.login, .woocommerce form.register {
    background: var(--gw-card) !important;
    border: 1px solid var(--gw-line-soft) !important;
    border-radius: 18px;
    padding: 28px !important;
    max-width: 560px;
}
.woocommerce form .form-row label { color: var(--gw-ink-soft) !important; }
.woocommerce form .form-row .required { color: var(--gw-gold) !important; }
.woocommerce-LostPassword a { color: var(--gw-ink-faint) !important; }

/* --- About page (Give forms) --- */
.give-form-wrap, .give-form-wrap .give-form,
form[id^="give-form"] {
    background: var(--gw-card) !important;
    border: 1px solid rgba(242,245,232,.08) !important;
    border-radius: 18px;
    padding: 26px !important;
}
.give-form-wrap fieldset legend, .give-form legend {
    color: var(--gw-ink) !important;
    font-family: var(--gw-font-display) !important;
    font-size: .85rem !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.give-btn, .give-form input[type="submit"] {
    width: 100% !important;
    background: var(--gw-green) !important;
}
.give-progress-bar {
    background: var(--gw-input) !important;
    border-radius: 999px;
    overflow: hidden;
}
.give-progress-bar > span {
    background: var(--gw-green) !important;
    display: block;
    height: 8px;
    border-radius: 999px;
}
.give-goal-progress .raised, .give-goal-progress .goal {
    color: var(--gw-ink-soft) !important;
}

/* --- Pagination --- */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--gw-card) !important;
    border: 1px solid var(--gw-line-soft) !important;
    color: var(--gw-ink-soft) !important;
    border-radius: 10px;
    font-family: var(--gw-font-display) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--gw-green) !important;
    color: #0D1206 !important;
    border-color: var(--gw-green) !important;
}

/* --- Widgets / sidebar --- */
.widget, .widget-area .widget, aside.widget {
    background: var(--gw-card) !important;
    border: 1px solid var(--gw-line-soft) !important;
    border-radius: 16px;
    padding: 22px;
}
.widget-title, .widget h3, .widget h2 {
    color: var(--gw-green) !important;
    font-family: var(--gw-font-display) !important;
    font-size: .72rem !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* --- Complianz cookie banner: dark to match --- */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-header,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
    background: var(--gw-paper-2) !important;
    color: var(--gw-ink-soft) !important;
    border-color: var(--gw-line-soft) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-label {
    color: var(--gw-ink) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message p,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a:hover {
    color: var(--gw-ink-soft) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a:hover {
    color: #8DC63F !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:focus {
    background: var(--gw-green) !important;
    border-color: var(--gw-green) !important;
    color: #101408 !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 12px rgba(141,198,63,.25) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
    color: var(--gw-ink-soft) !important;
    background: transparent !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider {
    background: var(--gw-line-soft) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-banner-checkbox input[type="checkbox"] {
    accent-color: var(--gw-green) !important;
}

/* --- Footer (theme forces footer#footer.footer-style, match it) --- */
footer#footer.footer-style,
footer#footer.footer-style .footer_social_links,
footer#footer.footer-style .container {
    background: var(--gw-paper-2) !important;
}
footer#footer.footer-style p,
footer#footer.footer-style .copyright {
    color: var(--gw-ink-faint) !important;
}
footer#footer.footer-style a,
footer#footer.footer-style .inline-menu li a {
    color: var(--gw-ink-soft) !important;
}
footer#footer.footer-style a:hover {
    color: var(--gw-green) !important;
}
footer#footer.footer-style .footer_social_links a i {
    color: #101408 !important;
    background: var(--gw-green) !important;
}
footer#footer.footer-style .footer_social_links a:hover i {
    background: var(--gw-green-bright) !important;
}

/* --- Nav dropdown submenu (theme paints #fff) --- */
.navbar-nav li ul,
.sticky .navbar-nav li ul {
    background: #171C11 !important;
    border-color: var(--gw-line-soft) !important;
}
.navbar-nav li ul li a {
    color: var(--gw-ink-soft) !important;
}
.navbar-nav li ul li a:hover {
    color: var(--gw-green) !important;
    background: transparent !important;
}

/* --- Footer --- */
/* --- Footer --- */
.site-footer, footer.site-footer, #colophon, .footer-wrapper {
    background: var(--gw-paper-2) !important;
    border-top: 1px solid var(--gw-line) !important;
    color: var(--gw-ink-soft) !important;
}
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, footer h3, footer h4 {
    color: var(--gw-green) !important;
    font-family: var(--gw-font-display) !important;
    font-size: .72rem !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.site-footer a, footer a { color: var(--gw-ink-soft) !important; }
.site-footer a:hover, footer a:hover { color: var(--gw-green) !important; }

/* --- Breadcrumbs --- */
.woocommerce-breadcrumb, .breadcrumb { color: var(--gw-ink-faint) !important; }
.woocommerce-breadcrumb a, .breadcrumb a { color: var(--gw-green-bright) !important; }
.woocommerce-breadcrumb a:hover { color: var(--gw-gold) !important; }

/* --- Notices --- */
p.woocommerce-info, p.woocommerce-message {
    background: var(--gw-input) !important;
    border-top-color: var(--gw-green) !important;
    color: var(--gw-ink) !important;
    border-radius: 12px;
}
p.woocommerce-error { border-top-color: var(--gw-gold) !important; }

/* --- Reviews / comments --- */
.commentlist .comment_container {
    background: var(--gw-card) !important;
    border-radius: 14px;
    padding: 18px;
}

/* --- Search forms --- */
.search-form input[type="search"], .search-form input[type="text"] {
    background: var(--gw-input) !important;
    border-color: var(--gw-line-soft) !important;
    color: var(--gw-ink) !important;
}

/* --- Scrollbar (brand match homepage) --- */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--gw-paper); }
::-webkit-scrollbar-thumb { background: #3A4426; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--gw-green); }

/* --- Selection --- */
::selection { background: var(--gw-green); color: #0D1206; }

/* --- Motion touches (subtle, homepage-matching) --- */
@media (prefers-reduced-motion: no-preference) {
    .woocommerce ul.products li.product, ul.products li.product {
        animation: gw-fade-up .6s both;
        animation-timing-function: var(--gw-ease);
    }
    @keyframes gw-fade-up {
        from { opacity: 0; transform: translateY(14px); }
        to { opacity: 1; transform: none; }
    }
}

/* --- Global transition smoothing --- */
* { transition-timing-function: var(--gw-ease); }