/* ── Reset ─────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}

/* ── CSS Variables (overridden per-page) ───────────────────────────────────── */
:root{
  --primary:#5B6AF0;--primary-dark:#4451d0;--primary-rgb:91,106,240;--primary-text:#fff;
  --bg:#f5f5f7;--surface:#fff;--surface2:#f0f0f4;--border:rgba(0,0,0,.1);
  --text:#111;--text2:#555;--text3:#999;--card-bg:#fff;
  --header-bg:#fff;--header-text:#111;--input-bg:#fff;--input-border:rgba(0,0,0,.18);
  --shadow:0 2px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 40px rgba(0,0,0,.14);
  --radius:14px;--radius-sm:8px;--gradient-btn:none;
}

/* ── Layout ────────────────────────────────────────────────────────────────── */
.container{width:100%;max-width:960px;margin:0 auto;padding:0 20px}
.container--narrow{max-width:720px}
.container--wide{max-width:1160px}

/* ── Header ────────────────────────────────────────────────────────────────── */
.site-header{background:var(--header-bg);color:var(--header-text);position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;color:var(--header-text);text-decoration:none}
.header-nav{display:flex;gap:20px}
.header-nav a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.88rem;font-weight:500;transition:color .2s}
.header-nav a:hover{color:#fff}

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.hero{text-align:center;padding:56px 20px 44px}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(var(--primary-rgb),.12);color:var(--primary);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin-bottom:20px}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.hero h1{font-size:clamp(1.9rem,4.5vw,2.9rem);font-weight:800;line-height:1.18;color:var(--text);margin-bottom:14px}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero p{font-size:clamp(.9rem,2vw,1.05rem);color:var(--text2);max-width:560px;margin:0 auto 32px}

/* ── Search box ────────────────────────────────────────────────────────────── */
.search-wrap{max-width:660px;margin:0 auto;position:relative}
.search-glow{position:absolute;inset:-4px;border-radius:calc(var(--radius) + 4px);background:rgba(var(--primary-rgb),.28);filter:blur(12px);opacity:0;transition:opacity .4s;pointer-events:none}
.search-box{display:flex;background:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:border-color .25s,box-shadow .25s}
.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15),var(--shadow)}
.search-box:focus-within~.search-glow{opacity:1}
.search-icon{display:flex;align-items:center;padding:0 12px 0 18px;color:var(--text3);flex-shrink:0}
.search-input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;color:var(--text);padding:15px 10px 15px 0;min-width:0}
.search-input::placeholder{color:var(--text3)}

.btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--gradient-btn,var(--primary));color:var(--primary-text);border:none;padding:15px 26px;font-size:.93rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s,transform .15s;flex-shrink:0}
.btn-primary:hover:not(:disabled){opacity:.9}
.btn-primary:active:not(:disabled){transform:scale(.97)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.spinner{width:17px;height:17px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-primary.loading .spinner{display:block}
.btn-primary.loading .btn-label{display:none}

/* ── Result card ───────────────────────────────────────────────────────────── */
#result{margin-top:28px}
.result-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .38s cubic-bezier(.22,1,.36,1)}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.result-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--surface2)}
.result-header svg{flex-shrink:0}
.result-status{font-weight:700;color:var(--text);font-size:.95rem}
.result-sub{font-size:.82rem;color:var(--text2);margin-top:2px}
.formats-wrap{padding:24px;display:flex;flex-direction:column;gap:16px}

/* ── Format/download cards ─────────────────────────────────────────────────── */
.format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.format-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--surface2);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all .2s;text-decoration:none;position:relative}
.format-card:hover{border-color:rgba(var(--primary-rgb),.45);background:rgba(var(--primary-rgb),.05);transform:translateY(-1px)}
.format-quality{font-weight:700;font-size:1rem;color:var(--text)}
.format-ext{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:rgba(var(--primary-rgb),.12);color:var(--primary);padding:2px 7px;border-radius:4px;width:fit-content}
.format-size{font-size:.78rem;color:var(--text3)}

.btn-download{display:inline-flex;align-items:center;gap:10px;background:var(--gradient-btn,var(--primary));color:var(--primary-text);border:none;padding:14px 34px;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 20px rgba(var(--primary-rgb),.3);transition:all .2s;text-decoration:none;width:100%;justify-content:center}
.btn-download:hover{opacity:.9;box-shadow:0 6px 28px rgba(var(--primary-rgb),.4);transform:translateY(-1px)}

