.pkot {
	--pkot-accent: #f0b90b;
	--pkot-text: #1f2733;
	--pkot-muted: #8a92a0;
	--pkot-border: #e3e6ea;
	--pkot-bg: #ffffff;
	max-width: 580px;
	margin: 60px auto;
	padding: 0 20px;
	color: var(--pkot-text);
}

.pkot__title {
	margin: 0 0 32px;
	text-align: center;
	font-size: 40px;
	font-weight: 800;
	color: var(--pkot-text);
}

/* ---------- Form ---------- */

.pkot-field {
	margin-bottom: 22px;
}

.pkot-field label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--pkot-text);
}

.pkot-required {
	color: #e0295a;
}

.pkot-field input {
	width: 100%;
	height: 46px;
	padding: 0 16px;
	border: 1px solid var(--pkot-border);
	border-radius: 8px;
	background: var(--pkot-bg);
	font-size: 15px;
	color: var(--pkot-text);
	box-shadow: none;
}

.pkot-field input::placeholder {
	color: var(--pkot-muted);
}

.pkot-field input:focus {
	outline: none;
	border-color: var(--pkot-accent);
	box-shadow: 0 0 0 3px rgba(240, 185, 11, 0.18);
}

/* Woodmart styles every bare <button>, so the submit button is reset here. */
.pkot .pkot-submit {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 46px;
	min-height: 0;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 8px;
	background-color: var(--pkot-accent);
	color: #1a1300;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	cursor: pointer;
	transition: filter 0.2s ease, transform 0.2s ease;
}

.pkot .pkot-submit:hover {
	background-color: var(--pkot-accent);
	filter: brightness(0.95);
}

.pkot .pkot-submit:active {
	transform: translateY(1px);
}

/* ---------- Alerts ---------- */

.pkot-alert {
	margin-bottom: 22px;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
}

.pkot-alert--error {
	background: #fdecef;
	border: 1px solid #f5c2cd;
	color: #a3223d;
}

/* ---------- Result ---------- */

.pkot-result {
	border: 1px solid var(--pkot-border);
	border-radius: 12px;
	padding: 24px;
	background: var(--pkot-bg);
}

.pkot-result__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--pkot-border);
}

.pkot-result__label {
	display: block;
	font-size: 13px;
	color: var(--pkot-muted);
}

.pkot-result__number {
	font-size: 20px;
	font-weight: 800;
}

.pkot-status {
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	background: #eef1f5;
	color: #4b5563;
}

.pkot-status--processing {
	background: #fff4d1;
	color: #8a6100;
}

.pkot-status--completed {
	background: #e3f6e9;
	color: #1c7a3e;
}

.pkot-status--cancelled,
.pkot-status--failed,
.pkot-status--refunded {
	background: #fdecef;
	color: #a3223d;
}

.pkot-meta {
	list-style: none;
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
	margin: 18px 0;
	padding: 0;
}

.pkot-meta li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 14px;
}

.pkot-meta span {
	color: var(--pkot-muted);
	font-size: 13px;
}

.pkot-items {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.pkot-items th {
	padding: 10px 0;
	border-bottom: 1px solid var(--pkot-border);
	text-align: left;
	font-size: 13px;
	font-weight: 600;
	color: var(--pkot-muted);
}

.pkot-items th:last-child,
.pkot-items td:last-child {
	text-align: right;
}

.pkot-items td {
	padding: 12px 0;
	border-bottom: 1px solid var(--pkot-border);
}

/* ---------- Keys ---------- */

.pkot-keys {
	margin-top: 24px;
	padding: 18px;
	border-radius: 10px;
	background: #fbfbfc;
	border: 1px solid var(--pkot-border);
}

.pkot-keys__title {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 700;
}

.pkot-keys__group {
	margin-bottom: 14px;
}

.pkot-keys__group:last-child {
	margin-bottom: 0;
}

.pkot-keys__product {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--pkot-muted);
}

.pkot-key {
	display: block;
	margin-bottom: 6px;
	padding: 10px 12px;
	border: 1px dashed var(--pkot-border);
	border-radius: 6px;
	background: #fff;
	font-family: Consolas, Monaco, monospace;
	font-size: 13px;
	word-break: break-all;
	user-select: all;
}

.pkot-note {
	margin: 20px 0 0;
	font-size: 14px;
	color: var(--pkot-muted);
}

@media (max-width: 600px) {
	.pkot {
		margin: 40px auto;
	}
	.pkot__title {
		font-size: 28px;
		margin-bottom: 24px;
	}
	.pkot-result {
		padding: 18px;
	}
}
