/* ==========================================================================
   SocialToolsHQ stylesheet
   1. Tokens + light/dark   2. Per-tool themes   3. Base   4. Header/nav
   5. Hero + buttons   6. Cards   7. Tool box + results table   8. Content
   9. Recommended   10. Subscribe   11. Footer   12. Forms/utilities
   ========================================================================== */

/* 1. TOKENS. Dark is default; html[data-mode="light"] switches them. ------- */
:root{--r:14px;--head:'Bricolage Grotesque',system-ui,sans-serif;--body:'DM Sans',system-ui,sans-serif}
body{--bg:var(--d-bg);--panel:var(--d-panel);--line:var(--d-line);--text:#eceefb;--muted:#a3a9c9;--ak:var(--a);--ok:#4ade80;--warn:#fbbf24;--bad:#ff6b81}
[data-mode="light"] body{--bg:var(--l-bg);--panel:var(--l-panel);--line:var(--l-line);--text:#161a33;--muted:#59607f;--ak:var(--akl);--ok:#12803f;--warn:#a15c00;--bad:#c4203f}

/* 2. THEMES. a/b = accents, on = text on buttons, d-* dark surfaces, l-* light surfaces, akl = accent for text on light */
.t-home     {--a:#7c5cff;--b:#ff7a59;--on:#fff;   --d-bg:#0f1222;--d-panel:#181c33;--d-line:#2a3050;--l-bg:#f6f5ff;--l-panel:#fff;--l-line:#dcd9f3;--akl:#5a3fe0}
.t-tt-region{--a:#2de2c4;--b:#ff4f81;--on:#04201b;--d-bg:#08161a;--d-panel:#10272d;--d-line:#1d4048;--l-bg:#effbf9;--l-panel:#fff;--l-line:#cfeae5;--akl:#0b8a77}
.t-ig-region{--a:#ffb347;--b:#ff5fa2;--on:#2a1600;--d-bg:#1a1209;--d-panel:#2a1d10;--d-line:#4a3320;--l-bg:#fff8ee;--l-panel:#fff;--l-line:#f0dcc2;--akl:#b05d00}
.t-tt-live  {--a:#ff4d6d;--b:#ffd166;--on:#fff;   --d-bg:#1a0a12;--d-panel:#2b1220;--d-line:#4d1f37;--l-bg:#fff2f5;--l-panel:#fff;--l-line:#f3cdd7;--akl:#d11a40}
.t-tt-post  {--a:#4cc9f0;--b:#d946ef;--on:#031a26;--d-bg:#091526;--d-panel:#102340;--d-line:#1d3d6b;--l-bg:#eef8fd;--l-panel:#fff;--l-line:#cde4f2;--akl:#0a7fa6}
.t-clean    {--a:#b8f23d;--b:#3a86ff;--on:#16230a;--d-bg:#0d1710;--d-panel:#15251a;--d-line:#25422c;--l-bg:#f4faea;--l-panel:#fff;--l-line:#d6e6bd;--akl:#4a7a00}

/* 3. BASE ------------------------------------------------------------------ */
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.65 var(--body);transition:background .2s,color .2s}
a{color:var(--ak)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--b);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.bar{max-width:1200px;margin:0 auto}
h1,h2,h3,h4{font-family:var(--head);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:1.55rem;margin-top:2em}h3{font-size:1.2rem;margin-top:1.4em}h4{font-size:1.05rem}
.muted{color:var(--muted)}
.skip{position:absolute;left:-999px;top:8px;background:var(--a);color:var(--on);padding:8px 14px;border-radius:8px;z-index:20}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 4. HEADER / NAV / DROPDOWN / MODE TOGGLE / HAMBURGER --------------------- */
.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:30}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px;max-width:1200px;padding:0 20px}
.bar-left{display:flex;align-items:center;gap:18px}
.brand{font:800 1.15rem var(--head);color:var(--text);text-decoration:none;flex-shrink:0}.brand b{color:var(--ak)}
.mode{background:var(--panel);border:1px solid var(--line);color:var(--text);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.15rem;display:grid;place-items:center;flex-shrink:0}
.mode:hover{border-color:var(--a)}
.mode .i-sun{display:none}[data-mode="light"] .mode .i-sun{display:inline}[data-mode="light"] .mode .i-moon{display:none}
.burger{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--panel);display:grid;place-content:center;gap:5px;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:4px 20px 14px;box-shadow:0 18px 30px rgba(0,0,0,.25)}
nav.open{display:flex}
nav>a,.dd>a{color:var(--text);text-decoration:none;font-weight:500;padding:13px 0;border-bottom:1px solid var(--line)}
.nav-cta{display:none}
.dd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.dd>a{flex:1;border:0}
.dd-btn{background:none;border:0;color:var(--text);cursor:pointer;padding:13px 6px 13px 20px;display:flex}
.dd-btn svg{transition:transform .2s}.dd-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.dd-menu{display:none;width:100%;margin:0 0 10px;padding:6px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.dd.open .dd-menu{display:block}
.dd-menu a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500}
.dd-menu a:hover{background:var(--bg)}
.btn.sm{padding:9px 18px;font-size:.92rem;box-shadow:3px 3px 0 var(--b)}
#subscribe{scroll-margin-top:70px}

/* desktop: brand + mode toggle left | nav + subscribe right */
@media (min-width:960px){
  .burger{display:none}
  nav{position:static;display:flex;flex-direction:row;align-items:center;gap:22px;padding:0;border:0;box-shadow:none;background:none;margin-left:auto}
  nav>a,.dd>a{padding:0;border:0;color:var(--muted)}
  nav>a:hover,.dd>a:hover{color:var(--text)}
  .nav-cta{display:inline-block}
  .dd{position:relative;flex-wrap:nowrap;justify-content:flex-start;border:0;gap:2px}
  .dd>a{flex:none}
  .dd-btn{padding:6px;color:var(--muted);border-radius:6px}.dd-btn:hover{color:var(--text)}
  .dd-menu{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:auto;min-width:240px;margin:0;box-shadow:0 14px 32px rgba(0,0,0,.28)}
}

/* 5. HERO + BUTTONS (centred; homepage hero has a distinct background) ------ */
.hero{padding:56px 0 44px;text-align:center;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--a) 20%,transparent),transparent 70%)}
/* Homepage hero: richer layered background so it feels distinct from tool heroes */
.hero-home{background:linear-gradient(160deg,color-mix(in srgb,var(--a) 18%,var(--bg)) 0%,var(--bg) 55%,color-mix(in srgb,var(--b) 12%,var(--bg)) 100%);border-bottom:3px solid color-mix(in srgb,var(--a) 40%,var(--line))}
/* NO underline on hero h1 — only sub-section h2s get the gradient bar */
.hero h1::after{display:none}
.hero p{color:var(--muted);max-width:62ch;font-size:1.1rem;margin:18px auto 0}
.hero .btn{margin-top:26px}
.btn{display:inline-block;background:var(--a);color:var(--on);border:0;border-radius:10px;padding:12px 22px;font:700 1rem var(--body);cursor:pointer;text-decoration:none;box-shadow:4px 4px 0 var(--b)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--b)}
.btn.ghost{background:transparent;color:var(--ak);border:2px solid var(--a);box-shadow:none}
/* centred section headings with a gradient underline (tool, home and recommended sections; legal pages stay left) */
main:not(.page) h2,.subscribe h2{text-align:center}
main:not(.page) h2::after,.subscribe h2::after{content:"";display:block;width:72px;height:5px;margin:12px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--a),var(--b))}

