/* PP Virtual Try-On — modal + launch button. Palette follows the theme tokens
   with hard fallbacks so the plugin stands alone in any theme. */

.pp-tryon-launch{flex-basis:100%;margin:0 0 16px;}
.pp-tryon-btn{--tryon-c:#CA7064;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:15px 22px;border:1.5px solid var(--tryon-c);border-radius:2px;background:transparent;
  color:var(--ink,#2A2022);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  transition:background .2s,color .2s,border-color .25s;}
.pp-tryon-btn:hover{background:var(--tryon-c);color:#fff;}
.pp-tryon-btn:hover .pp-tryon-dot{border-color:#fff;}
.pp-tryon-btn:focus-visible{outline:2px solid var(--tryon-c);outline-offset:3px;}
.pp-tryon-dot{width:18px;height:18px;border-radius:50%;background:var(--tryon-c);border:1.5px solid rgba(0,0,0,.08);
  flex:0 0 auto;transition:background .25s;box-shadow:inset 0 -3px 5px rgba(0,0,0,.18);}
.pp-tryon-shade-name{font-weight:600;letter-spacing:.08em;text-transform:none;color:inherit;opacity:.85;
  max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pp-tryon-privacy{margin:8px 0 0;font-size:11px;line-height:1.6;color:var(--ink-faint,#9b8f8a);}

body.ppt-open{overflow:hidden;}

.pp-tryon-modal{position:fixed;inset:0;z-index:99999;display:flex;background:#14090C;color:#F7F1E6;
  font-family:inherit;}
@media (max-width:820px){ .pp-tryon-modal{flex-direction:column;} }

/* stage */
.ppt-stage{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:#1C0E12;}
.ppt-video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.ppt-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.ppt-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;background:linear-gradient(180deg,rgba(20,9,12,.72),transparent);}
.ppt-title{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#E6C877;}
.ppt-ic{width:40px;height:40px;border-radius:50%;border:1px solid rgba(247,241,230,.35);background:rgba(20,9,12,.45);
  color:#F7F1E6;font-size:15px;cursor:pointer;}
.ppt-ic:hover,.ppt-ic:focus-visible{border-color:#E6C877;color:#E6C877;outline:none;}
.ppt-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:9px 16px;border-radius:999px;
  background:rgba(20,9,12,.68);font-size:12.5px;letter-spacing:.04em;opacity:0;transition:opacity .25s;pointer-events:none;
  white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis;}
.ppt-hint.show{opacity:1;}

/* status overlay (loading / permission / errors) */
.ppt-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;padding:28px;text-align:center;background:rgba(20,9,12,.9);z-index:3;}
.ppt-status[hidden]{display:none;}
.ppt-status-text{margin:0;max-width:44ch;font-size:14.5px;line-height:1.8;color:#F7F1E6;}
.ppt-status-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.ppt-spinner{width:34px;height:34px;border-radius:50%;border:2px solid rgba(230,200,119,.25);
  border-top-color:#E6C877;animation:pptspin .9s linear infinite;}
@keyframes pptspin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){ .ppt-spinner{animation-duration:2.5s;} }

/* side panel */
.ppt-panel{flex:0 0 300px;display:flex;flex-direction:column;gap:14px;padding:22px;overflow-y:auto;
  background:#1E1013;border-left:1px solid rgba(230,200,119,.14);}
[dir="rtl"] .ppt-panel{border-left:0;border-right:1px solid rgba(230,200,119,.14);}
@media (max-width:820px){
  .ppt-panel{flex:0 0 auto;max-height:44vh;border-left:0;border-top:1px solid rgba(230,200,119,.14);}
}
.ppt-shade-name{font-size:15px;letter-spacing:.02em;color:#F7F1E6;min-height:1.4em;}
.ppt-shades{display:flex;flex-wrap:wrap;gap:10px;}
.ppt-shade{width:40px;height:40px;border-radius:50%;border:1px solid rgba(247,241,230,.25);cursor:pointer;
  transition:transform .15s,box-shadow .15s;}
.ppt-shade:hover{transform:translateY(-2px);}
.ppt-shade.on{box-shadow:0 0 0 2px #1E1013,0 0 0 4px #E6C877;}
.ppt-shade:focus-visible{outline:2px solid #E6C877;outline-offset:3px;}
.ppt-controls{display:flex;flex-direction:column;gap:9px;}
@media (max-width:820px){ .ppt-controls{flex-direction:row;flex-wrap:wrap;} }
.ppt-btn{padding:13px 16px;border:1px solid rgba(247,241,230,.35);border-radius:2px;background:transparent;
  color:#F7F1E6;font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;min-height:44px;
  transition:border-color .2s,color .2s;}
.ppt-btn:hover,.ppt-btn:focus-visible{border-color:#E6C877;color:#E6C877;outline:none;}
.ppt-privacy{margin:auto 0 0;font-size:11px;line-height:1.7;color:rgba(247,241,230,.55);}
