.wil-event-cart,
.wil-event-cart * { box-sizing: border-box; }

.wil-event-cart {
    --wil-radius: 20px;
    color: var(--wil-cart-text);
    font-family: inherit;
}

.wil-cart-shell {
    background: var(--wil-cart-bg);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    padding: clamp(20px, 3vw, 38px);
    color: var(--wil-cart-text);
}

.wil-cart-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.wil-cart-header h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1; color: var(--wil-cart-text); }
.wil-cart-kicker { margin: 0 0 8px; color: var(--wil-cart-accent); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.wil-cart-text-button,
.wil-cart-remove { background: none !important; border: 0 !important; padding: 6px !important; color: var(--wil-cart-muted) !important; cursor: pointer; font: inherit; }
.wil-cart-text-button:hover,
.wil-cart-remove:hover { color: var(--wil-cart-text) !important; }

.wil-cart-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr); gap: 28px; align-items: start; }
.wil-cart-items { display: grid; gap: 14px; }
.wil-cart-item { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 18px; padding: 16px; background: var(--wil-cart-card); border: 1px solid rgba(255,255,255,.07); border-radius: var(--wil-radius); box-shadow: 0 10px 32px rgba(0,0,0,.13); }
.wil-cart-item-image { aspect-ratio: 1 / 1; overflow: hidden; border-radius: 14px; background: rgba(255,255,255,.04); }
.wil-cart-item-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wil-cart-item-main { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.wil-cart-item-top { display: flex; justify-content: space-between; gap: 16px; }
.wil-cart-item h3 { margin: 2px 0 6px; color: var(--wil-cart-text); font-size: 18px; line-height: 1.25; }
.wil-cart-line-total { font-weight: 800; white-space: nowrap; font-size: 17px; }
.wil-cart-event-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--wil-cart-muted); font-size: 13px; }
.wil-cart-event-meta strong { color: var(--wil-cart-text); font-weight: 650; }
.wil-cart-item-data { margin-top: 6px; color: var(--wil-cart-muted); font-size: 13px; }
.wil-cart-item-data dl { margin: 0; }
.wil-cart-item-data dt,
.wil-cart-item-data dd { display: inline; float: none; margin: 0 4px 0 0; }
.wil-cart-item-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.wil-cart-item-bottom.wil-single-quantity { justify-content: flex-end; }

.wil-cart-qty { display: inline-grid; grid-template-columns: 38px 48px 38px; height: 40px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.04); }
.wil-cart-qty button,
.wil-cart-qty input { appearance: none; -webkit-appearance: none; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--wil-cart-text) !important; min-height: 0 !important; padding: 0 !important; box-shadow: none !important; text-align: center; font: inherit; }
.wil-cart-qty button { cursor: pointer; font-size: 19px; }
.wil-cart-qty input { width: 100%; font-weight: 800; }
.wil-cart-qty input::-webkit-inner-spin-button,
.wil-cart-qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.wil-cart-summary { position: sticky; top: 24px; padding: 22px; background: var(--wil-cart-card); border: 1px solid rgba(255,255,255,.07); border-radius: var(--wil-radius); }
.wil-cart-summary h3 { margin: 0 0 18px; color: var(--wil-cart-text); font-size: 20px; }
.wil-cart-summary-row,
.wil-cart-total-row { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; color: var(--wil-cart-muted); }
.wil-cart-summary-row strong { color: var(--wil-cart-text); }
.wil-cart-total-row { margin-top: 8px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); color: var(--wil-cart-text); font-size: 20px; font-weight: 800; }
.wil-cart-coupon-row button { margin-left: 6px; border: 0; background: transparent; color: var(--wil-cart-muted); cursor: pointer; font-size: 18px; }
.wil-cart-coupon { margin-top: 18px; }
.wil-cart-coupon label { display: block; margin-bottom: 7px; color: var(--wil-cart-muted); font-size: 13px; font-weight: 650; }
.wil-cart-coupon > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.wil-cart-coupon input { width: 100%; min-width: 0; height: 44px; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 11px !important; background: rgba(255,255,255,.04) !important; color: var(--wil-cart-text) !important; padding: 0 12px !important; }
.wil-cart-coupon button { min-height: 44px; padding: 0 15px !important; border: 0 !important; border-radius: 11px !important; background: rgba(255,255,255,.1) !important; color: var(--wil-cart-text) !important; font-weight: 750; cursor: pointer; }

