/* Free tool pages on handlepilot.com (docs/seo-todo.md, projects 8 and 9).
 * They load the landing's own stylesheet first (tokens, header, buttons,
 * section intros, FAQ, the blue closing band, footer), so a tool page is the
 * landing's system with a tool in it. This file adds only what a tool needs:
 * the link form, the result, and the explainer sections. */

.tool-hero .hero-copy{padding-top:72px;padding-bottom:16px}
/* The hero's quiet side art, placed exactly as the landing's (landing-flow.css). */
.tool-hero{position:relative;isolation:isolate}
.hero-artwork{position:absolute;inset:0;max-width:1480px;margin-inline:auto;pointer-events:none;z-index:-1}
.hero-decor{position:absolute;width:clamp(150px,15.5vw,220px);height:auto;top:128px;overflow:visible}
.hero-decor-left{left:clamp(20px,3.5vw,52px)}
.hero-decor-right{right:clamp(20px,3.5vw,52px);top:153px}
@media(max-width:1100px){.hero-decor{width:150px;top:148px}.hero-decor-left{left:13px}.hero-decor-right{right:13px;top:177px}}
@media(max-width:1000px){.hero-artwork{display:none}}
.tool-hero .hero-description{max-width:660px;margin-inline:auto}

/* The link form: one white pill, the button inside it. */
.tool-form{display:flex;align-items:center;gap:8px;max-width:760px;margin:36px auto 0;padding:7px 7px 7px 26px;background:#fff;border:1px solid #dedede;border-radius:99px;box-shadow:0 18px 45px #0000000a;transition:border-color .2s,box-shadow .2s}
.tool-form:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #3478f51f,0 18px 45px #0000000a}
.tool-form input{flex:1;min-width:0;border:0;background:transparent;padding:14px 0;font-size:17px;color:var(--ink);text-overflow:ellipsis}
.tool-form input:focus-visible{outline:none}
.tool-form input::placeholder{color:#8a8a8a}
.tool-form .button{min-height:54px;padding:14px 26px;font-size:16px}
.tool-form .button:disabled{cursor:progress;opacity:.75;transform:none;box-shadow:none}
.tool-hero .hero-note{margin-top:16px}

/* The result. */
.tool-result{max-width:880px;margin:36px auto 0;text-align:left}
.tool-result:empty{display:none}
.tool-result:focus{outline:none}
.tool-card{background:#fff;border:1px solid #e8e8e8;border-radius:18px;box-shadow:0 2px 4px #00000005;padding:24px 26px}
.tool-result>*+*{margin-top:14px}

.tool-status{display:flex;align-items:center;gap:16px}
.tool-status p{font-size:15px;font-weight:500}
.tool-status small{display:block;font-size:13px;font-weight:400;color:#6b6b6b;margin-top:2px}
.spinner{width:24px;height:24px;flex-shrink:0;border-radius:50%;border:2.5px solid #dbe6fb;border-top-color:var(--blue);animation:tool-spin .9s linear infinite}
@keyframes tool-spin{to{transform:rotate(360deg)}}
.skeleton{display:grid;gap:10px;margin-top:20px}
.skeleton i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#f7f7f7 50%,#f0f0f0 75%);background-size:200% 100%;animation:tool-shimmer 1.4s ease-in-out infinite}
.skeleton i:nth-child(2){width:92%}.skeleton i:nth-child(3){width:78%}
@keyframes tool-shimmer{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.spinner,.skeleton i{animation:none}}

.tool-error{display:flex;align-items:flex-start;gap:12px;background:#fffaf0;border-color:#f3e1b9}
.tool-error .icon{color:#b7791f;margin-top:1px}
.tool-error p{font-size:15px;font-weight:500;line-height:1.6}
.tool-error small{display:block;font-weight:400;color:#5c5c5c;margin-top:4px}

.reel-card{display:flex;align-items:center;gap:18px;padding:16px 20px}
.reel-cover{width:64px;height:114px;flex-shrink:0;border-radius:10px;object-fit:cover;background:#eceff3}
.reel-cover[hidden]+.reel-text{padding-block:6px}
.reel-text{min-width:0}
.reel-who{font-size:16px;font-weight:600;letter-spacing:-.01em}
.reel-who a:hover{color:#2465d6}
.reel-caption{margin-top:3px;font-size:14px;line-height:1.55;color:#515151;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.reel-meta{margin-top:8px;font-size:12px;color:#6b6b6b}
.tool-turnstile{display:flex;justify-content:center;margin-top:14px}
.tool-turnstile:empty{display:none}
.reel-music{margin-top:4px;font-size:12px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reel-music::before{content:"♪ ";color:#2465d6}

.hook-card .eyebrow{display:flex;justify-content:space-between;gap:12px}
.hook-time{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.hook-text{margin-top:12px;font-size:26px;font-weight:600;line-height:1.4;letter-spacing:-.03em}

.tool-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:0}
.tool-stat{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:14px 16px;min-width:0}
.tool-stat dt{font-size:10px;font-weight:500;letter-spacing:.08em;color:#737373}
.tool-stat dd{margin:4px 0 0;font-size:19px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.transcript-head{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}
.transcript-head h2{font-size:22px;letter-spacing:-.03em}
.tool-actions{display:flex;flex-wrap:wrap;gap:8px}
.chip-button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 14px;border:1px solid #dedede;border-radius:99px;background:#fff;font-size:13px;font-weight:600;color:var(--ink)}
.chip-button .icon{width:16px;height:16px}
.chip-button:hover{color:#2465d6;border-color:#c9d8f5}
.chip-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.chip-button:disabled{opacity:.45;cursor:default}
.transcript-body{padding-top:18px;font-size:17px;line-height:1.75;color:#1d1d1d}
.transcript-body p+p{margin-top:14px}
.transcript-body ol{list-style:none;margin:0;padding:0}
.transcript-body li{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:5px 0}
.transcript-body time{padding-top:3px;font-size:13px;color:#6b6b6b;font-variant-numeric:tabular-nums}
.transcript-empty{color:#515151}
.transcript-empty blockquote{margin:14px 0 0;padding:14px 18px;border-left:3px solid var(--green);background:#f7f9f5;border-radius:0 10px 10px 0;color:#1d1d1d;white-space:pre-line}

.next-step{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;border-radius:18px;background:#eaf1fd}
.next-step h2{margin-top:10px;font-size:24px;letter-spacing:-.035em}
.next-step p:not(.eyebrow){margin-top:8px;max-width:470px;font-size:15px;line-height:1.7;color:#454545}
.next-step-action{text-align:center;flex-shrink:0}
.next-step-action small{display:block;margin-top:10px;font-size:11px;color:#5d6b80}
.tool-left{font-size:12px;color:#6b6b6b;text-align:center}

/* The explainer, on the landing's 1180px grid. */
.tool-section{padding-top:112px}
.tool-section .section-intro h2{font-size:45px}
.tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:52px}
.tool-grid article{background:#fff;border-radius:18px;padding:26px 24px;box-shadow:0 2px 4px #00000005}
.tool-grid .icon{color:var(--blue)}
.tool-grid h3{margin-top:20px;font-size:19px;letter-spacing:-.025em}
.tool-grid p{margin-top:8px;font-size:15px;line-height:1.75;color:#515151}
.tool-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:52px 0 0;padding:0}
.tool-steps li{display:flex;gap:16px;background:#fff;border-radius:18px;padding:26px 24px;box-shadow:0 2px 4px #00000005}
.tool-steps li>span{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--green);font-size:14px;font-weight:600}
.tool-steps h3{font-size:19px;letter-spacing:-.025em;margin-top:3px}
.tool-steps p{margin-top:8px;font-size:15px;line-height:1.75;color:#515151}
.tool-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:15px;padding:26px 30px;border-radius:18px;background:#eaf1fd}
.tool-callout h3{font-size:19px;letter-spacing:-.025em}
.tool-callout p{margin-top:6px;font-size:15px;line-height:1.7;color:#454545;max-width:640px}
.tool-callout .text-link{flex-shrink:0;color:var(--blue)}
.tool-callout .button{flex-shrink:0}
.tool-limits{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:52px 0 0;padding:0}
.tool-limits li{background:#fff;border-radius:18px;padding:24px;box-shadow:0 2px 4px #00000005;font-size:15px;line-height:1.75;color:#515151}
.tool-limits strong{display:block;margin-bottom:4px;font-size:17px;letter-spacing:-.02em;color:var(--ink)}
.faq details a{color:var(--blue)}
.tool-updated{margin-top:12px;text-align:center;font-size:12px;color:#6b6b6b}

@media(max-width:1150px){
 .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tool-section .section-intro h2{font-size:39px}
}
@media(max-width:900px){
 .tool-section{padding-top:88px}
 .tool-section .section-intro h2{font-size:34px}
 .tool-steps{grid-template-columns:1fr}
 .tool-callout{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(max-width:650px){
 .tool-hero .hero-copy{padding-top:45px}
 .tool-hero .hero-description br{display:none}
 .tool-form{flex-direction:column;align-items:stretch;gap:6px;padding:8px;border-radius:22px;margin-top:28px}
 .tool-form input{padding:12px 14px;font-size:16px}
 .tool-form .button{width:100%;min-height:52px}
 .tool-result{margin-top:28px}
 .tool-card{padding:20px}
 .reel-card{padding:14px 16px;gap:14px}
 .reel-cover{width:54px;height:96px}
 .hook-text{font-size:21px}
 .tool-stats{gap:10px}
 .tool-stat dd{font-size:17px}
 .tool-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .chip-button{justify-content:center}
 .transcript-body{font-size:16px}
 .next-step{flex-direction:column;align-items:stretch;padding:24px 22px}
 .next-step-action .button{width:100%}
 .tool-section{padding-top:72px}
 .tool-section .section-intro h2{font-size:30px}
 .tool-grid,.tool-limits{grid-template-columns:1fr;margin-top:32px}
 .tool-steps{margin-top:32px}
}

/* The breadcrumb above each tool's title (Free tools / the tool), in the eyebrow's place. */
.tool-crumbs{display:block;text-transform:uppercase}
.tool-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid #c9c9c9}
.tool-crumbs a:hover,.tool-crumbs a:focus-visible{color:var(--ink);border-color:currentColor}

/* "More free Instagram tools": the other tools, before the footer of every tool page. */
.more-tools{padding-block:72px 24px}
.more-tools-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}
.more-tools-head h2{font-size:30px;line-height:1.15}
.more-tools-head a{font-weight:600;color:var(--blue);text-decoration:none;white-space:nowrap}
.more-tools-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.more-tools-card{display:flex;flex-direction:column;gap:12px;height:100%;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.more-tools-card:hover,.more-tools-card:focus-visible{border-color:var(--blue);box-shadow:0 8px 24px #0000000f;transform:translateY(-2px)}
.more-tools-card strong{display:block;font-size:16px;line-height:1.3;margin-bottom:4px}
.more-tools-card strong+span{display:block;font-size:14px;line-height:1.45;color:var(--muted)}
.more-tools .tool-index-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px}
.more-tools .tool-index-icon .icon{width:21px;height:21px;stroke-width:1.9}
.more-tools .tool-index-icon.is-blue{background:#ebf1fc;color:#3e68ad}
.more-tools .tool-index-icon.is-green{background:#edf5e7;color:#4f7d3c}
@media(max-width:700px){.more-tools{padding-block:56px 16px}.more-tools-list{gap:10px}.more-tools-card{flex-direction:row;align-items:center;gap:14px;padding:14px 16px}.more-tools .tool-index-icon{flex:none}.more-tools-head{flex-direction:column;gap:8px}.more-tools-head h2{font-size:26px}}
