/* AZRS tool-page skin: one look for every QuickFix tool.
   Scope: .az-tool (new wrapper), body.qf-tool (legacy tool pages) and .qf-seo (guide section).
   Tokens come from azrs-design.css (--zb-*). Per-category accent via [data-cat]. */

.az-tool{
  --az-a:#5B4BFF;--az-ink:#4A3BE0;--az-b:#00B8E6;
  --az-ground:#F6F7FC;--az-line:rgba(14,18,38,.1);--az-text:#0E1226;--az-muted:#434862;--az-soft:#5A5F78;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--az-text);position:relative;
  background:
    radial-gradient(900px 420px at 85% -80px,color-mix(in srgb,var(--az-a) 14%,transparent),transparent 70%),
    radial-gradient(700px 360px at -10% 120px,color-mix(in srgb,var(--az-b) 12%,transparent),transparent 70%),
    var(--az-ground);
  padding-bottom:24px;
}
.az-tool[data-cat="dev"]{--az-a:#4F46E5;--az-ink:#3730A3;--az-b:#00B8E6}
.az-tool[data-cat="fitness"]{--az-a:#3F7A00;--az-ink:#2F5E00;--az-b:#00B8E6}
.az-tool[data-cat="calc"]{--az-a:#C2410C;--az-ink:#9A3412;--az-b:#FF6B4A}
.az-tool[data-cat="cad"]{--az-a:#0A7EA4;--az-ink:#075E7C;--az-b:#5B4BFF}
.az-tool[data-cat="viral"]{--az-a:#DB2777;--az-ink:#9D174D;--az-b:#FF6B4A}
.az-tool[data-cat="eng"]{--az-a:#0891B2;--az-ink:#0E7490;--az-b:#5B4BFF}
.az-tool[data-cat="maker"]{--az-a:#B45309;--az-ink:#92400E;--az-b:#DB2777}
.az-tool[data-cat="text"]{--az-a:#5B4BFF;--az-ink:#4A3BE0;--az-b:#00B8E6}
.az-tool[data-cat="seo"]{--az-a:#2563EB;--az-ink:#1D4ED8;--az-b:#00B8E6}
.az-tool *{box-sizing:border-box}
.az-tool a{text-decoration:none}

/* scroll progress */
.az-prog{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:2000;background:linear-gradient(90deg,var(--az-a),var(--az-b),#B6F03C)}
@supports (animation-timeline:scroll()){.az-prog{animation:azprog linear both;animation-timeline:scroll(root)}@keyframes azprog{to{transform:scaleX(1)}}}

.az-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.az-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px;color:var(--az-soft);padding:18px 0 10px}
.az-crumbs a{color:var(--az-soft)}.az-crumbs a:hover{color:var(--az-ink)}

/* hero */
.az-tool .az-intro{position:relative;padding:8px 0 22px !important;background:transparent !important;margin:0 !important;text-align:left !important;max-width:none !important}
.az-intro>*:not(.az-wm){position:relative;z-index:1}
.az-cat{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.1em;color:var(--az-ink);background:color-mix(in srgb,var(--az-a) 11%,#fff);padding:7px 14px;border-radius:999px;margin-bottom:14px}
.az-tool .az-intro .az-h1{margin:0 !important;font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;font-weight:800;font-size:clamp(2rem,5.6vw,3.7rem) !important;line-height:1.04 !important;letter-spacing:-.035em;color:var(--az-text);max-width:16em;text-wrap:balance}
.az-tool .az-intro .az-lead{margin:14px 0 0 !important;text-align:left !important;color:var(--az-muted);font-size:clamp(1rem,2.3vw,1.2rem);max-width:38em;line-height:1.55}
.az-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.az-badges span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--az-line);font-size:13.5px;font-weight:600;color:var(--az-muted)}
.az-badges i{width:8px;height:8px;border-radius:50%;background:#4E9B00}
.az-wm{position:absolute;right:-6px;top:-4px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(6rem,20vw,15rem);line-height:1;letter-spacing:-.06em;color:var(--az-a);opacity:.07;pointer-events:none;user-select:none;white-space:nowrap}
.az-tool[data-cat="dev"] .az-wm::after{content:"{ }"}
.az-tool[data-cat="fitness"] .az-wm::after{content:"FIT"}
.az-tool[data-cat="calc"] .az-wm::after{content:"%"}
.az-tool[data-cat="cad"] .az-wm::after{content:"CAD"}
.az-tool[data-cat="viral"] .az-wm::after{content:"★"}
.az-tool[data-cat="eng"] .az-wm::after{content:"ENG"}
.az-tool[data-cat="maker"] .az-wm::after{content:"3D"}
.az-tool[data-cat="text"] .az-wm::after{content:"Aa"}
.az-tool[data-cat="seo"] .az-wm::after{content:"SEO"}
@media(max-width:700px){.az-wm{top:150px;font-size:7rem}}

/* workspace card */
.az-tool section.az-ws{padding:0 !important;margin:0 !important}
.az-ws{background:#fff;border:1px solid var(--az-line);border-top:4px solid var(--az-a);border-radius:32px;box-shadow:0 50px 90px -46px rgba(50,60,140,.55);overflow:hidden;position:relative}
.az-wsbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px;border-bottom:1px solid var(--az-line);font-size:13.5px;color:var(--az-soft);background:linear-gradient(180deg,#fff,#FAFBFF)}
.az-dots{display:flex;gap:6px}.az-dots b{width:10px;height:10px;border-radius:50%;background:rgba(14,18,38,.14)}
.az-wsnote{display:none}@media(min-width:700px){.az-wsnote{display:inline}}
.az-tool .az-wsbody.nt-card{border:0;border-radius:0;box-shadow:none;background:#fff;padding:clamp(16px,3vw,30px);color:var(--az-text)}

/* re-skin the legacy nt-* controls used by hundreds of tool partials */
.az-tool .nt-label{color:var(--az-muted);font-weight:700;letter-spacing:.03em}
.az-tool .nt-in{min-height:48px;border:1.5px solid rgba(14,18,38,.14);border-radius:16px;background:#fff;font-size:16px;color:var(--az-text);transition:border-color .15s,box-shadow .15s}
.az-tool textarea.nt-in{min-height:140px}
.az-tool .nt-in:focus{border-color:var(--az-a);box-shadow:0 0 0 4px color-mix(in srgb,var(--az-a) 18%,transparent);background:#fff}
.az-tool .nt-btn{border-radius:999px;min-height:46px;padding:0 22px;background:var(--az-a);color:#fff;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--az-a) 60%,transparent);transition:transform .15s,box-shadow .15s}
.az-tool .nt-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px color-mix(in srgb,var(--az-a) 70%,transparent)}
.az-tool .nt-btn.ghost{background:#fff;color:var(--az-text);border:1px solid var(--az-line);box-shadow:none}
.az-tool .nt-btn.ghost:hover{border-color:var(--az-a);color:var(--az-ink)}
.az-tool .nt-btn.sm{min-height:38px;padding:0 16px}
.az-tool .nt-stat{background:var(--az-ground);border:0;border-radius:20px;padding:16px}
.az-tool .nt-stat b{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.02em}
.az-tool .nt-stat b.big{color:var(--az-ink)}
.az-tool .nt-chip{border-radius:999px;border:1px solid var(--az-line);min-height:38px}
.az-tool .nt-chip.on,.az-tool .nt-chip:hover{border-color:var(--az-a);color:var(--az-ink);background:color-mix(in srgb,var(--az-a) 9%,#fff)}
.az-tool .nt-check input{accent-color:var(--az-a)}
.az-tool .nt-out{border-radius:20px}
.az-tool .nt-bar{border-radius:99px}
.az-tool .nt-table th{background:var(--az-ground)}
.az-tool input[type=range]{accent-color:var(--az-a)}
.az-tool :focus-visible{outline:3px solid var(--az-a);outline-offset:2px;border-radius:8px}

/* related tools */
.az-rel-sec{padding-top:56px}
.az-h2{margin:0 0 20px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(1.6rem,4.4vw,2.5rem);letter-spacing:-.03em;line-height:1.1;color:var(--az-text)}
.az-rel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 24px;margin:0 -20px;scrollbar-width:none}
.az-rel::-webkit-scrollbar{display:none}
.az-rc{flex:none;width:min(250px,74vw);scroll-snap-align:start;background:#fff;border:1px solid var(--az-line);border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:8px;color:var(--az-text);transition:transform .25s ease,box-shadow .25s ease;transform-style:preserve-3d}
.az-rc:hover{transform:translateY(-8px) rotateX(5deg);box-shadow:0 30px 50px -28px rgba(50,60,140,.55)}
.az-rc-ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--az-a) 12%,#fff);color:var(--az-ink);font-size:1.1rem}
.az-rc b{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.02rem}
.az-rc em{font-style:normal;font-size:13.5px;color:var(--az-muted);line-height:1.4}

/* ===== 3D scroll kit ===== */
.az-rv{opacity:1}
@supports (animation-timeline:view()){
  .az-rvw{perspective:1100px}
  .az-rv{animation:azrv linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  .az-rv2{animation:azrv2 linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .az-rv3{animation:azrv3 linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .az-tilt{animation:azws linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  .az-wm{animation:azwm linear both;animation-timeline:scroll(root);animation-range:0 600px}
  @keyframes azrv{from{opacity:0;transform:rotateX(18deg) translateY(46px) scale(.96)}to{opacity:1;transform:none}}
  @keyframes azrv2{from{opacity:0;transform:translateX(-60px) rotateY(18deg)}to{opacity:1;transform:none}}
  @keyframes azrv3{from{opacity:0;transform:translateX(60px) rotateY(-18deg)}to{opacity:1;transform:none}}
  @keyframes azws{from{transform:perspective(1200px) rotateX(9deg) translateY(30px);opacity:.4}to{transform:none;opacity:1}}
  @keyframes azwm{to{transform:translateY(90px) rotate(-4deg);opacity:.02}}
}
/* fallback for browsers without scroll-driven animation: JS adds .az-in */
html.az-nosd .az-rv,html.az-nosd .az-rv2,html.az-nosd .az-rv3{opacity:0;transform:rotateX(14deg) translateY(36px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
html.az-nosd .az-rv2{transform:translateX(-50px) rotateY(14deg)}html.az-nosd .az-rv3{transform:translateX(50px) rotateY(-14deg)}
html.az-nosd .az-in{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion:reduce){
  .az-rv,.az-rv2,.az-rv3,.az-tilt,.az-wm,.az-prog{animation:none !important;opacity:1 !important;transform:none !important}
  html.az-nosd .az-rv,html.az-nosd .az-rv2,html.az-nosd .az-rv3{opacity:1;transform:none}
  .az-rc:hover{transform:none}
}

/* ===== guide / SEO section (partials/seo_section.html) on the new look ===== */
.qf-seo{background:linear-gradient(180deg,#F6F7FC,#fff 40%);padding-top:56px}
.qf-seo-inner{max-width:1100px !important;font-family:'Inter',system-ui,sans-serif !important;color:#434862 !important}
.qf-seo h2{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;color:#0E1226;letter-spacing:-.03em;font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.08}
.qf-seo h3{font-family:'Plus Jakarta Sans','Inter',sans-serif;color:#0E1226}
.qf-seo p{color:#434862}
.qf-seo .qf-blk{perspective:1100px;margin-bottom:4rem}
.qf-seo .qf-blk+.qf-blk{border-top:0;padding-top:0}
.qf-kicker{color:#4A3BE0;letter-spacing:.14em}
.qf-kicker .qf-kicker-ico{background:#5B4BFF;border-radius:9px;width:26px;height:26px}
.qf-seo-card{border:1px solid rgba(14,18,38,.1);border-radius:26px;padding:1.5rem;background:#fff;box-shadow:0 24px 50px -34px rgba(50,60,140,.5);transform-style:preserve-3d}
.qf-seo-card::before{background:#5B4BFF;width:34px;border-radius:0 0 4px 4px}
.qf-seo-card:hover{transform:translateY(-6px) rotateX(4deg);box-shadow:0 34px 56px -28px rgba(91,75,255,.4);border-color:#d9d5ff}
.qf-seo ol li{background:#fff;border:1px solid rgba(14,18,38,.1);border-radius:22px;padding:1.05rem 1.1rem 1.05rem 3.4rem;box-shadow:0 18px 40px -30px rgba(50,60,140,.45)}
.qf-seo ol li::before{background:#5B4BFF;width:30px;height:30px;border-radius:10px;left:.9rem;font-family:'Plus Jakarta Sans',sans-serif}
.qf-seo ul.qf-list li::before{background:#EDEAFF;color:#4A3BE0;border-radius:7px}
.qf-seo pre.qf-ex{background:#0E1226;border-radius:28px;padding:1.7rem 1.5rem 1.4rem}
.qf-seo pre.qf-ex::before{background:#B6F03C;color:#0E1226;border-radius:999px}
.qf-seo details{border:1px solid rgba(14,18,38,.1);border-radius:22px;background:#fff}
.qf-seo details[open]{border-color:#d9d5ff;box-shadow:0 20px 40px -28px rgba(91,75,255,.4)}
.qf-seo summary{min-height:62px;padding:0 1.3rem;font-size:1.02rem}
.qf-seo summary::after{border-color:#5B4BFF}
.qf-seo .qf-why{background:linear-gradient(135deg,#5B4BFF,#00B8E6);color:#fff;border:0;border-radius:36px;padding:2.2rem 2rem}
.qf-seo .qf-why h2,.qf-seo .qf-why p,.qf-seo .qf-why .qf-kicker{color:#fff}
.qf-seo .qf-why .qf-kicker-ico{background:rgba(255,255,255,.2)}
.qf-seo-links a{color:#4A3BE0}
.qf-browser,.qf-walk-browser{border-radius:24px}
.qf-seo .qf-blk.reveal3d{opacity:1}
@supports (animation-timeline:view()){
  .qf-seo .qf-blk{animation:azrv linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  .qf-seo .qf-seo-card:nth-child(odd),.qf-seo ol li:nth-child(odd){animation:azrv2 linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .qf-seo .qf-seo-card:nth-child(even),.qf-seo ol li:nth-child(even){animation:azrv3 linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .qf-seo .qf-blk.reveal3d{transform:none}
}
@media (prefers-reduced-motion:reduce){.qf-seo .qf-blk,.qf-seo .qf-seo-card,.qf-seo ol li{animation:none !important}}

/* ===== legacy tool pages (body.qf-tool) — light shared skin, tool-specific colours stay ===== */
body.qf-tool{background:#F6F7FC}
body.qf-tool h1,body.qf-tool .hero h1{font-family:'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.03em}
body.qf-tool main button:not(.btn-close):not([class*="nt-"]),body.qf-tool main .btn{border-radius:999px}
body.qf-tool main input[type=text],body.qf-tool main input[type=number],body.qf-tool main input[type=email],body.qf-tool main input[type=search],body.qf-tool main input[type=url],body.qf-tool main select,body.qf-tool main textarea{border-radius:16px;font-size:16px}

/* ===== TO-THE-POINT layout: tool first, compact header above it ===== */
.az-tool .az-crumbs{padding:8px 0 4px;font-size:12.5px;gap:6px}
.az-tool .az-intro{padding:0 0 12px !important}
.az-tool .az-intro .az-h1{font-size:clamp(1.5rem,3.2vw,2.1rem) !important;line-height:1.12 !important;letter-spacing:-.025em;max-width:none}
.az-tool .az-intro .az-lead{margin:6px 0 0 !important;font-size:clamp(.92rem,1.6vw,1.02rem);line-height:1.45;max-width:46em}
.az-tool .az-intro .az-cat{display:none}
.az-tool .az-wm{font-size:clamp(3rem,8vw,5.5rem);top:-6px;right:0;opacity:.05;animation:none}
.az-tool .az-badges{margin:18px 0 0}
.az-tool .az-badges-below{margin-top:20px}
.az-tool .az-ws{border-radius:24px;border-top-width:3px}
.az-tool .az-wsbar{padding:8px 16px}
.az-tool .az-tilt{animation:none !important;opacity:1 !important;transform:none !important}
.az-tool .az-wsbody.nt-card{padding:clamp(14px,2.4vw,24px)}
@media(max-width:700px){
  .az-tool .az-wrap{padding:0 12px}
  .az-tool .az-intro .az-lead{display:none}
  .az-tool .az-intro .az-h1{font-size:1.45rem !important}
  .az-tool .az-wm{display:none}
  .az-tool .az-wsbar{display:none}
  .az-tool .az-ws{border-radius:18px}
  .az-tool .az-wsbody.nt-card{padding:12px}
  .az-rel{margin:0 -12px;padding:6px 12px 24px}
}

/* ===== QA fixes: containment inside the card, small-text contrast ===== */
.az-tool .az-wsbody{min-width:0;max-width:100%}
.az-tool .az-wsbody .nt-grid>*,.az-tool .az-wsbody .nt-inline>*{min-width:0}
.az-tool .az-wsbody select,.az-tool .az-wsbody textarea,.az-tool .az-wsbody canvas,.az-tool .az-wsbody img,.az-tool .az-wsbody video,.az-tool .az-wsbody svg{max-width:100%}
.az-tool .az-wsbody canvas,.az-tool .az-wsbody img,.az-tool .az-wsbody video{height:auto}
.az-tool .az-wsbody pre,.az-tool .az-wsbody .nt-out{max-width:100%;overflow-x:auto}
.az-tool .az-wsbody table{max-width:100%}
.az-tool .az-wsbody small:not([style*="color"]){color:#5A5F78}
.az-tool .az-wsbody .wp-t{color:#475569}
@media(max-width:700px){
  .az-tool .az-wsbody .nt-check{flex-wrap:wrap;min-width:0}
  .az-tool .az-wsbody .nt-in{min-width:0;max-width:100%}
}
