/* ==========================================================================
   ISSUES.DOCX FIX PACK — global page fixes
   Extracted from style.css to keep the main file focused.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Issue 2: Description / Review tabs — desktop underline style
   -------------------------------------------------------------------------- */

.woocommerce-tabs ul.tabs {
    padding: 0 0 0 2px !important;
    margin: 0 0 1em !important;
    border-bottom: 2px solid #e2e8f0 !important;
    display: flex !important;
    gap: 0;
}

.woocommerce-tabs ul.tabs li {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
    font-family: 'Lato', sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    color: #64748b !important;
    padding: 10px 20px !important;
    display: block !important;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
    color: var(--lc-primary) !important;
    border-bottom-color: var(--lc-primary) !important;
    background: transparent !important;
    text-decoration: none !important;
}

/* Mobile: segmented pill control — both tabs side-by-side, clear active state */
@media (max-width: 480px) {
    .woocommerce-tabs ul.tabs {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        flex-wrap: unset !important;
        overflow-x: visible !important;
        -webkit-overflow-scrolling: auto !important;
        background: #f1f5f9 !important;
        border-radius: 10px !important;
        border-bottom: none !important;
        padding: 4px !important;
        gap: 4px !important;
        margin: 0 0 1.2em !important;
    }

    .woocommerce-tabs ul.tabs li {
        flex: none !important;
        width: 100% !important;
    }

    .woocommerce-tabs ul.tabs li a {
        display: block !important;
        text-align: center !important;
        padding: 10px 8px !important;
        white-space: nowrap !important;
        font-size: 0.88rem !important;
        font-weight: 600 !important;
        border-radius: 7px !important;
        border-bottom: none !important;
        color: #64748b !important;
        background: transparent !important;
    }

    .woocommerce-tabs ul.tabs li.active a {
        background: #fff !important;
        color: var(--lc-primary) !important;
        border-bottom: none !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10) !important;
    }

    .woocommerce-tabs ul.tabs li:not(.active) a:hover {
        color: #334155 !important;
        background: #e2e8f0 !important;
    }
}

/* --------------------------------------------------------------------------
   Global: reset text-align:justify on WooCommerce tables
   -------------------------------------------------------------------------- */

.woocommerce table td,
.woocommerce table th,
.woocommerce-page table td,
.woocommerce-page table th {
    text-align: left;
}

/* --------------------------------------------------------------------------
   CF7 Submit spinner — centered over the button during form submission.
   CF7 HTML: <p>[input.wpcf7-submit][span.wpcf7-spinner]</p>
   The spinner is a sibling of the button; <p> must be position:relative
   so the spinner can be absolutely centered over the button area.
   -------------------------------------------------------------------------- */

.wpcf7-form:not(.log-nl-cf7):not(.log-cf7-nl-strip):not(.log-fn-cf7) p:has(.wpcf7-submit) {
    position: relative !important;
}

.wpcf7-form:not(.log-nl-cf7):not(.log-cf7-nl-strip):not(.log-fn-cf7) .wpcf7-submit {
    display: block !important;
    width: 100% !important;
    transition: color 0.15s;
}

/* Center the spinner over the button */
.wpcf7-form .wpcf7-spinner {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 3 !important;
    pointer-events: none;
}

