.wcce-box{
	border:1px solid #e5e7eb;
	padding:20px 20px 5px 20px !important;
	margin-top:12px;
	margin-bottom:6px;
	background:#ffffff;
	border-radius:8px;
	box-shadow:0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
	transition:box-shadow 0.2s ease, border-color 0.2s ease;
}
.wcce-box:hover{
	box-shadow:0 4px 6px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06);
	border-color:#d1d5db;
}
.wcce-title{margin-top:0;margin-bottom:12px;font-size:18px;font-weight:600;}
.wcce-enable{
	display:flex;
	align-items:center;
	margin-bottom:0;
	cursor:pointer;
	padding:4px 0;
}
.wcce-enable input[type="checkbox"]{
	margin-right:12px;
	width:20px;
	height:20px;
	cursor:pointer;
	flex-shrink:0;
	margin-top:0;
	vertical-align:middle;
	accent-color:#2563eb;
}
.wcce-enable-text{
	font-size:15px;
	font-weight:600;
	cursor:pointer;
	user-select:none;
	line-height:1.5;
	display:flex;
	align-items:center;
	margin-top:-15px !important;
	color:#1f2937;
}

.wcce-inner{
	margin-top:16px;
	padding-top:16px;
	border-top:1px solid #e5e7eb;
}
.wcce-positions{margin:0 0 16px 0;}
.wcce-positions strong{display:block;margin-bottom:12px;font-size:14px;font-weight:600;color:#374151;}

.wcce-position-toggles{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.wcce-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;position:relative;padding:8px 0;}
.wcce-toggle input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;visibility:hidden;}

.wcce-toggle-slider{position:relative;display:inline-block;width:50px;height:28px;background-color:#cbd5e0;border-radius:28px;transition:background-color 0.3s;flex-shrink:0;cursor:pointer;}
.wcce-toggle-slider:before{content:"";position:absolute;height:22px;width:22px;left:3px;bottom:3px;background-color:white;border-radius:50%;transition:transform 0.3s;box-shadow:0 2px 4px rgba(0,0,0,0.2);}

.wcce-toggle input[type="checkbox"]:checked + .wcce-toggle-slider{background-color:#48bb78;}
.wcce-toggle input[type="checkbox"]:checked + .wcce-toggle-slider:before{transform:translateX(22px);}

.wcce-toggle-label{font-size:14px;color:#333;flex:1;}

.wcce-total-price{margin-top:12px;padding-top:12px;border-top:1px solid #e2e2e2;}
.wcce-total-price strong{font-size:16px;color:#333;}
.wcce-position-total{color:#2563eb;font-weight:700;}

.wcce-position-preview{margin:20px 0;padding:20px;background:#fff;border:2px solid #e2e2e2;border-radius:4px;}
.wcce-preview-content{display:flex;gap:20px;align-items:flex-start;}
.wcce-preview-image{flex-shrink:0;max-width:300px;}
.wcce-preview-image img{width:100%;height:auto;border-radius:4px;border:1px solid #ddd;}
.wcce-preview-text{flex:1;}
.wcce-preview-text h4{margin-top:0;margin-bottom:12px;font-size:16px;color:#333;}
.wcce-preview-text p{margin:0;color:#666;line-height:1.6;}

.wcce-fields{margin:20px 0;}
.wcce-position-field{margin:16px 0;padding:16px;background:#fff;border:2px solid #e2e2e2;border-radius:4px;}
.wcce-position-field label{display:block;width:100%;}
.wcce-position-field strong{display:block;margin-bottom:8px;font-size:14px;color:#333;}
.wcce-position-field input[type="text"]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;box-sizing:border-box;}
.wcce-position-field input[type="text"]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.1);}
.wcce-position-field .required{color:#dc2626;}

.wcce-check{display:block;margin:6px 0;}
.wcce-extra{opacity:.8;margin-left:6px;}
.wcce-fields .wcce-field{margin:8px 0;}
.wcce-helper img{max-width:100%;height:auto;margin:8px 0;border:1px solid #eee;}
.wcce-upload{
	margin:12px 0 6px 0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:6px;
}
.wcce-upload label{
	font-weight:600;
	color:#1f2937;
	display:flex;
	flex-direction:column;
	gap:6px;
}
.wcce-upload-title{
	font-weight:700;
	color:#111827;
}
.wcce-upload-note{
	font-size:13px;
	color:#4b5563;
	line-height:1.5;
}
.wcce-upload input[type="file"]{
	width:100%;
	border:1px solid #d0d7e2;
	border-radius:6px;
	padding:0;
	background:#fdfefe;
	color:#111827;
	font-size:14px;
	cursor:pointer;
	transition:border-color 0.15s ease, box-shadow 0.15s ease;
}
.wcce-upload input[type="file"]::file-selector-button{
	padding:10px 16px;
	margin-inline-end:12px;
	border:0;
	border-left:1px solid #d0d7e2;
	background:#2f4bea;
	color:#ffffff;
	font-weight:600;
	border-radius:0 6px 6px 0;
	cursor:pointer;
	transition:background 0.15s ease, box-shadow 0.15s ease;
}
.wcce-upload input[type="file"]:hover{
	border-color:#2563eb;
	box-shadow:0 2px 8px rgba(37,99,235,0.16);
}
.wcce-upload input[type="file"]:hover::file-selector-button{
	background:#2140e0;
}
.wcce-upload input[type="file"]:active::file-selector-button{
	background:#1a36c5;
}
.wcce-notes{font-size:13px;margin:8px 0;padding:0;background:#fff3cd;border-left:4px solid #ffc107;border-radius:2px;overflow:hidden;}
.wcce-notes-title{margin:0;padding:10px 12px;font-size:14px;font-weight:700;color:#fff;background-color:#d00;text-transform:uppercase;display:block;}
.wcce-notes-content{margin:0;padding:12px;}
.wcce-notes-image{margin:16px 0;text-align:center;}
.wcce-notes-image img{max-width:100%;height:auto;border-radius:4px;border:1px solid #ddd;}
.wcce-total-preview{margin-top:8px;opacity:.9;}

/* Hide engraving options from Flatsome sticky add to cart */
.product-summary.is-sticky .wcce-box,
.product-info.is-sticky .wcce-box,
.product-sticky-bar .wcce-box,
.sticky-add-to-cart .wcce-box,
.product-summary[class*="sticky"] .wcce-box,
.product-info[class*="sticky"] .wcce-box,
div[class*="sticky"][class*="cart"] .wcce-box,
div[class*="sticky"][class*="add-to-cart"] .wcce-box {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}
