/* Kidsplay Cadeaubonnen – productpagina & saldo-checker */
.kpgc-fields { --kpgc-accent: #bf8a50; margin: 0 0 1.25em; font-family: inherit; }
.kpgc-field { margin-bottom: 1.25em; }
.kpgc-label { display: block; font-weight: 700; margin-bottom: .5em; }
.kpgc-label .required { color: #c00; text-decoration: none; border: 0; }
.kpgc-hint { display: block; opacity: .75; font-size: .875em; margin-top: .35em; }
.kpgc-hint[hidden], .kpgc-fields [hidden] { display: none !important; }

.kpgc-presets { display: flex; flex-wrap: wrap; gap: .5em; margin-bottom: .6em; }
.kpgc-preset {
	appearance: none; cursor: pointer; min-width: 4.5em; padding: .6em 1em; border-radius: 999px;
	border: 2px solid var(--kpgc-accent); background: #fff; color: var(--kpgc-accent);
	font-weight: 700; font-size: 1em; line-height: 1.2; transition: background .15s, color .15s;
}
.kpgc-preset:hover, .kpgc-preset.is-active { background: var(--kpgc-accent); color: #fff; }
.kpgc-preset .woocommerce-Price-amount { color: inherit; }

.kpgc-amount-wrap { position: relative; max-width: 14em; }
.kpgc-currency { position: absolute; left: .8em; top: 50%; transform: translateY(-50%); font-weight: 700; opacity: .7; pointer-events: none; }
.kpgc-amount-wrap input { width: 100%; padding-left: 2em !important; font-size: 1.1em; font-weight: 700; }

.kpgc-delivery { display: grid; grid-template-columns: 1fr 1fr; gap: .6em; }
.kpgc-option {
	display: flex; gap: .6em; align-items: flex-start; cursor: pointer; padding: .8em .9em;
	border: 2px solid #e2e2e2; border-radius: 10px; background: #fff; margin: 0;
}
.kpgc-option:has(input:checked) { border-color: var(--kpgc-accent); background: color-mix(in srgb, var(--kpgc-accent) 7%, #fff); }
.kpgc-option input { margin-top: .25em; accent-color: var(--kpgc-accent); }
.kpgc-option span { display: flex; flex-direction: column; gap: .15em; }
.kpgc-option small { opacity: .75; }

.kpgc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .8em; }
.kpgc-grid p { margin: 0 0 .7em; }
.kpgc-grid .kpgc-full { grid-column: 1 / -1; }
.kpgc-grid label { display: block; font-size: .9em; margin-bottom: .25em; }
.kpgc-grid input, .kpgc-grid textarea { width: 100%; box-sizing: border-box; }

@media (max-width: 600px) {
	.kpgc-delivery, .kpgc-grid { grid-template-columns: 1fr; }
}

/* Winkelmand / afrekenen */
.kpgc-giftcard-row .kpgc-remove { font-size: .85em; margin-left: .4em; }

/* Saldo-checker */
.kpgc-balance-form { max-width: 32em; }
.kpgc-balance-form label { display: block; font-weight: 700; margin-bottom: .4em; }
.kpgc-balance-row { display: flex; gap: .5em; }
.kpgc-balance-row input { flex: 1; text-transform: uppercase; letter-spacing: .05em; }
.kpgc-msg { margin-top: 1em; padding: .8em 1em; border-radius: 8px; }
.kpgc-msg p { margin: .2em 0; }
.kpgc-msg.is-ok { background: #eef8ec; border: 1px solid #b9e0b2; }
.kpgc-msg.is-error { background: #fdeeee; border: 1px solid #f1bcbc; }
.kpgc-saldo { font-size: 1.3em; }

/* Live voorbeeld van de bon (vervangt de productafbeelding) */
@font-face { font-family: 'KPFredoka'; src: url('fonts/Fredoka-SemiBold.ttf') format('truetype'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'KPQuicksand'; src: url('fonts/Quicksand-Medium.ttf') format('truetype'); font-weight: 400 600; font-display: swap; }
@font-face { font-family: 'KPQuicksand'; src: url('fonts/Quicksand-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
.kpgc-preview[hidden] { display: none !important; }
.kpgc-preview { width: 100%; margin: 0 0 1.5em; }
.kpgc-preview .kpgc-voucher-svg {
	display: block; width: 100%; height: auto; aspect-ratio: 210 / 99;
	border-radius: 6px; box-shadow: 0 8px 28px rgba(60, 40, 20, .16), 0 1px 3px rgba(0, 0, 0, .08);
	background: #fff;
}
.kpgc-preview .kpgc-v { transition: opacity .15s; }
.kpgc-preview-caption { font-size: .85em; opacity: .7; text-align: center; margin-top: .6em; }
