/* Plush Product Types – Frontend */

.plush-size-selector {
	margin: 1.2em 0 1.5em;
	padding: 1.1em 1.3em;
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
}

.plush-field {
	margin-bottom: .9em;
}

.plush-field label,
.plush-size-selector > label {
	display: block;
	font-weight: 600;
	margin-bottom: .5em;
	font-size: 1em;
}

.plush-size-select {
	width: 100%;
	max-width: 320px;
	padding: .45em .7em;
	font-size: .95em;
	border: 1px solid #ccc;
	border-radius: 3px;
	background-color: #fff;
	cursor: pointer;
}

/* Patch option */
.plush-patch-option {
	margin: .4em 0 .9em;
	padding: .75em 1em;
	background: #fff8e7;
	border: 1px solid #f0d080;
	border-radius: 4px;
}

.plush-patch-label {
	display: flex;
	align-items: center;
	gap: .5em;
	cursor: pointer;
	font-size: .97em;
	font-weight: 500;
}

.plush-patch-label input[type="checkbox"] {
	width: 1.1em;
	height: 1.1em;
	cursor: pointer;
	flex-shrink: 0;
}

.plush-patch-text-wrap {
	margin-top: .7em;
}

.plush-patch-text {
	width: 100%;
	max-width: 420px;
	padding: .5em .7em;
	font-size: .95em;
	border: 1px solid #d0b860;
	border-radius: 3px;
	background: #fffdf5;
	resize: vertical;
	color: #333;
	font-family: inherit;
}

.plush-patch-text::placeholder {
	color: #aaa;
	font-style: italic;
}

/* Price display */
.plush-price-display {
	margin-top: .85em;
	min-height: 1.6em;
	font-size: 1.05em;
	transition: opacity .2s ease;
}

.plush-price-display .plush-price-label {
	font-weight: 600;
	margin-right: .3em;
}

.plush-price-display:not(.plush-price-visible) {
	opacity: 0;
}

.plush-price-display.plush-price-visible {
	opacity: 1;
}

.plush-price-display.plush-loading .plush-current-price::after {
	content: '…';
}

/* Size in cart name */
.plush-size-in-name {
	color: #777;
	font-size: .85em;
	font-weight: normal;
}
