/* PlushieeZone Rewards: customer-facing styles (brand colours with fallbacks). */
.pzr-coin {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #F8DB0D;
	color: #152E55;
	font: 700 12px/1 "Fredoka", "Nunito", sans-serif;
	box-shadow: inset 0 -2px 0 #E5C800;
}

/* Product page */
.pzr-earn {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0 0 16px;
	padding: 10px 14px;
	border-radius: 14px;
	background: #EEF4FB;
	color: #0C3A6E;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}
.pzr-earn strong { color: #152E55; font-weight: 800; }
.pzr-earn__link { margin-left: auto; font-size: 13px; font-weight: 800; color: #1358A8; white-space: nowrap; }
.pzr-earn.is-zero { display: none; }

/* Checkout box (order summary) */
.pzr-co {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 12px 0 4px;
	padding: 16px;
	border: 1px solid #E3E9F2;
	border-radius: 18px;
	background: #FFFFFF;
	font-size: 14px;
	color: #2B3A55;
}
.pzr-co.is-busy { opacity: .6; pointer-events: none; }
.pzr-co__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.pzr-co__head strong { font-family: "Fredoka", sans-serif; font-weight: 600; font-size: 17px; color: #152E55; }
.pzr-co__bal { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: #152E55; }
.pzr-co__pick { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 2px solid #1358A8; border-radius: 14px; }
.pzr-co__use {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	border: 0;
	background: none;
	color: #152E55;
	font: inherit;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
}
.pzr-co__check { width: 20px; height: 20px; flex: none; border: 1.5px solid #C9D3E3; border-radius: 6px; background: #FFFFFF; }
.pzr-co__use:hover .pzr-co__check { border-color: #152E55; }
.pzr-co__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pzr-co__chip {
	padding: 6px 12px;
	border: 1.5px solid #C9D3E3;
	border-radius: 999px;
	background: #FFFFFF;
	color: #152E55;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}
.pzr-co__chip:hover { border-color: #152E55; }
.pzr-co__chip.is-max { background: #152E55; border-color: #152E55; color: #FFFFFF; }
.pzr-co button:focus-visible { outline: 3px solid #F8DB0D; outline-offset: 2px; }
.pzr-co__applied {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #E8F5EE;
	color: #145C39;
	font-weight: 800;
}
.pzr-co__remove { flex: none; white-space: nowrap; padding: 0; border: 0; background: none; color: #1358A8; font: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.pzr-co__hint { margin: 0; color: #55627A; font-weight: 700; }
.pzr-co__earn { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 12px; background: #FDF4CA; font-weight: 700; }
.pzr-co--guest { flex-direction: row; align-items: flex-start; gap: 10px; background: #EEF4FB; border-color: #DCE8F6; color: #0C3A6E; font-weight: 700; }

/* Order page / thank you */
.pzr-order-note { display: flex; align-items: center; gap: 10px; margin: 16px 0; padding: 12px 14px; border-radius: 14px; background: #FDF4CA; color: #152E55; font-weight: 700; }

/* My account → Points */
.pzr-account { display: flex; flex-direction: column; gap: 16px; }
.pzr-balance {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 24px;
	border-radius: 24px;
	background: #152E55;
	color: #FFFFFF;
}
.pzr-balance::after { content: ""; position: absolute; width: 180px; height: 180px; border-radius: 50%; background: #F8DB0D; opacity: .25; right: -50px; top: -70px; }
.pzr-balance__label { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #F8DB0D; }
.pzr-balance__pts { font-family: "Fredoka", sans-serif; font-weight: 600; font-size: 40px; line-height: 1; color: #FFFFFF; }
.pzr-balance__pts small { font-size: 20px; }
.pzr-balance__value { font-weight: 700; }
.pzr-progress, .pzr-activity { padding: 18px 22px; border: 1px solid #E3E9F2; border-radius: 22px; background: #FFFFFF; }
.pzr-progress__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 800; color: #152E55; }
.pzr-progress__bar { height: 10px; margin-top: 10px; border-radius: 999px; background: #E3E9F2; overflow: hidden; }
.pzr-progress__bar span { display: block; height: 100%; border-radius: 999px; background: #F8DB0D; }
.pzr-progress__hint { margin: 10px 0 0; font-size: 13px; color: #55627A; }
.pzr-activity h3 { margin: 0 0 6px; font-size: 18px; color: #152E55; }
.pzr-activity ul { list-style: none; margin: 0; padding: 0; }
.pzr-activity li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #E3E9F2; font-size: 14px; }
.pzr-activity li:last-child { border-bottom: 0; }
.pzr-activity li small { display: block; color: #55627A; font-size: 12px; }
.pzr-activity .is-plus { color: #1B7A4B; }
.pzr-activity .is-minus { color: #C8324A; }
.pzr-activity .is-pending { color: #55627A; font-weight: 800; white-space: nowrap; }
.pzr-empty { margin: 0; color: #55627A; }
.pzr-expiry { margin: 0; font-size: 13px; color: #55627A; }

/* Rewards page */
.pzr-page { display: flex; flex-direction: column; gap: 28px; }
.pzr-page__head { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pzr-page__head h2 { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: clamp(30px, 5vw, 44px); color: #152E55; }
.pzr-page__head p { margin: 0; font-size: 18px; max-width: 640px; }
.pzr-page__balance { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #EEF4FB; font-weight: 800; text-decoration: none; color: #152E55; }
.pzr-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pzr-step { display: flex; flex-direction: column; gap: 10px; padding: 24px; border: 1px solid #E3E9F2; border-radius: 24px; background: #FFFFFF; box-shadow: 0 16px 40px rgba(21, 46, 85, .08); }
.pzr-step__icon { width: 48px; height: 48px; border-radius: 16px; background: #FDF4CA; color: #1358A8; display: grid; place-items: center; }
.pzr-step h3 { margin: 0; font-size: 22px; color: #152E55; }
.pzr-step p { margin: 0; color: #55627A; }
.pzr-step strong { color: #152E55; }
.pzr-rules { padding: 24px; border: 1px solid #E3E9F2; border-radius: 24px; background: #FFFFFF; }
.pzr-rules h3 { margin: 0 0 8px; font-size: 22px; color: #152E55; }
.pzr-rules dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin: 0; }
.pzr-rules dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #E3E9F2; }
.pzr-rules dt { margin: 0; }
.pzr-rules dd { margin: 0; font-weight: 800; color: #152E55; text-align: right; }

@media (max-width: 760px) {
	.pzr-steps, .pzr-rules dl { grid-template-columns: minmax(0, 1fr); }
	.pzr-earn__link { margin-left: 0; }
}

/* Checkout: sit inside the order summary card, and undo theme button styles */
.wc-block-components-totals-wrapper .pzr-co { margin: 4px 16px 16px !important; padding: 16px !important; }
.pzr-co button,
.pzr-co button:hover,
.pzr-co button:focus { box-shadow: none !important; text-shadow: none; min-height: 0; line-height: 1.3; transform: none; text-transform: none; letter-spacing: normal; }
.pzr-co .pzr-co__use,
.pzr-co .pzr-co__use:hover,
.pzr-co .pzr-co__use:focus { background: transparent !important; color: #152E55 !important; border: 0 !important; padding: 0 !important; border-radius: 0; }
.pzr-co .pzr-co__remove,
.pzr-co .pzr-co__remove:hover,
.pzr-co .pzr-co__remove:focus { background: transparent !important; color: #1358A8 !important; border: 0 !important; padding: 0 !important; }
.pzr-co .pzr-co__chip,
.pzr-co .pzr-co__chip:focus { background: #FFFFFF !important; color: #152E55 !important; border: 1.5px solid #C9D3E3 !important; padding: 6px 12px !important; border-radius: 999px !important; }
.pzr-co .pzr-co__chip:hover { background: #EEF4FB !important; border-color: #152E55 !important; color: #152E55 !important; }
.pzr-co .pzr-co__chip.is-max,
.pzr-co .pzr-co__chip.is-max:hover { background: #152E55 !important; border-color: #152E55 !important; color: #FFFFFF !important; }
