.post-office-field   { clear: both; }
#billing_post_office { width: 100%; }

.sv-retry-container { margin-top: 5px; margin-bottom: 10px; }

.sv-retry-btn {
	background: #f8f9fa;
	border: 1px solid #ddd;
	color: #333;
	padding: 10px 12px;
	font-size: 14px;
	cursor: pointer;
	width: 100%;
	border-radius: 4px;
	transition: background 0.2s, border-color 0.2s;
}
.sv-retry-btn:hover    { background: #e9ecef; border-color: #999; }
.sv-retry-btn:disabled { opacity: 0.5; cursor: not-allowed; }

#billing_post_office[data-loading="true"] {
	background: #f5f5f5;
	cursor: wait;
}

/* Invalid-state feedback — matches the checkout step plugin's own
   red-border/inline-message styling so a shopper sees the same visual
   language for every required field, regardless of which plugin owns it. */
.sv-po-invalid {
	border: 2px solid #e74c3c !important;
	box-shadow: 0 0 0 2px rgba( 231, 76, 60, 0.18 );
	background-color: #fff5f5 !important;
}
.sv-po-error-msg {
	color: #e74c3c;
	font-size: 12px;
	display: block;
	margin-top: 4px;
}

/* Inline manual entry row */
#sv_manual_entry_row {
	display: none;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	margin-top: 6px;
}
#sv_manual_po_input {
	flex: 1;
	min-width: 180px;
	padding: 8px 10px;
	font-size: 14px;
	border: 1px solid #2271b1;
	border-radius: 4px;
}
#sv_manual_po_save,
#sv_manual_po_cancel {
	padding: 8px 14px;
	font-size: 13px;
	border-radius: 4px;
	cursor: pointer;
	border: 1px solid transparent;
	white-space: nowrap;
}
#sv_manual_po_save         { background: #2271b1; color: #fff; border-color: #2271b1; }
#sv_manual_po_save:hover   { background: #135e96; }
#sv_manual_po_cancel       { background: #f0f0f0; color: #333; border-color: #ccc; }
#sv_manual_po_cancel:hover { background: #e0e0e0; }

@media ( max-width: 768px ) {
	#billing_post_office,
	.sv-retry-btn,
	#sv_manual_po_input { font-size: 16px; }

	#sv_manual_po_input { min-width: 100%; }
}
