:root { --forkom-cart-drawer-width: min(400px, 100vw); }
html { scrollbar-gutter: stable; }
html.forkom-cart-is-open { overflow: hidden !important; }
.forkom-site-shell { position: relative; left: 0; display: flow-root; min-height: 100vh; transition: left 240ms ease; }
body.forkom-cart-is-open .forkom-site-shell { left: calc(-1 * var(--forkom-cart-drawer-width)); }
.forkom-site-header .header-top, .forkom-site-header .navigation_mobile, .forkom-site-header-mobile { transition: transform 240ms ease; }
body.forkom-cart-is-open .forkom-site-header .header-top,
body.forkom-cart-is-open .forkom-site-header .navigation_mobile,
body.forkom-cart-is-open .forkom-site-header-mobile { transform: translateX(calc(-1 * var(--forkom-cart-drawer-width))); }
body.forkom-cart-is-open .forkom-back-to-top { visibility: hidden; }
.forkom-cart-drawer {
    position: fixed; inset: 0 0 0 auto; z-index: 1000000; margin: 0;
    box-sizing: border-box; width: var(--forkom-cart-drawer-width); max-width: 100vw;
    height: 100vh; height: 100dvh; max-height: none; padding: 0; border: 0;
    background: #fff; color: #292436; font-family: Roboto, sans-serif; font-size: 14px;
    box-shadow: -8px 0 40px #2213391f; overflow: hidden;
    transform: translateX(100%); transition: transform 240ms ease;
}
.forkom-cart-drawer[open] { display: flex; flex-direction: column; }
.forkom-cart-drawer.is-visible { transform: translateX(0); }
.forkom-cart-drawer::backdrop { background: #20133238; }
.forkom-cart-drawer *, .forkom-cart-drawer *::before, .forkom-cart-drawer *::after { box-sizing: border-box; }
.forkom-drawer-heading { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-bottom: 1px solid #ece8f3; }
.forkom-drawer-heading h2 { margin: 0; font-size: 24px; font-weight: 600; }
.forkom-drawer-close { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: #f3f0f8; color: #6b607c; font: 25px/1 sans-serif; cursor: pointer; }
.forkom-drawer-close:hover { background: #eae2f8; }
.forkom-drawer-close:focus-visible, .forkom-drawer-open-cart:focus-visible, .forkom-drawer-retry:focus-visible { outline: 2px solid #7545d0; outline-offset: 3px; }
.forkom-drawer-status { flex: 0 0 auto; margin: 0; padding: 14px 24px 0; color: #766d84; font-size: 13px; line-height: 1.5; }
.forkom-drawer-status:empty { display: none; }
.forkom-drawer-content { flex: 1 1 auto; min-height: 0; padding: 0 24px; overflow-y: auto; overscroll-behavior: contain; }
.forkom-drawer-empty { padding: 64px 8px; text-align: center; }
.forkom-drawer-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: #f5f0ff; color: #855bd7; font-size: 28px; }
.forkom-drawer-empty h3 { margin: 20px 0 10px; font-size: 19px; font-weight: 600; }
.forkom-drawer-empty p { margin: 0; color: #766d84; font-size: 14px; line-height: 1.6; }
.forkom-drawer-list { list-style: none; margin: 0; padding: 0; }
.forkom-drawer-item { margin: 0; padding: 22px 0; border-bottom: 1px solid #ece8f3; overflow-wrap: anywhere; }
.forkom-drawer-item-name { display: block; color: #292436; font-size: 15px; font-weight: 500; line-height: 1.45; text-decoration: none; }
a.forkom-drawer-item-name:hover { color: #6e41c2; }
.forkom-drawer-sku { display: block; margin-top: 5px; font-size: 12px; color: #81788c; }
.forkom-drawer-attributes { margin: 9px 0 0; font-size: 12px; line-height: 1.5; color: #81788c; }
.forkom-drawer-item-price { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-top: 13px; font-size: 13px; }
.forkom-drawer-item-price strong { font-size: 15px; font-weight: 600; }
.forkom-drawer-item-controls { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 14px; }
.forkom-drawer-quantity-label { display: flex; flex-direction: column; gap: 6px; margin: 0; color: #766d84; font-size: 12px; line-height: 1.4; }
.forkom-cart-drawer .forkom-drawer-quantity { display: block; width: 116px; min-width: 0; height: 40px; margin: 0; padding: 8px 11px; border: 1px solid #ded5eb; border-radius: 8px; background: #fff; color: #292436; font: 15px/1.4 Roboto, sans-serif; }
.forkom-cart-drawer .forkom-drawer-quantity:focus { outline: 2px solid #cbb6f0; outline-offset: 1px; border-color: #8153ce; }
.forkom-cart-drawer .forkom-drawer-quantity[aria-invalid="true"] { border-color: #b55a65; }
.forkom-cart-drawer .forkom-drawer-quantity:disabled { background: #f7f5fa; color: #9b92a7; }
.forkom-drawer-remove, .forkom-drawer-clear, .forkom-drawer-retry-line, .forkom-drawer-suggestion { appearance: none; border: 0; padding: 9px 0; border-radius: 4px; background: none; color: #765294; font: 13px/1.4 Roboto, sans-serif; text-align: left; cursor: pointer; }
.forkom-drawer-remove:hover, .forkom-drawer-clear:hover { color: #9f3548; }
.forkom-drawer-remove:disabled, .forkom-drawer-clear:disabled { opacity: .5; cursor: wait; }
.forkom-drawer-remove:focus-visible, .forkom-drawer-clear:focus-visible, .forkom-drawer-retry-line:focus-visible, .forkom-drawer-suggestion:focus-visible { outline: 2px solid #7545d0; outline-offset: 3px; }
.forkom-drawer-rule, .forkom-drawer-line-error { margin: 8px 0 0; font-size: 12px; line-height: 1.5; }
.forkom-drawer-rule { color: #81788c; }
.forkom-drawer-rule:empty, .forkom-drawer-line-error:empty, .forkom-drawer-attributes:empty { display: none; }
.forkom-drawer-retry-line, .forkom-drawer-suggestion { padding: 4px 0 0; color: #7049b9; text-decoration: underline; }
.forkom-drawer-clear { display: block; margin: 0 auto 12px; padding: 4px 9px; text-align: center; }
.forkom-drawer-clear[hidden], .forkom-drawer-retry-line[hidden], .forkom-drawer-suggestion[hidden] { display: none; }
.forkom-drawer-error { color: #a13442; line-height: 1.5; }
.forkom-drawer-retry { display: block; margin-top: 8px; padding: 6px 12px; border: 1px solid #e2d9ee; border-radius: 7px; color: #7049b9; background: #fff; font: inherit; cursor: pointer; }
.forkom-drawer-footer { flex: 0 0 auto; padding: 20px 24px max(24px, env(safe-area-inset-bottom)); border-top: 1px solid #ece8f3; background: #fff; }
.forkom-drawer-summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.forkom-drawer-summary[hidden] { display: none; }
.forkom-drawer-summary strong { font-size: 22px; font-weight: 600; }
.forkom-drawer-open-cart { display: flex; min-height: 46px; justify-content: center; align-items: center; padding: 12px 16px; border-radius: 10px; background: #7147c7; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.forkom-drawer-open-cart:hover { background: #6034b6; color: #fff; }
@media (max-width: 420px) {
    .forkom-drawer-heading, .forkom-drawer-footer { padding-left: 20px; padding-right: 20px; }
    .forkom-drawer-content { padding: 0 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .forkom-site-shell, .forkom-cart-drawer, .forkom-site-header .header-top, .forkom-site-header .navigation_mobile, .forkom-site-header-mobile { transition: none; }
}
