/**
 * WooCommerce page styling — cart, checkout, account, shop grid, login.
 * Matches Limark editorial aesthetic.
 */

/* Container wrap for Woo + generic pages — clears fixed nav stack (ticker + nav + admin bar) */
.limark-woo,
.limark-page {
    max-width: 1240px;
    margin: var(--lm-nav-stack, clamp(132px, 14vh, 168px)) auto 0;
    padding: clamp(36px, 5vw, 56px) clamp(20px, 4vw, 40px) clamp(48px, 7vw, 96px);
    min-height: 60vh;
    background: #fff;
    border-radius: 14px;
    color: #1A1A1A;
    box-shadow: 0 24px 48px -24px rgba(27,42,91,0.12);
}
.limark-woo { background: transparent; box-shadow: none; padding-top: clamp(28px, 4vw, 44px); }
.limark-woo .woocommerce,
.limark-page .limark-page__content {
    color: #1A1A1A;
}
.limark-page__title,
.woocommerce-Account-navigation ul + h1,
body.woocommerce-account h1.woocommerce-account-title,
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h1 {
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: clamp(34px, 5vw, 52px);
    color: #1A1A1A;
    letter-spacing: -0.02em;
    margin: 0 0 32px;
}

/* ===== CART ===== */
.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border: 0;
    margin-bottom: 28px;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.15);
}
.woocommerce-cart table.shop_table th {
    background: #FAF8F5;
    color: #6B6B6B;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 16px 20px;
    text-align: left;
    border-bottom: 1px solid rgba(27,42,91,0.08);
}
.woocommerce-cart table.shop_table td {
    padding: 18px 20px;
    border-bottom: 1px solid rgba(27,42,91,0.06);
    font-size: 14.5px;
    color: #1A1A1A;
    vertical-align: middle;
}
.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 72px; height: 72px;
    border-radius: 8px;
    object-fit: contain;
    padding: 4px;
    background: #FAF8F5;
}
.woocommerce-cart .quantity input[type="number"] {
    width: 60px;
    padding: 8px 10px;
    border: 1.5px solid rgba(27,42,91,0.15);
    border-radius: 8px;
    text-align: center;
    font-family: inherit;
}
.woocommerce-cart .cart-subtotal,
.woocommerce-cart .order-total {
    font-weight: 700;
    color: #1A1A1A;
}
.woocommerce-cart-form .actions {
    padding: 18px 20px !important;
    background: #FAF8F5;
}

/* ===== Buttons (cart/checkout) ===== */
.woocommerce .button,
.woocommerce a.button,
.woocommerce-page .button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1B2A5B;
    color: #fff;
    border: 0;
    padding: 14px 28px;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.25s, transform 0.25s;
}
.woocommerce .button:hover,
.woocommerce a.button:hover {
    background: #9E2A6D;
    transform: translateY(-2px);
    color: #fff;
}
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: #9E2A6D;
    color: #fff;
}
.woocommerce .button.alt:hover { background: #1B2A5B; }

/* ===== CHECKOUT FORM ===== */
.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    grid-template-rows: auto 1fr;
    gap: 32px 40px;
    align-items: start;
}
.woocommerce-checkout form.checkout > #customer_details {
    grid-column: 1;
    grid-row: 1 / span 2;
}
.woocommerce-checkout form.checkout > h3#order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}
.woocommerce-checkout form.checkout > #order_review {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
}
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .woocommerce-checkout form.checkout > #customer_details,
    .woocommerce-checkout form.checkout > h3#order_review_heading,
    .woocommerce-checkout form.checkout > #order_review {
        grid-column: 1;
        grid-row: auto;
    }
}
.woocommerce-checkout #customer_details {
    background: #fff;
    padding: 28px;
    border-radius: 14px;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.12);
    min-width: 0;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-checkout #customer_details .col2-set {
    display: block !important;
}
.woocommerce-checkout .form-row {
    display: block !important;
    margin-bottom: 16px !important;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
}
@media (min-width: 600px) {
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: calc(50% - 8px) !important;
        display: inline-block !important;
        vertical-align: top !important;
    }
    .woocommerce-checkout .form-row-first { margin-right: 12px !important; }
}
.woocommerce-checkout h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 18px;
    color: #1B2A5B;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(27,42,91,0.1);
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    display: block;
    font-size: 11.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6B6B6B;
    margin-bottom: 5px;
    font-weight: 600;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1.5px solid rgba(27,42,91,0.12) !important;
    border-radius: 8px !important;
    font-family: inherit !important;
    font-size: 14.5px !important;
    color: #1A1A1A !important;
    background: #fff !important;
    height: auto !important;
    min-height: 46px !important;
}
.woocommerce #order_review {
    background: #FAF8F5;
    padding: 28px;
    border-radius: 14px;
    position: sticky;
    top: 100px;
}
.woocommerce #order_review h3 { border: 0; padding-bottom: 0; }
.woocommerce table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.woocommerce table.woocommerce-checkout-review-order-table th,
.woocommerce table.woocommerce-checkout-review-order-table td {
    padding: 10px 0;
    border-bottom: 1px solid rgba(27,42,91,0.08);
    text-align: left;
    font-size: 14px;
}
#payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid rgba(27,42,91,0.1);
}
#payment ul.payment_methods li {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(27,42,91,0.06);
}
#payment ul.payment_methods li:last-child { border-bottom: 0; }
#payment ul.payment_methods li input[type="radio"] { margin-right: 10px; }

/* ===== MY ACCOUNT (login/register/dashboard) ===== */
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 40px;
    align-items: start;
}
.woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns: 1fr; max-width: 960px; margin: 0 auto; }
@media (max-width: 820px) {
    .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.12);
}
.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid rgba(27,42,91,0.06);
}
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 14px 18px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #1A1A1A;
    text-decoration: none;
    letter-spacing: -0.005em;
    transition: background 0.2s, color 0.2s;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
    background: #F8F4FB;
    color: #9E2A6D;
}

.woocommerce-form-login,
.woocommerce-form-register {
    background: #FAF8F5;
    padding: clamp(24px, 3vw, 36px);
    border-radius: 14px;
    border: 1px solid #E8E4DD;
    box-shadow: none;
    max-width: 480px;
    margin: 0 auto;
}
.woocommerce-form-track-order {
    background: #FAF8F5;
    padding: clamp(28px, 4vw, 44px);
    border-radius: 14px;
    border: 1px solid #E8E4DD;
    box-shadow: none;
    max-width: none;
    margin: 0;
}
.woocommerce-form-track-order > p:first-child { max-width: 640px; }
.woocommerce-form-track-order .form-row-first,
.woocommerce-form-track-order .form-row-last {
    width: 100% !important;
    float: none !important;
}
@media (min-width: 700px) {
    .woocommerce-form-track-order .form-row-first,
    .woocommerce-form-track-order .form-row-last {
        width: calc(50% - 12px) !important;
        display: inline-block;
        vertical-align: top;
    }
    .woocommerce-form-track-order .form-row-first { margin-right: 20px; }
}
.woocommerce-form-track-order p {
    margin: 0 0 24px;
    color: #6B6B6B;
    font-size: 15px;
    line-height: 1.6;
}
.woocommerce-form-track-order .form-row {
    margin-bottom: 18px;
}
.woocommerce-form-track-order label {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: #6B6B6B;
    margin-bottom: 8px;
}
.woocommerce-form-track-order input[type="text"],
.woocommerce-form-track-order input[type="email"] {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #E8E4DD;
    border-radius: 10px;
    background: #fff;
    font-size: 15px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce-form-track-order input:focus {
    outline: none;
    border-color: #1B2A5B;
    box-shadow: 0 0 0 3px rgba(27,42,91,0.08);
}
.u-columns.col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
@media (max-width: 700px) { .u-columns.col2-set { grid-template-columns: 1fr; } }

/* ===== SHOP GRID ===== */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .woocommerce ul.products { grid-template-columns: 1fr; } }
.woocommerce ul.products li.product {
    background: #fff;
    border-radius: 14px;
    padding: 18px;
    list-style: none;
    transition: transform 0.3s, box-shadow 0.3s;
    border: 1px solid rgba(27,42,91,0.06);
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px -20px rgba(27,42,91,0.22);
}
.woocommerce ul.products li.product a { text-decoration: none; color: inherit; }
.woocommerce ul.products li.product img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    margin-bottom: 14px;
    border-radius: 8px;
    background: #FAF8F5;
}
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #1A1A1A;
    margin: 0 0 6px;
    letter-spacing: -0.01em;
}
.woocommerce ul.products li.product .price {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 17px;
    color: #1B2A5B;
    margin-bottom: 10px;
    letter-spacing: -0.015em;
}
.woocommerce ul.products li.product .button { width: 100%; justify-content: center; }

