/*!
 * GPLPal Sovereign WooCommerce Core & Notice Kit (Clean v3.0 - Universal Bulletproof Notice System)
 * Covers all scenarios: direct rendering of `div`, `ul`, and `p` tags; subscriptions; downloads; 
 orders; error reporting; and "add-to-cart" notifications.
 * Mechanism: A 52px physical "moat" formed by the outer frame ensures absolute physical separation 
 between text and icons, guaranteeing that text is never obscured on any device.
 */

/* ==========================================================
   1. Member Center: Fully adaptive layout (desktop: 20%/78% split-pane; mobile: 100% vertical flow)
   ========================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 20%;
}
.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 78%;
}
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        margin-bottom: 20px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 12px 16px !important;
        font-size: 15px !important;
    }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.woocommerce-account table.account-orders-table,
.woocommerce-account table.woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-EditAccountForm fieldset,
.woocommerce form fieldset {
    border: 0 !important;
    padding: 0 !important;
    margin: 20px 0 0 0 !important;
}
.woocommerce-EditAccountForm legend,
.woocommerce form legend {
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

/* ==========================================================
   2. Comprehensive Global Notification System Suite (🌟 Core: Universally covers all DIV, UL, P, 
   and Subscriptions tags)
   ========================================================== */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.woocommerce-Message,
.no_subscriptions,
div.woocommerce-error,
div.woocommerce-info,
div.woocommerce-message,
ul.woocommerce-error,
ul.woocommerce-info,
p.woocommerce-message,
p.woocommerce-info,
p.woocommerce-Message,
p.no_subscriptions {
    position: relative !important;
    margin: 0 0 24px 0 !important;
    /* 🌟 Core Moat: A mandatory 52px space is reserved on the left, fully clearing a safe zone for all icons. */
    padding: 14px 20px 14px 52px !important;
    border-radius: 10px !important;
    list-style: none !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
}

@media (max-width: 768px) {
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-message,
    .woocommerce-Message,
    .no_subscriptions,
    ul.woocommerce-error,
    p.no_subscriptions {
        padding: 12px 14px 12px 44px !important; /* Retain on the left side for mobile 44px */
        font-size: 13px !important;
    }
}

/* 🌟 Universal base positioning for all icons (fixed at 18px from the left; never crowds the text) */
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-Message::before,
.no_subscriptions::before,
html body .woocommerce-error::before,
html body .woocommerce-info::before,
html body .woocommerce-message::before,
html body ul.woocommerce-error::before,
html body p.no_subscriptions::before {
    font-family: WooCommerce !important;
    font-size: 16px !important;
    line-height: 1 !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .woocommerce-error::before,
    .woocommerce-info::before,
    .woocommerce-message::before,
    .woocommerce-Message::before,
    .no_subscriptions::before {
        left: 14px !important;
        font-size: 15px !important;
    }
}

/* Status A: Success Notification (green background + green checkmark; e.g., 
item successfully added to cart, password successfully reset) */
.woocommerce-message,
p.woocommerce-message:not(.no_subscriptions) {
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
    border-left: 4px solid #16a34a !important;
}
.woocommerce-message::before,
p.woocommerce-message:not(.no_subscriptions)::before {
    content: "\e015" !important;
    color: #16a34a !important;
}

/* State B: General information and empty-state prompts (light gray background + blue/orange border; e.g., 
no orders, no subscriptions, item already in cart) */
.woocommerce-info,
.woocommerce-Message--info,
.no_subscriptions,
p.no_subscriptions {
    background: #f8fafc !important;
    color: #1e293b !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #f59e0b !important; /* Matching premium amber-gold left side strip */
}
.woocommerce-info::before,
.woocommerce-Message--info::before,
.no_subscriptions::before,
p.no_subscriptions::before {
    content: "\e028" !important; /* Native, refined WooCommerce information icon */
    color: #f59e0b !important;
}

/* State C: Error indicator (red background + native small red exclamation mark) */
.woocommerce-error,
ul.woocommerce-error {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
    border-left: 4px solid #dc2626 !important;
}
.woocommerce-error::before,
ul.woocommerce-error::before {
    content: "\e016" !important; /* Figure 7: Native small red exclamation mark */
    color: #b81c23 !important;
}

/* Whether wrapping `li` elements or containing raw text, all internal and external margins are completely reset to zero
(deferring entirely to the outer 52px "moat" for spacing control). */
.woocommerce-error li,
ul.woocommerce-error li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}

/* Standardized internal buttons: consistently right-aligned; naturally wrapping layout on mobile devices. */
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button,
.woocommerce-Message .button,
.no_subscriptions .button {
    margin-left: auto !important;
    flex-shrink: 0 !important;
    border-radius: 8px !important;
    padding: 7px 16px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background: #f59e0b !important;
    color: #020617 !important;
}
.woocommerce-message .button {
    background: #16a34a !important;
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .woocommerce-error .button,
    .woocommerce-info .button,
    .woocommerce-message .button,
    .no_subscriptions .button {
        width: 100% !important;
        margin-left: 0 !important;
        text-align: center !important;
        margin-top: 6px !important;
    }
}

/* ==========================================================
   3. "Invisible Battlefield" Defense Patch (Coupons, strikethrough prices, and required-field asterisks)
   ========================================================== */
.stock.out-of-stock, .price_container .out-of-stock {
    color: #dc2626 !important;
    font-weight: 700 !important;
}
.stock.in-stock {
    color: #16a34a !important;
}

.woocommerce-cart .coupon {
    display: flex !important;
    gap: 10px !important;
}
.woocommerce-cart .coupon input.input-text {
    flex: 1 !important;
    padding: 10px 14px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
}

del, del span {
    color: #94a3b8 !important;
    text-decoration: line-through !important;
}
.required {
    color: #ef4444 !important;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}