/* Image Tools components — layered on top of the site theme (style.css). Same
   approach as pdf-tools.css: reuse the shared .btn/.seg/.field/.panel classes and
   add only the image-specific pieces. Everything scoped under .imgt. */

.imgt .panel{margin-top:16px}
.imgt .panel[hidden]{display:none}

/* dropzone (mirrors .pdft .drop) */
.imgt .drop{border:2px dashed var(--line);border-radius:var(--radius);padding:32px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;display:block}
.imgt .drop:hover,.imgt .drop.over{border-color:var(--green);background:var(--green-t)}
.imgt .drop .ico{width:38px;height:38px;color:var(--green);display:inline-block}
.imgt .drop .big{font-size:16px;font-weight:700;margin:10px 0 4px;color:var(--ink)}
.imgt .drop .small{font-size:13.5px;color:var(--muted)}
.imgt input[type=file]{display:none}

/* text / number input */
.imgt .text-in{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font:500 15px var(--sans);color:var(--ink);background:#fff}
.imgt .text-in:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px var(--green-t)}

/* preview */
.imgt-preview{margin:16px 0 6px;text-align:center}
.imgt-preview img{max-width:100%;max-height:340px;border:1px solid var(--line);border-radius:12px;background:conic-gradient(#f3f3f3 90deg,#fff 90deg 180deg,#f3f3f3 180deg 270deg,#fff 270deg) 0 0/22px 22px}
.imgt-meta{font-family:var(--mono);font-size:12px;color:var(--muted);text-align:center;margin:0 0 6px}

/* dimension row */
.imgt-dims{display:flex;gap:12px;flex-wrap:wrap}
.imgt-dims .field{flex:1;min-width:120px;margin:0}
.imgt-check{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--ink);margin:12px 0 2px;cursor:pointer}
.imgt-check input{width:17px;height:17px;accent-color:var(--green)}

/* quality slider */
.imgt-range{display:flex;align-items:center;gap:14px;margin-top:6px}
.imgt-range input[type=range]{flex:1;accent-color:var(--green);height:5px}
.imgt-range .qval{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--green-d);min-width:44px;text-align:right}

/* full-width action button */
.imgt .btn-block{display:flex;width:100%;justify-content:center;margin-top:18px}

/* status + result (mirrors .pdft) */
.imgt .status{font-size:13.5px;color:var(--muted);margin-top:12px;min-height:20px}
.imgt .status.err{color:var(--red)}
.imgt .result{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.imgt .result[hidden]{display:none}
.imgt .result .rrow{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:14px;padding:6px 0}
.imgt .result .rrow b{font-family:var(--mono)}
.imgt .result .saved{color:var(--green-d);font-weight:700}

.privacy-pill{display:inline-flex;align-items:center;gap:7px;background:var(--green-t);color:var(--green-d);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;margin-top:4px}
.privacy-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green)}

/* crop stage */
.imgt-crop-wrap{text-align:center;margin:16px 0 6px}
.imgt-crop-stage{position:relative;display:inline-block;max-width:100%;line-height:0;user-select:none;-webkit-user-select:none;touch-action:none}
.imgt-crop-stage img{display:block;max-width:100%;max-height:420px}
.imgt-crop-box{position:absolute;border:1.5px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.35) inset;cursor:move}
.imgt-crop-box::before,.imgt-crop-box::after{content:"";position:absolute;background:rgba(255,255,255,.55)}
.imgt-crop-box::before{left:33.33%;right:33.33%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.55);border-right:1px solid rgba(255,255,255,.55);background:none}
.imgt-crop-box::after{top:33.33%;bottom:33.33%;left:0;right:0;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);background:none}
.imgt-crop-h{position:absolute;width:15px;height:15px;background:#fff;border:2px solid var(--green);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.imgt-crop-h.nw{left:-8px;top:-8px;cursor:nwse-resize}
.imgt-crop-h.ne{right:-8px;top:-8px;cursor:nesw-resize}
.imgt-crop-h.sw{left:-8px;bottom:-8px;cursor:nesw-resize}
.imgt-crop-h.se{right:-8px;bottom:-8px;cursor:nwse-resize}

/* ---- size spec strip (preset landing pages) ---- */
.imgt-spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:2px}
.imgt-spec-row{background:var(--card);padding:12px 14px;min-width:0}
.imgt-spec-row span{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}
.imgt-spec-row b{font-family:var(--mono);font-size:14.5px;color:var(--ink);overflow-wrap:anywhere}
.hub-sub{font-size:19px;margin:0 0 12px;letter-spacing:-.01em}
@media(max-width:420px){.imgt-spec{grid-template-columns:1fr}}
/* link rows: wrap as whole buttons instead of widening the page on narrow phones */
.article .btn-row{display:flex;flex-wrap:wrap;gap:8px}
.article .btn-row .btn{white-space:normal;text-align:center;max-width:100%}

/* ---- country selector + country size list (passport pages) ---- */
.imgt-country{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}
.imgt-country label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px}
.imgt-country select{width:100%;max-width:420px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font:500 15px var(--sans);color:var(--ink);background:#fff}
.imgt-country select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px var(--green-t)}
.imgt-country .hint{display:block;font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.5}
.ctry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ctry-row{background:var(--card);padding:10px 13px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}
.ctry-n{font-weight:700;font-size:14px;flex:1 1 100%}
.ctry-mm{font-size:12.5px;color:var(--muted)}
.ctry-px{font-family:var(--mono);font-size:12.5px;color:var(--green-d);margin-left:auto;overflow-wrap:anywhere}

/* Ready-made sizes, shown before any file is chosen: the <select> only appears
   after upload, so these chips are how someone landing on the page learns the
   21 preset sizes exist at all. */
.imgt-sizes{margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.imgt-sizes-lead{margin:0 0 16px;font-size:13.5px;color:var(--muted)}
.imgt-sizes-grp{margin-bottom:16px}
.imgt-sizes-grp h3{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.size-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;
  font:inherit;color:var(--ink);transition:border-color .15s ease,background .15s ease}
.size-chip:hover{border-color:var(--green);background:var(--green-t)}
.size-chip.on{border-color:var(--green);background:var(--green-t);box-shadow:0 0 0 2px var(--green-t)}
.size-chip b{font-size:13.5px;font-weight:600;line-height:1.3}
.size-chip span{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.size-chip:focus-visible{outline:2px solid var(--green-d);outline-offset:2px}

/* Divider label inside the Image Tools menu, above the ready-made size pages. */
.dropdown .drop-sep{display:block;margin:7px 4px 3px;padding-top:8px;border-top:1px solid var(--line);
  font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}
.imgt-bycountry{margin:9px 0 0;font-size:13px;color:var(--muted);line-height:1.7}
.imgt-bycountry a{color:var(--green-d);font-weight:600}
.hub-lead{margin:0 0 14px;font-size:14px;color:var(--muted);max-width:70ch}
a.size-chip{text-decoration:none}
