.pow-checkout,
.pow-confirmation {
	--pow-navy: #10233f;
	--pow-navy-hover: #07182e;
	--pow-blue: #275f9f;
	--pow-ink: #172033;
	--pow-muted: #667085;
	--pow-line: #d8e0ea;
	--pow-soft: #f4f7fb;
	--pow-success: #167454;
	--pow-white: #fff;
	box-sizing: border-box;
	color: var(--pow-ink);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.55;
}

.pow-checkout *,
.pow-checkout *::before,
.pow-checkout *::after,
.pow-confirmation *,
.pow-confirmation *::before,
.pow-confirmation *::after { box-sizing: border-box; }

.woocommerce .pow-checkout,
.pow-checkout {
	width: min(100% - 32px, 980px);
	max-width: 980px !important;
	margin: 34px auto 64px !important;
	padding: 0 !important;
}

/* Div-based navigation prevents theme list counters from duplicating step numbers. */
.woocommerce .pow-checkout .pow-steps,
.pow-checkout .pow-steps {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	margin: 0 0 24px !important;
	padding: 20px 24px !important;
	border: 1px solid var(--pow-line);
	border-radius: 14px;
	background: var(--pow-white);
	box-shadow: 0 8px 28px rgba(16, 35, 63, 0.07);
	list-style: none !important;
	counter-reset: none !important;
}

.pow-checkout .pow-step {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 0;
	color: var(--pow-muted);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.25;
	text-align: center;
}

.pow-checkout .pow-step:not(:last-child)::after {
	position: absolute;
	top: 50%;
	right: -7px;
	width: 14px;
	color: #9ba9bc;
	content: "→";
	font-size: 16px;
	line-height: 1;
	transform: translateY(-50%);
}

.pow-checkout .pow-step-number {
	position: relative;
	z-index: 1;
	display: inline-grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	margin: 0;
	border: 2px solid #b8c4d3;
	border-radius: 50%;
	background: var(--pow-white);
	color: var(--pow-muted);
	font-size: 14px;
	font-weight: 750;
	line-height: 1;
}

.pow-checkout .pow-step[aria-current="step"] { color: var(--pow-navy); }
.pow-checkout .pow-step[aria-current="step"] .pow-step-number {
	border-color: var(--pow-navy);
	background: var(--pow-navy);
	color: var(--pow-white);
	box-shadow: 0 0 0 4px rgba(39, 95, 159, 0.12);
}
.pow-checkout .pow-step.is-complete { color: var(--pow-success); }
.pow-checkout .pow-step.is-complete .pow-step-number {
	border-color: var(--pow-success);
	background: var(--pow-success);
	color: var(--pow-white);
}

.woocommerce .pow-checkout .pow-form,
.woocommerce .pow-checkout .pow-summary,
.pow-checkout .pow-form,
.pow-checkout .pow-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 24px;
	width: 100%;
	margin: 0 !important;
	padding: clamp(24px, 4vw, 42px) !important;
	border: 1px solid var(--pow-line);
	border-radius: 16px;
	background: var(--pow-white);
	box-shadow: 0 12px 36px rgba(16, 35, 63, 0.08);
}

.pow-checkout .pow-form-heading,
.pow-checkout .pow-section-title,
.pow-checkout .pow-helper,
.pow-checkout .pow-actions,
.pow-checkout .pow-summary-grid,
.pow-checkout .pow-summary-box,
.pow-checkout .pow-confirm-form,
.pow-checkout .pow-field--full { grid-column: 1 / -1; }

.pow-checkout .pow-form-heading {
	margin: 0 0 4px;
	padding: 0 0 22px;
	border-bottom: 1px solid var(--pow-line);
}
.pow-checkout .pow-form-heading h2 {
	margin: 0 0 7px !important;
	color: var(--pow-navy);
	font-size: clamp(25px, 3vw, 34px) !important;
	font-weight: 750 !important;
	letter-spacing: -0.025em;
	line-height: 1.15 !important;
}
.pow-checkout .pow-form-heading p {
	margin: 0 !important;
	color: var(--pow-muted);
	font-size: 15px;
}
.pow-checkout .pow-section-title {
	margin: 8px 0 -2px !important;
	padding: 18px 0 0;
	border-top: 1px solid var(--pow-line);
	color: var(--pow-navy);
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.09em;
	line-height: 1.3;
}