/* 6. CARDS (homepage) ------------------------------------------------------ */
.arrow{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--a);color:var(--on);transition:transform .2s}
.arrow svg{width:18px;height:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px}
.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;color:var(--text);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(0,0,0,.18);border-color:var(--a)}
.card-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.card-head h3{margin:0}
.card-ico{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--ak);background:color-mix(in srgb,var(--a) 15%,var(--bg));border:1px solid color-mix(in srgb,var(--a) 30%,var(--line))}
.card-ico svg{width:26px;height:26px}
.card h3{margin:0 0 .35em}.card p{color:var(--muted);margin:0 0 20px;flex:1}
.card-cta{display:flex;align-items:center;justify-content:space-between;color:var(--ak);font-weight:700;font-size:.93rem;padding-top:12px;border-top:1px solid var(--line)}
.card:hover .arrow{transform:translateX(4px)}

/* 7. TOOL BOX + RESULTS ---------------------------------------------------- */
.tool-box{background:var(--panel);border:1px solid var(--line);border-top:5px solid var(--a);border-radius:var(--r);padding:24px;margin:32px 0}
.tool-box label{display:block;font-weight:700;margin-bottom:10px;text-align:center}
.row{display:flex;gap:12px;flex-wrap:wrap}
input[type=text],input[type=email],input[type=url],textarea,select{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:1rem var(--body)}
.row input{flex:1 1 260px;width:auto}
.out{margin-top:20px}.out:empty{display:none}
.out iframe{width:100%;max-width:340px;height:620px;border:0;border-radius:12px;display:block;margin-top:16px;background:var(--bg)}
.out .copy,.out .btn{margin-top:14px}
.msg{margin:10px 0 0;min-height:1.2em;font-size:.95rem}.msg:empty{display:none}
.msg.ok{color:var(--ok)}.msg.error{color:var(--bad)}.msg.info{color:var(--muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
table.results{width:100%;border-collapse:collapse;font-size:.97rem}
table.results caption{text-align:left;font:700 1.05rem var(--head);padding:14px 16px;border-bottom:1px solid var(--line);caption-side:top}
table.results th,table.results td{padding:11px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);word-break:break-word}
table.results thead th{background:var(--panel);color:var(--muted);font-size:.85rem}
table.results tbody th{width:32%;color:var(--muted);font-weight:500}
table.results tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel) 60%,transparent)}
table.results tbody tr:last-child>*{border-bottom:0}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.82rem;font-weight:700;border:1px solid currentColor}
.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.badge.info{color:var(--ak)}
.table-wrap+.note,.note{font-size:.9rem;color:var(--muted);margin-top:10px}

