.w2pshop-pps-calculator {
	margin: 1.5em 0;
	max-width: 420px;
}

.w2pshop-pps-calculator .w2pshop-pps-toggle {
	margin-bottom: 0.75em;
}

.w2pshop-pps-form {
	border: 1px solid #e5e5e5;
	padding: 1em;
	border-radius: 4px;
	background: #fafafa;
}

.w2pshop-pps-form .form-row {
	margin-bottom: 0.75em;
}

.w2pshop-pps-form select,
.w2pshop-pps-form .input-text {
	width: 100%;
}

.w2pshop-pps-message {
	min-height: 1.2em;
	margin-bottom: 0.5em;
}

.w2pshop-pps-message.w2pshop-pps-error {
	color: #b32d2e;
}

.w2pshop-pps-message.w2pshop-pps-success {
	color: #2e7d32;
}

.w2pshop-pps-delivery {
	color: #444;
	font-style: italic;
	margin-bottom: 0.5em;
}

.w2pshop-pps-methods {
	display: flex;
	flex-direction: column;
	gap: 0.35em;
	margin-top: 0.25em;
}

.w2pshop-pps-method {
	display: flex;
	align-items: center;
	gap: 0.4em;
	cursor: pointer;
}

.w2pshop-pps-method-cost {
	font-weight: 600;
}

.w2pshop-pps-methods-empty {
	color: #777;
	font-style: italic;
}

.w2pshop-pps-loader {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 0.5em;
	vertical-align: middle;
	border: 2px solid #ccc;
	border-top-color: #444;
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.15s;
}

.w2pshop-pps-loader.is-loading {
	opacity: 1;
	animation: w2pshop-pps-spin 0.8s linear infinite;
}

@keyframes w2pshop-pps-spin {
	to { transform: rotate(360deg); }
}
