/* SnapScreen plugin tools.css – minimal overrides, main styles in theme */
.snap-card { position: relative; z-index: 1; }
.snap-source-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 1rem; padding: 1.25rem 1.75rem; }
.snap-controls { display: flex; flex-wrap: wrap; gap: .75rem; padding: 1.25rem 1.75rem; border-top: 1px solid rgba(255,255,255,.07); }
.snap-preview { margin: 0 1.75rem 0; border-radius: 12px; overflow: hidden; background: #000; min-height: 200px; max-height: 420px; position: relative; }
.snap-preview video, .snap-preview canvas { display: block; width: 100%; height: 100%; max-height: 420px; object-fit: contain; }
.snap-toolbar { display: flex; align-items: center; gap: .4rem; padding: .875rem 1.75rem; border-top: 1px solid rgba(255,255,255,.07); flex-wrap: wrap; background: rgba(0,0,0,.15); }
.snap-result-panel { padding: 1.25rem 1.75rem; border-top: 1px solid rgba(255,255,255,.07); }
.snap-result-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.snap-player-controls { display: flex; align-items: center; gap: .75rem; }

/* Buttons using theme variables */
.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.5rem; border-radius: 8px; font-size: .9375rem; font-weight: 700; cursor: pointer; border: none; font-family: inherit; transition: all .18s; line-height: 1; text-decoration: none; white-space: nowrap; }
.btn-primary { background: var(--c-accent, #6c63ff); color: #fff; }
.btn-primary:hover { background: var(--c-accent2, #8b85ff); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(108,99,255,.4); }
.btn-secondary { background: rgba(255,255,255,.06); color: var(--c-text, #e8ecf5); border: 1px solid rgba(255,255,255,.08); }
.btn-secondary:hover { background: rgba(255,255,255,.1); color: var(--c-text, #e8ecf5); }
.btn-red { background: #f05060; color: #fff; }
.btn-red:hover { background: #ff6070; color: #fff; transform: translateY(-2px); }
.btn-lg { padding: .9rem 2rem; font-size: 1rem; }

/* When theme isn't active (fallback) */
body:not(.snap-theme) .snap-page { max-width: 1200px; margin: 0 auto; padding: 1rem 1.5rem 3rem; font-family: system-ui, sans-serif; }


/* v1.0.7 clean flow */
.sscr-share-box{margin-top:1rem;padding:1rem;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045)}
.sscr-share-label{font-size:.9rem;font-weight:700;margin-bottom:.55rem;color:var(--c-text,#e8ecf5)}
.sscr-share-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.sscr-share-input{flex:1;min-width:260px;padding:.78rem .9rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22);color:var(--c-text,#e8ecf5);font:500 .92rem system-ui}
.sscr-share-note{margin-top:.45rem;min-height:1.2em;color:#22c55e;font-size:.85rem;font-weight:700}
.snap-source-btn[data-recsrc="area"]{display:none!important}

/* v1.0.8 video editor */
.snap-video-edit-wrap{position:relative;width:100%;background:#000;border-radius:10px;overflow:hidden;line-height:0}
.snap-video-edit-wrap video{display:block;width:100%;max-height:420px;background:#000}
.snap-video-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;cursor:crosshair}
.snap-video-tools{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04)}
.snap-video-tools .snap-tool-btn.active{background:var(--c-accent,#6c63ff);color:#fff;border-color:var(--c-accent,#6c63ff)}
.snap-video-tools-label{font-size:.82rem;color:var(--c-text2,#aab2c5);margin-left:.35rem}
.snap-processing{margin-top:.85rem;padding:.85rem 1rem;border-radius:12px;background:rgba(108,99,255,.10);border:1px solid rgba(108,99,255,.28);color:var(--c-text,#e8ecf5);font-weight:800;display:flex;align-items:center;gap:.75rem}
.snap-spinner{width:18px;height:18px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:var(--c-accent,#6c63ff);animation:snapspin .8s linear infinite;display:inline-block}
@keyframes snapspin{to{transform:rotate(360deg)}}


/* v1.0.9 — bardziej widoczne kadrowanie i pełniejszy pasek edycji wideo */
.snap-video-edit-wrap .snap-processing,
.snap-video-crop-wrap .snap-processing{
  position:absolute!important;inset:0!important;margin:0!important;z-index:30!important;
  display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;
  background:rgba(5,8,18,.72)!important;backdrop-filter:blur(3px);
  color:#fff!important;border:0!important;border-radius:10px!important;text-align:center;
  font-size:1rem;font-weight:900;letter-spacing:.01em;line-height:1.35;
}
.snap-video-edit-wrap .snap-processing:after,
.snap-video-crop-wrap .snap-processing:after{
  content:'Nie zamykaj tej karty — zapisuję nowy plik wideo';display:block;font-size:.78rem;font-weight:700;opacity:.82;
}
.snap-processing .snap-spinner{width:34px;height:34px;border:4px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:999px;animation:snapspin .8s linear infinite;display:inline-block}
@keyframes snapspin{to{transform:rotate(360deg)}}
.snap-video-tools .snap-color-swatch{width:22px;height:22px;border-radius:999px;border:2px solid rgba(255,255,255,.45);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.snap-video-tools .snap-color-swatch.active{outline:2px solid #fff;outline-offset:2px}
.snap-video-tools select{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:8px;color:var(--c-text2,#e8ecf5);padding:.35rem .5rem;font-size:.82rem;cursor:pointer}
.snap-video-tools select option{color:#111}
.snap-tool-btn[data-vtool="eraser"]{font-weight:900}

.snap-trim-tools{margin-top:.875rem;padding:.85rem;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045);display:grid;gap:.65rem}
.snap-trim-head{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap;color:var(--c-text,#fff)}
.snap-trim-head span{font-size:.84rem;color:var(--c-text2,#aab2c5)}
.snap-trim-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:.75rem;color:var(--c-text2,#d8deea);font-size:.86rem}
.snap-trim-row input[type=range]{width:100%;accent-color:var(--c-accent,#6c63ff)}
.snap-video-tools .snap-video-tools-label{line-height:1.35}


/* v1.0.11 — clean product trim UX */
.snap-video-mode-tabs{display:inline-flex;gap:.35rem;margin:.95rem 0 .65rem;padding:.25rem;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045)}
.snap-video-mode-tabs button{border:0;border-radius:10px;padding:.62rem 1rem;background:transparent;color:var(--c-text2,#aab2c5);font-weight:900;cursor:pointer;font-family:inherit}
.snap-video-mode-tabs button.active{background:var(--c-accent,#6c63ff);color:#fff;box-shadow:0 8px 24px rgba(108,99,255,.25)}
.snap-trim-clean{padding:1rem!important;gap:.8rem!important}
.snap-trim-clean .snap-trim-head{justify-content:space-between;align-items:center}
.snap-trim-timebar{display:flex;justify-content:space-between;color:var(--c-text2,#aab2c5);font-size:.86rem;font-weight:800;padding:0 .1rem}
.snap-dual-range{position:relative;height:36px;margin:.1rem .35rem .25rem;display:flex;align-items:center}
.snap-range-track{position:absolute;left:0;right:0;top:50%;height:8px;border-radius:999px;background:rgba(255,255,255,.22);transform:translateY(-50%)}
.snap-range-selected{position:absolute;top:50%;height:8px;border-radius:999px;background:var(--c-accent,#6c63ff);transform:translateY(-50%);box-shadow:0 0 0 4px rgba(108,99,255,.12)}
.snap-dual-range input[type=range]{position:absolute;left:0;right:0;top:0;width:100%;height:36px;margin:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none;accent-color:var(--c-accent,#6c63ff)}
.snap-dual-range input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:999px;background:#fff;border:5px solid var(--c-accent,#6c63ff);box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:grab}
.snap-dual-range input[type=range]::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:999px;background:#fff;border:5px solid var(--c-accent,#6c63ff);box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:grab}
.snap-dual-range input[type=range]::-webkit-slider-runnable-track{height:8px;background:transparent}
.snap-dual-range input[type=range]::-moz-range-track{height:8px;background:transparent}
.snap-trim-summary{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;padding:.78rem .9rem;border-radius:12px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07);color:var(--c-text,#e8ecf5)}
.snap-trim-summary strong{font-size:.95rem;color:#fff}
.snap-trim-summary span{font-size:.82rem;color:var(--c-text2,#aab2c5)}
.snap-trim-clean .snap-trim-row,.snap-trim-clean [data-trim-apply]{display:none!important}

/* v1.0.12 — trim markers directly on the existing player bar */
.snap-trim-scrub{position:relative;overflow:visible!important;}
.snap-trim-selected{display:none;position:absolute;top:50%;height:14px;transform:translateY(-50%);background:rgba(108,99,255,.32);border:1px solid rgba(255,255,255,.55);border-radius:999px;z-index:4;pointer-events:none;box-shadow:0 0 0 2px rgba(108,99,255,.18)}
.snap-trim-handle{display:none;position:absolute;top:50%;width:18px;height:28px;transform:translate(-50%,-50%);border:2px solid #fff;background:var(--c-accent,#6c63ff);border-radius:8px;z-index:7;cursor:ew-resize;box-shadow:0 6px 18px rgba(0,0,0,.45);padding:0}
.snap-trim-handle:before{content:'';position:absolute;left:50%;top:5px;width:2px;height:14px;background:rgba(255,255,255,.85);transform:translateX(-50%);border-radius:999px;box-shadow:4px 0 0 rgba(255,255,255,.55),-4px 0 0 rgba(255,255,255,.55)}
.snap-trim-tip{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);background:#111827;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:.22rem .42rem;font-size:.72rem;font-weight:900;white-space:nowrap;line-height:1;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.snap-trim-active .snap-trim-selected,.snap-trim-active .snap-trim-handle{display:block}
.snap-trim-inline-info{margin-top:.65rem;padding:.72rem .85rem;border:1px solid rgba(108,99,255,.35);background:rgba(108,99,255,.12);border-radius:12px;color:var(--c-text2,#cbd5e1);font-size:.86rem;line-height:1.45}
.snap-trim-inline-info strong,.snap-trim-inline-info b{color:#fff}
.snap-trim-tools,.snap-video-mode-tabs{display:none!important}
