/* ════════════════════════════════════════════════════════════
   JEWEL NAG COUTURE — SINGLE PRODUCT PAGE THEME ONLY
   Scope: body.single-product ONLY.
   Does NOT touch: shop/archive, cart, checkout, my account,
   header, footer, or any other page — those stay on Astra defaults
   until their own redesign is built.

   Palette:
     Dark Olive  #3a4530 / #2e3827  (backgrounds)
     Text Cream  #ece7da             (main text)
     Cream Soft  #c9b98a             (secondary text)
     Gold        #C9A84C             (accent, price, CTA)
     Gold Dark   #b8963e             (hover)
     Line        #5a6648             (borders/dividers)
   ════════════════════════════════════════════════════════════ */

body.single-product {
    --jnc-dark-olive:   #3a4530;
    --jnc-deeper-olive: #2e3827;
    --jnc-olive:        #6B7B3A;
    --jnc-olive-d:      #566230;
    --jnc-gold:         #C9A84C;
    --jnc-gold-d:       #b8963e;
    --jnc-cream:        #ece7da;
    --jnc-cream-soft:   #c9b98a;
    --jnc-line:         #5a6648;
    --jnc-text-soft:    #9aaa80;
}

/* ── Page background (single product only) ─────────────────── */
body.single-product {
    background-color: var(--jnc-dark-olive);
    color: var(--jnc-cream);
}
body.single-product .site-content,
body.single-product .ast-container,
body.single-product .content-area,
body.single-product #content {
    background-color: var(--jnc-dark-olive);
}

/* ── Break Astra's contained wrappers out to full width ─────── */
body.single-product .ast-container,
body.single-product #content .ast-container,
body.single-product .entry-content,
body.single-product #primary,
body.single-product #main,
body.single-product .ast-article-single,
body.single-product .site-content > .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* ── Links (single product page only) ──────────────────────── */
body.single-product a { color: var(--jnc-cream-soft); }
body.single-product a:hover { color: var(--jnc-gold); }

/* ═══════════════════════════════════════════════════════════
   BUTTONS — dark olive bg, gold text (single product page only)
   ═══════════════════════════════════════════════════════════ */
body.single-product .button,
body.single-product input[type="submit"],
body.single-product .wp-block-button__link,
body.single-product .ast-button {
    background: var(--jnc-deeper-olive) !important;
    color: var(--jnc-gold) !important;
    border: 1.5px solid var(--jnc-line) !important;
    border-radius: 0 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 12px;
    transition: background .2s, color .2s, border-color .2s;
}
body.single-product .button:hover,
body.single-product input[type="submit"]:hover,
body.single-product .wp-block-button__link:hover,
body.single-product .ast-button:hover {
    background: var(--jnc-dark-olive) !important;
    color: var(--jnc-cream) !important;
    border-color: var(--jnc-gold) !important;
}

/* Protect the custom quantity stepper from the rule above */
body.single-product .jnc-qty-stepper button {
    background: transparent !important;
    color: var(--jnc-cream) !important;
    border: none !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-size: 18px !important;
}
body.single-product .jnc-qty-stepper button:hover {
    background: #4a5540 !important;
    color: var(--jnc-gold) !important;
    border: none !important;
}

/* ── Prices (single product page only) ─────────────────────── */
body.single-product .woocommerce .price,
body.single-product .woocommerce-Price-amount {
    color: var(--jnc-gold);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
}
body.single-product .woocommerce del .woocommerce-Price-amount {
    color: var(--jnc-text-soft);
    font-weight: 400;
}
body.single-product .woocommerce ins { text-decoration: none; }

/* ── Sale badge ──────────────────────────────────────────────── */
body.single-product .woocommerce span.onsale,
body.single-product .jnc-sale-badge {
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border-radius: 0;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
}

/* ── Star ratings ────────────────────────────────────────────── */
body.single-product .woocommerce .star-rating span,
body.single-product .woocommerce .star-rating::before { color: var(--jnc-gold); }

/* ── Form focus states (single product page only) ──────────── */
body.single-product input[type="text"]:focus,
body.single-product input[type="email"]:focus,
body.single-product input[type="tel"]:focus,
body.single-product input[type="password"]:focus,
body.single-product input[type="number"]:focus,
body.single-product select:focus,
body.single-product textarea:focus {
    border-color: var(--jnc-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(201,168,76,.15) !important;
}

/* ════════════════════════════════════════════════════════════
   ADD-TO-CART SUCCESS NOTICE (single product page only)
   ════════════════════════════════════════════════════════════ */
body.single-product .woocommerce-notices-wrapper { display: block !important; }
body.single-product .woocommerce-message {
    background: var(--jnc-deeper-olive) !important;
    border: 1px solid var(--jnc-line) !important;
    border-top: 3px solid var(--jnc-gold) !important;
    color: var(--jnc-cream) !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 15px !important;
    padding: 16px 48px !important;
    border-radius: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    list-style: none !important;
}
body.single-product .woocommerce-message::before { display: none !important; }
body.single-product .woocommerce-message a.button { display: none !important; }

body.single-product .jnc-view-cart-btn {
    display: inline-block !important;
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border: none !important;
    padding: 10px 22px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    font-family: inherit !important;
    transition: background .2s !important;
    border-radius: 0 !important;
}
body.single-product .jnc-view-cart-btn:hover {
    background: var(--jnc-gold-d) !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    body.single-product .woocommerce-message {
        padding: 14px 16px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
}

/* ════════════════════════════════════════════════════════════
   NOTE: Shop/archive, cart, checkout, my-account, header, and
   footer styling have been intentionally REMOVED from this file.
   They remain on Astra's default light theme until their own
   olive/gold redesign is built (pending reference image).
   ════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   RELIABILITY FIXES — wishlist / add-to-cart tap targets (mobile)
   Buttons were functionally wired in JS but could be missed or
   swallowed by an overlapping element on small screens. Force a
   real 44px+ tap target and guarantee these buttons always sit on
   top of / receive pointer events regardless of nearby absolutely
   positioned wrappers (image links, badges, swatches).
   ════════════════════════════════════════════════════════════ */
body.single-product .jnc-wish-any,
body.single-product .jnc-related-wishlist,
body.single-product .jnc-atc-trigger,
body.single-product #jncBuyNowBtn {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}
body.single-product .jnc-wish-any svg,
body.single-product .jnc-related-wishlist svg {
    pointer-events: none !important; /* click always lands on the button, not the icon path */
}
@media (max-width: 768px) {
    body.single-product .jnc-related-wishlist {
        min-width: 40px !important;
        min-height: 40px !important;
    }
    body.single-product .jnc-atc-trigger,
    body.single-product #jncBuyNowBtn {
        min-height: 46px !important;
    }
}
