/**
 * CartNexa Size Swatches Widget CSS
 * Isolated per-widget styling with luxury baby aesthetic
 */

.cn-size-swatches-wrapper {
	width: 100%;
	font-family: var(--cn-font-family, sans-serif);
	box-sizing: border-box;
}

/* Header & Selected Value */
.cn-size-header {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 12px;
	font-size: 14px;
}

.cn-size-label {
	color: var(--cn-body, #667085);
	font-weight: 500;
}

.cn-size-selected-value {
	color: var(--cn-dark, #233547);
	font-weight: 700;
	transition: color 0.2s ease;
}

/* Size List Container */
.cn-size-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

/* Size Button Item Base */
.cn-size-item {
	min-width: 48px;
	height: 42px;
	padding: 0 16px;
	border: 1px solid var(--cn-border, #E6EEF2);
	border-radius: 12px;
	background-color: #FFFFFF;
	color: var(--cn-dark, #233547);
	font-family: var(--cn-font-family, sans-serif);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	outline: none;
	position: relative;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 6px rgba(35, 53, 71, 0.03);
}

/* Hover & Active States */
.cn-size-item:hover:not(.out-of-stock) {
	border-color: var(--cn-primary-hover, #19B0B4);
	color: var(--cn-primary-hover, #19B0B4);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(35, 53, 71, 0.08);
}

.cn-size-item.active {
	background-color: var(--cn-primary, #25C4C8);
	color: #FFFFFF;
	border-color: var(--cn-primary, #25C4C8);
	box-shadow: 0 6px 18px rgba(37, 196, 200, 0.35);
	transform: scale(1.03);
}

.cn-size-item:focus-visible {
	box-shadow: 0 0 0 3px var(--cn-primary, #25C4C8);
}

/* Out of Stock / Disabled State */
.cn-size-item.out-of-stock {
	opacity: 0.45;
	background-color: var(--cn-soft-bg, #F8FCFD);
	color: #98A2B3;
	border-color: var(--cn-border, #E6EEF2);
	cursor: not-allowed;
	text-decoration: line-through;
}

.cn-size-item.out-of-stock::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 10%;
	width: 80%;
	height: 1.5px;
	background-color: var(--cn-danger, #EF4444);
	transform: translateY(-50%) rotate(-25deg);
	border-radius: 2px;
}
