.product-customization .ej-card { padding:20px; border:1px solid #e1e7ed; border-radius:12px; }
.ej-composer { clear:both; width:100%; color:#202832; }
.ej-composer .ej-title { margin:0 0 10px; font-size:22px; font-weight:700; }
#product .product-information .ej-composer p { display:block; margin:0 0 14px; line-height:1.5; }
.ej-composer .ej-progress { color:#1070cf; font-weight:700; }
.ej-composer .ej-slots { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:22px; }
.ej-composer button { font-family:inherit; cursor:pointer; text-transform:none; letter-spacing:normal; float:none; }
.ej-composer .ej-slot,.ej-composer .ej-color { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; width:100%; min-width:0; padding:10px 6px; background:#fff; border:2px solid #e3e7ec; border-radius:9px; color:#202832; line-height:1.3; }
.ej-composer .ej-slot[aria-pressed=true],.ej-composer .ej-color[aria-pressed=true] { border-color:#1070cf; background:#f0f7ff; }
.ej-composer button:focus-visible { outline:3px solid #ffdb00; outline-offset:3px; }
.ej-composer .ej-slot:hover,.ej-composer .ej-color:hover { border-color:#1070cf; }
.ej-composer .ej-slot-number { font-size:12px; }
.ej-composer .ej-slot-label,.ej-composer .ej-color span { font-size:12px; text-align:center; overflow-wrap:anywhere; }
.ej-composer .ej-slot img { width:65px; height:65px; object-fit:contain; mix-blend-mode:multiply; }
.ej-composer .ej-placeholder { display:flex; align-items:center; justify-content:center; height:65px; font-size:30px; color:#9da9b6; }
.ej-composer .ej-palette-title { font-size:16px; margin:0 0 12px; font-weight:700; }
.ej-composer .ej-palette { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.ej-composer .ej-color img { width:100%; max-width:100px; height:95px; object-fit:contain; mix-blend-mode:multiply; }
.ej-composer .ej-repeat { display:block; width:100%; padding:10px; margin:14px 0; border:1px solid #1070cf; background:#fff; color:#1070cf; border-radius:7px; }
.ej-composer button:disabled { cursor:default; opacity:.45; }
#product .product-information .ej-composer .ej-summary { font-size:13px; font-weight:600; }
#product .product-information .ej-composer .ej-status { padding:10px; background:#f0f7ff; border-radius:6px; font-size:13px; }
#product .product-information .ej-composer .ej-caption { color:#66717d; font-size:11px; }
@media(max-width:480px) {
 .product-customization .ej-card { padding:12px; }
 .ej-composer .ej-slots,.ej-composer .ej-palette { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ej-composer .ej-color img { height:90px; }
}
