/* UI-00 rev7. Presentation of Site Core-owned markup only. */
html.sf-has-drawer { scrollbar-gutter: stable; }
html.sf-drawer-open { overflow: hidden; }
.sf-drawer { --sf-action: var(--wp--preset--color--sf-action, #005b9b); box-sizing: border-box; position: fixed; top: 0; right: 0; bottom: 0; left: auto; width: 480px; width: min(480px, 100%); max-width: 100%; height: 100vh; max-height: 100vh; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: #fff; color: #324454; font: 400 14px/20px 'Source Sans 3',sans-serif; overflow: hidden; }
/* Closed state is explicit, including engines with no dialog UA stylesheet. */
.sf-drawer:not([open]) { display: none; }
.sf-drawer[open] { display: flex; flex-direction: column; }
.sf-drawer::backdrop { background: rgba(0, 0, 0, 0.35); background: rgb(0 0 0 / 35%); }
/* Animate only transform/opacity; retain the native modal until exit finishes. */
.sf-drawer[open][data-motion=enter] { animation: sf-drawer-enter 280ms cubic-bezier(.22,1,.36,1) both; }
.sf-drawer[open][data-motion=exit] { animation: sf-drawer-exit 200ms cubic-bezier(.4,0,1,1) both; }
.sf-drawer[data-motion=enter]::backdrop { animation: sf-drawer-dim-in 280ms ease-out both; }
.sf-drawer[data-motion=exit]::backdrop { animation: sf-drawer-dim-out 200ms ease-in both; }
.sf-drawer.sf-dialog--polyfilled[data-motion=enter] + .backdrop { animation: sf-drawer-dim-in 280ms ease-out both; }
.sf-drawer.sf-dialog--polyfilled[data-motion=exit] + .backdrop { animation: sf-drawer-dim-out 200ms ease-in both; }
@keyframes sf-drawer-enter { from { transform: var(--sf-drawer-motion-from, translateX(100%)); } to { transform: translateX(0); } }
@keyframes sf-drawer-exit { from { transform: var(--sf-drawer-motion-from, translateX(0)); } to { transform: translateX(100%); } }
@keyframes sf-drawer-dim-in { from { opacity: var(--sf-drawer-backdrop-from, 0); } to { opacity: 1; } }
@keyframes sf-drawer-dim-out { from { opacity: var(--sf-drawer-backdrop-from, 1); } to { opacity: 0; } }
@media(prefers-reduced-motion:reduce) {
 .sf-drawer[open][data-motion] { animation: none; }
 .sf-drawer[data-motion]::backdrop { animation: none; }
 .sf-drawer.sf-dialog--polyfilled[data-motion] + .backdrop { animation: none; }
}
.sf-drawer *, .sf-drawer *::before, .sf-drawer *::after { box-sizing: border-box; }
.sf-drawer p, .sf-drawer h2, .sf-drawer h3, .sf-drawer ul { margin: 0; padding: 0; }
.sf-drawer ul { list-style: none; }
.sf-drawer a { color: inherit; text-decoration: none; }
.sf-drawer button { font: inherit; cursor: pointer; background: transparent; border: 0; padding: 0; color: inherit; box-shadow: none; }
/* Match the shared modal-input contract; autofocus heuristics differ by engine. */
.sf-drawer :focus { outline: 3px solid var(--sf-action); outline-offset: 2px; }
.sf-drawer[data-sf-dialog-input="pointer"] :focus { outline: 0; }
.sf-drawer button:disabled { cursor: default; opacity: .4; }
/* Owned interaction states must also override the legacy catalog's global button states. */
.sf-drawer .sf-drawer__quantity-button:is(:hover,:focus),
.sf-drawer .sf-drawer__close:is(:hover,:focus),
.sf-drawer .sf-drawer__remove:is(:hover,:focus) { background: transparent; color: #324454; }
.sf-drawer .sf-drawer__add:is(:hover,:focus) { background: transparent; color: var(--sf-action); }
.sf-drawer__header { flex: none; min-height: 64px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sf-drawer__header h2 { font: 700 20px/28px Montserrat,sans-serif; }
.sf-drawer .sf-drawer__close, .sf-drawer .sf-drawer__remove { display: grid; place-items: center; width: 44px; height: 44px; flex: none; }
.sf-drawer__icon { display: block; width: 18px; height: 18px; object-fit: contain; }
/* Legacy product images are rounded; decorative SVGs and brand marks are not. */
.sf-drawer img.sf-drawer__icon, .sf-drawer img.sf-drawer__payment-logo { border-radius: 0; -webkit-clip-path: none; clip-path: none; -webkit-mask-image: none; mask-image: none; box-shadow: none; flex-shrink: 0; }
.sf-drawer__body { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 8px 24px 16px; scrollbar-width: thin; display: flex; flex-direction: column; gap: 8px; }
.sf-drawer__body > * { flex-shrink: 0; }
.sf-drawer__shipping { display: flex; flex-direction: column; gap: 4px; min-height: 52px; font-size: 14px; }
.sf-drawer__shipping strong { color: #006633; font-weight: 700; }
.sf-drawer__shipping progress { display: block; width: 100%; height: 6px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0; border-radius: 4px; background: #e9f3ec; color: #2ea65c; overflow: hidden; }
.sf-drawer__shipping progress::-webkit-progress-bar { background: #e9f3ec; }
.sf-drawer__shipping progress::-webkit-progress-value { background: #2ea65c; border-radius: 4px; }
.sf-drawer__shipping progress::-moz-progress-bar { background: #2ea65c; }
.sf-drawer__shipping-captions { display: flex; justify-content: space-between; color: #526678; font-size: var(--wp--preset--font-size--sf-small, .8125rem); line-height: 18px; }
.sf-drawer__item { display: flex; align-items: flex-start; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #e0e5eb; }
.sf-drawer__item + .sf-drawer__item { padding-top: 8px; }
.sf-drawer__photo { width: 80px; height: 80px; flex: none; }
.sf-drawer__photo img, .sf-drawer__recommendation-photo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.sf-drawer__item-info, .sf-drawer__recommendation-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sf-drawer__name { font-weight: 700; font-size: 14px; line-height: 20px; overflow-wrap: break-word; }
.sf-drawer__price { font-size: 14px; line-height: 20px; }
.sf-drawer__quantity { display: flex; width: 96px; height: 44px; position: relative; }
.sf-drawer__quantity::before { content: ''; position: absolute; top: 8px; right: 0; bottom: 8px; left: 0; border: 1px solid var(--wp--preset--color--sf-border-strong, #d7dee4); border-radius: 8px; pointer-events: none; }
.sf-drawer .sf-drawer__quantity-button, .sf-drawer__quantity-value { width: 32px; height: 44px; display: grid; place-items: center; font-size: 16px; line-height: 24px; }
.sf-drawer__quantity-value { color: var(--wp--preset--color--sf-text, #304150); }
.sf-drawer__quantity-button .sf-drawer__icon { width: 16px; height: 16px; }
.sf-drawer__recommendations h3 { font: 700 16px/24px Montserrat,sans-serif; margin-bottom: 12px; }
.sf-drawer__recommendations ul { display: flex; flex-direction: column; gap: 12px; }
.sf-drawer__recommendation { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 8px; background: #f3f6f8; }
.sf-drawer__recommendation-photo { flex: none; width: 64px; height: 64px; }
.sf-drawer .sf-drawer__add { width: 84px; min-width: 84px; min-height: 44px; display: flex; justify-content: center; align-items: center; gap: 4px; position: relative; isolation: isolate; font-weight: 700; color: var(--sf-action); }
.sf-drawer__add::before { content: ''; position: absolute; z-index: -1; top: 6px; right: 0; bottom: 6px; left: 0; background: #fff; border-radius: 8px; }
.sf-drawer__add .sf-drawer__icon { width: 14px; height: 14px; }
.sf-drawer__footer { flex: none; display: flex; flex-direction: column; gap: 8px; padding: 7px 24px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--wp--preset--color--sf-border-strong, #d7dee4); }
.sf-drawer__total { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 24px; line-height: 24px; }
.sf-drawer__total strong { font-size: 20px; font-weight: 700; white-space: nowrap; }
.sf-drawer__actions { display: flex; flex-direction: column; gap: 8px; }
.sf-drawer .sf-drawer__primary, .sf-drawer .sf-drawer__secondary { min-height: 52px; border-radius: 8px; font-size: 16px; line-height: 24px; font-weight: 700; width: 100%; padding: 8px 40px; position: relative; }
.sf-drawer .sf-drawer__primary { background: var(--sf-action); border: 1px solid var(--sf-action); color: #fff; transition: background-color .15s, border-color .15s; }
.sf-drawer .sf-drawer__primary:hover:not([aria-disabled=true]) { background: var(--wp--preset--color--sf-action-hover, #004a80); border-color: var(--wp--preset--color--sf-action-hover, #004a80); }
.sf-drawer .sf-drawer__primary:active:not([aria-disabled=true]) { background: var(--wp--preset--color--sf-action-pressed, #00395f); border-color: var(--wp--preset--color--sf-action-pressed, #00395f); }
.sf-drawer .sf-drawer__primary[aria-busy=true] { background: var(--sf-action); border-color: var(--sf-action); }
.sf-drawer__primary .sf-drawer__icon { position: absolute; right: 24px; top: calc(50% - 9px); }
.sf-drawer .sf-drawer__secondary { color: var(--sf-action); border: 1px solid var(--sf-action); background: #fff; min-height: 48px; }
.sf-drawer button.sf-drawer__secondary:is(:hover,:focus) { color: var(--sf-action); background: #fff; border-color: var(--sf-action); }
.sf-drawer button.sf-drawer__primary:focus { color: #fff; background: var(--sf-action); border-color: var(--sf-action); }
.sf-drawer__payments { color: var(--wp--preset--color--sf-text, #304150); min-height: 24px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; font-size: var(--wp--preset--font-size--sf-small, .8125rem); line-height: 18px; }
.sf-drawer__payment-brand { height: 24px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.sf-drawer img.sf-drawer__payment-logo { display: block; object-fit: contain; max-width: none; }
.sf-drawer__payment-brand[data-brand=visa] { width: 48px; }
.sf-drawer__payment-brand[data-brand=visa] img { width: 43.119px; height: 14px; }
.sf-drawer__payment-brand[data-brand=mastercard] { width: 32px; }
.sf-drawer__payment-brand[data-brand=mastercard] img { width: 23.177px; height: 18px; }
.sf-drawer__payment-brand[data-brand=apple-pay], .sf-drawer__payment-brand[data-brand=google-pay] { width: 40px; }
.sf-drawer__payment-brand[data-brand=apple-pay] img { width: 34.101px; height: 14px; }
.sf-drawer__payment-brand[data-brand=google-pay] img { width: 29.396px; height: 14px; }
.sf-drawer__bank { display: inline-flex; align-items: center; justify-content: center; height: 24px; width: 92px; flex: none; gap: 6px; white-space: nowrap; }
.sf-drawer__bank .sf-drawer__icon { width: 16px; height: 16px; }
.sf-drawer__benefits { color: var(--wp--preset--color--sf-text, #304150); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 8px; font-size: var(--wp--preset--font-size--sf-small, .8125rem); font-weight: 600; line-height: 18px; }
.sf-drawer__benefits > span { display: inline-flex; align-items: center; gap: 4px; }
.sf-drawer__benefits .sf-drawer__icon { width: 14px; height: 14px; }
.sf-drawer__error, .sf-drawer__item-error { color: #a22222; background: #fff3f3; padding: 8px; border-radius: 8px; }
.sf-drawer__empty, .sf-drawer__initial { text-align: center; padding: 32px 0 !important; }
.sf-drawer__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; -webkit-clip-path: inset(50%); clip-path: inset(50%); white-space: nowrap; border: 0; }
[aria-busy=true].single_add_to_cart_button, a[aria-busy=true].ajax_add_to_cart { cursor: progress; }
@media(max-width:599px) {
 .sf-drawer__header { min-height: 56px; padding-left: 16px; padding-right: 16px; }
 .sf-drawer__header h2 { font-size: 18px; line-height: 24px; }
 .sf-drawer__body { padding: 4px 16px 16px; }
 .sf-drawer__footer { padding-left: 16px; padding-right: 16px; }
 .sf-drawer__photo { width: 72px; height: 72px; }
 .sf-drawer__recommendation-photo { width: 56px; height: 56px; }
 .sf-drawer .sf-drawer__primary { min-height: 48px; }
 .sf-drawer .sf-drawer__secondary { min-height: 44px; }
}
@media(max-width:340px) {
 .sf-drawer__photo { width: 64px; height: 64px; }
 .sf-drawer__recommendation-photo { width: 48px; height: 48px; }
 .sf-drawer .sf-drawer__add { width: 76px; min-width: 76px; }
 .sf-drawer .sf-drawer__primary { min-height: 44px; padding-left: 28px; padding-right: 28px; }
 .sf-drawer__primary .sf-drawer__icon { right: 12px; }
}
@media(min-width:480px) and (max-height:499px) {
 .sf-drawer__header { min-height: 56px; }
 .sf-drawer__actions { flex-direction: row; gap: 12px; }
 .sf-drawer .sf-drawer__primary, .sf-drawer .sf-drawer__secondary { min-height: 44px; padding: 8px 12px; font-size: 14px; }
 .sf-drawer__primary .sf-drawer__icon { display: none; }
}
@media(prefers-reduced-motion:reduce) { .sf-drawer .sf-drawer__primary { transition: none; } }
/* Feedback begins on the actual product trigger, before the network replies. */
.single_add_to_cart_button[aria-busy=true]::after, a.ajax_add_to_cart[aria-busy=true]::after {
 content: ''; position: absolute; right: 16px; top: calc(50% - .5em); width: 1em; height: 1em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: sf-drawer-spin .8s linear infinite; vertical-align: -.12em;
}
@keyframes sf-drawer-spin { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .single_add_to_cart_button[aria-busy=true]::after, a.ajax_add_to_cart[aria-busy=true]::after { animation: none; } }

.single_add_to_cart_button[aria-busy=true], a.ajax_add_to_cart[aria-busy=true] { position: relative; }
.sf-drawer .sf-drawer__primary[aria-disabled=true]:not([aria-busy=true]) { background: #edf1f4; border-color: #edf1f4; color: #526678; }
@supports not selector(:where(*)) {/* UI-00 rev7. Presentation of Site Core-owned markup only. */
html.sf-has-drawer { scrollbar-gutter: stable; }
html.sf-drawer-open { overflow: hidden; }
.sf-drawer { --sf-action: var(--wp--preset--color--sf-action, #005b9b); box-sizing: border-box; position: fixed; top: 0; right: 0; bottom: 0; left: auto; width: 480px; width: min(480px, 100%); max-width: 100%; height: 100vh; max-height: 100vh; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: #fff; color: #324454; font: 400 14px/20px 'Source Sans 3',sans-serif; overflow: hidden; }
/* Closed state is explicit, including engines with no dialog UA stylesheet. */
.sf-drawer:not([open]) { display: none; }
.sf-drawer[open] { display: flex; flex-direction: column; }
.sf-drawer::backdrop { background: rgba(0, 0, 0, 0.35); background: rgb(0 0 0 / 35%); }
/* Animate only transform/opacity; retain the native modal until exit finishes. */
.sf-drawer[open][data-motion=enter] { animation: sf-drawer-enter 280ms cubic-bezier(.22,1,.36,1) both; }
.sf-drawer[open][data-motion=exit] { animation: sf-drawer-exit 200ms cubic-bezier(.4,0,1,1) both; }
.sf-drawer[data-motion=enter]::backdrop { animation: sf-drawer-dim-in 280ms ease-out both; }
.sf-drawer[data-motion=exit]::backdrop { animation: sf-drawer-dim-out 200ms ease-in both; }
.sf-drawer.sf-dialog--polyfilled[data-motion=enter] + .backdrop { animation: sf-drawer-dim-in 280ms ease-out both; }
.sf-drawer.sf-dialog--polyfilled[data-motion=exit] + .backdrop { animation: sf-drawer-dim-out 200ms ease-in both; }
@keyframes sf-drawer-enter { from { transform: var(--sf-drawer-motion-from, translateX(100%)); } to { transform: translateX(0); } }
@keyframes sf-drawer-exit { from { transform: var(--sf-drawer-motion-from, translateX(0)); } to { transform: translateX(100%); } }
@keyframes sf-drawer-dim-in { from { opacity: var(--sf-drawer-backdrop-from, 0); } to { opacity: 1; } }
@keyframes sf-drawer-dim-out { from { opacity: var(--sf-drawer-backdrop-from, 1); } to { opacity: 0; } }
@media(prefers-reduced-motion:reduce) {
 .sf-drawer[open][data-motion] { animation: none; }
 .sf-drawer[data-motion]::backdrop { animation: none; }
 .sf-drawer.sf-dialog--polyfilled[data-motion] + .backdrop { animation: none; }
}
.sf-drawer *,
 .sf-drawer *::before,
 .sf-drawer *::after { box-sizing: border-box; }
.sf-drawer p,
 .sf-drawer h2,
 .sf-drawer h3,
 .sf-drawer ul { margin: 0; padding: 0; }
.sf-drawer ul { list-style: none; }
.sf-drawer a { color: inherit; text-decoration: none; }
.sf-drawer button { font: inherit; cursor: pointer; background: transparent; border: 0; padding: 0; color: inherit; box-shadow: none; }
/* Match the shared modal-input contract; autofocus heuristics differ by engine. */
.sf-drawer :focus { outline: 3px solid var(--sf-action); outline-offset: 2px; }
.sf-drawer[data-sf-dialog-input="pointer"] :focus { outline: 0; }
.sf-drawer button:disabled { cursor: default; opacity: .4; }
/* Owned interaction states must also override the legacy catalog's global button states. */
.sf-drawer .sf-drawer__quantity-button:hover,
.sf-drawer .sf-drawer__quantity-button:focus,

.sf-drawer .sf-drawer__close:hover,

.sf-drawer .sf-drawer__close:focus,

.sf-drawer .sf-drawer__remove:hover,

.sf-drawer .sf-drawer__remove:focus { background: transparent; color: #324454; }
.sf-drawer .sf-drawer__add:hover,
.sf-drawer .sf-drawer__add:focus { background: transparent; color: var(--sf-action); }
.sf-drawer__header { flex: none; min-height: 64px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sf-drawer__header h2 { font: 700 20px/28px Montserrat,sans-serif; }
.sf-drawer .sf-drawer__close,
 .sf-drawer .sf-drawer__remove { display: grid; place-items: center; width: 44px; height: 44px; flex: none; }
.sf-drawer__icon { display: block; width: 18px; height: 18px; object-fit: contain; }
/* Legacy product images are rounded; decorative SVGs and brand marks are not. */
.sf-drawer img.sf-drawer__icon,
 .sf-drawer img.sf-drawer__payment-logo { border-radius: 0; -webkit-clip-path: none; clip-path: none; -webkit-mask-image: none; mask-image: none; box-shadow: none; flex-shrink: 0; }
.sf-drawer__body { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 8px 24px 16px; scrollbar-width: thin; display: flex; flex-direction: column; gap: 8px; }
.sf-drawer__body > * { flex-shrink: 0; }
.sf-drawer__shipping { display: flex; flex-direction: column; gap: 4px; min-height: 52px; font-size: 14px; }
.sf-drawer__shipping strong { color: #006633; font-weight: 700; }
.sf-drawer__shipping progress { display: block; width: 100%; height: 6px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0; border-radius: 4px; background: #e9f3ec; color: #2ea65c; overflow: hidden; }
.sf-drawer__shipping progress::-webkit-progress-bar { background: #e9f3ec; }
.sf-drawer__shipping progress::-webkit-progress-value { background: #2ea65c; border-radius: 4px; }
.sf-drawer__shipping progress::-moz-progress-bar { background: #2ea65c; }
.sf-drawer__shipping-captions { display: flex; justify-content: space-between; color: #526678; font-size: var(--wp--preset--font-size--sf-small, .8125rem); line-height: 18px; }
.sf-drawer__item { display: flex; align-items: flex-start; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #e0e5eb; }
.sf-drawer__item + .sf-drawer__item { padding-top: 8px; }
.sf-drawer__photo { width: 80px; height: 80px; flex: none; }
.sf-drawer__photo img,
 .sf-drawer__recommendation-photo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.sf-drawer__item-info,
 .sf-drawer__recommendation-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sf-drawer__name { font-weight: 700; font-size: 14px; line-height: 20px; overflow-wrap: break-word; }
.sf-drawer__price { font-size: 14px; line-height: 20px; }
.sf-drawer__quantity { display: flex; width: 96px; height: 44px; position: relative; }
.sf-drawer__quantity::before { content: ''; position: absolute; top: 8px; right: 0; bottom: 8px; left: 0; border: 1px solid var(--wp--preset--color--sf-border-strong, #d7dee4); border-radius: 8px; pointer-events: none; }
.sf-drawer .sf-drawer__quantity-button,
 .sf-drawer__quantity-value { width: 32px; height: 44px; display: grid; place-items: center; font-size: 16px; line-height: 24px; }
.sf-drawer__quantity-value { color: var(--wp--preset--color--sf-text, #304150); }
.sf-drawer__quantity-button .sf-drawer__icon { width: 16px; height: 16px; }
.sf-drawer__recommendations h3 { font: 700 16px/24px Montserrat,sans-serif; margin-bottom: 12px; }
.sf-drawer__recommendations ul { display: flex; flex-direction: column; gap: 12px; }
.sf-drawer__recommendation { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 8px; background: #f3f6f8; }
.sf-drawer__recommendation-photo { flex: none; width: 64px; height: 64px; }
.sf-drawer .sf-drawer__add { width: 84px; min-width: 84px; min-height: 44px; display: flex; justify-content: center; align-items: center; gap: 4px; position: relative; isolation: isolate; font-weight: 700; color: var(--sf-action); }
.sf-drawer__add::before { content: ''; position: absolute; z-index: -1; top: 6px; right: 0; bottom: 6px; left: 0; background: #fff; border-radius: 8px; }
.sf-drawer__add .sf-drawer__icon { width: 14px; height: 14px; }
.sf-drawer__footer { flex: none; display: flex; flex-direction: column; gap: 8px; padding: 7px 24px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--wp--preset--color--sf-border-strong, #d7dee4); }
.sf-drawer__total { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 24px; line-height: 24px; }
.sf-drawer__total strong { font-size: 20px; font-weight: 700; white-space: nowrap; }
.sf-drawer__actions { display: flex; flex-direction: column; gap: 8px; }
.sf-drawer .sf-drawer__primary,
 .sf-drawer .sf-drawer__secondary { min-height: 52px; border-radius: 8px; font-size: 16px; line-height: 24px; font-weight: 700; width: 100%; padding: 8px 40px; position: relative; }
.sf-drawer .sf-drawer__primary { background: var(--sf-action); border: 1px solid var(--sf-action); color: #fff; transition: background-color .15s, border-color .15s; }
.sf-drawer .sf-drawer__primary:hover:not([aria-disabled=true]) { background: var(--wp--preset--color--sf-action-hover, #004a80); border-color: var(--wp--preset--color--sf-action-hover, #004a80); }
.sf-drawer .sf-drawer__primary:active:not([aria-disabled=true]) { background: var(--wp--preset--color--sf-action-pressed, #00395f); border-color: var(--wp--preset--color--sf-action-pressed, #00395f); }
.sf-drawer .sf-drawer__primary[aria-busy=true] { background: var(--sf-action); border-color: var(--sf-action); }
.sf-drawer__primary .sf-drawer__icon { position: absolute; right: 24px; top: calc(50% - 9px); }
.sf-drawer .sf-drawer__secondary { color: var(--sf-action); border: 1px solid var(--sf-action); background: #fff; min-height: 48px; }
.sf-drawer button.sf-drawer__secondary:hover,
.sf-drawer button.sf-drawer__secondary:focus { color: var(--sf-action); background: #fff; border-color: var(--sf-action); }
.sf-drawer button.sf-drawer__primary:focus { color: #fff; background: var(--sf-action); border-color: var(--sf-action); }
.sf-drawer__payments { color: var(--wp--preset--color--sf-text, #304150); min-height: 24px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; font-size: var(--wp--preset--font-size--sf-small, .8125rem); line-height: 18px; }
.sf-drawer__payment-brand { height: 24px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.sf-drawer img.sf-drawer__payment-logo { display: block; object-fit: contain; max-width: none; }
.sf-drawer__payment-brand[data-brand=visa] { width: 48px; }
.sf-drawer__payment-brand[data-brand=visa] img { width: 43.119px; height: 14px; }
.sf-drawer__payment-brand[data-brand=mastercard] { width: 32px; }
.sf-drawer__payment-brand[data-brand=mastercard] img { width: 23.177px; height: 18px; }
.sf-drawer__payment-brand[data-brand=apple-pay],
 .sf-drawer__payment-brand[data-brand=google-pay] { width: 40px; }
.sf-drawer__payment-brand[data-brand=apple-pay] img { width: 34.101px; height: 14px; }
.sf-drawer__payment-brand[data-brand=google-pay] img { width: 29.396px; height: 14px; }
.sf-drawer__bank { display: inline-flex; align-items: center; justify-content: center; height: 24px; width: 92px; flex: none; gap: 6px; white-space: nowrap; }
.sf-drawer__bank .sf-drawer__icon { width: 16px; height: 16px; }
.sf-drawer__benefits { color: var(--wp--preset--color--sf-text, #304150); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 8px; font-size: var(--wp--preset--font-size--sf-small, .8125rem); font-weight: 600; line-height: 18px; }
.sf-drawer__benefits > span { display: inline-flex; align-items: center; gap: 4px; }
.sf-drawer__benefits .sf-drawer__icon { width: 14px; height: 14px; }
.sf-drawer__error,
 .sf-drawer__item-error { color: #a22222; background: #fff3f3; padding: 8px; border-radius: 8px; }
.sf-drawer__empty,
 .sf-drawer__initial { text-align: center; padding: 32px 0 !important; }
.sf-drawer__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; -webkit-clip-path: inset(50%); clip-path: inset(50%); white-space: nowrap; border: 0; }
[aria-busy=true].single_add_to_cart_button,
 a[aria-busy=true].ajax_add_to_cart { cursor: progress; }
@media(max-width:599px) {
 .sf-drawer__header { min-height: 56px; padding-left: 16px; padding-right: 16px; }
 .sf-drawer__header h2 { font-size: 18px; line-height: 24px; }
 .sf-drawer__body { padding: 4px 16px 16px; }
 .sf-drawer__footer { padding-left: 16px; padding-right: 16px; }
 .sf-drawer__photo { width: 72px; height: 72px; }
 .sf-drawer__recommendation-photo { width: 56px; height: 56px; }
 .sf-drawer .sf-drawer__primary { min-height: 48px; }
 .sf-drawer .sf-drawer__secondary { min-height: 44px; }
}
@media(max-width:340px) {
 .sf-drawer__photo { width: 64px; height: 64px; }
 .sf-drawer__recommendation-photo { width: 48px; height: 48px; }
 .sf-drawer .sf-drawer__add { width: 76px; min-width: 76px; }
 .sf-drawer .sf-drawer__primary { min-height: 44px; padding-left: 28px; padding-right: 28px; }
 .sf-drawer__primary .sf-drawer__icon { right: 12px; }
}
@media(min-width:480px) and (max-height:499px) {
 .sf-drawer__header { min-height: 56px; }
 .sf-drawer__actions { flex-direction: row; gap: 12px; }
 .sf-drawer .sf-drawer__primary,
 .sf-drawer .sf-drawer__secondary { min-height: 44px; padding: 8px 12px; font-size: 14px; }
 .sf-drawer__primary .sf-drawer__icon { display: none; }
}
@media(prefers-reduced-motion:reduce) { .sf-drawer .sf-drawer__primary { transition: none; } }
/* Feedback begins on the actual product trigger, before the network replies. */
.single_add_to_cart_button[aria-busy=true]::after,
 a.ajax_add_to_cart[aria-busy=true]::after {
 content: ''; position: absolute; right: 16px; top: calc(50% - .5em); width: 1em; height: 1em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: sf-drawer-spin .8s linear infinite; vertical-align: -.12em;
}
@keyframes sf-drawer-spin { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .single_add_to_cart_button[aria-busy=true]::after,
 a.ajax_add_to_cart[aria-busy=true]::after { animation: none; } }

.single_add_to_cart_button[aria-busy=true],
 a.ajax_add_to_cart[aria-busy=true] { position: relative; }
.sf-drawer .sf-drawer__primary[aria-disabled=true]:not([aria-busy=true]) { background: #edf1f4; border-color: #edf1f4; color: #526678; } }

