/* ============================================================
   ThumbCrafted — Reusable Tool-Page Visual System
   ------------------------------------------------------------
   Dark SaaS visual system shared across every tool page.
   Include in page <head> via:
     <link rel="stylesheet" href="/css/tool-page.css">

   WHAT'S IN HERE (shared, don't duplicate in pages):
     - Palette CSS variables
     - Base body styles
     - Hero + featured snippet + feature pills + skip link
     - Canonical specs card + micro-CTA
     - Section card wrapper
     - Safe Zone preview mock
     - Fix-your-X action block
     - Rhythm divider
     - FAQ (dark card variant)
     - Related-tools tile grid
     - Responsive breakpoints for all of the above

   WHAT STAYS PAGE-SPECIFIC (per-tool HTML/CSS):
     - Nav + header chrome
     - Tool logic CSS: upload box, results, preview tabs, phone-frame,
       safe-zone overlay, analysis verdicts (check-item, .verdict, etc.)
     - Actual specs values (content, not layout)
     - Featured-snippet sentence text
     - Safe-zone mock aspect ratio / zone sizes if non-9:16 (override
       via inline style on .sz-mock-screen and .sz-mock-safe)
     - Related-tool link list
     - Page-unique tweaks
   ============================================================ */

/* ─── Palette ─── */
:root{
  --bg-page:#0B0F14;
  --card:#121821;
  --panel:#11161D;
  --border-soft:#1E2935;
  --border-subtle:#1A222C;
  --text-bright:#E6EDF3;
  --text-secondary:#C9D1D9;
  --text-muted:#7B8A9A;
  --cyan:#00C2FF;
  --cyan-glow:rgba(0,194,255,0.22);
  --cyan-soft:rgba(0,194,255,0.08);
  --green-bright:#00FFA3;
}

/* ─── Base body ─── */
body{background:var(--bg-page);color:var(--text-bright);letter-spacing:-0.005em}

/* ─── Hero ─── */
.hero{text-align:center;padding:44px 20px 12px;max-width:720px;margin:0 auto}
.hero h1{font-size:30px;font-weight:800;line-height:1.15;color:var(--text-bright);letter-spacing:-0.5px;margin-bottom:12px}
.hero h1 span{color:var(--cyan)}
.hero > p{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:580px;margin-left:auto;margin-right:auto}
@media(max-width:600px){.hero{padding:32px 20px 10px}.hero h1{font-size:24px}}

/* ─── Featured-snippet sentence (plain text, direct query answer) ─── */
.snippet-answer{font-size:17px;font-weight:600;color:var(--text-bright);max-width:680px;margin:14px auto 0;padding:0 20px;line-height:1.5;text-align:center}
.snippet-answer strong{color:var(--cyan);font-weight:800}
@media(max-width:600px){.snippet-answer{font-size:15px}}

