/* itsvegan — profile image cropper (crp-). Markup is built by assets/js/parts/cropper.js.
   Centered dialog on desktop, full-height bottom sheet ≤1020px. */
.crp-lock,.crp-lock body{overflow:hidden!important;overscroll-behavior:none}
.crp-root{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px}
.crp-root[hidden]{display:none}
.crp-root [hidden]{display:none!important}
.crp-backdrop{position:absolute;inset:0;background:rgba(10,22,15,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .22s ease}
.crp-sheet{position:relative;display:flex;flex-direction:column;width:min(760px,100%);max-height:min(860px,calc(100vh - 48px));background:var(--card,#fff);border-radius:var(--r-l,24px);box-shadow:var(--sh-3),0 0 0 1px rgba(20,40,25,.06);overflow:hidden;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
.crp-in .crp-backdrop{opacity:1}
.crp-in .crp-sheet{opacity:1;transform:none}
.crp-grab{display:none}

.crp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px 24px;border-bottom:1px solid var(--line-2,#EEEAE0)}
.crp-title{font-size:20px;margin:0}
.crp-x{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:transparent;color:var(--ink-2);font-size:19px;cursor:pointer;transition:background .15s,color .15s}
.crp-x:hover{background:var(--paper-2);color:var(--ink)}

/* stage: photo under a fixed frame, dimmed outside */
.crp-stage{position:relative;flex:0 0 auto;height:min(440px,52vh);min-height:240px;background:#0E1A13;background-image:radial-gradient(circle at 50% 40%,#1B2E22 0,#0E1A13 70%);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline:none}
.crp-kbd .crp-stage:focus-visible::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px var(--lime);pointer-events:none;z-index:3}
.crp-stage.crp-dragging{cursor:grabbing}
.crp-view{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;max-width:none;pointer-events:none;image-rendering:auto}
.crp-view.crp-anim{transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.crp-view.crp-fadein{animation:crp-fade .35s ease both}
.crp-view.crp-rotating{animation:crp-spinin .26s cubic-bezier(.2,.8,.2,1) both}
@keyframes crp-fade{from{opacity:0}to{opacity:1}}
@keyframes crp-spinin{from{opacity:.25;filter:blur(2px)}to{opacity:1;filter:none}}
.crp-frame{position:absolute;pointer-events:none;box-shadow:0 0 0 9999px rgba(8,16,11,.62);outline:2px solid rgba(255,255,255,.95);outline-offset:-1px;transition:box-shadow .2s ease}
.crp-k-avatar .crp-frame{border-radius:50%}
.crp-k-cover .crp-frame{border-radius:6px}
.crp-dragging .crp-frame{box-shadow:0 0 0 9999px rgba(8,16,11,.48)}
.crp-grid{position:absolute;inset:0;opacity:0;transition:opacity .25s ease;border-radius:inherit;overflow:hidden}
.crp-grid i{position:absolute;background:rgba(255,255,255,.55);box-shadow:0 0 1px rgba(0,0,0,.35)}
.crp-grid i:nth-child(1),.crp-grid i:nth-child(2){top:0;bottom:0;width:1px}
.crp-grid i:nth-child(1){left:33.333%}.crp-grid i:nth-child(2){left:66.666%}
.crp-grid i:nth-child(3),.crp-grid i:nth-child(4){left:0;right:0;height:1px}
.crp-grid i:nth-child(3){top:33.333%}.crp-grid i:nth-child(4){top:66.666%}
.crp-dragging .crp-grid{opacity:1}
/* cover: the band that stays visible on wide desktop profiles (≈4.3:1 of the 3:1 crop, centred) */
.crp-band{display:none}
.crp-k-cover .crp-band{display:block;position:absolute;left:0;right:0;top:15%;bottom:15%;border-top:1px dashed rgba(255,255,255,.5);border-bottom:1px dashed rgba(255,255,255,.5);opacity:.75;transition:opacity .25s}
.crp-k-cover .crp-dragging .crp-band{opacity:1}

.crp-spin{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:rgba(255,255,255,.82);font-size:14px;font-weight:550}
.crp-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:var(--lime,#BEF264);animation:crp-rot .8s linear infinite}
@keyframes crp-rot{to{transform:rotate(360deg)}}
.crp-err{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:#fff}
.crp-err-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(190,18,60,.22);color:#FDA4AF;font-size:20px}
.crp-err-m{max-width:420px;margin:0 0 6px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.88)}
.crp-low{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:999px;background:rgba(245,158,11,.95);color:#3B2604;font-size:12.5px;font-weight:600;white-space:nowrap;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 4px 14px -6px rgba(0,0,0,.5)}

/* tools */
.crp-tools{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--line-2,#EEEAE0)}
.crp-zoom{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.crp-acts{display:flex;gap:6px;padding-left:14px;border-left:1px solid var(--line)}
.crp-ib{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .05s}
.crp-ib:hover:not(:disabled){border-color:var(--ink-2);background:var(--paper)}
.crp-ib:active:not(:disabled){transform:translateY(1px)}
.crp-ib:disabled{opacity:.4;cursor:default}
.crp-txt{width:auto;padding:0 14px;font-size:14px;font-weight:650}
.crp-range{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:28px;margin:0;padding:0;background:transparent;cursor:pointer;--crp-p:0%}
.crp-range:disabled{opacity:.45;cursor:default}
.crp-range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:var(--line)}
.crp-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:50%;background:#fff;border:2px solid var(--forest);box-shadow:0 2px 6px rgba(20,40,25,.25);transition:transform .12s}
.crp-range:active::-webkit-slider-thumb{transform:scale(1.12)}
.crp-range::-moz-range-track{height:4px;border-radius:4px;background:var(--line)}
.crp-range::-moz-range-progress{height:4px;border-radius:4px;background:var(--leaf)}
.crp-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--forest);box-shadow:0 2px 6px rgba(20,40,25,.25)}
.crp-range:focus-visible{outline:none}
.crp-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--lime)}
.crp-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--lime)}

/* footer: previews + hint + buttons */
.crp-foot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 18px;padding:16px 24px 20px}
.crp-prev{display:flex;align-items:center;gap:12px}
.crp-pc{display:block;background:var(--paper-2)}
.crp-prev-avatar .crp-pc{border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line),var(--sh-1)}
.crp-plabel{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.crp-prev-avatar .crp-plabel{display:none}
.crp-mini{position:relative;width:200px;height:96px;border-radius:12px;background:var(--paper);border:1px solid var(--line);overflow:hidden;flex:0 0 auto}
.crp-mini-cv{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:3/1}
.crp-mini-av{position:absolute;left:12px;top:44px;width:40px;height:40px;border-radius:50%;border:3px solid var(--card,#fff);background:linear-gradient(135deg,#86EFAC,#16A34A);overflow:hidden;box-shadow:var(--sh-1)}
.crp-mini-av img{width:100%;height:100%;object-fit:cover}
.crp-mini-l1,.crp-mini-l2{position:absolute;left:60px;height:6px;border-radius:4px;background:var(--line)}
.crp-mini-l1{top:72px;width:72px;background:#CFC8B6}
.crp-mini-l2{top:83px;width:46px}
.crp-prev-cover .crp-plabel{display:none}
.crp-hint{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
.crp-btns{display:flex;gap:10px}
.crp-save{min-width:132px;position:relative}
.crp-save.crp-busy .crp-save-t::before{content:"";display:inline-block;width:14px;height:14px;margin:0 8px -2px 0;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:crp-rot .7s linear infinite}
.crp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* account page: "Adjust" next to Change / Remove */
.crp-adjust{display:inline-flex;align-items:center;gap:6px}
.au-body .crp-adjust{margin-top:4px}

/* ── ≤1020px: full-screen bottom sheet ─────────────────────────── */
@media (max-width:1020px){
  .crp-root{padding:0;align-items:flex-end}
  .crp-sheet{width:100%;height:100%;height:100dvh;max-height:none;border-radius:0;transform:translateY(100%);opacity:1;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .crp-in .crp-sheet{transform:none}
  .crp-head{padding:10px 8px 10px 18px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .crp-title{font-size:18px}
  .crp-stage{flex:1 1 auto;height:auto;min-height:200px}
  .crp-tools{padding:12px 16px;gap:10px}
  .crp-acts{padding-left:10px}
  .crp-ib{width:44px;height:44px}
  .crp-foot{grid-template-columns:auto minmax(0,1fr);padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));gap:12px}
  .crp-prev-avatar .crp-pc[data-px="96"]{width:64px!important;height:64px!important}
  .crp-mini{width:150px;height:72px}
  .crp-mini-av{top:32px;left:9px;width:32px;height:32px;border-width:2px}
  .crp-mini-l1{left:48px;top:55px;width:56px}
  .crp-mini-l2{left:48px;top:64px;width:36px}
  .crp-hint{font-size:12.5px}
  .crp-btns{grid-column:1/-1}
  .crp-btns .btn{flex:1}
}
@media (max-height:560px) and (max-width:1020px){
  .crp-foot .crp-prev{display:none}
  .crp-foot{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .crp-sheet,.crp-backdrop,.crp-view.crp-anim,.crp-grid,.crp-frame{transition:none!important}
  .crp-view.crp-fadein,.crp-view.crp-rotating{animation:none}
}
.crp-adjust[hidden]{display:none!important}
