/* ── Reset ─────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
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;min-height:100vh}

/* ── CSS Variables ─────────────────────────────────────────────────────────── */
: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:10px;--radius-xs:7px;
}

/* ── Layout ────────────────────────────────────────────────────────────────── */
.container{width:100%;max-width:960px;margin:0 auto;padding:0 16px}
.container--narrow{max-width:700px}
.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 6px rgba(0,0,0,.16)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:54px;gap:12px}
.logo{display:flex;align-items:center;gap:9px;font-size:1rem;font-weight:700;color:var(--header-text);text-decoration:none;flex-shrink:0;white-space:nowrap}
.header-nav{display:flex;gap:16px;flex-wrap:nowrap}
.header-nav a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.82rem;font-weight:600;transition:color .2s;white-space:nowrap}
.header-nav a:hover{color:#fff}

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.hero{text-align:center;padding:44px 16px 36px}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(var(--primary-rgb),.12);color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin-bottom:18px}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}
.hero h1{font-size:clamp(1.7rem,5vw,2.8rem);font-weight:800;line-height:1.18;color:var(--text);margin-bottom:12px}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero>div>p{font-size:clamp(.88rem,2.5vw,1rem);color:var(--text2);max-width:520px;margin:0 auto 28px}

/* ── Search / form ─────────────────────────────────────────────────────────── */
.search-wrap{max-width:640px;margin:0 auto;position:relative}
.search-glow{position:absolute;inset:-4px;border-radius:calc(var(--radius)+4px);background:rgba(var(--primary-rgb),.26);filter:blur(14px);opacity:0;transition:opacity .4s;pointer-events:none;z-index:-1}
.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),.14)}
.search-box:focus-within~.search-glow{opacity:1}
.search-icon{display:flex;align-items:center;padding:0 10px 0 16px;color:var(--text3);flex-shrink:0}
.search-input{flex:1;border:none;outline:none;background:transparent;font-size:.97rem;color:var(--text);padding:14px 8px 14px 0;min-width:0}
.search-input::placeholder{color:var(--text3)}

/* Submit button */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--primary);color:var(--primary-text);border:none;padding:0 22px;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .18s,transform .12s;flex-shrink:0;height:52px;border-radius:0;margin:0}
.btn-primary:hover:not(:disabled){opacity:.88}
.btn-primary:active:not(:disabled){transform:scale(.97)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed}
.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:spin .68s linear infinite;display:none;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-primary.loading .spinner{display:block}
.btn-primary.loading .btn-label{display:none}

/* ── Result & error ────────────────────────────────────────────────────────── */
#result{margin-top:22px}

.result-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .34s cubic-bezier(.22,1,.36,1)}
@keyframes slideUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.result-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface2)}
.result-status{font-weight:700;color:var(--text);font-size:.94rem}
.result-sub{font-size:.79rem;color:var(--text2);margin-top:2px}

.formats-wrap{padding:20px}

.error-box{display:none;align-items:flex-start;gap:10px;background:#fff5f5;border:1px solid #fca5a5;color:#c53030;padding:13px 16px;border-radius:var(--radius-sm);margin-top:14px;font-size:.88rem;font-weight:500;line-height:1.55;text-align:left}
.error-box.visible{display:flex}
.error-box svg{flex-shrink:0;margin-top:1px}

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

/* Picker cards */
.picker-label{font-size:.84rem;color:var(--text2);margin-bottom:10px;font-weight:600}
.format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:0}
.format-card{display:flex;flex-direction:column;gap:5px;padding:14px 14px 12px;background:var(--surface2);border:2px solid transparent;border-radius:var(--radius-sm);text-align:left;text-decoration:none;transition:all .18s}
.format-card:hover{border-color:rgba(var(--primary-rgb),.4);background:rgba(var(--primary-rgb),.05);transform:translateY(-1px)}
.format-quality{font-weight:700;font-size:.96rem;color:var(--text)}
.format-ext{display:inline-block;font-size:.68rem;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;margin-top:2px}
.format-dl-hint{font-size:.76rem;color:var(--text3);margin-top:4px}

/* iOS note */
.ios-note{margin-top:14px;font-size:.79rem;color:var(--text2);background:rgba(var(--primary-rgb),.06);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-xs);padding:10px 13px;line-height:1.6}
.ios-note strong{color:var(--primary)}

/* Tip box */
.tip-box{margin-top:14px;padding:11px 14px;background:rgba(var(--primary-rgb),.07);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-xs);font-size:.79rem;color:var(--text2);line-height:1.6}
.tip-box strong{color:var(--primary)}

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