/* ── Error ─────────────────────────────────────────────────────────────────── */
.error-box{display:none;align-items:center;gap:12px;background:#fff0f0;border:1px solid #fca5a5;color:#dc2626;padding:14px 18px;border-radius:var(--radius-sm);margin-top:14px;font-size:.9rem;font-weight:500}
.error-box.visible{display:flex}

/* ── Ad slots ──────────────────────────────────────────────────────────────── */
.ad-slot{text-align:center;margin:32px 0;min-height:90px}
.ad-slot-rect{min-height:250px}

/* ── Features ──────────────────────────────────────────────────────────────── */
.features{padding:60px 0}
.section-title{text-align:center;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;color:var(--text);margin-bottom:10px}
.section-sub{text-align:center;color:var(--text2);max-width:540px;margin:0 auto 44px}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.feature-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow)}
.feature-icon{width:46px;height:46px;border-radius:12px;background:rgba(var(--primary-rgb),.12);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--primary)}
.feature-card h3{font-size:.97rem;font-weight:700;color:var(--text);margin-bottom:7px}
.feature-card p{font-size:.86rem;color:var(--text2);line-height:1.65}

/* ── Steps ─────────────────────────────────────────────────────────────────── */
.howto{padding:0 0 60px}
.steps{display:flex;flex-direction:column;max-width:600px;margin:0 auto}
.step{display:flex;gap:18px;padding:16px 0 16px 28px;border-left:2px solid var(--border);margin-left:18px;position:relative}
.step:last-child{border-left-color:transparent}
.step-num{position:absolute;left:-17px;top:18px;width:32px;height:32px;border-radius:50%;background:var(--primary);color:var(--primary-text);font-weight:700;font-size:.83rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step h4{font-size:.92rem;font-weight:700;color:var(--text);margin-bottom:3px}
.step p{font-size:.85rem;color:var(--text2)}

/* ── FAQ ───────────────────────────────────────────────────────────────────── */
.faq{padding:0 0 68px}
.faq-list{display:flex;flex-direction:column;gap:8px;max-width:700px;margin:0 auto}
.faq-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-weight:600;font-size:.92rem;cursor:pointer;list-style:none;gap:12px;color:var(--text)}
.faq-q::-webkit-details-marker{display:none}
.faq-chevron{width:17px;height:17px;flex-shrink:0;color:var(--text3);transition:transform .25s}
details[open] .faq-chevron{transform:rotate(180deg)}
details[open] .faq-q{color:var(--primary)}
.faq-a{padding:0 20px 16px;color:var(--text2);font-size:.88rem;line-height:1.7}

/* ── Homepage platform cards ───────────────────────────────────────────────── */
.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;padding:0 0 72px}
.platform-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px 24px;background:var(--card-bg);border:2px solid transparent;border-radius:var(--radius);text-decoration:none;text-align:center;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s}
.platform-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.platform-card.fb:hover{border-color:#1877F2}
.platform-card.ig:hover{border-color:#E1306C}
.platform-card.tw:hover{border-color:#1D9BF0}
.platform-card.sc:hover{border-color:#FFFC00}
.platform-icon-wrap{width:68px;height:68px;border-radius:16px;display:flex;align-items:center;justify-content:center}
.platform-card h3{font-size:1.05rem;font-weight:700;color:var(--text)}
.platform-card p{font-size:.83rem;color:var(--text2);line-height:1.5}
.platform-btn{font-size:.8rem;font-weight:700;padding:7px 18px;border-radius:99px;border:none;cursor:pointer;text-decoration:none;display:inline-block}

/* ── Footer ────────────────────────────────────────────────────────────────── */
.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:36px 0 24px}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:18px}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 20px;justify-content:center}
.footer-links a{color:var(--text2);text-decoration:none;font-size:.85rem;transition:color .2s}
.footer-links a:hover{color:var(--primary)}
.footer-disclaimer{font-size:.76rem;color:var(--text3);text-align:center;max-width:580px;line-height:1.6}
.footer-copy{font-size:.8rem;color:var(--text3);text-align:center}

/* ── Tip box ───────────────────────────────────────────────────────────────── */
.tip-box{margin-top:16px;padding:12px 16px;background:rgba(var(--primary-rgb),.07);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-sm);font-size:.82rem;color:var(--text2);text-align:left;line-height:1.6}
.tip-box strong{color:var(--primary)}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media(max-width:640px){
  .search-box{flex-direction:column;border-radius:var(--radius)}
  .btn-primary{width:100%;justify-content:center;border-radius:var(--radius-sm)}
  .header-nav{display:none}
  .btn-download{width:100%}
  .hero{padding:36px 16px 28px}
  .format-grid{grid-template-columns:1fr 1fr}
}
