@import url("/css/site-modern-theme.css");
/* Site header + SEO content for /tool/ (scoped; the tool keeps its own styles) */
#cd-site-head,.cd-seo{--ink:#18202f;--muted:#5b6475;--line:#e6e9f0;--stamp:#4338ca;--stamp-deep:#3730a3;--stamp-soft:#eef0ff;--r:14px;--shadow:0 1px 2px rgba(16,24,40,.05),0 6px 20px rgba(16,24,40,.06);font-family:"Source Sans 3","Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
#cd-site-head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
#cd-site-head .wrap{max-width:1180px;margin:0 auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;position:relative}
#cd-site-head a{text-decoration:none}
#cd-site-head .brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
#cd-site-head .brand-logo{width:38px;height:38px;border-radius:10px;flex:none;display:block}
#cd-site-head .brand-name{font-weight:800;font-size:1.3rem;line-height:1;letter-spacing:-.02em}
#cd-site-head .brand-name b{color:var(--stamp)}
#cd-site-head .brand-tag{display:block;font-size:.74rem;color:var(--muted)}
#cd-site-head .nav{display:flex;gap:2px 4px;flex-wrap:wrap;align-items:center;font-weight:600;font-size:.95rem}
#cd-site-head .nav a{padding:8px 10px;border-radius:9px;color:#273046}
#cd-site-head .nav a:hover,#cd-site-head .nav a[aria-current=page]{color:var(--stamp);background:var(--stamp-soft)}
#cd-site-head .nav .btn{margin-left:6px;padding:9px 16px;border-radius:10px;background:var(--stamp);color:#fff;font-weight:700}
#cd-site-head .nav-toggle{display:none}
#cd-site-head .hdr-ft{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:2px solid var(--stamp);border-radius:99px;background:var(--stamp-soft);color:var(--stamp-deep);font-weight:700;font-size:1.02rem;line-height:1;white-space:nowrap}
#cd-site-head .hdr-ft-ic{font-size:1.45rem;line-height:1}
#cd-site-head .hdr-ft-new{background:#f59e0b;color:#1c1914;font-size:.68rem;padding:3px 6px;border-radius:99px}
@media (max-width:1180px){#cd-site-head .wrap{min-height:58px}
 #cd-site-head .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;padding:0}
 #cd-site-head .nav-toggle span,#cd-site-head .nav-toggle span::before,#cd-site-head .nav-toggle span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;content:""}
 #cd-site-head .nav-toggle span::before{position:absolute;top:-6px}#cd-site-head .nav-toggle span::after{position:absolute;top:6px}
 #cd-site-head .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;padding:8px 14px 14px}
 #cd-site-head .nav.open{display:flex}#cd-site-head .nav a{padding:11px 10px}#cd-site-head .nav .btn{margin:6px 0 0;text-align:center}
 #cd-site-head .brand-tag{display:none}}
@media (max-width:640px){#cd-site-head .hdr-ft{padding:6px 10px;font-size:.92rem}#cd-site-head .hdr-ft-ic{font-size:1.2rem}}
@media (max-width:380px){#cd-site-head .hdr-ft-new{display:none}#cd-site-head .brand-name{font-size:1.1rem}}
.cd-seo{background:#fff;border-top:1px solid var(--line);margin-top:24px;font-size:17px;line-height:1.65}
.cd-seo-in{max-width:820px;margin:0 auto;padding:18px 18px 40px}
.cd-seo h2{font-size:1.4rem;line-height:1.25;margin:1.4em 0 .5em;font-weight:700}
.cd-seo ol,.cd-seo ul{padding-left:1.3em}.cd-seo li{margin:.3em 0}
.cd-seo a{color:var(--stamp)}
.cd-seo .cd-tbl{overflow-x:auto}.cd-seo table{border-collapse:collapse;width:100%;font-size:.95rem}.cd-seo th,.cd-seo td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.cd-seo th{background:var(--stamp-soft)}
.cd-seo details{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}.cd-seo summary{font-weight:700;cursor:pointer}
.cd-seo .cd-note,.cd-seo .cd-legal{color:var(--muted);font-size:.92rem}
/* nav icon tiles – match /css/site.css (homepage) */
#cd-site-head .nav a .ni{width:22px;height:22px;padding:4px;box-sizing:border-box;border-radius:7px;vertical-align:-6px;margin-right:7px;flex:none;color:#fff;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;background:linear-gradient(135deg,var(--n1,#14b8a6),var(--n2,#0f766e));box-shadow:0 2px 6px -2px var(--n2,#0f766e);display:inline-block}
#cd-site-head .nav .btn .ni{background:rgba(255,255,255,.22);box-shadow:none}
#cd-site-head .nav a[href="/"]{--n1:#10b981;--n2:#0f766e}
#cd-site-head .nav a[href="/photo-crop/"]{--n1:#f97316;--n2:#e11d48}
#cd-site-head .nav a[href="/all-tools/"]{--n1:#38bdf8;--n2:#1d4ed8}
#cd-site-head .nav a[href="/us-passport-photo/"]{--n1:#3b82f6;--n2:#7c3aed}
#cd-site-head .nav a[href="/typing-test/"]{--n1:#a78bfa;--n2:#4f46e5}
#cd-site-head .nav a[href="/downloads/"]{--n1:#22c55e;--n2:#0d9488}
#cd-site-head .nav a[href="/blog/"]{--n1:#fbbf24;--n2:#ea580c}
#cd-site-head .nav a[href="/about/"]{--n1:#06b6d4;--n2:#2563eb}
#cd-site-head .nav a[href="/contact/"]{--n1:#f472b6;--n2:#c026d3}
#cd-site-head .nav a{display:inline-flex;align-items:center}
@media (min-width:1181px){#cd-site-head .nav a .ni{margin-right:5px}}
#cd-site-head .nav .btn,#cd-site-head .nav .btn[aria-current=page]{background:var(--stamp);color:#fff}#cd-site-head .nav .btn:hover{background:var(--stamp-deep);color:#fff}
input[type=range]{min-height:32px!important;touch-action:pan-y}
#v3-root:empty{min-height:100vh}
@media (min-width:1181px){.site-head .brand,#cd-site-head .brand{order:0}.site-head .nav,#cd-site-head .nav{order:1;margin-inline-start:auto}.site-head .cd-lang,#cd-site-head .cd-lang{order:2;margin-inline-start:8px}}
@media (max-width:1180px){.site-head .brand,#cd-site-head .brand{order:0;min-width:0}.site-head .cd-lang,#cd-site-head .cd-lang{order:1;margin-inline-start:auto}.site-head .nav-toggle,#cd-site-head .nav-toggle{order:2;flex:none}.site-head .nav,#cd-site-head .nav{order:3}}
.cd-lang{white-space:nowrap;flex-wrap:nowrap}
@media (min-width:1181px){#cd-acct{order:2;margin-inline-start:6px}.site-head .cd-lang,#cd-site-head .cd-lang{order:3}}
/* header: language switcher is a normal flex item (no overlap); nav collapses to the menu below 1181px */
.site-head .cd-lang,#cd-site-head .cd-lang{display:inline-flex;align-items:center;gap:3px;flex:none;font-size:13px;position:static;transform:none}
.site-head .cd-lang select,#cd-site-head .cd-lang select{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:3px 2px;background:#fff;color:#111;width:auto;max-width:64px;min-height:30px}

/* ===== Visual polish 2026-10-24 (tool chrome /tool SEO shell) ===== */
#cd-site-head{backdrop-filter:saturate(1.35) blur(10px);-webkit-backdrop-filter:saturate(1.35) blur(10px);background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(15,23,42,.03)}
#cd-site-head .brand-logo{border-radius:11px;box-shadow:0 1px 3px rgba(15,23,42,.08)}
#cd-site-head .nav a{border-radius:10px;transition:background .12s,color .12s}
#cd-site-head .nav .btn{border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.1)}
#cd-site-head .nav-toggle{border-radius:11px}
.cd-seo{background:linear-gradient(180deg,#f7f9fc,#fff);border-top-color:#e6e9f0}
.cd-seo-in{padding:22px 18px 44px}
.cd-seo h2{letter-spacing:-.015em}
.cd-seo details{border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);padding:0 16px;margin:0 0 12px;transition:border-color .12s,box-shadow .12s}
.cd-seo details[open]{border-color:#b7c8de;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06)}
.cd-seo summary{padding:14px 0;font-weight:700}
.cd-seo details[open] summary{color:var(--stamp)}
.cd-seo details p{margin:0 0 14px;color:#475569}
.cd-seo .cd-tbl{border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.cd-seo th{background:#eef4fb}
.cd-seo th,.cd-seo td{padding:10px 12px}
@media (max-width:700px){.cd-seo details{padding:0 12px;border-radius:12px}.cd-seo-in{padding:16px 14px 36px}}

/* ===== Bulk Cropper (/tool/) psychology UX overlay 2026-10-24 ===== */
:root{
  --cd-primary:#0c6b62;--cd-primary-deep:#09574f;--cd-primary-soft:#e5f3f1;
  --cd-ink:#1c1914;--cd-muted:#5e574e;--cd-border:#e0d8cb;--cd-focus:#2563eb;
  --cd-success:#15803d;--cd-error:#b91c1c;--cd-tap:44px;
}
/* Align stamp tokens with cream/teal tool theme (recognition) */
#cd-site-head,.cd-seo{--stamp:var(--cd-primary);--stamp-deep:var(--cd-primary-deep);--stamp-soft:var(--cd-primary-soft)}
/* Thumb-friendly primary CTAs inside the cropper app shell */
main button,main [role=button]{min-height:var(--cd-tap)}
main button.bg-stamp,main button[class*="bg-stamp"]{
  box-shadow:0 2px 8px rgba(12,107,98,.28);font-weight:700
}
/* File type expectation near upload (Gestalt: group hint with control) */
main header + *, main [class*="Upload"]{scroll-margin-top:72px}
/* Soft trust strip under sticky header area */
#cd-site-head::after{
  content:"Private on this device · JPG, PNG or WebP sheets · ZIP download when ready";
  display:block;text-align:center;font-size:.78rem;font-weight:600;letter-spacing:.01em;
  color:var(--cd-muted);background:var(--cd-primary-soft);border-bottom:1px solid var(--cd-border);
  padding:6px 12px
}
@media (max-width:520px){#cd-site-head::after{font-size:.72rem;padding:6px 10px}}
/* Ad separation on /tool/ */
.ad-slot,.cd-adslot{
  margin:28px auto;padding:10px;border:1px dashed #cfc6b6;border-radius:12px;background:#faf7f1;max-width:960px
}
/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  main *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
/* Focus visibility over cream UI */
main :focus-visible{outline:3px solid var(--cd-focus);outline-offset:2px}
/* Prevent horizontal overflow from long filenames */
main{overflow-x:hidden;max-width:100vw}
.cd-seo{overflow-wrap:anywhere}


/* ===== Phase 2 /tool/ chrome (safe overlay – do not edit RSC HTML) ===== */
#cd-site-head::after{
  content:"Workflow: 1 Upload sheet → 2 Detect / adjust boxes → 3 Review each crop → 4 Download ZIP  ·  Private on this device · JPG PNG WebP";
  display:block;text-align:center;font-size:.78rem;font-weight:600;letter-spacing:.01em;
  color:var(--cd-muted,#5e574e);background:var(--cd-primary-soft,#e5f3f1);
  border-bottom:1px solid var(--cd-border,#e0d8cb);padding:8px 12px;line-height:1.45
}
@media (max-width:640px){
  #cd-site-head::after{font-size:.72rem;padding:8px 10px;text-align:left}
}

/* Soften dual sticky headers: keep site head; tighten SPA sticky bar */
main > header.sticky{
  top:0;background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--cd-border,#e0d8cb);
  box-shadow:0 1px 0 rgba(15,23,42,.04)
}
@supports (backdrop-filter:blur(8px)){
  main > header.sticky{backdrop-filter:saturate(1.2) blur(8px)}
}

/* Status / count chips near actions */
main [class*="rounded"] .text-sm.text-muted,
main p.text-sm.text-muted{line-height:1.45}

/* Upload zone emphasis inside SPA */
main .border-dashed{
  border-color:var(--cd-primary,#0c6b62)!important;
  background:linear-gradient(180deg,var(--cd-primary-soft,#e5f3f1),#fff)!important;
  border-radius:16px!important;padding:28px 16px!important
}
main .border-dashed:focus-within,
main .border-dashed:hover{box-shadow:0 0 0 3px rgba(12,107,98,.18)}

/* Primary SPA buttons */
main button.bg-stamp,
main button[class*="bg-stamp"]{
  min-height:44px;border-radius:12px;
  box-shadow:0 2px 8px rgba(12,107,98,.28)
}
main button.border{min-height:44px;border-radius:12px}

/* Injected workflow strip from approved-ux.js */
#cd-tool-flow{
  max-width:1180px;margin:0 auto;padding:10px 18px 0;box-sizing:border-box
}
#cd-tool-flow .cd-steps{margin:0 0 8px}
#cd-tool-flow .cd-banner.info{margin:0 0 10px}
@media (max-width:700px){#cd-tool-flow{padding:8px 12px 0}}
