/* ============================================================
   IVERY SHEIN-style PDP skin
   ============================================================ */
.single-product #primary{max-width:1500px !important}
.ivp-brandline{
	display:flex;align-items:center;gap:.6rem;margin:0 0 .4rem;
}
.ivp-brand{
	font-family:var(--iv-f-sans,Jost);font-size:.72rem;font-weight:600;
	letter-spacing:.22em;text-transform:uppercase;color:#5A6B59;
}
.ivp-code{
	font-size:.72rem;letter-spacing:.08em;color:#6E6A62;text-transform:uppercase;
	font-family:var(--iv-f-sans,Jost);
}

/* gallery + summary: SHEIN style two columns (gallery narrowed 20%) */
.woocommerce div.product div.images{width:43.2%;box-sizing:border-box}
.woocommerce div.product div.summary{width:56%;padding-left:1.6rem;box-sizing:border-box}
.single-product .woocommerce div.product .product_title{
	font-family:var(--iv-f-sans,Jost);
	font-size:clamp(1.35rem,2vw,1.8rem) !important;font-weight:600 !important;
	color:#2A2A2A !important;line-height:1.25 !important;letter-spacing:0 !important;
}

/* price zone */
.single-product .woocommerce div.product p.price{
	font-size:1.5rem !important;font-weight:700 !important;color:#E6007E !important;
	margin:.4rem 0 .2rem !important;
}
.single-product .woocommerce div.product p.price del{color:#999 !important;font-weight:400 !important;font-size:.95rem !important;margin-left:.4rem}
.single-product .woocommerce div.product p.price ins{text-decoration:none}

/* tier pricing table */
.ivp-tiers{
	border:1px solid var(--iv-line,#E2DCD2);border-radius:10px;
	padding:.7rem 1rem;margin:.6rem 0 .9rem;background:#fff;
}
.ivp-tiers-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem}
.ivp-tiers-head span{
	font-family:var(--iv-f-sans,Jost);font-size:.72rem;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;color:#2A2A2A;
}
.ivp-tiers-head em{font-style:normal;font-size:.72rem;color:#6E6A62}
.ivp-tier-row{
	display:flex;justify-content:space-between;align-items:center;
	padding:.42rem .5rem;border-radius:6px;font-size:.9rem;
	outline:none !important;box-shadow:none !important;
}
.ivp-tier-row:nth-child(odd){background:#F8F5F0}
.ivp-tier-row.ivp-active{background:#EFE8DC}
.ivp-tier-row.ivp-active .ivp-tier-qty{font-weight:600;color:#1A1813}
.ivp-tier-row.ivp-active .ivp-tier-price{font-weight:700;color:#C2185B}
.ivp-tier-qty{color:#2A2A2A}
.ivp-tier-price{color:#E6007E;font-weight:600;font-variant-numeric:tabular-nums}

/* quantity + add to cart controls */
.woocommerce div.product form.cart .quantity{margin-right:.8rem}
.woocommerce div.product form.cart .quantity .qty{
	width:70px;height:46px;border:1px solid #E2DCD2;border-radius:8px;text-align:center;font-size:1rem;
}
.single-product .woocommerce div.product form.cart .button,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button{
	background:#5A6B59 !important;color:#fff !important;border-radius:999px !important;
	padding:0 2.2rem !important;height:48px;font-weight:600;letter-spacing:.08em;
	text-transform:uppercase;font-size:.82rem !important;
}
.single-product .woocommerce div.product form.cart .button:hover{background:#4F5E4E !important}

/* trust chips + delivery */
.ivp-trust{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 .3rem}
.ivp-trust span{
	font-size:.78rem;color:#2A2A2A;background:#F8F5F0;border:1px solid #E2DCD2;
	border-radius:999px;padding:.3rem .7rem;
}
.ivp-ship{
	font-size:.82rem;color:#444;line-height:1.55;margin:.35rem 0 .4rem;
	padding:.55rem .7rem;background:#FBF9F3;border:1px dashed #E2DCD2;border-radius:8px;
}
.ivp-ship strong{color:#2A2A2A}

/* ============================================================
   Gallery: native viewer adapts to the image ratio (no letterbox)
   ============================================================ */
.single-product .woocommerce-product-gallery{position:relative}
.single-product .woocommerce-product-gallery .flex-viewport{display:none !important}
.single-product .woocommerce-product-gallery .ivp-mainview{
	position:relative;width:100%;
	max-height:min(70vh, 640px);
	background:#F0F0F0;border-radius:10px;overflow:hidden;
	display:flex;align-items:center;justify-content:center;
}
.single-product .woocommerce-product-gallery .ivp-mainview img.ivp-main{
	display:block;
	height:auto;
	width:auto;
	max-width:100%;
	max-height:min(70vh, 640px);
}

/* thumbnails row below the main frame */
.ivp-thumbs-frame{position:relative;margin-top:.8rem}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs{
	display:flex;gap:.55rem;list-style:none;margin:0;padding:0;
	overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs::-webkit-scrollbar{display:none}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li{flex:0 0 74px;margin:0}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img{
	width:74px;height:98px;object-fit:cover;cursor:pointer;
	border:2px solid transparent;border-radius:8px;opacity:.75;
	transition:all .18s ease;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li.flex-active img,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover{
	border-color:#5A6B59;opacity:1;
}
.ivp-thumb-arrow{
	position:absolute;top:50%;transform:translateY(-50%);z-index:4;
	width:24px;height:40px;border:none;border-radius:6px;cursor:pointer;
	background:rgba(255,255,255,.94);color:#2A2A2A;font-size:1rem;line-height:1;
	border:1px solid #E2DCD2;display:flex;align-items:center;justify-content:center;
}
.ivp-thumb-arrow.prev{left:-10px}
.ivp-thumb-arrow.next{right:-10px}

/* main image prev/next arrows */
.single-product .woocommerce-product-gallery .ivp-main-arrow{
	position:absolute;top:46%;transform:translateY(-50%);z-index:6;
	width:38px;height:38px;border-radius:50%;cursor:pointer;
	background:rgba(255,255,255,.92);color:#2A2A2A;
	border:1px solid #E2DCD2;box-shadow:0 2px 8px rgba(26,24,19,.10);
	font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;
	transition:all .18s ease;
}
.single-product .woocommerce-product-gallery .ivp-main-arrow:hover{color:#5A6B59;border-color:#5A6B59}
.single-product .woocommerce-product-gallery .ivp-main-arrow.prev{left:12px}
.single-product .woocommerce-product-gallery .ivp-main-arrow.next{right:12px}
.single-product .woocommerce-product-gallery{position:relative}

/* Tabs (Description / Reviews / Related spacing) */
.single-product .woocommerce-tabs{margin-top:2.2rem;border-top:1px solid #E2DCD2;padding-top:1rem}
.ivp-est-line{
	margin:.6rem 0 0;font-size:.86rem;color:#E6007E;font-weight:600;
	font-variant-numeric:tabular-nums;
}
.ivp-qty-warn{
	display:none;margin:.45rem 0 0;font-size:.82rem;font-weight:500;color:#C0392B;
}
.ivp-qty-warn.show{display:block}

/* Logo finish case examples (top of the Custom Logo sub-panel) */
.ivp-logo-cases{
	margin:0 0 1.5rem;padding:1rem 1.1rem 1.1rem;
	background:#F8F5F0;border:1px solid #E2DCD2;border-radius:12px;
}
.ivp-logo-cases-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.ivp-logo-cases-head h4{margin:0;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2A2A2A}
.ivp-logo-cases-head span{font-size:.74rem;color:#6E6A62}
.ivp-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}
.ivp-case{background:#fff;border:1px solid #E2DCD2;border-radius:10px;overflow:hidden}
.ivp-case-media{
	position:relative;width:100%;aspect-ratio:1/1;background:#F0F0F0;overflow:hidden;
	cursor:zoom-in;
}
.ivp-case-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ivp-case-media .ivp-case-zoom{
	position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);
	background:rgba(255,255,255,.94);color:#1A1813;
	font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
	padding:.38rem .75rem;border-radius:999px;white-space:nowrap;
	opacity:0;transition:opacity .18s ease,transform .18s ease;pointer-events:none;
	box-shadow:0 4px 14px rgba(0,0,0,.25);
}
.ivp-case-media::after{
	content:'';position:absolute;inset:0;pointer-events:none;
	background:rgba(15,13,10,0);transition:background .18s ease;
}
.ivp-case-media:hover::after,.ivp-case-media:focus::after{background:rgba(15,13,10,.18)}
.ivp-case-media:hover .ivp-case-zoom,.ivp-case-media:focus .ivp-case-zoom{
	opacity:1;transform:translate(-50%,-50%) scale(1);
}
.ivp-case-ph{
	position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	font-size:.72rem;color:#999;text-align:center;padding:0 .6rem;line-height:1.5;
	background:repeating-linear-gradient(45deg,#F5F2EC,#F5F2EC 10px,#EFEAE1 10px,#EFEAE1 20px);
	border:1px dashed #CFC7B8;border-radius:6px;
}
.ivp-case-cap{padding:.5rem .6rem .6rem}
.ivp-case-name{display:block;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#1A1813}
.ivp-case-cap i{display:block;font-style:normal;font-size:.68rem;line-height:1.45;color:#6E6A62;margin-top:.2rem}

/* Lightbox for enlarged case photos */
.ivp-lb{
	position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;
	background:rgba(12,10,8,.86);padding:4vh 3vw;
}
.ivp-lb-box{position:relative;max-width:94vw;max-height:94vh;display:flex;align-items:center;justify-content:center}
.ivp-lb-box img{
	display:block;max-width:94vw;max-height:94vh;width:auto;height:auto;
	border-radius:6px;box-shadow:0 20px 70px rgba(0,0,0,.55);
}
.ivp-lb-close{
	position:absolute;top:0;right:-2.2rem;background:none;border:none;color:#fff;
	font-size:1.7rem;line-height:1;cursor:pointer;opacity:.9;padding:.2rem;
}
.ivp-lb-close:hover{opacity:1}
body.ivp-lb-open{overflow:hidden}
@media (max-width:700px){
	.ivp-lb{padding:3vh 2vw}
	.ivp-lb-close{right:0;top:-2.4rem}
}

/* Customization type option cards (inside the Custom tab) */
.ivp-custom-options{
	margin:0 0 1.6rem;padding:1rem 1.1rem;
	background:#F8F5F0;border:1px solid #E2DCD2;border-radius:12px;
}
.custom-opt-lead{
	font-family:var(--iv-f-sans,Jost);font-size:.78rem;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;color:#2A2A2A;margin-bottom:.7rem;
}
.custom-opt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.custom-opt{
	display:flex;flex-direction:column;gap:.35rem;padding:.95rem 1.1rem;min-height:122px;
	background:#fff;border:1px solid #E2DCD2;border-radius:12px;
	text-decoration:none !important;color:#2A2A2A;text-align:left;cursor:pointer;font:inherit;
	transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.custom-opt:hover{border-color:#C9C0AC;box-shadow:0 6px 16px rgba(26,24,19,.06)}
.custom-opt.is-active{
	background:#1A1813;border-color:#1A1813;color:#fff;
	box-shadow:0 6px 18px rgba(26,24,19,.18);
}
.custom-opt .co-n{
	width:22px;height:22px;border-radius:50%;background:#EFEBE2;color:#3E3A31;
	font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;
	transition:background .18s ease,color .18s ease;
}
.custom-opt.is-active .co-n{background:#fff;color:#1A1813}
.custom-opt b{display:block;white-space:normal !important;font-family:var(--iv-f-sans,Jost);font-size:.95rem;font-weight:600;line-height:1.25}
.custom-opt i{
	display:block;white-space:normal !important;font-style:normal;font-size:.78rem;line-height:1.5;color:#6E6A62;
	margin-top:.15rem;overflow-wrap:break-word;word-wrap:break-word;
}
.custom-opt.is-active i{color:rgba(255,255,255,.72)}
.ivp-custom-subpanels{margin-top:.8rem}
.custom-sub{display:none}
.custom-sub.is-active{display:block;animation:ivpfade .25s ease}
@keyframes ivpfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.custom-sub h4{
	font-family:var(--iv-f-sans,Jost);font-size:.95rem;font-weight:600;color:#2A2A2A;
	margin:0 0 .4rem;
}
.custom-sub p{color:#444444;font-size:.92rem;line-height:1.6;max-width:720px}
.ivp-custom-mini{display:flex;gap:.5rem;max-width:520px;flex-wrap:wrap}
.ivp-custom-mini input{
	flex:1;min-width:200px;padding:.6rem .8rem;border:1px solid #E2DCD2;border-radius:8px;font:inherit;
}
.ivp-custom-mini button{
	border:none;background:#5A6B59;color:#fff;border-radius:8px;padding:.6rem 1.2rem;cursor:pointer;font-weight:600;
}

/* ===== Custom Color picker ===== */
.cc-lead{margin:0 0 .9rem}
.cc-sub{font-weight:600;color:#2A2A2A;font-size:.86rem;margin:.9rem 0 .45rem;max-width:none}
.cp-trigger{
	display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font:inherit;font-weight:600;
	background:#fff;border:1px solid #E2DCD2;border-radius:10px;padding:.55rem .9rem;color:#2A2A2A;
	max-width:660px;
}
.cp-trigger:hover{border-color:#C9C0AC;box-shadow:0 6px 16px rgba(26,24,19,.06)}
.cp-swatch{
	width:30px;height:30px;border-radius:8px;flex:0 0 auto;
	background:repeating-conic-gradient(#EDEAE4 0% 25%,#fff 0% 50%) 50%/12px 12px;
	border:1px solid rgba(26,24,19,.2);
}
.cp-swatch.is-set{background-image:none}
.cp-trigger-txt{font-size:.9rem}
.cc-picked{margin:.7rem 0 0;font-size:.86rem;color:#444}
.cc-picked b{color:#1A1813;font-weight:600}
.cc-picked span{margin-left:.4rem;color:#6E6A62;font-variant-numeric:tabular-nums}
.cc-confirm{
	margin:.7rem 0 0;border:none;background:#1A1813;color:#fff;border-radius:8px;
	padding:.62rem 1.3rem;font-weight:600;cursor:pointer;letter-spacing:.02em;
}
.cc-confirm:hover{background:#33302a}
.cc-msg{
	display:block;width:100%;max-width:660px;padding:.7rem .85rem;font:inherit;font-size:.88rem;line-height:1.55;
	border:1px solid #E2DCD2;border-radius:10px;background:#fff;resize:vertical;color:#2A2A2A;
}
.cc-btns{display:flex;gap:.6rem;flex-wrap:wrap;margin:.6rem 0 0;max-width:660px}
.cc-copy{
	border:1px solid #1A1813;background:#fff;color:#1A1813;border-radius:8px;
	padding:.6rem 1.15rem;font-weight:600;cursor:pointer;
}
.cc-copy:hover{background:#F2EFE9}
.cc-wa{
	display:inline-flex;align-items:center;gap:.45rem;text-decoration:none !important;
	background:#25D366;color:#0B2E19 !important;border-radius:8px;padding:.6rem 1.25rem;font-weight:700;
}
.cc-wa:hover{background:#1EBE5A;color:#0B2E19 !important}
.cc-wa::before{content:'\2706';font-size:1rem;line-height:1}
.cc-note{margin:.55rem 0 0;font-size:.78rem;color:#6E6A62;line-height:1.5;max-width:660px}
.cc-note.is-warn{color:#C0392B}

/* Color picker popup */
.cp-modal{
	position:fixed;inset:0;z-index:99995;display:flex;align-items:center;justify-content:center;
	background:rgba(12,10,8,.62);padding:4vh 4vw;
}
.cp-modal[hidden]{display:none}
.cp-box{
	width:min(520px,94vw);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;
	padding:1rem 1.1rem 1.15rem;box-shadow:0 24px 70px rgba(0,0,0,.4);
}
.cp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.cp-head b{font-size:.92rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#1A1813}
.cp-close{background:none;border:none;font-size:1.15rem;line-height:1;cursor:pointer;color:#6E6A62;padding:.2rem}
.cp-close:hover{color:#1A1813}
.cp-area{
	position:relative;width:100%;height:210px;border-radius:10px;cursor:crosshair;
	touch-action:none;overflow:hidden;border:1px solid #E2DCD2;
}
.cp-knob{
	position:absolute;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);
	border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);
	pointer-events:none;
}
.cp-hue{
	-webkit-appearance:none;appearance:none;width:100%;height:16px;margin:.75rem 0 0;border-radius:8px;
	border:1px solid #E2DCD2;cursor:pointer;
	background:linear-gradient(to right,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%);
}
.cp-hue::-webkit-slider-thumb{
	-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;
	border:2px solid #1A1813;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.3);
}
.cp-hue::-moz-range-thumb{
	width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #1A1813;cursor:pointer;
}
.cp-fields{display:flex;align-items:flex-end;gap:.75rem;margin-top:.85rem;flex-wrap:wrap}
.cp-field{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:#6E6A62}
.cp-field input{
	width:130px;padding:.5rem .6rem;border:1px solid #E2DCD2;border-radius:8px;font:inherit;
	font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;color:#1A1813;
}
.cp-preview{
	width:44px;height:42px;border-radius:8px;border:1px solid rgba(26,24,19,.2);background:#000;
}
.cp-eyedrop{
	border:1px solid #E2DCD2;background:#fff;color:#2A2A2A;border-radius:8px;padding:.5rem .8rem;
	font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;
}
.cp-eyedrop:hover{border-color:#C9C0AC}
.cp-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}
.cp-cancel{
	border:1px solid #E2DCD2;background:#fff;color:#2A2A2A;border-radius:8px;padding:.6rem 1.1rem;
	font:inherit;font-weight:600;cursor:pointer;
}
.cp-cancel:hover{background:#F5F2EC}
.cp-use{
	border:none;background:#1A1813;color:#fff;border-radius:8px;padding:.62rem 1.25rem;
	font:inherit;font-weight:600;cursor:pointer;
}
.cp-use:hover{background:#33302a}

/* ===== Custom Similar uploader ===== */
.ks-lead{margin:0 0 .9rem}
.ks-drop{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;
	max-width:660px;padding:1.35rem 1rem;text-align:center;cursor:pointer;
	background:#fff;border:1.5px dashed #CFC7B8;border-radius:12px;
	transition:border-color .18s ease,background .18s ease;
}
.ks-drop:hover,.ks-drop.is-over{border-color:#1A1813;background:#FAF8F4}
.ks-drop-ico{
	width:30px;height:30px;border-radius:50%;background:#EFEAE1;color:#3E3A31;
	display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:600;line-height:1;
}
.ks-drop-txt{font-size:.88rem;color:#444}
.ks-drop-txt b{color:#1A1813;font-weight:600}
.ks-drop-hint{font-size:.72rem;color:#8C8579}
.ks-previews{display:flex;flex-wrap:wrap;gap:.55rem;margin:.75rem 0 0;max-width:660px}
.ks-thumb{
	position:relative;margin:0;width:88px;height:88px;border-radius:10px;overflow:hidden;
	background:#F0F0F0;border:1px solid #E2DCD2;
}
.ks-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ks-del{
	position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;
	border:none;background:rgba(18,16,12,.78);color:#fff;font-size:.68rem;line-height:1;
	cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
}
.ks-del:hover{background:#C0392B}

/* ===== Custom Logo jump button (under colour / size selection) ===== */
.ivp-logo-jump-wrap{margin:10px 0 0}
.ivp-logo-jump{
	display:block;width:100%;padding:12px;border:1.5px solid #1A1813;background:#fff;color:#1A1813;
	border-radius:6px;font:inherit;font-size:15px;font-weight:700;letter-spacing:.02em;cursor:pointer;
	transition:background .16s ease,color .16s ease;
}
.ivp-logo-jump:hover{background:#1A1813;color:#fff}
.ivp-logo-jump::before{content:'\270E';margin-right:.45rem;font-weight:400}
.ivp-jump-note{margin:.45rem 0 0;font-size:.78rem;color:#6E6A62;line-height:1.45}
.lg-cart-status{margin:.55rem 0 0;font-size:.82rem;font-weight:600;line-height:1.5;display:none}
.lg-cart-status.is-ok,.lg-cart-status.is-warn{display:block}
.lg-cart-status.is-ok{color:#2E7D46}
.lg-cart-status.is-warn{color:#C0392B}
/* total price line inside the customizer price estimate */
.lg-total-line{
	display:inline-block;margin-top:.4rem;padding-top:.4rem;border-top:1px dashed #E2DCD2;
	font-weight:600;color:#1A1813;font-size:.95rem;
}
.lg-total-line b{color:#E6007E;font-weight:700;font-size:1.05rem}
#lg-qty.is-from-selection{
	box-shadow:0 0 0 3px rgba(230,0,126,.28);
	border-color:#E6007E !important;
	transition:box-shadow .2s ease;
}
@media (max-width:760px){
	.custom-opt-cards{grid-template-columns:1fr}
}

/* ===== Product Logo online preview customizer ===== */
.ivp-logo-app .lg-wrap{margin-top:.2rem}
.ivp-logo-app h4{margin-bottom:.5rem}
.lg-sub{font-weight:600;color:#2A2A2A;margin:.9rem 0 .4rem;font-size:.86rem}
.lg-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:1.4rem}
.lg-thumbs{display:flex;gap:.5rem;flex-wrap:wrap}
.lg-thumb{
	width:58px;height:76px;border-radius:8px;border:2px solid transparent;
	background-size:cover;background-position:center;cursor:pointer;
	opacity:.8;padding:0;
}
.lg-thumb.is-on{border-color:#1A1813;opacity:1}
.lg-stage{
	position:relative;overflow:hidden;border:1px solid #E2DCD2;border-radius:12px;
	background:#fff;cursor:crosshair;user-select:none;
}
.lg-stage img{display:block;width:100%;height:auto;pointer-events:none}
.lg-marker{
	position:absolute;transform:translate(-50%,-50%);
	border:2px dashed #E6007E;border-radius:6px;background:rgba(230,0,126,.12);
	display:flex;align-items:center;justify-content:center;overflow:hidden;
	font-size:.6rem;color:#E6007E;font-weight:700;cursor:move;touch-action:none;
}
.lg-marker img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.lg-types,.lg-sizes{display:flex;flex-wrap:wrap;gap:.5rem}
.lg-type,.lg-sizes label{
	display:flex;align-items:center;gap:.45rem;cursor:pointer;
	border:1px solid #E2DCD2;border-radius:8px;padding:.45rem .7rem;background:#fff;
}
.lg-type:has(input:checked),.lg-sizes label:has(input:checked){border-color:#1A1813;background:#1A1813;color:#fff}
.lg-type b,.lg-type i{display:block}
.lg-type b{font-size:.85rem}
.lg-type i{font-style:normal;font-size:.7rem;opacity:.8}
.lg-sizes label span{font-size:.78rem}
.lg-upload{
	display:inline-block;cursor:pointer;border:1px dashed #C9C0AC;border-radius:8px;
	padding:.55rem .9rem;font-size:.8rem;background:#fff;color:#444;
}
.lg-upload input{display:none}
.lg-dim{display:flex;align-items:flex-end;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}
.lg-dim label{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:#444;font-weight:600}
.lg-dim input{
	width:90px;padding:.5rem .6rem;border:1px solid #E2DCD2;border-radius:8px;font:inherit;font-weight:400;
}
.lg-dim .lg-x{font-size:1rem;padding-bottom:.5rem;color:#6E6A62}
.lg-dim-note{margin:.4rem 0 0;font-size:.8rem;color:#2A2A2A;font-weight:600}
.lg-qty{
	width:140px;padding:.55rem .7rem;border:1px solid #E2DCD2;border-radius:8px;font:inherit;
}
.lg-price-hint{
	margin:.8rem 0;padding:.6rem .8rem;background:#F8F5F0;border-radius:8px;
	font-size:.84rem;line-height:1.7;color:#444;
}
.lg-price-hint b{color:#2A2A2A}
.lg-moq{display:block;font-size:.74rem;color:#E6007E}
.lg-confirm{
	border:none;background:#1A1813;color:#fff;border-radius:999px;
	padding:.85rem 1.6rem;font-weight:600;cursor:pointer;letter-spacing:.04em;
}
.lg-confirm.lg-dl{background:#5A6B59;margin-left:.6rem}
.lg-confirm:hover{background:#3E3A31}
.lg-confirm.lg-dl:hover{background:#4F5E4E}
.lg-btnrow{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.lg-hint{
	margin:.8rem 0 0;padding:.55rem .8rem;background:#E8EBE4;border-radius:8px;
	font-size:.78rem;color:#3E3A31;line-height:1.5;
}
.lg-result{margin-top:.9rem;padding:.8rem 1rem;background:#E8EBE4;border-radius:10px;font-size:.9rem;line-height:1.7}
.lg-result small{color:#6E6A62}
.lg-note{margin:.5rem 0 0;font-size:.78rem;color:#5A6B59}
.lg-loading{color:#6E6A62;font-size:.85rem}
@media (max-width:900px){
	.lg-grid{grid-template-columns:1fr}
}
@media (max-width:1024px){
	.woocommerce div.product div.images{width:100%}
	.woocommerce div.product div.summary{width:100%;padding-left:0;margin-top:1rem}
}
