/* Gift Cards and Store Credit — frontend styles */

/*
 * Defensive rules: some "copy protection" / right-click blocker plugins inject
 * transparent overlays or force user-select:none on product content, which
 * makes our input fields un-clickable. We re-enable interaction explicitly.
 */
.gcsc-picker,
.gcsc-picker *,
.gcsc-redeem,
.gcsc-redeem * {
	-webkit-user-select: text !important;
	-moz-user-select: text !important;
	-ms-user-select: text !important;
	user-select: text !important;
	pointer-events: auto !important;
}
.gcsc-picker input,
.gcsc-picker textarea,
.gcsc-picker select,
.gcsc-picker button,
.gcsc-picker label {
	position: relative;
	z-index: 5;
}
.gcsc-picker { margin: 1em 0 1.5em; display: grid; gap: 14px; position: relative; z-index: 2; }
.gcsc-picker fieldset { border: 1px solid #e2e2e2; padding: 10px 14px; }
.gcsc-picker legend { font-weight: 600; padding: 0 6px; }
.gcsc-denoms { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gcsc-denom { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #ccc; border-radius: 6px; cursor: pointer; }
.gcsc-denom input { margin: 0; }
.gcsc-denom:has(input:checked) { background: #fff7e0; border-color: #ffc857; }

.gcsc-template-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.gcsc-template-card { cursor: pointer; text-align: center; display: block; }
.gcsc-template-card input { position: absolute; opacity: 0; }
.gcsc-template-thumb {
	display: block;
	aspect-ratio: 8 / 5;
	background-size: cover;
	background-position: center;
	background-color: #1f2d3d;
	border: 2px solid transparent;
	border-radius: 6px;
}
.gcsc-template-card input:checked + .gcsc-template-thumb { border-color: #ffc857; box-shadow: 0 0 0 3px rgba(255,200,87,.3); }
.gcsc-template-title { display: block; font-size: 13px; margin-top: 4px; }

.gcsc-redeem { margin: 1em 0; padding: 10px 12px; border: 1px dashed #ccc; }
.gcsc-redeem-form { display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.gcsc-applied-cards { list-style: none; padding: 0; margin: 8px 0 0; }
.gcsc-applied-cards li { padding: 4px 0; }
.gcsc-remove-link { background: none; border: 0; color: #c00; cursor: pointer; padding: 0 4px; }

.gcsc-issued-cards table { width: 100%; margin-top: 10px; }
