/* =============================================
   WiseLeader – WooCommerce Styles
   ============================================= */

/* ─── RESET ─── */
.woocommerce ul.products,
.woocommerce-page ul.products {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce span.onsale { display: none !important; }


/* ─── BREADCRUMBS ─── */
.wl-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
    margin-bottom: 1.5rem;
}
.wl-breadcrumb a {
    color: hsl(var(--primary));
    text-decoration: none;
    transition: color .2s;
}
.wl-breadcrumb a:hover { color: hsl(var(--navy)); }
.wl-bc-sep {
    color: hsl(var(--muted-foreground));
    margin: 0 0.375rem;
}


/* ─── CATEGORY PILLS ─── */
.wl-cat-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .2s;
    background: hsl(var(--background));
    color: hsl(var(--foreground) / .7);
    border: 1px solid hsl(var(--border));
}
.wl-cat-pill:hover {
    background: hsl(var(--primary) / .1);
    color: hsl(var(--primary));
    border-color: hsl(var(--primary) / .3);
}
.wl-cat-pill.is-active {
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    border-color: hsl(var(--primary));
    box-shadow: 0 4px 12px hsl(var(--primary) / .25);
}


/* ─── ORDERING / SORT ─── */
.wl-ordering .woocommerce-ordering { margin: 0; }
.wl-ordering select {
    padding: .5rem 2rem .5rem .75rem;
    border-radius: .5rem;
    border: 1px solid hsl(var(--border));
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: .875rem;
    outline: none;
    cursor: pointer;
}
.wl-ordering select:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 2px hsl(var(--primary) / .2);
}
.woocommerce-result-count { margin: 0 !important; }


/* ─── PRODUCT GRID ─── */
.wl-products-grid {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 1rem;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (min-width: 640px) {
    .wl-products-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
}
@media (min-width: 1024px) {
    .wl-products-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}


/* ─── PRODUCT CARD ─── */
.wl-product-card { list-style: none !important; }

.wl-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: hsl(var(--background));
    border-radius: .75rem;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15,42,67,.06), 0 1px 2px rgba(15,42,67,.04);
    transition: all .3s;
    text-decoration: none;
    color: inherit;
}
.wl-card-link:hover {
    box-shadow: 0 10px 25px rgba(15,42,67,.1), 0 4px 10px rgba(15,42,67,.06);
    transform: translateY(-4px);
}

/* Card image */
.wl-card-image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: hsl(var(--gray-soft));
}
.wl-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.wl-card-link:hover .wl-card-image img { transform: scale(1.05); }

.wl-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--muted-foreground) / .3);
}

/* Badges */
.wl-card-badges {
    position: absolute;
    top: .75rem;
    left: .75rem;
    display: flex;
    flex-direction: column;
    gap: .375rem;
}
.wl-badge {
    display: inline-block;
    padding: .25rem .625rem;
    font-size: .6875rem;
    font-weight: 700;
    border-radius: .375rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.wl-badge--sale  { background: hsl(var(--green)); color: #fff; }
.wl-badge--new   { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.wl-badge--out   { background: hsl(var(--destructive, 0 84% 60%)); color: #fff; }

/* Card body */
.wl-card-body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.wl-card-cat {
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
    margin-bottom: .25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wl-card-title {
    font-size: .9375rem;
    font-weight: 600;
    color: hsl(var(--navy));
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: .5rem;
    transition: color .2s;
}
.wl-card-link:hover .wl-card-title { color: hsl(var(--primary)); }

/* Rating */
.wl-card-rating {
    display: flex;
    align-items: center;
    gap: .125rem;
    margin-bottom: .5rem;
}
.wl-star--filled { fill: hsl(var(--yellow)); }
.wl-star--empty  { fill: hsl(var(--muted)); }
.wl-card-rating-count {
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
    margin-left: .25rem;
}

/* Price */
.wl-card-price {
    font-size: 1rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin-bottom: .75rem;
}
.wl-card-price del {
    color: hsl(var(--muted-foreground));
    font-weight: 400;
    font-size: .85em;
    margin-right: .25rem;
}
.wl-card-price ins {
    color: hsl(var(--green));
    font-weight: 700;
    text-decoration: none;
}

/* CTA */
.wl-card-cta {
    display: block;
    width: 100%;
    text-align: center;
    padding: .625rem;
    border-radius: .5rem;
    font-size: .8125rem;
    font-weight: 600;
    margin-top: auto;
    background: hsl(var(--green) / .1);
    color: hsl(var(--green));
    transition: all .3s;
}
.wl-card-link:hover .wl-card-cta {
    background: hsl(var(--green));
    color: #fff;
}


/* ─── PAGINATION ─── */
.wl-pagination .woocommerce-pagination { text-align: center; }
.wl-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.wl-pagination .page-numbers li { list-style: none; }
.wl-pagination .page-numbers a,
.wl-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 .5rem;
    border-radius: .5rem;
    font-size: .875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .2s;
}
.wl-pagination .page-numbers a {
    color: hsl(var(--foreground) / .7);
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
}
.wl-pagination .page-numbers a:hover {
    background: hsl(var(--primary) / .1);
    color: hsl(var(--primary));
    border-color: hsl(var(--primary) / .3);
}
.wl-pagination .page-numbers span.current {
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
}


/* ==============================================
   SINGLE PRODUCT
   ============================================== */

/* Grid: gallery + summary */
.wl-sp-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 3rem;
}
@media (min-width: 1024px) {
    .wl-sp-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        margin-bottom: 4rem;
    }
}

/* Summary sticky */
@media (min-width: 1024px) {
    .wl-sp-summary {
        position: sticky;
        top: 7rem;
        align-self: start;
    }
}

/* Gallery */
.wl-sp-gallery .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.wl-sp-gallery .woocommerce-product-gallery__wrapper {
    border-radius: .75rem;
    overflow: hidden;
}
.wl-sp-gallery .woocommerce-product-gallery__image img {
    border-radius: .75rem;
    width: 100%;
    height: auto;
}
.wl-sp-gallery .flex-control-thumbs {
    display: flex;
    gap: .5rem;
    margin-top: .75rem !important;
    list-style: none;
    padding: 0;
}
.wl-sp-gallery .flex-control-thumbs li {
    flex: 0 0 auto;
    width: calc(25% - .375rem);
    list-style: none;
}
.wl-sp-gallery .flex-control-thumbs li img {
    border-radius: .5rem;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .2s;
    opacity: .6;
}
.wl-sp-gallery .flex-control-thumbs li img:hover,
.wl-sp-gallery .flex-control-thumbs li img.flex-active {
    border-color: hsl(var(--primary));
    opacity: 1;
}

/* Category */
.wl-sp-cat {
    font-size: .875rem;
    color: hsl(var(--primary));
    font-weight: 500;
    margin-bottom: .5rem;
}
.wl-sp-cat a { color: inherit; text-decoration: none; }

/* Title */
.wl-sp-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--navy));
    line-height: 1.3;
    margin-bottom: 1rem;
}
@media (min-width: 768px) { .wl-sp-title { font-size: 1.875rem; } }
@media (min-width: 1024px) { .wl-sp-title { font-size: 2.25rem; } }

