/* Crop editor for /crop-pdf.php. Loaded after pdf-stamp.css, which provides the shared st-* layout. */
.cr-editor{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0}
.cr-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%}
.cr-page-label{margin:0;min-width:9rem;text-align:center;color:var(--st-muted);font-size:.875rem}
.cr-stage{display:flex;justify-content:center;width:100%;padding:.75rem;border-radius:.85rem;background:var(--st-bg2);border:1px solid var(--st-line)}

.cr-page{position:relative;width:100%;aspect-ratio:3/4;background:var(--st-bg3);cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 8px 24px rgb(0 0 0/.35)}
.cr-page.cr-loading{display:flex;align-items:center;justify-content:center}
.cr-page:not(.cr-loading)>.st-spin{display:none}
.cr-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:#fff;pointer-events:none}
.cr-shade{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cr-hole{position:absolute;box-shadow:0 0 0 9999px rgb(15 23 42/.62)}
.cr-page.cr-loading .cr-shade,.cr-page.cr-loading .cr-frame{visibility:hidden}

.cr-frame{position:absolute;border:2px solid var(--st-primary);cursor:move;touch-action:none;box-sizing:border-box}
.cr-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(to right,transparent calc(33.33% - .5px),rgb(255 255 255/.35) calc(33.33% - .5px),rgb(255 255 255/.35) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgb(255 255 255/.35) calc(66.66% - .5px),rgb(255 255 255/.35) calc(66.66% + .5px),transparent calc(66.66% + .5px)),
  linear-gradient(to bottom,transparent calc(33.33% - .5px),rgb(255 255 255/.35) calc(33.33% - .5px),rgb(255 255 255/.35) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgb(255 255 255/.35) calc(66.66% - .5px),rgb(255 255 255/.35) calc(66.66% + .5px),transparent calc(66.66% + .5px))}
.cr-page.cr-dragging .cr-frame{border-color:#fff}

.cr-handle{position:absolute;width:1.25rem;height:1.25rem;margin:-.625rem 0 0 -.625rem;display:flex;align-items:center;justify-content:center;touch-action:none;z-index:1}
.cr-handle::before{content:"";width:.75rem;height:.75rem;border-radius:.2rem;background:var(--st-primary);border:2px solid var(--st-on);box-sizing:border-box}
.cr-handle[data-h="nw"]{left:0;top:0;cursor:nwse-resize}
.cr-handle[data-h="n"]{left:50%;top:0;cursor:ns-resize}
.cr-handle[data-h="ne"]{left:100%;top:0;cursor:nesw-resize}
.cr-handle[data-h="e"]{left:100%;top:50%;cursor:ew-resize}
.cr-handle[data-h="se"]{left:100%;top:100%;cursor:nwse-resize}
.cr-handle[data-h="s"]{left:50%;top:100%;cursor:ns-resize}
.cr-handle[data-h="sw"]{left:0;top:100%;cursor:nesw-resize}
.cr-handle[data-h="w"]{left:0;top:50%;cursor:ew-resize}
@media(pointer:coarse){.cr-handle{width:2rem;height:2rem;margin:-1rem 0 0 -1rem}}

.cr-margins{border:0;margin:0;padding:0;min-width:0}
.cr-margin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media(min-width:640px){.cr-margin-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cr-margin{flex-direction:column;align-items:stretch;gap:.35rem}
.cr-margin .st-field-num{width:100%}
.cr-reset-wrap{display:flex;align-items:flex-end}

.cr-pages-title{margin:1.25rem 0 .75rem}
.cr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:640px){.cr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1280px){.cr-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.cr-card{padding:0;cursor:pointer;overflow:hidden}
.cr-pick{display:flex;flex-direction:column;gap:.4rem;width:100%;padding:.5rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:center}
.cr-pick:focus-visible{outline:2px solid var(--st-primary);outline-offset:-2px;border-radius:.85rem}
.cr-card.cr-active{border-color:var(--st-primary);box-shadow:0 0 0 1px var(--st-primary)}
.cr-card.cr-off{opacity:.4}
.cr-tshade{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cr-tcrop{position:absolute;box-shadow:0 0 0 999px rgb(15 23 42/.6);outline:1px solid var(--st-primary);outline-offset:-1px}
.cr-card .st-pnum{display:block}
