/* Simple Custom Product Preview - Frontend CSS v1.10.8
   Cleaned and organized for easier future editing.
*/

/* -------------------------------------------------------
   1. Builder base layout
------------------------------------------------------- */
.scp-builder,
.scp-builder *,
.scp-preview-modal,
.scp-preview-modal *{
	box-sizing:border-box;
}

.scp-builder{
	width:100%;
	max-width:100%;
	clear:both;
	overflow:visible;
	padding:18px;
	margin:22px 0;
	border:1px solid #ddd;
	border-radius:10px;
	background:#fff;
}

.scp-builder h3{
	margin-top:0;
	margin-bottom:16px;
	line-height:1.25;
}

.scp-builder-grid{
	display:grid;
	grid-template-columns:minmax(220px,340px) minmax(260px,420px);
	gap:24px;
	align-items:start;
}

.scp-builder-controls{
	min-width:0;
	max-width:100%;
}

.scp-control-row{
	width:100%;
	max-width:100%;
	margin-top:0;
	margin-bottom:14px;
}

.scp-control-row > br{
	display:none;
}

.scp-control-row label{
	display:block;
	margin-bottom:6px;
}

/* v1.47.47: Optional per-field guidance displayed directly below the label. */
.scp-field-helper-text{
	display:block;
	margin:-2px 0 8px;
	color:#667085;
	font-size:12.5px;
	font-weight:400;
	line-height:1.45;
	white-space:pre-line;
}

.scp-control-row input,
.scp-control-row select,
.scp-control-row textarea{
	max-width:100%;
	min-height:44px;
	font-size:16px;
}

.scp-control-row.is-hidden{
	display:none !important;
}

.scp-builder button{
	touch-action:manipulation;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

/* -------------------------------------------------------
   2. Preview box
------------------------------------------------------- */
.scp-preview-wrap,
.scp-preview-wrap-gallery,
.scp-preview-gallery-replacement{
	width:100%;
	max-width:100%;
	min-width:0;
}

.scp-preview-box{
	position:relative;
	width:100%;
	max-width:420px;
	aspect-ratio:4/5;
	margin-top:8px;
	border-radius:14px;
	border:1px solid #ccc;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	overflow:hidden;
}

.scp-preview-box::before{
	content:"";
	position:absolute;
	inset:0;
	opacity:.16;
	pointer-events:none;
}

.scp-color-black::before{background:#111}
.scp-color-white::before{background:#fff}
.scp-color-navy::before{background:#10213f}
.scp-color-red::before{background:#b71919}

.scp-preview-placeholder{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:20px;
	background:#f7f7f7;
	color:#777;
	font-size:14px;
}

.scp-preview-note{
	margin-top:8px;
	font-size:12px;
	color:#666;
}

.scp-asset-layers{
	position:absolute;
	inset:0;
	z-index:5;
	pointer-events:none;
}

.scp-asset-layer{
	position:absolute;
	object-fit:contain;
	pointer-events:none;
}

.scp-print-area{
	position:absolute;
	left:50%;
	width:52%;
	min-height:18%;
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px dashed rgba(0,0,0,.35);
	background:rgba(255,255,255,.06);
	padding:10px;
	z-index:30;
}

.scp-position-top{top:30%}
.scp-position-middle{top:42%}
.scp-position-bottom{top:54%}

.scp-preview-text{
	max-width:100%;
	text-align:center;
	line-height:1.15;
	word-break:break-word;
}

.scp-size-small{font-size:clamp(16px,3.2vw,25px)}
.scp-size-medium{font-size:clamp(18px,4vw,34px)}
.scp-size-large{font-size:clamp(22px,5vw,42px)}

.scp-text-color-black{
	color:#111;
	text-shadow:0 1px 1px rgba(255,255,255,.75);
}

.scp-text-color-white{
	color:#fff;
	text-shadow:0 1px 2px rgba(0,0,0,.65);
}

.scp-style-classic{
	font-family:Georgia,serif;
	font-weight:normal;
}

.scp-style-vintage{
	font-family:Georgia,serif;
	font-style:italic;
	letter-spacing:1px;
}

.scp-style-bold{
	font-family:Arial,sans-serif;
	font-weight:700;
	text-transform:uppercase;
}

.scp-style-script{
	font-family:"Brush Script MT","Segoe Script",cursive;
}

/* -------------------------------------------------------
   3. Desktop product-image replacement mode
------------------------------------------------------- */
.scp-builder-gallery-mounted{
	width:100%;
}

.scp-builder-gallery-mounted .scp-builder-grid{
	grid-template-columns:1fr;
	width:100%;
}

.scp-preview-gallery-replacement{
	width:100%;
	max-width:100%;
	margin-bottom:18px;
}

.scp-preview-gallery-replacement .scp-preview-wrap-gallery{
	width:100%;
	max-width:100%;
}

.scp-preview-gallery-replacement .scp-preview-box{
	width:100%;
	max-width:none;
	margin-top:0;
}

/* Old/experimental gallery modes kept hidden if cached HTML appears */
.scp-gallery-switcher,
.scp-preview-with-photos,
.scp-live-preview-thumb-row,
.scp-mobile-fixed-preview{
	display:none !important;
}

/* -------------------------------------------------------
   4. Image select field
------------------------------------------------------- */
.scp-image-select{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:var(--scp-option-gap,6px);
	width:100%;
	max-width:100%;
	margin-top:0;
}

.scp-image-option{
	position:relative;
	width:var(--scp-tile-size,62px);
	height:var(--scp-tile-size,62px);
	min-width:var(--scp-tile-size,62px);
	min-height:44px;
	padding:4px;
	border:1px solid #d7d7d7;
	border-radius:6px;
	background:#fff;
	display:flex;
	flex:0 0 auto;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	box-shadow:none;
	cursor:pointer;
	transition:border-color .15s, box-shadow .15s, background .15s;
}

.scp-image-option:hover{
	border-color:#8a8a8a;
	box-shadow:0 1px 3px rgba(0,0,0,.10);
}

.scp-image-option.is-selected{
	border-color:#222;
	box-shadow:0 0 0 2px rgba(0,0,0,.15);
	background:#fafafa;
}

.scp-image-option.is-selected::after{
	content:"\2713";
	position:absolute;
	top:-1px;
	right:-1px;
	width:16px;
	height:16px;
	background:#2bb24c;
	color:#fff;
	font-size:11px;
	line-height:16px;
	text-align:center;
	border-radius:0 5px 0 5px;
	z-index:2;
}

.scp-image-option img{
	display:block;
	width:var(--scp-image-width,54px) !important;
	height:var(--scp-image-height,54px) !important;
	max-width:none;
	object-fit:contain;
	background:#fff;
	pointer-events:none;
}

.scp-image-option .scp-option-lazy-image:not(.is-loaded){
	opacity:0;
}

.scp-image-option .scp-option-lazy-image.is-loading{
	opacity:.35;
}

.scp-image-option .scp-option-lazy-image.is-loaded{
	opacity:1;
	transition:opacity .14s ease;
}

.scp-image-option .scp-option-lazy-image.is-error{
	display:none;
}

.scp-image-option span{
	display:none;
	font-size:12px;
	line-height:1.2;
	text-align:center;
	color:#222;
	max-width:90px;
	word-break:break-word;
}

.scp-image-select-show-label .scp-image-option{
	height:auto;
	min-height:var(--scp-tile-size,62px);
	padding-bottom:6px;
}

.scp-image-select-show-label .scp-image-option span{
	display:block;
}

.scp-image-select-hide-label .scp-image-option span{
	display:none;
}

.scp-image-select-badge-off .scp-image-option.is-selected::after{
	display:none;
}

.scp-image-select-shape-square .scp-image-option{
	border-radius:6px;
}

.scp-image-select-shape-rounded .scp-image-option{
	border-radius:14px;
}

.scp-image-select-shape-circle .scp-image-option{
	border-radius:999px;
}

.scp-image-select-shape-circle .scp-image-option.is-selected::after{
	border-radius:999px;
	top:2px;
	right:2px;
}

.scp-image-select-shape-circle .scp-image-option img{
	border-radius:999px;
}

/* -------------------------------------------------------
   5. Preview action button
------------------------------------------------------- */
.scp-preview-action-row{
	width:100%;
	margin:14px 0 4px;
}

.scp-preview-modal-button{
	width:100%;
	min-height:46px;
	border-radius:8px !important;
	font-weight:700 !important;
	text-align:center;
	display:flex !important;
	align-items:center;
	justify-content:center;
	white-space:normal;
	line-height:1.2 !important;
}

/* -------------------------------------------------------
   6. Desktop modal
------------------------------------------------------- */
.scp-preview-modal{
	position:fixed;
	inset:0;
	z-index:999999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:16px;
}

.scp-preview-modal.is-open{
	display:flex;
}

.scp-preview-modal-backdrop{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.62);
}

.scp-preview-modal-dialog{
	position:relative;
	z-index:1;
	width:min(760px,94vw);
	max-height:92vh;
	background:#fff;
	border-radius:14px;
	box-shadow:0 18px 50px rgba(0,0,0,.35);
	padding:16px;
	display:flex;
	flex-direction:column;
	overflow:hidden;
}

.scp-preview-modal-dialog h3{
	margin:0 42px 12px 0;
	font-size:18px;
	line-height:1.25;
}

.scp-preview-modal-close{
	position:absolute;
	top:12px;
	right:12px;
	width:40px;
	height:40px;
	border:0;
	border-radius:999px;
	background:#fff;
	color:#111;
	font-size:28px;
	line-height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 2px 12px rgba(0,0,0,.12);
	cursor:pointer;
	z-index:3;
}

.scp-preview-modal-image-wrap{
	overflow:auto;
	text-align:center;
	-webkit-overflow-scrolling:touch;
}

.scp-preview-modal-image-wrap img{
	display:block;
	max-width:100%;
	max-height:calc(92vh - 90px);
	width:auto;
	height:auto;
	margin:0 auto;
	border-radius:8px;
}

html.scp-modal-open,
body.scp-modal-open{
	overflow:hidden;
}

/* -------------------------------------------------------
   7. Mobile fixed preview v2
------------------------------------------------------- */
.scp-mobile-fixed-preview-v2{
	display:block !important;
	position:fixed;
	left:0;
	right:0;
	top:0;
	z-index:2147483647 !important;
	background:#fff;
	padding:6px 8px 7px;
	box-shadow:0 3px 14px rgba(0,0,0,.16);
	border-bottom:1px solid #e5e5e5;
	transform:translate3d(0,-115%,0);
	opacity:0;
	visibility:hidden;
	transition:
		transform .34s cubic-bezier(.22,.61,.36,1),
		opacity .24s ease,
		visibility 0s linear .34s;
	will-change:transform, opacity;
	pointer-events:none !important;
}

.scp-mobile-fixed-preview-v2.is-active{
	transform:translate3d(0,0,0);
	opacity:1;
	visibility:visible;
	transition:
		transform .34s cubic-bezier(.22,.61,.36,1),
		opacity .24s ease,
		visibility 0s;
	pointer-events:auto !important;
}

.scp-mobile-fixed-preview-v2-inner{
	position:relative;
	width:100%;
	max-width:520px;
	margin:0 auto;
	pointer-events:auto !important;
}

.scp-mobile-fixed-preview-v2-img{
	display:block;
	width:100%;
	max-height:280px;
	object-fit:contain;
	background:#fff;
	border-radius:8px;
	margin:0 auto;
	pointer-events:auto !important;
}

.scp-mobile-fixed-preview-v2-close{
	position:absolute;
	top:6px !important;
	right:8px !important;
	width:30px !important;
	height:30px !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	color:#111 !important;
	font-size:30px !important;
	font-weight:400 !important;
	line-height:30px !important;
	padding:0 !important;
	display:flex !important;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	pointer-events:auto !important;
	z-index:30;
}

.scp-mobile-fixed-preview-v2-close:hover,
.scp-mobile-fixed-preview-v2-close:focus{
	background:transparent !important;
	box-shadow:none !important;
	outline:none;
	color:#111 !important;
}

.scp-mobile-fixed-preview-v2:not(.is-active){
	pointer-events:none !important;
}

/* -------------------------------------------------------
   8. Responsive
------------------------------------------------------- */
@media(max-width:900px){
	.scp-builder{
		padding:14px;
		margin:16px 0;
		border-radius:10px;
	}

	.scp-builder-grid{
		grid-template-columns:1fr !important;
		gap:16px;
	}

	.scp-builder-controls,
	.scp-preview-wrap{
		width:100%;
	}
}

@media(max-width:768px){
	.scp-preview-modal,
	.scp-preview-modal.is-open{
		display:none !important;
	}

	.scp-preview-gallery-replacement{
		display:block !important;
		width:100%;
		max-width:100%;
		margin:10px 0 14px;
	}

	.scp-preview-gallery-replacement .scp-preview-wrap-gallery{
		display:block !important;
		width:100%;
		max-width:100%;
	}

	.scp-preview-gallery-replacement .scp-preview-box{
		width:100%;
		max-width:100%;
		margin:0 auto;
		border-radius:10px;
	}

	.scp-preview-gallery-replacement .scp-preview-note{
		display:none;
	}

	body.scp-mobile-fixed-preview-active{
		padding-top:0 !important;
	}

	.admin-bar .scp-mobile-fixed-preview-v2{
		top:0 !important;
	}

	.scp-mobile-fixed-preview-v2-img{
		max-height:280px;
	}
}

@media(max-width:600px){
	.scp-builder{
		padding:12px;
		margin:12px 0;
		border-radius:9px;
	}

	.scp-builder h3{
		font-size:18px;
		margin-bottom:12px;
	}

	.scp-control-row{
		margin-bottom:14px;
	}

	.scp-control-row label{
		margin-bottom:5px;
	}

	.scp-control-row input,
	.scp-control-row select,
	.scp-control-row textarea{
		width:100% !important;
		font-size:16px;
		border-radius:8px;
	}

	.scp-image-select{
		gap:5px;
	}

	.scp-image-option{
		width:var(--scp-tile-size,58px);
		height:var(--scp-tile-size,58px);
		min-width:var(--scp-tile-size,58px);
		padding:4px;
		border-radius:6px;
	}

	.scp-image-option img{
		width:var(--scp-image-width,50px) !important;
		height:var(--scp-image-height,50px) !important;
	}

	.scp-image-option span{
		font-size:11px;
	}

	.scp-print-area{
		padding:7px;
	}

	.scp-preview-modal-button{
		min-height:48px;
		font-size:15px !important;
	}
}

@media(max-width:380px){
	.scp-builder{
		padding:10px;
	}

	.scp-image-select{
		gap:4px;
	}

	.scp-image-option{
		width:min(var(--scp-tile-size,56px),56px);
		height:min(var(--scp-tile-size,56px),56px);
		min-width:min(var(--scp-tile-size,56px),56px);
	}

	.scp-image-option img{
		width:min(var(--scp-image-width,48px),48px) !important;
		height:min(var(--scp-image-height,48px),48px) !important;
	}

	.scp-mobile-fixed-preview-v2{
		padding:5px 7px 6px;
	}

	.scp-mobile-fixed-preview-v2-img{
		max-height:27vh;
	}

	.scp-mobile-fixed-preview-v2-close{
		top:5px !important;
		right:7px !important;
		width:28px !important;
		height:28px !important;
		font-size:28px !important;
		line-height:28px !important;
	}
}

/* -------------------------------------------------------
   9. Accessibility
------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
	.scp-image-option,
	.scp-mobile-fixed-preview-v2,
	.scp-mobile-fixed-preview-v2.is-active{
		transition:none !important;
	}
}


/* v1.10.9 final mobile fixed preview close button position */
@media(max-width:768px){
	.scp-mobile-fixed-preview-v2-close{
		position:fixed !important;
		top:8px !important;
		right:8px !important;
		width:28px !important;
		height:28px !important;
		border:0 !important;
		border-radius:0 !important;
		background:transparent !important;
		box-shadow:none !important;
		color:#111 !important;
		font-size:30px !important;
		font-weight:400 !important;
		line-height:28px !important;
		padding:0 !important;
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
		cursor:pointer !important;
		z-index:2147483647 !important;
		pointer-events:auto !important;
	}

	.scp-mobile-fixed-preview-v2-close:hover,
	.scp-mobile-fixed-preview-v2-close:focus{
		background:transparent !important;
		box-shadow:none !important;
		outline:none !important;
		color:#111 !important;
	}
}

@media(max-width:380px){
	.scp-mobile-fixed-preview-v2-close{
		top:7px !important;
		right:7px !important;
		width:26px !important;
		height:26px !important;
		font-size:28px !important;
		line-height:26px !important;
	}
}


/* v1.20.2: match frontend custom text guide box size to Builder box_height */
.scp-preview-box .scp-dynamic-text-area{
	min-height:0 !important;
	padding:0 !important;
	box-sizing:border-box !important;
	overflow:hidden !important;
}

.scp-preview-box .scp-dynamic-text-area .scp-preview-text{
	width:100%;
	box-sizing:border-box;
}

.scp-preview-box .scp-dynamic-text-area.scp-print-area{
	align-items:center;
	justify-content:center;
}


/* v1.20.3: clean Custom Text frontend preview */
.scp-preview-box .scp-dynamic-text-area,
.scp-preview-box .scp-dynamic-text-area.scp-print-area{
	border:0 !important;
	outline:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}

.scp-preview-box .scp-dynamic-text-area:before,
.scp-preview-box .scp-dynamic-text-area:after{
	display:none !important;
	content:none !important;
}

.scp-preview-box .scp-dynamic-text-area .scp-preview-text:empty{
	display:none !important;
}


/* v1.21.1 Color swatch field UI */
.scp-color-swatch-field > label,
.scp-color-swatch-field .scp-field-label{
	display:flex;
	align-items:baseline;
	gap:6px;
	flex-wrap:wrap;
}

.scp-color-selected-label{
	font-weight:600;
	color:#6b5b5b;
	font-size:.95em;
}

.scp-color-swatch-native{
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
	opacity:0 !important;
	pointer-events:none !important;
}

.scp-color-swatch-options{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:8px;
}

.scp-color-swatch-button{
	width:58px;
	height:58px;
	border:1px solid #d6d6d6;
	border-radius:7px;
	background:#fff;
	padding:5px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	position:relative;
	box-sizing:border-box;
}

.scp-color-swatch-button:hover{
	border-color:#999;
}

.scp-color-swatch-button.is-selected{
	border-color:#111;
	box-shadow:0 0 0 2px #fff,0 0 0 3px #111;
}

.scp-color-swatch-dot{
	width:44px;
	height:44px;
	border-radius:999px;
	display:block;
	border:1px solid rgba(0,0,0,.08);
	box-sizing:border-box;
}

.scp-color-swatch-dot.is-white{
	border-color:#c8c8c8;
	background:#fff;
}

.scp-color-swatch-button.is-selected:after{
	content:"\2713";
	position:absolute;
	top:-4px;
	right:-4px;
	width:17px;
	height:17px;
	border-radius:3px;
	background:#35b653;
	color:#fff;
	font-size:13px;
	font-weight:700;
	line-height:17px;
	text-align:center;
}


/* v1.21.3: force selected color swatch visible state */
.scp-color-swatch-options .scp-color-swatch-button.is-selected,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"]{
	border:2px solid #111 !important;
	box-shadow:0 0 0 2px #fff,0 0 0 4px #111 !important;
	outline:0 !important;
}

.scp-color-swatch-options .scp-color-swatch-button.is-selected:after,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"]:after{
	content:"\2713" !important;
	position:absolute !important;
	top:-6px !important;
	right:-6px !important;
	width:18px !important;
	height:18px !important;
	border-radius:3px !important;
	background:#35b653 !important;
	color:#fff !important;
	font-size:14px !important;
	font-weight:700 !important;
	line-height:18px !important;
	text-align:center !important;
	display:block !important;
	z-index:5 !important;
	box-shadow:0 0 0 1px #fff !important;
}

.scp-color-swatch-options .scp-color-swatch-button.is-selected .scp-color-swatch-dot,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"] .scp-color-swatch-dot{
	border-color:rgba(0,0,0,.28) !important;
}


/* v1.21.4: make product_color swatches match existing image_select tiles */
.scp-color-swatch-options{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:6px !important;
	margin-top:8px !important;
}

.scp-color-swatch-options .scp-color-swatch-button{
	width:62px !important;
	height:62px !important;
	border:1px solid #ddd !important;
	border-radius:6px !important;
	background:#fff !important;
	padding:4px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	cursor:pointer !important;
	position:relative !important;
	box-sizing:border-box !important;
	box-shadow:none !important;
	outline:0 !important;
	transition:border-color .12s ease, box-shadow .12s ease !important;
}

.scp-color-swatch-options .scp-color-swatch-button:hover{
	border-color:#999 !important;
	box-shadow:none !important;
}

.scp-color-swatch-options .scp-color-swatch-button.is-selected,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"]{
	border:2px solid #111 !important;
	box-shadow:none !important;
	outline:0 !important;
	padding:3px !important;
}