/* Rating */
.wl-sp-rating {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
}
.wl-stars { display: flex; gap: .125rem; }
.wl-sp-rating-text {
    font-size: .875rem;
    color: hsl(var(--muted-foreground));
}

/* Price */
.wl-sp-price-row {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
}
.wl-sp-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--navy));
}
@media (min-width: 768px) { .wl-sp-price { font-size: 1.875rem; } }

.wl-sp-price del {
    color: hsl(var(--muted-foreground));
    font-weight: 400;
    font-size: .8em;
    margin-right: .25rem;
}
.wl-sp-price ins {
    color: hsl(var(--green));
    font-weight: 700;
    text-decoration: none;
}
.wl-sp-discount {
    padding: .25rem .5rem;
    background: hsl(var(--green) / .15);
    color: hsl(var(--green));
    font-size: .8125rem;
    font-weight: 700;
    border-radius: .375rem;
}

/* Excerpt */
.wl-sp-excerpt {
    color: hsl(var(--foreground) / .7);
    line-height: 1.7;
    font-size: .9375rem;
    margin-bottom: 1.5rem;
}
.wl-sp-excerpt p { margin: 0 0 .75rem; }

/* Separator */
.wl-sp-sep {
    height: 1px;
    background: hsl(var(--border));
    margin-bottom: 1.5rem;
}

/* Add to cart */
.wl-atc .cart {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: stretch;
    margin-bottom: 1.5rem;
}
.wl-atc .quantity { display: flex; align-items: center; }
.wl-atc .quantity .qty {
    width: 4.5rem;
    height: 3.25rem;
    text-align: center;
    border: 1px solid hsl(var(--border));
    border-radius: .75rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: 1rem;
    font-weight: 600;
    outline: none;
}
.wl-atc .quantity .qty:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 2px hsl(var(--primary) / .2);
}
.wl-atc .single_add_to_cart_button {
    flex: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    height: 3.25rem;
    padding: 0 2rem;
    border: 0;
    border-radius: .75rem;
    background: hsl(var(--green)) !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s;
    box-shadow: 0 4px 14px hsl(var(--green) / .3);
}
.wl-atc .single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px hsl(var(--green) / .35);
}

/* Variations */
.wl-atc .variations {
    width: 100%;
    margin-bottom: .75rem;
    border: 0;
    border-collapse: collapse;
}
.wl-atc .variations td,
.wl-atc .variations th {
    padding: .5rem 0;
    border: 0;
    vertical-align: middle;
}
.wl-atc .variations .label label {
    font-weight: 500;
    font-size: .875rem;
    color: hsl(var(--navy));
}
.wl-atc .variations select {
    width: 100%;
    padding: .625rem .75rem;
    border-radius: .5rem;
    border: 1px solid hsl(var(--border));
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: .875rem;
    outline: none;
}
.wl-atc .variations select:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 2px hsl(var(--primary) / .2);
}
.wl-atc .reset_variations {
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
}

/* Mobile: stack qty + button */
@media (max-width: 639px) {
    .wl-atc .cart { flex-direction: column; }
    .wl-atc .quantity { width: 100%; }
    .wl-atc .quantity .qty { width: 100%; }
}