/* While submitting: hide button text so the spinner is the only focus */
.wpcf7-form.submitting .wpcf7-submit {
    color: transparent !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   ALL PRODUCTS — Category card redesign (vp-cat-card)
   ════════════════════════════════════════════════════════════════════════════ */

.woocommerce ul.products li.product.log-cat-card {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid #e2eaf4 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    padding: 0 !important;
    box-shadow: 0 2px 12px rgba(155, 27, 48, .06) !important;
    transition: box-shadow .2s, transform .2s !important;
    position: relative !important;
}

.woocommerce ul.products li.product.log-cat-card:hover {
    box-shadow: 0 8px 28px rgba(155, 27, 48, .15) !important;
    transform: translateY(-3px) !important;
}

/* Category name — top badge */
.log-cat-card .log-cat-card-name {
    background: #eff6ff;
    color: var(--lc-primary);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 8px 14px;
    border-bottom: 1px solid var(--lc-primary-pale);
    line-height: 1.4;
    text-align: center;
}

/* Image area — centred, light bg */
.log-cat-card .log-cat-card-img-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 20px !important;
    min-height: 165px !important;
    background: var(--lc-cream) !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

.log-cat-card .log-cat-card-img-wrap img {
    width: auto !important;
    height: 140px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
}

/* Product count row */
.log-cat-card .log-cat-card-body {
    flex: 1 !important;
    padding: 5px 16px 8px !important;
    text-align: center;
}

.log-cat-card .log-cat-card-count {
    font-size: .78rem;
    color: #64748b;
    font-weight: 500;
}

/* Buy Now button */
.log-cat-card .log-cat-card-btn.button {
    display: block !important;
    background: var(--lc-primary) !important;
    color: #fff !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    padding: 13px 20px !important;
    border-radius: 0 0 12px 12px !important;
    margin: 0 !important;
    transition: background .2s !important;
    border: none !important;
    letter-spacing: .02em !important;
}

a.log-cat-card-btn.button {
    height: auto !important;
}

.log-cat-card .log-cat-card-btn.button:hover {
    background: var(--lc-primary-hover) !important;
    color: #fff !important;
}

/* Responsive */
@media (max-width: 768px) {
    .log-cat-card .log-cat-card-img-wrap {
        min-height: 130px !important;
        padding: 14px !important;
    }

    .log-cat-card .log-cat-card-img-wrap img {
        height: 110px !important;
    }
}

@media (max-width: 480px) {
    .log-cat-card .log-cat-card-img-wrap {
        min-height: 100px !important;
        padding: 10px !important;
    }

    .log-cat-card .log-cat-card-img-wrap img {
        height: 75px !important;
    }

    .log-cat-card .log-cat-card-name {
        font-size: .62rem !important;
        padding: 4px 8px !important;
    }

    .log-cat-card .log-cat-card-btn.button {
        font-size: .72rem !important;
        padding: 8px 10px !important;
    }
}

/* ════════════════════════════════════════════════════════════════════════════
   WooCommerce notices — rebrand from purple to brand palette
   Overrides the old #815e94 / #f2e3fb purple theme styles above.
   ════════════════════════════════════════════════════════════════════════════ */

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 8px !important;
    border-top-width: 3px !important;
    border-top-style: solid !important;
    padding: 14px 18px !important;
    font-size: .9rem !important;
    line-height: 1.5 !important;
    margin: 0 0 16px !important;
    list-style: none !important;
}

/* Success — green */
.woocommerce-message {
    background: #f0fdf4 !important;
    border-top-color: #16a34a !important;
    color: #15803d !important;
}

.woocommerce-message a {
    color: #ffff !important;
    font-weight: 600;
    text-decoration: underline;
}

/* Info — blue */
.woocommerce-info {
    background: #eff6ff !important;
    border-top-color: var(--lc-primary) !important;
    color: #1d4ed8 !important;
}

.woocommerce-info a {
    color: var(--lc-primary) !important;
    font-weight: 600;
    text-decoration: underline;
}

/* Error — red */
.woocommerce-error {
    background: #fff1f2 !important;
    border-top-color: #dc2626 !important;
    color: #dc2626 !important;
}

.woocommerce-error a {
    color: #dc2626 !important;
    font-weight: 600;
    text-decoration: underline;
}

/* Notices wrapper above checkout — spacing and empty-state hide */
.woocommerce-checkout .woocommerce-notices-wrapper {
    margin-bottom: 16px;
}

.woocommerce-checkout .woocommerce-notices-wrapper:empty {
    display: none;
}

/* --------------------------------------------------------------------------
   Bugsheet fixes — 2026-06-23
   -------------------------------------------------------------------------- */

/* Bug 4: Mobile cart/hamburger overlap — proper spacing */
@media (max-width: 900px) {
    .responsive-main-header .main-header-col3 .thunk-icon-market {
        display: flex !important;
        align-items: center;
        gap: 10px;
    }

    .responsive-main-header .main-header-col3 .menu-toggle {
        order: 2;
    }

    .responsive-main-header .main-header-col3 .header-support-wrap {
        order: 1;
    }

    .responsive-main-header .main-header-col3 .header-support-wrap .thunk-icon {
        margin-left: 0 !important;
    }
}