.scp-color-swatch-options .scp-color-swatch-dot{
	width:50px !important;
	height:50px !important;
	border-radius:50% !important;
	display:block !important;
	border:1px solid rgba(0,0,0,.08) !important;
	box-sizing:border-box !important;
}

.scp-color-swatch-options .scp-color-swatch-dot.is-white{
	border-color:#c8c8c8 !important;
	background:#fff !important;
}

.scp-color-swatch-options .scp-color-swatch-button.is-selected:after,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"]:after{
	content:"\2713" !important;
	position:absolute !important;
	top:0 !important;
	right:0 !important;
	width:17px !important;
	height:17px !important;
	border-radius:0 4px 0 4px !important;
	background:#35b653 !important;
	color:#fff !important;
	font-size:13px !important;
	font-weight:700 !important;
	line-height:17px !important;
	text-align:center !important;
	display:block !important;
	z-index:5 !important;
	box-shadow:none !important;
}

.scp-color-swatch-options .scp-color-swatch-button.is-selected .scp-color-swatch-dot,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"] .scp-color-swatch-dot{
	border-color:rgba(0,0,0,.14) !important;
}


/* v1.23.1: conditional fields and image_select groups hide fully */
.scp-control-row.is-hidden,
.scp-image-select.is-hidden{
	display:none !important;
}


/* v1.44.1: product-page draft text preview marker.
   Only applies before the customer enters Custom Text; not used in final order image. */
.scp-dynamic-text-area.is-scp-preview-fallback .scp-preview-text{
	opacity:.72;
}

/* v1.45.10: Selected image option style.
   Remove selected box-shadow and use a clean 2px border instead. */
.scp-image-option.is-selected{
	box-shadow:none !important;
	border-width:2px !important;
}

/* v1.45.11: Select field button / size pills UI */
.scp-select-button-field .scp-select-button-native{
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
	opacity:0 !important;
	pointer-events:none !important;
}

.scp-select-button-group{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:8px;
}

.scp-select-button-option{
	min-width:82px;
	height:42px;
	padding:0 16px;
	border:1px solid #d6d6d6;
	border-radius:7px;
	background:#fff;
	color:#111;
	font-weight:700;
	cursor:pointer;
	position:relative;
	box-sizing:border-box;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	line-height:1;
}

.scp-select-button-option:hover{
	border-color:#999;
}