/* ─── Feature pills ─── */
.hero-pill{display:inline-block;font-size:10.5px;font-weight:600;color:#9EDFF7;background:transparent;border:1px solid rgba(0,194,255,0.22);padding:5px 11px;border-radius:18px;letter-spacing:0.15px;transition:all .15s}
.hero-pill:hover{background:rgba(0,194,255,0.06);border-color:rgba(0,194,255,0.42)}

/* ─── Skip-to-specs utility ─── */
.skip-specs{display:inline-block;margin-top:14px;font-size:11px;font-weight:600;color:#9EDFF7;background:transparent;border:1px solid var(--cyan-glow);padding:6px 14px;border-radius:16px;text-decoration:none;transition:all .15s}
.skip-specs:hover{background:var(--cyan-soft);border-color:var(--cyan);color:var(--cyan)}

/* ─── Canonical specs card (single source of truth, centerpiece) ─── */
.specs-card{max-width:900px;margin:22px auto 20px;padding:28px 30px;background:var(--card);border:1px solid var(--border-soft);border-radius:16px;box-shadow:0 0 0 1px rgba(0,194,255,0.08),0 12px 48px rgba(0,0,0,0.25)}
.specs-card-head{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.specs-card-head h2{font-size:20px;font-weight:800;color:var(--text-bright);margin:0;letter-spacing:-0.3px}
.specs-icon{font-size:22px;line-height:1;flex-shrink:0}
.specs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.specs-grid .spec{background:rgba(255,255,255,0.02);border:1px solid var(--border-soft);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0;transition:all .15s}
.specs-grid .spec:hover{border-color:rgba(0,194,255,0.38);background:rgba(0,194,255,0.04)}
.spec-k{font-size:10px;color:var(--text-muted);letter-spacing:0.1em;font-weight:700;text-transform:uppercase}
.spec-v{font-size:21px;font-weight:600;color:var(--text-bright);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.15}
.spec-v .spec-u{font-size:11px;color:var(--text-muted);font-weight:500;margin-left:2px}
.specs-foot{font-size:12.5px;color:var(--text-muted);padding-top:14px;border-top:1px solid var(--border-subtle);text-align:center;margin:0;line-height:1.5}
@media(max-width:760px){.specs-card{padding:22px 22px;margin:18px auto}.specs-card-head h2{font-size:18px}.specs-grid{grid-template-columns:repeat(3,1fr)}.spec-v{font-size:18px}}
@media(max-width:480px){.specs-grid{grid-template-columns:repeat(2,1fr)}.spec-v{font-size:16px}}
@media(max-width:340px){.specs-grid{grid-template-columns:1fr}}

/* ─── Micro-CTA under specs ─── */
.specs-cta{max-width:900px;margin:-4px auto 40px;padding:0 20px;text-align:center}
.specs-cta-text{font-size:13.5px;color:var(--text-secondary);line-height:1.55;margin:0 0 14px}
.specs-cta-text strong{color:var(--text-bright);font-weight:700}
.specs-cta-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#00C2FF 0%,#00FFA3 100%);color:#002014;border:none;padding:13px 22px;border-radius:10px;font-size:13.5px;font-weight:700;letter-spacing:0.2px;text-decoration:none;box-shadow:0 4px 20px rgba(0,194,255,0.22),0 2px 10px rgba(0,255,163,0.14);transition:all .2s}
.specs-cta-btn:hover{background:linear-gradient(135deg,#2bd0ff 0%,#2bffb4 100%);box-shadow:0 8px 32px rgba(0,194,255,0.38),0 4px 14px rgba(0,255,163,0.22);transform:translateY(-2px);color:#001a14}
.specs-cta-btn svg{transition:transform .15s}
.specs-cta-btn:hover svg{transform:translateX(3px)}

/* ─── Section card (wraps longform content sections) ─── */
.section-card{max-width:760px;margin:0 auto 22px;padding:28px 30px;background:var(--card);border:1px solid var(--border-soft);border-radius:14px}
.section-card h2{font-size:18px;font-weight:800;color:var(--text-bright);margin:0 0 14px;letter-spacing:-0.2px}
.section-card p{font-size:13.5px;color:var(--text-secondary);line-height:1.7;margin-bottom:14px}
.section-card p:last-child{margin-bottom:0}
.section-card ul,.section-card ol{font-size:13.5px;color:var(--text-secondary);line-height:1.8;padding-left:22px;margin-bottom:14px}
.section-card li{margin-bottom:8px}
.section-card li strong{color:var(--text-bright);font-weight:700}
.section-card a{color:var(--cyan);text-decoration:none}
.section-card a:hover{text-decoration:underline;color:#2bd0ff}
.section-card .issue{padding:14px 0;border-bottom:1px solid var(--border-subtle)}
.section-card .issue:first-of-type{padding-top:2px}
.section-card .issue:last-of-type{padding-bottom:0;border-bottom:0}
.section-card .issue-title{font-size:13.5px;font-weight:700;color:var(--text-bright);margin:0 0 6px}
.section-card .issue-body{font-size:13px;color:var(--text-secondary);line-height:1.65;margin:0}
@media(max-width:600px){.section-card{padding:22px 22px;margin-bottom:18px}.section-card h2{font-size:16px}}

/* ─── Rhythm divider between major blocks ─── */
.rhythm-div{border:0;border-top:1px solid var(--border-subtle);margin:30px auto;max-width:760px}

/* ─── Safe Zone preview block (static mock) ───
   Default: 9:16 vertical, 14% top / 66% mid / 20% bottom zones.
   Override for other aspect ratios or zone sizes via inline style
   on .sz-mock-screen and .sz-mock-safe:
     .sz-mock-screen style="aspect-ratio:16/9"  (Facebook cover, etc.)
     .sz-mock-safe style="top:10%;height:75%"  (custom zone sizes)
*/
.sz-block{max-width:760px;margin:24px auto 30px;padding:28px 30px 26px;background:var(--card);border:1px solid var(--border-soft);border-radius:14px;text-align:center}
.sz-block h2{font-size:18px;font-weight:800;color:var(--text-bright);margin:0 0 6px;letter-spacing:-0.2px}
.sz-block > p{font-size:12.5px;color:var(--text-muted);margin:0 0 22px;line-height:1.5}
.sz-mock{display:inline-flex;flex-direction:column;width:170px;background:#000;border-radius:22px;padding:7px;box-shadow:0 14px 36px rgba(0,0,0,0.45)}
.sz-mock-screen{position:relative;aspect-ratio:9/16;border-radius:15px;overflow:hidden;background:linear-gradient(160deg,#1a2433 0%,#0f1521 100%)}
.sz-mock-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:55px;height:14px;background:#000;border-radius:0 0 10px 10px;z-index:5}
.sz-mock-top,.sz-mock-bottom{position:absolute;left:0;right:0;background:rgba(239,68,68,0.28);display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:700;color:#fff;letter-spacing:0.06em;text-transform:uppercase}
.sz-mock-top{top:0;height:14%;border-bottom:1px solid rgba(239,68,68,0.45)}
.sz-mock-bottom{bottom:0;height:20%;border-top:1px solid rgba(239,68,68,0.45)}
.sz-mock-safe{position:absolute;top:14%;left:6px;right:6px;height:66%;border:2px dashed rgba(0,255,163,0.6);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:8.5px;font-weight:800;color:#00FFA3;letter-spacing:0.06em;box-sizing:border-box;text-align:center;padding:6px}
.sz-mock-safe .sz-sub{font-size:7.5px;font-weight:500;color:rgba(0,255,163,0.75);letter-spacing:0.04em}
.sz-legend{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:20px;font-size:11.5px}
.sz-legend-item{display:flex;align-items:center;gap:7px;color:var(--text-secondary)}
.sz-legend-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}
.sz-legend-swatch.danger{background:rgba(239,68,68,0.3);border:1px solid rgba(239,68,68,0.6)}
.sz-legend-swatch.safe{background:rgba(0,255,163,0.18);border:2px dashed rgba(0,255,163,0.6)}

/* ─── Fix-your-X action block (diagnostic conversion shortcuts) ─── */
.fix-block{max-width:760px;margin:0 auto 32px;padding:24px 26px;background:var(--card);border:1px solid var(--border-soft);border-radius:14px;text-align:center}
.fix-block h2{font-size:15.5px;font-weight:800;color:var(--text-bright);margin:0 0 4px;letter-spacing:-0.2px}
.fix-block > p{font-size:12px;color:var(--text-muted);margin:0 0 18px;line-height:1.5}
.fix-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.fix-pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--text-secondary);background:var(--panel);border:1px solid var(--border-soft);padding:10px 15px;border-radius:10px;text-decoration:none;transition:all .15s}
.fix-pill:hover{color:var(--cyan);border-color:rgba(0,194,255,0.5);background:var(--cyan-soft);transform:translateY(-1px)}
.fix-pill svg{opacity:0.75}
.fix-pill:hover svg{opacity:1}

/* ─── FAQ (dark card consistent) ─── */
.faq{max-width:760px;margin:0 auto;padding:0 20px 30px}
.faq > h2{font-size:18px;font-weight:800;color:var(--text-bright);margin:0 0 16px;letter-spacing:-0.2px;text-align:center}
.faq-item{border:1px solid var(--border-soft);background:var(--card);border-radius:12px;margin-bottom:8px;overflow:hidden}
.faq-q{padding:14px 18px;font-size:13.5px;font-weight:700;color:var(--text-bright);background:transparent;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-q:hover{background:rgba(255,255,255,0.02)}
.faq-item.open .faq-q{border-bottom:1px solid var(--border-subtle)}
.faq-a{padding:0 18px;font-size:13px;color:var(--text-secondary);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
.faq-item.open .faq-a{max-height:320px;padding:14px 18px 16px}
.faq-a a{color:var(--cyan);text-decoration:none}
.faq-a a:hover{text-decoration:underline}
.arrow{transition:transform .2s;font-size:10px}
.faq-item.open .arrow{transform:rotate(180deg)}

/* ─── Related tools tile grid ─── */
.related-tools{max-width:760px;margin:0 auto;padding:0 20px 36px}
.related-tools-title{font-size:16px;font-weight:800;color:var(--text-bright);margin:0 0 14px;letter-spacing:-0.2px;text-align:center}
.tool-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.tool-tile{background:var(--card);border:1px solid var(--border-soft);border-radius:12px;padding:16px 18px;text-decoration:none;transition:all .15s;display:block}
.tool-tile:hover{border-color:rgba(0,194,255,0.45);background:rgba(0,194,255,0.03);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,0.2)}
.tool-tile-name{font-size:13px;font-weight:700;color:var(--text-bright);margin:0 0 4px;letter-spacing:-0.1px}
.tool-tile-desc{font-size:11.5px;color:var(--text-muted);line-height:1.5;margin:0}
@media(max-width:560px){.tool-tiles{grid-template-columns:1fr}}
