/* Wolf Uniforms' WooCommerce cart drawer. */
.wolf-cart-drawer-overlay { position: fixed; inset: 0; z-index: 2147482000; overflow: hidden; color: var(--wolf-navy, #0a0f1a); font-family: "Sora", sans-serif; }
.wolf-cart-drawer-overlay[hidden] { display: none; }
.wolf-cart-drawer-overlay *, .wolf-cart-drawer-overlay *::before, .wolf-cart-drawer-overlay *::after { box-sizing: border-box; }
.wolf-cart-drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgb(10 15 26 / 54%); opacity: 0; transition: opacity 280ms ease; }
.wolf-cart-drawer { position: absolute; top: 0; right: 0; display: flex; width: min(500px, 100%); height: 100vh; height: 100dvh; min-height: 0; flex-direction: column; overflow: hidden; background: #fff; box-shadow: -14px 0 40px rgb(10 15 26 / 15%); transform: translateX(102%); transition: transform 280ms cubic-bezier(.2,.75,.25,1); }
.wolf-cart-drawer-overlay.is-open .wolf-cart-drawer-backdrop { opacity: 1; }
.wolf-cart-drawer-overlay.is-open .wolf-cart-drawer { transform: translateX(0); }
.wolf-cart-drawer__header { display: flex; flex: 0 0 auto; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 25px 26px 20px; border-bottom: 1px solid #e7ebf0; background: #fff; }
.wolf-cart-drawer__header h2 { margin: 0 0 5px; color: var(--wolf-navy, #0a0f1a); font-size: 1.35rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.25; }
.wolf-cart-drawer__count { color: #747d89; font-size: .76rem; }
.wolf-cart-drawer__close { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; padding: 0 0 3px; border: 1px solid #e7ebf0; border-radius: 50%; background: #fff; color: var(--wolf-navy, #0a0f1a); font: 400 1.65rem/1 "Sora", sans-serif; cursor: pointer; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.wolf-cart-drawer__close:hover { border-color: var(--wolf-blue, #0077ff); background: #f1f7ff; color: var(--wolf-blue, #0077ff); }
.wolf-cart-drawer__message { flex: 0 0 auto; margin: 0; padding: 11px 26px; background: #eef7ff; color: var(--wolf-navy, #0a0f1a); font-size: .78rem; line-height: 1.5; }
.wolf-cart-drawer__message[hidden] { display: none; }
.wolf-cart-drawer__stock-notice { flex: 0 0 auto; margin: 0; padding: 11px 26px; background: #fff4e8; color: #7b4311; font-size: .75rem; line-height: 1.5; }
.wolf-cart-drawer__content { display: flex; min-width: 0; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.wolf-cart-drawer__items { min-width: 0; min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; list-style: none; margin: 0; padding: 0 26px; }
.wolf-cart-item { position: relative; display: grid; min-width: 0; grid-template-columns: 82px minmax(0, 1fr); gap: 15px; padding: 21px 0; border-bottom: 1px solid #e7ebf0; }
.wolf-cart-item__image { min-width: 0; }
.wolf-cart-item__image img { display: block; width: 82px; height: 104px; border-radius: 7px; background: #f5f7f9; object-fit: cover; }
.wolf-cart-item__info { min-width: 0; padding-right: 12px; }
.wolf-cart-item__info h3 { margin: 0 18px 7px 0; color: var(--wolf-navy, #0a0f1a); font-size: .79rem; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.wolf-cart-item__info h3 a { color: inherit; text-decoration: none; }
.wolf-cart-item__info h3 a:hover { color: var(--wolf-blue, #0077ff); }
.wolf-cart-item__variation { margin: 0 0 4px; color: #66717f; font-size: .72rem; line-height: 1.45; overflow-wrap: anywhere; }
.wolf-cart-item__unit { margin: 8px 0 10px; color: #66717f; font-size: .71rem; line-height: 1.45; }
.wolf-cart-item__bottom { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.wolf-cart-item__quantity { display: flex; width: 106px; height: 36px; flex: 0 0 106px; align-items: center; overflow: hidden; border: 1px solid #dce2e9; border-radius: 8px; }
.wolf-cart-item__quantity button { width: 32px; height: 34px; flex: 0 0 32px; padding: 0; border: 0; background: #fff; color: var(--wolf-navy, #0a0f1a); font: 500 1rem/1 "Sora", sans-serif; cursor: pointer; }
.wolf-cart-item__quantity button:hover:not(:disabled) { background: #f1f7ff; color: var(--wolf-blue, #0077ff); }
.wolf-cart-item__quantity input { width: 40px; min-width: 0; height: 34px; margin: 0; padding: 0 2px; border: 0; border-radius: 0; background: #fff; color: var(--wolf-navy, #0a0f1a); font: 500 .74rem/1 "Sora", sans-serif; text-align: center; appearance: textfield; }
.wolf-cart-item__quantity input::-webkit-inner-spin-button, .wolf-cart-item__quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.wolf-cart-item__price { color: var(--wolf-navy, #0a0f1a); font-size: .79rem; font-weight: 700; }
.wolf-cart-item__remove { position: absolute; top: 17px; right: -4px; display: grid; width: 28px; height: 28px; place-items: center; padding: 0 0 2px; border: 0; border-radius: 50%; background: transparent; color: #76808c; font: 400 1.35rem/1 "Sora", sans-serif; cursor: pointer; }
.wolf-cart-item__remove:hover { background: #f1f7ff; color: var(--wolf-blue, #0077ff); }
.wolf-cart-drawer__footer { z-index: 1; flex: 0 0 auto; padding: 17px 26px max(20px, env(safe-area-inset-bottom)); border-top: 1px solid #e7ebf0; background: #fff; box-shadow: 0 -8px 20px rgb(10 15 26 / 3%); }
.wolf-cart-drawer__total-row { display: flex; justify-content: space-between; gap: 14px; margin: 0 0 10px; color: #5c6673; font-size: .78rem; line-height: 1.45; }
.wolf-cart-drawer__total-row strong { color: var(--wolf-navy, #0a0f1a); font-weight: 600; text-align: right; }
.wolf-cart-drawer__grand-total { margin: 2px 0 15px; border-top: 1px solid #e7ebf0; padding-top: 11px; color: var(--wolf-navy, #0a0f1a); font-size: .91rem; font-weight: 700; }
.wolf-cart-drawer__grand-total strong { font-size: .98rem; font-weight: 700; }
.wolf-cart-drawer__button { display: flex; width: 100%; min-height: 49px; align-items: center; justify-content: center; padding: 11px 16px; border: 1px solid var(--wolf-navy, #0a0f1a); border-radius: 9px; font: 700 .73rem/1.35 "Sora", sans-serif; letter-spacing: .035em; text-align: center; text-decoration: none; cursor: pointer; transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }
.wolf-cart-drawer__button--secondary { margin: 0 0 9px; background: #fff; color: var(--wolf-navy, #0a0f1a); }
.wolf-cart-drawer__button--secondary:hover { border-color: var(--wolf-blue, #0077ff); background: #f1f7ff; color: var(--wolf-blue, #0077ff); }
.wolf-cart-drawer__button--primary { background: var(--wolf-navy, #0a0f1a); color: #fff; }
.wolf-cart-drawer__button--primary:hover:not(:disabled) { border-color: var(--wolf-blue, #0077ff); background: var(--wolf-blue, #0077ff); color: #fff; }
.wolf-cart-drawer__button:disabled, .wolf-cart-drawer-overlay button:disabled { opacity: .48; cursor: not-allowed; }
.wolf-cart-drawer__empty { display: flex; min-height: 160px; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 30px 24px; text-align: center; }
.wolf-cart-drawer__empty p { margin: 0; color: #5c6673; font-size: .91rem; }
.wolf-cart-drawer-overlay :focus-visible { outline: 3px solid var(--wolf-blue, #0077ff); outline-offset: 3px; }
body.wolf-cart-drawer-open { overflow: hidden; }
@media (max-width: 600px) {
	.wolf-cart-drawer { width: 100%; }
	.wolf-cart-drawer__header { padding: 20px 18px 16px; }
	.wolf-cart-drawer__message { padding-inline: 18px; }
	.wolf-cart-drawer__items { padding-inline: 18px; }
	.wolf-cart-item { grid-template-columns: 74px minmax(0, 1fr); gap: 12px; padding-block: 17px; }
	.wolf-cart-item__image img { width: 74px; height: 94px; }
	.wolf-cart-drawer__footer { padding-inline: 18px; }
	.wolf-cart-drawer__stock-notice { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) { .wolf-cart-drawer, .wolf-cart-drawer-backdrop, .wolf-cart-drawer__button, .wolf-cart-drawer__close { transition: none; } }