/* Trust badges */
.wl-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
    margin-bottom: 1.5rem;
}
.wl-trust-badge {
    display: flex;
    align-items: center;
    gap: .625rem;
    padding: .75rem;
    background: hsl(var(--gray-soft));
    border-radius: .5rem;
}
.wl-trust-badge svg {
    flex-shrink: 0;
    color: hsl(var(--green));
}
.wl-trust-badge span {
    font-size: .75rem;
    font-weight: 500;
    color: hsl(var(--navy));
}

/* Meta */
.wl-sp-meta {
    padding-top: 1rem;
    border-top: 1px solid hsl(var(--border));
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
}
.wl-sp-meta p { margin: .25rem 0; }
.wl-sp-meta span { color: hsl(var(--foreground) / .6); }
.wl-sp-meta a { color: hsl(var(--primary)); text-decoration: none; }


/* ─── TABS ─── */
.wl-sp-below { margin-bottom: 3rem; }

.wl-sp-below .woocommerce-tabs { margin-bottom: 2.5rem; }

.wl-sp-below .wc-tabs {
    display: flex;
    gap: 0;
    list-style: none;
    margin: 0 0 -1px;
    padding: 0;
    border-bottom: 2px solid hsl(var(--border));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.wl-sp-below .wc-tabs li {
    list-style: none;
    margin: 0;
    flex-shrink: 0;
}
.wl-sp-below .wc-tabs li a {
    display: block;
    padding: .75rem 1.25rem;
    font-size: .875rem;
    font-weight: 500;
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all .2s;
    white-space: nowrap;
}
.wl-sp-below .wc-tabs li a:hover { color: hsl(var(--primary)); }
.wl-sp-below .wc-tabs li.active a {
    color: hsl(var(--primary));
    border-bottom-color: hsl(var(--primary));
    font-weight: 600;
}
.wl-sp-below .woocommerce-Tabs-panel {
    padding: 1.5rem 0;
}
.wl-sp-below .woocommerce-Tabs-panel > h2 { display: none; }
.wl-sp-below .woocommerce-Tabs-panel p {
    color: hsl(var(--foreground) / .8);
    line-height: 1.75;
    margin-bottom: 1rem;
}

/* Additional info table */
.wl-sp-below .woocommerce-Tabs-panel table {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}
.wl-sp-below .woocommerce-Tabs-panel table th,
.wl-sp-below .woocommerce-Tabs-panel table td {
    padding: .75rem 1rem;
    text-align: left;
    border-bottom: 1px solid hsl(var(--border));
}
.wl-sp-below .woocommerce-Tabs-panel table th {
    color: hsl(var(--navy));
    font-weight: 600;
    width: 35%;
}

/* Reviews */
.wl-sp-below #comments { margin: 0; }
.wl-sp-below .commentlist {
    list-style: none;
    padding: 0;
    margin: 0;
}
.wl-sp-below .commentlist li {
    padding: 1.25rem 0;
    border-bottom: 1px solid hsl(var(--border));
}


/* ─── RELATED / UPSELL ─── */
.related.products > h2,
.upsells.products > h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin-bottom: 1.5rem;
}


/* ─── STAR RATING (WC default) ─── */
.star-rating {
    display: inline-flex;
    color: hsl(var(--yellow));
    font-size: .875rem;
    letter-spacing: 2px;
    overflow: hidden;
    position: relative;
    width: 5.4em;
    height: 1em;
    line-height: 1;
}
.star-rating::before {
    content: "★★★★★";
    color: hsl(var(--muted));
    position: absolute;
}
.star-rating span {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}
.star-rating span::before {
    content: "★★★★★";
    color: hsl(var(--yellow));
}


/* ─── NOTICES ─── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
    padding: 1rem 1.25rem;
    border-radius: .75rem;
    margin-bottom: 1.5rem;
    font-size: .875rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    list-style: none;
}
.woocommerce-message {
    background: hsl(var(--green) / .1);
    border: 1px solid hsl(var(--green) / .3);
    color: hsl(152 70% 35%);
}
.woocommerce-info {
    background: hsl(var(--primary) / .1);
    border: 1px solid hsl(var(--primary) / .3);
    color: hsl(var(--primary));
}
.woocommerce-error {
    background: hsl(0 84% 60% / .1);
    border: 1px solid hsl(0 84% 60% / .3);
    color: hsl(0 84% 45%);
}
.woocommerce-message a,
.woocommerce-info a {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.woocommerce-message .button,
.woocommerce-info .button {
    margin-left: auto;
    padding: .375rem 1rem;
    border-radius: .5rem;
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground)) !important;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    background:hsl(var(--primary))!important;
}


/* ─── BUTTONS (WC global) ─── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .625rem 1.5rem;
    border-radius: .75rem;
    border: 0;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    text-decoration: none;
    line-height: 1.5;
}
.woocommerce a.button:not(.alt),
.woocommerce button.button:not(.alt),
.woocommerce input.button:not(.alt) {
    background: hsl(var(--background));
    color: hsl(var(--primary));
    border: 2px solid hsl(var(--primary));
}
.woocommerce a.button:not(.alt):hover,
.woocommerce button.button:not(.alt):hover {
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: hsl(var(--green)) !important;
    color: #fff !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    opacity: .9;
}
.woocommerce a.button.disabled,
.woocommerce button.button.disabled {
    opacity: .5;
    cursor: not-allowed;
}


/* ─── FORMS (WC global) ─── */
.woocommerce form .form-row label {
    display: block;
    font-size: .875rem;
    font-weight: 500;
    color: hsl(var(--navy));
    margin-bottom: .375rem;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%;
    padding: .625rem .75rem;
    border-radius: .5rem;
    border: 1px solid hsl(var(--border));
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: .875rem;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 2px hsl(var(--primary) / .2);
}
.woocommerce form .form-row { margin-bottom: 1rem; }


