/* =========================================
   JYNN Base — global corrections for WordPress
   Loaded site-wide AFTER jynn-tokens (the ported
   static style.css). Reconciles assumptions the
   static build made (WebGL canvas background,
   custom-cursor JS) that don't hold in WordPress.
   ========================================= */

/* Remap GeneratePress's own colour variables to the JYNN dark palette.
   GeneratePress paints its wrappers/text with these vars (and uses
   higher-specificity selectors than we can easily out-target), so
   overriding the variables themselves is the robust way to force the
   whole GeneratePress layer dark. Loaded after generate-style. */
:root {
    --base: #030407;
    --base-2: #030407;
    --base-3: #05060a;
    --contrast: #F5E6DA;
    --contrast-2: #A88160;
    --contrast-3: #6b5842;
    --accent: #D4AF37;
}

/* The static site's body was transparent because a WebGL canvas painted the
   background. WordPress pages have no such canvas, so paint the JYNN
   night-sky background directly on the body site-wide. Generalized from the
   static content-page.css .content-page-body treatment. */
body {
    background-color: var(--bg-void);
    background-image:
        radial-gradient(circle at 18% 12%, rgba(212, 175, 55, 0.06) 0%, rgba(3, 4, 7, 0) 42%),
        radial-gradient(circle at 82% 78%, rgba(168, 129, 96, 0.05) 0%, rgba(3, 4, 7, 0) 46%),
        linear-gradient(180deg, #05060a 0%, #030407 60%);
    color: var(--text-bright);
    font-family: var(--font-body);
}

/* The static reset set `* { cursor: none }` for the custom cursor element,
   which is only present/animated on pages running the bespoke cursor JS.
   Restore normal cursors site-wide so WordPress pages are usable. Pages that
   opt back into the custom cursor can re-hide it locally. */
* {
    cursor: auto;
}

a,
button,
[role="button"],
input[type="submit"],
.button {
    cursor: pointer;
}

/* GeneratePress paints its own light background on several structural
   wrappers via CSS variables. Neutralize those so the JYNN void shows
   through consistently. */
.site,
.site-content,
.content-area,
.site-main,
#page,
article,
.wp-site-blocks,
.generate-page-header,
.page-header,
.inside-article,
.entry-content,
.site-footer,
.site-info {
    background-color: transparent;
}

/* Base link + heading colors so any unstyled page still reads on-brand. */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    color: var(--text-bright);
}

/* Keep the WooCommerce store-notice / admin bar legible against the dark bg. */
body.admin-bar {
    /* admin bar is fixed; nothing to do but ensure no light gap */
    background-color: var(--bg-void);
}



/* =========================================
   WooCommerce notices — on-brand (dark + gold).
   Site-wide override of the default coloured banners
   (green "added to cart", blue info, red error) that
   clash with the JYNN palette. Scoped with body.woocommerce
   so it beats the plain `.woocommerce-*` rules in
   woocommerce-pages-v3.css regardless of load order.
   ========================================= */
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error {
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid var(--border-light) !important;
    border-left: 2px solid var(--accent) !important;
    color: var(--text-bright) !important;
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    border-radius: 2px !important;
    padding: 1rem 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    box-shadow: none !important;
    list-style: none !important;
}

body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-error {
    border-left-color: #c0603a !important;
}

/* Remove the default coloured left bar / check/emoji glyph. */
body.woocommerce .woocommerce-message::before,
body.woocommerce .woocommerce-info::before,
body.woocommerce .woocommerce-error::before,
body.woocommerce-page .woocommerce-message::before,
body.woocommerce-page .woocommerce-info::before,
body.woocommerce-page .woocommerce-error::before {
    display: none !important;
}

/* Inline notice button (View cart, etc.). */
body.woocommerce .woocommerce-message .button,
body.woocommerce .woocommerce-info .button,
body.woocommerce-page .woocommerce-message .button,
body.woocommerce-page .woocommerce-info .button {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    background: var(--accent) !important;
    color: #030407 !important;
    border: none !important;
    font-family: var(--font-body) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 0.6rem 1.1rem !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

body.woocommerce .woocommerce-message .button:hover,
body.woocommerce .woocommerce-info .button:hover,
body.woocommerce-page .woocommerce-message .button:hover,
body.woocommerce-page .woocommerce-info .button:hover {
    background: #fff !important;
}