/* 8. CONTENT (intro, steps, sub-sections, FAQ, callouts) ------------------- */
.prose{max-width:780px;margin:0 auto}.prose li{margin-bottom:.45em}
.prose .lead{font-size:1.15rem;color:var(--text);text-align:center}
.prose h3{text-align:center}.prose h3::after{content:"";display:block;width:44px;height:3px;margin:8px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--a),var(--b))}
.prose blockquote{margin:1.2em 0;padding:12px 18px;border-left:4px solid var(--b);background:var(--panel);border-radius:0 10px 10px 0;color:var(--muted)}
.prose table{width:100%;border-collapse:collapse;margin:1em 0}.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left}.prose th{background:var(--panel)}
.steps{list-style:none;counter-reset:s;padding:0}
.steps li{counter-increment:s;position:relative;padding:12px 14px 12px 56px;margin-bottom:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.steps li::before{content:counter(s);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--a);color:var(--on);font:800 .95rem var(--head);display:grid;place-items:center}
.callout{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--b);border-radius:12px;padding:14px 18px}
.callout ul{margin:0;padding-left:20px}
details{border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin-bottom:10px;background:var(--panel)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--ak);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:.7em 0 0;color:var(--muted)}
.page{max-width:780px;padding:40px 20px 20px}.page h1{font-size:2.2rem}.page .upd{color:var(--muted)}

/* 9. RECOMMENDED: swipeable carousel (tool pages only) ---------------------- */
.recommended{margin-top:64px}
.recommended .sub{text-align:center;color:var(--muted);margin:14px 0 8px}
.rec-wrap{position:relative}
.rec-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 20px 24px;margin:0 -20px;scrollbar-width:thin;scrollbar-color:var(--a) transparent;-webkit-overflow-scrolling:touch;scroll-padding:0 20px}
.rec-card{flex:0 0 min(300px,78%);scroll-snap-align:start;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;color:var(--text);text-decoration:none;transition:transform .2s,box-shadow .2s}
.rec-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,.25)}
.rec-bar{display:block;height:8px;background:linear-gradient(90deg,var(--a),var(--b))}
.rec-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rec-ico{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:var(--on);background:linear-gradient(135deg,var(--a),var(--b))}
.rec-ico svg{width:24px;height:24px}
.rec-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.rec-body h3{margin:0;font-size:1.1rem}
.rec-body p{color:var(--muted);font-size:.93rem;margin:0 0 18px;flex:1}
.rec-go{display:inline-flex;align-items:center;justify-content:space-between;font-weight:700;border-top:2px solid var(--a);padding-top:12px}
.rec-go .arrow{background:var(--a);color:var(--on)}
.rec-card:hover .arrow{transform:translateX(4px)}
.rec-nav{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:var(--a);color:var(--on);cursor:pointer;place-items:center;box-shadow:3px 3px 0 var(--b)}
.rec-nav.prev{left:-14px}.rec-nav.next{right:-14px}.rec-nav:disabled{opacity:0;pointer-events:none}
@media (min-width:760px){.rec-nav{display:grid}}

