/**
 * Styles de base — pensés pour être surchargés par le thème (TheGem).
 * Volontairement minimalistes : mise en page fonctionnelle, pas de branding.
 */

.wcg-purchase-options {
	margin: 1.5em 0;
}

.wcg-purchase-options .wcg-field {
	margin-bottom: 0.75em;
}

.wcg-purchase-options label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25em;
}

.wcg-purchase-options select {
	width: 100%;
	max-width: 320px;
}

.wcg-options-note {
	font-size: 0.85em;
	opacity: 0.75;
}

.wcg-photo-selection {
	margin: 1.5em 0;
}

.wcg-photo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 12px;
	margin: 1em 0;
}

.wcg-photo-item {
	margin: 0;
	text-align: center;
}

.wcg-photo-item img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}

.wcg-photo-item figcaption {
	font-size: 0.75em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-top: 4px;
}

.wcg-empty {
	opacity: 0.6;
	font-style: italic;
}

.wcg-upload-zone {
	border: 2px dashed #ccc;
	border-radius: 6px;
	padding: 1.25em;
	text-align: center;
	margin: 1em 0;
}

.wcg-upload-label {
	display: inline-block;
	cursor: pointer;
	font-weight: 600;
	padding: 0.5em 1em;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.wcg-upload-hint {
	font-size: 0.8em;
	opacity: 0.7;
	margin-top: 0.5em;
}

.wcg-account-invite {
	background: #f7f7f7;
	border-radius: 6px;
	padding: 1em;
	margin-top: 1em;
}

.wcg-btn {
	display: inline-block;
	padding: 0.5em 1.25em;
	border-radius: 4px;
	background: #222;
	color: #fff;
	text-decoration: none;
	margin-right: 0.5em;
}

.wcg-btn-secondary {
	background: transparent;
	color: #222;
	border: 1px solid #222;
}
