/* Delivery information inherits the active frame palette and remains useful without JS. */
.wpcl-delivery,
.wpcl-delivery *,
.wpcl-delivery-header,
.wpcl-delivery-header > summary { box-sizing: border-box; }

.wpcl-delivery {
	min-width: 0;
	color: var(--wpcl-text, #172c3f);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
	overflow-wrap: anywhere;
}

.wpcl-delivery .wpcl-delivery-heading {
	margin: 0 0 8px;
	color: inherit;
	font-family: var(--wpcl-frame-heading-font, inherit);
	font-size: clamp(23px, 2.5vw, 30px);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.2;
}

.wpcl-delivery .wpcl-delivery-intro { max-width: 64ch; margin: 0 0 18px; color: inherit; font-size: 15px; line-height: 1.6; }
.wpcl-delivery .wpcl-delivery-form { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; max-width: 680px; margin: 0; padding: 0; }
.wpcl-delivery .wpcl-delivery-form[hidden] { display: none; }
.wpcl-delivery .wpcl-delivery-label { flex: 1 0 100%; margin: 0; color: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; }
.wpcl-delivery .wpcl-delivery-input {
	flex: 1 1 200px;
	width: auto;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid #a6afb5;
	border-radius: 4px;
	background: #fff;
	color: #172c3f;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	box-shadow: none;
}
.wpcl-delivery .wpcl-delivery-input::placeholder { color: #586571; opacity: 1; }
.wpcl-delivery .wpcl-delivery-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 110px;
	min-height: 48px;
	margin: 0;
	padding: 12px 20px;
	border: 1px solid var(--wpcl-button-bg, #a93336);
	border-radius: 4px;
	background: var(--wpcl-button-bg, #a93336);
	color: var(--wpcl-button-text, #fff);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}
.wpcl-delivery .wpcl-delivery-submit:hover { filter: brightness(.93); }
.wpcl-delivery .wpcl-delivery-submit:disabled { opacity: .75; cursor: progress; }
.wpcl-delivery :is(input, button, a):focus-visible,
.wpcl-delivery-header > summary:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.wpcl-delivery .wpcl-delivery-input:focus-visible { outline-color: #172c3f; box-shadow: 0 0 0 6px #fff; }
.wpcl-delivery .wpcl-delivery-submit:focus-visible { outline-color: var(--wpcl-text, #172c3f); }
.wpcl-delivery .wpcl-delivery-status { margin: 14px 0 0; color: inherit; font-size: 14px; line-height: 1.6; }
.wpcl-delivery .wpcl-delivery-status:empty { margin: 0; }
.wpcl-delivery .wpcl-delivery-results:empty { display: none; }
.wpcl-delivery .wpcl-delivery-result-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.wpcl-delivery .wpcl-delivery-result {
	min-width: 0;
	margin: 0;
	padding: 16px;
	border: 1px solid currentColor;
	border-color: color-mix(in srgb, currentColor 24%, transparent);
	border-radius: 4px;
	background: color-mix(in srgb, currentColor 4%, transparent);
	list-style: none;
}
.wpcl-delivery .wpcl-delivery-result-heading { margin: 0; color: inherit; font-family: inherit; font-size: 18px; font-weight: 700; line-height: 1.35; }
.wpcl-delivery .wpcl-delivery-result-link { display: inline-block; padding-block: 3px; color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.wpcl-delivery .wpcl-delivery-result :is(p, ul) { margin: 10px 0 0; color: inherit; font-size: 14px; line-height: 1.6; }
.wpcl-delivery .wpcl-delivery-result .wpcl-delivery-result-address { margin: 8px 0 0; color: inherit; font-size: 14px; font-style: normal; line-height: 1.6; }
.wpcl-delivery .wpcl-delivery-closest { display: inline-block; margin: 0 0 10px; padding: 4px 9px; border: 1px solid currentColor; border-radius: 3px; color: inherit; font-size: 11px; font-weight: 750; letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; }
.wpcl-delivery .wpcl-delivery-result-hours { white-space: pre-line; }
.wpcl-delivery .wpcl-delivery-result-phone a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.wpcl-delivery .wpcl-delivery-result-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.wpcl-delivery .wpcl-delivery-directions { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 13px; border: 1px solid currentColor; border-radius: 3px; color: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; text-decoration: none; }
.wpcl-delivery .wpcl-delivery-directions:hover { text-decoration: underline; text-underline-offset: 4px; }
.wpcl-delivery .wpcl-delivery-result-facts { padding: 0; list-style: none; }
.wpcl-delivery .wpcl-delivery-result-facts > li { margin: 0; padding: 0; list-style: none; }
.wpcl-delivery .wpcl-delivery-more { margin: 12px 0 0; color: inherit; font-size: 14px; line-height: 1.6; }
.wpcl-delivery .wpcl-delivery-fallback { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin: 16px 0 0; color: inherit; font-size: 14px; line-height: 1.6; }
.wpcl-delivery .wpcl-delivery-fallback a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.wpcl-delivery a:hover { text-decoration-thickness: 2px; }

/* A native disclosure keeps the header compact, including when the provider is pending. */
.wpcl-delivery-header { position: relative; flex: 0 0 auto; max-width: 100%; margin: 0; color: inherit; }
.wpcl-header-shell > .wpcl-delivery-header { order: var(--wpcl-cta-order, 3); color: var(--wpcl-text, #172c3f); }
.wpcl-delivery-header > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	min-height: 44px;
	padding: 8px 0;
	color: inherit;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}
.wpcl-delivery-header > summary::-webkit-details-marker { display: none; }
.wpcl-delivery-header > summary::after { width: 7px; height: 7px; margin: -4px 3px 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); content: ""; }
.wpcl-delivery-header[open] > summary::after { margin-top: 4px; transform: rotate(225deg); }
.wpcl-delivery-header > .wpcl-delivery--header {
	position: absolute;
	z-index: 30;
	top: calc(100% + 8px);
	right: 0;
	width: min(420px, var(--wpcl-delivery-panel-width, calc(100vw - 48px)));
	max-height: min(75vh, var(--wpcl-delivery-max-height, 75vh));
	margin: 0;
	padding: 24px;
	border: 1px solid #d6d9dc;
	border-top: 3px solid var(--wpcl-button-bg, #a93336);
	border-radius: 0 0 6px 6px;
	background: var(--wpcl-dropdown-bg, #fff);
	color: var(--wpcl-dropdown-text, #172c3f);
	box-shadow: 0 18px 42px #102e4333;
	transform: translateX(var(--wpcl-delivery-offset, 0px));
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.wpcl-delivery--header .wpcl-delivery-heading { font-size: 24px; }
.wpcl-delivery--header .wpcl-delivery-submit:focus-visible { outline-color: var(--wpcl-dropdown-text, #172c3f); }
.wpcl-delivery--header .wpcl-delivery-form { gap: 10px; }
.wpcl-delivery--header .wpcl-delivery-input { flex-basis: 100%; }
.wpcl-delivery--header .wpcl-delivery-submit { width: 100%; }

/* Full-width footer section, with comfortable results at each breakpoint. */
.wpcl-footer .wpcl-delivery-footer,
.wpcl-footer .wpcl-delivery--footer {
	width: min(var(--wpcl-footer-max-width, 1200px), 100%);
	margin: 0 auto clamp(32px, 4vw, 56px);
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid var(--wpcl-footer-divider, #ffffff40);
	border-radius: 4px;
	background: #ffffff06;
	background: color-mix(in srgb, var(--wpcl-text, #fff) 3%, transparent);
	color: var(--wpcl-text, #fff);
}
.wpcl-footer .wpcl-delivery--footer .wpcl-delivery-result-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.wpcl-header:is(.wpcl-is-mobile, [data-wpcl-frame-mobile="true"]) .wpcl-header-shell:has(> .wpcl-delivery-header) { flex-wrap: wrap; }
.wpcl-header:is(.wpcl-is-mobile, [data-wpcl-frame-mobile="true"]) .wpcl-header-shell > .wpcl-delivery-header { flex: 1 0 100%; order: 5; border-top: 1px solid currentColor; border-color: color-mix(in srgb, currentColor 18%, transparent); }
.wpcl-header:is(.wpcl-is-mobile, [data-wpcl-frame-mobile="true"]) .wpcl-header-shell > .wpcl-delivery-header > summary { justify-content: flex-start; }

@media (max-width: 1080px) {
	.wpcl-header-shell:has(> .wpcl-delivery-header) { flex-wrap: wrap; }
	.wpcl-header-shell > .wpcl-delivery-header { flex: 1 0 100%; order: 5; border-top: 1px solid currentColor; border-color: color-mix(in srgb, currentColor 18%, transparent); }
	.wpcl-header-shell > .wpcl-delivery-header > summary { justify-content: flex-start; }
}

@media (max-width: 620px) {
	.wpcl-delivery-header > .wpcl-delivery--header { padding: 20px; }
	.wpcl-footer .wpcl-delivery--footer .wpcl-delivery-result-list { grid-template-columns: minmax(0, 1fr); }
	.wpcl-delivery .wpcl-delivery-input { flex-basis: 100%; }
	.wpcl-delivery .wpcl-delivery-submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.wpcl-delivery *, .wpcl-delivery-header > summary::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
	.wpcl-delivery .wpcl-delivery-submit { border-color: ButtonText; }
	.wpcl-delivery .wpcl-delivery-result,
	.wpcl-delivery-header > .wpcl-delivery--header,
	.wpcl-footer .wpcl-delivery--footer { border-color: CanvasText; }
}
