.psvf-box{
	margin:14px 0;
	border:1px solid #dedede;
	border-radius:16px;
	background:#fff;
	overflow:hidden;
	box-shadow:0 2px 10px rgba(0,0,0,.035);
}
.psvf-box-header{
	display:flex;
	align-items:center;
	min-height:42px;
	padding:10px 16px;
	background:linear-gradient(135deg,#f32b1d,#ff3b24);
	color:#fff;
	font-size:15px;
	font-weight:900;
	letter-spacing:.02em;
}
.psvf-box-body{padding:15px 15px 14px}
.psvf-copy{margin:0 0 13px;color:#3e3e3e;font-size:13px;line-height:1.4}
.psvf-options{
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:9px;
	align-items:stretch;
}
.psvf-card{
	position:relative;
	display:flex;
	min-width:0;
	margin:0;
	padding:6px 6px 8px;
	flex-direction:column;
	align-items:stretch;
	border:1px solid #d9dde2;
	border-radius:13px;
	background:#fff;
	cursor:pointer;
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.psvf-card:hover{border-color:#aeb4bb;transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.07)}
.psvf-card input{
	position:absolute;
	width:1px;
	height:1px;
	opacity:0;
	pointer-events:none;
}
.psvf-card-visual{
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:1/1;
	border-radius:9px;
	overflow:hidden;
	background:#111;
}
.psvf-card-visual img{display:block;width:100%;height:100%;object-fit:cover}
.psvf-card-check{
	position:absolute;
	top:5px;
	right:5px;
	display:flex;
	width:22px;
	height:22px;
	align-items:center;
	justify-content:center;
	border:2px solid #fff;
	border-radius:50%;
	background:#f32b1d;
	color:#fff;
	font-size:14px;
	font-style:normal;
	font-weight:900;
	line-height:1;
	opacity:0;
	transform:scale(.7);
	transition:opacity .16s ease,transform .16s ease;
	box-shadow:0 2px 7px rgba(0,0,0,.22);
}
.psvf-card-title{
	display:-webkit-box;
	min-height:31px;
	margin-top:7px;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	color:#171717;
	font-size:11px;
	font-weight:800;
	line-height:1.35;
	text-align:center;
}
.psvf-card-price{
	display:block;
	margin-top:4px;
	color:#df2418;
	font-size:11.5px;
	font-weight:900;
	line-height:1.2;
	text-align:center;
}
.psvf-card-price.is-included{color:#24824d}
.psvf-card.is-selected,
.psvf-card:has(input:checked){border-color:#f32b1d;box-shadow:0 0 0 2px rgba(243,43,29,.18),0 6px 16px rgba(243,43,29,.09)}
.psvf-card.is-selected .psvf-card-check,
.psvf-card:has(input:checked) .psvf-card-check{opacity:1;transform:scale(1)}
.psvf-card input:focus-visible + .psvf-card-visual{outline:3px solid rgba(243,43,29,.35);outline-offset:2px}
.psvf-mobile-preview{display:none!important}
.psvf-swipe-hint{display:none}
.psvf-error{
	margin:11px 0 0;
	padding:9px 11px;
	border-left:4px solid #d63638;
	border-radius:5px;
	background:#fff2f1;
	color:#9f1711;
	font-size:12px;
	font-weight:700;
}
.psvf-box.has-error{border-color:#d63638;box-shadow:0 0 0 2px rgba(214,54,56,.12)}

@media(max-width:767px){
	.psvf-box{border-radius:15px;margin:12px 0}
	.psvf-box-header{min-height:40px;padding:10px 14px;font-size:14px}
	.psvf-box-body{padding:13px 12px 12px}
	.psvf-copy{margin-bottom:11px;font-size:12.5px}
	.psvf-mobile-preview:not([hidden]){
		display:block!important;
		margin:0 0 13px;
		padding:0;
	}
	.psvf-mobile-preview img{
		display:block;
		width:100%;
		aspect-ratio:1/1;
		border-radius:13px;
		object-fit:cover;
		background:#111;
		box-shadow:0 5px 18px rgba(0,0,0,.12);
	}
	.psvf-mobile-preview figcaption{
		margin-top:8px;
		color:#181818;
		font-size:14px;
		font-weight:850;
		text-align:center;
	}
	.psvf-options{
		display:grid;
		grid-auto-flow:column;
		grid-auto-columns:26%;
		grid-template-columns:none;
		gap:10px;
		overflow-x:auto;
		overflow-y:hidden;
		padding:2px 2px 9px;
		-webkit-overflow-scrolling:touch;
		scroll-snap-type:x proximity;
		scrollbar-width:none;
	}
	.psvf-options::-webkit-scrollbar{display:none}
	.psvf-card{scroll-snap-align:start;padding:5px 5px 7px;border-radius:11px}
	.psvf-card-visual{border-radius:8px}
	.psvf-card-check{top:4px;right:4px;width:20px;height:20px;font-size:13px}
	.psvf-card-title{min-height:30px;margin-top:6px;font-size:10.5px;line-height:1.35}
	.psvf-card-price{margin-top:3px;font-size:11px}
	.psvf-swipe-hint{display:block;margin:4px 0 0;color:#70757a;font-size:11.5px;text-align:center}
	.psvf-swipe-hint span{color:#f32b1d;font-size:15px;font-weight:900}
}

@media(max-width:380px){
	.psvf-options{grid-auto-columns:26.2%;gap:8px}
	.psvf-card-title{font-size:10px}
}

@media(prefers-reduced-motion:reduce){
	.psvf-card,.psvf-card-check{transition:none}
}