.scp-select-button-option.is-selected{
	border-color:#111;
	border-width:2px;
	box-shadow:none;
}

.scp-select-button-option.is-selected:after{
	content:"\2713";
	position:absolute;
	top:-5px;
	right:-5px;
	width:18px;
	height:18px;
	border-radius:3px;
	background:#35b653;
	color:#fff;
	font-size:13px;
	font-weight:700;
	line-height:18px;
	text-align:center;
}

.scp-select-button-group.is-hidden{
	display:none !important;
}

/* v1.45.12: compact Select button / Size pills controls */
.scp-select-button-group{
	gap:var(--scp-select-button-gap,6px) !important;
}

.scp-select-button-option{
	min-width:var(--scp-select-button-min-width,72px) !important;
	padding-left:var(--scp-select-button-padding-x,10px) !important;
	padding-right:var(--scp-select-button-padding-x,10px) !important;
}

.scp-select-button-option.is-selected:after{
	top:-1px !important;
	right:-1px !important;
	border-radius:0 3px 0 3px !important;
	z-index:2;
}

/* v1.45.13: Select button gap + instant selected state fix.
   Some themes add margins/transitions to buttons, making gap=0 still look wide and selected border feel delayed. */
.scp-select-button-group{
	gap:var(--scp-select-button-gap,6px) !important;
	column-gap:var(--scp-select-button-gap,6px) !important;
	row-gap:var(--scp-select-button-gap,6px) !important;
	justify-content:flex-start !important;
	align-items:flex-start !important;
}

.scp-select-button-group .scp-select-button-option{
	margin:0 !important;
	transition:none !important;
	flex:0 0 auto !important;
	border-style:solid !important;
	border-width:1px !important;
	min-width:var(--scp-select-button-min-width,72px) !important;
	padding-left:var(--scp-select-button-padding-x,10px) !important;
	padding-right:var(--scp-select-button-padding-x,10px) !important;
	box-shadow:none !important;
}

.scp-select-button-group .scp-select-button-option.is-selected,
.scp-select-button-group .scp-select-button-option.is-selected:hover,
.scp-select-button-group .scp-select-button-option.is-selected:focus,
.scp-select-button-group .scp-select-button-option.is-selected:active{
	border-color:#111 !important;
	border-width:2px !important;
	box-shadow:none !important;
	outline:none !important;
}

.scp-select-button-group .scp-select-button-option.is-selected:after{
	top:-1px !important;
	right:-1px !important;
	border-radius:0 3px 0 3px !important;
}

/* v1.45.14: smaller size-button selected check, placed inside the border */
.scp-select-button-group .scp-select-button-option.is-selected:after{
	width:13px !important;
	height:13px !important;
	line-height:13px !important;
	font-size:9px !important;
	top:3px !important;
	right:3px !important;
	border-radius:2px !important;
	box-shadow:none !important;
	transform:none !important;
}

/* v1.45.15: balanced size-button selected check.
   Small corner badge: not too big, not buried inside the button text area. */
.scp-select-button-group .scp-select-button-option.is-selected:after{
	width:14px !important;
	height:14px !important;
	line-height:14px !important;
	font-size:10px !important;
	top:-1px !important;
	right:-1px !important;
	border-radius:0 4px 0 4px !important;
	box-shadow:none !important;
	transform:none !important;
	z-index:3 !important;
}

/* v1.45.16: make Size selected check match Color swatch corner badge */
.scp-select-button-group .scp-select-button-option.is-selected:after{
	width:17px !important;
	height:17px !important;
	line-height:17px !important;
	font-size:13px !important;
	top:-4px !important;
	right:-4px !important;
	border-radius:3px !important;
	box-shadow:none !important;
	transform:none !important;
	z-index:4 !important;
}

/* v1.45.17: mobile fixed preview mirrors live HTML preview box */
.scp-mobile-fixed-preview-v2-box-holder{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	max-height:none;
	overflow:hidden;
	pointer-events:none !important;
}

/* v1.47.67: keep the live mobile mockup stable while the software keyboard
   opens/closes. The previous vh-based width changed with keyboard height and
   could leave cloned text scaled for the wrong box size. */
.scp-mobile-fixed-preview-v2-box-holder .scp-preview-box,
.scp-mobile-fixed-preview-v2-box{
	width:clamp(140px, 40vw, 220px) !important;
	max-width:220px !important;
	aspect-ratio:4/5 !important;
	margin:0 auto !important;
	border-radius:8px !important;
	pointer-events:none !important;
}

.scp-mobile-fixed-preview-v2-box-holder .scp-preview-placeholder,
.scp-mobile-fixed-preview-v2-box-holder .scp-preview-note{
	display:none !important;
}

.scp-mobile-fixed-preview-v2-box-holder .scp-preview-box::before{
	pointer-events:none !important;
}

.scp-mobile-fixed-preview-v2-img{
	display:none;
}

/* v1.45.18: two-tone product color swatch support */
.scp-color-swatch-dot.is-two-tone{
	background-size:100% 100% !important;
	background-repeat:no-repeat !important;
}

/* v1.45.19: ensure two-tone gradients are not hidden by white-swatch overrides */
.scp-color-swatch-options .scp-color-swatch-dot.is-two-tone{
	background-size:100% 100% !important;
	background-repeat:no-repeat !important;
	border-color:rgba(0,0,0,.18) !important;
}

/* v1.45.20: clean two-tone color split.
   Use a non-repeating 50/50 vertical split inside the circular swatch. */
.scp-color-swatch-options .scp-color-swatch-dot.is-two-tone{
	background-size:100% 100% !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	border-color:rgba(0,0,0,.22) !important;
}

/* v1.45.21: DOM-based two-tone swatch split.
   Real clipped halves avoid gradient edge/sliver artifacts inside circular swatches. */
.scp-color-swatch-options .scp-color-swatch-dot.is-two-tone{
	position:relative !important;
	overflow:hidden !important;
	background:transparent !important;
	background-image:none !important;
	background-size:auto !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	border-color:rgba(0,0,0,.22) !important;
}

.scp-color-swatch-options .scp-color-swatch-dot.is-two-tone .scp-color-swatch-half{
	position:absolute !important;
	top:0 !important;
	bottom:0 !important;
	width:50% !important;
	height:100% !important;
	display:block !important;
	pointer-events:none !important;
	box-sizing:border-box !important;
}

.scp-color-swatch-options .scp-color-swatch-dot.is-two-tone .scp-color-swatch-half-1{
	left:0 !important;
}

.scp-color-swatch-options .scp-color-swatch-dot.is-two-tone .scp-color-swatch-half-2{
	right:0 !important;
}

/* v1.45.25: Preview modal mirrors the live HTML preview box */
.scp-preview-modal-live-holder{
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	overflow:visible;
}

.scp-preview-modal-live-holder .scp-preview-box,
.scp-preview-modal-live-box{
	width:min(100%, 680px) !important;
	max-width:680px !important;
	aspect-ratio:4/5 !important;
	margin:0 auto !important;
	border-radius:8px !important;
}

.scp-preview-modal-live-holder .scp-preview-placeholder,
.scp-preview-modal-live-holder .scp-preview-note{
	display:none !important;
}

.scp-preview-modal-live-holder .scp-preview-box::before{
	pointer-events:none !important;
}

/* v1.46.7: Size/option subtotal breakdown on product page */
.scp-price-subtotal{
	clear:both;
	width:100%;
	box-sizing:border-box;
	margin:14px 0 12px;
	border:1px solid #d9e2ec;
	border-radius:14px;
	background:#fff;
	color:#1d2327;
	overflow:hidden;
	box-shadow:0 2px 8px rgba(16,24,40,.04);
}

.scp-price-subtotal-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:12px 14px;
	line-height:1.25;
	background:#f8fafc;
	border-bottom:1px solid #edf0f3;
}

.scp-price-subtotal-head span{
	font-weight:700;
	color:#344054;
}

.scp-price-subtotal-head strong{
	font-size:18px;
	font-weight:700;
	color:#1d2327;
}

.scp-price-subtotal-lines{
	padding:10px 14px 12px;
	background:#fff;
}

.scp-price-subtotal-line,
.scp-price-subtotal-addon-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:5px 0;
	font-size:13px;
	line-height:1.35;
	color:#344054;
}

.scp-price-subtotal-line strong,
.scp-price-subtotal-addon-item strong{
	font-weight:700;
	color:#1d2327;
	white-space:nowrap;
}

.scp-price-subtotal-addon-line{
	border-top:1px dashed #e3e8ef;
	margin-top:4px;
	padding-top:8px;
}

.scp-price-subtotal-addon-list{
	margin-top:2px;
	padding-left:10px;
	border-left:2px solid #edf0f3;
}

.scp-price-subtotal-addon-item{
	padding:3px 0;
	font-size:12px;
	color:#667085;
}

.scp-price-subtotal-addon-empty{
	padding:4px 0;
	font-size:12px;
	line-height:1.35;
	color:#667085;
}

.scp-price-subtotal-final{
	margin-top:8px;
	padding-top:10px;
	border-top:1px solid #d9e2ec;
	font-size:15px;
	font-weight:700;
	color:#1d2327;
}

.scp-price-subtotal-final strong{
	font-size:18px;
	font-weight:700;
	color:#1d2327;
}

.scp-price-subtotal.has-addons{
	border-color:#b9d7ff;
	background:#f2f8ff;
}

.scp-price-subtotal.has-addons .scp-price-subtotal-head{
	background:#f2f8ff;
}

.scp-price-subtotal.has-addons .scp-price-subtotal-addon-list{
	border-left-color:#b9d7ff;
}

.scp-price-addon-note{
	display:block;
	margin-top:3px;
	font-size:12px;
	font-weight:600;
	color:#667085;
}

/* v1.46.11: required field validation polish */
.scp-validation-message{
	display:none;
	clear:both;
	width:100%;
	box-sizing:border-box;
	margin:12px 0;
	padding:12px 14px;
	border:1px solid #f1b8b2;
	border-radius:12px;
	background:#fff7f6;
	color:#7a271a;
	line-height:1.35;
}

.scp-validation-message.is-visible{
	display:block;
}

.scp-validation-message strong{
	display:block;
	margin-bottom:6px;
	font-weight:700;
	color:#7a271a;
}

.scp-validation-message ul{
	margin:0;
	padding-left:18px;
}

.scp-validation-message li{
	margin:2px 0;
}

.scp-control-row.scp-validation-error-row{
	padding:10px 12px;
	margin-left:-12px;
	margin-right:-12px;
	border:1px solid #f1b8b2;
	border-radius:12px;
	background:#fff7f6;
	box-shadow:0 2px 8px rgba(217,45,32,.06);
}

.scp-validation-error-field{
	border-color:#d92d20 !important;
	box-shadow:0 0 0 2px rgba(217,45,32,.12) !important;
	outline:none !important;
}

.scp-validation-error-choice{
	padding:8px;
	margin:-8px;
	border:1px solid #f1b8b2;
	border-radius:12px;
	background:#fff7f6;
	box-shadow:0 2px 8px rgba(217,45,32,.06);
}

.scp-validation-error-row label strong::after{
	content:" Required";
	display:inline-block;
	margin-left:6px;
	padding:2px 6px;
	border-radius:999px;
	background:#fee4e2;
	color:#b42318;
	font-size:11px;
	font-weight:700;
	line-height:1.2;
	vertical-align:middle;
}

/* v1.46.18: selected badge encoding + Image Select gap hardening */
.scp-color-swatch-button.is-selected:after,
.scp-color-swatch-button[aria-pressed="true"]:after,
.scp-color-swatch-options .scp-color-swatch-button.is-selected:after,
.scp-color-swatch-options .scp-color-swatch-button[aria-pressed="true"]:after,
.scp-select-button-option.is-selected:after,
.scp-image-option.is-selected:after{
	content:"\2713" !important;
	font-family:Arial, Helvetica, sans-serif !important;
	speak:none;
}