/* ── Features ──────────────────────────────────────────────────────────────── */
.features{padding:52px 0}
.section-title{text-align:center;font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:800;color:var(--text);margin-bottom:8px}
.section-sub{text-align:center;color:var(--text2);max-width:500px;margin:0 auto 36px;font-size:.92rem}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.feature-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:22px 18px;box-shadow:var(--shadow)}
.feature-icon{width:44px;height:44px;border-radius:12px;background:rgba(var(--primary-rgb),.12);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--primary)}
.feature-card h3{font-size:.94rem;font-weight:700;color:var(--text);margin-bottom:6px}
.feature-card p{font-size:.83rem;color:var(--text2);line-height:1.6}

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

/* ── FAQ ───────────────────────────────────────────────────────────────────── */
.faq{padding:52px 0}
.faq-list{display:flex;flex-direction:column;gap:7px;max-width:660px;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:15px 18px;font-weight:600;font-size:.9rem;cursor:pointer;list-style:none;gap:12px;color:var(--text)}
.faq-q::-webkit-details-marker{display:none}
.faq-chevron{width:16px;height:16px;flex-shrink:0;color:var(--text3);transition:transform .22s}
details[open] .faq-chevron{transform:rotate(180deg)}
details[open] .faq-q{color:var(--primary)}
.faq-a{padding:0 18px 14px;color:var(--text2);font-size:.86rem;line-height:1.7}

/* ── Homepage platform grid ────────────────────────────────────────────────── */
.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:14px;padding-bottom:64px}
.platform-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px 22px;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:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center}
.platform-card h3{font-size:1rem;font-weight:700;color:var(--text)}
.platform-card p{font-size:.81rem;color:var(--text2);line-height:1.5}
.platform-btn{font-size:.79rem;font-weight:700;padding:7px 18px;border-radius:99px;border:none;cursor:pointer;text-decoration:none;display:inline-block;margin-top:2px}

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

/* ── Mobile / Responsive ────────────────────────────────────────────────────── */

/* Tablets */
@media(max-width:768px){
  .header-nav a{font-size:.78rem}
  .hero{padding:32px 16px 26px}
  .platform-grid{grid-template-columns:1fr 1fr}
  .features-grid{grid-template-columns:1fr 1fr}
}

/* Phones */
@media(max-width:560px){
  /* Header: hide nav links on very small screens */
  .header-nav{display:none}

  .hero{padding:26px 14px 22px}
  .hero h1{font-size:1.65rem;line-height:1.2}

  /* Search box: stack vertically */
  .search-box{flex-direction:column;border-radius:var(--radius-sm)}
  .search-icon{padding:12px 12px 0}
  .search-input{padding:8px 14px 12px;font-size:.95rem;width:100%}
  .btn-primary{width:100%;height:48px;border-radius:0 0 calc(var(--radius-sm) - 2px) calc(var(--radius-sm) - 2px);font-size:.92rem}

  /* Result card */
  .result-header{padding:14px 16px}
  .formats-wrap{padding:16px}

  /* Download button – make it large and thumb-friendly */
  .btn-download{padding:16px 18px;font-size:.97rem;border-radius:var(--radius-sm)}

  /* Format picker grid – 2 columns */
  .format-grid{grid-template-columns:1fr 1fr;gap:8px}
  .format-card{padding:12px 10px}
  .format-quality{font-size:.88rem}

  /* Platform cards: 2 columns */
  .platform-grid{grid-template-columns:1fr 1fr;gap:10px}
  .platform-card{padding:20px 10px 16px}
  .platform-icon-wrap{width:52px;height:52px}
  .platform-card h3{font-size:.92rem}
  .platform-card p{font-size:.77rem;display:none} /* hide subtext on tiny screens */

  /* Features: single column */
  .features-grid{grid-template-columns:1fr}

  /* Steps */
  .step{padding-left:20px;margin-left:14px}
  .step-num{width:26px;height:26px;font-size:.75rem;left:-13px}

  /* FAQ */
  .faq-q{font-size:.87rem;padding:13px 14px}
  .faq-a{padding:0 14px 12px;font-size:.83rem}

  /* Footer */
  .footer-links{gap:4px 12px}
  .footer-links a{font-size:.79rem}
}

/* Very small phones */
@media(max-width:360px){
  .platform-grid{grid-template-columns:1fr}
  .hero h1{font-size:1.45rem}
}

/* Safe area for notched phones */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  .site-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}