/* Order confirmation + thank you */
.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 22px;
    color: #2D7D46;
    margin-bottom: 24px;
}
.woocommerce-order-overview {
    background: #fff;
    border-radius: 14px;
    padding: 24px 28px;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.12);
    margin-bottom: 28px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    padding: 16px 22px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 14px;
    list-style: none;
}
.woocommerce-message { background: #E7F5EB; color: #2D7D46; border-left: 3px solid #2D7D46; }
.woocommerce-info    { background: #E7F0FB; color: #1B4F8B; border-left: 3px solid #1B4F8B; }
.woocommerce-error   { background: #FBEBEB; color: #C03030; border-left: 3px solid #C03030; }

/* Coupon field */
.woocommerce-cart-form__contents .coupon input[type="text"] {
    padding: 10px 14px;
    border: 1.5px solid rgba(27,42,91,0.12);
    border-radius: 8px;
    min-width: 180px;
}

/* Empty cart */
.cart-empty {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.12);
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 22px;
    color: #6B6B6B;
}
.return-to-shop .button {
    margin-top: 20px;
    display: inline-block;
}

/* ===== Blog (journal) listing ===== */
.limark-blog {
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(120px, 14vh, 160px) clamp(20px, 4vw, 40px) clamp(48px, 7vw, 96px);
}
.limark-blog__hero {
    text-align: center;
    margin-bottom: clamp(40px, 5vw, 64px);
    padding-bottom: clamp(32px, 4vw, 52px);
    border-bottom: 1px solid rgba(27,42,91,0.08);
}
.limark-blog__eyebrow {
    display: inline-block;
    padding: 6px 16px;
    border: 1px solid rgba(158,42,109,0.3);
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #9E2A6D;
    margin-bottom: 18px;
}
.limark-blog__title {
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: clamp(34px, 5.4vw, 56px);
    line-height: 1.1em;
    letter-spacing: -0.02em;
    color: #1A1A1A;
    margin: 0 0 14px;
}
.limark-blog__title em { font-style: italic; color: #9E2A6D; }
.limark-blog__sub {
    max-width: 620px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.7em;
    color: #6B6B6B;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.limark-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 3vw, 36px);
}
@media (max-width: 860px) { .limark-blog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .limark-blog__grid { grid-template-columns: 1fr; } }
.limark-blog__card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.12);
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}
.limark-blog__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 56px -20px rgba(27,42,91,0.22);
}
.limark-blog__thumb {
    background: linear-gradient(135deg, #F4ECF7 0%, #FAF6F1 100%);
    display: block;
    border-bottom: 1px solid rgba(158, 42, 109, 0.08);
}
.limark-blog__thumb img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: contain;
    padding: 16px;
    display: block;
}
.limark-blog__meta {
    display: flex;
    gap: 10px;
    padding: 20px 22px 8px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6B6B6B;
    font-weight: 600;
}
.limark-blog__cat { color: #9E2A6D; }
.limark-blog__card-title {
    padding: 0 22px;
    margin: 0 0 10px;
    font-family: 'Lora', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.25em;
    color: #1A1A1A;
    letter-spacing: -0.015em;
}
.limark-blog__card-title a { color: inherit; text-decoration: none; }
.limark-blog__card-title a:hover { color: #9E2A6D; }
.limark-blog__excerpt {
    padding: 0 22px 16px;
    font-size: 14px;
    line-height: 1.7em;
    color: #6B6B6B;
    margin: 0;
}
.limark-blog__read {
    padding: 14px 22px 22px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: #1B2A5B;
    text-decoration: none;
    margin-top: auto;
    transition: letter-spacing 0.25s, color 0.25s;
    border-top: 1px solid rgba(27,42,91,0.08);
}
.limark-blog__read:hover { letter-spacing: 0.22em; color: #9E2A6D; }
.limark-blog__pagination {
    margin-top: 56px;
    text-align: center;
}
.limark-blog__pagination .page-numbers {
    display: inline-block;
    padding: 10px 16px;
    margin: 0 4px;
    border-radius: 999px;
    background: #fff;
    color: #1B2A5B;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.06em;
    border: 1px solid rgba(27,42,91,0.1);
}
.limark-blog__pagination .page-numbers.current {
    background: #1B2A5B;
    color: #fff;
}
.limark-blog__pagination .page-numbers:hover {
    background: #9E2A6D;
    color: #fff;
    border-color: #9E2A6D;
}
.limark-blog__empty {
    text-align: center;
    padding: 80px 20px;
    color: #6B6B6B;
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 18px;
}

/* ===== Single post ===== */
.limark-post {
    max-width: 820px;
    margin: 0 auto;
    padding: clamp(120px, 14vh, 160px) clamp(20px, 4vw, 40px) clamp(48px, 7vw, 96px);
}
.limark-post__meta {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6B6B6B;
    font-weight: 700;
}
.limark-post__meta .cat { color: #9E2A6D; }
.limark-post__title {
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.15em;
    color: #1A1A1A;
    margin: 0 0 28px;
    letter-spacing: -0.02em;
}
.limark-post__thumb {
    margin: 0 0 32px;
    border-radius: 14px;
    overflow: hidden;
}
.limark-post__thumb img { width: 100%; display: block; }
.limark-post__content {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 17px;
    line-height: 1.8em;
    color: #2A2A2A;
}
.limark-post__content h2,
.limark-post__content h3 {
    font-family: 'Lora', serif;
    margin: 36px 0 16px;
    color: #1A1A1A;
}
.limark-post__content h2 { font-size: 28px; }
.limark-post__content h3 { font-size: 22px; }
.limark-post__content p { margin: 0 0 20px; }
.limark-post__content a { color: #9E2A6D; text-decoration: underline; text-underline-offset: 3px; }
.limark-post__content blockquote {
    border-left: 3px solid #D4A84B;
    padding: 12px 24px;
    margin: 28px 0;
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 20px;
    color: #3B1053;
    background: #FAF8F5;
    border-radius: 0 10px 10px 0;
}
.limark-post__content img { border-radius: 10px; margin: 20px 0; }

/* ============ Spec 2 — breadcrumbs, brand pills, trust, account, track-order ============ */

.limark-crumbs {
    font-size: 13px;
    color: #6B6B6B;
    margin: 16px 0 24px;
    letter-spacing: 0.02em;
}
.limark-crumbs a { color: #1B2A5B; text-decoration: none; }
.limark-crumbs a:hover { color: #9E2A6D; }
.limark-crumbs__sep { margin: 0 8px; color: #C4C4C4; }
.limark-crumbs__current { color: #1A1A1A; }

.limark-shop__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 28px;
}
.limark-shop__pill {
    display: inline-block;
    padding: 9px 20px;
    border: 1px solid #E8E4DD;
    border-radius: 999px;
    font-size: 13px;
    color: #1A1A1A;
    background: #FFFFFF;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    letter-spacing: 0.04em;
}
.limark-shop__pill:hover { border-color: #1B2A5B; color: #1B2A5B; }
.limark-shop__pill.is-active {
    background: #1B2A5B;
    color: #FFFFFF;
    border-color: #1B2A5B;
}

.limark-shop__trust {
    margin: clamp(48px, 6vw, 80px) auto 0;
    max-width: 1280px;
    padding: 32px clamp(20px, 3vw, 40px);
    background: #FAF8F5;
    border-top: 1px solid #E8E4DD;
}
.limark-shop__trust ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    text-align: center;
    font-size: 13px;
    color: #6B6B6B;
}
.limark-shop__trust strong {
    display: block;
    color: #1A1A1A;
    font-family: Lora, Georgia, serif;
    font-size: 16px;
    margin-bottom: 4px;
}

/* My-Account dashboard editorial cards */
.limark-account-dash {
    margin: clamp(20px, 3vw, 40px) 0 0;
}
.limark-account-dash__hero {
    margin-bottom: clamp(24px, 4vw, 40px);
    padding-bottom: 24px;
    border-bottom: 1px solid #E8E4DD;
}
.limark-account-dash__eyebrow {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #9E2A6D;
    margin-bottom: 8px;
}
.limark-account-dash__hero h2 {
    font-family: Lora, Georgia, serif;
    font-size: clamp(24px, 3.5vw, 36px);
    margin: 0 0 8px;
    font-weight: 500;
    line-height: 1.2;
}
.limark-account-dash__hero p { color: #6B6B6B; margin: 0; }
.limark-account-dash__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 32px;
}
.limark-account-dash__card {
    background: #FFFFFF;
    border: 1px solid #E8E4DD;
    border-radius: 12px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s;
}
.limark-account-dash__card:hover {
    border-color: #1B2A5B;
    transform: translateY(-2px);
}
.limark-account-dash__card-icon {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: #FAF8F5; border-radius: 50%;
    color: #1B2A5B; font-size: 17px;
    margin-bottom: 6px;
}
.limark-account-dash__card h3 {
    font-family: Lora, Georgia, serif;
    font-size: 18px; font-weight: 500; margin: 0;
}
.limark-account-dash__card p { color: #6B6B6B; font-size: 13px; margin: 0; line-height: 1.55; }
.limark-account-dash__card-cta {
    margin-top: auto;
    color: #1B2A5B; font-size: 12px; letter-spacing: 0.06em;
    text-transform: uppercase;
}
.limark-account-dash__support {
    background: #FAF8F5; padding: 16px 20px; border-radius: 10px;
    font-size: 13px; color: #6B6B6B;
}
.limark-account-dash__support a { color: #1B2A5B; }

/* My-Account sidebar nav */
.limark-account-nav { margin-bottom: 24px; }
.limark-account-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; border-right: 1px solid #E8E4DD; }
.limark-account-nav li a {
    display: block; padding: 10px 16px;
    color: #6B6B6B; font-size: 14px; text-decoration: none;
    border-right: 2px solid transparent; margin-right: -1px;
    transition: color 0.15s, border-color 0.15s;
}
.limark-account-nav li a:hover { color: #1B2A5B; }
.limark-account-nav li.is-active a,
.limark-account-nav li.woocommerce-MyAccount-navigation-link--is-active a {
    color: #1A1A1A; border-right-color: #1B2A5B; font-weight: 500;
}

/* Login split */
.limark-account-login__hero {
    text-align: center; margin: 32px auto clamp(24px, 4vw, 48px); max-width: 720px;
}
.limark-account-login__eyebrow {
    display: inline-block; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
    color: #9E2A6D; margin-bottom: 10px;
}
.limark-account-login__hero h1 {
    font-family: Lora, Georgia, serif; font-size: clamp(28px, 4vw, 42px); margin: 0 0 12px;
    font-weight: 500;
}
.limark-account-login__split {
    display: grid; gap: clamp(24px, 4vw, 56px); margin: 0 auto; max-width: 1100px;
    grid-template-columns: 1fr;
}
.limark-account-login__split.has-register { grid-template-columns: 1fr; }
@media (min-width: 900px) {
    .limark-account-login__split.has-register { grid-template-columns: 1fr 1fr; }
}
.limark-account-login__col {
    background: #FFFFFF; border: 1px solid #E8E4DD; border-radius: 12px;
    padding: clamp(24px, 3vw, 36px);
}
.limark-account-login__col h2 {
    font-family: Lora, Georgia, serif; font-size: 22px; margin: 0 0 20px; font-weight: 500;
}
.limark-account-login__col input[type=text],
.limark-account-login__col input[type=email],
.limark-account-login__col input[type=password] {
    width: 100%; padding: 12px 14px; border: 1px solid #E8E4DD; border-radius: 8px;
    font-size: 16px; min-height: 48px; background: #FFFFFF;
}
.limark-account-login__col label { display: block; font-size: 13px; margin-bottom: 6px; color: #6B6B6B; }

/* Track-order page */
.woocommerce-order-tracking,
.track_order {
    max-width: 560px; margin: 0 auto;
}
.woocommerce-order-tracking p,
.track_order p { font-size: 14px; color: #6B6B6B; }

/* ========================================================================
 * EDITORIAL SHOP REDESIGN — hero, pills, toolbar, grid, placeholders
 * ======================================================================== */
.limark-shop {
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}
.limark-shop__hero {
    max-width: 880px;
    margin: 0 auto;
    padding: clamp(72px, 10vw, 120px) clamp(20px, 4vw, 40px) clamp(40px, 5vw, 64px);
    text-align: center;
}
.limark-shop__crumbs {
    font-size: 12px;
    color: #9B9B9B;
    margin-bottom: 24px;
    letter-spacing: 0.04em;
}
.limark-shop__crumbs a { color: #6B6B6B; text-decoration: none; }
.limark-shop__crumbs a:hover { color: #1B2A5B; }
.limark-shop__eyebrow {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #9E2A6D;
    margin-bottom: 18px;
    font-weight: 700;
}
.limark-shop__title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 400;
    font-size: clamp(36px, 6vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #1A1A1A;
    margin: 0 0 20px;
}
.limark-shop__sub {
    max-width: 620px;
    margin: 0 auto;
    color: #6B6B6B;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.65;
}

/* Pills row */
.limark-shop .limark-shop__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 36px;
}
.limark-shop__pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid #E8E4DD;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #1A1A1A;
    background: #fff;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}
.limark-shop__pill:hover {
    border-color: #1B2A5B;
    color: #1B2A5B;
    transform: translateY(-1px);
}
.limark-shop__pill.is-active {
    background: #1B2A5B;
    color: #fff;
    border-color: #1B2A5B;
}
.limark-shop__pill-count {
    font-size: 11px;
    opacity: 0.6;
    background: rgba(0,0,0,0.06);
    padding: 2px 7px;
    border-radius: 999px;
}
.limark-shop__pill.is-active .limark-shop__pill-count {
    background: rgba(255,255,255,0.18);
    opacity: 0.9;
}

/* Body */
.limark-shop__body {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
}

/* Toolbar — result count + sort */
.limark-shop__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 0 28px;
    border-bottom: 1px solid #E8E4DD;
    margin-bottom: 32px;
    font-size: 13px;
    color: #6B6B6B;
    flex-wrap: wrap;
}
.limark-shop__toolbar .woocommerce-result-count {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    letter-spacing: 0.04em;
}
.limark-shop__toolbar .woocommerce-ordering {
    margin: 0;
}
.limark-shop__toolbar .woocommerce-ordering select,
.limark-shop__toolbar select.orderby {
    padding: 10px 36px 10px 16px;
    border: 1px solid #E8E4DD;
    border-radius: 999px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%231A1A1A' d='M5 6 0 0h10z'/%3E%3C/svg%3E") no-repeat right 14px center;
    appearance: none;
    -webkit-appearance: none;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #1A1A1A;
    cursor: pointer;
}

/* Grid */
.limark-shop__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 2.5vw, 32px);
    margin: 0 0 48px;
}
@media (max-width: 1024px) { .limark-shop__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .limark-shop__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 420px)  { .limark-shop__grid { grid-template-columns: 1fr; } }

/* Card overrides for shop grid */
.limark-shop__grid .limark-pcard {
    background: #fff;
    border: 1px solid #ECE7DF;
    border-radius: 14px;
    overflow: hidden;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
    display: flex;
    flex-direction: column;
}
.limark-shop__grid .limark-pcard:hover {
    border-color: #1B2A5B;
    box-shadow: 0 18px 40px -24px rgba(27,42,91,0.25);
    transform: translateY(-3px);
}
.limark-shop__grid .limark-pcard__link { display: flex; flex-direction: column; flex: 1; }
.limark-shop__grid .limark-pcard__media {
    aspect-ratio: 4 / 5;
    background: #FAF8F5;
    overflow: hidden;
    position: relative;
}
.limark-shop__grid .limark-pcard__media img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 12%;
    transition: transform 0.4s ease;
}
.limark-shop__grid .limark-pcard:hover .limark-pcard__media img { transform: scale(1.04); }

/* Placeholder when product has no thumbnail */
.limark-pcard__media--placeholder {
    background: linear-gradient(135deg, #FAF8F5 0%, #F0EDE8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
}
.limark-pcard__placeholder-mark {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(48px, 6vw, 88px);
    font-weight: 400;
    color: rgba(27,42,91,0.18);
    line-height: 1;
    letter-spacing: -0.04em;
}
.limark-pcard__placeholder-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(27,42,91,0.45);
    font-weight: 700;
}
.limark-pcard--safease .limark-pcard__media--placeholder {
    background: linear-gradient(135deg, #F8F4FB 0%, #E8DFF0 100%);
}
.limark-pcard--safease .limark-pcard__placeholder-mark { color: rgba(74,35,102,0.22); }
.limark-pcard--safease .limark-pcard__placeholder-label { color: rgba(74,35,102,0.5); }

.limark-shop__grid .limark-pcard__body {
    padding: 18px 18px 8px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.limark-shop__grid .limark-pcard__brand {
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #9B9B9B;
    font-weight: 700;
}
.limark-shop__grid .limark-pcard__title {
    font-family: 'Lora', Georgia, serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    color: #1A1A1A;
    margin: 0;
}
.limark-shop__grid .limark-pcard__price {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1B2A5B;
    margin-top: auto;
    padding-top: 6px;
}
.limark-shop__grid .limark-pcard__price del { color: #9B9B9B; font-weight: 400; margin-right: 6px; }
.limark-shop__grid .limark-pcard__cta {
    padding: 8px 18px 18px;
}
.limark-shop__grid .limark-pcard__cta .button,
.limark-shop__grid .limark-pcard__cta a.button {
    display: block;
    width: 100%;
    text-align: center;
    background: transparent;
    color: #1B2A5B;
    border: 1px solid #1B2A5B;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.limark-shop__grid .limark-pcard__cta .button:hover,
.limark-shop__grid .limark-pcard__cta a.button:hover {
    background: #1B2A5B;
    color: #fff;
    transform: none;
}

/* Pagination */
.limark-shop__pagination {
    display: flex;
    justify-content: center;
    margin: 24px 0 64px;
}
.limark-shop__pagination .page-numbers {
    list-style: none;
    display: flex;
    gap: 6px;
    padding: 0;
    margin: 0;
}
.limark-shop__pagination .page-numbers li a,
.limark-shop__pagination .page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #E8E4DD;
    border-radius: 999px;
    background: #fff;
    color: #1A1A1A;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.limark-shop__pagination .page-numbers li a:hover {
    border-color: #1B2A5B;
    color: #1B2A5B;
}
.limark-shop__pagination .page-numbers li span.current {
    background: #1B2A5B;
    color: #fff;
    border-color: #1B2A5B;
}

/* Empty state */
.limark-shop__empty {
    text-align: center;
    padding: 80px 20px;
}
.limark-shop__empty p {
    font-family: 'Lora', Georgia, serif;
    font-size: 22px;
    color: #6B6B6B;
    margin-bottom: 20px;
}
.limark-shop__empty-cta {
    display: inline-block;
    padding: 14px 28px;
    background: #1B2A5B;
    color: #fff;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: background 0.2s;
}
.limark-shop__empty-cta:hover { background: #9E2A6D; color: #fff; }

/* Trust strip — final */
.limark-shop__trust {
    margin: 0;
    background: #FAF8F5;
    border-top: 1px solid #E8E4DD;
    padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 40px);
}
.limark-shop__trust ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1080px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 28px;
    text-align: center;
}
.limark-shop__trust li {
    font-size: 13px;
    color: #6B6B6B;
    line-height: 1.5;
}
.limark-shop__trust strong {
    display: block;
    color: #1A1A1A;
    font-family: 'Lora', Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 6px;
}

/* Hide native woocommerce-result-count duplicate that block-template injects */
.limark-shop .wp-block-woocommerce-product-results-count { display: none; }

/* ============================================================
 * SYSTEM-PAGES DESIGN SYSTEM — unified chrome across cart,
 * checkout, my-account, order-tracking, all policy pages.
 * Goal: same card, same title, same body type, same buttons.
 * ============================================================ */

/* 1. Unified content typography */
.limark-page__content,
.limark-woo .woocommerce {
    font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
    color: #2A2A2A;
    font-size: 16px;
    line-height: 1.7;
}
.limark-page__content h2,
.limark-page__content h3,
.limark-page__content h4,
.limark-woo h2,
.limark-woo h3 {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    color: #1A1A1A;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
.limark-page__content h2 {
    font-size: clamp(22px, 2.4vw, 28px);
    margin: 40px 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ECE7DF;
}
.limark-page__content h3 {
    font-size: clamp(17px, 1.8vw, 20px);
    margin: 28px 0 10px;
}
.limark-page__content h4 {
    font-size: 16px;
    margin: 20px 0 8px;
    font-weight: 600;
}
.limark-page__content p {
    margin: 0 0 16px;
    color: #3A3A3A;
}
.limark-page__content em { color: #6B6B6B; font-style: italic; }
.limark-page__content strong { color: #1A1A1A; font-weight: 600; }
.limark-page__content a { color: #1B2A5B; text-decoration: underline; text-underline-offset: 2px; }
.limark-page__content a:hover { color: #9E2A6D; }
.limark-page__content ul,
.limark-page__content ol { margin: 0 0 18px; padding-left: 24px; }
.limark-page__content li { margin-bottom: 6px; color: #3A3A3A; }
.limark-page__content hr { border: 0; border-top: 1px solid #ECE7DF; margin: 32px 0; }

/* 2. Title + breadcrumb consistency */
.limark-page__crumbs {
    font-size: 12px;
    color: #9B9B9B;
    margin-bottom: 18px;
    letter-spacing: 0.04em;
}
.limark-page__crumbs a { color: #6B6B6B; text-decoration: none; }
.limark-page__crumbs a:hover { color: #1B2A5B; }
.limark-page__title,
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-account h1,
body.woocommerce-order-received h1,
.limark-page h1 {
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(32px, 4.5vw, 48px) !important;
    color: #1A1A1A !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    margin: 0 0 28px !important;
}

/* 3. Cart — Proceed to Checkout sized like a normal CTA, not a banner */
.woocommerce-cart .wc-proceed-to-checkout {
    display: flex;
    justify-content: flex-end;
    padding: 0;
    margin-top: 24px;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart a.checkout-button {
    display: inline-flex !important;
    width: auto !important;
    max-width: 320px;
    padding: 14px 32px !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    background: #1B2A5B !important;
    color: #fff !important;
    border-radius: 999px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    transition: background 0.2s, transform 0.2s !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #9E2A6D !important;
}

/* 4. Cart totals card width — match content not full row */
.woocommerce-cart .cart-collaterals {
    max-width: 480px;
    margin-left: auto;
}
.woocommerce-cart .cart_totals {
    background: #FAF8F5;
    padding: 24px 28px;
    border-radius: 14px;
    border: 1px solid #ECE7DF;
}
.woocommerce-cart .cart_totals h2 {
    margin: 0 0 16px;
    border: 0;
    padding: 0;
    font-size: 20px;
}

/* 5. My-Account — flatten content card (remove card-in-card) */
.woocommerce-account .woocommerce-MyAccount-content {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 0 0 8px !important;
    border-left: 1px solid #ECE7DF !important;
    padding-left: 32px !important;
}
@media (max-width: 820px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        border-left: 0 !important;
        padding-left: 0 !important;
        padding-top: 24px !important;
        border-top: 1px solid #ECE7DF !important;
    }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* 6. Order Tracking — full content width, structured */
.woocommerce-order-tracking,
.track_order {
    max-width: none !important;
    margin: 0 !important;
}
.woocommerce-form-track-order {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 16px;
    align-items: end;
}
.woocommerce-form-track-order > p:first-child {
    grid-column: 1 / -1;
    max-width: 720px;
    margin: 0 0 8px !important;
    font-size: 15px;
    color: #6B6B6B;
}
.woocommerce-form-track-order .form-row {
    margin: 0 !important;
}
.woocommerce-form-track-order .button {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 8px !important;
}
@media (max-width: 600px) {
    .woocommerce-form-track-order { grid-template-columns: 1fr; }
}

/* 7. Empty-cart / order-not-found banner — subtle, not loud */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    background: #FAF8F5 !important;
    border: 1px solid #ECE7DF !important;
    border-left: 3px solid #1B2A5B !important;
    color: #1A1A1A !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
    box-shadow: none !important;
}
.woocommerce-message { border-left-color: #2D7D46 !important; }
.woocommerce-error   { border-left-color: #C4302B !important; }
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before { display: none !important; }
.woocommerce-info a,
.woocommerce-message a {
    color: #1B2A5B !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 12px;
}

/* 8. Free-shipping notice (cart + checkout banner) — flatter */
.limark-free-ship-bar,
.limark-shipping-progress,
.limark-cart-trust {
    margin-bottom: 18px;
}

/* 9. WhatsApp setting — note when empty (handled at PHP) */

/* 10. Generic centered eyebrow under H1 for system pages */
.limark-page__eyebrow {
    display: block;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #9E2A6D;
    margin-bottom: 14px;
    font-weight: 700;
}

/* 11. Universal limark-page card padding tightens at smaller screens */
@media (max-width: 600px) {
    .limark-page,
    .limark-woo {
        margin-top: 90px;
        border-radius: 0;
        box-shadow: none;
        padding: 28px 16px 48px;
    }
}

/* ============================================================================
 * LIMARK SYSTEM-PAGES DESIGN SYSTEM v2 — Cart, Checkout, Login, Account, Track
 * Atomic primitives: .lm-input .lm-btn .lm-field .lm-form .lm-checkbox
 * Page layouts:      .lm-cart .lm-summary .lm-auth
 * ============================================================================ */

/* ---- DESIGN TOKENS (locally scoped, no theme.json dependency) ---- */
:root {
    --lm-ink:        #1A1A1A;
    --lm-ink-soft:   #3A3A3A;
    --lm-ink-mute:   #6B6B6B;
    --lm-ink-faint:  #9B9B9B;
    --lm-line:       #E8E4DD;
    --lm-line-soft:  #F0EDE8;
    --lm-bg:         #FFFFFF;
    --lm-bg-warm:    #FAF8F5;
    --lm-bg-tint:    #F5F0EB;
    --lm-navy:       #1B2A5B;
    --lm-navy-deep:  #0F1D42;
    --lm-berry:      #9E2A6D;
    --lm-success:    #2D7D46;
    --lm-radius-sm:  8px;
    --lm-radius-md:  12px;
    --lm-radius-lg:  16px;
    --lm-shadow-sm:  0 4px 12px -8px rgba(27,42,91,0.18);
    --lm-shadow-md:  0 18px 40px -24px rgba(27,42,91,0.18);
    --lm-shadow-lg:  0 28px 60px -28px rgba(27,42,91,0.22);
}

/* ---- ATOMS ---- */

.lm-input,
.lm-form input[type="text"],
.lm-form input[type="email"],
.lm-form input[type="tel"],
.lm-form input[type="password"],
.lm-form input[type="number"],
.lm-form select,
.lm-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid var(--lm-line);
    border-radius: var(--lm-radius-sm);
    background: #fff;
    color: var(--lm-ink);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    line-height: 1.4;
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.lm-input:hover,
.lm-form input:hover { border-color: #C8C2B6; }
.lm-input:focus,
.lm-form input:focus,
.lm-form select:focus,
.lm-form textarea:focus {
    outline: none;
    border-color: var(--lm-navy);
    box-shadow: 0 0 0 3px rgba(27,42,91,0.10);
}
.lm-input::placeholder { color: var(--lm-ink-faint); }

.lm-field { margin-bottom: 18px; }
.lm-field__label {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--lm-ink-mute);
    margin-bottom: 8px;
}
.lm-field__label span { color: var(--lm-berry); }

.lm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
    line-height: 1;
}
.lm-btn--primary {
    background: var(--lm-navy);
    color: #fff;
}
.lm-btn--primary:hover { background: var(--lm-navy-deep); color: #fff; }
.lm-btn--outline {
    background: transparent;
    color: var(--lm-navy);
    border-color: var(--lm-navy);
}
.lm-btn--outline:hover { background: var(--lm-navy); color: #fff; }
.lm-btn--ghost {
    background: transparent;
    color: var(--lm-ink);
    border-color: var(--lm-line);
}
.lm-btn--ghost:hover { border-color: var(--lm-navy); color: var(--lm-navy); }
.lm-btn--block { width: 100%; }
.lm-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

.lm-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--lm-ink-soft);
    cursor: pointer;
    user-select: none;
}
.lm-checkbox__box {
    width: 18px; height: 18px;
    margin: 0;
    accent-color: var(--lm-navy);
    cursor: pointer;
}

.lm-form__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 8px 0 18px;
}
.lm-form__link {
    font-size: 13px;
    color: var(--lm-navy);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.lm-form__link:hover { color: var(--lm-berry); }
.lm-form__hint { font-size: 13px; color: var(--lm-ink-mute); margin: -4px 0 14px; }

/* ============================================================================
 * CART PAGE — 2-COL MYNTRA-STYLE
 * ============================================================================ */
.lm-cart-wrap {
    margin: 0;
}
.lm-cart {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 32px;
    align-items: start;
}
@media (max-width: 980px) {
    .lm-cart { grid-template-columns: 1fr; }
}

.lm-cart__main { min-width: 0; }

.lm-cart__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-bottom: 18px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--lm-line);
}
.lm-cart__heading {
    font-family: 'Lora', serif;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 500;
    margin: 0;
    color: var(--lm-ink);
    letter-spacing: -0.01em;
}
.lm-cart__continue {
    font-size: 13px;
    color: var(--lm-navy);
    text-decoration: none;
    font-weight: 600;
}
.lm-cart__continue:hover { color: var(--lm-berry); }

.lm-cart__items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.lm-cart__item {
    display: grid;
    grid-template-columns: 96px 1fr auto;
    gap: 18px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--lm-line);
    border-radius: var(--lm-radius-md);
    transition: border-color 0.2s;
}
.lm-cart__item:hover { border-color: var(--lm-navy); }

.lm-cart__item-media {
    width: 96px; height: 96px;
    border-radius: var(--lm-radius-sm);
    overflow: hidden;
    background: var(--lm-bg-warm);
    flex-shrink: 0;
}
.lm-cart__item-media img,
.lm-cart__item-media a img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 8%;
    display: block;
}

.lm-cart__item-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lm-cart__item-brand {
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--lm-ink-faint);
}
.lm-cart__item-title {
    font-family: 'Lora', serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--lm-ink);
    line-height: 1.3;
    margin: 0;
}
.lm-cart__item-title a { color: inherit; text-decoration: none; }
.lm-cart__item-title a:hover { color: var(--lm-navy); }
.lm-cart__item-meta {
    font-size: 13px;
    color: var(--lm-ink-mute);
}
.lm-cart__item-meta dl,
.lm-cart__item-meta p { margin: 0; }
.lm-cart__item-meta dt,
.lm-cart__item-meta dd { display: inline; margin: 0; }

.lm-cart__item-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    gap: 16px;
    flex-wrap: wrap;
}
.lm-cart__qty {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.lm-cart__qty-label {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--lm-ink-mute);
}
.lm-cart__qty .quantity {
    display: inline-flex;
    border: 1px solid var(--lm-line);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}
.lm-cart__qty .quantity input.qty {
    width: 50px;
    padding: 6px 4px;
    text-align: center;
    border: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--lm-ink);
    background: transparent;
    -moz-appearance: textfield;
}
.lm-cart__qty .quantity input.qty::-webkit-outer-spin-button,
.lm-cart__qty .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lm-cart__qty-fixed {
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 600;
}

.lm-cart__item-price {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.lm-cart__item-subtotal {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--lm-ink);
}
.lm-cart__item-subtotal bdi,
.lm-cart__item-subtotal .amount { font-weight: 700; }
.lm-cart__item-unit {
    font-size: 12px;
    color: var(--lm-ink-faint);
}

.lm-cart__remove {
    background: transparent;
    border: 1px solid var(--lm-line);
    color: var(--lm-ink-faint);
    width: 32px; height: 32px;
    border-radius: 50%;
    font-size: 18px;
    line-height: 28px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    align-self: start;
    padding: 0;
}
.lm-cart__remove:hover {
    background: #c4302b;
    color: #fff;
    border-color: #c4302b;
}

.lm-cart__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: end;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--lm-line);
}
.lm-cart__coupon { flex: 1 1 280px; max-width: 360px; }
.lm-cart__field-label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--lm-ink-mute);
    margin-bottom: 8px;
}
.lm-cart__coupon-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}
.lm-cart__coupon-input { padding: 10px 14px; }
.lm-cart__update {
    margin-left: auto;
    padding: 10px 22px;
}

/* SUMMARY (right column, sticky) */
.lm-cart__aside { min-width: 0; }
.lm-summary {
    background: var(--lm-bg-warm);
    border: 1px solid var(--lm-line);
    border-radius: var(--lm-radius-lg);
    padding: 24px;
    position: sticky;
    top: 110px;
}
.lm-summary__heading {
    font-family: 'Lora', serif;
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 18px;
    color: var(--lm-ink);
    border-bottom: 1px solid var(--lm-line);
    padding-bottom: 12px;
}
.lm-summary__ship {
    margin-bottom: 18px;
    padding: 14px 16px;
    background: #fff;
    border-radius: var(--lm-radius-sm);
    border: 1px solid var(--lm-line);
}
.lm-summary__ship-msg {
    font-size: 13px;
    color: var(--lm-ink-soft);
    margin: 0 0 8px;
}
.lm-summary__ship-msg--won { color: var(--lm-success); font-weight: 600; }
.lm-summary__ship-bar {
    height: 6px;
    background: var(--lm-line-soft);
    border-radius: 999px;
    overflow: hidden;
}
.lm-summary__ship-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--lm-navy), var(--lm-success));
    border-radius: 999px;
    transition: width 0.4s ease;
}

.lm-summary__lines { margin: 0 0 18px; padding: 0; }
.lm-summary__line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    font-size: 14px;
    color: var(--lm-ink-soft);
    border-bottom: 1px dashed var(--lm-line);
}
.lm-summary__line dt { font-weight: 500; margin: 0; }
.lm-summary__line dd { margin: 0; font-weight: 600; color: var(--lm-ink); }
.lm-summary__line--coupon dd { color: var(--lm-success); }
.lm-summary__line--total {
    border: 0;
    margin-top: 6px;
    padding-top: 14px;
    border-top: 2px solid var(--lm-ink);
    font-size: 16px;
}
.lm-summary__line--total dt { font-family: 'Lora', serif; font-size: 18px; font-weight: 500; }
.lm-summary__line--total dd { font-size: 20px; font-weight: 700; color: var(--lm-navy); }

.lm-summary__cta {
    display: block;
    margin-top: 18px;
}
.lm-summary__cta .checkout-button,
.lm-summary__cta a.checkout-button {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    padding: 16px 20px !important;
    background: var(--lm-navy) !important;
    color: #fff !important;
    text-align: center !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    align-items: center;
    justify-content: center;
}
.lm-summary__cta .checkout-button:hover { background: var(--lm-navy-deep) !important; }

.lm-summary__trust {
    list-style: none;
    margin: 18px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--lm-line);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.05em;
    color: var(--lm-ink-mute);
}
.lm-summary__trust li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.lm-summary__trust svg { color: var(--lm-success); }

/* ============================================================================
 * AUTH (login + register)
 * ============================================================================ */
.lm-auth { max-width: 1080px; margin: 0 auto; }
.lm-auth__intro {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--lm-line);
}
.lm-auth__eyebrow {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--lm-berry);
    font-weight: 700;
    margin-bottom: 12px;
}
.lm-auth__title {
    font-family: 'Lora', serif;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 400;
    color: var(--lm-ink);
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}
.lm-auth__sub {
    color: var(--lm-ink-mute);
    font-size: 15px;
    max-width: 520px;
    margin: 0 auto;
}
.lm-auth__panes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (max-width: 760px) { .lm-auth__panes { grid-template-columns: 1fr; } }
.lm-auth__pane {
    background: #fff;
    border: 1px solid var(--lm-line);
    border-radius: var(--lm-radius-lg);
    padding: 32px;
}
.lm-auth__pane--register {
    background: var(--lm-bg-warm);
}
.lm-auth__pane-title {
    font-family: 'Lora', serif;
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 8px;
    color: var(--lm-ink);
}
.lm-auth__pane-sub {
    color: var(--lm-ink-mute);
    font-size: 14px;
    margin: 0 0 20px;
}

/* ============================================================================
 * NORMALIZE — kill old conflicting WC styling (high-specificity overrides)
 * ============================================================================ */
.woocommerce-cart .lm-cart-wrap table.shop_table { display: none; }
.woocommerce-cart .lm-cart-wrap .cart-collaterals { max-width: none; }

/* ============================================================================
 * UNIVERSAL FORM CONTROLS — every input/select/textarea inside a system page
 * inherits the same .lm-input look, regardless of where WC put it.
 * ============================================================================ */
.limark-page input[type="text"],
.limark-page input[type="email"],
.limark-page input[type="tel"],
.limark-page input[type="url"],
.limark-page input[type="number"],
.limark-page input[type="password"],
.limark-page input[type="search"],
.limark-page select,
.limark-page textarea,
.limark-woo input[type="text"],
.limark-woo input[type="email"],
.limark-woo input[type="tel"],
.limark-woo input[type="url"],
.limark-woo input[type="number"],
.limark-woo input[type="password"],
.limark-woo input[type="search"],
.limark-woo select,
.limark-woo textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.select2-container--default .select2-selection--single {
    width: 100% !important;
    min-height: 48px !important;
    padding: 13px 16px !important;
    border: 1.5px solid var(--lm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--lm-ink) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.limark-page input:focus,
.limark-page select:focus,
.limark-page textarea:focus,
.limark-woo input:focus,
.limark-woo select:focus,
.limark-woo textarea:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    outline: none !important;
    border-color: var(--lm-navy) !important;
    box-shadow: 0 0 0 3px rgba(27,42,91,0.10) !important;
}
.limark-page label,
.limark-woo .form-row > label,
.woocommerce-checkout .form-row > label,
.woocommerce form .form-row label {
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: var(--lm-ink-mute) !important;
    margin-bottom: 8px !important;
}
.limark-page .form-row label .required,
.woocommerce-checkout .form-row .required { color: var(--lm-berry) !important; text-decoration: none !important; }

/* select2 alignment */
.select2-container--default .select2-selection--single {
    height: 48px !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 16px !important;
    line-height: 46px !important;
    color: var(--lm-ink) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 8px !important;
}

/* ============================================================================
 * FINAL POLISH PASS — top margins, spacing, symmetry, form consistency
 * ============================================================================ */

/* 1. SYSTEM PAGE — tighten top — page card margin reduced from 96-120 to 72-88 */
.limark-page,
.limark-woo {
    margin-top: clamp(72px, 8vh, 88px) !important;
}
@media (max-width: 600px) {
    .limark-page,
    .limark-woo {
        margin-top: 80px !important;
    }
}

/* 2. PAGE TITLE — trim margin below, tighten line height */
.limark-page__title,
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-account h1,
body.woocommerce-order-received h1 {
    margin: 0 0 clamp(20px, 2.5vw, 32px) !important;
    font-size: clamp(28px, 3.6vw, 40px) !important;
}
.limark-page__crumbs {
    margin-bottom: 12px !important;
    font-size: 12px !important;
}

/* 3. ACCOUNT — kill empty top space on sidebar (no h2 padding before nav) */
body.woocommerce-account .limark-page,
body.woocommerce-account .limark-woo {
    padding-top: clamp(28px, 3vw, 40px) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
    padding-top: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid var(--lm-line) !important;
    margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
    padding: 14px 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--lm-ink-soft) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: color 0.2s, padding-left 0.2s !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    color: var(--lm-navy) !important;
    background: transparent !important;
    padding-left: 12px !important;
    border-left: 2px solid var(--lm-navy) !important;
    margin-left: -2px !important;
    font-weight: 600 !important;
}

/* 4. ACCOUNT content card — flat with vertical divider only */
.woocommerce-account .woocommerce-MyAccount-content {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 0 0 36px !important;
    border-left: 1px solid var(--lm-line) !important;
    margin-left: 8px !important;
}
@media (max-width: 820px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        border-left: 0 !important;
        margin-left: 0 !important;
        padding: 24px 0 0 !important;
        border-top: 1px solid var(--lm-line) !important;
    }
}

