:root { --kumu-ps-blue: #1c61e7; }
.kumu-ps-button-wrap { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.kumu-ps-button-wrap .button.alt, .kumu-ps-modal .button.alt, .kumu-ps-cart .button.alt, .kumu-ps-checkout .button.alt { background: var(--kumu-ps-blue); color: #fff; }
.kumu-ps-product-note, .kumu-ps-limit-note { color: #5f6368; font-size: .92em; margin-top: 8px; }
.kumu-ps-button-wrap .kumu-ps-product-note { flex-basis: 100%; margin-bottom: 0; }
.kumu-ps-unavailable { color: #777; font-weight: 600; }
.kumu-ps-modal[hidden] { display: none; }
.kumu-ps-modal, .kumu-ps-modal *, .kumu-ps-modal *::before, .kumu-ps-modal *::after { box-sizing: border-box; }
.kumu-ps-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 24px; position: fixed; text-align: start; z-index: 999999; }
.kumu-ps-modal-backdrop { background: rgba(12, 23, 43, .72); inset: 0; position: absolute; }
.kumu-ps-modal-panel { background: #fff; border: 1px solid rgba(255, 255, 255, .65); border-radius: 18px; box-shadow: 0 28px 80px rgba(8, 20, 40, .32); color: #20293a; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(90vh, 820px); max-width: 960px; overflow: hidden; padding: 0; position: relative; text-align: start; width: 100%; z-index: 1; }
.kumu-ps-modal-header { background: linear-gradient(135deg, #f7faff 0%, #fff 72%); border-bottom: 1px solid #e7ecf3; padding: 24px 76px 20px 26px; position: relative; }
.kumu-ps-modal-header h2 { color: #182235; font-size: clamp(22px, 2.5vw, 30px); font-weight: 700; line-height: 1.25; margin: 0; padding: 0; text-align: start; }
.kumu-ps-modal-eyebrow { color: var(--kumu-ps-blue); font-size: 12px; font-weight: 700; letter-spacing: .09em; line-height: 1.4; margin: 0 0 6px; text-transform: uppercase; }
.kumu-ps-modal-intro { color: #667085; font-size: 15px; line-height: 1.55; margin: 8px 0 0; max-width: 680px; }
.kumu-ps-modal .kumu-ps-modal-close { align-items: center; appearance: none; background: #fff; border: 1px solid #dbe3ee; border-radius: 999px; bottom: auto; box-shadow: 0 4px 12px rgba(20, 40, 75, .08); color: #334158; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 27px; font-weight: 400; height: 42px; justify-content: center; left: auto; line-height: 1; margin: 0; min-height: 42px; min-width: 42px; padding: 0; position: absolute; right: 20px; text-transform: none; top: 18px; transition: border-color .18s ease, color .18s ease, transform .18s ease; width: 42px; z-index: 2; }
.kumu-ps-modal .kumu-ps-modal-close:hover { border-color: #9fb9e8; color: var(--kumu-ps-blue); transform: rotate(4deg); }
.kumu-ps-modal .kumu-ps-modal-close:focus-visible { box-shadow: 0 0 0 3px rgba(28, 97, 231, .2); outline: 2px solid var(--kumu-ps-blue); outline-offset: 2px; }
.kumu-ps-modal .kumu-ps-modal-close span { display: block; line-height: .8; margin-top: -2px; }
.kumu-ps-modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 22px 26px 20px; scrollbar-gutter: stable; }
.kumu-ps-options { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kumu-ps-option { align-items: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; color: #20293a; cursor: pointer; display: grid; gap: 14px; grid-template-columns: 20px 96px minmax(0, 1fr); margin: 0; min-width: 0; padding: 16px; position: relative; text-align: start; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; width: 100%; }
.kumu-ps-option:hover:not(.is-unavailable) { border-color: #a8c3f3; box-shadow: 0 8px 24px rgba(23, 82, 180, .08); transform: translateY(-1px); }
.kumu-ps-option:has(.kumu-ps-option-control:checked) { background: #f7faff; border-color: var(--kumu-ps-blue); box-shadow: 0 0 0 2px rgba(28, 97, 231, .13), 0 10px 26px rgba(23, 82, 180, .1); }
.kumu-ps-option:focus-within:not(.is-unavailable) { border-color: var(--kumu-ps-blue); box-shadow: 0 0 0 3px rgba(28, 97, 231, .14); }
.kumu-ps-option-control { accent-color: var(--kumu-ps-blue); height: 18px; margin: 0; width: 18px; }
.kumu-ps-option-control:focus { outline: 0; }
.kumu-ps-option-media { align-items: center; align-self: stretch; background: #f5f7fb; border: 1px solid #edf0f5; border-radius: 11px; display: flex; height: 96px; justify-content: center; overflow: hidden; padding: 8px; width: 96px; }
.kumu-ps-option-image { display: block; height: 78px; margin: 0; max-height: 100%; max-width: 100%; object-fit: contain; width: 78px; }
.kumu-ps-option-copy { display: block; min-width: 0; }
.kumu-ps-option-copy > span, .kumu-ps-option-copy > small, .kumu-ps-option-title { display: block; }
.kumu-ps-option-title { color: #182235; font-size: 16px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.kumu-ps-option-summary { align-items: center; display: flex !important; flex-wrap: wrap; gap: 7px 10px; margin-top: 9px; }
.kumu-ps-option-price { color: var(--kumu-ps-blue); font-size: 16px; font-weight: 700; line-height: 1.35; white-space: nowrap; }
.kumu-ps-option-price .amount, .kumu-ps-option-price .woocommerce-Price-currencySymbol { display: inline; white-space: nowrap; }
.kumu-ps-option-status { background: #eaf8ef; border-radius: 999px; color: #1e7a43; font-size: 11px; font-weight: 700; letter-spacing: .025em; line-height: 1.25; padding: 4px 8px; text-transform: uppercase; width: fit-content; }
.kumu-ps-option-quantity { color: #667085; font-size: 13px; line-height: 1.4; margin-top: 7px; }
.kumu-ps-option-credit { color: #586579; font-size: 12px; line-height: 1.45; margin-top: 5px; }
.kumu-ps-option-credit .amount, .kumu-ps-option-credit .woocommerce-Price-currencySymbol { display: inline; white-space: nowrap; }
.kumu-ps-option-credit .amount { color: inherit; font-weight: 600; }
.kumu-ps-option.is-unavailable { background: #f7f8fa; color: #7c8492; cursor: not-allowed; opacity: 1; }
.kumu-ps-option.is-unavailable .kumu-ps-option-media { filter: grayscale(1); opacity: .65; }
.kumu-ps-option.is-unavailable .kumu-ps-option-title, .kumu-ps-option.is-unavailable .kumu-ps-option-price { color: #757e8d; }
.kumu-ps-option.is-unavailable .kumu-ps-option-status { background: #e9ebef; color: #687181; }
.kumu-ps-modal-body .kumu-ps-limit-note { background: #f7f9fc; border-radius: 10px; margin: 18px 0 0; padding: 11px 14px; text-align: center; }
.kumu-ps-modal-footer { background: #fff; border-top: 1px solid #e7ecf3; padding: 16px 26px 18px; }
.kumu-ps-modal-actions, .kumu-ps-cart-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kumu-ps-modal-actions { margin: 0; }
.kumu-ps-modal .kumu-ps-modal-actions .button { align-items: center; border-radius: 8px; display: inline-flex; justify-content: center; margin: 0; min-height: 44px; padding: 10px 18px; text-decoration: none; }
.kumu-ps-modal .kumu-ps-modal-actions .button:not(.alt) { background: #f1f4f8; border-color: #e2e7ef; color: #344054; }
.kumu-ps-modal .kumu-ps-modal-actions .button:not(.alt):hover { background: #e8edf5; color: #1d2939; }
.kumu-ps-feedback { color: #39475e; font-weight: 600; margin-top: 10px; min-height: 0; }
.kumu-ps-feedback:empty { display: none; }
.kumu-ps-feedback a { color: var(--kumu-ps-blue); text-decoration: underline; }
.kumu-ps-modal-open, .kumu-ps-modal-open body { overflow: hidden; }
.kumu-ps-cart, .kumu-ps-cart *, .kumu-ps-cart *::before, .kumu-ps-cart *::after { box-sizing: border-box; }
.kumu-ps-cart > h2 { margin-bottom: 28px; }
.kumu-ps-cart-content { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 30px; }
.kumu-ps-cart-content > * { flex: 1 1 100%; max-width: 100%; }
.kumu-ps-cart-table { border-collapse: collapse; margin-bottom: 0; width: 100%; }
.kumu-ps-cart-table :is(th, td) { border-bottom: 1px solid var(--brdcolor-gray-300, #e6e9ed); padding: 15px 10px; text-align: start; vertical-align: middle; }
.kumu-ps-cart-table th { color: var(--wd-title-color, #242424); font-size: 13px; font-weight: 700; text-transform: uppercase; }
.kumu-ps-cart-table .product-remove { padding-inline-start: 0; text-align: center; width: 44px; }
.kumu-ps-cart-table .product-thumbnail { width: 96px; }
.kumu-ps-cart-table .product-thumbnail img { border-radius: var(--wd-brd-radius, 6px); display: block; height: 80px; margin: 0; object-fit: contain; width: 80px; }
.kumu-ps-cart-table .product-name > a { color: var(--wd-title-color, #242424); text-decoration: none; }
.kumu-ps-cart-table .kumu-ps-variation, .kumu-ps-cart-table .kumu-ps-line-credit, .kumu-ps-cart-table .kumu-ps-line-error { display: block; margin-top: 5px; }
.kumu-ps-cart-table .kumu-ps-variation, .kumu-ps-cart-table .kumu-ps-line-credit { color: var(--wd-text-color, #666); font-size: .9em; line-height: 1.45; }
.kumu-ps-cart-table .kumu-ps-line-error { color: #b42318; font-size: .88em; font-weight: 600; }
.kumu-ps-cart-table .product-price, .kumu-ps-cart-table .product-subtotal { white-space: nowrap; }
.kumu-ps-cart-table .product-subtotal { color: var(--wd-primary-color, var(--kumu-ps-blue)); font-weight: 700; }
.kumu-ps-cart-table .quantity { margin: 0; }
.kumu-ps-cart-table .quantity input.qty { margin: 0; max-width: 80px; }
.kumu-ps-cart-table .kumu-ps-fixed-quantity { display: inline-block; min-width: 2ch; text-align: center; }
.kumu-ps-cart-table .product-remove button.remove { align-items: center; appearance: none; background: transparent; border: 0; border-radius: 50%; box-shadow: none; color: var(--color-gray-800, #333); cursor: pointer; display: inline-flex; font-family: inherit; font-size: 24px; font-weight: 400; height: 40px; justify-content: center; line-height: 1; margin: 0; min-height: 40px; min-width: 40px; padding: 0; text-transform: none; width: 40px; }
.kumu-ps-cart-table .product-remove button.remove:hover { background: var(--bgcolor-gray-100, #f5f5f5); color: #b42318; }
.kumu-ps-cart-table .product-remove button.remove:focus-visible { outline: 2px solid var(--wd-primary-color, var(--kumu-ps-blue)); outline-offset: 2px; }
.kumu-ps-cart-table tr.has-error td { background: var(--notices-warning-bg, #fff5f5); }
.kumu-ps-cart-table .wd-cart-action-row td { border-bottom: 0; padding: 0; }
.kumu-ps-cart-form .cart-actions, .kumu-ps-cart-maintenance { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.kumu-ps-cart-form .cart-actions { margin-top: 30px; }
.kumu-ps-cart-maintenance { margin-inline-start: auto; }
.kumu-ps-cart-totals { width: 100%; }
.kumu-ps-cart-totals .cart-totals-inner { border: 3px solid var(--brdcolor-gray-200, rgba(0, 0, 0, .075)); border-radius: var(--wd-brd-radius, 6px); padding: 25px; }
.kumu-ps-cart-totals .cart-totals-inner > h2 { font-size: 22px; margin-bottom: 18px; text-transform: uppercase; }
.kumu-ps-cart-totals table { border-collapse: collapse; margin-bottom: 18px; width: 100%; }
.kumu-ps-cart-totals :is(th, td) { border-bottom: 1px solid var(--brdcolor-gray-300, #e6e9ed); padding: 14px 0; vertical-align: top; }
.kumu-ps-cart-totals th { color: var(--wd-title-color, #242424); font-weight: 600; text-align: start; }
.kumu-ps-cart-totals td { text-align: end; }
.kumu-ps-cart-totals .order-total :is(th, td) { border-bottom: 0; font-size: 1.08em; }
.kumu-ps-cart-totals .order-total .amount { color: var(--wd-primary-color, var(--kumu-ps-blue)); font-size: 1.12em; }
.kumu-ps-delivery-rates { color: var(--wd-text-color, #666); display: block; font-size: .88em; line-height: 1.5; margin-top: 5px; }
.kumu-ps-credit-note { background: var(--bgcolor-gray-100, #f7f9fc); border-radius: var(--wd-brd-radius, 6px); color: var(--wd-text-color, #666); font-size: .9em; line-height: 1.55; margin: 0 0 18px; padding: 12px 14px; }
.kumu-ps-cart-totals .checkout-button { align-items: center; display: flex; justify-content: center; margin: 0; text-align: center; width: 100%; }
.kumu-ps-empty-cart { padding: 35px 15px; text-align: center; }
.kumu-ps-empty-cart .wd-empty-block-title { color: var(--wd-title-color, #242424); font-size: clamp(22px, 3vw, 30px); font-weight: 700; margin-bottom: 10px; }
.kumu-ps-empty-cart .wd-empty-block-text { color: var(--wd-text-color, #666); margin: 0 auto 22px; max-width: 520px; }
.kumu-ps-empty-cart .return-to-shop { margin: 0; }
.kumu-ps-checkout-grid { display: grid; gap: 30px; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); }
.kumu-ps-order-review { background: #f7f9fc; border: 1px solid #e2e7ef; border-radius: 8px; padding: 20px; }
.kumu-ps-review-row { display: flex; gap: 12px; justify-content: space-between; padding: 8px 0; }
.kumu-ps-delivery-review > span:first-child small { color: #667085; display: block; font-size: .8em; font-weight: 400; margin-top: 3px; }
.kumu-ps-delivery-review [data-kumu-ps-delivery-fee] { min-width: 120px; text-align: end; }
.kumu-ps-checkout-form.is-calculating-delivery [data-kumu-ps-delivery-fee], .kumu-ps-checkout-form.is-calculating-delivery [data-kumu-ps-delivery-total] { opacity: .55; }
.kumu-ps-delivery-feedback { color: #b42318; font-size: .88em; font-weight: 600; line-height: 1.45; min-height: 0; }
.kumu-ps-delivery-feedback:empty { display: none; }
.kumu-ps-review-total { border-top: 1px solid #d9e0e9; font-size: 1.1em; font-weight: 700; margin-top: 8px; }
.kumu-ps-account-credit { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-bottom: 20px; }
.kumu-ps-account-credit p, .kumu-ps-account-credit form { margin: 0; }
.kumu-ps-checkout-credit { background: var(--bgcolor-gray-100, #f7f9fc); border: 1px solid var(--brdcolor-gray-300, #e1e6ed); border-radius: var(--wd-brd-radius, 6px); margin: 0 0 18px; padding: 14px 16px; }
.kumu-ps-checkout-credit-row > td { padding-top: 14px; }
.kumu-ps-checkout-credit-row .kumu-ps-checkout-credit { margin: 0; text-align: start; }
.kumu-ps-checkout-credit label { align-items: flex-start; cursor: pointer; display: flex; gap: 10px; margin: 0; }
.kumu-ps-checkout-credit input { margin-top: 4px; }
.kumu-ps-credit-login-note a { font-weight: 700; text-decoration: underline; }
.kumu-ps-credit-summary { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 28px; }
.kumu-ps-credit-summary p { background: var(--bgcolor-gray-100, #f7f9fc); border: 1px solid var(--brdcolor-gray-300, #e1e6ed); border-radius: var(--wd-brd-radius, 6px); margin: 0; padding: 16px; }
.kumu-ps-credit-credit { color: #1e7a43; font-weight: 700; }
.kumu-ps-credit-debit { color: #b42318; font-weight: 700; }
.kumu-ps-order-credit { background: var(--bgcolor-gray-100, #f7f9fc); border-radius: var(--wd-brd-radius, 6px); padding: 12px 14px; }
@media (max-width: 840px) {
	.kumu-ps-options { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.kumu-ps-modal { padding: 10px; }
	.kumu-ps-modal-panel { border-radius: 14px; max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); }
	.kumu-ps-modal-header { padding: 20px 66px 16px 18px; }
	.kumu-ps-modal-header h2 { font-size: 22px; }
	.kumu-ps-modal-intro { font-size: 14px; }
	.kumu-ps-modal .kumu-ps-modal-close { height: 38px; min-height: 38px; min-width: 38px; right: 14px; top: 14px; width: 38px; }
	.kumu-ps-modal-body { padding: 16px 18px; scrollbar-gutter: auto; }
	.kumu-ps-modal-footer { padding: 14px 18px 16px; }
	.kumu-ps-option { grid-template-columns: 18px 80px minmax(0, 1fr); padding: 13px; }
	.kumu-ps-option-media { height: 80px; width: 80px; }
	.kumu-ps-option-image { height: 66px; width: 66px; }
	.kumu-ps-checkout-grid { grid-template-columns: 1fr; }
}
@media (min-width: 1025px) {
	.kumu-ps-cart-content > .kumu-ps-cart-form { flex: 1 0 0; min-width: 0; }
	.kumu-ps-cart-content > .kumu-ps-cart-totals { flex: .5 0 0; min-width: 310px; }
}
@media (max-width: 768.98px) {
	.kumu-ps-account-credit { align-items: stretch; flex-direction: column; }
	.kumu-ps-account-credit .button { width: 100%; }
	.kumu-ps-credit-summary { grid-template-columns: 1fr; }
	.kumu-ps-cart > h2 { margin-bottom: 20px; }
	.kumu-ps-cart-table, .kumu-ps-cart-table tbody { display: block; }
	.kumu-ps-cart-table thead { clip: rect(0 0 0 0); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
	.kumu-ps-cart-table tr.cart_item { border-bottom: 1px solid var(--brdcolor-gray-300, #ddd); display: flex; flex-direction: column; gap: 5px; margin-bottom: 18px; min-height: 136px; padding: 0 0 18px 115px; position: relative; }
	.kumu-ps-cart-table tr.cart_item td { align-items: center; border: 0; display: flex; flex-wrap: wrap; gap: 5px; padding: 0 0 5px; width: auto; }
	.kumu-ps-cart-table tr.cart_item td::before { content: attr(data-title); font-weight: 600; margin-inline-end: auto; }
	.kumu-ps-cart-table tr.cart_item td.product-thumbnail { inset-inline-start: 0; position: absolute; top: 0; }
	.kumu-ps-cart-table tr.cart_item td.product-thumbnail img { height: 100px; width: 100px; }
	.kumu-ps-cart-table tr.cart_item td.product-remove { inset-inline-end: -5px; position: absolute; top: -5px; z-index: 1; }
	.kumu-ps-cart-table tr.cart_item :is(td.product-name, td.product-thumbnail, td.product-remove)::before, .kumu-ps-cart-table .wd-cart-action-row td::before { content: none; }
	.kumu-ps-cart-table tr.cart_item td.product-name { align-items: flex-start; display: block; padding-inline-end: 32px; }
	.kumu-ps-cart-table .wd-cart-action-row { display: block; }
	.kumu-ps-cart-table .wd-cart-action-row td { display: block; }
	.kumu-ps-cart-form .cart-actions, .kumu-ps-cart-maintenance { align-items: stretch; flex-direction: column; margin-inline-start: 0; width: 100%; }
	.kumu-ps-cart-form .cart-actions { margin-top: 15px; }
	.kumu-ps-cart-form .cart-actions .button, .kumu-ps-cart-maintenance .button { text-align: center; width: 100%; }
	.kumu-ps-cart-totals .cart-totals-inner { padding: 20px; }
	.kumu-ps-cart-totals :is(th, td) { display: block; padding: 10px 0; text-align: start; }
	.kumu-ps-cart-totals th { border-bottom: 0; padding-bottom: 2px; }
	.kumu-ps-cart-totals td { padding-top: 2px; }
	.kumu-ps-cart-totals .shop_table_responsive td::before { content: none !important; display: none !important; }
}
@media (max-width: 480px) {
	.kumu-ps-modal { padding: 8px; }
	.kumu-ps-modal-panel { max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); }
	.kumu-ps-option { gap: 10px; grid-template-columns: 18px 66px minmax(0, 1fr); padding: 12px 10px; }
	.kumu-ps-option-media { height: 66px; padding: 5px; width: 66px; }
	.kumu-ps-option-image { height: 56px; width: 56px; }
	.kumu-ps-option-title { font-size: 15px; }
	.kumu-ps-option-summary { gap: 6px; }
	.kumu-ps-option-price { font-size: 15px; }
	.kumu-ps-option-credit { font-size: 11.5px; }
	.kumu-ps-modal-actions { display: grid; grid-template-columns: 1fr; }
	.kumu-ps-modal-actions .button { width: 100%; }
}