.scp-image-select{
	gap:var(--scp-option-gap,6px) !important;
	column-gap:var(--scp-option-gap,6px) !important;
	row-gap:var(--scp-option-gap,6px) !important;
	align-items:flex-start !important;
	justify-content:flex-start !important;
}

.scp-image-select .scp-image-option{
	margin:0 !important;
	flex:0 0 var(--scp-tile-size,62px) !important;
	width:var(--scp-tile-size,62px) !important;
	min-width:var(--scp-tile-size,62px) !important;
	max-width:var(--scp-tile-size,62px) !important;
	box-sizing:border-box !important;
	vertical-align:top !important;
}

.scp-image-select .scp-image-option img{
	max-width:var(--scp-image-width,54px) !important;
	max-height:var(--scp-image-height,54px) !important;
}

/* v1.46.19: Product-page native field style normalize.
   Scoped to SCP product options only; does not affect checkout/theme forms. */
.scp-builder .scp-builder-controls .scp-control-row input.scp-field:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.scp-builder .scp-builder-controls .scp-control-row select.scp-field,
.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field{
	width:100% !important;
	max-width:100% !important;
	min-height:46px !important;
	box-sizing:border-box !important;
	border:1px solid #d0d7de !important;
	border-radius:10px !important;
	background-color:#fff !important;
	color:#1d2327 !important;
	font-size:15px !important;
	line-height:1.35 !important;
	padding:10px 12px !important;
	box-shadow:0 1px 2px rgba(16,24,40,.04) !important;
	outline:none !important;
	transition:border-color .14s ease, box-shadow .14s ease, background-color .14s ease !important;
}

.scp-builder .scp-builder-controls .scp-control-row select.scp-field{
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	padding-right:38px !important;
	background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%) !important;
	background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px !important;
	background-size:6px 6px,6px 6px !important;
	background-repeat:no-repeat !important;
}

.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field{
	min-height:92px !important;
	resize:vertical !important;
}

.scp-builder .scp-builder-controls .scp-control-row input.scp-field:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):hover,
.scp-builder .scp-builder-controls .scp-control-row select.scp-field:hover,
.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field:hover{
	border-color:#98a2b3 !important;
}

.scp-builder .scp-builder-controls .scp-control-row input.scp-field:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
.scp-builder .scp-builder-controls .scp-control-row select.scp-field:focus,
.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field:focus{
	border-color:#2271b1 !important;
	box-shadow:0 0 0 3px rgba(34,113,177,.14),0 1px 2px rgba(16,24,40,.04) !important;
	background-color:#fff !important;
}

.scp-builder .scp-builder-controls .scp-control-row input.scp-field::placeholder,
.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field::placeholder{
	color:#98a2b3 !important;
	opacity:1 !important;
}

.scp-builder .scp-builder-controls .scp-control-row input.scp-field:disabled,
.scp-builder .scp-builder-controls .scp-control-row select.scp-field:disabled,
.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field:disabled{
	background:#f2f4f7 !important;
	color:#98a2b3 !important;
	cursor:not-allowed !important;
}

/* Keep validation error styling stronger than the normalized field style. */
.scp-builder .scp-builder-controls .scp-control-row input.scp-field.scp-validation-error-field,
.scp-builder .scp-builder-controls .scp-control-row select.scp-field.scp-validation-error-field,
.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field.scp-validation-error-field{
	border-color:#d92d20 !important;
	box-shadow:0 0 0 2px rgba(217,45,32,.12) !important;
}

@media(max-width:600px){
	.scp-builder .scp-builder-controls .scp-control-row input.scp-field:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
	.scp-builder .scp-builder-controls .scp-control-row select.scp-field,
	.scp-builder .scp-builder-controls .scp-control-row textarea.scp-field{
		min-height:46px !important;
		font-size:16px !important;
		border-radius:10px !important;
	}
}

/* -------------------------------------------------------
   v1.46.31 Cart / checkout preview thumbnail hardening
   Prevent theme/table CSS from stretching generated preview images.
------------------------------------------------------- */
.woocommerce-cart .scp-cart-preview-meta,
.woocommerce-checkout .scp-cart-preview-meta,
.woocommerce-order .scp-cart-preview-meta,
.woocommerce-account .scp-cart-preview-meta,
.scp-cart-preview-meta{
	display:block !important;
	max-width:100% !important;
	line-height:1.35 !important;
}

.woocommerce-cart .scp-cart-preview-link,
.woocommerce-checkout .scp-cart-preview-link,
.woocommerce-order .scp-cart-preview-link,
.woocommerce-account .scp-cart-preview-link,
.scp-cart-preview-link{
	display:inline-block !important;
	text-decoration:underline !important;
	cursor:pointer !important;
	position:relative !important;
	z-index:2 !important;
}

.woocommerce-cart .scp-cart-preview-thumb-link,
.woocommerce-checkout .scp-cart-preview-thumb-link,
.woocommerce-order .scp-cart-preview-thumb-link,
.woocommerce-account .scp-cart-preview-thumb-link,
.scp-cart-preview-thumb-link{
	display:inline-block !important;
	width:auto !important;
	height:auto !important;
	max-width:100% !important;
	margin-top:6px !important;
	line-height:0 !important;
	vertical-align:top !important;
}

.woocommerce-cart img.scp-cart-preview-thumb,
.woocommerce-checkout img.scp-cart-preview-thumb,
.woocommerce-order img.scp-cart-preview-thumb,
.woocommerce-account img.scp-cart-preview-thumb,
img.scp-cart-preview-thumb{
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
	width:auto !important;
	height:auto !important;
	min-width:0 !important;
	min-height:0 !important;
	max-width:min(120px, 42vw) !important;
	max-height:160px !important;
	object-fit:contain !important;
	object-position:center center !important;
	aspect-ratio:auto !important;
	margin:6px 0 0 !important;
	border:1px solid #ddd !important;
	border-radius:4px !important;
	background:#fff !important;
	box-shadow:none !important;
}

.woocommerce-checkout img.scp-cart-preview-thumb,
.woocommerce-order img.scp-cart-preview-thumb,
.woocommerce-account img.scp-cart-preview-thumb{
	max-width:min(150px, 42vw) !important;
	max-height:180px !important;
}

@media(max-width: 640px){
	.woocommerce-cart img.scp-cart-preview-thumb,
	.woocommerce-checkout img.scp-cart-preview-thumb,
	.woocommerce-order img.scp-cart-preview-thumb,
	.woocommerce-account img.scp-cart-preview-thumb,
	img.scp-cart-preview-thumb{
		max-width:min(110px, 52vw) !important;
		max-height:150px !important;
		width:auto !important;
		height:auto !important;
		object-fit:contain !important;
	}
}

/* v1.46.32: Cart product-name preview fallback */
.woocommerce-cart .scp-cart-preview-name-block,
.scp-cart-preview-name-block{
	display:block !important;
	clear:both !important;
	margin-top:8px !important;
	font-size:13px !important;
	line-height:1.35 !important;
}

.woocommerce-cart .scp-cart-preview-name-block strong,
.scp-cart-preview-name-block strong{
	display:inline-block !important;
	margin-right:4px !important;
}

.woocommerce-cart .scp-cart-preview-name-block .scp-cart-preview-meta,
.scp-cart-preview-name-block .scp-cart-preview-meta{
	display:inline-block !important;
	vertical-align:top !important;
}

/* v1.46.34: frontend mockup fitting now matches Builder stage */
.scp-preview-box{
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat !important;
}



/* v1.46.80: Customer Preview Zoom Modal */
.scp-preview-modal-dialog{
	width:min(900px,96vw);
}

.scp-preview-zoom-toolbar{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin:-2px 42px 12px 0;
	flex-wrap:wrap;
}

.scp-preview-zoom-toolbar .button,
.scp-preview-zoom-toolbar button{
	min-width:40px;
	min-height:36px;
	border-radius:999px !important;
	font-weight:700 !important;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	line-height:1 !important;
}

.scp-preview-zoom-toolbar [data-scp-preview-zoom-label]{
	min-width:56px;
	min-height:36px;
	padding:0 12px;
	border:1px solid #d0d7de;
	border-radius:999px;
	background:#f8fafc;
	color:#344054;
	font-size:13px;
	font-weight:700;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.scp-preview-modal-image-wrap{
	position:relative;
	overflow:hidden;
	touch-action:none;
	user-select:none;
	cursor:zoom-in;
	background:#f8fafc;
	border-radius:10px;
	min-height:min(72vh,760px);
	display:flex;
	align-items:center;
	justify-content:center;
}

.scp-preview-modal-image-wrap.is-zoomed{
	cursor:grab;
}

.scp-preview-modal-image-wrap.is-dragging{
	cursor:grabbing;
}

.scp-preview-modal-live-holder{
	min-width:100%;
	min-height:min(72vh,760px);
	display:flex !important;
	align-items:center;
	justify-content:center;
	overflow:visible;
}

.scp-preview-modal-live-holder .scp-preview-box,
.scp-preview-modal-live-box,
.scp-preview-modal-image-wrap > img{
	transform-origin:center center;
	transition:transform .12s ease;
}

.scp-preview-modal-image-wrap.is-dragging .scp-preview-modal-live-holder .scp-preview-box,
.scp-preview-modal-image-wrap.is-dragging .scp-preview-modal-live-box,
.scp-preview-modal-image-wrap.is-dragging > img{
	transition:none;
}

.scp-preview-modal-live-holder .scp-preview-box,
.scp-preview-modal-live-box{
	width:min(86vw, 680px) !important;
	max-width:680px !important;
	aspect-ratio:4/5 !important;
	margin:0 auto !important;
	border-radius:8px !important;
	flex:0 0 auto;
}

.scp-preview-modal-image-wrap > img{
	max-width:min(86vw,680px);
	max-height:min(72vh,760px);
	flex:0 0 auto;
}

@media(max-width:767px){
	.scp-preview-modal.is-open{
		display:flex !important;
		padding:0 !important;
	}

	.scp-preview-modal-dialog{
		width:100vw !important;
		height:100dvh !important;
		max-height:100dvh !important;
		border-radius:0 !important;
		padding:12px !important;
	}

	.scp-preview-modal-dialog h3{
		margin:0 46px 8px 0;
		font-size:16px;
	}

	.scp-preview-zoom-toolbar{
		margin:0 42px 10px 0;
		justify-content:flex-start;
	}

	.scp-preview-modal-image-wrap{
		min-height:calc(100dvh - 116px);
		border-radius:12px;
	}

	.scp-preview-modal-live-holder{
		min-height:calc(100dvh - 116px);
	}

	.scp-preview-modal-live-holder .scp-preview-box,
	.scp-preview-modal-live-box{
		width:min(88vw,520px) !important;
		max-width:520px !important;
	}

	.scp-preview-modal-close{
		top:10px;
		right:10px;
	}
}


/* v1.46.82: Mobile fixed preview zoom viewer */
.scp-mobile-fixed-preview-v2-zoom{
	position:absolute;
	top:8px !important;
	left:8px !important;
	z-index:31;
	min-width:64px !important;
	height:30px !important;
	padding:0 12px !important;
	border:1px solid rgba(17,24,39,.18) !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.94) !important;
	color:#111827 !important;
	font-size:13px !important;
	font-weight:700 !important;
	line-height:28px !important;
	box-shadow:0 2px 8px rgba(15,23,42,.10) !important;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	pointer-events:auto !important;
}

.scp-mobile-fixed-preview-v2-zoom:hover,
.scp-mobile-fixed-preview-v2-zoom:focus{
	background:#fff !important;
	color:#111827 !important;
	outline:2px solid rgba(37,99,235,.22);
	outline-offset:2px;
}