/* 5. ACCOUNT GRID — narrower sidebar, more content room */
.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 24px !important;
}
@media (max-width: 820px) {
    .woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 1fr !important;
    }
}

/* 6. AUTH (login/register) — match 21.png exactly: tight panes, clean inputs */
.lm-auth__intro {
    margin-bottom: 32px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}
.lm-auth__title {
    font-size: clamp(28px, 3.5vw, 38px) !important;
    margin-bottom: 10px !important;
}
.lm-auth__sub {
    font-size: 14px !important;
}
.lm-auth__pane {
    padding: 28px !important;
    border-radius: var(--lm-radius-md) !important;
    background: #fff !important;
}
.lm-auth__pane--register {
    background: #fff !important;
}
.lm-auth__pane-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: var(--lm-ink) !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--lm-line) !important;
}
.lm-auth__pane-sub {
    font-size: 13px !important;
    color: var(--lm-ink-mute) !important;
    margin: -8px 0 16px !important;
    line-height: 1.55 !important;
}
.lm-auth__pane .lm-form .lm-field { margin-bottom: 16px !important; }
.lm-auth__pane .lm-btn--block {
    margin-top: 8px !important;
    padding: 13px 24px !important;
}
.lm-form__row { margin: 4px 0 16px !important; }

/* 7. CHECKOUT — fix #customer_details + #order_review padding */
.woocommerce-checkout #customer_details {
    padding: 28px !important;
    border-radius: var(--lm-radius-md) !important;
    border: 1px solid var(--lm-line) !important;
    box-shadow: none !important;
    background: #fff !important;
}
.woocommerce-checkout #customer_details h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--lm-ink) !important;
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lm-line) !important;
}
.woocommerce-checkout #order_review {
    background: var(--lm-bg-warm) !important;
    border: 1px solid var(--lm-line) !important;
    border-radius: var(--lm-radius-md) !important;
    padding: 24px !important;
    box-shadow: none !important;
}
.woocommerce-checkout #order_review_heading {
    font-family: 'Lora', serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* 8. PLACE ORDER — proper sized button (not banner-wide) */