/* ─── STICKY MOBILE ATC ─── */
.wl-sticky-atc {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: hsl(var(--background) / .95);
    backdrop-filter: blur(8px);
    border-top: 1px solid hsl(var(--border));
    padding: .75rem 0;
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
}
@media (min-width: 1024px) {
    .wl-sticky-atc { display: none; }
}
.wl-sticky-atc-inner {
    display: flex;
    align-items: center;
    gap: .75rem;
}
.wl-sticky-atc-info {
    flex: 1;
    min-width: 0;
}
.wl-sticky-atc-name {
    font-size: .8125rem;
    font-weight: 600;
    color: hsl(var(--navy));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
}
.wl-sticky-atc-price {
    font-size: .9375rem;
    font-weight: 700;
    color: hsl(var(--navy));
}
.wl-sticky-atc-price del {
    color: hsl(var(--muted-foreground));
    font-weight: 400;
    font-size: .8em;
}
.wl-sticky-atc-price ins {
    color: hsl(var(--green));
    text-decoration: none;
}
.wl-sticky-atc-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1.25rem;
    background: hsl(var(--green));
    color: #fff;
    border-radius: .75rem;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px hsl(var(--green) / .3);
    transition: all .2s;
}
.wl-sticky-atc-btn:hover {
    transform: translateY(-1px);
}

/* Body padding for sticky bar */
body.single-product { padding-bottom: 4.5rem; }
@media (min-width: 1024px) {
    body.single-product { padding-bottom: 0; }
}

/* =============================================
   CART, CHECKOUT & THANK YOU
   Dołącz na końcu woocommerce.css
   ============================================= */


/* ==============================================
   CART
   ============================================== */

.wl-cart { max-width: 100%; }

/* Shipping progress bar */
.wl-cart-shipping-bar {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
.wl-csb-text {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    color: hsl(var(--foreground) / .7);
    margin-bottom: .75rem;
}
.wl-csb-text svg { flex-shrink: 0; color: hsl(var(--primary)); }
.wl-csb-text strong { color: hsl(var(--navy)); }
.wl-csb-text--done { color: hsl(var(--green)); font-weight: 600; }
.wl-csb-text--done svg { color: hsl(var(--green)); }
.wl-csb-track {
    height: .375rem;
    background: hsl(var(--muted));
    border-radius: 9999px;
    overflow: hidden;
}
.wl-csb-fill {
    height: 100%;
    background: hsl(var(--green));
    border-radius: 9999px;
    transition: width .6s ease;
}

/* Cart grid */
.wl-cart-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 1024px) {
    .wl-cart-grid {
        grid-template-columns: 1fr 380px;
        gap: 2rem;
    }
}

/* Cart items */
.wl-cart-items {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
@media (min-width: 640px) { .wl-cart-items { padding: 1.5rem; } }

.wl-cart-header {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid hsl(var(--border));
}
.wl-cart-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin: 0;
}
.wl-cart-count {
    font-size: .8125rem;
    color: hsl(var(--muted-foreground));
}

/* Cart item row */
.wl-cart-item {
    display: flex;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid hsl(var(--border));
}
.wl-cart-item:last-child { border-bottom: 0; }

.wl-ci-image {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
    border-radius: .5rem;
    overflow: hidden;
    background: hsl(var(--gray-soft));
}
.wl-ci-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wl-ci-info { flex: 1; min-width: 0; }

.wl-ci-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: .75rem;
}
.wl-ci-name {
    font-size: .875rem;
    font-weight: 500;
    color: hsl(var(--navy));
    line-height: 1.4;
}
.wl-ci-name a {
    color: inherit;
    text-decoration: none;
}
.wl-ci-name a:hover { color: hsl(var(--primary)); }
.wl-ci-name dl {
    margin: .25rem 0 0;
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
}
.wl-ci-name dt { display: inline; font-weight: 500; }
.wl-ci-name dd { display: inline; margin: 0; }

.wl-ci-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9999px;
    font-size: 1.125rem;
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    transition: all .2s;
    flex-shrink: 0;
}
.wl-ci-remove:hover {
    background: hsl(0 84% 60% / .1);
    color: hsl(0 84% 50%);
}

.wl-ci-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.wl-ci-qty .quantity { display: flex; align-items: center; }
.wl-ci-qty .qty {
    width: 3.5rem;
    height: 2.25rem;
    text-align: center;
    border: 1px solid hsl(var(--border));
    border-radius: .375rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: .875rem;
    font-weight: 500;
    outline: none;
}
.wl-ci-qty .qty:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 2px hsl(var(--primary) / .15);
}
.wl-ci-subtotal {
    font-size: .9375rem;
    font-weight: 600;
    color: hsl(var(--navy));
    white-space: nowrap;
}