.scp-mobile-preview-zoom-viewer{
	position:fixed;
	inset:0;
	z-index:2147483648;
	display:flex;
	flex-direction:column;
	background:#0b1020;
	color:#fff;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .18s ease, visibility 0s linear .18s;
	touch-action:none;
}

.scp-mobile-preview-zoom-viewer.is-open{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transition:opacity .18s ease, visibility 0s;
}

.scp-mobile-preview-zoom-toolbar{
	position:relative;
	z-index:3;
	display:flex;
	align-items:center;
	gap:8px;
	padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 10px;
	background:rgba(11,16,32,.96);
	border-bottom:1px solid rgba(255,255,255,.10);
	box-sizing:border-box;
}

.scp-mobile-preview-zoom-toolbar button{
	min-width:38px !important;
	height:36px !important;
	padding:0 12px !important;
	border:1px solid rgba(255,255,255,.18) !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.10) !important;
	color:#fff !important;
	font-size:14px !important;
	font-weight:800 !important;
	line-height:1 !important;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	box-shadow:none !important;
	cursor:pointer;
}

.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-reset]{
	font-size:12px !important;
	font-weight:700 !important;
}

.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-close]{
	margin-left:auto;
	min-width:38px !important;
	padding:0 !important;
	font-size:28px !important;
	font-weight:400 !important;
	line-height:34px !important;
}

.scp-mobile-preview-zoom-toolbar [data-scp-mobile-zoom-label]{
	min-width:58px;
	height:36px;
	padding:0 10px;
	border-radius:999px;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.14);
	color:#fff;
	font-size:13px;
	font-weight:800;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.scp-mobile-preview-zoom-holder{
	position:relative;
	flex:1 1 auto;
	min-height:0;
	width:100%;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:14px;
	box-sizing:border-box;
	touch-action:none;
	user-select:none;
	cursor:zoom-in;
}

.scp-mobile-preview-zoom-holder.is-zoomed{
	cursor:grab;
}

.scp-mobile-preview-zoom-holder.is-dragging{
	cursor:grabbing;
}

.scp-mobile-preview-zoom-box,
.scp-mobile-preview-zoom-holder .scp-preview-box{
	width:min(92vw, calc((100dvh - 92px) * .8)) !important;
	max-width:560px !important;
	aspect-ratio:4/5 !important;
	margin:0 auto !important;
	border-radius:10px !important;
	flex:0 0 auto;
	transform-origin:center center;
	transition:transform .10s ease;
	background-color:#fff;
	pointer-events:none !important;
}

.scp-mobile-preview-zoom-holder.is-dragging .scp-mobile-preview-zoom-box,
.scp-mobile-preview-zoom-holder.is-dragging .scp-preview-box{
	transition:none;
}

.scp-mobile-preview-zoom-holder .scp-preview-placeholder,
.scp-mobile-preview-zoom-holder .scp-preview-note{
	display:none !important;
}

html.scp-mobile-zoom-open,
body.scp-mobile-zoom-open{
	overflow:hidden !important;
	touch-action:none;
}



/* v1.46.83: desktop preview zoom modal polish */
@media(min-width:768px){
	.scp-preview-modal{
		padding:24px !important;
	}

	.scp-preview-modal-backdrop{
		background:rgba(15,23,42,.66) !important;
		backdrop-filter:blur(4px);
		-webkit-backdrop-filter:blur(4px);
	}

	.scp-preview-modal-dialog{
		width:min(1020px,94vw) !important;
		max-height:92vh !important;
		padding:0 !important;
		border-radius:24px !important;
		border:1px solid rgba(255,255,255,.72);
		background:#fff !important;
		box-shadow:0 28px 90px rgba(15,23,42,.34),0 8px 26px rgba(15,23,42,.18) !important;
		overflow:hidden !important;
	}

	.scp-preview-modal-dialog h3{
		margin:0 !important;
		padding:22px 86px 10px 24px !important;
		color:#1f2937;
		font-size:18px !important;
		font-weight:800 !important;
		line-height:1.25 !important;
		letter-spacing:-.01em;
		background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);
	}

	.scp-preview-zoom-toolbar{
		width:fit-content;
		max-width:calc(100% - 140px);
		align-self:center;
		gap:8px !important;
		margin:0 auto 16px !important;
		padding:6px !important;
		border:1px solid #e5e7eb;
		border-radius:999px;
		background:#f8fafc;
		box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 20px rgba(15,23,42,.08);
	}

	.scp-preview-zoom-toolbar .button,
	.scp-preview-zoom-toolbar button{
		min-width:38px !important;
		height:34px !important;
		min-height:34px !important;
		padding:0 13px !important;
		border:0 !important;
		border-radius:999px !important;
		background:#d9434e !important;
		color:#fff !important;
		font-size:14px !important;
		font-weight:800 !important;
		line-height:1 !important;
		text-transform:none !important;
		letter-spacing:0 !important;
		box-shadow:0 6px 14px rgba(217,67,78,.22) !important;
		transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
	}

	.scp-preview-zoom-toolbar .button:hover,
	.scp-preview-zoom-toolbar button:hover{
		background:#c93440 !important;
		transform:translateY(-1px);
		box-shadow:0 8px 18px rgba(217,67,78,.28) !important;
	}

	.scp-preview-zoom-toolbar .button:active,
	.scp-preview-zoom-toolbar button:active{
		transform:translateY(0);
		box-shadow:0 4px 10px rgba(217,67,78,.20) !important;
	}

	.scp-preview-zoom-toolbar button[data-scp-preview-zoom-reset]{
		min-width:70px !important;
		padding:0 18px !important;
		font-size:12px !important;
		font-weight:800 !important;
		text-transform:none !important;
	}

	.scp-preview-zoom-toolbar [data-scp-preview-zoom-label]{
		min-width:58px !important;
		height:34px !important;
		min-height:34px !important;
		padding:0 13px !important;
		border:1px solid #d9e1ea !important;
		border-radius:999px !important;
		background:#fff !important;
		color:#334155 !important;
		font-size:13px !important;
		font-weight:800 !important;
		box-shadow:0 1px 2px rgba(15,23,42,.04);
	}

	.scp-preview-modal-close{
		top:16px !important;
		right:18px !important;
		width:46px !important;
		height:46px !important;
		border:1px solid #edf0f3 !important;
		background:#fff !important;
		color:#111827 !important;
		font-size:26px !important;
		font-weight:700 !important;
		line-height:1 !important;
		box-shadow:0 10px 28px rgba(15,23,42,.14) !important;
		transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
	}

	.scp-preview-modal-close:hover{
		background:#f8fafc !important;
		transform:translateY(-1px);
		box-shadow:0 14px 34px rgba(15,23,42,.18) !important;
	}

	.scp-preview-modal-image-wrap{
		margin:0 24px 24px !important;
		min-height:min(68vh,720px) !important;
		border:1px solid #edf0f3;
		border-radius:20px !important;
		background:linear-gradient(180deg,#f8fafc 0%,#f3f6fb 100%) !important;
		box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
	}

	.scp-preview-modal-live-holder{
		min-height:min(68vh,720px) !important;
		padding:18px;
		box-sizing:border-box;
	}

	.scp-preview-modal-live-holder .scp-preview-box,
	.scp-preview-modal-live-box{
		width:min(82vw,700px) !important;
		max-width:700px !important;
		border-radius:14px !important;
		box-shadow:0 12px 36px rgba(15,23,42,.14);
		overflow:hidden;
	}

	.scp-preview-modal-image-wrap > img{
		max-width:min(82vw,700px) !important;
		max-height:min(68vh,720px) !important;
		border-radius:14px !important;
		box-shadow:0 12px 36px rgba(15,23,42,.14);
	}

	.scp-preview-modal-image-wrap.is-zoomed{
		box-shadow:inset 0 0 0 2px rgba(217,67,78,.18);
	}
}

@media(min-width:768px) and (max-width:900px){
	.scp-preview-modal-dialog h3{
		padding-right:78px !important;
		padding-bottom:12px !important;
	}

	.scp-preview-zoom-toolbar{
		max-width:calc(100% - 48px);
		flex-wrap:wrap;
		margin-bottom:14px !important;
	}

	.scp-preview-modal-image-wrap{
		margin-left:18px !important;
		margin-right:18px !important;
		margin-bottom:18px !important;
	}
}

/* v1.46.84: desktop zoom toolbar alignment fix */
@media(min-width:768px){
	.scp-preview-zoom-toolbar{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		gap:10px !important;
		line-height:1 !important;
		box-sizing:border-box !important;
	}
	.scp-preview-zoom-toolbar .button,
	.scp-preview-zoom-toolbar button,
	.scp-preview-zoom-toolbar [data-scp-preview-zoom-label]{
		box-sizing:border-box !important;
		position:relative !important;
		top:auto !important;
		bottom:auto !important;
		margin:0 !important;
		vertical-align:middle !important;
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		align-self:center !important;
		height:38px !important;
		min-height:38px !important;
		max-height:38px !important;
		line-height:1 !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
		white-space:nowrap !important;
	}
	.scp-preview-zoom-toolbar button[data-scp-preview-zoom-out],
	.scp-preview-zoom-toolbar button[data-scp-preview-zoom-in]{
		width:38px !important;
		min-width:38px !important;
		max-width:38px !important;
		padding-left:0 !important;
		padding-right:0 !important;
		font-size:20px !important;
		font-weight:800 !important;
		font-family:Arial,Helvetica,sans-serif !important;
		letter-spacing:0 !important;
		text-indent:0 !important;
	}
	.scp-preview-zoom-toolbar [data-scp-preview-zoom-label]{
		min-width:64px !important;
		padding-left:14px !important;
		padding-right:14px !important;
		font-size:14px !important;
	}
	.scp-preview-zoom-toolbar button[data-scp-preview-zoom-reset]{
		height:38px !important;
		min-height:38px !important;
		max-height:38px !important;
		min-width:72px !important;
		padding-left:18px !important;
		padding-right:18px !important;
	}
}


