/* =========================================================================
   LockGrip Elite V3 — WooCommerce System Pages v3.2.36
   Single source of truth for Cart / Checkout / My Account styling.
   Loaded only on WooCommerce system pages and after main.css.
   ========================================================================= */

:root {
    --lg-wc-bg: #ffffff;
    --lg-wc-text: #111111;
    --lg-wc-muted: #5f6368;
    --lg-wc-line: #d8d8d8;
    --lg-wc-line-soft: #ececec;
    --lg-wc-orange: #f15a24;
    --lg-wc-radius: 14px;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.lg-wc-system-page {
    background: var(--lg-wc-bg) !important;
    color: var(--lg-wc-text) !important;
    overflow-x: hidden !important;
}

body.woocommerce-cart .lg-site-main,
body.woocommerce-checkout .lg-site-main,
body.woocommerce-account .lg-site-main,
body.lg-wc-system-page .lg-site-main {
    background: var(--lg-wc-bg) !important;
    color: var(--lg-wc-text) !important;
    min-height: 60vh;
    overflow-x: hidden !important;
    padding-top: clamp(42px, 6vw, 74px) !important;
    padding-bottom: clamp(58px, 8vw, 96px) !important;
}

body.woocommerce-cart .lg-container,
body.woocommerce-checkout .lg-container,
body.woocommerce-account .lg-container,
body.lg-wc-system-page .lg-container,
body.woocommerce-cart .lg-page-container,
body.woocommerce-checkout .lg-page-container,
body.woocommerce-account .lg-page-container,
body.lg-wc-system-page .lg-page-container {
    max-width: 1280px !important;
    width: 100% !important;
    padding-left: clamp(18px, 3vw, 46px) !important;
    padding-right: clamp(18px, 3vw, 46px) !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .lg-site-main *,
body.woocommerce-checkout .lg-site-main *,
body.woocommerce-account .lg-site-main *,
body.lg-wc-system-page .lg-site-main * {
    box-sizing: border-box;
}

body.woocommerce-cart .lg-site-main h1,
body.woocommerce-cart .lg-site-main h2,
body.woocommerce-cart .lg-site-main h3,
body.woocommerce-checkout .lg-site-main h1,
body.woocommerce-checkout .lg-site-main h2,
body.woocommerce-checkout .lg-site-main h3,
body.woocommerce-account .lg-site-main h1,
body.woocommerce-account .lg-site-main h2,
body.woocommerce-account .lg-site-main h3,
body.lg-wc-system-page .lg-site-main h1,
body.lg-wc-system-page .lg-site-main h2,
body.lg-wc-system-page .lg-site-main h3,
body.woocommerce-cart .lg-site-main p,
body.woocommerce-cart .lg-site-main li,
body.woocommerce-cart .lg-site-main label,
body.woocommerce-cart .lg-site-main span,
body.woocommerce-checkout .lg-site-main p,
body.woocommerce-checkout .lg-site-main li,
body.woocommerce-checkout .lg-site-main label,
body.woocommerce-checkout .lg-site-main span,
body.woocommerce-account .lg-site-main p,
body.woocommerce-account .lg-site-main li,
body.woocommerce-account .lg-site-main label,
body.woocommerce-account .lg-site-main span,
body.lg-wc-system-page .lg-site-main p,
body.lg-wc-system-page .lg-site-main li,
body.lg-wc-system-page .lg-site-main label,
body.lg-wc-system-page .lg-site-main span {
    color: var(--lg-wc-text) !important;
}

body.woocommerce-cart .lg-page-title,
body.woocommerce-checkout .lg-page-title,
body.woocommerce-account .lg-page-title,
body.lg-wc-system-page .lg-page-title,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title,
body.lg-wc-system-page .entry-title {
    color: #050505 !important;
    font-size: clamp(42px, 7vw, 70px) !important;
    line-height: 0.95 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    margin-bottom: clamp(32px, 5vw, 56px) !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

/* Footer is intentionally outside .lg-site-main and keeps the dark LockGrip theme. */
body.woocommerce-cart .lg-footer,
body.woocommerce-checkout .lg-footer,
body.woocommerce-account .lg-footer,
body.lg-wc-system-page .lg-footer {
    background: #050505 !important;
    color: var(--lg-text-dim, #b8b8b8) !important;
}

/* -------------------------------------------------------------------------
   Forms, buttons and links
   ------------------------------------------------------------------------- */
body.woocommerce-cart .lg-site-main a,
body.woocommerce-checkout .lg-site-main a,
body.woocommerce-account .lg-site-main a,
body.lg-wc-system-page .lg-site-main a {
    color: var(--lg-wc-text) !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

body.woocommerce-cart .lg-site-main input,
body.woocommerce-cart .lg-site-main select,
body.woocommerce-cart .lg-site-main textarea,
body.woocommerce-checkout .lg-site-main input,
body.woocommerce-checkout .lg-site-main select,
body.woocommerce-checkout .lg-site-main textarea,
body.woocommerce-account .lg-site-main input,
body.woocommerce-account .lg-site-main select,
body.woocommerce-account .lg-site-main textarea,
body.lg-wc-system-page .lg-site-main input,
body.lg-wc-system-page .lg-site-main select,
body.lg-wc-system-page .lg-site-main textarea {
    color: var(--lg-wc-text) !important;
    background: #fff !important;
    border-color: #cfcfcf !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .lg-site-main input:focus,
body.woocommerce-cart .lg-site-main select:focus,
body.woocommerce-cart .lg-site-main textarea:focus,
body.woocommerce-checkout .lg-site-main input:focus,
body.woocommerce-checkout .lg-site-main select:focus,
body.woocommerce-checkout .lg-site-main textarea:focus,
body.woocommerce-account .lg-site-main input:focus,
body.woocommerce-account .lg-site-main select:focus,
body.woocommerce-account .lg-site-main textarea:focus,
body.lg-wc-system-page .lg-site-main input:focus,
body.lg-wc-system-page .lg-site-main select:focus,
body.lg-wc-system-page .lg-site-main textarea:focus {
    border-color: var(--lg-wc-orange) !important;
    box-shadow: 0 0 0 1px var(--lg-wc-orange) !important;
    outline: 0 !important;
}

body.woocommerce-cart .lg-site-main .button,
body.woocommerce-cart .lg-site-main button.button,
body.woocommerce-cart .lg-site-main a.button,
body.woocommerce-cart .lg-site-main .wc-block-components-button,
body.woocommerce-checkout .lg-site-main .button,
body.woocommerce-checkout .lg-site-main button.button,
body.woocommerce-checkout .lg-site-main a.button,
body.woocommerce-checkout .lg-site-main .wc-block-components-button,
body.woocommerce-account .lg-site-main .button,
body.woocommerce-account .lg-site-main button.button,
body.woocommerce-account .lg-site-main a.button,
body.woocommerce-account .lg-site-main .wc-block-components-button,
body.lg-wc-system-page .lg-site-main .button,
body.lg-wc-system-page .lg-site-main button.button,
body.lg-wc-system-page .lg-site-main a.button,
body.lg-wc-system-page .lg-site-main .wc-block-components-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 14px 24px !important;
    border: 2px solid #111 !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.1 !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .lg-site-main .button:hover,
body.woocommerce-cart .lg-site-main .wc-block-components-button:hover,
body.woocommerce-checkout .lg-site-main .button:hover,
body.woocommerce-checkout .lg-site-main .wc-block-components-button:hover,
body.woocommerce-account .lg-site-main .button:hover,
body.woocommerce-account .lg-site-main .wc-block-components-button:hover,
body.lg-wc-system-page .lg-site-main .button:hover,
body.lg-wc-system-page .lg-site-main .wc-block-components-button:hover {
    background: var(--lg-wc-orange) !important;
    border-color: var(--lg-wc-orange) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body.woocommerce-checkout .lg-site-main .wc-block-components-button[disabled],
body.woocommerce-checkout .lg-site-main .wc-block-components-checkout-place-order-button[disabled] {
    background: #e6e6e6 !important;
    border-color: #e6e6e6 !important;
    color: #777 !important;
    -webkit-text-fill-color: #777 !important;
}

/* -------------------------------------------------------------------------
   Cart page and empty cart suggestions
   ------------------------------------------------------------------------- */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .woocommerce,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart,
body.lg-wc-system-page.woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
body.woocommerce-cart .product-name a,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-product-name,
body.lg-wc-system-page.woocommerce-cart .product-name a {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-components-product-image img,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart-item__image img,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-product-image img {
    width: auto !important;
    max-width: 86px !important;
    max-height: 120px !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector {
    display: inline-grid !important;
    grid-template-columns: 44px 54px 44px !important;
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    min-height: 44px !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button,
body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector__input,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector input,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector__input {
    width: 54px !important;
    min-width: 54px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    text-align: center !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .wc-block-cart__empty-cart,
body.woocommerce-cart .cart-empty,
body.lg-wc-system-page.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart__empty-cart,
body.lg-wc-system-page.woocommerce-cart .cart-empty {
    color: #111 !important;
    text-align: center;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .add_to_cart_button,
body.woocommerce-cart .wc-block-grid__product-add-to-cart a,
body.woocommerce-cart .products .button,
body.lg-wc-system-page.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.lg-wc-system-page.woocommerce-cart .wc-block-grid__product-add-to-cart a,
body.lg-wc-system-page.woocommerce-cart .products .button {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #111 !important;
    border-color: #111 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a,
body.woocommerce-cart .products .woocommerce-loop-product__title,
body.lg-wc-system-page.woocommerce-cart .wc-block-grid__product-title,
body.lg-wc-system-page.woocommerce-cart .wp-block-woocommerce-empty-cart-block a,
body.lg-wc-system-page.woocommerce-cart .products .woocommerce-loop-product__title {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    text-decoration-color: transparent !important;
}

/* -------------------------------------------------------------------------
   Checkout layout and order summary
   ------------------------------------------------------------------------- */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.lg-wc-system-page.woocommerce-checkout .wp-block-woocommerce-checkout,
body.lg-wc-system-page.woocommerce-checkout .wc-block-checkout,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-sidebar-layout {
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: clip !important;
}

@media (min-width: 1024px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
        gap: clamp(32px, 4vw, 56px) !important;
        align-items: start !important;
    }

    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-components-main,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-checkout__main {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        float: none !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-components-sidebar,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-checkout__sidebar {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 420px !important;
        min-width: 0 !important;
        margin: 0 !important;
        float: none !important;
        align-self: start !important;
        position: sticky !important;
        top: calc(var(--lg-header-h, 72px) + 28px) !important;
    }

    body.woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
        gap: clamp(32px, 4vw, 56px) !important;
        align-items: start !important;
        max-width: 1240px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-checkout form.checkout #customer_details {
        grid-column: 1 !important;
        width: 100% !important;
    }

    body.woocommerce-checkout form.checkout #order_review,
    body.woocommerce-checkout form.checkout #order_review_heading {
        grid-column: 2 !important;
        width: 100% !important;
    }
}

@media (max-width: 1023px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-components-main,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-checkout__main,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-components-sidebar,
    body.lg-wc-system-page.woocommerce-checkout .wc-block-checkout__sidebar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: static !important;
        overflow-x: clip !important;
    }
}

body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-title,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-checkout-step__title,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-checkout-step__description {
    color: #111 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-title,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-title {
    font-size: clamp(24px, 5.5vw, 36px) !important;
    line-height: 1.12 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary__content,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary__content {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    color: #111 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) max-content !important;
    column-gap: 14px !important;
    row-gap: 4px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__image {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: relative !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #fff !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 52px !important;
    max-height: 78px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__description {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    color: #111 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    grid-column: 3 !important;
    white-space: nowrap !important;
    color: #111 !important;
    text-align: right !important;
}

body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-price,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-product-name,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-product-metadata,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-product-price {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    color: #111 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-order-summary-item__image > .wc-block-components-order-summary-item__quantity,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__image > .wc-block-components-order-summary-item__quantity {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: var(--lg-wc-orange) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 4 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity *,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity * {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity::before,
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity::after,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity::before,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity::after {
    content: none !important;
    display: none !important;
}

/* -------------------------------------------------------------------------
   My Account — premium sidebar layout
   Nav on the LEFT (stacked column), content on the RIGHT.
   IMPORTANT: This flex layout applies ONLY when logged in (i.e. when
   .woocommerce-MyAccount-navigation exists as a child). When logged out,
   the .woocommerce wrapper holds just the login (or login+register) form
   and must NOT be made into a row container.
   ------------------------------------------------------------------------- */

/* Logged-in dashboard: flex layout (nav left, content right) */
body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation),
body.lg-wc-system-page.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    align-items: stretch !important;
}

@media (min-width: 860px) {
    body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation),
    body.lg-wc-system-page.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: clamp(32px, 5vw, 64px) !important;
    }
}

/* Logged-out state: centre login (and register if shown) in the page */
body.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)),
body.lg-wc-system-page.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}

/* Nav sidebar */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 210px !important;
    width: 210px !important;
    min-width: 0 !important;
}

@media (max-width: 859px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation {
        flex: none !important;
        width: 100% !important;
    }
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Nav links — clean left-aligned sidebar style */
body.woocommerce-account .woocommerce-MyAccount-navigation li a,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #555 !important;
    -webkit-text-fill-color: #555 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
    transition: background 140ms ease, color 140ms ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation li a:focus {
    background: #f4f4f4 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a {
    background: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 700 !important;
}

/* Divider between sidebar and content on desktop */
@media (min-width: 860px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-navigation {
        border-right: 1px solid #ebebeb !important;
        padding-right: 8px !important;
    }
}

/* Content area fills remaining space */
body.woocommerce-account .woocommerce-MyAccount-content,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

/* Floating cart should never cover checkout/account controls. */
@media (max-width: 767px) {
    body.woocommerce-cart .lg-floating-cart,
    body.woocommerce-checkout .lg-floating-cart,
    body.woocommerce-account .lg-floating-cart,
    body.lg-wc-system-page .lg-floating-cart {
        transform: scale(0.9);
        transform-origin: right bottom;
    }
}

/* -------------------------------------------------------------------------
   v3.2.2: Checkout order summary refinements
   ------------------------------------------------------------------------- */
body.woocommerce-checkout .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-panel__button[aria-expanded],
body.woocommerce-checkout .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon-link,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-panel__button,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-panel__button[aria-expanded],
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-totals-coupon__button,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-totals-coupon-link {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

body.woocommerce-checkout .wc-block-components-panel__button svg,
body.woocommerce-checkout .wc-block-components-panel__button path,
body.woocommerce-checkout .wc-block-components-totals-coupon__button svg,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-panel__button svg,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-panel__button path,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-totals-coupon__button svg {
    color: #111 !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-order-summary-item__image > .wc-block-components-order-summary-item__quantity,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__image > .wc-block-components-order-summary-item__quantity {
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: var(--lg-wc-orange) !important;
    border: 2px solid #fff !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    overflow: hidden !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity > span:not(.screen-reader-text),
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity > span:not(.screen-reader-text) {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    transform: translateY(-0.5px) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity .screen-reader-text,
body.lg-wc-system-page.woocommerce-checkout .wc-block-components-order-summary-item__quantity .screen-reader-text {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    margin: -1px !important;
    padding: 0 !important;
}

/* -------------------------------------------------------------------------
   v3.2.2: Cart summary visibility refinements
   ------------------------------------------------------------------------- */
/* "Add coupons" toggle link and coupon text links */
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-panel__button[aria-expanded],
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-panel__button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-panel__button[aria-expanded],
body.lg-wc-system-page.woocommerce-cart .wc-block-components-totals-coupon__button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-totals-coupon-link {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    opacity: 1 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Coupon "Apply" submit button — dark pill, white text, clearly visible */
body.woocommerce-cart .wc-block-components-totals-coupon__form button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-totals-coupon__form button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    background: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: 2px solid #111 !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 160ms ease, border-color 160ms ease !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__form button:hover,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-totals-coupon__form button:hover {
    background: var(--lg-wc-orange) !important;
    border-color: var(--lg-wc-orange) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body.woocommerce-cart .wc-block-components-panel__button svg,
body.woocommerce-cart .wc-block-components-panel__button path,
body.woocommerce-cart .wc-block-components-totals-coupon__button svg,
body.woocommerce-cart .wc-block-components-totals-coupon__button path,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-panel__button svg,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-panel__button path,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-totals-coupon__button svg,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-totals-coupon__button path {
    color: #111 !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-quantity-selector button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector__button,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector button {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    opacity: 1 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button svg,
body.woocommerce-cart .wc-block-components-quantity-selector__button path,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector__button svg,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-quantity-selector__button path {
    color: #111 !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

/* =========================================================================
   v3.2.3 — LockGrip WC System Pages: Fixes for unfinished page areas
   Covers: notices, login/register forms, input-text, WC tables,
   address blocks. All missing from v3.2.2.
   ========================================================================= */

/* -------------------------------------------------------------------------
   FIX 1 + FIX 5: WooCommerce notices / flash messages
   Notices are injected by WC outside .lg-site-main, directly in .woocommerce,
   and must be visible on the white WC background.
   ------------------------------------------------------------------------- */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce-notices-wrapper,
body.lg-wc-system-page .woocommerce-notices-wrapper {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto 24px !important;
    padding: 0 !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message,
body.lg-wc-system-page .woocommerce-message {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 18px 14px 48px !important;
    margin: 0 0 16px !important;
    background: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    border-radius: var(--lg-wc-radius) !important;
    color: #15803d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    list-style: none !important;
    position: relative !important;
    overflow: visible !important;
}

body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-account .woocommerce-message::before,
body.lg-wc-system-page .woocommerce-message::before {
    position: absolute !important;
    top: 50% !important;
    left: 18px !important;
    transform: translateY(-50%) !important;
    color: #15803d !important;
    font-size: 16px !important;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-error,
body.lg-wc-system-page .woocommerce-error {
    display: block !important;
    padding: 14px 18px 14px 48px !important;
    margin: 0 0 16px !important;
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    border-radius: var(--lg-wc-radius) !important;
    color: #b91c1c !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    list-style: none !important;
    position: relative !important;
    overflow: visible !important;
}

body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-account .woocommerce-error::before,
body.lg-wc-system-page .woocommerce-error::before {
    position: absolute !important;
    top: 16px !important;
    left: 18px !important;
    color: #b91c1c !important;
    font-size: 16px !important;
}

body.woocommerce-cart .woocommerce-error li,
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-account .woocommerce-error li,
body.lg-wc-system-page .woocommerce-error li {
    color: #b91c1c !important;
    padding: 2px 0 !important;
}

body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-account .woocommerce-info,
body.lg-wc-system-page .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 18px 14px 48px !important;
    margin: 0 0 16px !important;
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    border-radius: var(--lg-wc-radius) !important;
    color: #1d4ed8 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    list-style: none !important;
    position: relative !important;
    overflow: visible !important;
}

body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-account .woocommerce-info::before,
body.lg-wc-system-page .woocommerce-info::before {
    position: absolute !important;
    top: 50% !important;
    left: 18px !important;
    transform: translateY(-50%) !important;
    color: #1d4ed8 !important;
    font-size: 16px !important;
}

/* Notice action links */
body.woocommerce-cart .woocommerce-message a.button,
body.woocommerce-cart .woocommerce-info a.button,
body.woocommerce-cart .woocommerce-error a.button,
body.woocommerce-checkout .woocommerce-message a.button,
body.woocommerce-checkout .woocommerce-info a.button,
body.woocommerce-account .woocommerce-message a.button,
body.woocommerce-account .woocommerce-info a.button,
body.woocommerce-account .woocommerce-error a.button,
body.lg-wc-system-page .woocommerce-message a.button,
body.lg-wc-system-page .woocommerce-info a.button,
body.lg-wc-system-page .woocommerce-error a.button {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: auto !important;
    padding: 8px 18px !important;
    min-height: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    background: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border-color: #111 !important;
    border-radius: 999px !important;
    text-decoration: none !important;
}

/* -------------------------------------------------------------------------
   FIX 1: Login / Register / Lost Password form pages
   WooCommerce renders these inside .woocommerce which lives in .lg-site-main.
   The general input/button rules above apply, but the forms need layout fixes.
   ------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .woocommerce-ResetPassword,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register,
body.lg-wc-system-page.woocommerce-account .woocommerce-ResetPassword {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: clamp(28px, 5vw, 48px) clamp(20px, 4vw, 40px) !important;
    background: #fff !important;
    border: 1px solid var(--lg-wc-line) !important;
    border-radius: var(--lg-wc-radius) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07) !important;
    color: var(--lg-wc-text) !important;
}

/* Two-column login + register side-by-side on account page when logged out.
   Uses flexbox instead of grid for more predictable item ordering. */
body.woocommerce-account .u-columns,
body.lg-wc-system-page.woocommerce-account .u-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
}

body.woocommerce-account .u-column1,
body.woocommerce-account .u-column2,
body.lg-wc-system-page.woocommerce-account .u-column1,
body.lg-wc-system-page.woocommerce-account .u-column2 {
    width: 100% !important; /* Mobile: full width */
    float: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

@media (min-width: 640px) {
    body.woocommerce-account .u-columns,
    body.lg-wc-system-page.woocommerce-account .u-columns {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: clamp(20px, 3vw, 48px) !important;
        margin-left: calc(-1 * clamp(18px, 3vw, 46px)) !important;
        margin-right: calc(-1 * clamp(18px, 3vw, 46px)) !important;
        width: calc(100% + 2 * clamp(18px, 3vw, 46px)) !important;
        padding-left: clamp(18px, 3vw, 46px) !important;
        padding-right: clamp(18px, 3vw, 46px) !important;
    }

    /* Tablet+: Each column takes 50% width */
    body.woocommerce-account .u-column1,
    body.woocommerce-account .u-column2,
    body.lg-wc-system-page.woocommerce-account .u-column1,
    body.lg-wc-system-page.woocommerce-account .u-column2 {
        display: flex !important;
        flex-direction: column !important;
        width: auto !important;
        flex: 0 1 50% !important;
    }

    /* Forms expand to fill column width in 2-column layout */
    body.woocommerce-account .u-column1 .woocommerce-form-login,
    body.woocommerce-account .u-column1 .woocommerce-form-register,
    body.woocommerce-account .u-column2 .woocommerce-form-login,
    body.woocommerce-account .u-column2 .woocommerce-form-register,
    body.lg-wc-system-page.woocommerce-account .u-column1 .woocommerce-form-login,
    body.lg-wc-system-page.woocommerce-account .u-column1 .woocommerce-form-register,
    body.lg-wc-system-page.woocommerce-account .u-column2 .woocommerce-form-login,
    body.lg-wc-system-page.woocommerce-account .u-column2 .woocommerce-form-register {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    /* When only one form (e.g. lost password), centre it */
    body.woocommerce-account .u-column1:only-child,
    body.woocommerce-account .u-column2:only-child,
    body.lg-wc-system-page.woocommerce-account .u-column1:only-child,
    body.lg-wc-system-page.woocommerce-account .u-column2:only-child {
        width: 100% !important;
        flex: 0 1 100% !important;
        max-width: 520px !important;
        margin: 0 auto !important;
    }
}

/* Form heading */
body.woocommerce-account .woocommerce-form-login h2,
body.woocommerce-account .woocommerce-form-register h2,
body.woocommerce-account .woocommerce-ResetPassword h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-ResetPassword h2 {
    font-size: clamp(20px, 4vw, 26px) !important;
    color: #111 !important;
    margin-bottom: 22px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}

/* Form rows */
body.woocommerce-account .woocommerce-form__label,
body.woocommerce-account .form-row label,
body.lg-wc-system-page.woocommerce-account .woocommerce-form__label,
body.lg-wc-system-page.woocommerce-account .form-row label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

body.woocommerce-account .form-row,
body.lg-wc-system-page.woocommerce-account .form-row {
    margin-bottom: 16px !important;
}

/* input.input-text — covers coupon field, login, register (Fix 6) */
body.woocommerce-cart .lg-site-main input.input-text,
body.woocommerce-checkout .lg-site-main input.input-text,
body.woocommerce-account .lg-site-main input.input-text,
body.lg-wc-system-page .lg-site-main input.input-text {
    display: block !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1.5px solid #cfcfcf !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 15px !important;
    box-shadow: none !important;
    transition: border-color 160ms ease, box-shadow 160ms ease !important;
}

body.woocommerce-cart .lg-site-main input.input-text:focus,
body.woocommerce-checkout .lg-site-main input.input-text:focus,
body.woocommerce-account .lg-site-main input.input-text:focus,
body.lg-wc-system-page .lg-site-main input.input-text:focus {
    border-color: var(--lg-wc-orange) !important;
    box-shadow: 0 0 0 2px rgba(241, 90, 36, 0.18) !important;
    outline: 0 !important;
}

/* Inline checkbox label (remember me, privacy) */
body.woocommerce-account .woocommerce-form__label-for-checkbox,
body.lg-wc-system-page.woocommerce-account .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #444 !important;
    -webkit-text-fill-color: #444 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
}

/* Lost password link */
body.woocommerce-account .lost_password,
body.lg-wc-system-page.woocommerce-account .lost_password {
    margin-top: 12px !important;
    font-size: 13px !important;
}

body.woocommerce-account .lost_password a,
body.lg-wc-system-page.woocommerce-account .lost_password a {
    color: var(--lg-wc-orange) !important;
    -webkit-text-fill-color: var(--lg-wc-orange) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* Submit button full-width inside login/register forms */
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login__submit,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register__submit {
    width: 100% !important;
    margin-top: 8px !important;
}

/* Privacy policy note */
body.woocommerce-account .woocommerce-privacy-policy-text,
body.lg-wc-system-page.woocommerce-account .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: var(--lg-wc-muted) !important;
    margin-top: 12px !important;
    line-height: 1.5 !important;
}

body.woocommerce-account .woocommerce-privacy-policy-text a,
body.lg-wc-system-page.woocommerce-account .woocommerce-privacy-policy-text a {
    color: var(--lg-wc-orange) !important;
    -webkit-text-fill-color: var(--lg-wc-orange) !important;
}

/* -------------------------------------------------------------------------
   FIX 2: WooCommerce tables — classic cart, order history, order details
   ------------------------------------------------------------------------- */
body.woocommerce-cart table.shop_table,
body.woocommerce-account table.shop_table,
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account table.woocommerce-table,
body.lg-wc-system-page table.shop_table,
body.lg-wc-system-page table.woocommerce-orders-table,
body.lg-wc-system-page table.woocommerce-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid var(--lg-wc-line) !important;
    border-radius: var(--lg-wc-radius) !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 14px !important;
    margin-bottom: 28px !important;
}

body.woocommerce-cart table.shop_table thead,
body.woocommerce-account table.shop_table thead,
body.woocommerce-account table.woocommerce-orders-table thead,
body.woocommerce-account table.woocommerce-table thead,
body.lg-wc-system-page table.shop_table thead,
body.lg-wc-system-page table.woocommerce-orders-table thead,
body.lg-wc-system-page table.woocommerce-table thead {
    background: #f5f5f5 !important;
    color: #111 !important;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-account table.shop_table th,
body.woocommerce-account table.woocommerce-orders-table th,
body.woocommerce-account table.woocommerce-table th,
body.lg-wc-system-page table.shop_table th,
body.lg-wc-system-page table.woocommerce-orders-table th,
body.lg-wc-system-page table.woocommerce-table th {
    padding: 14px 16px !important;
    text-align: left !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    border-bottom: 1px solid var(--lg-wc-line) !important;
}

body.woocommerce-cart table.shop_table td,
body.woocommerce-account table.shop_table td,
body.woocommerce-account table.woocommerce-orders-table td,
body.woocommerce-account table.woocommerce-table td,
body.lg-wc-system-page table.shop_table td,
body.lg-wc-system-page table.woocommerce-orders-table td,
body.lg-wc-system-page table.woocommerce-table td {
    padding: 14px 16px !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    border-bottom: 1px solid var(--lg-wc-line-soft) !important;
    vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table tr:last-child td,
body.woocommerce-account table.shop_table tr:last-child td,
body.woocommerce-account table.woocommerce-orders-table tr:last-child td,
body.woocommerce-account table.woocommerce-table tr:last-child td,
body.lg-wc-system-page table.shop_table tr:last-child td,
body.lg-wc-system-page table.woocommerce-orders-table tr:last-child td,
body.lg-wc-system-page table.woocommerce-table tr:last-child td {
    border-bottom: 0 !important;
}

/* Classic cart product image in table */
body.woocommerce-cart table.shop_table .product-thumbnail img,
body.lg-wc-system-page table.shop_table .product-thumbnail img {
    width: 72px !important;
    height: auto !important;
    max-height: 100px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
}

/* Classic cart product name */
body.woocommerce-cart table.shop_table .product-name a,
body.lg-wc-system-page table.shop_table .product-name a {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Classic cart remove icon */
body.woocommerce-cart table.shop_table td.product-remove a.remove,
body.lg-wc-system-page table.shop_table td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #f5f5f5 !important;
    color: #777 !important;
    -webkit-text-fill-color: #777 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body.woocommerce-cart table.shop_table td.product-remove a.remove:hover,
body.lg-wc-system-page table.shop_table td.product-remove a.remove:hover {
    background: #ffeeed !important;
    color: #e02020 !important;
    -webkit-text-fill-color: #e02020 !important;
}

/* Cart totals box */
body.woocommerce-cart .cart_totals,
body.lg-wc-system-page.woocommerce-cart .cart_totals {
    padding: 24px !important;
    background: #f9f9f9 !important;
    border: 1px solid var(--lg-wc-line) !important;
    border-radius: var(--lg-wc-radius) !important;
    color: #111 !important;
}

body.woocommerce-cart .cart_totals h2,
body.lg-wc-system-page.woocommerce-cart .cart_totals h2 {
    font-size: 20px !important;
    color: #111 !important;
    margin-bottom: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

body.woocommerce-cart .cart_totals table,
body.lg-wc-system-page.woocommerce-cart .cart_totals table {
    border: 0 !important;
    border-radius: 0 !important;
    margin-bottom: 16px !important;
    background: transparent !important;
}

body.woocommerce-cart .cart_totals table td,
body.woocommerce-cart .cart_totals table th,
body.lg-wc-system-page.woocommerce-cart .cart_totals table td,
body.lg-wc-system-page.woocommerce-cart .cart_totals table th {
    border-bottom: 1px solid var(--lg-wc-line-soft) !important;
    padding: 10px 0 !important;
    background: transparent !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}

/* -------------------------------------------------------------------------
   FIX 3: Account address display (.woocommerce-Address)
   ------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce-Address,
body.lg-wc-system-page.woocommerce-account .woocommerce-Address {
    padding: 20px 22px !important;
    background: #fff !important;
    border: 1px solid var(--lg-wc-line) !important;
    border-radius: var(--lg-wc-radius) !important;
    color: #111 !important;
    margin-bottom: 20px !important;
}

body.woocommerce-account .woocommerce-Address-title,
body.lg-wc-system-page.woocommerce-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
}

body.woocommerce-account .woocommerce-Address-title h3,
body.lg-wc-system-page.woocommerce-account .woocommerce-Address-title h3 {
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #111 !important;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title a,
body.lg-wc-system-page.woocommerce-account .woocommerce-Address-title a {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--lg-wc-orange) !important;
    -webkit-text-fill-color: var(--lg-wc-orange) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

body.woocommerce-account address,
body.lg-wc-system-page.woocommerce-account address {
    font-style: normal !important;
    font-size: 14px !important;
    color: #444 !important;
    -webkit-text-fill-color: #444 !important;
    line-height: 1.65 !important;
}

/* Orders table on account page */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions a,
body.lg-wc-system-page.woocommerce-account .woocommerce-orders-table__cell-order-actions a {
    color: var(--lg-wc-orange) !important;
    -webkit-text-fill-color: var(--lg-wc-orange) !important;
    font-weight: 700 !important;
}

/* My Account content headings and typography */
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #111 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 16px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content p,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content p {
    color: #333 !important;
    -webkit-text-fill-color: #333 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

/* -------------------------------------------------------------------------
   FIX 6: input.input-text border / coupon field (classic WC shortcode coupon)
   Also ensures a minimum height for all WC text inputs on all pages.
   Already merged into Fix 1 block above; this selector covers edge cases
   where WC outputs .input-text outside .lg-site-main (e.g. floating/mini cart).
   ------------------------------------------------------------------------- */
body.woocommerce-cart input[name="coupon_code"],
body.lg-wc-system-page input[name="coupon_code"] {
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1.5px solid #cfcfcf !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 14px !important;
}

/* =========================================================================
   End v3.2.3 fixes
   ========================================================================= */

/* =========================================================================
   v3.2.4 — Visual fix patch (photo audit)
   1. Cart remove button visible
   2. My Account nav left-aligned, dashboard content side-by-side properly
   3. Regular page template (Stockists etc.) — wider, correct text colour
   ========================================================================= */

/* -------------------------------------------------------------------------
   FIX: Cart block remove / delete button — make clearly visible
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-cart-line-item-remove-button,
body.woocommerce-cart [class*="remove-item"],
body.woocommerce-cart [class*="RemoveItem"],
body.lg-wc-system-page.woocommerce-cart .wc-block-cart-item__remove-link,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-cart-line-item-remove-button,
body.lg-wc-system-page.woocommerce-cart [class*="remove-item"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 4px 8px !important;
    background: #f3f3f3 !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 999px !important;
    color: #555 !important;
    -webkit-text-fill-color: #555 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    cursor: pointer !important;
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .wc-block-components-cart-line-item-remove-button:hover,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-cart-line-item-remove-button:hover {
    background: #ffeeed !important;
    border-color: #fca5a5 !important;
    color: #c00 !important;
    -webkit-text-fill-color: #c00 !important;
}

/* SVG icon inside remove button */
body.woocommerce-cart .wc-block-cart-item__remove-link svg,
body.woocommerce-cart .wc-block-components-cart-line-item-remove-button svg,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart-item__remove-link svg,
body.lg-wc-system-page.woocommerce-cart .wc-block-components-cart-line-item-remove-button svg {
    width: 14px !important;
    height: 14px !important;
    color: currentColor !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

/* -------------------------------------------------------------------------
   FIX: Regular page template (page.php) — Stockists, Privacy Policy etc.
   These pages get the dark theme (black bg, white text) from main.css.
   They are NOT WC pages so woo-system.css doesn't fire on them.
   The issue: .lg-page-container has max-width: 800px (too narrow) and
   the body stays dark. We need a light override for non-WC static pages.
   
   Strategy: add a body.page class override for standard WordPress pages.
   This keeps dark for the home/shop but makes inner static pages light.
   ------------------------------------------------------------------------- */
body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-site-main {
    background: #ffffff !important;
    color: #111111 !important;
}

body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-container {
    max-width: 1280px !important;
    padding-left: clamp(18px, 3vw, 46px) !important;
    padding-right: clamp(18px, 3vw, 46px) !important;
}

body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-title {
    color: #080808 !important;
    font-size: clamp(36px, 7vw, 62px) !important;
}

body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-content {
    color: #333333 !important;
}

body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-content h2,
body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-content h3,
body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-content h4 {
    color: #111111 !important;
}

body.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .lg-page-content a {
    color: var(--lg-wc-orange, #f15a24) !important;
}

/* =========================================================================
   v3.2.5 — Premium My Account & Login polish + cart fade fix
   ========================================================================= */

/* -------------------------------------------------------------------------
   LOGIN PAGE — premium centred card, single form
   ------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce-form-login,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    padding: clamp(32px, 5vw, 52px) clamp(24px, 4vw, 44px) !important;
    background: #fff !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 18px !important;
    box-shadow: 0 2px 32px rgba(0,0,0,0.07) !important;
    color: #111 !important;
}

/* When login + register side-by-side, give each card equal treatment */
body.woocommerce-account .woocommerce-form-register,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register {
    padding: clamp(32px, 5vw, 52px) clamp(24px, 4vw, 44px) !important;
    background: #fff !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 18px !important;
    box-shadow: 0 2px 32px rgba(0,0,0,0.07) !important;
}

/* Form heading — bold uppercase like rest of LockGrip style */
body.woocommerce-account .woocommerce-form-login h2,
body.woocommerce-account .woocommerce-form-register h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register h2 {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #111 !important;
    margin-bottom: 24px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

/* Labels */
body.woocommerce-account .woocommerce-form__label,
body.woocommerce-account .form-row label,
body.lg-wc-system-page.woocommerce-account .woocommerce-form__label,
body.lg-wc-system-page.woocommerce-account .form-row label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #888 !important;
    -webkit-text-fill-color: #888 !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

/* Inputs */
body.woocommerce-account .woocommerce-form-login input.input-text,
body.woocommerce-account .woocommerce-form-register input.input-text,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login input.input-text,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register input.input-text {
    display: block !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 13px 16px !important;
    border: 1.5px solid #ddd !important;
    border-radius: 10px !important;
    background: #fafafa !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 15px !important;
    box-shadow: none !important;
    transition: border-color 160ms ease, background 160ms ease !important;
}

body.woocommerce-account .woocommerce-form-login input.input-text:focus,
body.woocommerce-account .woocommerce-form-register input.input-text:focus,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login input.input-text:focus,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register input.input-text:focus {
    border-color: #111 !important;
    background: #fff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(17,17,17,0.08) !important;
}

/* Form rows spacing */
body.woocommerce-account .woocommerce-form-login .form-row,
body.woocommerce-account .woocommerce-form-register .form-row,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login .form-row,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register .form-row {
    margin-bottom: 18px !important;
}

/* Submit / Log in button */
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login__submit,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register__submit {
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    margin-top: 8px !important;
    padding: 14px 24px !important;
    background: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: 2px solid #111 !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 160ms ease, border-color 160ms ease !important;
}

body.woocommerce-account .woocommerce-form-login__submit:hover,
body.woocommerce-account .woocommerce-form-register__submit:hover,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login__submit:hover,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-register__submit:hover {
    background: var(--lg-wc-orange) !important;
    border-color: var(--lg-wc-orange) !important;
}

/* Checkbox row */
body.woocommerce-account .woocommerce-form__label-for-checkbox,
body.lg-wc-system-page.woocommerce-account .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #555 !important;
    -webkit-text-fill-color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
}

/* Lost password link */
body.woocommerce-account .woocommerce-form-login .lost_password,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login .lost_password {
    margin-top: 14px !important;
    text-align: center !important;
    font-size: 13px !important;
}

body.woocommerce-account .woocommerce-form-login .lost_password a,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login .lost_password a {
    color: var(--lg-wc-orange) !important;
    -webkit-text-fill-color: var(--lg-wc-orange) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.woocommerce-account .woocommerce-form-login .lost_password a:hover,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login .lost_password a:hover {
    text-decoration: underline !important;
}

/* -------------------------------------------------------------------------
   MY ACCOUNT DASHBOARD — content area polish
   ------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce-MyAccount-content p,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content p {
    color: #444 !important;
    -webkit-text-fill-color: #444 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    margin-bottom: 10px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content a {
    color: var(--lg-wc-orange) !important;
    -webkit-text-fill-color: var(--lg-wc-orange) !important;
    font-weight: 600 !important;
}

/* "Hello brad (not brad? Log out)" greeting */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
body.lg-wc-system-page.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    margin-bottom: 14px !important;
}

/* -------------------------------------------------------------------------
   CART FADE FIX — disable scroll-reveal on cart block items
   The WC block cart renders items asynchronously via React. The .lg-product-inner
   reveal selector on the homepage does NOT match cart items (different classes),
   BUT the IntersectionObserver in main.js can still apply to elements that
   gain .lg-reveal dynamically if anything re-runs. Belt-and-suspenders: 
   force all block cart elements to be fully visible at all times.
   ------------------------------------------------------------------------- */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wc-block-cart *,
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-components-sidebar-layout *,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart,
body.lg-wc-system-page.woocommerce-cart .wc-block-cart * {
    opacity: 1 !important;
    transform: none !important;
    transition-property: background, color, border-color, box-shadow !important;
    animation: none !important;
}

/* Also kill any .lg-reveal state that might land on WC system pages */
body.woocommerce-cart .lg-reveal,
body.woocommerce-checkout .lg-reveal,
body.woocommerce-account .lg-reveal,
body.lg-wc-system-page .lg-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* =========================================================================
   v3.2.6 — Login page layout fix
   Issue: When logged out and only login form is enabled, form was floated
   right with empty space on the left. Also error banner was clipped.
   Solution: Use flexbox centring on the .woocommerce wrapper for the
   logged-out state, with proper side-by-side support if register is on.
   ========================================================================= */

/* Logged-out state: centre the single login form (or layout both if register on).
   Uses a safer wrapper-level approach that works without :has().
   The "u-columns" wrapper from WC only exists when both forms are enabled.
   When only login exists, .woocommerce contains the form directly. */

/* Single-form (login only) — centre the form card on the page */
body.woocommerce-account.logged-out .woocommerce > .woocommerce-form-login,
body.lg-wc-system-page.woocommerce-account.logged-out .woocommerce > .woocommerce-form-login {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Fallback for browsers without :has() — also centre when WC wrapper has no nav */
body.woocommerce-account .woocommerce > .woocommerce-form-login:first-child,
body.woocommerce-account .woocommerce > .woocommerce-form-login:last-child,
body.lg-wc-system-page.woocommerce-account .woocommerce > .woocommerce-form-login:first-child,
body.lg-wc-system-page.woocommerce-account .woocommerce > .woocommerce-form-login:last-child {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Hide the redundant "Login" h2 — the card itself is the "Login" UI.
   WC outputs <h2>Login</h2> inside the form already. We keep that styled,
   but the standalone h2.Login (which appears OUTSIDE the form before it)
   should be hidden. WC only outputs that when registration is also enabled. */

/* When BOTH login + register columns are present, h2s label each column */
body.woocommerce-account .u-columns h2,
body.lg-wc-system-page.woocommerce-account .u-columns h2 {
    display: block !important;
    float: none !important;
    clear: both !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    text-align: left !important;
}

/* Style the heading INSIDE the login card */
body.woocommerce-account .woocommerce-form-login > h2,
body.lg-wc-system-page.woocommerce-account .woocommerce-form-login > h2 {
    margin-top: 0 !important;
}

/* Override the v3.2.5 standalone form card styles when inside u-columns grid.
   CRITICAL: These must come AFTER the standalone rules and use !important. */
body.woocommerce-account .u-columns .woocommerce-form-login,
body.woocommerce-account .u-columns .woocommerce-form-register,
body.lg-wc-system-page.woocommerce-account .u-columns .woocommerce-form-login,
body.lg-wc-system-page.woocommerce-account .u-columns .woocommerce-form-register {
    max-width: 100% !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: clamp(32px, 5vw, 52px) clamp(24px, 4vw, 44px) !important;
    background: #fff !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 18px !important;
    box-shadow: 0 2px 32px rgba(0,0,0,0.07) !important;
    width: 100% !important;
    float: none !important;
    display: block !important;
}

/* Notices wrapper — match login card width when on logged-out account page */
body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
body.lg-wc-system-page.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
    max-width: 520px !important;
    margin: 0 auto 20px !important;
}

/* When register IS enabled and shown alongside, notices span full width */
body.woocommerce-account .woocommerce:has(.u-columns) > .woocommerce-notices-wrapper,
body.lg-wc-system-page.woocommerce-account .woocommerce:has(.u-columns) > .woocommerce-notices-wrapper {
    max-width: 100% !important;
}
/* =========================================================================
   v3.2.20 — Add contact page customizer settings
   Added: Full WordPress Customizer panel for Contact Page section with:
   - Hero images (background + product bottle)
   - Hero title (2-part with orange accent)
   - Intro text, email, social handles and URLs
   - Form, FAQ, and CTA headings and text
   ========================================================================= */

/* =========================================================================
   v3.2.36 — Samsung / browser appearance lock for WooCommerce light pages
   Cart and checkout are intentionally designed on a light background. This
   locks those pages to light mode so Samsung Internet / browser appearance
   settings do not recolour them. The main LockGrip site stays dark via
   main.css and the dynamic header meta tag.
   ========================================================================= */
body.woocommerce-cart,
body.woocommerce-checkout {
    color-scheme: light !important;
    --lg-wc-bg: #ffffff;
    --lg-wc-text: #111111;
    --lg-wc-muted: #5f6368;
    --lg-wc-line: #d8d8d8;
    --lg-wc-line-soft: #ececec;
    background: #ffffff !important;
    color: #111111 !important;
}

body.woocommerce-cart .lg-site-main,
body.woocommerce-checkout .lg-site-main {
    background: #ffffff !important;
    color: #111111 !important;
}

body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
    color-scheme: light !important;
}