/* Cart actions */
.wl-cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid hsl(var(--border));
}
.wl-coupon {
    display: flex;
    gap: .5rem;
    flex: 1;
    min-width: 0;
}
.wl-coupon-input {
    flex: 1;
    min-width: 0;
    padding: .5rem .75rem;
    border: 1px solid hsl(var(--border));
    border-radius: .5rem;
    font-size: .8125rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    outline: none;
}
.wl-coupon-input:focus {
    border-color: hsl(var(--primary));
}
.wl-coupon-input::placeholder { color: hsl(var(--muted-foreground)); }
.wl-coupon-btn {
    padding: .5rem 1rem;
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    border: 0;
    border-radius: .5rem;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s;
}
.wl-coupon-btn:hover { opacity: .9; }

.wl-update-btn {
    padding: .5rem 1rem;
    background: transparent;
    color: hsl(var(--muted-foreground));
    border: 1px solid hsl(var(--border));
    border-radius: .5rem;
    font-size: .8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    margin-left: auto;
}
.wl-update-btn:hover {
    border-color: hsl(var(--primary));
    color: hsl(var(--primary));
}

/* Cart summary */
.wl-cart-summary-card {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
@media (min-width: 1024px) {
    .wl-cart-summary-card {
        position: sticky;
        top: 7rem;
    }
}
.wl-summary-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin: 0 0 1.25rem;
}
.wl-summary-rows {
    border-bottom: 1px solid hsl(var(--border));
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.wl-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: .875rem;
    color: hsl(var(--foreground) / .7);
    padding: .375rem 0;
}
.wl-summary-row--coupon { color: hsl(var(--green)); }

.wl-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin-bottom: 1.25rem;
}

/* Checkout button in cart */
.wl-summary-checkout .checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    height: 3.5rem;
    border-radius: .75rem;
    background: hsl(var(--green)) !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    border: 0;
    cursor: pointer;
    transition: all .3s;
    box-shadow: 0 4px 14px hsl(var(--green) / .3);
    text-decoration: none;
}
.wl-summary-checkout .checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px hsl(var(--green) / .35);
}

/* Cart trust badges */
.wl-cart-trust {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid hsl(var(--border));
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.wl-cart-trust-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
}
.wl-cart-trust-item svg {
    color: hsl(var(--green));
    flex-shrink: 0;
}

/* WC Shipping in cart summary */
.wl-summary-row .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}
.wl-summary-row .woocommerce-shipping-methods li { margin: .25rem 0; }


/* ==============================================
   CHECKOUT
   ============================================== */

.wl-checkout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 1024px) {
    .wl-checkout-grid {
        grid-template-columns: 1fr 400px;
        gap: 2rem;
    }
}

/* Sections */
.wl-checkout-section {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
@media (min-width: 640px) { .wl-checkout-section { padding: 1.5rem; } }

.wl-checkout-section-header {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid hsl(var(--border));
}
.wl-checkout-step {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    font-size: .8125rem;
    font-weight: 700;
    flex-shrink: 0;
}
.wl-checkout-section-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin: 0;
}

/* Checkout form fields - 2 columns */
.wl-checkout-form .woocommerce-billing-fields__field-wrapper,
.wl-checkout-form .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: .25rem .75rem;
}
@media (min-width: 640px) {
    .wl-checkout-form .woocommerce-billing-fields__field-wrapper,
    .wl-checkout-form .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    /* Full width fields */
    .wl-checkout-form .form-row-wide { grid-column: 1 / -1; }
    .wl-checkout-form #billing_address_1_field,
    .wl-checkout-form #billing_address_2_field,
    .wl-checkout-form #shipping_address_1_field,
    .wl-checkout-form #shipping_address_2_field,
    .wl-checkout-form #billing_email_field,
    .wl-checkout-form #order_comments_field { grid-column: 1 / -1; }
}

/* Payment methods */
.wl-payment-methods .wc_payment_methods {
    list-style: none;
    margin: 0;
    padding: 0;
}
.wl-payment-methods .wc_payment_method {
    padding: 1rem;
    margin-bottom: .5rem;
    border: 1px solid hsl(var(--border));
    border-radius: .5rem;
    transition: border-color .2s;
}
.wl-payment-methods .wc_payment_method:has(input:checked) {
    border-color: hsl(var(--primary));
    background: hsl(var(--primary) / .03);
}
.wl-payment-methods .wc_payment_method label {
    font-weight: 600;
    font-size: .875rem;
    color: hsl(var(--navy));
    cursor: pointer;
}
.wl-payment-methods .payment_box {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid hsl(var(--border));
    font-size: .8125rem;
    color: hsl(var(--foreground) / .7);
}

/* Place order button */
.wl-payment-methods #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    height: 3.5rem;
    border-radius: .75rem;
    background: hsl(var(--green)) !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 700;
    border: 0;
    cursor: pointer;
    transition: all .3s;
    box-shadow: 0 4px 14px hsl(var(--green) / .3);
    margin-top: 1rem;
}
.wl-payment-methods #place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px hsl(var(--green) / .35);
}

/* Sidebar */
.wl-checkout-sidebar-card {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
@media (min-width: 1024px) {
    .wl-checkout-sidebar-card {
        position: sticky;
        top: 7rem;
    }
}
.wl-sidebar-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin: 0 0 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid hsl(var(--border));
}