.woocommerce-checkout #place_order {
    width: 100% !important;
    padding: 16px 28px !important;
    background: var(--lm-navy) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    margin-top: 16px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.woocommerce-checkout #place_order:hover { background: var(--lm-navy-deep) !important; }

/* 9. CART — header tighter, items breathing room */
.lm-cart__header {
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
}
.lm-cart__heading {
    font-size: clamp(18px, 2vw, 22px) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.lm-cart__continue {
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
}

/* 10. SUMMARY card — keep symmetric padding with checkout */
.lm-summary { padding: 24px !important; }
.lm-summary__heading {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-bottom: 1px solid var(--lm-line) !important;
    padding-bottom: 12px !important;
    margin: 0 0 16px !important;
}

/* 11. NOTICES — tighter padding, smaller font */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    padding: 12px 16px !important;
    font-size: 13.5px !important;
    margin-bottom: 16px !important;
}

/* 12. FORM ROW gap polish */
.woocommerce form .form-row { margin-bottom: 14px !important; }

/* 13. SUBMIT BUTTONS standard sizing across system pages */
.lm-btn,
.woocommerce-form button[type="submit"],
.woocommerce-form-track-order .button,
.woocommerce-Button {
    padding: 14px 28px !important;
    font-size: 12.5px !important;
    letter-spacing: 0.14em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}