.pow-checkout .pow-field { min-width: 0; margin: 0 !important; }
.woocommerce .pow-checkout .pow-field > label,
.pow-checkout .pow-field > label {
	display: block;
	margin: 0 0 8px !important;
	color: var(--pow-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}
.pow-checkout .pow-field > label input[type="checkbox"] { margin-right: 8px; vertical-align: middle; }
.woocommerce .pow-checkout .pow-field > input:not([type="checkbox"]):not([type="radio"]),
.woocommerce .pow-checkout .pow-field > select,
.woocommerce .pow-checkout .pow-field > textarea,
.pow-checkout .pow-field > input:not([type="checkbox"]):not([type="radio"]),
.pow-checkout .pow-field > select,
.pow-checkout .pow-field > textarea {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	border: 1px solid #b9c5d4 !important;
	border-radius: 9px !important;
	background: var(--pow-white) !important;
	box-shadow: none !important;
	color: var(--pow-ink) !important;
	font: inherit !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce .pow-checkout .pow-field > input:not([type="checkbox"]):not([type="radio"]),
.woocommerce .pow-checkout .pow-field > select,
.pow-checkout .pow-field > input:not([type="checkbox"]):not([type="radio"]),
.pow-checkout .pow-field > select { height: 52px !important; padding: 0 14px !important; }
.woocommerce .pow-checkout .pow-field > textarea,
.pow-checkout .pow-field > textarea { min-height: 116px !important; padding: 13px 14px !important; resize: vertical; }
.woocommerce .pow-checkout .pow-field > input:focus,
.woocommerce .pow-checkout .pow-field > select:focus,
.woocommerce .pow-checkout .pow-field > textarea:focus,
.pow-checkout .pow-field > input:focus,
.pow-checkout .pow-field > select:focus,
.pow-checkout .pow-field > textarea:focus {
	border-color: var(--pow-blue) !important;
	box-shadow: 0 0 0 4px rgba(39, 95, 159, 0.14) !important;
	outline: none !important;
}

.pow-checkout .pow-helper {
	margin: -10px 0 0 !important;
	padding: 12px 14px;
	border-left: 3px solid var(--pow-blue);
	border-radius: 0 7px 7px 0;
	background: var(--pow-soft);
	color: var(--pow-muted);
	font-size: 13px;
}
.pow-checkout .pow-shipping-methods {
	grid-column: 1 / -1;
	margin: 0 !important;
	padding: 18px;
	border: 1px solid var(--pow-line);
	border-radius: 10px;
	background: var(--pow-soft);
}
.pow-checkout .pow-shipping-methods legend {
	float: none;
	display: block;
	width: auto;
	margin: 0 0 12px !important;
	padding: 0;
	color: var(--pow-navy);
	font-size: 15px !important;
	font-weight: 750 !important;
}
.pow-checkout .pow-shipping-methods > label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 8px 0 0 !important;
	cursor: pointer;
}
.pow-checkout .pow-shipping-methods input,
.pow-checkout .pow-terms input {
	flex: 0 0 auto;
	width: 18px !important;
	height: 18px !important;
	margin: 3px 0 0 !important;
	accent-color: var(--pow-navy);
}

.pow-checkout .pow-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 6px 0 0 !important;
	padding-top: 22px;
	border-top: 1px solid var(--pow-line);
}
.pow-checkout .pow-actions--end { justify-content: flex-end; }
.woocommerce .pow-checkout .pow-actions .button,
.pow-checkout .pow-actions .button,
.pow-confirmation .pow-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 12px 22px !important;
	border: 1px solid var(--pow-navy) !important;
	border-radius: 9px !important;
	background: var(--pow-white) !important;
	box-shadow: none !important;
	color: var(--pow-navy) !important;
	font: inherit !important;
	font-size: 15px !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: none !important;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.woocommerce .pow-checkout .pow-actions .button.alt,
.pow-checkout .pow-actions .button.alt,
.pow-confirmation .pow-button { background: var(--pow-navy) !important; color: var(--pow-white) !important; }
.woocommerce .pow-checkout .pow-actions .button:hover,
.woocommerce .pow-checkout .pow-actions .button:focus,
.pow-checkout .pow-actions .button:hover,
.pow-checkout .pow-actions .button:focus {
	border-color: var(--pow-navy-hover) !important;
	background: var(--pow-soft) !important;
	color: var(--pow-navy-hover) !important;
	transform: translateY(-1px);
}
.woocommerce .pow-checkout .pow-actions .button.alt:hover,
.woocommerce .pow-checkout .pow-actions .button.alt:focus,
.pow-checkout .pow-actions .button.alt:hover,
.pow-checkout .pow-actions .button.alt:focus,
.pow-confirmation .pow-button:hover,
.pow-confirmation .pow-button:focus {
	border-color: var(--pow-navy-hover) !important;
	background: var(--pow-navy-hover) !important;
	color: var(--pow-white) !important;
}

