.sfs-delivery {
	width: 100%;
	min-width: 0;
	margin: 0 0 1.75rem;
	border: 1px solid var(--sfs-border, #d8cdd3);
	border-radius: 20px;
	background: var(--sfs-surface, #fffdfb);
	color: var(--sfs-charcoal, #252229);
	padding: clamp(1rem, 2.5vw, 1.75rem);
}

.sfs-delivery [hidden] { display: none !important; }
.woocommerce .site > .sfs-delivery {
	width: min(calc(100% - 40px), var(--sfs-shell, 1200px));
	margin-right: auto;
	margin-left: auto;
}
.sfs-delivery__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.sfs-delivery__header h2 { margin: 0 0 0.4rem; font-size: clamp(1.35rem, 2.6vw, 1.8rem); line-height: 1.18; }
.sfs-delivery__header p:not(.sfs-delivery__eyebrow) { margin: 0; max-width: 650px; color: var(--sfs-muted, #5b5057); font-size: 0.87rem; line-height: 1.5; }
.sfs-delivery__eyebrow { margin: 0 0 0.4rem; color: var(--sfs-plum-700, #653759); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.sfs-delivery__country { flex-shrink: 0; border-radius: 999px; background: var(--sfs-blush, #f7edf2); color: var(--sfs-plum-800, #4a2040); padding: 0.35rem 0.65rem; font-size: 0.7rem; font-weight: 700; white-space: nowrap; }
.sfs-delivery__steps { display: flex; align-items: center; gap: 1.1rem; margin: 1rem 0 1.25rem; padding: 0 0 0.9rem; border-bottom: 1px solid var(--sfs-border, #d8cdd3); list-style: none; }
.sfs-delivery__steps li { display: flex; align-items: center; gap: 0.45rem; min-width: 0; color: var(--sfs-muted, #5b5057); font-size: 0.78rem; line-height: 1.25; }
.sfs-delivery__steps li > span { display: grid; flex-shrink: 0; place-items: center; width: 25px; height: 25px; border: 1px solid var(--sfs-border, #d8cdd3); border-radius: 50%; font-size: 0.7rem; font-weight: 700; }
.sfs-delivery__steps li[aria-current="step"] { color: var(--sfs-plum-900, #320a2a); font-weight: 700; }
.sfs-delivery__steps li[aria-current="step"] > span { border-color: var(--sfs-plum-900, #320a2a); background: var(--sfs-plum-900, #320a2a); color: #fff; }
.sfs-delivery__steps li.is-complete > span { border-color: var(--sfs-plum-900, #320a2a); color: var(--sfs-plum-900, #320a2a); background: var(--sfs-blush, #f7edf2); }
.sfs-delivery__form { margin: 0; }
.sfs-delivery__form fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.sfs-delivery__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.85rem; }
.sfs-delivery__fields > label:nth-child(1), .sfs-delivery__fields > label:nth-child(2) { grid-column: span 1; }
.sfs-delivery__fields > label:nth-child(2) { grid-column: span 2; }
.sfs-delivery__street { grid-column: span 2; }
.sfs-delivery__form label { display: grid; min-width: 0; gap: 0.35rem; color: var(--sfs-charcoal, #252229); }
.sfs-delivery__form label > span { font-size: 0.77rem; font-weight: 600; line-height: 1.35; }
.sfs-delivery__form input:not([type="hidden"]), .sfs-delivery__form select, .sfs-delivery__form textarea { width: 100%; max-width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--sfs-border, #d8cdd3); border-radius: 9px; background: #fff; color: var(--sfs-charcoal, #252229); padding: 0.6rem 0.7rem; font: inherit; font-size: 16px; line-height: 1.3; }
.sfs-delivery__form textarea { min-height: 72px; resize: vertical; }
.sfs-delivery__form input::placeholder, .sfs-delivery__form textarea::placeholder { color: #756972; opacity: 1; }
.sfs-delivery__form :focus-visible, .sfs-delivery a:focus-visible, .sfs-delivery button:focus-visible, .sfs-delivery summary:focus-visible { outline: 3px solid rgba(101, 55, 89, 0.5); outline-offset: 3px; }
.sfs-delivery__optional { margin-top: 0.8rem; }
.sfs-delivery__optional summary { width: fit-content; color: var(--sfs-plum-800, #4a2040); cursor: pointer; font-size: 0.79rem; font-weight: 600; }
.sfs-delivery__extras { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0.85rem; margin-top: 0.75rem; }
.sfs-delivery__submit-row { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
.sfs-delivery__submit-row p { margin: 0; color: var(--sfs-muted, #5b5057); font-size: 0.74rem; line-height: 1.4; }
.sfs-delivery .sfs-delivery__button { display: inline-flex; align-items: center; justify-content: center; gap: 0.25rem; min-height: 44px; max-width: 100%; border: 1px solid var(--sfs-plum-900, #320a2a); border-radius: 999px; background: var(--sfs-plum-900, #320a2a); color: #fff; padding: 0.7rem 1.1rem; cursor: pointer; font-family: var(--sfs-sans, sans-serif); font-size: 0.8rem; font-weight: 700; line-height: 1.35; text-align: center; text-decoration: none; }
.sfs-delivery .sfs-delivery__button:hover { background: var(--sfs-plum-800, #4a2040); border-color: var(--sfs-plum-800, #4a2040); color: #fff; }
.sfs-delivery .sfs-delivery__button:disabled { opacity: 0.65; cursor: wait; }
.sfs-delivery__summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-radius: 12px; background: var(--sfs-blush, #f7edf2); padding: 0.85rem 1rem; }
.sfs-delivery__saved-address { display: grid; min-width: 0; gap: 0.15rem; }
.sfs-delivery__saved-label { color: var(--sfs-muted, #5b5057); font-size: 0.68rem; }
.sfs-delivery__saved-address strong { color: var(--sfs-plum-900, #320a2a); font-size: 0.92rem; line-height: 1.4; overflow-wrap: anywhere; }
.sfs-delivery__saved-address > span:last-child { color: var(--sfs-muted, #5b5057); font-size: 0.78rem; }
.sfs-delivery__saved-address > [data-sfs-delivery-district] { color: var(--sfs-muted, #5b5057); font-size: 0.78rem; }
.sfs-delivery__saved-notes { margin: 0.3rem 0 0; max-width: 650px; color: var(--sfs-muted, #5b5057); font-size: 0.76rem; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.sfs-delivery .sfs-delivery__change { flex-shrink: 0; min-height: 44px; border: 1px solid var(--sfs-plum-800, #4a2040); border-radius: 999px; background: #fff; color: var(--sfs-plum-800, #4a2040); padding: 0.55rem 0.85rem; cursor: pointer; font-size: 0.76rem; font-weight: 700; line-height: 1.3; }
.sfs-delivery .sfs-delivery__change:hover { background: var(--sfs-plum-800, #4a2040); color: #fff; }
.sfs-delivery__summary + .sfs-delivery__form:not([hidden]) { margin-top: 1rem; }
.sfs-delivery__availability { margin-top: 0.8rem; }
.sfs-delivery__status { margin: 0; color: var(--sfs-muted, #5b5057); font-size: 0.81rem; line-height: 1.5; }
.sfs-delivery__status.is-error { color: var(--sfs-error, #9b1c31); }
.sfs-delivery__status.is-available { color: var(--sfs-success, #2f6a52); }
.sfs-delivery__rates { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.65rem 0 0; padding: 0; list-style: none; }
.sfs-delivery__rates li { display: flex; align-items: baseline; gap: 0.5rem; border: 1px solid var(--sfs-border, #d8cdd3); border-radius: 8px; background: #fff; padding: 0.45rem 0.65rem; font-size: 0.77rem; line-height: 1.4; }
.sfs-delivery__rates strong { color: var(--sfs-plum-900, #320a2a); white-space: nowrap; }
.sfs-delivery__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.sfs-delivery__checkout { display: inline-flex; align-items: center; gap: 0.25rem; min-height: 44px; color: var(--sfs-plum-800, #4a2040); font-size: 0.8rem; font-weight: 700; }
.sfs-delivery__noscript { margin: 1rem 0 0; color: var(--sfs-muted, #5b5057); font-size: 0.8rem; }
.sfs-delivery__empty p { margin: 0 0 0.6rem; color: var(--sfs-muted, #5b5057); font-size: 0.8rem; line-height: 1.5; }
.sfs-delivery__cart-quote { margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid var(--sfs-border, #d8cdd3); }
.sfs-delivery__cart-quote > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 0.35rem 0; font-size: 0.85rem; }
.sfs-delivery__cart-quote small { display: block; color: var(--sfs-muted, #5b5057); font-size: 0.72rem; }
.sfs-delivery__cart-quote strong { flex-shrink: 0; color: var(--sfs-plum-900, #320a2a); white-space: nowrap; }
.sfs-delivery__cart-quote .sfs-delivery__cart-total { margin-top: 0.4rem; border-top: 1px solid var(--sfs-border, #d8cdd3); padding-top: 0.7rem; font-size: 1rem; font-weight: 700; }
.sfs-delivery__cart-quote > p { margin: 0.45rem 0 0; color: var(--sfs-muted, #5b5057); font-size: 0.69rem; line-height: 1.45; }
.sfs-delivery__cart-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-top: 1rem; }
.sfs-delivery__cart-actions > a { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }

/* The drawer is narrow even on desktop; do not depend on viewport breakpoints. */
.cart-drawer:has(.sfs-delivery--drawer) .woocommerce-mini-cart__buttons { display: none; }
.sfs-delivery--drawer { margin: 1.15rem 0 0; border-radius: 14px; padding: 1rem; }
.sfs-delivery--drawer .sfs-delivery__header { display: block; margin-bottom: 0.75rem; }
.sfs-delivery--drawer .sfs-delivery__header h2 { font-size: 1.2rem; margin: 0; }
.sfs-delivery--drawer .sfs-delivery__header p:not(.sfs-delivery__eyebrow),
.sfs-delivery--drawer .sfs-delivery__country,
.sfs-delivery--drawer .sfs-delivery__steps,
.sfs-delivery--drawer .sfs-delivery__actions,
.sfs-delivery--cart .sfs-delivery__steps { display: none; }
.sfs-delivery--cart .sfs-delivery__header { margin-bottom: 1rem; }
.sfs-delivery--drawer .sfs-delivery__fields,
.sfs-delivery--drawer .sfs-delivery__extras { grid-template-columns: minmax(0, 1fr); gap: 0.65rem; }
.sfs-delivery--drawer .sfs-delivery__fields > label { grid-column: 1; }
.sfs-delivery--drawer .sfs-delivery__submit-row { flex-direction: column; align-items: stretch; gap: 0.55rem; }
.sfs-delivery--drawer .sfs-delivery__submit-row p { font-size: 0.68rem; }
.sfs-delivery--drawer .sfs-delivery__summary { flex-direction: column; align-items: flex-start; gap: 0.55rem; padding: 0.75rem; }
.sfs-delivery--drawer .sfs-delivery__optional summary { font-size: 0.74rem; }
.sfs-delivery--drawer .sfs-delivery__status { font-size: 0.75rem; }
.sfs-delivery--drawer .sfs-delivery__saved-notes { max-height: 5rem; overflow-y: auto; }

/* Keep the native checkout action in the cart's contained totals column. */
.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky { display: flex; position: static; width: 100%; padding: 0; background: transparent; z-index: auto; }
.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none; }
.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button { min-height: 48px; border-radius: 999px; border: 1px solid var(--sfs-plum-900, #320a2a); background: var(--sfs-plum-900, #320a2a); color: #fff; font-weight: 700; text-decoration: none; }
.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button:hover { background: var(--sfs-plum-800, #4a2040); color: #fff; }

@media (max-width: 760px) {
	.woocommerce .site > .sfs-delivery { width: calc(100% - 32px); }
	.sfs-delivery { border-radius: 16px; padding: 1rem; }
	.sfs-delivery__header { gap: 0.65rem; }
	.sfs-delivery__country { padding: 0.3rem 0.5rem; font-size: 0.63rem; }
	.sfs-delivery__header h2 { font-size: 1.45rem; }
	.sfs-delivery__header p:not(.sfs-delivery__eyebrow) { font-size: 0.8rem; }
	.sfs-delivery__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
	.sfs-delivery__fields > label:nth-child(2), .sfs-delivery__street { grid-column: span 1; }
	.sfs-delivery__extras { grid-template-columns: 1fr; }
	.sfs-delivery__submit-row { flex-wrap: wrap; gap: 0.65rem; }
	.sfs-delivery__summary { align-items: flex-start; padding: 0.8rem; }
	.sfs-delivery__summary .sfs-delivery__change { padding: 0.55rem 0.7rem; }
}

@media (max-width: 480px) {
	.sfs-delivery__header { flex-wrap: wrap; }
	.sfs-delivery__country { order: -1; }
	.sfs-delivery__steps { justify-content: space-between; gap: 0.4rem; margin-top: 0.85rem; }
	.sfs-delivery__steps li { gap: 0.3rem; font-size: 0.71rem; }
	.sfs-delivery__steps li > span { width: 23px; height: 23px; }
	.sfs-delivery__fields { grid-template-columns: 1fr; }
	.sfs-delivery__fields > label { grid-column: 1 !important; }
	.sfs-delivery__submit-row > .sfs-delivery__button { width: 100%; }
	.sfs-delivery__summary { flex-direction: column; gap: 0.55rem; }
	.sfs-delivery__summary .sfs-delivery__change { align-self: flex-start; }
	.sfs-delivery__actions { gap: 0.45rem; }
	.sfs-delivery__actions > .sfs-delivery__button { width: 100%; }
	.sfs-delivery__checkout { justify-content: center; width: 100%; }
}