/* Order items in sidebar */
.wl-order-items {
    border-bottom: 1px solid hsl(var(--border));
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.wl-order-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .5rem 0;
}
.wl-oi-image {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border-radius: .375rem;
    overflow: hidden;
    background: hsl(var(--gray-soft));
}
.wl-oi-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wl-oi-info {
    flex: 1;
    min-width: 0;
}
.wl-oi-name {
    display: block;
    font-size: .8125rem;
    font-weight: 500;
    color: hsl(var(--navy));
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wl-oi-qty {
    display: block;
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
}
.wl-oi-price {
    font-size: .8125rem;
    font-weight: 600;
    color: hsl(var(--navy));
    white-space: nowrap;
}

/* Order totals in sidebar */
.wl-order-totals {
    border-bottom: 1px solid hsl(var(--border));
    padding-bottom: .75rem;
    margin-bottom: .75rem;
}
.wl-ot-row {
    display: flex;
    justify-content: space-between;
    font-size: .875rem;
    color: hsl(var(--foreground) / .7);
    padding: .25rem 0;
}
.wl-ot-row--coupon { color: hsl(var(--green)); }

.wl-order-total {
    display: flex;
    justify-content: space-between;
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin-bottom: 1rem;
}

/* Checkout trust */
.wl-checkout-trust {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid hsl(var(--border));
    display: flex;
    flex-direction: column;
    gap: .375rem;
}
.wl-ct-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .6875rem;
    color: hsl(var(--muted-foreground));
}
.wl-ct-item svg { color: hsl(var(--green)); flex-shrink: 0; }

/* Checkout: shipping methods in sidebar */
.wl-ot-row .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}

/* Checkout terms */
.woocommerce-terms-and-conditions-wrapper {
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
    margin-top: .75rem;
}
.woocommerce-terms-and-conditions-wrapper a {
    color: hsl(var(--primary));
}


/* ==============================================
   THANK YOU
   ============================================== */

.wl-thankyou {
    max-width: 42rem;
    margin: 0 auto;
}

/* Hero */
.wl-ty-hero {
    text-align: center;
    margin-bottom: 2.5rem;
}
.wl-ty-icon {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.5rem;
    border-radius: 9999px;
    background: hsl(var(--green) / .1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.wl-ty-icon svg { color: hsl(var(--green)); }
.wl-ty-icon--failed { background: hsl(0 84% 60% / .1); }
.wl-ty-icon--failed svg { color: hsl(0 84% 50%); }

.wl-ty-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin-bottom: .75rem;
}
@media (min-width: 768px) { .wl-ty-title { font-size: 2rem; } }

.wl-ty-desc {
    color: hsl(var(--foreground) / .7);
    font-size: .9375rem;
    line-height: 1.6;
}
.wl-ty-desc strong { color: hsl(var(--navy)); font-weight: 600; }

/* Details grid */
.wl-ty-details {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
.wl-ty-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}
@media (min-width: 640px) {
    .wl-ty-grid { grid-template-columns: repeat(4, 1fr); }
}
.wl-ty-detail-label {
    display: block;
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
    margin-bottom: .25rem;
}
.wl-ty-detail-value {
    display: block;
    font-size: .9375rem;
    font-weight: 600;
    color: hsl(var(--navy));
}
.wl-ty-detail-value--total { color: hsl(var(--green)); }

/* Products list */
.wl-ty-products {
    background: hsl(var(--background));
    border-radius: .75rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
}
.wl-ty-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin: 0 0 1rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid hsl(var(--border));
}
.wl-ty-product {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .625rem 0;
    border-bottom: 1px solid hsl(var(--border));
}
.wl-ty-product:last-child { border-bottom: 0; }
.wl-ty-product-img {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border-radius: .375rem;
    overflow: hidden;
    background: hsl(var(--gray-soft));
}
.wl-ty-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wl-ty-product-info { flex: 1; min-width: 0; }
.wl-ty-product-name {
    display: block;
    font-size: .8125rem;
    font-weight: 500;
    color: hsl(var(--navy));
}
.wl-ty-product-qty {
    display: block;
    font-size: .75rem;
    color: hsl(var(--muted-foreground));
}
.wl-ty-product-total {
    font-size: .875rem;
    font-weight: 600;
    color: hsl(var(--navy));
    white-space: nowrap;
}

/* Actions */
.wl-ty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
}
.wl-ty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .75rem 1.5rem;
    border-radius: .75rem;
    font-size: .9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s;
}
.wl-ty-btn--primary {
    background: hsl(var(--green));
    color: #fff;
    box-shadow: 0 4px 12px hsl(var(--green) / .3);
}
.wl-ty-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px hsl(var(--green) / .35);
}
.wl-ty-btn--outline {
    background: transparent;
    color: hsl(var(--primary));
    border: 2px solid hsl(var(--primary));
}
.wl-ty-btn--outline:hover {
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
}

/* ============================================================
   LOVABLE CART REDESIGN – wl-lv-* classes
   ============================================================ */

.wl-cart-wrap { max-width: 100%; }

/* Breadcrumb */
.wl-cart-breadcrumb {
    display: flex;
    align-items: center;
    gap: .375rem;
    font-size: .8125rem;
    color: hsl(var(--muted-foreground));
    margin-bottom: 1.5rem;
}
.wl-cart-breadcrumb a { color: inherit; text-decoration: none; transition: color .2s; }
.wl-cart-breadcrumb a:hover { color: hsl(var(--primary)); }
.wl-cart-breadcrumb > span:last-child { color: hsl(var(--foreground)); font-weight: 500; }
.wl-cart-breadcrumb svg { flex-shrink: 0; }