.lm-btn--block { padding: 14px 24px !important; }

/* 14. Last polish — any orphan card bg should match */
body.woocommerce-account .limark-page,
body.woocommerce-cart .limark-woo,
body.woocommerce-checkout .limark-woo,
body.woocommerce-order-received .limark-woo,
body.woocommerce-page .limark-page {
    background: #fff !important;
    box-shadow: var(--lm-shadow-md) !important;
}

/* ============================================================================
 * AUDIT FIXES — issues found in static page-by-page review
 * ============================================================================ */

/* B. Variation meta inside cart item — flatten WC's nested <p> in <dd> */
.lm-cart__item-meta dl.variation { margin: 0; }
.lm-cart__item-meta dl.variation dt,
.lm-cart__item-meta dl.variation dd { display: inline; margin: 0; }
.lm-cart__item-meta dl.variation dd p { display: inline; margin: 0; }
.lm-cart__item-meta dl.variation dt { font-weight: 600; }
.lm-cart__item-meta dl.variation dt::after { content: ': '; }
.lm-cart__item-meta dl.variation dd::after { content: ' · '; color: #C8C2B6; margin: 0 4px; }
.lm-cart__item-meta dl.variation dd:last-of-type::after { content: ''; }

/* C. Qty stepper — size 36px tall, no spinner */
.lm-cart__qty .quantity {
    height: 36px;
    align-items: center;
}
.lm-cart__qty .quantity input.qty {
    height: 100%;
    width: 60px;
    padding: 0 6px !important;
    min-height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-align: center !important;
    font-weight: 600 !important;
}

/* D. Payment box (COD / Razorpay choice) — clean tinted card */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
    background: #fff !important;
    border: 1px solid var(--lm-line) !important;
    border-radius: var(--lm-radius-sm) !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    list-style: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    accent-color: var(--lm-navy);
    margin-right: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li label {
    display: inline !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--lm-ink) !important;
    margin: 0 !important;
}
.woocommerce-checkout #payment .payment_box {
    background: var(--lm-bg-warm) !important;
    border: 0 !important;
    border-radius: var(--lm-radius-sm) !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    color: var(--lm-ink-soft) !important;
    font-size: 13px !important;
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }

/* E. Order received (thank-you) page polish */
.woocommerce-order .woocommerce-thankyou-order-received {
    font-family: 'Lora', serif !important;
    font-size: clamp(20px, 2.4vw, 26px) !important;
    color: var(--lm-ink) !important;
    margin: 0 0 24px !important;
    padding: 16px 20px !important;
    background: var(--lm-bg-warm) !important;
    border-left: 3px solid var(--lm-success) !important;
    border-radius: var(--lm-radius-sm) !important;
}
.woocommerce-order ul.woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
    background: #fff !important;
    border: 1px solid var(--lm-line) !important;
    border-radius: var(--lm-radius-md) !important;
    padding: 20px 24px !important;
    margin-bottom: 18px !important;
    list-style: none !important;
}
.woocommerce-order ul.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 16px !important;
}
.woocommerce-order ul.woocommerce-order-overview li {
    border: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--lm-ink-mute) !important;
    font-weight: 700 !important;
}
.woocommerce-order ul.woocommerce-order-overview li strong {
    display: block;
    font-family: 'Lora', serif !important;
    font-size: 18px !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    color: var(--lm-ink) !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
}
.woocommerce-order h2 {
    font-family: 'Lora', serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    margin: 0 0 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lm-line) !important;
}
.woocommerce-order table.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
}
.woocommerce-order table.woocommerce-table--order-details th,
.woocommerce-order table.woocommerce-table--order-details td {
    padding: 12px 8px !important;
    border-bottom: 1px solid var(--lm-line) !important;
    text-align: left !important;
    font-size: 14px !important;
}
.woocommerce-order table.woocommerce-table--order-details tfoot th { font-weight: 600 !important; }

