/* GeneratePress still owns the menu, its cart link and mobile navigation. */
@media (min-width: 769px) {
    .main-navigation .main-nav ul ul { width: 272px; }
    .main-navigation .main-nav ul ul li a {
        padding: 11px 16px;
        line-height: 1.35;
        white-space: normal;
    }
}
body.mbs-cart-enhanced #wc-mini-cart { display: none !important; }
body.mbs-cart-open { overflow: hidden; }
.mbs-cart-backdrop[hidden], .mbs-cart-drawer[hidden], .mbs-cart-drawer [hidden] { display: none !important; }
.mbs-cart-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    background: rgba(19, 22, 24, .62);
    opacity: 0;
    transition: opacity .22s ease;
}
.mbs-cart-backdrop.is-open { opacity: 1; }
.mbs-cart-drawer {
    position: fixed;
    top: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 1000001;
    display: flex;
    flex-direction: column;
    width: calc(100vw - 40px);
    max-width: var(--dialog-max-width, 50rem);
    min-width: 0;
    height: calc(100dvh - 40px);
    overflow: hidden;
    border-radius: 18px;
    color: var(--contrast, #222);
    background: var(--base-3, #fff);
    box-shadow: -18px 0 45px rgba(0, 0, 0, .12);
    transform: translateX(calc(100% + 20px));
    transition: transform .22s ease;
}
.mbs-cart-drawer.is-open { transform: translateX(0); }
.mbs-cart-drawer * { box-sizing: border-box; }
.mbs-cart-drawer a { color: inherit; text-decoration: none; }
.mbs-cart-drawer button { cursor: pointer; }
.mbs-cart-drawer button:disabled { cursor: not-allowed; opacity: .45; }
.mbs-cart-drawer a:focus-visible, .mbs-cart-drawer button:focus-visible, .mbs-cart-drawer summary:focus-visible {
    outline: 2px solid var(--contrast, #222);
    outline-offset: 3px;
}
.mbs-cart-drawer__header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding: 13px 27px;
    border-bottom: 1px solid #e8e8e8;
}
.mbs-cart-drawer__header h2 {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin: 0;
    color: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}
.mbs-cart-drawer__count { font-size: 13px; line-height: 1.1; font-weight: 500; }
.mbs-cart-drawer__close {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: inherit;
    background: transparent;
}
.mbs-cart-drawer__close:hover { background: var(--base, #f0f0f0); }
.mbs-cart-drawer .mbs-cart-drawer__close:focus, .mbs-cart-drawer .mbs-cart-drawer__close:active { color: inherit; background: transparent; }
.mbs-cart-drawer__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
}
.mbs-cart-drawer__body::-webkit-scrollbar { display: none; }
.mbs-cart-drawer__message:empty { display: none; }
.mbs-cart-drawer__message {
    margin: 0;
    padding: 20px 27px 0;
    font-size: 14px;
    line-height: 1.5;
}
.mbs-cart-drawer__shipping-goal { margin: 20px 27px 4px; color: #267443; }
.mbs-cart-drawer__shipping-goal p { margin: 0 0 8px; font-size: 13px; line-height: 1.45; }
.mbs-cart-drawer__shipping-track { height: 5px; overflow: hidden; border-radius: 999px; background: #e8e8e8; }
.mbs-cart-drawer__shipping-track span { display: block; height: 100%; border-radius: inherit; background: #168154; }
.mbs-cart-drawer__notice {
    margin: 20px 27px 6px;
    padding: 11px 13px;
    border-radius: 8px;
    color: #2b5932;
    background: #ecf4ec;
    font-size: 13px;
    line-height: 1.45;
}
.mbs-cart-drawer__notice.has-error { color: #8d2020; background: #fff0f0; }
.mbs-cart-drawer__items { padding: 0 27px; }
.mbs-cart-drawer__item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    padding: 21px 0;
    border-bottom: 1px solid #ededed;
}
.mbs-cart-drawer__item:last-child { border-bottom: 0; }
.mbs-cart-drawer__image-link { display: block; align-self: start; }
.mbs-cart-drawer__image {
    display: grid;
    place-items: center;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 6px;
    background: var(--base-2, #f7f8f9);
}
.mbs-cart-drawer__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.mbs-cart-drawer__image-placeholder { padding: 12px; color: var(--contrast-2, #575760); font-size: 11px; text-align: center; }
.mbs-cart-drawer__item-details { min-width: 0; }
.mbs-cart-drawer__item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mbs-cart-drawer__item-name { display: block; min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.mbs-cart-drawer__item-price { flex: 0 0 auto; font-size: 14px; font-weight: 600; white-space: nowrap; }
.mbs-cart-drawer__options { margin-top: 5px; color: var(--contrast-2, #575760); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.mbs-cart-drawer__options p { margin: 0 0 3px; }
.mbs-cart-drawer__more { margin-top: 4px; }
.mbs-cart-drawer__more summary { width: fit-content; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.mbs-cart-drawer__more p:first-of-type { margin-top: 5px; }
.mbs-cart-drawer__item-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; }
.mbs-cart-drawer__quantity {
    display: inline-flex;
    align-items: center;
    height: 36px;
    border: 1px solid #d8d8d8;
    border-radius: 999px;
    overflow: hidden;
}
.mbs-cart-drawer__quantity button {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font-size: 17px;
    line-height: 1;
}
.mbs-cart-drawer__quantity button:hover:not(:disabled) { background: var(--base, #f0f0f0); }
.mbs-cart-drawer__quantity span { min-width: 22px; font-size: 13px; font-weight: 600; text-align: center; }
.mbs-cart-drawer__quantity-static { font-size: 12px; color: var(--contrast-2, #575760); }
.mbs-cart-drawer__remove { padding: 4px 0; border: 0; color: var(--contrast-2, #575760); background: transparent; font-size: 12px; text-decoration: underline; text-underline-offset: 2px; }
.mbs-cart-drawer__remove:hover { color: #fd5e27; }
.mbs-cart-drawer__empty { padding: 45px 0; text-align: center; color: var(--contrast-2, #575760); font-size: 15px; }
.mbs-cart-drawer__empty-action { display: block; width: fit-content; margin: -27px auto 38px; padding: 10px 17px; border: 1px solid #d5d5d5; border-radius: 999px; font-size: 13px; }
.mbs-cart-drawer__empty-action:hover { background: var(--base, #f0f0f0); }
.mbs-cart-drawer__recommendations { margin-top: auto; padding-top: 28px; background: #f3f3f3; }
.mbs-cart-drawer__recommendation-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 27px 14px; }
.mbs-cart-drawer__recommendation-heading h3 { margin: 0; color: inherit; font-size: 17px; font-weight: 600; }
.mbs-cart-drawer__recommendation-controls { display: flex; gap: 4px; }
.mbs-cart-drawer__recommendation-controls button { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; }
.mbs-cart-drawer__recommendation-controls button img { display: block; width: 16px; height: 16px; }
.mbs-cart-drawer__recommendation-controls button[data-mbs-scroll="next"] img { transform: rotate(180deg); }
.mbs-cart-drawer__recommendation-controls button:hover { background: #e6e6e6; }
.mbs-cart-drawer__recommendation-track { display: flex; gap: 10px; padding: 0 27px 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.mbs-cart-drawer__recommendation { flex: 0 0 225px; display: flex; gap: 10px; min-height: 112px; padding: 10px; border-radius: 10px; background: #fff; scroll-snap-align: start; }
.mbs-cart-drawer__recommendation-image .mbs-cart-drawer__image { width: 79px; height: 92px; border-radius: 8px; }
.mbs-cart-drawer__recommendation-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: 4px; font-size: 12px; line-height: 1.3; }
.mbs-cart-drawer__recommendation-copy > a:first-child { max-height: 3.9em; overflow: hidden; font-weight: 600; overflow-wrap: anywhere; }
.mbs-cart-drawer__recommendation-copy strong { font-size: 12px; }
.mbs-cart-drawer__recommendation-action { margin-top: auto; text-decoration: underline !important; text-underline-offset: 2px; }
.mbs-cart-drawer__recommendation-action[data-mbs-add-product] {
    align-self: flex-end;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #111;
    font-size: 24px;
    line-height: 1;
    text-decoration: none !important;
}
.mbs-cart-drawer__recommendation-action[data-mbs-add-product]:hover { background: #333; }
.mbs-cart-drawer__footer { flex: 0 0 auto; padding: 22px 27px 26px; color: #202129; background: linear-gradient(180deg,#e8d5fc 0%,#f1e7fb 58%,#f7f7f8 100%); }
.mbs-cart-drawer__breakdown { display: grid; gap: 5px; margin-bottom: 13px; padding-bottom: 13px; border-bottom: 1px solid #c9b8d7; color: #48434e; font-size: 12px; }
.mbs-cart-drawer__breakdown-line { display: flex; justify-content: space-between; gap: 12px; }
.mbs-cart-drawer__total { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; font-size: 15px; }
.mbs-cart-drawer__total strong { font-size: 25px; font-weight: 600; white-space: nowrap; }
.mbs-cart-drawer__total-note { margin: 5px 0 19px; color: #5e5963; font-size: 12px; line-height: 1.4; }
.mbs-cart-drawer__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mbs-cart-drawer__actions a { display: grid; place-items: center; min-height: 47px; padding: 9px 12px; border: 1px solid #292b2f; border-radius: 999px; color: #292b2f; font-size: 13px; font-weight: 600; text-align: center; }
.mbs-cart-drawer__actions a:hover { background: rgba(41,43,47,.08); }
.mbs-cart-drawer__actions .mbs-cart-drawer__checkout { color: #fff; background: #292b2f; }
.mbs-cart-drawer__actions .mbs-cart-drawer__checkout:hover { background: #fd5e27; border-color: #fd5e27; }
.mbs-cart-drawer.is-busy .mbs-cart-drawer__item-actions button,
.mbs-cart-drawer.is-busy .mbs-cart-drawer__recommendation-action[data-mbs-add-product] { pointer-events: none; opacity: .5; }
@media (max-width: 480px) {
    .mbs-cart-drawer { width: calc(100vw - 40px); min-width: 0; }
    .mbs-cart-drawer__header { min-height: 64px; padding: 14px 18px; }
    .mbs-cart-drawer__header h2 { font-size: 18px; }
    .mbs-cart-drawer__notice { margin: 16px 18px 4px; }
    .mbs-cart-drawer__shipping-goal { margin: 16px 18px 4px; }
    .mbs-cart-drawer__items { padding: 0 18px; }
    .mbs-cart-drawer__item { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
    .mbs-cart-drawer__image { width: 80px; height: 80px; }
    .mbs-cart-drawer__item-top { flex-wrap: wrap; gap: 3px; }
    .mbs-cart-drawer__item-price { width: 100%; }
    .mbs-cart-drawer__recommendation-heading { padding-inline: 18px; }
    .mbs-cart-drawer__recommendation-track { padding-inline: 18px; }
    .mbs-cart-drawer__footer { padding: 18px 18px max(19px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    .mbs-cart-backdrop, .mbs-cart-drawer { transition: none; }
    .mbs-cart-drawer__recommendation-track { scroll-behavior: auto; }
}
