/* No global resets; native editor chrome and other modules keep their own layout. */
#LumiseDesign .calliwish-product-ui,
.calliwish-product-overlay { --cw-product-purple:#5c39cd; --cw-product-ink:#303044; --cw-product-muted:#77758a; --cw-product-line:#eeecf4; --cw-product-soft:#f4f1fc; }
#LumiseDesign #lumise-product.calliwish-product-ui { background:#fafafe; color:var(--cw-product-ink); padding-bottom:18px; }
#LumiseDesign .calliwish-product-ui > header { display:flow-root; margin:14px; padding:16px; background:#fff; border:1px solid var(--cw-product-line); border-radius:16px; box-shadow:0 3px 14px #34244405; }
#LumiseDesign .calliwish-product-ui .calliwish-current-label { color:var(--cw-product-muted); font-size:12px; font-weight:500; margin:0 0 14px; }
#LumiseDesign .calliwish-product-ui .calliwish-current-thumb { width:80px; height:80px; float:left; object-fit:contain; background:#f5f4f7; border-radius:10px; margin:0 12px 12px 0; }
#LumiseDesign .calliwish-product-ui .calliwish-current-thumb[hidden] { display:none; }
#LumiseDesign .calliwish-product-ui > header > name { display:block; color:var(--cw-product-ink); font-size:15px; line-height:1.55; font-weight:600; margin:0 0 6px; }
#LumiseDesign .calliwish-product-ui > header > price { display:block; color:var(--cw-product-purple); font-weight:700; font-size:18px; margin:0 0 14px; }
#LumiseDesign .calliwish-product-ui > header > sku,
#LumiseDesign .calliwish-product-ui > header > desc { display:none !important; }
#LumiseDesign .calliwish-product-ui #lumise-change-product { display:block; clear:both; width:100%; min-height:44px; padding:9px 12px; margin:0; border:0; border-radius:10px; background:var(--cw-product-soft); color:var(--cw-product-ink); font-weight:600; cursor:pointer; }
#LumiseDesign .calliwish-product-ui #lumise-cart-wrp { height:auto; max-height:none; overflow:visible; background:transparent; padding:0 16px; box-sizing:border-box; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field { float:none; padding:14px 0; border-bottom:1px solid var(--cw-product-line); color:var(--cw-product-ink); }
#LumiseDesign .calliwish-product-ui .lumise-cart-field[data-type="quantity"] .lumise_form_group { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field[data-type="quantity"] .lumise-cart-field-label { margin:0; padding:0; float:none; color:var(--cw-product-ink); font-size:14px; }
#LumiseDesign .calliwish-product-ui .lumise_form_content { float:none; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity { display:flex; align-items:center; gap:3px; background:#fff; border:1px solid var(--cw-product-line); border-radius:14px; padding:3px; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity:has(p[data-notice]),
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity:has(input[data-format="json"]) { display:block; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action] { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; margin:0; padding:0; border:0; border-radius:50%; background:var(--cw-product-soft); cursor:pointer; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity .lumise-cart-field-value { border:0; background:#fff; margin:0; width:54px; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity input { height:44px; text-align:center; border:0; color:var(--cw-product-ink); background:#fff; width:100%; box-sizing:border-box; font-size:16px; }
#LumiseDesign .calliwish-product-ui .calliwish-product-total { display:flex; clear:both; align-items:center; justify-content:space-between; gap:12px; margin:0 16px; padding:18px 0; font-size:14px; font-weight:600; }
#LumiseDesign .calliwish-product-ui .calliwish-product-total output { font-size:21px; color:var(--cw-product-purple); }
#LumiseDesign .calliwish-product-ui :is(button,[role="button"],input,select):focus-visible,
.calliwish-product-overlay :is(button,[role="button"],input,select,textarea):focus-visible { outline:3px solid #b49dee; outline-offset:3px; }
.calliwish-product-overlay { position:fixed; inset:0; z-index:999999990; font:14px/1.5 -apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif; color:var(--cw-product-ink); }
.calliwish-product-overlay [hidden] { display:none !important; }
.calliwish-product-overlay .calliwish-product-dim { position:absolute; inset:0; background:#25223370; }
.calliwish-product-overlay .calliwish-product-panel { position:absolute; right:24px; top:50%; transform:translateY(-50%); width:min(620px,calc(100vw - 48px)); max-height:86vh; max-height:86dvh; display:flex; flex-direction:column; background:#fff; border:1px solid #f1eff7; border-radius:22px; box-shadow:0 16px 64px #24193729; overflow:hidden; animation:cw-product-in .18s ease-out; }
.calliwish-product-overlay .calliwish-product-heading { display:flex; flex:none; justify-content:space-between; align-items:flex-start; gap:8px; margin:0; padding:24px 22px 16px; background:#fff; border:0; }
.calliwish-product-overlay h2 { margin:0 0 5px; padding:0; font-size:22px; font-weight:700; line-height:1.4; color:var(--cw-product-ink); }
.calliwish-product-overlay .calliwish-product-heading p { margin:0; padding:0; font-size:13px; color:var(--cw-product-muted); }
.calliwish-product-overlay button { font:inherit; cursor:pointer; touch-action:manipulation; }
.calliwish-product-overlay button[data-close] { flex:none; width:44px; height:44px; margin:-8px -9px 0 0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--cw-product-ink); font-size:28px; line-height:1; }
.calliwish-product-overlay button[data-close]:hover { background:var(--cw-product-soft); }
.calliwish-product-overlay .calliwish-product-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; padding:0 22px 8px; flex:1 1 auto; }
.calliwish-product-overlay #lumise-change-products-wrp { float:none; width:100%; background:#fff; }
.calliwish-product-overlay #lumise-change-products-wrp ul { list-style:none; margin:0; padding:0; }
.calliwish-product-overlay #lumise-change-products-wrp ul[data-view="categories"] { display:flex; align-items:center; flex-wrap:nowrap; gap:7px; width:100%; padding:3px 0 14px; overflow-x:auto; scrollbar-width:thin; }
.calliwish-product-overlay #lumise-change-products-wrp ul[data-view="categories"] h3 { display:none; }
.calliwish-product-overlay #lumise-change-products-wrp ul[data-view="categories"] li { flex-shrink:0; min-height:44px; box-sizing:border-box; padding:11px 16px; background:#f6f4fb; color:#747086; border-radius:24px; font-size:13px; cursor:pointer; }
.calliwish-product-overlay #lumise-change-products-wrp ul[data-view="categories"] li.active { color:#fff; background:var(--cw-product-purple); }
.calliwish-product-overlay #lumise-change-products-wrp h3[data-view="top"] { margin:0 0 14px; padding:0; }
.calliwish-product-overlay #lumise-change-products-wrp h3[data-view="top"] input { width:100%; min-height:44px; box-sizing:border-box; padding:10px 14px; margin:0; border:1px solid var(--cw-product-line); border-radius:11px; font:inherit; font-weight:400; background:#fff; color:var(--cw-product-ink); }
.calliwish-product-overlay #lumise-change-products-wrp ul[data-view="products"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.calliwish-product-overlay .calliwish-product-card { position:relative; min-width:0; overflow:hidden; padding:0 0 8px; border:2px solid #f0edf5; border-radius:13px; background:#fff; cursor:pointer; }
.calliwish-product-overlay .calliwish-product-card.is-selected { border-color:var(--cw-product-purple); }
.calliwish-product-overlay .calliwish-product-card.is-selected::after { content:'✓'; position:absolute; top:8px; right:8px; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--cw-product-purple); color:#fff; font:700 15px/1 sans-serif; border:2px solid #fff; }
.calliwish-product-overlay .calliwish-product-card span[data-view="thumbn"] { display:block; aspect-ratio:1; margin:0 0 7px; background:#f6f5f7; }
.calliwish-product-overlay .calliwish-product-card img { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:contain; border-radius:10px; }
.calliwish-product-overlay .calliwish-product-card span[data-view="name"] { display:block; padding:0 9px; color:var(--cw-product-ink); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.calliwish-product-overlay .calliwish-product-card span[data-view="price"] { display:block; margin:3px 0 0; padding:0 9px; font-weight:700; font-size:15px; color:var(--cw-product-purple); }
.calliwish-product-overlay li[data-view="noitem"] { grid-column:1/-1; padding:50px 10px; text-align:center; color:var(--cw-product-muted); }
.calliwish-product-overlay li[data-view="pagination"] { grid-column:1/-1; }
.calliwish-product-overlay li[data-view="pagination"] ul { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }
.calliwish-product-overlay li[data-view="pagination"] li { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; border:1px solid var(--cw-product-line); border-radius:10px; }
.calliwish-product-overlay li[data-view="pagination"] li.lumise-color { color:var(--cw-product-purple); background:var(--cw-product-soft); }
.calliwish-product-overlay .calliwish-product-footer { flex:none; padding:14px 22px max(18px,env(safe-area-inset-bottom)); border-top:1px solid var(--cw-product-line); background:#fff; }
.calliwish-product-overlay button[data-apply] { width:100%; min-height:50px; margin:0; padding:12px 18px; border:0; border-radius:11px; background:var(--cw-product-purple); color:#fff; font-weight:700; }
.calliwish-product-overlay button:disabled { opacity:.45; cursor:default; }
.calliwish-product-overlay .calliwish-product-status { padding:24px 12px; display:flex; flex-direction:column; align-items:center; text-align:center; color:var(--cw-product-muted); }
/* Same ring, colors and speed as the sticker (clipart-browser) section. */
.calliwish-product-overlay .calliwish-product-spinner { display:block; flex:none; box-sizing:content-box; width:22px; height:22px; border:3px solid #eee9fc; border-top-color:#a28ad8; border-radius:50%; animation:cw-product-spin .8s linear infinite; pointer-events:none; }
@keyframes cw-product-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .calliwish-product-overlay .calliwish-product-spinner { animation:none; } }
.calliwish-product-overlay .calliwish-product-status p { margin:10px 0; }
.calliwish-product-overlay button[data-retry], .calliwish-product-overlay button[data-back] { min-height:44px; padding:8px 13px; border:1px solid var(--cw-product-line); border-radius:10px; color:var(--cw-product-purple); background:#fff; }
.calliwish-product-overlay .calliwish-product-options h3 { margin:16px 0; color:var(--cw-product-ink); font-size:18px; }
.calliwish-product-overlay .lumise-cart-field { padding:15px 0; border-bottom:1px solid var(--cw-product-line); float:none; }
.calliwish-product-overlay .lumise-cart-field-label { display:block; margin:0 0 8px; font-size:14px; font-weight:600; }
.calliwish-product-overlay .lumise-cart-field-label .required { color:#d34b6b; }
.calliwish-product-overlay .lumise_form_content :is(input:not([type="hidden"]),select,textarea) { font:inherit; min-height:44px; border:1px solid #e4dfef; border-radius:10px; padding:9px 12px; box-sizing:border-box; background:#fff; color:var(--cw-product-ink); }
.calliwish-product-overlay .lumise_form_content :is(select,textarea,input[type="text"]) { width:100%; }
.calliwish-product-overlay .lumise-cart-field-quantity { display:flex; align-items:center; gap:7px; }
.calliwish-product-overlay .lumise-cart-field-quantity em[data-action] { display:grid; place-items:center; width:44px; height:44px; background:var(--cw-product-soft); border-radius:50%; cursor:pointer; }
.calliwish-product-overlay .lumise-cart-field-quantity input { width:72px; text-align:center; }
.calliwish-product-overlay .lumise-cart-field-quantity em > span { display:none; }
.calliwish-product-overlay .lumise-product-color { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:4px; margin:0; }
.calliwish-product-overlay .lumise-product-color li { position:relative; width:44px; height:44px; border:1px solid #ddd9e6; border-radius:50%; cursor:pointer; box-sizing:border-box; }
.calliwish-product-overlay .lumise-product-color li.choosed { outline:2px solid var(--cw-product-purple); outline-offset:3px; }
.calliwish-product-overlay .lumise-product-color li[data-color=""]::after { content:'×'; display:grid; place-items:center; height:100%; color:#777; font-size:22px; }
.calliwish-product-overlay .lumise-product-color li > span { display:none; }
.calliwish-product-overlay .calliwish-product-quote { display:flex; justify-content:space-between; gap:16px; margin:16px 0 4px; font-weight:600; }
.calliwish-product-overlay .calliwish-product-quote output { color:var(--cw-product-purple); font-size:18px; }
.calliwish-product-overlay .calliwish-product-handle { display:none; }
@media (min-width:737px) and (max-width:1024px) { .calliwish-product-overlay .calliwish-product-panel { right:50%; transform:translate(50%,-50%); width:min(650px,calc(100vw - 48px)); } }
@media (max-width:736px) {
 .calliwish-product-overlay .calliwish-product-panel { right:0; top:auto; bottom:0; width:100%; max-height:84vh; max-height:84dvh; transform:none; border-radius:22px 22px 0 0; box-sizing:border-box; animation:cw-product-up .22s ease-out; }
 .calliwish-product-overlay .calliwish-product-handle { display:block; width:36px; height:4px; flex:none; background:#c8c3d6; border-radius:4px; margin:9px auto 0; }
 .calliwish-product-overlay .calliwish-product-heading { padding:16px 18px 12px; }
 .calliwish-product-overlay h2 { font-size:20px; }
 .calliwish-product-overlay .calliwish-product-scroll { padding:0 16px 8px; }
 .calliwish-product-overlay .calliwish-product-footer { padding:12px 16px max(16px,env(safe-area-inset-bottom)); }
 .calliwish-product-overlay #lumise-change-products-wrp ul[data-view="products"] { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .calliwish-product-overlay .calliwish-product-card span[data-view="name"] { padding:0 6px; font-size:12px; }
 .calliwish-product-overlay .calliwish-product-card span[data-view="price"] { padding:0 6px; font-size:13px; }
 #LumiseDesign .calliwish-product-ui > header { margin:10px 14px; padding:14px; }
}
@media (max-width:359px) { .calliwish-product-overlay #lumise-change-products-wrp ul[data-view="products"] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { .calliwish-product-overlay .calliwish-product-panel { animation:none; } }
@keyframes cw-product-in { from { opacity:0; } to { opacity:1; } }
@keyframes cw-product-up { from { transform:translateY(40px); opacity:0; } to { transform:translateY(0); opacity:1; } }
/* Native form styles carry floats/padding; contain them only inside this panel. */
.calliwish-product-overlay .calliwish-draft-attributes { display:flow-root; width:100%; }
.calliwish-product-overlay .lumise-cart-field { display:flow-root; width:100%; box-sizing:border-box; }
.calliwish-product-overlay .lumise_form_group,
.calliwish-product-overlay .lumise_form_content { display:block; float:none; width:100%; margin:0; padding:0; box-sizing:border-box; }
.calliwish-product-overlay .lumise-cart-field-quantity em:not(.lumise-required-msg) { float:none; box-sizing:border-box; padding:0; margin:0; flex:none; }
.calliwish-product-overlay .lumise-cart-field-quantity em[data-action] { border:0; background:var(--cw-product-soft) !important; line-height:1 !important; }
.calliwish-product-overlay .lumise-cart-field-quantity em.lumise-cart-field-value { height:auto; }
.calliwish-product-overlay .lumise-cart-field-quantity:has(input[data-format="json"]) { display:block; }
.calliwish-product-overlay .lumise-cart-field-quantity p { display:flex; align-items:center; gap:10px; }
.calliwish-product-overlay .calliwish-product-quote { clear:both; width:100%; }
#LumiseDesign .calliwish-product-ui > header > price { background:transparent; padding:0; line-height:1.4; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action] { box-sizing:border-box; background:var(--cw-product-soft) !important; }
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action] svg path { fill:#69627e; }
#LumiseDesign .calliwish-product-ui .lumise-cart-options { float:none; width:100%; border-top:1px solid var(--cw-product-line); }
#lumise-confirm.calliwish-product-confirm { position:fixed; z-index:1000000001; }

.calliwish-product-overlay .calliwish-product-price-note{font-size:12px;color:#737789;margin:12px 0 0;line-height:1.5}
.calliwish-product-overlay [data-view="pagination"] .lumise-color{background:#7044ed!important;color:#fff!important}

#LumiseDesign .calliwish-product-ui .lumise_form_content :is(select,textarea,input[type="text"]){background:#fff;color:#303044;border:1px solid #e4dfef;border-radius:10px;min-height:44px;box-sizing:border-box;max-width:100%}

/* Quantity/price refinement 1.1.0: one divider, identical 44px controls. */
#LumiseDesign .calliwish-product-ui .lumise-cart-field{width:100%;box-sizing:border-box;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--cw-product-line)}
#LumiseDesign .calliwish-product-ui .lumise-cart-field[data-type="quantity"] .lumise_form_group{width:100%;float:none;margin:0;gap:12px;min-height:44px}
#LumiseDesign .calliwish-product-ui .lumise-cart-field[data-type="quantity"] .lumise_form_content{width:auto;flex:0 1 auto;padding:0;margin:0}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity{border:0;border-radius:0;background:transparent;padding:0;gap:4px;min-width:0}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action]{box-sizing:border-box;height:44px;min-height:44px;line-height:1;border-radius:12px;float:none;position:static}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action]::before{position:static;display:block;line-height:1;margin:0}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action]>span{display:none}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity .lumise-cart-field-value{display:flex;align-items:center;justify-content:center;float:none;width:64px;min-width:48px;height:44px;padding:0;border:0;background:transparent;box-shadow:none}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity input{padding:0;margin:0;line-height:44px;background:transparent;font-variant-numeric:tabular-nums;box-shadow:none}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity:has(input[data-format="json"]){display:block}
#LumiseDesign .calliwish-product-ui .lumise-cart-field[data-type="quantity"]:has(input[data-format="json"]) .lumise_form_group{display:block}
#LumiseDesign .calliwish-product-ui .calliwish-product-prices{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 8px;min-width:0;text-align:right;font-variant-numeric:tabular-nums}
#LumiseDesign .calliwish-product-ui .calliwish-price-before{flex:0 0 100%;font-size:13px;font-weight:400;color:#8a8797}
#LumiseDesign .calliwish-product-ui .calliwish-discount-badge{font-size:12px;line-height:1.5;font-weight:600;padding:3px 8px;border-radius:7px;background:#f0eafb;color:#6845ba;white-space:nowrap}
#LumiseDesign .calliwish-product-ui .calliwish-product-prices [hidden]{display:none!important}
#LumiseDesign .calliwish-product-ui .how-calculate{display:none!important}
#LumiseDesign :is(.lumise-product-price,.lumise-price,.calliwish-product-total){cursor:default!important;text-decoration:none}
#LumiseDesign .calliwish-product-ui .calliwish-product-total{align-items:center;cursor:default}
#LumiseDesign #lumise-product.calliwish-product-ui #lumise-cart-wrp .lumise-prints:empty{display:none;border:0;margin:0}
#LumiseDesign .calliwish-product-ui .lumise-cart-options .lumise-cart-field{display:flow-root}
#LumiseDesign .calliwish-product-ui .lumise-cart-options .lumise_form_group{padding:0;margin:0;align-items:center}
#LumiseDesign .calliwish-product-ui .lumise-cart-options .lumise_form_group>.lumise-cart-field-label{padding:0;margin:0;min-width:80px}
#LumiseDesign .calliwish-product-ui .lumise-cart-options .lumise_form_group>.lumise_form_content{padding:0!important;box-sizing:border-box}
#LumiseDesign .calliwish-product-ui .lumise-cart-field-quantity em[data-action]{background:var(--cw-product-soft)!important;line-height:1!important;color:var(--cw-product-ink)}
