.tp-mirror{--mirror-bg:#fff7e8;--mirror-text:#1b1b2f;--mirror-field:#fff;--mirror-line:#1b1b2f;--mirror-muted:#545166;color:var(--mirror-text);font-family:var(--font-body--family,sans-serif)}
html.tp-dark .tp-mirror{--mirror-bg:#17172d;--mirror-text:#f5eeff;--mirror-field:#25243f;--mirror-line:#a293cc;--mirror-muted:#c8bfdc}
.tp-mirror[hidden],.tp-mirror [hidden]{display:none!important}.tp-mirror button,.tp-mirror input{font:inherit}.tp-mirror button,.tp-mirror a{touch-action:manipulation}.tp-mirror button{cursor:pointer}.tp-mirror button:disabled{opacity:.55;cursor:wait}.tp-mirror :focus-visible{outline:3px solid #ff328d;outline-offset:4px}
.tp-mirror__launch{position:absolute;z-index:4;right:16px;bottom:16px;display:flex;align-items:center;gap:9px;padding:9px 16px;border:3px solid #1b1b2f;border-radius:20px 17px 23px 15px;background:#d9c8ff;color:#1b1b2f;box-shadow:4px 4px 0 #1b1b2f;font-weight:800!important;transform:rotate(-2deg)}
.tp-mirror__launch svg{width:23px;height:30px}.tp-mirror__launch:hover{transform:rotate(1deg) translateY(-2px)}
.tp-mirror__original{position:absolute;z-index:4;left:14px;bottom:17px;border:2px solid #1b1b2f;border-radius:999px;background:#fff7e8;color:#1b1b2f;padding:8px 12px}
.tp-mirror__surface{box-sizing:border-box;width:min(580px,calc(100vw - 28px));max-width:none;max-height:90dvh;overflow:auto;margin:auto;padding:28px;border:3px solid var(--mirror-line);border-radius:27px 23px 29px 21px;background:var(--mirror-bg);color:var(--mirror-text);box-shadow:8px 8px 0 #090913;text-align:left;overscroll-behavior:contain}
.tp-mirror__surface::backdrop{background:rgba(7,7,20,.78);backdrop-filter:blur(5px)}
.tp-mirror__surface h2{font-family:var(--font-heading--family,sans-serif);font-size:clamp(25px,4vw,34px);line-height:1.12;color:var(--mirror-text);margin:16px 0 10px}.tp-mirror__surface p{line-height:1.5;margin:12px 0}.tp-mirror__close{position:sticky;float:right;z-index:2;right:0;top:0}
.tp-mirror__brand{display:flex;align-items:center;gap:10px;color:var(--mirror-text);font-weight:900;font-size:19px;letter-spacing:.08em;text-transform:uppercase}.tp-mirror__brand svg{width:29px;height:36px;color:#a57dff}
.tp-mirror__primary,.tp-mirror__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:2.5px solid #1b1b2f;border-radius:15px;box-shadow:3px 3px 0 #1b1b2f;font-weight:800!important;text-align:center;text-decoration:none;line-height:1.3;margin:6px 5px 10px 0}.tp-mirror__primary{background:#ff328d;color:#fff;width:100%}.tp-mirror__secondary{background:#ffdb54;color:#1b1b2f}
.tp-mirror__selection{display:flex;align-items:center;gap:16px;border:2px solid var(--mirror-line);border-radius:17px;padding:12px;margin:20px 0;background:var(--mirror-field)}.tp-mirror__selection img{width:90px;height:110px;object-fit:contain;border-radius:10px;background:#fff}.tp-mirror__selection div{display:flex;flex-direction:column;gap:6px;min-width:0}.tp-mirror__selection strong{line-height:1.25}.tp-mirror__selection span,.tp-mirror__selection small{color:var(--mirror-muted);font-size:13px}
.tp-mirror__references{border:0;padding:0;margin:16px 0}.tp-mirror__references legend{font-weight:800;margin-bottom:12px}.tp-mirror__photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tp-mirror__photo label{display:block;cursor:pointer;position:relative}.tp-mirror__photo img{width:100%;aspect-ratio:1;object-fit:cover;border:3px solid var(--mirror-line);border-radius:15px;box-sizing:border-box}.tp-mirror__photo input{position:absolute;left:9px;top:9px;accent-color:#ff328d;width:19px;height:19px}.tp-mirror__photo input:checked+img{border-color:#ff328d;box-shadow:0 0 0 2px #ff328d}.tp-mirror__photo button{background:none;border:0;color:var(--mirror-muted);font-size:12px;padding:8px 0;text-decoration:underline;min-height:36px}
.tp-mirror__upload{padding:15px;border:2px dashed var(--mirror-line);border-radius:16px;margin-top:16px}.tp-mirror__file{display:flex;flex-direction:column;gap:12px;font-weight:800}.tp-mirror__file input{max-width:100%;font-size:13px;color:var(--mirror-text)}.tp-mirror__consent{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:13px;line-height:1.4}.tp-mirror__consent input{width:19px;height:19px;flex:none;accent-color:#ff328d}.tp-mirror__small,.tp-mirror__surface small{font-size:12px;line-height:1.5;color:var(--mirror-muted);display:block}.tp-mirror__manage{display:inline-block;margin:12px 0;color:var(--mirror-text);text-decoration:underline}.tp-mirror__status:empty{display:none}.tp-mirror__status{padding:10px;border-radius:12px;background:var(--mirror-field);font-weight:700}.tp-mirror__status[data-error]{color:#b80045;background:#ffe6ef}
.tp-mirror__account{max-height:none;margin:30px auto 60px}.tp-mirror__account .tp-mirror__selection,.tp-mirror__account [data-mirror-confirm],.tp-mirror__account .tp-mirror__manage,.tp-mirror__account [data-mirror-disclaimer]{display:none}
@keyframes mirror-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.tp-mirror__surface{padding:22px 18px}.tp-mirror__launch{right:10px;bottom:12px;padding:7px 12px}.tp-mirror__photos{gap:9px}}
@media(prefers-reduced-motion:reduce){.tp-mirror__launch{transform:none}}

.tp-mirror details{margin:16px 0}.tp-mirror summary{cursor:pointer;font-weight:800;min-height:44px;padding:10px 0;color:var(--mirror-text)}

.tp-mirror__inline{padding:12px 14px;border:2px solid var(--mirror-line);border-radius:16px;background:var(--mirror-bg);color:var(--mirror-text);box-shadow:3px 3px 0 #090913;font-size:13px;line-height:1.4;text-align:left}
.tp-mirror__inline p{margin:0;font-weight:700}.tp-mirror__inline[data-working] p:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid var(--mirror-line);border-top-color:#ff328d;border-radius:50%;vertical-align:-2px;animation:mirror-spin 1s linear infinite}
.tp-mirror__inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;margin-top:5px}.tp-mirror__inline-actions button,.tp-mirror__inline-actions a{display:inline-flex;align-items:center;min-height:36px;padding:0;background:none;border:0;color:var(--mirror-text);font-size:12px;text-decoration:underline}.tp-mirror__inline[data-error]{border-color:#ff328d}
.tp-pdp__pic > img.is-mirror{object-fit:contain;transform:none}
@media(prefers-reduced-motion:reduce){.tp-mirror__inline[data-working] p:before{animation:none}}

@media(max-width:989px){.tp-mirror__inline{order:3}}
