.u3dlp-personalizer {
    box-sizing: border-box;
    width: 100%;
    margin: 15px 0 18px;
    padding: clamp(14px, 2vw, 20px);
    color: var(--u3dlp-ui-text, #17372d);
    background: var(--u3dlp-panel, #f3f8f5);
    border: 1px solid #cbdcd4;
    border-left: 5px solid var(--u3dlp-accent, #146148);
    border-radius: var(--u3dlp-radius, 13px);
    box-shadow: 0 9px 24px rgba(17, 63, 47, .07);
}
.u3dlp-heading { display: grid; gap: 2px; margin: 0 0 6px; cursor: text; }
.u3dlp-heading strong { font-size: clamp(19px, 2vw, 24px); line-height: 1.16; }
.u3dlp-kicker { color: #59776c; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.u3dlp-help { margin: 0 0 10px; color: #49645a; font-size: 14px; line-height: 1.45; }
.u3dlp-input-label { display: block; margin-bottom: 6px; font-weight: 750; }
.u3dlp-input-row { position: relative; max-width: 560px; }
.u3dlp-input-row .u3dlp-text {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    padding: 9px 66px 9px 13px;
    color: #17372d;
    background: #fff;
    border: 2px solid #9dbdb0;
    border-radius: 8px;
    font-size: 17px;
    font-weight: 600;
}
.u3dlp-input-row .u3dlp-text:focus { border-color: var(--u3dlp-accent, #146148); box-shadow: 0 0 0 3px rgba(20,97,72,.12); outline: 0; }
.u3dlp-counter { position: absolute; top: 50%; right: 13px; color: #6d837a; font-size: 13px; transform: translateY(-50%); }
.u3dlp-valid { display: none; align-items: center; gap: 6px; margin-top: 7px; color: #147044; font-size: 13px; font-weight: 750; }
.u3dlp-valid span { display: inline-grid; width: 19px; height: 19px; place-items: center; color: #fff; background: #18864f; border-radius: 50%; font-size: 12px; }
.u3dlp-has-value .u3dlp-valid { display: flex; }
.u3dlp-preview-heading { margin: 12px 0 7px; color: var(--u3dlp-ui-text, #17372d); font-size: 14px; font-weight: 800; }
.u3dlp-previews {
    display: grid;
    grid-template-columns: repeat(var(--u3dlp-columns, 2), minmax(0, 1fr));
    align-items: start;
    gap: 10px;
    width: 100%;
    max-width: calc((var(--u3dlp-preview-width, 420px) * var(--u3dlp-columns, 2)) + 10px);
    margin-top: 0;
}
.u3dlp-previews figure { width: 100%; max-width: var(--u3dlp-preview-width, 420px); margin: 0; }
.u3dlp-canvas { display: block; width: 100%; height: auto; background: #f7f7f3; border: 1px solid #c8d4cf; border-radius: 8px; box-shadow: 0 5px 14px rgba(16,48,37,.08); }
.u3dlp-previews figcaption { margin-top: 4px; color: #536e64; font-size: 12px; font-weight: 700; text-align: center; }
.u3dlp-warning { display: grid; grid-template-columns: 25px minmax(0,1fr); align-items: center; gap: 8px; margin-top: 11px; padding: 9px 11px; color: #604711; background: #fff7df; border: 1px solid #e8cf83; border-radius: 7px; }
.u3dlp-warning > span { display: grid; width: 23px; height: 23px; place-items: center; color: #fff; background: #c78900; border-radius: 50%; font-weight: 900; }
.u3dlp-warning p { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.38; }
.u3dlp-note { margin: 9px 0 0; color: #71857d; font-size: 11px; line-height: 1.35; }
.u3dlp-order-files { margin-top: 6px; padding: 7px 9px; background: #eef7f2; border-left: 3px solid #198754; }

@media (max-width: 680px) {
    .u3dlp-personalizer { margin: 13px 0 16px; padding: 13px; }
    .u3dlp-previews { grid-template-columns: repeat(var(--u3dlp-columns, 2), minmax(0, 1fr)); }
    .u3dlp-previews figure { max-width: 100%; }
}

@media (max-width: 360px) {
    .u3dlp-previews { gap: 7px; }
    .u3dlp-previews figcaption { font-size: 11px; }
}