/* 10. SUBSCRIBE (every page, centred) -------------------------------------- */
.subscribe{margin-top:64px;padding:48px 0;text-align:center;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--a) 22%,var(--panel)),var(--panel));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sub-inner{max-width:640px}
.sub-inner h2{margin:0 0 .3em}.sub-inner p{color:var(--muted);margin:14px auto 22px}
.sub-form{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.sub-form input[type=email]{flex:1 1 240px;width:auto}
.sub-form .msg{flex-basis:100%;margin:0}
.sub-inner .powered{margin:14px 0 0;font-size:.8rem}

/* 11. FOOTER --------------------------------------------------------------- */
.site-footer{padding:40px 0 28px;background:var(--panel);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
@media(max-width:860px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}
.foot-col strong{display:block;font-family:var(--head);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}
.foot-col a{display:block;color:var(--text);text-decoration:none;font-size:.93rem;margin:5px 0;opacity:.75}.foot-col a:hover{opacity:1;color:var(--ak)}
.foot-translate strong{display:block;font-family:var(--head);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}
.legal{color:var(--muted);font-size:.82rem;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);text-align:center}

/* TRANSLATE (Google widget, now inside footer Change Language column) */
.goog-te-gadget{font-size:0!important;color:transparent!important}
.goog-te-gadget-simple{background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:10px;padding:8px 12px!important;font-size:.92rem!important}
.goog-te-gadget-simple span,.goog-te-gadget-simple a{color:var(--text)!important;text-decoration:none!important}
.goog-te-banner-frame,.skiptranslate>iframe.goog-te-banner-frame{display:none!important}
body{top:0!important}
.prose code{word-break:break-all;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.88rem}

/* 12. FORMS (contact etc.) ------------------------------------------------- */
.form label{display:block;font-weight:700;margin:14px 0 6px}.form textarea{min-height:140px;resize:vertical}

/* PLATFORM TAGS TABLE (cleaner page) */
table.results.data thead th{color:var(--text)}
table.results.data tbody th{width:18%;color:var(--text);font-weight:700}
code.tag{display:inline-block;margin:2px 4px 2px 0;padding:1px 8px;border-radius:6px;background:var(--panel);border:1px solid var(--line);color:var(--ak);font-size:.84rem}

/* HOME SECTIONS ------------------------------------------------------------- */
.home-section{margin-top:60px}
.home-section:first-child{margin-top:28px}
.section-sub{text-align:center;color:var(--muted);font-size:1.05rem;margin:6px auto 24px;max-width:60ch}

/* BLOG PREVIEW CARDS (3x3 on desktop, 1-col on mobile) ---------------------- */
.blog-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}
.blog-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;color:var(--text);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(0,0,0,.22);border-color:var(--a)}
.blog-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--a) 10%,var(--panel));display:block}
.blog-body{display:flex;flex-direction:column;flex:1;padding:20px}
.blog-meta-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;flex-wrap:wrap}
.blog-tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.72rem;font-weight:700;background:color-mix(in srgb,var(--a) 18%,transparent);color:var(--ak);border:1px solid color-mix(in srgb,var(--a) 35%,transparent);text-transform:uppercase;letter-spacing:.04em}
.blog-byline{font-size:.78rem;color:var(--muted)}
.blog-card h3{font-size:1.06rem;margin:0 0 10px;line-height:1.35}
.blog-card p{color:var(--muted);font-size:.9rem;line-height:1.55;flex:1;margin:0 0 16px}
.blog-cta{display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--ak);font-size:.9rem;padding-top:12px;border-top:1px solid var(--line)}
.blog-cta .arrow{background:var(--a);color:var(--on)}
.blog-card:hover .arrow{transform:translateX(4px)}
.tool-blog{margin-top:64px}
.faq-list{margin-top:24px}

/* RESPONSIVE + MOTION ------------------------------------------------------ */
@media (max-width:980px){.blog-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.blog-cards{grid-template-columns:1fr}}
@media (max-width:560px){.row .btn,.sub-form .btn{width:100%}.row input{flex-basis:100%}}
@media (max-width:760px){
  .hero{padding:38px 0 30px}
  table.results tbody th{width:40%}table.results.data{min-width:560px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}
