/* =============================================
   IMMUNITY.CSS — WooCommerce Plugin Output Overrides
   =============================================
   Single override layer for WC plugin output (notices, AJAX injects, PhotoSwipe).
   Prefer matching WC selectors + load order over !important; add !important only
   when a local second pass cannot win the cascade.

   Static / WP load order:
   [woocommerce.css + layout/smallscreen on WC pages] → v-core.css → immunity.css → …
   ============================================= */


/* =============================================
   1. WC FORM — reset plugin form spacing on .gi-form
   ============================================= */

.gi-form {
    margin-bottom: 0;
}


/* =============================================
   2. WC NOTICES — reskin .woocommerce-message / -info / -error
   Matches WC grouped selector; overrides via cascade (no !important).
   ============================================= */

.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.woocommerce-noreviews,
p.no-comments {
    background-color: #f5f5f5;
    color: #262626;
    border: none;
    border-radius: 0;
    padding: 20px 24px 20px 52px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    position: relative;
    outline: none;
    margin: 0 0 20px;
    list-style: none outside;
    width: auto;
    word-wrap: break-word;
}

.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus,
.woocommerce-noreviews:focus,
p.no-comments:focus {
    outline: none;
    box-shadow: none;
}

/* Replace WC icon-font ::before with SVG */
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-noreviews::before,
p.no-comments::before {
    content: '';
    font-family: inherit;
    font-weight: normal;
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 20px;
    left: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.woocommerce-message::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a8219' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}

.woocommerce-info::before,
.woocommerce-noreviews::before,
p.no-comments::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e858d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}

.woocommerce-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
    color: #262626;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: #d4d4d4;
    transition: all 0.3s ease;
}

.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover,
.woocommerce-error a:not(.button):hover {
    color: #5a8219;
    text-decoration-color: #5a8219;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    float: right;
    background: none;
    color: #262626;
    font-weight: 600;
    font-size: 14px;
    padding: 0;
    margin-top: 2px;
    margin-left: 20px;
    border: none;
    border-bottom: 1px solid #262626;
    border-radius: 0;
    box-shadow: none;
    line-height: 1.2;
    text-decoration: none;
    transition: all 0.3s ease;
}

.woocommerce .button::before,
.woocommerce .button::after,
.woocommerce-page .button::before,
.woocommerce-page .button::after,
.wc-forward::after,
.wc-backward::before {
    display: none;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
    color: #5a8219;
    background: none;
    border: none;
    border-bottom: 1px solid #5a8219;
    outline: none;
    box-shadow: none;
}

.woocommerce-message .button:focus,
.woocommerce-info .button:focus,
.woocommerce-error .button:focus,
.woocommerce-message .button:active,
.woocommerce-info .button:active,
.woocommerce-error .button:active {
    outline: none;
    box-shadow: none;
    border: none;
    border-bottom: 1px solid #262626;
    background: transparent;
}

/* Shop empty — WC outputs .woocommerce-info.woocommerce-no-products-found */
.woocommerce-info.woocommerce-no-products-found {
    background-color: transparent;
    border: none;
    box-shadow: none;
    color: #525252;
    padding: 60px 0;
    text-align: center;
    font-size: 16px;
}

.woocommerce-info.woocommerce-no-products-found:hover {
    box-shadow: none;
}

.woocommerce-info.woocommerce-no-products-found::before {
    display: none;
}


/* =============================================
   3. WC AJAX — hide injected View Cart link
   ============================================= */

a.added_to_cart,
.added_to_cart.wc-forward {
    display: none;
}


/* =============================================
   4. WC PhotoSwipe — disabled (custom Swiper modal)
   ============================================= */

#photoswipe-fullscreen-dialog {
    display: none;
}


/* =============================================
   5. WC LAYOUT / SMALLSCREEN — global shell immunity
   =============================================
   Principle (woocommerce-layout.css):
   body.shop / body.woocommerce-account get class `.woocommerce-page`.
   WC then applies TAG selectors under `.woocommerce, .woocommerce-page`
   to the ENTIRE document — not only `.woocommerce` shortcode output.

   Confirmed broad leaks (woocommerce-layout.css):
     .woocommerce img, .woocommerce-page img { height:auto; max-width:100%; }
     .woocommerce form .form-row { … }  (any <form> in header/modals)

   smallscreen.css: scoped to tables / account nav (≤ breakpoint), not bare img.

   Fix: re-assert Globlazer shell zones AFTER WC CSS (immunity loads after v-core).
   Scope: only confirmed WC leaks (img, form .form-row) — no speculative ul/p rules.
   DOM shells: .gl-header #glNav .gi-footer #gl-auth-modal #glSideCart …
   ============================================= */

/* --- 5a. img — undo WC max-width:100% leak on header/footer/overlays --- */
body.woocommerce-page .gl-header img,
body.woocommerce-page #glNav img,
body.woocommerce-page .gi-footer img,
body.woocommerce-page #gl-auth-modal img,
body.woocommerce-page #glSideCart img,
body.woocommerce-page #glSideCartTab img,
body.woocommerce-page #glCartOverlay img,
body.woocommerce-page #glCouponDrawer img,
body.woocommerce-page #glCouponDrawerOverlay img,
body.woocommerce-page #glInfoDrawer img,
body.woocommerce-page #glInfoDrawerOverlay img,
body.woocommerce-page #glMobileSearchDrawer img,
body.woocommerce-page .gi-back-to-top img,
body.woocommerce .gl-header img,
body.woocommerce .gi-footer img {
    height: auto;
    max-width: none;
}

body.woocommerce-page .gi-footer .gi-footer-logo-img {
    height: 32px;
    width: auto;
    max-width: none;
    display: block;
}

body.woocommerce-page .gi-footer .gi-footer-payment-icon,
body.woocommerce-page .gl-side-cart-payments .gi-footer-payment-icon {
    display: block;
    height: 24px;
    width: auto;
    max-width: 40px;
    object-fit: contain;
}

/* --- 5b. form — WC form-row clearfix must not affect shell search / modals --- */
body.woocommerce-page .gl-header form .form-row,
body.woocommerce-page #glNav form .form-row,
body.woocommerce-page #gl-auth-modal form .form-row,
body.woocommerce-page #glSideCart form .form-row,
body.woocommerce-page #glCouponDrawer form .form-row,
body.woocommerce-page #glMobileSearchDrawer form .form-row {
    padding: 0;
    margin: 0;
    float: none;
    clear: none;
}

body.woocommerce-page .gl-header form .form-row::before,
body.woocommerce-page .gl-header form .form-row::after,
body.woocommerce-page #glNav form .form-row::before,
body.woocommerce-page #glNav form .form-row::after,
body.woocommerce-page #gl-auth-modal form .form-row::before,
body.woocommerce-page #gl-auth-modal form .form-row::after,
body.woocommerce-page #glSideCart form .form-row::before,
body.woocommerce-page #glSideCart form .form-row::after,
body.woocommerce-page #glCouponDrawer form .form-row::before,
body.woocommerce-page #glCouponDrawer form .form-row::after,
body.woocommerce-page #glMobileSearchDrawer form .form-row::before,
body.woocommerce-page #glMobileSearchDrawer form .form-row::after {
    content: none;
    display: none;
}

body.woocommerce-page .gl-header form .form-row label,
body.woocommerce-page #glNav form .form-row label,
body.woocommerce-page #gl-auth-modal form .form-row label,
body.woocommerce-page #glMobileSearchDrawer form .form-row label {
    display: revert;
    float: none;
}