/* F. Lost password / Reset password polish */
.woocommerce-ResetPassword,
.woocommerce-EditAccountForm,
.edit-account {
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 28px !important;
    background: #fff !important;
    border: 1px solid var(--lm-line) !important;
    border-radius: var(--lm-radius-md) !important;
}
.woocommerce-ResetPassword .lost_reset_password p,
.woocommerce-EditAccountForm > p:first-child {
    margin-bottom: 18px !important;
    font-size: 14px !important;
    color: var(--lm-ink-mute) !important;
}
.woocommerce-ResetPassword button,
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-EditAccountForm .woocommerce-Button {
    background: var(--lm-navy) !important;
    color: #fff !important;
    border: 0 !important;
    padding: 14px 28px !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.woocommerce-ResetPassword button:hover,
.woocommerce-EditAccountForm button:hover { background: var(--lm-navy-deep) !important; }

/* G. Address book (My Account → Addresses) — 2 col cards */
.woocommerce-MyAccount-content .u-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}
@media (max-width: 600px) {
    .woocommerce-MyAccount-content .u-columns { grid-template-columns: 1fr !important; }
}
.woocommerce-MyAccount-content .u-columns > .u-column1,
.woocommerce-MyAccount-content .u-columns > .u-column2 {
    background: #fff !important;
    border: 1px solid var(--lm-line) !important;
    border-radius: var(--lm-radius-md) !important;
    padding: 22px !important;
    width: 100% !important;
    float: none !important;
}
.woocommerce-MyAccount-content header.woocommerce-Address-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lm-line) !important;
}
.woocommerce-MyAccount-content header.woocommerce-Address-title h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    margin: 0 !important;
    border: 0 !important;
    padding: 0 !important;
}
.woocommerce-MyAccount-content header.woocommerce-Address-title a {
    font-size: 12px;
    color: var(--lm-navy);
    text-decoration: underline;
}
.woocommerce-MyAccount-content address {
    font-style: normal !important;
    font-size: 14px !important;
    color: var(--lm-ink-soft) !important;
    line-height: 1.6 !important;
}

/* H. Orders table inside My Account */
.woocommerce-MyAccount-content table.woocommerce-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
}
.woocommerce-MyAccount-content table.woocommerce-orders-table th {
    background: var(--lm-bg-warm) !important;
    color: var(--lm-ink-mute) !important;
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    padding: 12px !important;
    text-align: left !important;
    border-bottom: 1px solid var(--lm-line) !important;
}
.woocommerce-MyAccount-content table.woocommerce-orders-table td {
    padding: 14px 12px !important;
    border-bottom: 1px solid var(--lm-line) !important;
    font-size: 14px !important;
    color: var(--lm-ink-soft) !important;
}
.woocommerce-MyAccount-content table.woocommerce-orders-table .button {
    padding: 8px 16px !important;
    font-size: 11px !important;
    background: transparent !important;
    color: var(--lm-navy) !important;
    border: 1px solid var(--lm-navy) !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    transition: background 0.2s, color 0.2s !important;
}
.woocommerce-MyAccount-content table.woocommerce-orders-table .button:hover {
    background: var(--lm-navy) !important;
    color: #fff !important;
}

/* I. Empty cart message — center editorial */
.woocommerce-cart .cart-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    font-family: 'Lora', serif !important;
    font-size: 22px !important;
    color: var(--lm-ink-mute) !important;
    background: var(--lm-bg-warm) !important;
    border-radius: var(--lm-radius-md) !important;
    border: 0 !important;
    border-left: 0 !important;
    margin-bottom: 24px !important;
}
.woocommerce-cart .return-to-shop a.button {
    display: inline-block !important;
    margin: 0 auto !important;
    padding: 14px 28px !important;
    background: var(--lm-navy) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* ============================================================================
 * UNIFIED WC PAGE SHELL — cart, checkout, my-account, login
 * Goal: editorial heading band, consistent top space, flat aesthetic,
 *       breathing-room cart 2-col, sticky summary, login split panels.
 * ============================================================================ */

:root {
    --lm-ticker-h: 0px;
    --lm-nav-h: 96px;
    --lm-admin-bar-h: 0px;
    --lm-nav-stack: calc(var(--lm-ticker-h) + var(--lm-nav-h) + var(--lm-admin-bar-h) + 32px);
}
body:has(.ticker-bar) { --lm-ticker-h: 38px; }
body.admin-bar { --lm-admin-bar-h: 32px; }
@media (max-width: 782px) { body.admin-bar { --lm-admin-bar-h: 46px; } }
@media (max-width: 600px) { :root { --lm-nav-h: 72px; } }

/* Flatten the .limark-page card chrome on WC pages */
body.woocommerce-cart .limark-page,
body.woocommerce-checkout .limark-page,
body.woocommerce-account .limark-page,
body.woocommerce-page .limark-page,
body.woocommerce-order-received .limark-page,
body.woocommerce-view-order .limark-page,
body.woocommerce-edit-account .limark-page,
body.woocommerce-edit-address .limark-page,
body.woocommerce-orders .limark-page,
body.woocommerce-lost-password .limark-page {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
    padding: var(--lm-nav-stack) clamp(20px, 4vw, 40px) clamp(64px, 8vw, 120px) !important;
    max-width: 1240px !important;
    min-height: auto !important;
}

/* Editorial heading band */
body.woocommerce-cart .limark-page__header,
body.woocommerce-checkout .limark-page__header,
body.woocommerce-account .limark-page__header,
body.woocommerce-order-received .limark-page__header,
body.woocommerce-view-order .limark-page__header,
body.woocommerce-edit-account .limark-page__header,
body.woocommerce-edit-address .limark-page__header,
body.woocommerce-orders .limark-page__header,
body.woocommerce-lost-password .limark-page__header {
    margin-bottom: clamp(28px, 4vw, 48px);
    padding-bottom: clamp(20px, 3vw, 32px);
    border-bottom: 1px solid #ECE7DF;
    position: relative;
}
body.woocommerce-cart .limark-page__header::before,
body.woocommerce-checkout .limark-page__header::before,
body.woocommerce-account .limark-page__header::before,
body.woocommerce-order-received .limark-page__header::before,
body.woocommerce-view-order .limark-page__header::before,
body.woocommerce-edit-account .limark-page__header::before,
body.woocommerce-edit-address .limark-page__header::before,
body.woocommerce-orders .limark-page__header::before,
body.woocommerce-lost-password .limark-page__header::before {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #9E2A6D;
    font-weight: 700;
    margin-bottom: 14px;
}
body.woocommerce-cart            .limark-page__header::before { content: 'YOUR CART'; }
body.woocommerce-checkout        .limark-page__header::before { content: 'CHECKOUT'; }
body.woocommerce-account         .limark-page__header::before { content: 'MY ACCOUNT'; }
body.woocommerce-order-received  .limark-page__header::before { content: 'ORDER CONFIRMED'; color: #2D7D46; }
body.woocommerce-view-order      .limark-page__header::before { content: 'ORDER DETAILS'; }
body.woocommerce-edit-account    .limark-page__header::before { content: 'ACCOUNT DETAILS'; }
body.woocommerce-edit-address    .limark-page__header::before { content: 'ADDRESSES'; }
body.woocommerce-orders          .limark-page__header::before { content: 'ORDERS'; }
body.woocommerce-lost-password   .limark-page__header::before { content: 'PASSWORD RESET'; }

body.woocommerce-cart .limark-page__title,
body.woocommerce-checkout .limark-page__title,
body.woocommerce-account .limark-page__title,
body.woocommerce-order-received .limark-page__title,
body.woocommerce-view-order .limark-page__title,
body.woocommerce-edit-account .limark-page__title,
body.woocommerce-edit-address .limark-page__title,
body.woocommerce-orders .limark-page__title,
body.woocommerce-lost-password .limark-page__title {
    font-family: 'Lora', serif !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 5vw, 56px) !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    color: #1A1A1A !important;
}
body.woocommerce-cart .limark-page__header::after,
body.woocommerce-checkout .limark-page__header::after,
body.woocommerce-account:not(.logged-in) .limark-page__header::after,
body.woocommerce-order-received .limark-page__header::after {
    display: block;
    margin-top: 12px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14.5px;
    color: #6B6B6B;
    max-width: 60ch;
    line-height: 1.6;
}
body.woocommerce-cart            .limark-page__header::after { content: 'Review your wellness picks. Adjust quantities, apply a coupon, then proceed when ready.'; }
body.woocommerce-checkout        .limark-page__header::after { content: 'Secure payment via Razorpay — UPI, cards, wallets, or cash on delivery.'; }
body.woocommerce-account:not(.logged-in) .limark-page__header::after { content: 'Sign in to track orders, save addresses, and access your wellness journey.'; }
body.woocommerce-order-received  .limark-page__header::after { content: 'Thank you. Your wellness order is on its way — confirmation sent to your inbox.'; }

/* === CART 2-COL — bump breakpoint to 1100, sticky summary ============== */
.lm-cart {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: clamp(24px, 3vw, 44px) !important;
    align-items: start;
}
@media (max-width: 1100px) {
    .lm-cart { grid-template-columns: 1fr !important; }
}
.lm-cart__aside {
    position: sticky;
    top: var(--lm-nav-stack);
    align-self: start;
}
@media (max-width: 1100px) {
    .lm-cart__aside { position: static; top: auto; }
}

/* === CHECKOUT 2-COL ==================================================== */
@media (min-width: 1024px) {
    .woocommerce-checkout form.checkout {
        display: grid;
        grid-template-columns: minmax(0, 1.6fr) 380px;
        gap: clamp(32px, 4vw, 56px);
        align-items: start;
    }
    .woocommerce-checkout #customer_details { grid-column: 1; min-width: 0; }
    .woocommerce-checkout h3#order_review_heading,
    .woocommerce-checkout #order_review { grid-column: 2; }
    .woocommerce-checkout h3#order_review_heading { margin-top: 0; }
    .woocommerce-checkout #order_review {
        position: sticky;
        top: var(--lm-nav-stack);
        background: #FAF8F5;
        border: 1px solid #ECE7DF;
        border-radius: 14px;
        padding: clamp(20px, 2.5vw, 28px);
    }
}