/* Page header */
.wl-cart-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}
.wl-cart-page-title {
    font-size: 1.625rem;
    font-weight: 700;
    color: hsl(var(--navy));
    margin: 0;
    line-height: 1.2;
}
@media (min-width: 768px) { .wl-cart-page-title { font-size: 1.875rem; } }
.wl-cart-page-count { color: hsl(var(--muted-foreground)); font-weight: 400; font-size: 1.125rem; }
.wl-back-to-shop {
    display: none;
    align-items: center;
    gap: .375rem;
    font-size: .8125rem;
    font-weight: 500;
    color: hsl(var(--primary));
    text-decoration: none;
    transition: opacity .2s;
}
.wl-back-to-shop:hover { opacity: .75; }
@media (min-width: 768px) { .wl-back-to-shop { display: flex; } }

/* Grid */
.wl-cart-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 1024px) { .wl-cart-grid { grid-template-columns: 1fr 380px; gap: 2rem; } }

/* Items box */
.wl-cart-items-box {
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
    overflow: hidden;
}

/* Single item */
.wl-lv-item {
    display: flex;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid hsl(var(--border));
    transition: box-shadow .2s;
}
.wl-lv-item:last-child { border-bottom: 0; }
.wl-lv-item:hover { box-shadow: inset 0 0 0 1000px hsl(var(--muted) / .04); }
@media (min-width: 640px) { .wl-lv-item { padding: 1.25rem 1.5rem; } }

/* Image */
.wl-lv-img {
    width: 6rem; height: 6rem;
    flex-shrink: 0;
    border-radius: .75rem;
    overflow: hidden;
    background: hsl(210 20% 96%);
    border: 1px solid hsl(var(--border));
    padding: .375rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 768px) { .wl-lv-img { width: 8rem; height: 8rem; } }
.wl-lv-img img { width: 100%; height: 100%; object-fit: contain; }

/* Details */
.wl-lv-details { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .75rem; }
.wl-lv-top { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.wl-lv-top-inner { flex: 1; min-width: 0; }

/* Badge */
.wl-lv-badge {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: hsl(var(--primary));
    background: hsl(var(--primary) / .1);
    border-radius: 999px;
    padding: .2rem .6rem;
    margin-bottom: .5rem;
}

.wl-lv-name { font-size: 1rem; font-weight: 600; color: hsl(var(--navy)); margin: 0 0 .2rem; line-height: 1.35; }
@media (min-width: 768px) { .wl-lv-name { font-size: 1.0625rem; } }
.wl-lv-name a { color: inherit; text-decoration: none; }
.wl-lv-name a:hover { color: hsl(var(--primary)); }
.wl-lv-meta { font-size: .75rem; color: hsl(var(--muted-foreground)); margin: 0; }
.wl-lv-sku { font-size: .6875rem; color: hsl(var(--muted-foreground) / .6); margin: .15rem 0 0; }

/* Remove */
.wl-lv-remove {
    display: flex; align-items: center; justify-content: center;
    width: 2rem; height: 2rem;
    border-radius: .5rem;
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    flex-shrink: 0;
    transition: all .2s;
}
.wl-lv-remove:hover { background: hsl(0 84% 60% / .1); color: hsl(0 84% 50%); }

/* Bottom */
.wl-lv-bottom { display: flex; flex-direction: column; gap: .5rem; }
.wl-lv-prices { display: flex; align-items: baseline; gap: .5rem; }
.wl-lv-price-main { font-size: 1.25rem; font-weight: 700; color: hsl(var(--navy)); }
.wl-lv-price-old { font-size: .875rem; color: hsl(var(--muted-foreground)); text-decoration: line-through; }
.wl-lv-discount-badge {
    font-size: .6875rem; font-weight: 700;
    color: hsl(var(--green));
    background: hsl(var(--green) / .12);
    border-radius: 999px;
    padding: .15rem .5rem;
}

/* Features */
.wl-lv-features { display: flex; flex-wrap: wrap; gap: .75rem; }
.wl-lv-feat { display: inline-flex; align-items: center; gap: .3rem; font-size: .75rem; color: hsl(var(--muted-foreground)); }
.wl-lv-feat svg { color: hsl(var(--primary)); }

/* Qty */
.wl-lv-qty .quantity { display: flex; align-items: center; }
.wl-lv-qty .qty {
    width: 3.5rem; height: 2.25rem;
    text-align: center;
    border: 1px solid hsl(var(--border));
    border-radius: .375rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: .875rem; font-weight: 500;
    outline: none;
}
.wl-lv-qty .qty:focus { border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--primary) / .15); }

/* Update btn (hidden, needed by WC) */
.wl-lv-update-btn { display: none; }