.wil-cart-checkout-button,
.wil-cart-secondary-button,
.wil-add-to-cart { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin-top: 18px; padding: 12px 18px !important; border: 0 !important; border-radius: 13px !important; background: var(--wil-cart-accent) !important; color: #fff !important; text-decoration: none !important; font-weight: 800; line-height: 1.1; cursor: pointer; transition: transform .15s ease, filter .15s ease; }
.wil-cart-checkout-button:hover,
.wil-cart-secondary-button:hover,
.wil-add-to-cart:hover { transform: translateY(-1px); filter: brightness(1.08); color: #fff !important; }
.wil-cart-continue { display: block; margin-top: 14px; text-align: center; color: var(--wil-cart-muted) !important; text-decoration: none !important; font-size: 14px; }

.wil-cart-empty { padding: 48px 20px; text-align: center; background: var(--wil-cart-card); border: 1px solid rgba(255,255,255,.07); border-radius: var(--wil-radius); }
.wil-cart-empty-icon { width: 54px; height: 54px; margin: 0 auto 16px; display: grid; place-items: center; border: 2px solid var(--wil-cart-accent); border-radius: 50%; color: var(--wil-cart-accent); font-weight: 900; }
.wil-cart-empty h3 { margin: 0 0 7px; color: var(--wil-cart-text); font-size: 22px; }
.wil-cart-empty p { margin: 0; color: var(--wil-cart-muted); }
.wil-cart-empty .wil-cart-secondary-button { width: auto; min-width: 180px; }

.wil-cart-message { display: none; margin: 0 0 16px; padding: 11px 14px; border-radius: 11px; font-size: 14px; }
.wil-cart-message.is-visible { display: block; }
.wil-cart-message.is-success { background: rgba(37,99,235,.15); border: 1px solid rgba(37,99,235,.35); }
.wil-cart-message.is-error { background: rgba(220,38,38,.14); border: 1px solid rgba(220,38,38,.35); }
.wil-event-cart.is-loading { opacity: .72; cursor: progress; }

.wil-mini-cart { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; white-space: nowrap; }
.wil-mini-cart-badge { display: inline-grid; min-width: 23px; height: 23px; padding: 0 6px; place-items: center; border-radius: 999px; background: var(--wil-cart-accent, #2563eb); color: #fff; font-size: 12px; font-weight: 800; }
.wil-cart-count { font-variant-numeric: tabular-nums; }
.wil-add-to-cart { width: auto; margin-top: 0; }

@media (max-width: 800px) {
    .wil-cart-shell { border-radius: 18px; padding: 16px; }
    .wil-cart-layout { grid-template-columns: 1fr; }
    .wil-cart-summary { position: static; }
    .wil-cart-item { grid-template-columns: 88px minmax(0,1fr); gap: 13px; padding: 13px; }
    .wil-cart-item-top { gap: 10px; }
    .wil-cart-item h3 { font-size: 16px; }
    .wil-cart-line-total { font-size: 15px; }
}

@media (max-width: 520px) {
    .wil-cart-header { align-items: center; }
    .wil-cart-item { grid-template-columns: 74px minmax(0,1fr); }
    .wil-cart-item-bottom { align-items: flex-end; }
    .wil-cart-qty { grid-template-columns: 34px 42px 34px; height: 38px; }
}

/* Floating side cart — modern light design */
.wil-cart-drawer-ui,
.wil-cart-drawer-ui * { box-sizing: border-box; }
.wil-cart-drawer-ui {
    --wil-drawer-bg: #fcfcfe;
    --wil-drawer-panel: #ffffff;
    --wil-drawer-text: #0f172a;
    --wil-drawer-muted: #667085;
    --wil-drawer-line: #e6e8ef;
    --wil-drawer-soft: #f5f7fb;
    --wil-drawer-soft-2: #eef3ff;
    --wil-drawer-button: #2f7df4;
    --wil-drawer-blue: #2f7df4;
    --wil-drawer-blue-dark: #1d68db;
    --wil-drawer-shadow: 0 24px 60px rgba(15, 23, 42, .16);
    --wil-drawer-radius: 22px;
    font-family: inherit;
}
.wil-cart-fab {
    position: fixed !important;
    right: 22px;
    bottom: 22px;
    z-index: 999998;
    width: 60px;
    height: 60px;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    color: var(--wil-drawer-text) !important;
    box-shadow: 0 18px 40px rgba(15,23,42,.16) !important;
    cursor: pointer;
}
.wil-cart-fab:hover { transform: translateY(-2px); box-shadow: 0 22px 44px rgba(15,23,42,.2) !important; }
.wil-cart-fab-count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--wil-drawer-blue), #4a8ef7);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(47,125,244,.35);
}
.wil-cart-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 999998;
    background: rgba(15,23,42,.32);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.wil-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 999999;
    width: min(520px, 96vw);
    height: auto;
    background: var(--wil-drawer-bg);
    color: var(--wil-drawer-text);
    box-shadow: var(--wil-drawer-shadow);
    transform: translateX(105%);
    transition: transform .3s ease-in-out;
    overflow: hidden;
    border-radius: 24px 0 0 24px;
}
.wil-cart-drawer-ui.is-open .wil-cart-drawer-backdrop { opacity: 1; visibility: visible; }
.wil-cart-drawer-ui.is-open .wil-cart-drawer { transform: translateX(0); }
body.wil-cart-drawer-open { overflow: hidden; }
.wil-cart-drawer > [data-wil-drawer-content] { height: 100%; min-height: 0; }
.wil-drawer-shell {
    --wil-drawer-footer-space: 230px;
    position: relative;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #ffffff 0%, #fcfcfe 100%);
    color: var(--wil-drawer-text);
    overflow: hidden;
}
.wil-drawer-shell.is-loading { opacity: .72; cursor: progress; }
.wil-drawer-header {
    flex: 0 0 auto;
    min-height: 98px;
    padding: 24px 24px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(230,232,239,.9);
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.wil-drawer-header h2 {
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: var(--wil-drawer-text) !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}
.wil-drawer-header p {
    margin: 0 !important;
    color: var(--wil-drawer-muted) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}
.wil-drawer-close {
    width: 42px;
    height: 42px;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 14px !important;
    background: var(--wil-drawer-soft) !important;
    color: var(--wil-drawer-text) !important;
    font-size: 25px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    cursor: pointer;
}
.wil-drawer-shell > .wil-cart-message {
    flex: 0 0 auto;
    margin: 12px 24px 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    color: #111 !important;
    font-size: 13px !important;
}
.wil-drawer-shell > .wil-cart-message.is-success {
    background: #eef5ff !important;
    border: 1px solid #bfd6fb !important;
}
.wil-drawer-shell > .wil-cart-message.is-error {
    background: #fff1f1 !important;
    border: 1px solid #f3bcbc !important;
}
.wil-drawer-items {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 14px 24px 0;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-gutter: stable;
}
.wil-drawer-item {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    gap: 14px;
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid var(--wil-drawer-line);
    border-radius: 18px;
    background: var(--wil-drawer-panel);
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
}
.wil-drawer-thumb {
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 14px;
    background: #eef2f7;
}
.wil-drawer-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wil-drawer-item-main { min-width: 0; }
.wil-drawer-item-title-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 14px;
    align-items: start;
}
.wil-drawer-item h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--wil-drawer-text) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
}
.wil-drawer-line-total {
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    white-space: nowrap;
}
.wil-drawer-unit-price {
    margin-top: 3px;
    color: #111;
    font-size: 13px;
    line-height: 1.35;
}
.wil-drawer-unit-price del { color: #6b7280; margin-right: 4px; }
.wil-drawer-unit-price ins { color: #111; text-decoration: none; }
.wil-drawer-item .wil-cart-event-meta {
    display: block;
    margin-top: 8px;
    color: #475467 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}
.wil-drawer-item .wil-cart-event-meta span { margin-right: 4px; }
.wil-drawer-item .wil-cart-event-meta strong { color: #111 !important; font-weight: 600 !important; }
.wil-drawer-item-bottom {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.wil-drawer-item-bottom.wil-single-quantity { justify-content: flex-end; }
.wil-drawer-item .wil-cart-qty {
    display: grid !important;
    grid-template-columns: 36px 42px 36px !important;
    width: 114px !important;
    height: 42px !important;
    overflow: hidden !important;
    border: 1px solid #d9deea !important;
    border-radius: 999px !important;
    background: var(--wil-drawer-soft) !important;
}
.wil-drawer-item .wil-cart-qty button,
.wil-drawer-item .wil-cart-qty input {
    display: block !important;
    width: 100% !important;
    height: 40px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--wil-drawer-text) !important;
    -webkit-text-fill-color: var(--wil-drawer-text) !important;
    opacity: 1 !important;
    box-shadow: none !important;
    text-align: center !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 40px !important;
}
.wil-drawer-item .wil-cart-qty input {
    font-weight: 700 !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}
.wil-drawer-item .wil-cart-qty input::-webkit-inner-spin-button,
.wil-drawer-item .wil-cart-qty input::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }
.wil-drawer-item .wil-cart-qty button { cursor: pointer !important; color: #667085 !important; font-size: 16px !important; font-weight: 700 !important; }
.wil-drawer-remove {
    width: 36px;
    height: 36px;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #667085 !important;
    cursor: pointer;
}
.wil-drawer-remove:hover { background: #fff1f2 !important; color: #e11d48 !important; border-color: #ffe4e6 !important; }
.wil-drawer-footer {
    flex: 0 0 auto;
    padding: 0 24px max(18px, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(230,232,239,.85);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 -16px 38px rgba(15,23,42,.06);
}
.wil-drawer-discount-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid var(--wil-drawer-line);
    color: var(--wil-drawer-text);
    font-size: 12px;
}
.wil-drawer-discount-row button {
    border: 0 !important;
    background: transparent !important;
    color: #6b7280 !important;
    cursor: pointer;
}
.wil-drawer-coupon-details {
    margin-top: 10px;
    padding: 0 14px;
    border: 1px solid var(--wil-drawer-line);
    border-radius: 16px;
    background: var(--wil-drawer-panel);
}
.wil-drawer-coupon-details summary {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    list-style: none;
    color: #111;
    font-size: 13px;
    cursor: pointer;
}
.wil-drawer-coupon-details summary::-webkit-details-marker { display: none; }
.wil-drawer-coupon-details summary span { color: #111; font-size: 18px; }
.wil-drawer-coupon-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 0 0 12px;
}
.wil-drawer-coupon-form input {
    min-width: 0;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #cfcfd2 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}
.wil-drawer-coupon-form button {
    height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #efeff1 !important;
    color: #111 !important;
    font-weight: 650 !important;
    cursor: pointer;
}
.wil-drawer-total {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 0 2px;
    border-bottom: 1px solid var(--wil-drawer-line);
    color: var(--wil-drawer-text);
    font-size: 20px;
    font-weight: 600;
}
.wil-drawer-total-value {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
    min-width: 0;
}
.wil-drawer-total strong,
.wil-drawer-total .woocommerce-Price-amount { color: #111 !important; font-size: 20px !important; font-weight: 650 !important; }
.wil-drawer-savings {
    margin: 0;
    padding: 0;
    color: #15803d;
    font-size: 12px;
    line-height: 1.15;
    font-weight: 650;
    text-align: right;
    white-space: nowrap;
}
.wil-drawer-actionbar { padding-top: 16px; }
.wil-drawer-footer .wil-cart-checkout-button {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--wil-drawer-blue), #4a8ef7) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em !important;
    opacity: 1 !important;
    box-shadow: 0 14px 28px rgba(47,125,244,.28) !important;
}
.wil-drawer-footer .wil-cart-checkout-button:hover { background: linear-gradient(135deg, var(--wil-drawer-blue-dark), var(--wil-drawer-blue)) !important; color: #fff !important; box-shadow: 0 18px 32px rgba(47,125,244,.32) !important; }
.wil-drawer-view-cart {
    display: block;
    margin-top: 12px;
    color: var(--wil-drawer-muted) !important;
    text-align: center;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 600;
}
.wil-drawer-view-cart:hover { color: #111 !important; }
.wil-drawer-empty {
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 42px 24px;
    text-align: center;
    color: #111;
}
.wil-drawer-empty-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 20px;
    background: linear-gradient(135deg, #eef3ff, #f5f7fb);
    color: var(--wil-drawer-blue);
}
.wil-drawer-empty h3 { margin: 0 0 7px !important; color: #111 !important; font-size: 20px !important; }
.wil-drawer-empty p { margin: 0 !important; color: #6b7280 !important; font-size: 13px !important; }
.wil-drawer-empty .wil-cart-secondary-button {
    width: auto;
    min-width: 170px;
    margin-top: 20px;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--wil-drawer-blue), #4a8ef7) !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(47,125,244,.24) !important;
}

.wil-drawer-close:hover { background: #eef3ff !important; border-color: #dbe7ff !important; }
.wil-drawer-item:hover { box-shadow: 0 14px 30px rgba(15,23,42,.07); transform: translateY(-1px); }
.wil-drawer-coupon-form input:focus {
    outline: none !important;
    border-color: #b8d2ff !important;
    box-shadow: 0 0 0 4px rgba(47,125,244,.12) !important;
}
.wil-drawer-coupon-form button {
    border-radius: 14px !important;
    background: #eef3ff !important;
    color: #195fcf !important;
    font-weight: 700 !important;
}
.wil-drawer-coupon-form button:hover { background: #dfeaff !important; }
.wil-drawer-items::-webkit-scrollbar { width: 10px; }
.wil-drawer-items::-webkit-scrollbar-thumb {
    background: #d7ddea;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
.wil-drawer-items::-webkit-scrollbar-track { background: transparent; }
@media (max-width: 600px) {
    .wil-cart-fab {
        right: 15px;
        bottom: max(15px, env(safe-area-inset-bottom));
        width: 56px;
        height: 56px;
        border-radius: 18px !important;
    }
    .wil-cart-drawer {
        top: 0;
        bottom: 0;
        height: auto;
        max-height: 100dvh;
        width: min(410px, calc(100vw - 26px));
        max-width: calc(100vw - 26px);
        border-radius: 22px 0 0 22px;
        overflow: hidden;
    }
    .wil-drawer-shell {
        position: relative;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
    .wil-drawer-header {
        min-height: 86px;
        padding: max(18px, env(safe-area-inset-top)) 18px 15px;
    }
    .wil-drawer-header h2 { font-size: 22px !important; }
    .wil-drawer-header p { font-size: 12px !important; }
    .wil-drawer-close {
        width: 40px;
        height: 40px;
        border-radius: 13px !important;
    }
    .wil-drawer-shell > .wil-cart-message {
        margin-left: 18px !important;
        margin-right: 18px !important;
    }
    .wil-drawer-items {
        flex: 1 1 auto;
        min-height: 0;
        padding: 12px 18px calc(var(--wil-drawer-footer-space, 230px) + 28px);
        scroll-padding-bottom: calc(var(--wil-drawer-footer-space, 230px) + 24px);
    }
    .wil-drawer-footer {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        padding: 0 18px max(14px, env(safe-area-inset-bottom));
        background: rgba(255,255,255,.97);
        box-shadow: 0 -14px 34px rgba(15,23,42,.09);
    }
    .wil-drawer-item {
        grid-template-columns: 62px minmax(0,1fr);
        gap: 12px;
        padding: 14px;
        border-radius: 16px;
        margin-bottom: 10px;
    }
    .wil-drawer-thumb {
        width: 62px;
        height: 62px;
        border-radius: 12px;
    }
    .wil-drawer-item-title-row {
        grid-template-columns: minmax(0,1fr) auto;
        gap: 8px;
    }
    .wil-drawer-item h3 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
    .wil-drawer-line-total {
        font-size: 13px !important;
        justify-self: end;
    }
    .wil-drawer-item .wil-cart-event-meta {
        margin-top: 6px;
        font-size: 10.5px !important;
        line-height: 1.4 !important;
    }
    .wil-drawer-item-bottom { margin-top: 10px; }
    .wil-drawer-item .wil-cart-qty {
        width: 106px !important;
        height: 38px !important;
        grid-template-columns: 33px 40px 33px !important;
    }
    .wil-drawer-item .wil-cart-qty button,
    .wil-drawer-item .wil-cart-qty input {
        height: 36px !important;
        line-height: 36px !important;
    }
    .wil-drawer-coupon-details {
        margin-top: 9px;
        border-radius: 14px;
    }
    .wil-drawer-coupon-details summary {
        min-height: 46px;
        font-size: 12.5px;
    }
    .wil-drawer-total {
        min-height: 60px;
        margin-top: 8px;
        font-size: 18px;
    }
    .wil-drawer-total strong,
    .wil-drawer-total .woocommerce-Price-amount {
        font-size: 19px !important;
    }
    .wil-drawer-savings { padding: 0; }
    .wil-drawer-actionbar { padding-top: 12px; }
    .wil-drawer-footer .wil-cart-checkout-button {
        min-height: 50px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }
    .wil-drawer-view-cart {
        margin-top: 9px;
        font-size: 11.5px;
    }

    /* v0.1.16: compact mobile checkout footer */
    .wil-drawer-footer {
        padding: 0 16px max(8px, env(safe-area-inset-bottom));
    }
    .wil-drawer-coupon-details {
        margin-top: 6px;
        padding: 0 12px;
        border-radius: 13px;
    }
    .wil-drawer-coupon-details summary {
        min-height: 42px;
        font-size: 12px;
    }
    .wil-drawer-coupon-details summary span {
        font-size: 16px;
    }
    .wil-drawer-coupon-form {
        gap: 7px;
        padding-bottom: 8px;
    }
    .wil-drawer-coupon-form input,
    .wil-drawer-coupon-form button {
        height: 38px !important;
        min-height: 38px !important;
    }
    .wil-drawer-coupon-form input {
        padding: 0 10px !important;
        border-radius: 11px !important;
    }
    .wil-drawer-coupon-form button {
        padding: 0 13px !important;
        border-radius: 11px !important;
    }
    .wil-drawer-discount-row {
        padding: 6px 0;
        font-size: 11px;
    }
    .wil-drawer-total {
        min-height: 50px;
        margin-top: 5px;
        padding: 0 2px;
        font-size: 17px;
    }
    .wil-drawer-total strong,
    .wil-drawer-total .woocommerce-Price-amount {
        font-size: 18px !important;
    }
    .wil-drawer-total-value { gap: 2px; }
    .wil-drawer-savings {
        margin: 0;
        padding: 0;
        font-size: 10.5px;
        line-height: 1.1;
    }
    .wil-drawer-actionbar {
        padding-top: 8px;
    }
    .wil-drawer-footer .wil-cart-checkout-button {
        min-height: 46px !important;
        padding: 11px 16px !important;
        border-radius: 13px !important;
        font-size: 13.5px !important;
        box-shadow: 0 10px 22px rgba(47,125,244,.24) !important;
    }
    .wil-drawer-view-cart {
        margin-top: 4px;
        padding: 0;
        font-size: 10.5px;
        line-height: 1.1;
        opacity: .86;
    }
}

@media (max-width: 360px) {
    .wil-cart-drawer {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        border-radius: 18px 0 0 18px;
    }
    .wil-drawer-items,
    .wil-drawer-footer { padding-left: 14px; padding-right: 14px; }
    .wil-drawer-item { padding: 12px; }
}


/* v0.1.8 Motion polish — aligned with Photo Cart's 0.3s easing */
.wil-cart-drawer-ui {
    --wil-motion-duration: .3s;
    --wil-motion-ease: ease-in-out;
}

.wil-cart-fab:active {
    transform: scale(.94);
}

.wil-cart-fab-count {
    transform-origin: center;
}
.wil-cart-fab-count.is-pop {
    animation: wilCartBadgePop .3s ease-in-out;
}

.wil-drawer-item {
    transform-origin: top center;
    transition:
        opacity .3s ease-in-out,
        transform .3s ease-in-out,
        max-height .3s ease-in-out,
        padding .3s ease-in-out,
        margin .3s ease-in-out,
        border-color .3s ease-in-out,
        background-color .3s ease-in-out;
}
.wil-drawer-item.is-entering {
    animation: wilCartItemEnter .3s ease-in-out both;
}
.wil-drawer-item.is-new-item {
    animation: wilCartNewItem .9s ease-in-out both;
}
.wil-drawer-item.is-removing {
    opacity: 0;
    transform: translateX(18px) scale(.98);
    pointer-events: none;
}

.wil-drawer-item .wil-cart-qty button,
.wil-drawer-item .wil-cart-qty input,
.wil-drawer-remove,
.wil-drawer-footer .wil-cart-checkout-button,
.wil-drawer-coupon-form button,
.wil-cart-add-to-cart,
.wil-add-to-cart {
    transition:
        transform .3s ease-in-out,
        background-color .3s ease-in-out,
        border-color .3s ease-in-out,
        color .3s ease-in-out,
        box-shadow .3s ease-in-out,
        opacity .3s ease-in-out !important;
}

.wil-drawer-item .wil-cart-qty button:active,
.wil-drawer-remove:active,
.wil-drawer-coupon-form button:active,
.wil-drawer-footer .wil-cart-checkout-button:active,
.wil-add-to-cart:active {
    transform: scale(.95);
}

.wil-drawer-item .wil-cart-qty input.is-bumping {
    animation: wilCartQtyBump .3s ease-in-out;
}
.wil-drawer-line-total.is-updating,
.wil-drawer-total.is-updating,
.wil-drawer-savings.is-updating {
    animation: wilCartPricePulse .3s ease-in-out;
}

.wil-drawer-coupon-details[open] .wil-drawer-coupon-form {
    animation: wilCartCouponReveal .3s ease-in-out both;
}
.wil-drawer-coupon-details summary span {
    transition: transform .3s ease-in-out;
}
.wil-drawer-coupon-details[open] summary span {
    transform: rotate(180deg);
}

.wil-cart-message.is-visible {
    animation: wilCartNoticeIn .3s ease-in-out both;
}

.wil-cart-drawer-ui.is-opening .wil-drawer-shell {
    animation: wilCartDrawerContentIn .3s ease-in-out both;
}

@keyframes wilCartBadgePop {
    0%   { transform: scale(1); }
    45%  { transform: scale(1.28); }
    100% { transform: scale(1); }
}

@keyframes wilCartItemEnter {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes wilCartNewItem {
    0%   { opacity: 0; transform: translateY(12px); background: #eef5ff; }
    28%  { opacity: 1; transform: translateY(0); background: #eef5ff; }
    100% { opacity: 1; transform: translateY(0); background: #fff; }
}

@keyframes wilCartQtyBump {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.12); }
    100% { transform: scale(1); }
}

@keyframes wilCartPricePulse {
    0%   { opacity: .55; transform: translateY(2px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes wilCartCouponReveal {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes wilCartNoticeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes wilCartDrawerContentIn {
    from { opacity: .86; transform: translateX(6px); }
    to   { opacity: 1; transform: translateX(0); }
}

@media (hover: hover) and (pointer: fine) {
    .wil-drawer-item:hover {
        background: #fafafa;
    }
    .wil-drawer-footer .wil-cart-checkout-button:hover {
        transform: translateY(-1px);
        box-shadow: 0 7px 18px rgba(47,125,244,.20) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wil-cart-drawer-ui *,
    .wil-cart-drawer-ui *::before,
    .wil-cart-drawer-ui *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* v0.1.16 — Undo removal + checkout loading feedback */
.wil-cart-message.is-visible {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.wil-cart-message-text { min-width: 0; }
.wil-cart-message-action {
    flex: 0 0 auto;
    min-height: 32px;
    margin: -4px -4px -4px 0 !important;
    padding: 6px 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: rgba(47,125,244,.10) !important;
    color: #195fcf !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}
.wil-cart-message-action:hover { background: rgba(47,125,244,.16) !important; }

.wil-cart-checkout-button.is-checkout-loading {
    pointer-events: none !important;
    cursor: wait !important;
    opacity: .90 !important;
    gap: 9px !important;
}
.wil-cart-checkout-button.is-checkout-loading::before {
    content: "";
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 2px solid rgba(255,255,255,.45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: wilCartCheckoutSpin .7s linear infinite;
}
@keyframes wilCartCheckoutSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
    .wil-drawer-shell > .wil-cart-message {
        margin-top: 8px !important;
        padding: 9px 10px !important;
    }
    .wil-cart-message-action {
        min-height: 30px;
        padding: 5px 9px !important;
    }
}

/* v0.3.0 Side Cart settings / Side Cart WooCommerce parity layer */
.wil-cart-drawer-ui .wil-cart-fab {
    width: var(--wil-basket-size, 60px) !important;
    height: var(--wil-basket-size, 60px) !important;
    right: var(--wil-basket-x, 22px) !important;
    bottom: var(--wil-basket-y, 22px) !important;
}
.wil-cart-drawer-ui.wil-side-left .wil-cart-fab { left: var(--wil-basket-x, 22px) !important; right: auto !important; }
.wil-cart-drawer-ui.wil-basket-round .wil-cart-fab { border-radius: 999px !important; }
.wil-cart-drawer-ui.wil-basket-square .wil-cart-fab { border-radius: 4px !important; }
.wil-cart-custom-icon { display:block; width:55%; height:55%; object-fit:contain; }
.wil-cart-drawer-ui.wil-hide-empty .wil-cart-fab { display:none !important; }
.wil-cart-drawer-ui.wil-no-overlay .wil-cart-drawer-backdrop { background:transparent !important; }
.wil-cart-drawer-ui.wil-no-overlay-blur .wil-cart-drawer-backdrop { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }

.wil-cart-drawer-ui .wil-cart-drawer {
    width: min(var(--wil-drawer-width, 520px), 96vw) !important;
    background: var(--wil-drawer-bg, #fcfcfe) !important;
    color: var(--wil-drawer-text, #0f172a) !important;
}
.wil-cart-drawer-ui.wil-side-left .wil-cart-drawer {
    left:0 !important; right:auto !important;
    transform:translateX(-105%) !important;
    border-radius:0 24px 24px 0 !important;
    box-shadow:16px 0 48px rgba(15,23,42,.18) !important;
}
.wil-cart-drawer-ui.wil-side-left.is-open .wil-cart-drawer { transform:translateX(0) !important; }
.wil-cart-drawer-ui.wil-header-center .wil-drawer-header { text-align:center; }
.wil-cart-drawer-ui.wil-header-center .wil-drawer-header > div { flex:1; }
.wil-cart-drawer-ui.wil-header-right .wil-drawer-header { text-align:right; }
.wil-drawer-shell { background:var(--wil-drawer-bg, #fcfcfe) !important; color:var(--wil-drawer-text, #0f172a) !important; }
.wil-drawer-header, .wil-drawer-footer { background:color-mix(in srgb, var(--wil-drawer-bg, #fcfcfe) 94%, transparent) !important; }
.wil-drawer-header { border-color:var(--wil-drawer-line, #e6e8ef) !important; }
.wil-drawer-header h2, .wil-drawer-item h3, .wil-drawer-item h3 a, .wil-drawer-line-total, .wil-drawer-total, .wil-drawer-total strong { color:var(--wil-drawer-text, #0f172a) !important; }
.wil-drawer-header p, .wil-drawer-item .wil-cart-event-meta, .wil-drawer-view-cart, .wil-drawer-continue { color:var(--wil-drawer-muted, #667085) !important; }
.wil-drawer-item { background:var(--wil-drawer-panel, #fff) !important; border-color:var(--wil-drawer-line, #e6e8ef) !important; }
.wil-drawer-item h3 a { text-decoration:none !important; }
.wil-product-savings { margin-top:4px; color:#15803d; font-size:11px; font-weight:700; }
.wil-drawer-info { margin:12px 24px 0; padding:11px 13px; border:1px solid color-mix(in srgb, var(--wil-drawer-blue) 24%, transparent); border-radius:14px; background:color-mix(in srgb, var(--wil-drawer-blue) 7%, #fff); color:var(--wil-drawer-text); font-size:12px; line-height:1.45; }
.wil-drawer-info p { margin:0; }
.wil-empty-custom-image { display:block; max-width:160px; max-height:140px; margin:0 auto 18px; object-fit:contain; border-radius:18px; }
.wil-mini-total-row { display:flex; justify-content:space-between; gap:14px; padding:7px 2px; color:var(--wil-drawer-muted); font-size:12px; }
.wil-mini-total-row strong { color:var(--wil-drawer-text); font-weight:650; }
.wil-drawer-continue { display:block; margin-top:8px; text-align:center; text-decoration:none !important; font-size:12px; font-weight:600; }

.wil-cart-drawer-ui.wil-layout-row .wil-drawer-item { margin-bottom:0; padding:16px 0; border:0; border-bottom:1px solid var(--wil-drawer-line); border-radius:0; box-shadow:none; }
.wil-cart-drawer-ui.wil-layout-row .wil-drawer-item:hover { transform:none; box-shadow:none; }
.wil-cart-drawer-ui.wil-button-solid .wil-cart-checkout-button { background:var(--wil-drawer-blue) !important; box-shadow:none !important; }
.wil-cart-drawer-ui.wil-button-outline .wil-cart-checkout-button { background:transparent !important; color:var(--wil-drawer-blue) !important; -webkit-text-fill-color:var(--wil-drawer-blue) !important; border:2px solid var(--wil-drawer-blue) !important; box-shadow:none !important; }
.wil-cart-drawer-ui.wil-button-soft .wil-cart-checkout-button { background:color-mix(in srgb, var(--wil-drawer-blue) 14%, #fff) !important; color:var(--wil-drawer-blue) !important; -webkit-text-fill-color:var(--wil-drawer-blue) !important; box-shadow:none !important; }

.wil-menu-cart-item > a { display:flex !important; align-items:center; gap:6px; position:relative; }
.wil-menu-cart-icon { display:inline-grid; place-items:center; width:22px; height:22px; }
.wil-menu-cart-icon svg, .wil-menu-cart-icon img { width:20px; height:20px; object-fit:contain; }
.wil-menu-cart-count { min-width:19px; height:19px; padding:0 5px; display:inline-grid; place-items:center; border-radius:999px; background:var(--wil-drawer-blue); color:#fff; font-size:10px; font-weight:800; }
.wil-menu-cart-subtotal, .wil-mini-cart-subtotal { display:inline-flex; align-items:center; margin-left:2px; font-size:.88em; font-weight:600; line-height:1; opacity:.78; white-space:nowrap; }
.wil-menu-cart-subtotal .woocommerce-Price-amount, .wil-mini-cart-subtotal .woocommerce-Price-amount { color:inherit !important; font:inherit !important; }

.wil-fly-cart-image { box-shadow:0 14px 32px rgba(15,23,42,.18); }
.wil-cart-fab.is-fly-hit { animation:wilCartBadgePop .3s ease-in-out; }

@media (max-width:600px) {
    .wil-cart-drawer-ui.wil-hide-mobile { display:none !important; }
    .wil-cart-drawer-ui .wil-cart-fab { right:15px !important; bottom:15px !important; }
    .wil-cart-drawer-ui.wil-side-left .wil-cart-fab { left:15px !important; right:auto !important; }
    .wil-cart-drawer-ui .wil-cart-drawer { width:calc(100vw - var(--wil-mobile-gap, 26px)) !important; max-width:calc(100vw - var(--wil-mobile-gap, 26px)) !important; }
    .wil-cart-drawer-ui.wil-side-left .wil-cart-drawer { border-radius:0 22px 22px 0 !important; }
    .wil-drawer-info { margin-left:18px; margin-right:18px; }
}
.wil-cart-drawer-ui .wil-cart-fab { background:var(--wil-basket-bg,#fff) !important; color:var(--wil-basket-icon,#0f172a) !important; }
.wil-cart-drawer-ui .wil-cart-fab-count, .wil-menu-cart-count { background:var(--wil-count-bg,var(--wil-drawer-blue)) !important; }
.wil-cart-drawer-ui .wil-drawer-item { border-radius:var(--wil-product-radius,18px) !important; }
.wil-cart-drawer-ui.wil-no-product-shadow .wil-drawer-item, .wil-cart-drawer-ui.wil-no-product-shadow .wil-drawer-item:hover { box-shadow:none !important; }
.wil-cart-drawer-ui .wil-drawer-remove { color:var(--wil-remove-color,#667085) !important; }
.wil-drawer-variation { margin-top:7px; color:var(--wil-drawer-muted); font-size:11px; line-height:1.45; }
.wil-drawer-variation dl, .wil-drawer-variation p { margin:0; }
.wil-drawer-variation dt, .wil-drawer-variation dd { margin:0 4px 0 0; }
.wil-drawer-variation.wil-variation-inline dl { display:flex; flex-wrap:wrap; gap:2px 8px; }
.wil-cart-drawer-ui .wil-cart-fab-count { min-width:var(--wil-count-size,24px) !important; height:var(--wil-count-size,24px) !important; }
.wil-cart-drawer-ui .wil-cart-drawer {
    top:50% !important;
    height:calc(var(--wil-drawer-height, 100) * 1dvh) !important;
    max-height:100dvh !important;
    transform:translate(105%, -50%) !important;
}
.wil-cart-drawer-ui.is-open .wil-cart-drawer { transform:translate(0, -50%) !important; }
.wil-cart-drawer-ui.wil-side-left .wil-cart-drawer { transform:translate(-105%, -50%) !important; }
.wil-cart-drawer-ui.wil-side-left.is-open .wil-cart-drawer { transform:translate(0, -50%) !important; }
.wil-cart-drawer-ui .wil-drawer-item { margin-bottom:var(--wil-product-gap,12px) !important; }
.wil-cart-drawer-ui.wil-layout-row .wil-drawer-item { margin-bottom:0 !important; }

/* v0.4.2 Premium side-cart modules */
.wil-premium-progress-wrap{display:grid;gap:10px;padding:12px 24px 2px;background:transparent}
.wil-premium-progress{padding:12px 14px;border:1px solid var(--wil-drawer-line,#e6e8ef);border-radius:14px;background:var(--wil-drawer-panel,#fff)}
.wil-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--wil-drawer-text,#0f172a);font-size:11px}
.wil-progress-copy strong{font-size:12px;font-weight:700}.wil-progress-copy span{color:var(--wil-drawer-muted,#667085);white-space:nowrap}
.wil-progress-track{position:relative;height:6px;border-radius:99px;background:#edf0f5;overflow:visible}
.wil-progress-track>i:first-child{position:absolute;inset:0 auto 0 0;border-radius:99px;background:linear-gradient(90deg,var(--wil-drawer-blue,#2f7df4),#68a3ff);transition:width .3s ease}
.wil-reward-marker{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid #cfd5df;border-radius:50%;background:#fff;z-index:2}
.wil-reward-marker.is-earned{border-color:var(--wil-drawer-blue,#2f7df4);background:var(--wil-drawer-blue,#2f7df4)}
.wil-variation-switcher{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.wil-variation-switcher label{display:grid;gap:3px;min-width:94px}.wil-variation-switcher label>span{font-size:10px;color:var(--wil-drawer-muted,#667085);font-weight:650}
.wil-variation-switcher select{height:34px!important;min-height:34px!important;padding:0 26px 0 9px!important;border:1px solid #dce1ea!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;font-size:11px!important;box-shadow:none!important}
.wil-save-for-later{height:36px!important;padding:0 8px!important;border:0!important;background:transparent!important;color:#667085!important;font-size:11px!important;font-weight:650!important;cursor:pointer}.wil-save-for-later:hover{color:var(--wil-drawer-blue,#2f7df4)!important}
.wil-premium-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.wil-premium-section-head h4{margin:0!important;color:var(--wil-drawer-text,#0f172a)!important;font-size:13px!important;line-height:1.2!important;font-weight:800!important}.wil-premium-section-head>span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef3ff;color:#2168d8;font-size:10px;font-weight:800}
.wil-saved-section,.wil-recommendations,.wil-coupon-discovery{margin:8px 0 14px;padding:14px;border:1px solid var(--wil-drawer-line,#e6e8ef);border-radius:16px;background:#fff}
.wil-saved-list{display:grid;gap:10px}.wil-saved-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;padding-top:10px;border-top:1px solid #eef0f4}.wil-saved-item:first-child{padding-top:0;border-top:0}.wil-saved-thumb{width:52px;height:52px;overflow:hidden;border-radius:11px;background:#f4f6f9}.wil-saved-thumb img{width:100%;height:100%;object-fit:cover;display:block}.wil-saved-item strong{display:block;color:#0f172a;font-size:11px;line-height:1.3}.wil-saved-item span{display:block;margin-top:2px;color:#667085;font-size:10px}.wil-saved-actions{display:flex;gap:8px;margin-top:6px}.wil-saved-actions button{padding:0!important;border:0!important;background:transparent!important;color:#286edc!important;font-size:10px!important;font-weight:700!important;cursor:pointer}.wil-saved-actions button:last-child{color:#98a2b3!important}
.wil-coupon-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.wil-coupon-chips::-webkit-scrollbar{display:none}.wil-coupon-chip{flex:0 0 auto;display:grid;gap:2px;min-width:110px;padding:9px 11px!important;border:1px dashed #b9c8e8!important;border-radius:12px!important;background:#f7faff!important;color:#0f172a!important;text-align:left!important;cursor:pointer}.wil-coupon-chip strong{font-size:11px}.wil-coupon-chip span{font-size:9px;color:#55709d}.wil-coupon-chip.is-applied{border-style:solid!important;background:#eefbf3!important;border-color:#b9e3c8!important}.wil-coupon-chip:disabled{cursor:default;opacity:.85}
.wil-rec-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.wil-rec-track::-webkit-scrollbar{display:none}.wil-rec-card{flex:0 0 132px;scroll-snap-align:start;overflow:hidden;border:1px solid #e7eaf0;border-radius:13px;background:#fff}.wil-rec-image{display:block;aspect-ratio:1/1;background:#f5f6f8}.wil-rec-image img{width:100%;height:100%;object-fit:cover;display:block}.wil-rec-copy{display:grid;gap:5px;padding:9px}.wil-rec-name{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#0f172a!important;text-decoration:none!important;font-size:10px!important;line-height:1.3!important;font-weight:700!important}.wil-rec-copy>span{font-size:10px;color:#475467}.wil-rec-copy button,.wil-rec-select{display:flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;margin:2px 0 0!important;padding:0 10px!important;border:0!important;border-radius:9px!important;background:#eef3ff!important;color:#2468d7!important;text-decoration:none!important;font-size:10px!important;font-weight:800!important;cursor:pointer}.wil-premium-section-head [data-wil-rec-prev],.wil-premium-section-head [data-wil-rec-next]{width:28px;height:28px;padding:0!important;border:1px solid #e3e7ef!important;border-radius:9px!important;background:#fff!important;color:#475467!important;font-size:18px!important;line-height:1!important;cursor:pointer}.wil-rec-grid .wil-rec-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.wil-rec-grid .wil-rec-card{min-width:0}.wil-rec-list .wil-rec-track{display:grid;overflow:visible}.wil-rec-list .wil-rec-card{display:grid;grid-template-columns:64px minmax(0,1fr);width:100%;flex-basis:auto}.wil-rec-list .wil-rec-image{aspect-ratio:1/1}
.wil-shipping-calculator{margin-top:10px;border:1px solid var(--wil-drawer-line,#e6e8ef);border-radius:14px;background:#fff}.wil-shipping-calculator summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;list-style:none;color:#0f172a;font-size:11px;font-weight:750;cursor:pointer}.wil-shipping-calculator summary::-webkit-details-marker{display:none}.wil-shipping-fields{display:grid;gap:8px;padding:0 12px 12px}.wil-shipping-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wil-shipping-fields input,.wil-shipping-fields select{width:100%!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 10px!important;border:1px solid #dce1ea!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;font-size:11px!important}.wil-shipping-fields button{height:38px!important;margin:0!important;border:0!important;border-radius:10px!important;background:#eef3ff!important;color:#2468d7!important;font-size:11px!important;font-weight:800!important;cursor:pointer}
.wil-express-checkout{margin-top:12px;padding-top:12px;border-top:1px solid var(--wil-drawer-line,#e6e8ef)}.wil-express-buttons{display:grid;gap:8px}.wil-express-buttons>*{max-width:100%}
@media(max-width:600px){.wil-premium-progress-wrap{padding:10px 18px 0}.wil-premium-progress{padding:10px 12px}.wil-saved-section,.wil-recommendations,.wil-coupon-discovery{padding:12px;margin-bottom:10px}.wil-rec-card{flex-basis:122px}.wil-shipping-calculator{margin-top:8px}.wil-shipping-calculator summary{min-height:40px}.wil-shipping-fields{gap:6px;padding:0 10px 10px}.wil-shipping-fields input,.wil-shipping-fields select,.wil-shipping-fields button{height:36px!important;min-height:36px!important}}
.wil-reward-gift-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:#eaf9ef;color:#18864b;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}


/* v0.4.2 — modern WooCommerce Cart Block inspired full cart page */
.wil-cart-page-modern,
.wil-cart-page-modern * { box-sizing: border-box; }

.wil-cart-page-modern {
    --wil-page-text: #161616;
    --wil-page-muted: #667085;
    --wil-page-line: #d9dce3;
    --wil-page-soft: #f7f8fa;
    --wil-page-blue: var(--wil-cart-accent, #2f7df4);
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: clamp(26px, 3.2vw, 50px);
    border: 0;
    border-radius: 22px;
    background: #fff;
    color: var(--wil-page-text);
    box-shadow: none;
}

.wil-cart-page-modern .wil-cart-header {
    margin: 0 0 30px;
    padding: 18px 20px;
    align-items: center;
    border: 1px solid #dfe2e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .025);
}
.wil-cart-page-modern .wil-cart-header h2 {
    margin: 0 !important;
    color: var(--wil-page-text) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em;
}
.wil-cart-page-modern .wil-cart-page-count {
    margin: 7px 0 0;
    color: var(--wil-page-muted);
    font-size: 12.5px;
    line-height: 1.4;
}
.wil-cart-page-modern .wil-cart-text-button {
    padding: 8px 0 !important;
    color: #b42318 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

.wil-cart-page-modern .wil-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.72fr) minmax(360px, .92fr);
    gap: clamp(42px, 5vw, 76px);
    align-items: start;
}
.wil-cart-page-modern .wil-cart-products-panel { min-width: 0; }
.wil-cart-page-modern .wil-cart-table-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--wil-page-line);
    color: #333;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.wil-cart-page-modern .wil-cart-items { display: block; }
.wil-cart-page-modern .wil-cart-item {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 16px;
    margin: 0;
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid var(--wil-page-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.wil-cart-page-modern .wil-cart-item:hover { transform: none; box-shadow: none; }
.wil-cart-page-modern .wil-cart-item-image {
    width: 66px;
    height: 66px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 5px;
    background: var(--wil-page-soft);
}
.wil-cart-page-modern .wil-cart-item-image img { width: 100%; height: 100%; object-fit: cover; }
.wil-cart-page-modern .wil-cart-item-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
}
.wil-cart-page-modern .wil-cart-item-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: start;
}
.wil-cart-page-modern .wil-cart-item h3 {
    margin: 0 0 4px !important;
    color: var(--wil-page-text) !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    font-weight: 650 !important;
}
.wil-cart-page-modern .wil-cart-item h3 a { color: inherit !important; text-decoration: none !important; }
.wil-cart-page-modern .wil-cart-unit-price {
    margin-top: 2px;
    color: var(--wil-page-text);
    font-size: 13px;
    line-height: 1.4;
}
.wil-cart-page-modern .wil-cart-unit-price del { color: #7b8190; }
.wil-cart-page-modern .wil-cart-unit-price ins { color: var(--wil-page-text); text-decoration: none; }
.wil-cart-page-modern .wil-cart-product-save {
    display: block;
    width: fit-content;
    margin: 5px 0 0 auto;
    padding: 3px 6px;
    border-radius: 2px;
    background: #e8e8ea;
    color: #343a40;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
}
.wil-cart-page-modern .wil-cart-line-total {
    min-width: 78px;
    color: var(--wil-page-text) !important;
    font-size: 13px !important;
    line-height: 1.4;
    font-weight: 550 !important;
    text-align: right;
    white-space: nowrap;
}
.wil-cart-page-modern .wil-cart-line-total > span { display: block; }
.wil-cart-page-modern .wil-cart-event-meta,
.wil-cart-page-modern .wil-cart-item-data {
    margin-top: 7px;
    color: #40454f;
    font-size: 11.5px;
    line-height: 1.55;
}
.wil-cart-page-modern .wil-cart-event-meta { display: block; }
.wil-cart-page-modern .wil-cart-event-meta span { margin-right: 8px; }
.wil-cart-page-modern .wil-cart-event-meta strong { color: var(--wil-page-text); font-weight: 600; }
.wil-cart-page-modern .wil-cart-item-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}
.wil-cart-page-modern .wil-cart-qty {
    display: grid;
    grid-template-columns: 36px 42px 36px;
    width: 114px;
    height: 42px;
    overflow: hidden;
    border: 1px solid #cdd1d8;
    border-radius: 5px;
    background: #fff;
}
.wil-cart-page-modern .wil-cart-qty button,
.wil-cart-page-modern .wil-cart-qty input {
    height: 40px !important;
    background: #fff !important;
    color: var(--wil-page-text) !important;
    -webkit-text-fill-color: var(--wil-page-text) !important;
    font-size: 14px !important;
    line-height: 40px !important;
}
.wil-cart-page-modern .wil-cart-qty input {
    border-left: 1px solid #eceef2 !important;
    border-right: 1px solid #eceef2 !important;
    font-weight: 650 !important;
}
.wil-cart-page-modern .wil-cart-qty button { color: #737985 !important; }
.wil-cart-page-modern .wil-cart-remove {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    padding: 0 !important;
    border-radius: 5px !important;
    color: #30343b !important;
}
.wil-cart-page-modern .wil-cart-remove:hover { background: var(--wil-page-soft) !important; }

.wil-cart-page-modern .wil-cart-summary {
    position: sticky;
    top: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--wil-page-text);
}
.wil-cart-page-modern .wil-cart-summary h3 {
    margin: 0 !important;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--wil-page-line);
    color: var(--wil-page-text) !important;
    font-size: 12px !important;
    line-height: 1.4;
    font-weight: 700 !important;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.wil-cart-page-modern .wil-cart-page-coupon {
    border-bottom: 1px solid var(--wil-page-line);
}
.wil-cart-page-modern .wil-cart-page-coupon summary {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    list-style: none;
    color: var(--wil-page-text);
    font-size: 13px;
    cursor: pointer;
}
.wil-cart-page-modern .wil-cart-page-coupon summary::-webkit-details-marker { display: none; }
.wil-cart-page-modern .wil-cart-page-coupon summary span { font-size: 18px; font-weight: 400; }
.wil-cart-page-modern .wil-cart-page-coupon-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 0 0 14px;
}
.wil-cart-page-modern .wil-cart-page-coupon-form input {
    min-width: 0;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #cdd1d8 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: var(--wil-page-text) !important;
    -webkit-text-fill-color: var(--wil-page-text) !important;
}
.wil-cart-page-modern .wil-cart-page-coupon-form button {
    height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #eceef2 !important;
    color: var(--wil-page-text) !important;
    font-weight: 650 !important;
    cursor: pointer;
}
.wil-cart-page-modern .wil-cart-summary-lines { padding-top: 10px; }
.wil-cart-page-modern .wil-cart-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 7px 0;
    color: #555b66;
    font-size: 13px;
}
.wil-cart-page-modern .wil-cart-summary-row strong,
.wil-cart-page-modern .wil-cart-summary-row .woocommerce-Price-amount { color: var(--wil-page-text) !important; font-weight: 550 !important; }
.wil-cart-page-modern .wil-cart-coupon-row button {
    margin-left: 6px;
    color: #737985 !important;
    font-size: 17px;
}
.wil-cart-page-modern .wil-cart-total-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 8px 0 0;
    padding: 18px 0;
    border-top: 1px solid var(--wil-page-line);
    border-bottom: 1px solid var(--wil-page-line);
    color: var(--wil-page-text);
    font-size: 20px;
    font-weight: 500;
}
.wil-cart-page-modern .wil-cart-page-total-value { text-align: right; }
.wil-cart-page-modern .wil-cart-page-total-value strong,
.wil-cart-page-modern .wil-cart-page-total-value .woocommerce-Price-amount {
    color: var(--wil-page-text) !important;
    font-size: 20px !important;
    font-weight: 650 !important;
}
.wil-cart-page-modern .wil-cart-page-total-value small {
    display: block;
    margin-top: 5px;
    color: #16803a;
    font-size: 11px;
    font-weight: 650;
}
.wil-cart-page-modern .wil-cart-submit-container { margin-top: 16px; }
.wil-cart-page-modern .wil-cart-checkout-button {
    width: 100%;
    min-height: 50px;
    margin: 0 !important;
    border-radius: 3px !important;
    background: #c7c8cd !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}
.wil-cart-page-modern .wil-cart-continue {
    margin-top: 13px;
    color: #667085 !important;
    font-size: 12px;
    font-weight: 500;
}

.wil-cart-page-modern .wil-cart-empty {
    max-width: 660px;
    margin: 70px auto;
    padding: 54px 28px;
    border: 1px solid var(--wil-page-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: none;
}
.wil-cart-page-modern .wil-cart-empty-icon {
    width: 56px;
    height: 56px;
    border: 0;
    border-radius: 14px;
    background: var(--wil-page-soft);
    color: var(--wil-page-text);
}
.wil-cart-page-modern .wil-cart-empty-icon svg { width: 24px; height: 24px; }
.wil-cart-page-modern .wil-cart-empty .wil-cart-secondary-button {
    min-width: 190px;
    border-radius: 5px !important;
}

@media (max-width: 900px) {
    .wil-cart-page-modern { padding: 24px 20px 34px; border-radius: 20px; }
    .wil-cart-page-modern .wil-cart-layout { grid-template-columns: 1fr; gap: 32px; }
    .wil-cart-page-modern .wil-cart-summary { position: static; }
}

@media (max-width: 600px) {
    .wil-cart-page-modern { padding: 16px 14px 30px; border-radius: 0; }
    .wil-cart-page-modern .wil-cart-header { margin-bottom: 20px; padding: 15px 16px; border-radius: 12px; }
    .wil-cart-page-modern .wil-cart-header h2 { font-size: 19px !important; }
    .wil-cart-page-modern .wil-cart-table-head { display: none; }
    .wil-cart-page-modern .wil-cart-item {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 12px;
        padding: 17px 0;
    }
    .wil-cart-page-modern .wil-cart-item-image { width: 58px; height: 58px; border-radius: 7px; }
    .wil-cart-page-modern .wil-cart-item-top { grid-template-columns: minmax(0, 1fr); gap: 5px; }
    .wil-cart-page-modern .wil-cart-item h3 {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 14px !important;
    }
    .wil-cart-page-modern .wil-cart-line-total { text-align: left; font-size: 14px !important; }
    .wil-cart-page-modern .wil-cart-event-meta,
    .wil-cart-page-modern .wil-cart-item-data { font-size: 11px; }
    .wil-cart-page-modern .wil-cart-summary h3 { padding-top: 2px; }
    .wil-cart-page-modern .wil-cart-total-row { font-size: 19px; }
    .wil-cart-page-modern .wil-cart-page-total-value strong,
    .wil-cart-page-modern .wil-cart-page-total-value .woocommerce-Price-amount { font-size: 19px !important; }
    .wil-cart-page-modern { padding-bottom: 104px; }
    .wil-cart-page-modern .wil-cart-submit-container {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1000;
        margin: 0;
        padding: 10px 14px max(10px, env(safe-area-inset-bottom));
        background: rgba(255,255,255,.97);
        box-shadow: 0 -10px 24px rgba(17,24,39,.10);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }
    .wil-cart-page-modern .wil-cart-submit-container .wil-cart-checkout-button { max-width: 720px; margin: 0 auto !important; }
}


/* v0.4.2 — tighter WooCommerce Cart Block/reference matching */
.wil-cart-page-modern .wil-cart-checkout-button:hover {
    background: #b9bbc0 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    filter: none !important;
    transform: none !important;
}
.wil-cart-page-modern .wil-cart-header .wil-cart-text-button:hover { color: #8f1d13 !important; }
@media (max-width: 600px) {
    .wil-cart-page-modern .wil-cart-header { gap: 12px; }
    .wil-cart-page-modern .wil-cart-page-count { margin-top: 4px; font-size: 12px; }
    .wil-cart-page-modern .wil-cart-text-button { font-size: 12px !important; }
}


/* v0.4.5 — exact Photo Cart reference styling for full cart page */
.wil-cart-page-modern {
    max-width: none;
    width: 100%;
    padding: 48px 50px 72px;
    border-radius: 20px;
    background: #fff;
}
.wil-cart-page-modern .wil-cart-header {
    min-height: 90px;
    margin: 0 0 34px;
    padding: 18px 20px;
    border: 1px solid #dcdfe6;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(15,23,42,.025);
}
.wil-cart-page-modern .wil-cart-header-copy { min-width: 0; }
.wil-cart-page-modern .wil-cart-header h2 { font-size: 18px !important; font-weight: 700 !important; }
.wil-cart-page-modern .wil-cart-page-count { margin-top: 8px; font-size: 12px; color: #727987; }
.wil-cart-page-modern .wil-cart-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
}
.wil-cart-page-modern .wil-cart-select-delete-button {
    min-height: 50px;
    padding: 0 26px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #2f7df4 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
    box-shadow: none !important;
}
.wil-cart-page-modern .wil-cart-select-delete-button:hover { background: #256fe0 !important; }
.wil-cart-page-modern .wil-cart-text-button {
    color: #b42318 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}
.wil-cart-page-modern .wil-cart-layout {
    grid-template-columns: minmax(0, 1.84fr) minmax(420px, 1fr);
    gap: clamp(70px, 6vw, 118px);
}
.wil-cart-page-modern .wil-cart-table-head {
    padding-bottom: 13px;
    color: #20242a;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
}
.wil-cart-page-modern .wil-cart-item {
    position: relative;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 18px;
    min-height: 190px;
    padding: 20px 0 22px;
    border-bottom-color: #d7d9de;
}
.wil-cart-page-modern .wil-cart-item-image { width: 66px; height: 66px; border-radius: 2px; }
.wil-cart-page-modern .wil-cart-item-main { gap: 10px; }
.wil-cart-page-modern .wil-cart-item h3 {
    margin-bottom: 5px !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    font-weight: 500 !important;
}
.wil-cart-page-modern .wil-cart-unit-price { margin-top: 0; font-size: 13px; }
.wil-cart-page-modern .wil-cart-event-meta,
.wil-cart-page-modern .wil-cart-item-data { margin-top: 7px; font-size: 11px; line-height: 1.45; }
.wil-cart-page-modern .wil-cart-item-bottom { margin-top: 0; gap: 11px; }
.wil-cart-page-modern .wil-cart-qty {
    grid-template-columns: 36px 44px 36px;
    width: 116px;
    height: 42px;
    border-color: #c8cbd1;
    border-radius: 4px;
}
.wil-cart-page-modern .wil-cart-remove { width: 40px; height: 40px; }
.wil-cart-page-modern .wil-cart-line-total { min-width: 88px; font-size: 13px !important; font-weight: 500 !important; }
.wil-cart-page-modern .wil-cart-product-save {
    margin-top: 5px;
    padding: 3px 6px;
    border-radius: 0;
    background: #e8e8e8;
    color: #343434;
    font-size: 10px;
    font-weight: 400;
}
.wil-cart-page-modern .wil-cart-summary h3 {
    padding-bottom: 13px;
    color: #20242a !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0;
}
.wil-cart-page-modern .wil-cart-page-coupon summary { min-height: 52px; font-size: 13px; }
.wil-cart-page-modern .wil-cart-summary-lines { padding-top: 0; }
.wil-cart-page-modern .wil-cart-summary-row { padding: 7px 0; }
.wil-cart-page-modern .wil-cart-total-row {
    min-height: 68px;
    margin-top: 0;
    padding: 18px 0;
    border-top: 0;
    font-size: 20px;
}
.wil-cart-page-modern .wil-cart-page-total-value strong,
.wil-cart-page-modern .wil-cart-page-total-value .woocommerce-Price-amount { font-size: 20px !important; font-weight: 500 !important; }
.wil-cart-page-modern .wil-cart-submit-container { margin-top: 16px; }
.wil-cart-page-modern .wil-cart-checkout-button {
    min-height: 44px;
    border-radius: 2px !important;
    background: #b9b9bd !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}
.wil-cart-page-modern .wil-cart-checkout-button:hover { background: #aaaab0 !important; }
.wil-cart-page-modern .wil-cart-continue { display: none !important; }

/* Multi-select delete mode */
.wil-cart-page-modern .wil-cart-select-item {
    position: absolute;
    top: 18px;
    left: -34px;
    width: 22px;
    height: 22px;
    display: none;
    place-items: center;
    cursor: pointer;
}
.wil-cart-page-modern .wil-cart-select-item input { position: absolute; opacity: 0; pointer-events: none; }
.wil-cart-page-modern .wil-cart-select-item span {
    width: 19px;
    height: 19px;
    display: block;
    border: 1.5px solid #aeb4bf;
    border-radius: 4px;
    background: #fff;
}
.wil-event-cart.is-select-delete-mode .wil-cart-page-modern .wil-cart-products-panel { padding-left: 34px; }
.wil-event-cart.is-select-delete-mode .wil-cart-page-modern .wil-cart-select-item { display: grid; }
.wil-cart-page-modern .wil-cart-select-item input:checked + span {
    border-color: #2f7df4;
    background: #2f7df4;
    box-shadow: inset 0 0 0 4px #2f7df4;
}
.wil-cart-page-modern .wil-cart-select-item input:checked + span::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 4px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(5px, 5px) rotate(-45deg);
}

@media (max-width: 1050px) {
    .wil-cart-page-modern { padding: 28px 24px 54px; }
    .wil-cart-page-modern .wil-cart-layout { grid-template-columns: 1fr; gap: 36px; }
    .wil-cart-page-modern .wil-cart-summary { position: static; }
}
@media (max-width: 700px) {
    .wil-cart-page-modern { padding: 16px 14px 104px; border-radius: 0; }
    .wil-cart-page-modern .wil-cart-header { min-height: auto; padding: 15px 16px; align-items: flex-start; gap: 14px; }
    .wil-cart-page-modern .wil-cart-header-actions { gap: 12px; flex-wrap: wrap; }
    .wil-cart-page-modern .wil-cart-select-delete-button { min-height: 40px; padding: 0 14px !important; font-size: 12px !important; }
    .wil-cart-page-modern .wil-cart-text-button { font-size: 12px !important; }
    .wil-cart-page-modern .wil-cart-item { min-height: 0; grid-template-columns: 58px minmax(0,1fr); gap: 12px; padding: 17px 0; }
    .wil-cart-page-modern .wil-cart-item-image { width: 58px; height: 58px; }
    .wil-event-cart.is-select-delete-mode .wil-cart-page-modern .wil-cart-products-panel { padding-left: 26px; }
    .wil-cart-page-modern .wil-cart-select-item { left: -27px; top: 17px; }
}


/* v0.4.5 — side cart matched to Photo Cart / WooCommerce page design */
.wil-cart-drawer-ui {
    --wil-photo-line: #d9dbe1;
    --wil-photo-muted: #666b76;
    --wil-photo-soft: #f7f7f8;
    --wil-photo-button: #c9c9cd;
}
.wil-cart-drawer {
    background: #fff !important;
    color: #111 !important;
    box-shadow: -14px 0 38px rgba(0,0,0,.14) !important;
}
.wil-drawer-shell {
    background: #fff !important;
    color: #111 !important;
}
.wil-drawer-header {
    min-height: 92px !important;
    padding: 20px 24px 17px !important;
    border-bottom: 1px solid var(--wil-photo-line) !important;
    background: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.wil-drawer-header h2 {
    color: #111 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}
.wil-drawer-header p {
    color: #757b87 !important;
    font-size: 12px !important;
}
.wil-drawer-close {
    width: 40px !important;
    height: 40px !important;
    border: 1px solid #d9dbe1 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
}
.wil-drawer-close:hover { background: #f7f7f8 !important; border-color: #c9cbd1 !important; }
.wil-drawer-table-head {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 14px;
    padding: 12px 24px 8px;
    color: #111;
    font-size: 10px;
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .035em;
    background: #fff;
}
.wil-drawer-table-head span:last-child { text-align: right; }
.wil-drawer-items {
    padding: 0 24px 8px !important;
    background: #fff !important;
}
.wil-drawer-item,
.wil-drawer-item:hover {
    display: grid !important;
    grid-template-columns: 62px minmax(0,1fr) !important;
    gap: 13px !important;
    margin: 0 !important;
    padding: 17px 0 19px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--wil-photo-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none;
}
.wil-drawer-thumb {
    width: 62px !important;
    height: 62px !important;
    border-radius: 4px !important;
    background: #f4f4f5 !important;
}
.wil-drawer-item-main { min-width: 0; }
.wil-drawer-item-title-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
}
.wil-drawer-item h3 {
    margin: 0 !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
.wil-drawer-item h3 a { color: #111 !important; text-decoration: none !important; }
.wil-drawer-line-total-wrap {
    min-width: 62px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
}
.wil-drawer-line-total,
.wil-drawer-line-total .woocommerce-Price-amount {
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    white-space: nowrap;
}
.wil-drawer-line-total-wrap .wil-product-savings {
    display: inline-block !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border-radius: 0 !important;
    background: #e8e8e9 !important;
    color: #333 !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    white-space: nowrap;
}
.wil-drawer-unit-price {
    margin-top: 4px !important;
    color: #222 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}
.wil-drawer-unit-price del { color: #666b76 !important; }
.wil-drawer-unit-price ins { color: #111 !important; }
.wil-drawer-item .wil-cart-event-meta,
.wil-drawer-variation {
    margin-top: 6px !important;
    color: #4d5159 !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
}
.wil-drawer-item .wil-cart-event-meta strong { color: #111 !important; font-weight: 600 !important; }
.wil-drawer-item-bottom {
    margin-top: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.wil-drawer-item .wil-cart-qty {
    width: 104px !important;
    height: 38px !important;
    grid-template-columns: 31px 42px 31px !important;
    border: 1px solid #c9cbd1 !important;
    border-radius: 4px !important;
    background: #fff !important;
}
.wil-drawer-item .wil-cart-qty button,
.wil-drawer-item .wil-cart-qty input {
    height: 36px !important;
    line-height: 36px !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 13px !important;
}
.wil-drawer-item .wil-cart-qty input {
    border-left: 1px solid #ececef !important;
    border-right: 1px solid #ececef !important;
    font-weight: 600 !important;
}
.wil-drawer-item .wil-cart-qty button { color: #6d727d !important; font-weight: 500 !important; }
.wil-drawer-remove {
    width: 34px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: #111 !important;
}
.wil-drawer-remove:hover { background: #f5f5f6 !important; color: #111 !important; }
.wil-drawer-footer {
    background: #fff !important;
    border-top: 1px solid var(--wil-photo-line) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.wil-drawer-info { color: #444 !important; }
.wil-drawer-discount-row,
.wil-mini-total-row {
    color: #222 !important;
    border-color: var(--wil-photo-line) !important;
}
.wil-drawer-coupon-details {
    margin-top: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--wil-photo-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.wil-drawer-coupon-details summary {
    min-height: 48px !important;
    color: #111 !important;
    font-size: 12px !important;
}
.wil-drawer-coupon-details summary span { color: #111 !important; font-size: 16px !important; }
.wil-drawer-coupon-form { padding: 0 0 12px !important; }
.wil-drawer-coupon-form input {
    height: 40px !important;
    border: 1px solid #c9cbd1 !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.wil-drawer-coupon-form button {
    height: 40px !important;
    border-radius: 4px !important;
    background: #efeff1 !important;
    color: #111 !important;
    box-shadow: none !important;
}
.wil-drawer-total {
    min-height: 62px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--wil-photo-line) !important;
    color: #111 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}
.wil-drawer-total strong,
.wil-drawer-total .woocommerce-Price-amount {
    color: #111 !important;
    font-size: 19px !important;
    font-weight: 600 !important;
}
.wil-drawer-savings { color: #15803d !important; font-size: 10.5px !important; }
.wil-drawer-actionbar { padding-top: 12px !important; }
.wil-drawer-footer .wil-cart-checkout-button {
    min-height: 46px !important;
    border-radius: 3px !important;
    background: var(--wil-photo-button) !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}
.wil-drawer-footer .wil-cart-checkout-button:hover {
    background: #bdbdc1 !important;
    color: #111 !important;
    box-shadow: none !important;
}
.wil-drawer-view-cart,
.wil-drawer-continue {
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}

@media (max-width: 600px) {
    .wil-drawer-header { min-height: 82px !important; padding: max(16px, env(safe-area-inset-top)) 16px 13px !important; }
    .wil-drawer-header h2 { font-size: 21px !important; }
    .wil-drawer-table-head { padding: 10px 16px 6px !important; font-size: 9px !important; }
    .wil-drawer-items {
        padding: 0 16px calc(var(--wil-drawer-footer-space, 220px) + 22px) !important;
        scroll-padding-bottom: calc(var(--wil-drawer-footer-space, 220px) + 18px) !important;
    }
    .wil-drawer-item,
    .wil-drawer-item:hover {
        grid-template-columns: 58px minmax(0,1fr) !important;
        gap: 11px !important;
        padding: 14px 0 16px !important;
    }
    .wil-drawer-thumb { width: 58px !important; height: 58px !important; border-radius: 4px !important; }
    .wil-drawer-item-title-row { gap: 7px !important; }
    .wil-drawer-item h3 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-size: 12.5px !important;
    }
    .wil-drawer-line-total-wrap { min-width: 54px; }
    .wil-drawer-line-total,
    .wil-drawer-line-total .woocommerce-Price-amount { font-size: 12.5px !important; }
    .wil-drawer-footer { padding: 0 16px max(8px, env(safe-area-inset-bottom)) !important; }
    .wil-drawer-coupon-details summary { min-height: 42px !important; }
    .wil-drawer-total { min-height: 52px !important; font-size: 17px !important; }
    .wil-drawer-total strong,
    .wil-drawer-total .woocommerce-Price-amount { font-size: 18px !important; }
    .wil-drawer-footer .wil-cart-checkout-button { min-height: 44px !important; font-size: 12.5px !important; }
}


/* v0.4.13 — full cart stabilization / responsive rebuild.
   Side-cart selectors are intentionally not changed here. */
.wil-cart-page-modern {
    width: 100%;
    max-width: 1600px;
    margin-inline: auto;
    padding: clamp(24px, 3vw, 44px) clamp(20px, 3.2vw, 48px) 56px;
    overflow: visible;
}
.wil-cart-page-modern .wil-cart-header {
    min-height: 0;
    margin-bottom: 28px;
}
.wil-cart-page-modern .wil-cart-layout {
    grid-template-columns: minmax(0, 1.68fr) minmax(330px, .82fr);
    gap: clamp(38px, 4.5vw, 68px);
}
.wil-cart-page-modern .wil-cart-item {
    min-height: 0;
    padding: 18px 0 20px;
}
.wil-cart-page-modern .wil-cart-item-main { gap: 11px; }
.wil-cart-page-modern .wil-cart-summary { top: 18px; }

@media (max-width: 1050px) {
    .wil-cart-page-modern {
        max-width: 920px;
        padding: 24px 22px 48px;
    }
    .wil-cart-page-modern .wil-cart-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .wil-cart-page-modern .wil-cart-summary {
        position: static;
        width: 100%;
    }
}

@media (max-width: 700px) {
    .wil-cart-page-modern {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 12px 12px 30px;
        border-radius: 0;
        overflow: hidden;
    }

    .wil-cart-page-modern .wil-cart-header {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        min-height: 0;
        margin: 0 0 18px;
        padding: 16px;
        border-radius: 12px;
    }
    .wil-cart-page-modern .wil-cart-header h2 {
        font-size: 19px !important;
    }
    .wil-cart-page-modern .wil-cart-page-count {
        margin-top: 5px;
        font-size: 12px;
    }
    .wil-cart-page-modern .wil-cart-header-actions {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
    }
    .wil-cart-page-modern .wil-cart-select-delete-button {
        width: 100%;
        min-height: 40px;
        padding: 0 14px !important;
        font-size: 12px !important;
        white-space: nowrap;
    }
    .wil-cart-page-modern .wil-cart-text-button {
        min-height: 40px;
        padding: 0 4px !important;
        font-size: 12px !important;
        white-space: nowrap;
    }

    .wil-cart-page-modern .wil-cart-layout {
        display: block;
    }
    .wil-cart-page-modern .wil-cart-products-panel {
        width: 100%;
        min-width: 0;
        padding-left: 0 !important;
    }
    .wil-cart-page-modern .wil-cart-table-head { display: none; }
    .wil-cart-page-modern .wil-cart-items { width: 100%; }

    .wil-cart-page-modern .wil-cart-item {
        position: relative;
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 12px;
        width: 100%;
        min-width: 0;
        min-height: 0;
        margin: 0;
        padding: 16px 0 17px;
        overflow: visible;
    }
    .wil-cart-page-modern .wil-cart-item-image {
        width: 60px;
        height: 60px;
        border-radius: 6px;
    }
    .wil-cart-page-modern .wil-cart-item-main {
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 10px;
        row-gap: 12px;
        align-items: center;
    }
    .wil-cart-page-modern .wil-cart-item-top { display: contents; }
    .wil-cart-page-modern .wil-cart-item-copy {
        grid-column: 1 / -1;
        grid-row: 1;
        min-width: 0;
        padding-right: 0;
    }
    .wil-cart-page-modern .wil-cart-item h3 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        margin-bottom: 4px !important;
        font-size: 13px !important;
        line-height: 1.38 !important;
    }
    .wil-cart-page-modern .wil-cart-unit-price {
        font-size: 12px;
        line-height: 1.35;
    }
    .wil-cart-page-modern .wil-cart-event-meta,
    .wil-cart-page-modern .wil-cart-item-data {
        margin-top: 6px;
        font-size: 10.5px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }
    .wil-cart-page-modern .wil-cart-item-bottom {
        grid-column: 1;
        grid-row: 2;
        min-width: 0;
        margin: 0;
        justify-content: flex-start;
        align-items: center;
        gap: 8px;
    }
    .wil-cart-page-modern .wil-cart-item-bottom.wil-single-quantity {
        justify-content: flex-start;
    }
    .wil-cart-page-modern .wil-cart-line-total {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
        align-self: center;
        justify-self: end;
        text-align: right;
        white-space: nowrap;
        font-size: 13px !important;
    }
    .wil-cart-page-modern .wil-cart-product-save {
        margin: 4px 0 0 auto;
        font-size: 9px;
    }
    .wil-cart-page-modern .wil-cart-qty {
        grid-template-columns: 34px 40px 34px;
        width: 108px;
        height: 40px;
    }
    .wil-cart-page-modern .wil-cart-qty button,
    .wil-cart-page-modern .wil-cart-qty input {
        height: 38px !important;
        line-height: 38px !important;
    }
    .wil-cart-page-modern .wil-cart-remove {
        width: 38px;
        height: 38px;
    }

    /* Selection mode overlays the checkbox on the thumbnail instead of
       pushing the entire mobile product list sideways. */
    .wil-event-cart.is-select-delete-mode .wil-cart-page-modern .wil-cart-products-panel {
        padding-left: 0 !important;
    }
    .wil-cart-page-modern .wil-cart-select-item {
        left: 6px;
        top: 22px;
        z-index: 4;
        width: 22px;
        height: 22px;
        border-radius: 6px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 2px 8px rgba(15,23,42,.12);
    }

    .wil-cart-page-modern .wil-cart-summary {
        position: static;
        width: 100%;
        margin-top: 24px;
        padding: 0;
        background: transparent;
    }
    .wil-cart-page-modern .wil-cart-summary h3 {
        padding: 0 0 11px;
    }
    .wil-cart-page-modern .wil-cart-page-coupon summary {
        min-height: 48px;
    }
    .wil-cart-page-modern .wil-cart-page-coupon-form {
        grid-template-columns: minmax(0, 1fr) auto;
        padding-bottom: 12px;
    }
    .wil-cart-page-modern .wil-cart-summary-row {
        padding: 6px 0;
        font-size: 12px;
    }
    .wil-cart-page-modern .wil-cart-total-row {
        min-height: 0;
        padding: 16px 0;
        font-size: 18px;
    }
    .wil-cart-page-modern .wil-cart-page-total-value strong,
    .wil-cart-page-modern .wil-cart-page-total-value .woocommerce-Price-amount {
        font-size: 18px !important;
    }

    /* Full-page checkout remains in document flow on phones. The floating
       drawer already provides the pinned mobile action experience. */
    .wil-cart-page-modern .wil-cart-submit-container {
        position: static !important;
        inset: auto !important;
        z-index: auto !important;
        width: 100%;
        margin: 14px 0 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    .wil-cart-page-modern .wil-cart-submit-container .wil-cart-checkout-button {
        width: 100%;
        max-width: none;
        min-height: 48px;
        margin: 0 !important;
    }
}

@media (max-width: 390px) {
    .wil-cart-page-modern { padding-inline: 10px; }
    .wil-cart-page-modern .wil-cart-header { padding: 14px; }
    .wil-cart-page-modern .wil-cart-header-actions {
        grid-template-columns: 1fr;
    }
    .wil-cart-page-modern .wil-cart-text-button {
        justify-self: start;
        min-height: 30px;
    }
    .wil-cart-page-modern .wil-cart-item {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 10px;
    }
    .wil-cart-page-modern .wil-cart-item-image {
        width: 54px;
        height: 54px;
    }
    .wil-cart-page-modern .wil-cart-qty {
        grid-template-columns: 32px 38px 32px;
        width: 102px;
    }
}


/* v0.4.13 — wide checkout-style full cart.
   Breaks the full cart out of constrained theme content on desktop only.
   Side cart is intentionally untouched. */
@media (min-width: 1051px) {
    .wil-cart-page-modern {
        width: min(1880px, calc(100vw - 48px)) !important;
        max-width: none !important;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: clamp(26px, 2.6vw, 54px) !important;
        padding-right: clamp(26px, 2.6vw, 54px) !important;
    }

    .wil-cart-page-modern .wil-cart-layout {
        grid-template-columns: minmax(0, 1.9fr) minmax(380px, .82fr) !important;
        gap: clamp(42px, 4vw, 76px) !important;
    }

    .wil-cart-page-modern .wil-cart-summary {
        width: 100%;
        max-width: 500px;
        justify-self: end;
    }
}

/* Keep tablets and phones inside their normal page flow. */
@media (max-width: 1050px) {
    .wil-cart-page-modern {
        position: static !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
    }
}


/* v0.4.13 Floating basket — WooCommerce cart-page match */
.wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-fab {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #d7d7d9 !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 16px rgba(17, 24, 39, .10) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-fab:hover {
    background: #f7f7f8 !important;
    border-color: #bfc0c4 !important;
    box-shadow: 0 7px 18px rgba(17, 24, 39, .12) !important;
    transform: translateY(-1px);
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-fab:active {
    transform: translateY(0) scale(.98);
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-fab svg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 1.75;
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-custom-icon {
    width: 48% !important;
    height: 48% !important;
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-fab-count {
    top: -7px !important;
    right: -7px !important;
    min-width: 21px !important;
    width: auto !important;
    height: 21px !important;
    padding: 0 6px !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: var(--wil-count-bg, #2f7df4) !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce.wil-basket-round .wil-cart-fab {
    border-radius: 999px !important;
}
.wil-cart-drawer-ui.wil-basket-style-woocommerce.wil-basket-square .wil-cart-fab {
    border-radius: 2px !important;
}
@media (max-width: 600px) {
    .wil-cart-drawer-ui.wil-basket-style-woocommerce .wil-cart-fab {
        box-shadow: 0 4px 14px rgba(17, 24, 39, .11) !important;
    }
}


/* v0.4.13 — Astra Header Builder embedded basket compatibility */
.wil-astra-menu-cart-wrap {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    flex: 0 0 auto !important;
    margin-inline-start: 12px;
    position: relative;
    z-index: 2;
}
.wil-astra-menu-cart-link,
.wil-menu-cart-item > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 40px;
    padding: 7px 9px !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0f172a !important;
    text-decoration: none !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(15,23,42,.05);
    white-space: nowrap;
}
.wil-astra-menu-cart-link:hover,
.wil-menu-cart-item > a:hover {
    border-color: rgba(15,23,42,.18) !important;
    background: #f8fafc !important;
    color: #0f172a !important;
}
.wil-astra-menu-cart-link .wil-menu-cart-icon,
.wil-menu-cart-item .wil-menu-cart-icon {
    display: inline-grid !important;
    width: 22px;
    height: 22px;
    place-items: center;
    color: inherit;
}
.wil-astra-menu-cart-link .wil-menu-cart-count,
.wil-menu-cart-item .wil-menu-cart-count {
    margin-inline-start: -2px;
}
.wil-astra-menu-cart-link .wil-menu-cart-subtotal,
.wil-menu-cart-item .wil-menu-cart-subtotal {
    margin-inline-start: 1px;
    opacity: .78;
}
/* Keep Astra's menu and our basket on the same visual line where possible. */
.ast-builder-menu .ast-main-header-bar-alignment,
.ast-builder-menu .main-header-bar-navigation {
    vertical-align: middle;
}
@media (max-width: 921px) {
    .wil-astra-menu-cart-wrap { margin-inline-start: 8px; }
    .wil-astra-menu-cart-link { min-height: 38px; padding: 6px 8px !important; }
    .wil-astra-menu-cart-link .wil-menu-cart-subtotal { display: none; }
}


/* v0.4.13 — reliable Astra Header Builder menu-item integration */
.ast-builder-menu .main-header-menu > .wil-menu-cart-item,
#ast-hf-menu-1 > .wil-menu-cart-item,
#ast-hf-menu-2 > .wil-menu-cart-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-inline-start: 10px !important;
    padding: 0 !important;
}
.ast-builder-menu .main-header-menu > .wil-menu-cart-item > .wil-menu-cart-link,
#ast-hf-menu-1 > .wil-menu-cart-item > .wil-menu-cart-link,
#ast-hf-menu-2 > .wil-menu-cart-item > .wil-menu-cart-link {
    height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.ast-builder-menu .wil-menu-cart-item .wil-menu-cart-icon svg,
.ast-builder-menu .wil-menu-cart-item .wil-menu-cart-icon img {
    display: block !important;
}
@media (max-width: 921px) {
    .ast-header-break-point .wil-menu-cart-item {
        margin-inline-start: 0 !important;
    }
    .ast-header-break-point .wil-menu-cart-item > .wil-menu-cart-link {
        width: fit-content !important;
        margin: 8px 16px !important;
    }
    .ast-header-break-point .wil-menu-cart-item .wil-menu-cart-subtotal {
        display: none !important;
    }
}


/* v0.4.13 — Astra Header Builder client-side fallback.
   Used when Astra/header caching bypasses wp_nav_menu_items. */
.ast-builder-menu .main-header-menu > .wil-menu-cart-js,
#masthead .main-header-menu > .wil-menu-cart-js,
#masthead #primary-menu > .wil-menu-cart-js,
#ast-hf-menu-1 > .wil-menu-cart-js,
#ast-hf-menu-2 > .wil-menu-cart-js {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin-inline-start: 10px !important;
    padding: 0 !important;
}
.ast-builder-menu .wil-menu-cart-js > .wil-menu-cart-link,
#masthead .wil-menu-cart-js > .wil-menu-cart-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    min-height: 40px !important;
    padding: 7px 9px !important;
    margin: 0 !important;
    line-height: 1 !important;
}
@media (max-width: 921px) {
    .ast-header-break-point .wil-menu-cart-js {
        margin-inline-start: 0 !important;
    }
    .ast-header-break-point .wil-menu-cart-js > .wil-menu-cart-link {
        margin: 8px 16px !important;
    }
    .ast-header-break-point .wil-menu-cart-js .wil-menu-cart-subtotal {
        display: none !important;
    }
}


/* v0.4.13 — Astra native WooCommerce header cart takeover */
.ast-site-header-cart.wil-astra-native-takeover .cart-container {
    cursor: pointer;
}
.ast-site-header-cart.wil-astra-native-takeover .ast-site-header-cart-data {
    display: none !important;
}
.ast-site-header-cart.wil-astra-native-takeover .cart-container:focus-visible {
    outline: 2px solid var(--wil-drawer-blue, #2f7df4);
    outline-offset: 4px;
    border-radius: 6px;
}
\n\n/* v0.4.14 — Astra native-cart bridge hardening.\n   Keep Astra's visible header cart, suppress only Astra's competing flyout panel. */\nhtml body .ast-site-header-cart.wil-astra-native-takeover > .ast-site-header-cart-data,\nhtml body #ast-site-header-cart.wil-astra-native-takeover > .ast-site-header-cart-data {\n    display: none !important;\n    visibility: hidden !important;\n    pointer-events: none !important;\n}\nhtml body #ast-site-header-cart > .ast-site-header-cart-li,\nhtml body .ast-site-header-cart > .ast-site-header-cart-li,\nhtml body #ast-site-header-cart a.cart-container,\nhtml body .ast-site-header-cart a.cart-container {\n    pointer-events: auto !important;\n}\n