/* === MY ACCOUNT — sidebar + content split ============================== */
@media (min-width: 900px) {
    body.woocommerce-account.logged-in .woocommerce {
        display: grid;
        grid-template-columns: 240px minmax(0, 1fr);
        gap: clamp(32px, 4vw, 56px);
        align-items: start;
    }
    .woocommerce-MyAccount-navigation { grid-column: 1; min-width: 0; }
    .woocommerce-MyAccount-content    { grid-column: 2; min-width: 0; }
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid #ECE7DF;
}
.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid #ECE7DF;
}
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 16px 4px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #1A1A1A;
    text-decoration: none;
    transition: color 0.18s, padding 0.18s;
}
.woocommerce-MyAccount-navigation li a:hover { padding-left: 10px; color: #9E2A6D; }
.woocommerce-MyAccount-navigation li.is-active a {
    color: #1B2A5B;
    font-weight: 700;
    padding-left: 10px;
}

/* === LOGIN / REGISTER — split-panel layout when logged out ============= */
body.woocommerce-account:not(.logged-in) .u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 768px) {
    body.woocommerce-account:not(.logged-in) .u-columns.col2-set,
    body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns {
        grid-template-columns: 1fr 1fr;
        gap: clamp(24px, 3vw, 40px);
    }
}
body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2 { width: 100% !important; float: none !important; }
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
    background: #fff;
    border: 1px solid #ECE7DF;
    border-radius: 14px;
    padding: clamp(28px, 4vw, 44px);
}
.woocommerce-form-login p,
.woocommerce-form-register p,
.woocommerce-ResetPassword p { margin: 0 0 16px; }
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-ResetPassword .form-row { margin-bottom: 16px; }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; }
.woocommerce-form-login .lost_password,
.woocommerce-form-login .lost_password a {
    font-size: 13px;
    color: #1B2A5B;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ----------------------------------------------------------------------------
 * Self-test guards: scroll-padding for in-page anchors, scroll-margin-top on
 * known anchored elements (cart heading, checkout review heading, my-account
 * panels). If any future JS targets these via scrollIntoView, gap is honoured.
 * ---------------------------------------------------------------------------- */
html { scroll-padding-top: var(--lm-nav-stack); }
body.woocommerce-cart .limark-page__header,
body.woocommerce-checkout .limark-page__header,
body.woocommerce-account .limark-page__header,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #payment,
body.woocommerce-account .woocommerce-MyAccount-content {
    scroll-margin-top: var(--lm-nav-stack);
}

/* ============================================================================
 * CART ITEM QTY STEPPER — visible +/- buttons replacing WC native input
 * ============================================================================ */
.lm-cart__qty-stepper {
    display: inline-flex;
    align-items: stretch;
    border: 1.5px solid color-mix(in srgb, var(--lm-navy, #1B2A5B) 18%, transparent);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
    height: 40px;
}
.lm-cart__qty-stepper .lm-qty-btn {
    width: 36px;
    border: 0;
    background: transparent;
    color: var(--lm-navy, #1B2A5B);
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.18s, color 0.18s;
    line-height: 1;
}
.lm-cart__qty-stepper .lm-qty-btn:hover {
    background: var(--lm-navy, #1B2A5B);
    color: #fff;
}
.lm-cart__qty-stepper .lm-qty-input {
    width: 44px;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--lm-navy, #1B2A5B) 12%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--lm-navy, #1B2A5B) 12%, transparent);
    text-align: center;
    font-size: 14.5px;
    font-weight: 700;
    background: transparent;
    color: #1A1A1A;
    -moz-appearance: textfield;
    appearance: textfield;
    min-height: 0;
}
.lm-cart__qty-stepper .lm-qty-input::-webkit-outer-spin-button,
.lm-cart__qty-stepper .lm-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lm-cart__qty-stepper .lm-qty-input:focus { outline: none; background: var(--lm-bg-warm, #FAF8F5); }

/* Tighten cart item card visual */
.lm-cart__item {
    border: 1px solid var(--lm-line, #ECE7DF);
    border-radius: var(--lm-radius-md, 12px);
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    position: relative;
}
.lm-cart__item:hover {
    border-color: color-mix(in srgb, var(--lm-navy, #1B2A5B) 35%, transparent);
    box-shadow: 0 12px 28px -18px rgba(27,42,91,0.18);
}

/* ============================================================================
 * ORDER SUMMARY POLISH — radios, change-address, total hierarchy
 * ============================================================================ */
.lm-summary {
    background: #FAF8F5;
    border: 1px solid #ECE7DF;
    border-radius: 14px;
    padding: clamp(20px, 2.5vw, 28px);
}
.lm-summary__heading {
    font-family: 'Lora', serif;
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 18px;
    color: #1A1A1A;
    letter-spacing: -0.01em;
}
.lm-summary__lines {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-block: 1px solid #ECE7DF;
    padding-block: 16px;
}
.lm-summary__line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin: 0;
    font-size: 14px;
    color: #4A4A4A;
}
.lm-summary__line dt { margin: 0; font-weight: 500; }
.lm-summary__line dd { margin: 0; color: #1A1A1A; font-weight: 600; }
.lm-summary__line--total {
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid #ECE7DF;
    font-size: 16px;
}
.lm-summary__line--total dt {
    font-family: 'Lora', serif;
    font-size: 18px;
    font-weight: 500;
    color: #1A1A1A;
}
.lm-summary__line--total dd {
    font-family: 'Lora', serif;
    font-size: 22px;
    font-weight: 500;
    color: #1B2A5B;
}

/* Shipping rows — radio polish */
.lm-summary .woocommerce-shipping-totals,
.lm-summary .shipping {
    display: block;
    margin: 0;
}
.lm-summary ul#shipping_method,
.lm-summary .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.lm-summary ul#shipping_method li,
.lm-summary .woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #1A1A1A;
    padding: 8px 12px;
    border: 1px solid #ECE7DF;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s;
}
.lm-summary ul#shipping_method li:has(input:checked),
.lm-summary .woocommerce-shipping-methods li:has(input:checked) {
    border-color: #1B2A5B;
    background: color-mix(in srgb, #1B2A5B 4%, #fff);
}
.lm-summary ul#shipping_method input[type="radio"],
.lm-summary .woocommerce-shipping-methods input[type="radio"] {
    accent-color: #1B2A5B;
    margin: 0;
    width: 16px; height: 16px;
    flex-shrink: 0;
}
.lm-summary ul#shipping_method label,
.lm-summary .woocommerce-shipping-methods label {
    font-weight: 500;
    cursor: pointer;
    margin: 0;
    flex: 1;
    display: inline-flex;
    justify-content: space-between;
    gap: 10px;
}

/* "Shipping to / Change address" link */
.lm-summary .shipping-calculator-button,
.lm-summary a.shipping-calculator-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #1B2A5B;
    text-decoration: none;
    font-weight: 600;
    margin-top: 8px;
    padding: 6px 0;
}
.lm-summary .shipping-calculator-button::before {
    content: '';
    width: 14px; height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2A5B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}
.lm-summary .shipping-calculator-button:hover { color: #9E2A6D; }

/* Free-shipping micro card inside summary */
.lm-summary__ship {
    background: #fff;
    border: 1px solid #ECE7DF;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 14px;
}
.lm-summary__ship-msg {
    font-size: 12.5px;
    line-height: 1.4;
    margin: 0 0 8px;
    color: #1A1A1A;
}
.lm-summary__ship-msg--won { color: #2D7D46; font-weight: 600; }
.lm-summary__ship-bar {
    height: 4px;
    background: #ECE7DF;
    border-radius: 999px;
    overflow: hidden;
}
.lm-summary__ship-bar > span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #2D7D46 0%, #4FAE63 100%);
    transition: width 0.4s ease;
}

/* Proceed to Checkout CTA polish */
.lm-summary .wc-proceed-to-checkout,
.lm-summary__cta {
    margin-top: 18px;
    padding: 0;
}
.lm-summary .wc-proceed-to-checkout .checkout-button,
.lm-summary .checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    background: #1B2A5B;
    color: #fff !important;
    padding: 16px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 16px 30px -14px rgba(27,42,91,0.45);
    transition: background 0.2s, transform 0.2s;
    border: 0;
    min-height: 56px;
}
.lm-summary .checkout-button:hover {
    background: #9E2A6D;
    transform: translateY(-1px);
}

.lm-summary__trust {
    list-style: none;
    margin: 18px 0 0;
    padding: 14px 0 0;
    border-top: 1px solid #ECE7DF;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-size: 11.5px;
    color: #6B6B6B;
}
.lm-summary__trust li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.lm-summary__trust svg { color: #1B2A5B; flex-shrink: 0; }