/* Coupon box */
.wl-lv-coupon-box {
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
    padding: 1.25rem 1.5rem;
    margin-top: 1rem;
}
.wl-lv-coupon-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.wl-lv-coupon-header svg { color: hsl(var(--primary)); flex-shrink: 0; }
.wl-lv-coupon-header h3 { font-size: .875rem; font-weight: 600; color: hsl(var(--navy)); margin: 0; }
.wl-lv-coupon-form { display: flex; gap: .5rem; }
.wl-lv-coupon-input {
    flex: 1; min-width: 0;
    height: 2.625rem;
    padding: 0 .875rem;
    border: 1px solid hsl(var(--border));
    border-radius: .5rem;
    font-size: .875rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.wl-lv-coupon-input:focus { border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--primary) / .15); }
.wl-lv-coupon-input::placeholder { color: hsl(var(--muted-foreground)); }
.wl-lv-coupon-apply {
    height: 2.75rem; padding: 0 1.25rem;
    background: transparent;
    color: hsl(var(--primary));
    border: 2px solid hsl(var(--primary));
    border-radius: .5rem;
    font-size: .875rem; font-weight: 600;
    cursor: pointer; white-space: nowrap;
    transition: background .2s, color .2s;
    flex-shrink: 0;
}
.wl-lv-coupon-apply:hover { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.wl-lv-coupon-hint { font-size: .75rem; color: hsl(var(--muted-foreground)); margin: .625rem 0 0; }
.wl-lv-coupon-hint code { background: hsl(var(--muted)); padding: .1rem .4rem; border-radius: .25rem; font-family: monospace; }

/* Summary card */
.wl-lv-summary {
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(15,42,67,.06);
    padding: 1.5rem;
    position: sticky;
    top: 7rem;
}
.wl-lv-summary-title { font-size: 1.125rem; font-weight: 700; color: hsl(var(--navy)); margin: 0 0 1.25rem; }

/* Sum rows */
.wl-lv-sum-rows { display: flex; flex-direction: column; gap: .125rem; padding-bottom: 1rem; border-bottom: 1px solid hsl(var(--border)); margin-bottom: 1rem; }
.wl-lv-sum-row { display: flex; justify-content: space-between; align-items: flex-start; font-size: .875rem; color: hsl(var(--muted-foreground)); padding: .3rem 0; }
.wl-lv-sum-label { color: hsl(var(--muted-foreground)); }
.wl-lv-sum-val { font-weight: 500; color: hsl(var(--navy)); }
.wl-lv-sum-row--green { color: hsl(var(--green)); }

/* Delivery row */
.wl-lv-sum-row--delivery { align-items: center; }
.wl-lv-delivery-label { display: flex; align-items: center; gap: .4rem; font-size: .875rem; color: hsl(var(--muted-foreground)); }
.wl-lv-delivery-label svg { color: hsl(var(--primary)); flex-shrink: 0; }
.wl-lv-delivery-sub { display: block; font-size: .6875rem; color: hsl(var(--muted-foreground) / .65); margin-top: .1rem; margin-left: 1.375rem; }
.wl-lv-free-chip { font-size: .75rem; font-weight: 700; color: hsl(var(--green)); background: hsl(var(--green) / .12); border-radius: 999px; padding: .2rem .6rem; white-space: nowrap; flex-shrink: 0; }

/* Total */
.wl-lv-total-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.25rem; }
.wl-lv-total-label { font-size: 1rem; font-weight: 700; color: hsl(var(--navy)); }
.wl-lv-total-price { font-size: 1.375rem; font-weight: 700; color: hsl(var(--navy)); text-align: right; }
.wl-lv-total-vat { font-size: .6875rem; color: hsl(var(--muted-foreground)); margin: .1rem 0 0; text-align: right; }

/* Checkout button */
.wl-lv-checkout-btn-wrap .checkout-button,
.wl-lv-checkout-btn-wrap a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .5rem !important;
    width: 100% !important;
    height: 3.5rem !important;
    border-radius: .75rem !important;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--green))) !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border: 0 !important;
    cursor: pointer !important;
    transition: box-shadow .3s, transform .15s !important;
    box-shadow: 0 6px 20px hsl(var(--primary) / .35) !important;
    text-decoration: none !important;
}
.wl-lv-checkout-btn-wrap .checkout-button:hover,
.wl-lv-checkout-btn-wrap a.checkout-button:hover {
    box-shadow: 0 8px 28px hsl(var(--primary) / .5) !important;
    transform: translateY(-1px) !important;
}

/* Payment icons */
.wl-lv-payment-icons { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .75rem; }
.wl-lv-payment-icons svg { color: hsl(var(--muted-foreground) / .5); }
.wl-lv-payment-icons span { font-size: .625rem; text-transform: uppercase; letter-spacing: .08em; color: hsl(var(--muted-foreground) / .5); }

/* Trust badges */
.wl-lv-trust { display: flex; flex-direction: column; gap: .625rem; padding-top: 1rem; border-top: 1px solid hsl(var(--border)); margin-top: 1rem; }
.wl-lv-trust-item { display: flex; align-items: center; gap: .625rem; font-size: .75rem; color: hsl(var(--muted-foreground)); }
.wl-lv-trust-item svg { color: hsl(var(--green)); flex-shrink: 0; }

.page-id-3995 header{
    display: none;
}
.page-id-3995 footer{
    display: none;
}
.page-id-3995 main .bg-gray-soft{
    background-color: white;
}
.page-id-3995 main{
    box-shadow: none;
}
.footer-inner-wrap .f-nav{
    display: none!important;
}

@media(min-width: 1100px){
    .mpt-10{
        padding-top: 9%;
    }
}