/* Bug 5: Mobile "Browse by Category" heading align left like trending */
@media (max-width: 768px) {
    .log-categories-marquee .head-row {
        align-items: flex-start !important;
        text-align: left !important;
    }
}

/* Bug 7: Mobile scroll-up arrow disappearing — ensure visibility */
.to-top.show {
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 9999 !important;
}

/* Bug 9: Hide footer badges (SSL, FDA, etc.) */
.log-footer-badges,
.log-ft-badge {
    display: none !important;
}

/* Bug 13: Testimonials section stuck at top border */
.log-testimonials-carousel.section {
    margin-top: 0 !important;
    border-top: none !important;
}

/* Bug 15: All buttons maroon not yellow/gold */
.log-btn-gold,
a.log-btn-gold,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce .product .single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.prod-card .prod-btn {
    background: linear-gradient(135deg, var(--mr-crimson, #9B1B30), var(--mr-crimson-deep, #6B1222)) !important;
    color: #fff !important;
    border: none !important;
}

.log-btn-gold:hover,
a.log-btn-gold:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce .product .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.prod-card .prod-btn:hover {
    background: linear-gradient(135deg, var(--mr-crimson-deep, #6B1222), var(--mr-maroon-800, #561223)) !important;
    color: #fff !important;
}

/* Bug 16: Cart empty state "Continue Shopping" / "Return to shop" button — theme colour
   (re-verified against cart_page.html reference 2026-07-02: brand palette here is
   plum, not crimson — .log-cart-page .log-cart-empty-btn already ships the correct
   plum/pill styling in log-cart.css, so it's dropped from this forced override to
   stop fighting it. The two generic WC fallback selectors keep the plum brand fix.) */
.woocommerce .cart-empty+.return-to-shop a.button,
.woocommerce-cart .return-to-shop a.button.wc-backward {
    background: linear-gradient(135deg, var(--plum-700, #7a1f6e), var(--plum-800, #5c1760)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--r-pill, 999px) !important;
    padding: 14px 28px !important;
    font-weight: 700 !important;
}

.woocommerce .cart-empty+.return-to-shop a.button:hover,
.woocommerce-cart .return-to-shop a.button.wc-backward:hover {
    background: linear-gradient(135deg, var(--plum-600, #9b2f8a), var(--plum-700, #7a1f6e)) !important;
    color: #fff !important;
}

/* Bug 18: Button hover text colour should stay white */
.log-btn-gold:hover,
a.log-btn-gold:hover,
.log-btn-ghost:hover,
a.log-btn-ghost:hover,
.dark-pill-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    color: #fff !important;
}

/* Bug 19a: CTA covers complete product card — homepage carousel */
.prod-card {
    position: relative;
    cursor: pointer;
}

.prod-card .select-btn {
    position: static;
}

.prod-card .select-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
}

/* WooCommerce shop product cards */
.woocommerce ul.products li.product {
    position: relative !important;
    cursor: pointer;
}

.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link {
    position: static;
}

.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Bug 10: Hide newsletter section on homepage only */
body.home .wp-block-mr-newsletter,
body.home .log-newsletter {
    display: none !important;
}

/* Bug 19b: Cart page — reduce spacing, hide Kadence "Cart Summary" h2, italic accent */
.log-cart-layout {
    padding-top: 16px !important;
}

.log-cart-breadcrumb {
    padding-top: 8px !important;
}

/* Hide Kadence-injected "Cart Summary" h2 inside cart form */
.woocommerce-cart-form .cart-summary {
    display: none !important;
}

/* Hide "Order Summary" h3 in sidebar */
.log-cart-summary-header h3 {
    display: none !important;
}

.log-cart-summary-header {
    padding: 16px 24px !important;
}

/* "Cart" word in "Your Cart" — italic + maroon */
.log-cart-title .log-cart-accent {
    font-style: italic;
    color: var(--mr-crimson, #9B1B30);
}

/* Bug 16: Continue Shopping link — maroon text, proper styling */
.log-cart-continue-link {
    color: var(--mr-crimson, #9B1B30) !important;
    font-weight: 600 !important;
    font-size: 0.92rem !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.log-cart-continue-link:hover {
    color: var(--mr-crimson-deep, #6B1222) !important;
    text-decoration: underline !important;
}