/* v1.46.85: mobile zoom viewer UI polish */
.scp-mobile-fixed-preview-v2-zoom{
	width:42px !important;
	min-width:42px !important;
	height:42px !important;
	padding:0 !important;
	top:10px !important;
	left:12px !important;
	border:1px solid rgba(15,23,42,.12) !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.96) !important;
	color:#111827 !important;
	font-size:0 !important;
	line-height:1 !important;
	box-shadow:0 10px 26px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.08) !important;
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.scp-mobile-fixed-preview-v2-zoom span{
	font-size:27px !important;
	font-weight:800 !important;
	font-family:Arial,Helvetica,sans-serif !important;
	line-height:1 !important;
	transform:rotate(-18deg) translateY(-1px);
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.scp-mobile-fixed-preview-v2-zoom:hover,
.scp-mobile-fixed-preview-v2-zoom:focus{
	background:#fff !important;
	outline:none !important;
	transform:translateY(-1px);
	box-shadow:0 14px 30px rgba(15,23,42,.18),0 4px 12px rgba(15,23,42,.10) !important;
}
.scp-mobile-fixed-preview-v2-zoom:active{
	transform:translateY(0) scale(.97);
}
.scp-mobile-preview-zoom-viewer{
	background:radial-gradient(circle at top,#20283a 0,#0b1020 42%,#070b16 100%) !important;
}
.scp-mobile-preview-zoom-toolbar{
	min-height:76px;
	justify-content:center !important;
	gap:8px !important;
	padding:calc(env(safe-area-inset-top,0px) + 14px) 70px 14px 16px !important;
	background:linear-gradient(180deg,rgba(7,11,22,.92),rgba(7,11,22,.72)) !important;
	border-bottom:0 !important;
	box-shadow:0 14px 34px rgba(0,0,0,.24);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}
.scp-mobile-preview-zoom-toolbar button,
.scp-mobile-preview-zoom-toolbar [data-scp-mobile-zoom-label]{
	box-sizing:border-box !important;
	margin:0 !important;
	height:40px !important;
	min-height:40px !important;
	max-height:40px !important;
	border-radius:999px !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	line-height:1 !important;
	vertical-align:middle !important;
	white-space:nowrap !important;
}
.scp-mobile-preview-zoom-toolbar button{
	min-width:40px !important;
	padding:0 14px !important;
	border:1px solid rgba(255,255,255,.18) !important;
	background:rgba(255,255,255,.10) !important;
	color:#fff !important;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 18px rgba(0,0,0,.14) !important;
	transition:background .16s ease,transform .16s ease,border-color .16s ease;
}
.scp-mobile-preview-zoom-toolbar button:hover,
.scp-mobile-preview-zoom-toolbar button:focus{
	background:rgba(255,255,255,.16) !important;
	border-color:rgba(255,255,255,.28) !important;
	outline:none !important;
}
.scp-mobile-preview-zoom-toolbar button:active{
	transform:scale(.96);
}
.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-out],
.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-in]{
	width:40px !important;
	max-width:40px !important;
	padding:0 !important;
	font-size:18px !important;
	font-weight:900 !important;
}
.scp-mobile-preview-zoom-toolbar [data-scp-mobile-zoom-label]{
	min-width:64px !important;
	padding:0 12px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(255,255,255,.20) !important;
	color:#fff !important;
	font-size:13px !important;
	font-weight:800 !important;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-reset]{
	min-width:72px !important;
	padding:0 16px !important;
	font-size:12px !important;
	font-weight:800 !important;
	text-transform:none !important;
}
.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-close]{
	position:absolute !important;
	top:calc(env(safe-area-inset-top,0px) + 12px) !important;
	right:14px !important;
	width:44px !important;
	min-width:44px !important;
	max-width:44px !important;
	height:44px !important;
	min-height:44px !important;
	padding:0 !important;
	margin:0 !important;
	border:1px solid rgba(255,255,255,.20) !important;
	background:rgba(255,255,255,.12) !important;
	font-size:28px !important;
	font-weight:500 !important;
	line-height:1 !important;
	box-shadow:0 10px 24px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.scp-mobile-preview-zoom-holder{
	padding:18px 14px calc(env(safe-area-inset-bottom,0px) + 20px) !important;
	background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)) !important;
}
.scp-mobile-preview-zoom-box,
.scp-mobile-preview-zoom-holder .scp-preview-box{
	border-radius:18px !important;
	box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.12) !important;
	overflow:hidden !important;
}
@media(max-width:380px){
	.scp-mobile-preview-zoom-toolbar{
		gap:6px !important;
		padding-left:10px !important;
		padding-right:62px !important;
	}
	.scp-mobile-preview-zoom-toolbar [data-scp-mobile-zoom-label]{
		min-width:58px !important;
		padding-left:10px !important;
		padding-right:10px !important;
	}
	.scp-mobile-preview-zoom-toolbar button[data-scp-mobile-zoom-reset]{
		min-width:64px !important;
		padding-left:12px !important;
		padding-right:12px !important;
	}
}

/* v1.46.86: mobile fixed preview zoom icon alignment fix */
.scp-mobile-fixed-preview-v2-zoom{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	place-items:center !important;
	line-height:0 !important;
	text-align:center !important;
	vertical-align:middle !important;
	font-size:0 !important;
	box-sizing:border-box !important;
}
.scp-mobile-fixed-preview-v2-zoom svg{
	width:20px !important;
	height:20px !important;
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	position:static !important;
	transform:none !important;
	stroke:currentColor !important;
	stroke-width:2.4 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
	fill:none !important;
	flex:0 0 auto !important;
}
.scp-mobile-fixed-preview-v2-zoom span{
	transform:none !important;
	margin:0 !important;
	line-height:0 !important;
}

/* v1.46.90: desktop zoom modal contain-fit fix
   Keep the cloned live preview fully visible at 100% instead of cropping its top/bottom. */
@media(min-width:768px){
	.scp-preview-modal-dialog{
		max-height:94vh !important;
	}
	.scp-preview-modal-image-wrap{
		height:calc(94vh - 156px) !important;
		min-height:0 !important;
		max-height:calc(94vh - 156px) !important;
		overflow:hidden !important;
		align-items:center !important;
		justify-content:center !important;
	}
	.scp-preview-modal-live-holder{
		width:100% !important;
		height:100% !important;
		min-height:0 !important;
		max-height:100% !important;
		padding:18px !important;
		overflow:visible !important;
		box-sizing:border-box !important;
		align-items:center !important;
		justify-content:center !important;
	}
	.scp-preview-modal-live-holder .scp-preview-box,
	.scp-preview-modal-live-box{
		width:min(82vw,700px,calc((94vh - 198px) * var(--scp-preview-ratio, .8))) !important;
		height:auto !important;
		max-width:100% !important;
		max-height:100% !important;
		aspect-ratio:var(--scp-preview-ratio, .8) !important;
		flex:0 0 auto !important;
	}
	.scp-preview-modal-image-wrap > img{
		max-width:min(82vw,700px) !important;
		max-height:calc(94vh - 198px) !important;
		width:auto !important;
		height:auto !important;
		object-fit:contain !important;
	}
}