.pow-checkout .pow-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pow-checkout .pow-summary-box {
	min-width: 0;
	margin: 0 !important;
	padding: 22px;
	border: 1px solid var(--pow-line);
	border-radius: 11px;
	background: var(--pow-soft);
}
.pow-checkout .pow-summary-grid .pow-summary-box { grid-column: auto; }
.pow-checkout .pow-summary-box h3 {
	margin: 0 0 12px !important;
	color: var(--pow-navy);
	font-size: 17px !important;
	font-weight: 750 !important;
	line-height: 1.3;
}
.pow-checkout .pow-summary-box p { margin: 0 0 10px !important; color: #354052; overflow-wrap: anywhere; }
.pow-checkout .pow-summary-box p:last-child { margin-bottom: 0 !important; }
.pow-checkout .pow-summary-box--delivery { border-left: 4px solid var(--pow-blue); }
.pow-checkout .pow-summary-box--table { padding: 0; overflow: hidden; background: var(--pow-white); }
.pow-checkout .pow-summary-box--table > h3 {
	margin: 0 !important;
	padding: 20px 22px;
	border-bottom: 1px solid var(--pow-line);
	background: var(--pow-soft);
}
.woocommerce .pow-checkout table.pow-order-table,
.pow-checkout table.pow-order-table {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	table-layout: fixed;
	background: var(--pow-white);
}
.pow-checkout .pow-order-table th,
.pow-checkout .pow-order-table td {
	padding: 16px 22px !important;
	border: 0 !important;
	border-bottom: 1px solid #e7ecf2 !important;
	background: transparent !important;
	color: var(--pow-ink) !important;
	font-size: 14px;
	line-height: 1.45;
	text-align: left !important;
	vertical-align: top;
}
.pow-checkout .pow-order-table th:first-child,
.pow-checkout .pow-order-table td:first-child { width: 72%; }
.pow-checkout .pow-order-table th:last-child,
.pow-checkout .pow-order-table td:last-child { width: 28%; text-align: right !important; white-space: nowrap; }
.pow-checkout .pow-order-table tr:last-child th,
.pow-checkout .pow-order-table tr:last-child td { border-bottom: 0 !important; }
.pow-checkout .pow-product-name { display: inline; font-weight: 650; overflow-wrap: anywhere; word-break: normal; }
.pow-checkout .pow-product-summary { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.pow-checkout .pow-product-image { flex: 0 0 64px; }
.pow-checkout .pow-product-image img { display: block; width: 64px; height: 64px; object-fit: cover; border-radius: 6px; }
.pow-checkout .pow-product-details { min-width: 0; }
.pow-checkout .pow-product-quantity { display: inline-block; margin-left: 5px; color: var(--pow-muted); white-space: nowrap; }
.pow-checkout .pow-order-table .variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 2px 8px;
	margin: 8px 0 0 !important;
	color: var(--pow-muted);
	font-size: 12px;
}
.pow-checkout .pow-order-table .variation dt,
.pow-checkout .pow-order-table .variation dd,
.pow-checkout .pow-order-table .variation p { margin: 0 !important; padding: 0 !important; }
.pow-checkout .pow-summary-box--totals .order-total th,
.pow-checkout .pow-summary-box--totals .order-total td {
	background: var(--pow-soft) !important;
	color: var(--pow-navy) !important;
	font-size: 17px;
	font-weight: 800;
}
.pow-checkout .pow-confirm-form { margin: 0 !important; }
.pow-checkout .pow-terms {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	padding: 16px 18px;
	border: 1px solid var(--pow-line);
	border-radius: 9px;
	background: var(--pow-soft);
	color: var(--pow-ink);
	font-weight: 600;
}
.pow-checkout .woocommerce-error,
.pow-checkout .woocommerce-message,
.pow-checkout .woocommerce-info { grid-column: 1 / -1; margin: 0 0 20px !important; border-radius: 9px; }

.pow-confirmation {
	width: min(100% - 32px, 900px);
	margin: 30px auto 48px;
	padding: clamp(24px, 4vw, 36px);
	border: 1px solid var(--pow-line);
	border-radius: 16px;
	background: var(--pow-white);
	box-shadow: 0 12px 36px rgba(16, 35, 63, 0.09);
	text-align: center;
}
.pow-confirmation-card { width: 100%; max-width: 720px; margin: 0 auto; }
.pow-confirmation .pow-success-icon {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: #e8f6f0;
	color: var(--pow-success);
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
}
.pow-confirmation h1 {
	margin: 0 0 6px !important;
	color: var(--pow-navy);
	font-size: clamp(28px, 4vw, 40px) !important;
	line-height: 1.15 !important;
}
.pow-confirmation-card > p { margin: 0 auto 8px !important; color: var(--pow-muted); line-height: 1.45; }
.pow-confirmation-card > p:last-child { margin-bottom: 0 !important; }
.pow-confirmation .pow-deadline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	max-width: 100%;
	margin: 14px auto 0;
	padding: 11px 16px;
	border: 1px solid var(--pow-line);
	border-left: 4px solid var(--pow-blue);
	border-radius: 10px;
	background: var(--pow-soft);
}
.pow-confirmation .pow-deadline > span { display: inline-flex; flex-shrink: 0; align-items: center; line-height: 1; font-size: 20px; }
.pow-confirmation .pow-deadline > strong { line-height: 1.3; }
.pow-confirmation-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 18px 0;
	text-align: left;
}
.pow-confirmation-details > div {
	min-width: 0;
	padding: 16px 18px;
	border: 1px solid var(--pow-line);
	border-radius: 10px;
	background: var(--pow-soft);
}
.pow-confirmation-details dt { margin: 0 0 7px; color: var(--pow-muted); font-size: 14px; font-weight: 600; }
.pow-confirmation-details dd { margin: 0; color: var(--pow-ink); font-size: 18px; font-weight: 700; overflow-wrap: anywhere; }
.pow-confirmation-details > div:nth-child(2) > dd > p {
	margin: 12px 0 0 !important;
	padding-top: 12px;
	border-top: 1px solid var(--pow-line);
	color: var(--pow-muted);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.pow-confirmation-details > div:nth-child(2) > dd > p .woocommerce-Price-amount {
	display: block;
	margin-top: 4px;
	color: var(--pow-ink);
	font-size: 16px;
	font-weight: 700;
}
.pow-confirmation .pow-shop-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px !important;
	max-width: 100%;
}