/* -------------------------------------------------------
   v1.46.95: GeneratePress sticky boundary + aspect-ratio safe fix
   The replacement preview and Woo summary/options are wrapped by
   .scp-product-customizer-wrap. Sticky is constrained to that wrapper,
   so it stops before Description/Reviews/Related content. The live preview box is not height-clamped, preventing browser-zoom aspect distortion.
------------------------------------------------------- */
@media (min-width: 900px){
	body.single-product div.product.scp-has-gallery-preview.scp-has-customizer-wrap{
		display:block !important;
		overflow:visible !important;
		max-width:1320px !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	body.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap{
		display:grid !important;
		grid-template-columns:minmax(0,50%) minmax(390px,50%) !important;
		gap:34px !important;
		align-items:start !important;
		width:100% !important;
		max-width:100% !important;
		margin:0 auto 54px !important;
		overflow:visible !important;
		position:relative !important;
		clear:both !important;
	}

	body.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap > .scp-preview-gallery-replacement{
		grid-column:1 !important;
		width:100% !important;
		max-width:100% !important;
		float:none !important;
		clear:none !important;
		margin:0 !important;
		position:sticky !important;
		top:86px !important;
		align-self:start !important;
		z-index:4 !important;
	}

	body.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap > .summary.entry-summary{
		grid-column:2 !important;
		width:100% !important;
		max-width:100% !important;
		float:none !important;
		clear:none !important;
		margin:0 !important;
		padding-left:0 !important;
		padding-right:0 !important;
		position:relative !important;
		top:auto !important;
		overflow:visible !important;
		max-height:none !important;
		z-index:2 !important;
	}

	body.single-product div.product.scp-has-gallery-preview > .woocommerce-product-gallery{
		display:none !important;
	}

	body.single-product div.product.scp-has-gallery-preview > .woocommerce-tabs,
	body.single-product div.product.scp-has-gallery-preview > .related,
	body.single-product div.product.scp-has-gallery-preview > .upsells,
	body.single-product div.product.scp-has-gallery-preview > section.related,
	body.single-product div.product.scp-has-gallery-preview > section.up-sells{
		clear:both !important;
		width:100% !important;
		max-width:100% !important;
		float:none !important;
	}

	body.single-product div.product.scp-has-gallery-preview .scp-preview-gallery-replacement .scp-preview-wrap-gallery{
		width:100% !important;
		max-width:620px !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	body.single-product div.product.scp-has-gallery-preview .scp-preview-gallery-replacement .scp-preview-box{
		width:100% !important;
		max-width:620px !important;
		height:auto !important;
		max-height:none !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	body.single-product div.product.scp-has-gallery-preview .scp-preview-gallery-replacement .scp-preview-note{
		max-width:620px !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	/* If an older theme-level sticky test is still present, keep modal safe. */
	body.scp-modal-open .mfmp-scp-product-top,
	body.scp-modal-open .summary.entry-summary,
	body.scp-modal-open .scp-builder{
		overflow:visible !important;
		max-height:none !important;
	}
}

@media (max-width: 899px){
	body.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap{
		display:block !important;
		width:100% !important;
		max-width:100% !important;
		margin-bottom:34px !important;
	}

	body.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap > .scp-preview-gallery-replacement,
	body.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap > .summary.entry-summary{
		position:static !important;
		width:100% !important;
		max-width:100% !important;
		float:none !important;
		clear:both !important;
		margin-left:0 !important;
		margin-right:0 !important;
		overflow:visible !important;
		max-height:none !important;
	}
}

html.scp-modal-open,
body.scp-modal-open{
	overflow:hidden !important;
}

body.scp-modal-open .scp-preview-gallery-replacement{
	position:static !important;
	z-index:1 !important;
}

body.scp-modal-open .scp-preview-modal,
.scp-preview-modal.is-open{
	position:fixed !important;
	inset:0 !important;
	z-index:2147483000 !important;
}

body.scp-modal-open .scp-preview-modal-dialog{
	position:relative !important;
	z-index:2147483001 !important;
}


/* -------------------------------------------------------
   v1.46.99: Desktop sticky preview / modal separation fix
   When the desktop preview modal is open, keep the original
   sticky gallery live preview out of the modal stacking context.
   The modal clone remains visible, but the underlying sticky preview
   cannot float over the dialog.
------------------------------------------------------- */
@media (min-width:900px){
	body.scp-modal-open.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap > .summary.entry-summary,
	body.scp-modal-open.single-product div.product.scp-has-gallery-preview .summary.entry-summary{
		position:relative !important;
		z-index:2147482900 !important;
		isolation:isolate !important;
	}

	body.scp-modal-open.single-product div.product.scp-has-gallery-preview > .scp-product-customizer-wrap > .scp-preview-gallery-replacement,
	body.scp-modal-open .scp-preview-gallery-replacement{
		position:static !important;
		z-index:0 !important;
		visibility:hidden !important;
		opacity:0 !important;
		pointer-events:none !important;
		transform:none !important;
		filter:none !important;
	}

	body.scp-modal-open .scp-preview-gallery-replacement .scp-preview-wrap-gallery,
	body.scp-modal-open .scp-preview-gallery-replacement .scp-preview-box,
	body.scp-modal-open .scp-preview-gallery-replacement .scp-preview-note{
		visibility:hidden !important;
		opacity:0 !important;
		pointer-events:none !important;
	}

	body.scp-modal-open #scp_preview_modal,
	body.scp-modal-open .scp-preview-modal,
	body.scp-modal-open .scp-preview-modal.is-open{
		visibility:visible !important;
		opacity:1 !important;
		pointer-events:auto !important;
		position:fixed !important;
		inset:0 !important;
		z-index:2147483000 !important;
	}

	body.scp-modal-open .scp-preview-modal-backdrop{
		z-index:2147483000 !important;
	}

	body.scp-modal-open .scp-preview-modal-dialog{
		z-index:2147483002 !important;
	}
}

/* v1.47.04: Dynamic Product View tabs, all-view field groups, and automatic field routing. */
.scp-product-view-tabs{
 display:flex;
 align-items:center;
 gap:8px;
 width:100%;
 margin:0 0 12px;
 padding:4px;
 overflow-x:auto;
 border:1px solid #e2e8f0;
 border-radius:12px;
 background:#f8fafc;
 scrollbar-width:thin;
}
.scp-product-view-tab{
 appearance:none;
 -webkit-appearance:none;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 min-height:38px;
 padding:8px 15px;
 border:1px solid transparent;
 border-radius:9px;
 background:transparent;
 color:#334155;
 font:inherit;
 font-size:14px;
 font-weight:650;
 line-height:1.2;
 cursor:pointer;
 box-shadow:none;
 transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.scp-product-view-tab:hover,
.scp-product-view-tab:focus-visible{
 border-color:#cbd5e1;
 background:#fff;
 color:#0f172a;
 outline:none;
}
.scp-product-view-tab.is-active{
 border-color:#1f6f4a;
 background:#1f6f4a;
 color:#fff;
 box-shadow:0 3px 10px rgba(31,111,74,.18);
}
.scp-product-view-tab.is-active:hover,
.scp-product-view-tab.is-active:focus-visible{
 border-color:#185c3d;
 background:#185c3d;
 color:#fff;
}
/* v1.47.06: Product View fields use the same flat list layout as normal fields.
   No per-view cards, headings, borders, or helper captions are rendered. */
.scp-multi-view-controls .scp-control-row{
 margin-left:0;
 margin-right:0;
}
@media(max-width:768px){
 .scp-product-view-tabs{gap:6px;margin-bottom:10px;padding:3px;border-radius:10px;}
 .scp-product-view-tab{min-height:36px;padding:7px 12px;font-size:13px;}
}
.scp-preview-box{aspect-ratio:var(--scp-active-view-ratio,.8) !important;}


/* v1.47.08: Multi-View Preview Viewer. Visible Product Views can be switched
   inside the desktop design modal and the mobile full-screen zoom viewer. */
.scp-preview-modal-view-tabs{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:7px;
 width:100%;
 margin:4px 0 10px;
 padding:4px;
 overflow-x:auto;
 border:1px solid #e2e8f0;
 border-radius:12px;
 background:#f8fafc;
 box-sizing:border-box;
 scrollbar-width:thin;
}
.scp-preview-modal-view-tab{
 appearance:none;
 -webkit-appearance:none;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 min-height:36px;
 padding:7px 14px;
 border:1px solid transparent !important;
 border-radius:9px !important;
 background:transparent !important;
 color:#334155 !important;
 font:inherit !important;
 font-size:13px !important;
 font-weight:700 !important;
 line-height:1.2 !important;
 box-shadow:none !important;
 cursor:pointer;
}
.scp-preview-modal-view-tab:hover,
.scp-preview-modal-view-tab:focus-visible{
 border-color:#cbd5e1 !important;
 background:#fff !important;
 color:#0f172a !important;
 outline:none;
}
.scp-preview-modal-view-tab.is-active,
.scp-preview-modal-view-tab.is-active:hover,
.scp-preview-modal-view-tab.is-active:focus-visible{
 border-color:#1f6f4a !important;
 background:#1f6f4a !important;
 color:#fff !important;
 box-shadow:0 3px 10px rgba(31,111,74,.18) !important;
}
.scp-mobile-preview-view-tabs{
 position:relative;
 z-index:3;
 display:none;
 align-items:center;
 gap:7px;
 flex:0 0 auto;
 width:100%;
 padding:8px 12px 9px;
 overflow-x:auto;
 background:rgba(11,16,32,.96);
 border-bottom:1px solid rgba(255,255,255,.10);
 box-sizing:border-box;
 scrollbar-width:thin;
}
.scp-mobile-preview-view-tab{
 appearance:none;
 -webkit-appearance:none;
 display:inline-flex !important;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 min-height:34px !important;
 padding:6px 13px !important;
 border:1px solid rgba(255,255,255,.18) !important;
 border-radius:999px !important;
 background:rgba(255,255,255,.08) !important;
 color:#fff !important;
 font:inherit !important;
 font-size:13px !important;
 font-weight:750 !important;
 line-height:1.2 !important;
 box-shadow:none !important;
 cursor:pointer;
}
.scp-mobile-preview-view-tab.is-active,
.scp-mobile-preview-view-tab.is-active:hover,
.scp-mobile-preview-view-tab.is-active:focus-visible{
 border-color:#fff !important;
 background:#fff !important;
 color:#0b1020 !important;
}
@media(max-width:767px){
 .scp-preview-modal-view-tabs{justify-content:flex-start;}
 .scp-mobile-preview-zoom-box,
 .scp-mobile-preview-zoom-holder .scp-preview-box{
  width:min(92vw, calc((100dvh - 145px) * var(--scp-active-view-ratio,.8))) !important;
  aspect-ratio:var(--scp-active-view-ratio,.8) !important;
 }
}
@media(min-width:768px){
 .scp-preview-modal-image-wrap{
  height:calc(94vh - 216px) !important;
  min-height:0 !important;
  max-height:calc(94vh - 216px) !important;
 }
 .scp-preview-modal-live-holder{
  min-height:0 !important;
  max-height:100% !important;
 }
 .scp-preview-modal-live-holder .scp-preview-box,
 .scp-preview-modal-live-box{
  width:min(82vw,700px,calc((94vh - 258px) * var(--scp-preview-ratio,.8))) !important;
 }
 .scp-preview-modal-image-wrap > img{
  max-height:calc(94vh - 258px) !important;
 }
}


/* v1.47.09: Per-view completion badges and guided required-field validation. */
.scp-product-view-status{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 width:18px;
 height:18px;
 margin-left:7px;
 border-radius:999px;
 font-size:12px;
 font-weight:800;
 line-height:1;
 box-sizing:border-box;
}
.scp-view-complete .scp-product-view-status{
 background:#dcfce7;
 color:#166534;
 border:1px solid #86efac;
}
.scp-view-incomplete .scp-product-view-status{
 background:#fff7ed;
 color:#c2410c;
 border:1px solid #fdba74;
}
.scp-product-view-tab.is-active .scp-product-view-status,
.scp-preview-modal-view-tab.is-active .scp-product-view-status,
.scp-mobile-preview-view-tab.is-active .scp-product-view-status{
 background:rgba(255,255,255,.96);
}
.scp-product-view-tab.is-active.scp-view-complete .scp-product-view-status,
.scp-preview-modal-view-tab.is-active.scp-view-complete .scp-product-view-status,
.scp-mobile-preview-view-tab.is-active.scp-view-complete .scp-product-view-status{color:#166534;border-color:rgba(255,255,255,.7);}
.scp-product-view-tab.is-active.scp-view-incomplete .scp-product-view-status,
.scp-preview-modal-view-tab.is-active.scp-view-incomplete .scp-product-view-status,
.scp-mobile-preview-view-tab.is-active.scp-view-incomplete .scp-product-view-status{color:#c2410c;border-color:rgba(255,255,255,.7);}
.scp-view-needs-attention{
 animation:scpViewNeedsAttention .72s ease-in-out 2;
}
@keyframes scpViewNeedsAttention{
 0%,100%{transform:translateZ(0);box-shadow:inherit;}
 50%{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(234,88,12,.22);}
}
.scp-validation-message .scp-validation-jump{
 appearance:none;
 -webkit-appearance:none;
 display:flex;
 align-items:center;
 gap:8px;
 width:100%;
 padding:5px 7px;
 border:0;
 border-radius:7px;
 background:transparent;
 color:inherit;
 font:inherit;
 text-align:left;
 cursor:pointer;
 box-shadow:none;
}
.scp-validation-message .scp-validation-jump:hover,
.scp-validation-message .scp-validation-jump:focus-visible{
 background:rgba(255,255,255,.68);
 outline:2px solid rgba(194,65,12,.24);
 outline-offset:1px;
}
.scp-validation-view-label{
 flex:0 0 auto;
 padding:2px 6px;
 border-radius:999px;
 background:rgba(194,65,12,.10);
 color:#9a3412;
 font-size:11px;
 font-weight:750;
 line-height:1.35;
}
.scp-validation-field-label{min-width:0;font-weight:600;}
.scp-validation-more{padding:4px 7px;color:#7c2d12;font-size:12px;}
@media(max-width:768px){
 .scp-product-view-status{width:17px;height:17px;margin-left:6px;font-size:11px;}
}


/* -------------------------------------------------------
   v1.47.10 Unified stored multi-view preview gallery
------------------------------------------------------- */
.scp-stored-preview-gallery{
	display:grid !important;
	grid-template-columns:repeat(auto-fit,minmax(96px,1fr)) !important;
	gap:10px !important;
	align-items:start !important;
	width:100% !important;
	max-width:460px !important;
	margin:8px 0 !important;
	clear:both !important;
}
.scp-stored-preview-card{
	transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease !important;
}
.scp-stored-preview-card:hover,
.scp-stored-preview-card:focus-visible{
	border-color:#8a8f98 !important;
	box-shadow:0 3px 12px rgba(0,0,0,.09) !important;
	transform:translateY(-1px) !important;
	outline:none !important;
}
.scp-order-preview-gallery-block{
	margin-top:10px !important;
	clear:both !important;
}
.scp-order-preview-gallery-title{
	display:block !important;
	margin-bottom:4px !important;
}
html.scp-stored-preview-lightbox-open,
html.scp-stored-preview-lightbox-open body{
	overflow:hidden !important;
}
.scp-stored-preview-lightbox{
	position:fixed !important;
	inset:0 !important;
	display:none !important;
	align-items:center !important;
	justify-content:center !important;
	z-index:1000000 !important;
	padding:24px !important;
}
.scp-stored-preview-lightbox.is-open{display:flex !important;}
.scp-stored-preview-lightbox-backdrop{
	position:absolute !important;
	inset:0 !important;
	background:rgba(0,0,0,.78) !important;
}
.scp-stored-preview-lightbox-dialog{
	position:relative !important;
	z-index:1 !important;
	display:grid !important;
	grid-template-columns:46px minmax(0,1fr) 46px !important;
	align-items:center !important;
	width:min(920px,94vw) !important;
	max-height:92vh !important;
	padding:18px !important;
	border-radius:12px !important;
	background:#fff !important;
	box-shadow:0 20px 70px rgba(0,0,0,.35) !important;
}
.scp-stored-preview-lightbox-dialog.is-single{
	grid-template-columns:minmax(0,1fr) !important;
}
.scp-stored-preview-lightbox-dialog.is-single figure{
	grid-column:1 !important;
}
.scp-stored-preview-lightbox-dialog figure{
	min-width:0 !important;
	margin:0 !important;
	text-align:center !important;
}
.scp-stored-preview-lightbox-image{
	display:block !important;
	width:auto !important;
	height:auto !important;
	max-width:100% !important;
	max-height:calc(92vh - 90px) !important;
	margin:0 auto !important;
	object-fit:contain !important;
	background:#fff !important;
}
.scp-stored-preview-lightbox-label{
	margin-top:10px !important;
	font-weight:700 !important;
	color:#20242a !important;
}
.scp-stored-preview-lightbox-close,
.scp-stored-preview-lightbox-prev,
.scp-stored-preview-lightbox-next{
	appearance:none !important;
	border:0 !important;
	background:transparent !important;
	color:#222 !important;
	cursor:pointer !important;
	line-height:1 !important;
}
.scp-stored-preview-lightbox-close{
	position:absolute !important;
	top:8px !important;
	right:10px !important;
	z-index:2 !important;
	width:38px !important;
	height:38px !important;
	font-size:30px !important;
}
.scp-stored-preview-lightbox-prev,
.scp-stored-preview-lightbox-next{
	width:42px !important;
	height:56px !important;
	font-size:42px !important;
	border-radius:8px !important;
}
.scp-stored-preview-lightbox-prev:hover,
.scp-stored-preview-lightbox-next:hover,
.scp-stored-preview-lightbox-close:hover{
	background:#f0f1f2 !important;
}
@media(max-width:640px){
	.scp-stored-preview-gallery{
		grid-template-columns:repeat(2,minmax(88px,1fr)) !important;
		max-width:320px !important;
	}
	.scp-stored-preview-lightbox{padding:10px !important;}
	.scp-stored-preview-lightbox-dialog{
		grid-template-columns:34px minmax(0,1fr) 34px !important;
		width:calc(100vw - 20px) !important;
		padding:42px 8px 14px !important;
	}
	.scp-stored-preview-lightbox-prev,
	.scp-stored-preview-lightbox-next{
		width:32px !important;
		font-size:34px !important;
	}
}

.scp-live-preview-title{
 display:block !important;
 margin:0 0 6px !important;
 font:inherit !important;
 font-weight:700 !important;
 line-height:1.3 !important;
}

/* -------------------------------------------------------
   v1.47.14 Compact Product View Switcher
   Smaller pill-style tabs on the product page. Keep the
   control compact while preserving horizontal scrolling.
------------------------------------------------------- */
.scp-product-view-tabs{
 display:flex !important;
 align-items:center !important;
 gap:4px !important;
 width:max-content !important;
 max-width:100% !important;
 min-height:0 !important;
 margin:0 0 9px !important;
 padding:3px !important;
 overflow-x:auto !important;
 overflow-y:hidden !important;
 border:1px solid #e2e8f0 !important;
 border-radius:999px !important;
 background:#f6f8fa !important;
 box-sizing:border-box !important;
 scrollbar-width:none !important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.scp-product-view-tabs::-webkit-scrollbar{display:none !important;}
.scp-product-view-tabs .scp-product-view-tab{
 appearance:none !important;
 -webkit-appearance:none !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 gap:5px !important;
 flex:0 0 auto !important;
 min-width:0 !important;
 min-height:30px !important;
 height:30px !important;
 margin:0 !important;
 padding:5px 11px !important;
 border:1px solid transparent !important;
 border-radius:999px !important;
 background:transparent !important;
 color:#334155 !important;
 font-family:inherit !important;
 font-size:13px !important;
 font-style:normal !important;
 font-weight:700 !important;
 letter-spacing:0 !important;
 line-height:1 !important;
 text-transform:none !important;
 white-space:nowrap !important;
 cursor:pointer !important;
 box-shadow:none !important;
 transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}
.scp-product-view-tabs .scp-product-view-tab:hover,
.scp-product-view-tabs .scp-product-view-tab:focus-visible{
 border-color:#d5dde5 !important;
 background:#fff !important;
 color:#172033 !important;
 outline:none !important;
 box-shadow:0 1px 3px rgba(15,23,42,.08) !important;
}
.scp-product-view-tabs .scp-product-view-tab.is-active,
.scp-product-view-tabs .scp-product-view-tab.is-active:hover,
.scp-product-view-tabs .scp-product-view-tab.is-active:focus-visible{
 border-color:#176b4b !important;
 background:#176b4b !important;
 color:#fff !important;
 box-shadow:0 2px 6px rgba(23,107,75,.22) !important;
}
.scp-product-view-tabs .scp-product-view-status{
 width:14px !important;
 height:14px !important;
 margin-left:0 !important;
 border-width:1px !important;
 font-size:9px !important;
 font-weight:900 !important;
 line-height:1 !important;
}
.scp-product-view-tabs .scp-product-view-tab.is-active .scp-product-view-status{
 background:rgba(255,255,255,.96) !important;
}
@media(max-width:768px){
 .scp-product-view-tabs{
  gap:3px !important;
  margin-bottom:8px !important;
  padding:3px !important;
 }
 .scp-product-view-tabs .scp-product-view-tab{
  min-height:29px !important;
  height:29px !important;
  padding:5px 10px !important;
  font-size:12.5px !important;
 }
 .scp-product-view-tabs .scp-product-view-status{
  width:13px !important;
  height:13px !important;
  font-size:8px !important;
 }
}

/* -------------------------------------------------------
   v1.47.33 Customer Upload Image
------------------------------------------------------- */
.scp-customer-upload{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:8px;
 width:100%;
 padding:10px;
 border:1px solid #dbe3ea;
 border-radius:10px;
 background:#f8fafc;
 box-sizing:border-box;
}
.scp-customer-upload .scp-upload-button,
.scp-customer-upload .scp-upload-reset,
.scp-customer-upload .scp-upload-remove{
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 min-height:38px !important;
 margin:0 !important;
 padding:7px 12px !important;
 border-radius:7px !important;
 line-height:1.2 !important;
 cursor:pointer !important;
}
.scp-customer-upload .scp-upload-button{
 border-color:#176b4b !important;
 background:#176b4b !important;
 color:#fff !important;
 font-weight:700 !important;
}
.scp-customer-upload .scp-upload-button:hover,
.scp-customer-upload .scp-upload-button:focus-visible{
 border-color:#12573d !important;
 background:#12573d !important;
 color:#fff !important;
}
.scp-upload-status{
 flex:1 1 150px;
 min-width:0;
 color:#475569;
 font-size:13px;
 line-height:1.35;
 overflow-wrap:anywhere;
}
.scp-upload-status.is-ready{color:#176b4b;font-weight:700;}
.scp-upload-status.is-error{color:#b42318;font-weight:700;}
.scp-upload-controls{
 display:flex;
 flex:1 0 100%;
 flex-wrap:wrap;
 align-items:center;
 gap:8px;
 padding-top:2px;
}
.scp-upload-controls[hidden]{display:none !important;}
.scp-upload-zoom-label{
 display:inline-flex !important;
 align-items:center;
 gap:8px;
 margin:0 !important;
 color:#334155;
 font-size:13px;
 font-weight:700;
}
.scp-upload-zoom{
 width:150px !important;
 min-width:110px;
 margin:0 !important;
 padding:0 !important;
}
.scp-upload-help{
 flex:1 0 100%;
 display:block;
 color:#64748b;
 font-size:12px;
 line-height:1.45;
}
.scp-upload-layer{
 position:absolute;
 transform-origin:center center;
 box-sizing:border-box;
 overflow:hidden;
 pointer-events:none;
 touch-action:none;
 background:rgba(255,255,255,.16);
}
.scp-upload-layer.is-empty{
 border:2px dashed rgba(23,107,75,.78);
 background:rgba(255,255,255,.7);
}
.scp-upload-layer.is-draggable{
 pointer-events:auto;
 cursor:grab;
}
.scp-upload-layer.is-dragging{cursor:grabbing;}
.scp-upload-layer-image{
 display:block;
 max-width:none !important;
 max-height:none !important;
 user-select:none;
 -webkit-user-drag:none;
 pointer-events:none;
}
.scp-upload-layer-placeholder{
 position:absolute;
 inset:0;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:8px;
 color:#176b4b;
 font-size:clamp(10px,1.7vw,14px);
 font-weight:800;
 line-height:1.2;
 text-align:center;
 pointer-events:none;
 box-sizing:border-box;
}
.scp-upload-layer.scp-upload-mask-rounded{border-radius:10%;}
.scp-upload-layer.scp-upload-mask-circle{border-radius:50%;}
.scp-upload-layer.scp-upload-mask-circle.is-empty,
.scp-upload-layer.scp-upload-mask-rounded.is-empty{overflow:hidden;}
@media(max-width:768px){
 .scp-customer-upload{padding:9px;gap:7px;}
 .scp-customer-upload .scp-upload-button,
 .scp-customer-upload .scp-upload-reset,
 .scp-customer-upload .scp-upload-remove{min-height:36px !important;padding:6px 10px !important;font-size:13px !important;}
 .scp-upload-zoom-label{flex:1 1 100%;}
 .scp-upload-zoom{flex:1 1 auto;width:auto !important;}
}


/* -------------------------------------------------------
   v1.47.34 Custom upload masks + constrained crop controls
------------------------------------------------------- */
.scp-upload-layer.scp-upload-mask-custom{
 -webkit-mask-size:100% 100%;
 mask-size:100% 100%;
 -webkit-mask-repeat:no-repeat;
 mask-repeat:no-repeat;
 -webkit-mask-position:center;
 mask-position:center;
}
.scp-upload-zoom-label .scp-upload-zoom-out,
.scp-upload-zoom-label .scp-upload-zoom-in{
 width:32px !important;
 min-width:32px !important;
 height:32px !important;
 min-height:32px !important;
 padding:0 !important;
 border-radius:6px !important;
 font-size:18px !important;
 font-weight:800 !important;
 line-height:1 !important;
}


/* -------------------------------------------------------
   v1.47.35 Customer upload Fit Entire / Fill Area controls
------------------------------------------------------- */
.scp-upload-fit-controls{
 display:flex;
 flex-wrap:wrap;
 gap:6px;
 align-items:center;
}
.scp-upload-fit-controls .button{
 min-height:34px !important;
 padding:6px 10px !important;
 font-size:12px !important;
 line-height:1.2 !important;
}
.scp-upload-fit-controls .button.is-active{
 border-color:#176b4b !important;
 background:#176b4b !important;
 color:#fff !important;
 box-shadow:none !important;
}
@media(max-width:768px){
 .scp-upload-fit-controls{width:100%;}
 .scp-upload-fit-controls .button{flex:1 1 auto;}
}

/* -------------------------------------------------------
   v1.47.36 Compact customer upload controls
------------------------------------------------------- */
.scp-customer-upload{
 gap:6px;
 padding:8px;
 border-radius:8px;
}
.scp-customer-upload .scp-upload-button,
.scp-customer-upload .scp-upload-reset,
.scp-customer-upload .scp-upload-remove,
.scp-upload-fit-controls .button{
 min-height:30px !important;
 height:auto !important;
 padding:4px 8px !important;
 border-radius:6px !important;
 font-size:12px !important;
 line-height:1.2 !important;
 white-space:nowrap;
}
.scp-customer-upload .scp-upload-button{
 min-height:32px !important;
 padding:5px 10px !important;
 font-size:13px !important;
}
.scp-upload-controls{
 gap:6px;
 padding-top:1px;
}
.scp-upload-zoom-label{
 gap:6px;
 font-size:12px;
}
.scp-upload-zoom-label .scp-upload-zoom-out,
.scp-upload-zoom-label .scp-upload-zoom-in{
 width:28px !important;
 min-width:28px !important;
 height:28px !important;
 min-height:28px !important;
 padding:0 !important;
 border-radius:5px !important;
 font-size:15px !important;
 line-height:1 !important;
}
.scp-upload-zoom{
 height:20px;
}
.scp-upload-fit-controls{
 gap:5px;
}
.scp-upload-status{
 font-size:12px;
}
.scp-upload-help{
 font-size:11px;
 line-height:1.35;
}
@media(max-width:768px){
 .scp-customer-upload{gap:6px;padding:8px;}
 .scp-customer-upload .scp-upload-button,
 .scp-customer-upload .scp-upload-reset,
 .scp-customer-upload .scp-upload-remove,
 .scp-upload-fit-controls .button{
  min-height:34px !important;
  padding:5px 8px !important;
  font-size:12px !important;
 }
 .scp-customer-upload .scp-upload-button{font-size:13px !important;}
 .scp-upload-fit-controls .button{flex:0 1 auto;}
}

/* -------------------------------------------------------
   v1.47.48 Responsive helper text hardening
------------------------------------------------------- */
.scp-builder .scp-builder-controls .scp-control-row{
 min-width:0;
}
.scp-builder .scp-builder-controls .scp-field-helper-text{
 width:100%;
 max-width:100%;
 min-width:0;
 box-sizing:border-box;
 overflow-wrap:anywhere;
 word-break:normal;
 hyphens:auto;
 text-wrap:pretty;
}
@media(max-width:600px){
 .scp-builder .scp-builder-controls .scp-field-helper-text{
  margin:-1px 0 7px;
  font-size:12px;
  line-height:1.4;
 }
}
@media(max-width:380px){
 .scp-builder .scp-builder-controls .scp-field-helper-text{
  margin-top:0;
  font-size:12px;
  line-height:1.38;
 }
}