@media (max-width: 700px) {
	.woocommerce .pow-checkout,
	.pow-checkout { width: min(100% - 20px, 980px); margin-top: 18px !important; margin-bottom: 38px !important; }
	.woocommerce .pow-checkout .pow-steps,
	.pow-checkout .pow-steps { padding: 15px 8px !important; border-radius: 11px; }
	.pow-checkout .pow-step { flex-direction: column; gap: 6px; padding: 0 4px; font-size: 11px; }
	.pow-checkout .pow-step:not(:last-child)::after { top: 17px; right: -7px; }
	.pow-checkout .pow-step-number { flex-basis: 30px; width: 30px; height: 30px; font-size: 12px; }
	.pow-checkout .pow-step-label { max-width: 100%; overflow-wrap: anywhere; }
	.woocommerce .pow-checkout .pow-form,
	.woocommerce .pow-checkout .pow-summary,
	.pow-checkout .pow-form,
	.pow-checkout .pow-summary {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 20px 16px !important;
		border-radius: 12px;
	}
	.pow-checkout .pow-summary-grid,
	.pow-confirmation-details { grid-template-columns: minmax(0, 1fr); }
	.pow-checkout .pow-summary-grid .pow-summary-box,
	.pow-confirmation-details > div { grid-column: 1; }
	.pow-checkout .pow-summary-box { padding: 17px; }
	.pow-checkout .pow-summary-box--table { padding: 0; overflow: hidden; }
	.pow-checkout .pow-summary-box--table > h3,
	.pow-checkout .pow-order-table th,
	.pow-checkout .pow-order-table td { padding: 13px 10px !important; }
	.pow-checkout .pow-order-table th:first-child,
	.pow-checkout .pow-order-table td:first-child { width: 60%; }
	.pow-checkout .pow-order-table th:last-child,
	.pow-checkout .pow-order-table td:last-child { width: 40%; }
	.pow-checkout .pow-product-summary { gap: 8px; }
	.pow-checkout .pow-product-image { flex-basis: 48px; }
	.pow-checkout .pow-product-image img { width: 48px; height: 48px; }
	.pow-checkout .pow-actions,
	.pow-checkout .pow-actions--end { flex-direction: column-reverse; align-items: stretch; }
	.woocommerce .pow-checkout .pow-actions .button,
	.pow-checkout .pow-actions .button,
	.pow-confirmation .pow-button { width: 100% !important; min-width: 0; }
	.pow-confirmation { width: min(100% - 20px, 900px); margin: 20px auto 36px; padding: 24px 17px; }
	.pow-confirmation-details { gap: 12px; margin: 16px 0; }
	.pow-confirmation .pow-shop-button { width: 100% !important; max-width: 320px; }
}

@media (max-width: 420px) {
	.pow-checkout .pow-step-label { font-size: 10px; }
	.pow-checkout .pow-step:not(:last-child)::after { content: ""; }
	.pow-checkout .pow-order-table th,
	.pow-checkout .pow-order-table td { font-size: 12px; }
}
