:root{
  --color-primary:#166FE5; --color-primary-hover:#1565C0; --color-primary-light:#E7F3FF;
  --color-secondary:#42B72A; --color-secondary-hover:#36A420;
  --color-bg:#F0F2F5; --color-surface:#FFFFFF;
  --color-text:#1C1E21; --color-text-secondary:#65676B; --color-text-light:#8A8D91;
  --color-text-muted:#6b7280;
  --color-border:#DADDE1; --color-border-light:#E4E6EB;
  --color-error:#FA3E3E; --color-error-bg:#FFEBE9;
  --color-success:#42B72A; --color-success-bg:#E6F4EA; --color-warning:#F7B928;
  --font-family:"Google Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --font-size-xs:.75rem; --font-size-sm:.875rem; --font-size-base:1rem;
  --font-size-lg:1.125rem; --font-size-xl:1.5rem; --font-size-2xl:2rem;
  --font-weight-normal:400; --font-weight-medium:500; --font-weight-semibold:600; --font-weight-bold:700;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;
  --max-width:840px; --radius:8px; --radius-sm:4px; --radius-lg:12px; --radius-full:9999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);
  --shadow-lg:0 10px 25px rgba(0,0,0,.1);
  --transition:.15s ease;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);
  background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--color-primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0 0 var(--space-3)}
img{max-width:100%}
kbd{background:var(--color-border-light);border-radius:var(--radius-sm);padding:1px 6px;
  font-family:inherit;font-size:.9em;font-weight:600}
.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4)}

@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- promo banners ---------- */
.ext-banner,.app-promo--banner{max-height:0;opacity:0;overflow:hidden;background:var(--color-primary-light);
  border-bottom:1px solid var(--color-border);transition:max-height .45s ease,opacity .45s ease}
.ext-banner--visible,.app-promo--banner.app-promo--visible{max-height:140px;opacity:1}
.ext-banner__inner,.app-promo__inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;
  gap:var(--space-3);padding:var(--space-3) var(--space-4)}
.ext-banner__icon,.app-promo__logo{flex-shrink:0}
.app-promo__logo{width:36px;height:36px;object-fit:contain;border-radius:var(--radius-sm)}
.ext-banner__text{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:500;
  color:var(--color-text);line-height:1.4}
.app-promo__text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.app-promo__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}
.app-promo__desc{font-size:.78rem;color:var(--color-text-secondary)}
.ext-banner__btn,.app-promo__btn{flex-shrink:0;white-space:nowrap}
.ext-banner__close,.app-promo__close{flex-shrink:0;width:28px;height:28px;display:inline-flex;
  align-items:center;justify-content:center;border:none;background:transparent;
  color:var(--color-text-secondary);font-size:22px;line-height:1;cursor:pointer;
  border-radius:var(--radius-sm);transition:background-color .15s ease}
.ext-banner__close:hover,.app-promo__close:hover{background:rgba(0,0,0,.06);color:var(--color-text)}

.cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--color-surface);
  border-top:1px solid var(--color-border);box-shadow:0 -2px 12px rgba(0,0,0,.08);padding:16px}
.cookie-consent[hidden]{display:none}
.cookie-consent__inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;
  justify-content:center;gap:16px;flex-wrap:wrap}
.cookie-consent__text{flex:1;min-width:240px;margin:0;font-size:var(--font-size-sm);
  color:var(--color-text-secondary);line-height:1.5}
.cookie-consent__text a{color:var(--color-primary);text-decoration:underline}
.cookie-consent__actions{display:flex;gap:8px;flex-shrink:0}
.cookie-consent__btn{white-space:nowrap}

/* ---------- navbar ---------- */
.navbar{background-color:rgba(255,255,255,.95);position:sticky;top:0;z-index:50;
  box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px rgba(0,0,0,.15)}
.navbar .container{position:relative;display:flex;align-items:center;justify-content:space-between;
  padding-top:var(--space-4);padding-bottom:var(--space-4);max-width:1200px}
.navbar-logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);
  font-weight:var(--font-weight-bold);color:var(--color-text);text-decoration:none}
.navbar-logo:hover{text-decoration:none}
.navbar-logo__icon{width:36px;height:36px;object-fit:contain;border-radius:var(--radius)}
.navbar-links{display:flex;gap:var(--space-6)}
.navbar-links a{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}
.navbar-links a:hover{color:var(--color-primary);text-decoration:none}
.navbar-dropdown{position:relative;display:flex;align-items:center}
.navbar-dropdown__toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:none;
  background:none;cursor:pointer;color:var(--color-text);font-size:var(--font-size-base);
  font-weight:var(--font-weight-medium);font-family:inherit}
.navbar-dropdown__toggle:hover{color:var(--color-primary)}
.navbar-dropdown__arrow,.navbar-lang__arrow{transition:transform .2s}
.navbar-dropdown.open .navbar-dropdown__arrow,.navbar-lang.open .navbar-lang__arrow{transform:rotate(180deg)}
.navbar-dropdown__menu{position:absolute;left:0;top:calc(100% + var(--space-2));list-style:none;margin:0;
  padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-sm);box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:230px;opacity:0;
  visibility:hidden;transform:translateY(-4px);
  transition:opacity .2s,transform .2s,visibility .2s;z-index:100}
.navbar-dropdown.open .navbar-dropdown__menu{opacity:1;visibility:visible;transform:translateY(0)}
.navbar-dropdown__menu a{display:block;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);
  color:inherit;text-decoration:none;white-space:nowrap;transition:background .15s}
.navbar-dropdown__menu a:hover{background:var(--color-bg);color:var(--color-primary)}
.navbar-dropdown__menu a.is-active{color:var(--color-primary);font-weight:600}
.navbar-lang{position:relative}
.navbar-lang__toggle{display:inline-flex;align-items:center;gap:var(--space-1);
  padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);
  font-size:var(--font-size-sm);background:var(--color-surface);cursor:pointer;color:inherit;
  font-family:inherit;transition:border-color .2s}
.navbar-lang__toggle:hover{border-color:var(--color-primary)}
.navbar-lang__menu{position:absolute;right:0;top:calc(100% + var(--space-1));list-style:none;margin:0;
  padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-sm);box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:150px;opacity:0;
  visibility:hidden;transform:translateY(-4px);
  transition:opacity .2s,transform .2s,visibility .2s;z-index:100}
.navbar-lang.open .navbar-lang__menu{opacity:1;visibility:visible;transform:translateY(0)}
.navbar-lang__menu a{display:flex;align-items:center;gap:var(--space-2);
  padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:inherit;
  text-decoration:none;white-space:nowrap;transition:background .15s}
.navbar-lang__menu a:hover{background:var(--color-bg)}
.navbar-lang__menu a.active,.navbar-lang__menu a.is-active{color:var(--color-primary);font-weight:600}
.navbar-lang__flag{flex-shrink:0;font-size:14px;line-height:1;display:inline-flex;align-items:center}
.navbar-right{display:flex;align-items:center;gap:var(--space-3)}
.navbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;
  padding:6px;border:none;background:none;cursor:pointer}
.navbar-hamburger__line{display:block;width:100%;height:2px;background:var(--color-text);
  border-radius:2px;transition:transform .3s,opacity .3s}
.navbar.menu-open .navbar-hamburger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navbar.menu-open .navbar-hamburger__line:nth-child(2){opacity:0}
.navbar.menu-open .navbar-hamburger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- hero + forms ---------- */
.wrapper{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4) var(--space-12)}
.hero{text-align:center;padding:var(--space-8) 0}
.hero__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);
  color:var(--color-text);margin-bottom:var(--space-3)}
.hero__subtitle{font-size:var(--font-size-lg);color:var(--color-text);margin:0 0 var(--space-8)}
.hero__trust{margin:0;padding-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.download-form{max-width:100%;margin:0 auto}
.download-form__input-wrap{position:relative;display:flex;align-items:center}
.input{width:100%;padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg);
  font-family:var(--font-family);border:2px solid var(--color-border);border-radius:var(--radius);
  outline:none;transition:border-color var(--transition)}
.download-form__input{padding-right:90px}
.input:focus{border-color:var(--color-primary)}
.input--error{border-color:var(--color-error)}
.download-form__textarea{display:block;resize:vertical;line-height:1.6;text-align:left}
.download-form__action-btn{position:absolute;right:var(--space-2);display:inline-flex;align-items:center;
  gap:var(--space-1);padding:var(--space-2);background:var(--color-primary-light);
  color:var(--color-text);font-size:var(--font-size-sm);font-family:var(--font-family);
  font-weight:var(--font-weight-medium);cursor:pointer;border:1px solid var(--color-text);
  border-radius:var(--radius-sm);transition:background-color var(--transition)}
.download-form__action-btn:hover{background:#d3e6fb}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  padding:var(--space-3) var(--space-6);font-family:var(--font-family);font-size:var(--font-size-base);
  font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius);cursor:pointer;
  transition:all var(--transition);text-decoration:none;line-height:1}
.btn-primary{background-color:var(--color-primary);color:#fff}
.btn-primary:hover{background-color:var(--color-primary-hover);text-decoration:none}
.btn-success{background-color:var(--color-secondary);color:#fff}
.btn-success:hover{background-color:var(--color-secondary-hover);text-decoration:none}
.btn-outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}
.btn-outline:hover{background-color:var(--color-primary-light);text-decoration:none}
.btn-secondary{background-color:var(--color-bg);color:var(--color-text-secondary);
  border:1px solid var(--color-border)}
.btn-secondary:hover{background-color:var(--color-border-light);text-decoration:none}
.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}
.download-form__btn{width:100%;margin-top:var(--space-3);padding:var(--space-4) var(--space-8);
  font-size:var(--font-size-lg);line-height:var(--font-size-lg);white-space:nowrap}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn--loading{pointer-events:none;opacity:.7}
.btn__text{display:inline-flex;align-items:center;gap:var(--space-2)}
.btn__icon{display:inline-flex}
.btn__spinner{width:20px;height:20px;border:3px solid #FFF;border-bottom-color:transparent;
  border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}
.btn-download-another{display:inline-flex;align-items:center;gap:var(--space-2)}
.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(24,119,242,.3);
  border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}
.spinner-icon{animation:rotation 1s linear infinite}

.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-top:var(--space-3);
  font-size:var(--font-size-sm);text-align:left}
.alert-error{background:var(--color-error-bg);color:var(--color-error);
  font-weight:var(--font-weight-medium);border:1px solid #f5c2c7}
.alert-success{background:var(--color-success-bg);color:var(--color-success);
  font-weight:var(--font-weight-medium);border:1px solid #badbcc}
.render-notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);
  margin:0;background:#fff3cd;border:1px solid #FFECB5;color:#664d03;font-size:.82rem;line-height:1.4}
.render-notice svg{flex-shrink:0;color:#c80}

/* ---------- private form ---------- */
.private-form{text-align:left}
.private-form__step{margin-bottom:var(--space-5)}
.private-form__label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);
  font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}
.private-form__step-num{flex:0 0 24px;height:24px;display:grid;place-items:center;
  border-radius:var(--radius-full);background:var(--color-primary);color:#fff;
  font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}
.private-form__textarea{min-height:120px}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;
  font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);
  white-space:nowrap;min-width:100px;text-align:center}
.badge svg{padding-right:5px}
.badge-4k{background:#7c3aed;color:#fff}
.badge-2k{background:#4f46e5;color:#fff}
.badge-fhd{background:var(--color-primary);color:#fff}
.badge-hd{background:var(--color-primary-light);color:var(--color-primary)}
.badge-sd{background:var(--color-border-light);color:var(--color-text)}
.badge-audio{background:var(--color-success-bg);color:var(--color-success)}
.badge-image{background:#f3e8ff;color:#7c3aed}

/* ---------- result ---------- */
.media-result{margin:var(--space-6) 0}
.media-result__header{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);
  border:1px solid var(--color-border-light);border-bottom:none;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.media-result__thumb-wrap{position:relative;flex:0 0 120px;width:120px;height:120px;
  border-radius:var(--radius);overflow:hidden;background:var(--color-bg)}
.media-result__thumb-wrap.shimmer{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite}
.media-result__thumb{width:100%;height:100%;object-fit:cover;display:block}
.media-result__duration{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.75);color:#fff;
  font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-sm)}
.media-result__meta{min-width:0;display:flex;flex-direction:column;justify-content:center;text-align:left}
.media-result__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);
  margin:0 0 var(--space-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.media-result__hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.media-result__list{border:1px solid var(--color-border-light);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}
.media-result__footer{text-align:center;margin-top:var(--space-4)}

.media-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  padding:var(--space-3) var(--space-4);background:var(--color-surface);
  border-bottom:1px solid var(--color-border-light)}
.media-item:last-child{border-bottom:none}
.media-item__info{display:flex;align-items:center;gap:var(--space-3)}
.media-item__quality{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);
  min-width:150px;text-align:center;white-space:nowrap}
.media-item__size{font-size:var(--font-size-sm);color:var(--color-text-secondary);
  min-width:80px;text-align:right}
.media-item__ext{font-size:var(--font-size-sm);color:var(--color-text-secondary);
  min-width:65px;text-align:center}
.media-item__action{display:flex;align-items:center;gap:var(--space-3)}
.media-item__progress{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-2);min-width:155px}
.media-item__progress .progress-bar{flex:1}
.media-item__error{width:100%;font-size:var(--font-size-sm);color:var(--color-error);
  background:var(--color-error-bg);padding:var(--space-2) var(--space-3);
  border-radius:var(--radius);margin-top:var(--space-2)}
.progress-bar{width:100%;height:6px;background:var(--color-border-light);
  border-radius:var(--radius-full);overflow:hidden}
.progress-bar__fill{height:100%;background:var(--color-primary);
  border-radius:var(--radius-full);transition:width .3s ease}
.progress-label{width:100%;font-size:var(--font-size-xs);color:var(--color-primary);
  font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:6px}
.progress-text{font-size:var(--font-size-xs);color:var(--color-primary);
  font-weight:var(--font-weight-medium);min-width:32px;text-align:right}

/* ---------- bulk ---------- */
.bulk-count-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  margin-top:var(--space-2)}
.bulk-count{font-size:.8rem;color:var(--color-text-muted)}
.bulk-count--over{color:var(--color-error);font-weight:600}
.bulk-clear{background:none;border:none;padding:0;cursor:pointer;font-size:.8rem;
  font-family:inherit;color:var(--color-primary)}
.bulk-clear:hover{text-decoration:underline}
.bulk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-5)}
.bulk-grid--facebook{grid-template-columns:repeat(2,1fr)}
.bulk-card{display:flex;flex-direction:column;border:1px solid var(--color-border);
  border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}
.bulk-card.shimmer{aspect-ratio:9/16;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite}
.bulk-card--facebook.shimmer,.bulk-card--facebook .bulk-card__thumb-wrap,
.bulk-card--facebook.bulk-card--error .bulk-card__error{aspect-ratio:16/9}
.bulk-card__thumb-wrap{position:relative;display:flex;align-items:center;justify-content:center;
  aspect-ratio:9/16;background:#f3f4f6;overflow:hidden}
.bulk-card__thumb{max-width:70%;max-height:100%;width:auto;height:auto;object-fit:contain;
  display:block;border-radius:var(--radius)}
.bulk-card--facebook .bulk-card__thumb{max-width:100%}
.bulk-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  color:#9ca3af;background:#f3f4f6}
.bulk-card__badge{position:absolute;top:var(--space-2);right:var(--space-2);padding:2px 8px;
  font-size:.72rem;font-weight:600;color:#fff;background:rgba(0,0,0,.65);border-radius:999px}
.bulk-card__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}
.bulk-card__title{font-size:.85rem;line-height:1.3;margin:0;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bulk-card__author{font-size:.75rem;color:var(--color-text-muted);margin:0;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.bulk-card__caption{font-size:.78rem;line-height:1.4;color:var(--color-text);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bulk-card__formats{display:flex;flex-direction:column;gap:var(--space-2)}
.bulk-card__formats .tk-format-row,.bulk-card__cta{width:100%}
.bulk-card--error .bulk-card__error{display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:var(--space-3);aspect-ratio:9/16;padding:var(--space-4);text-align:center}
.bulk-card__error-msg{font-size:.82rem;color:var(--color-error);margin:0}
.bulk-card__url{font-size:var(--font-size-xs);color:var(--color-text-secondary);
  word-break:break-all;margin:0}

.tk-formats{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}
.tk-format-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%}
.tk-format-row__icon{display:inline-flex;align-items:center}
.tk-format-row__badge{margin-left:var(--space-1)}
.tk-format-row--muted{opacity:.85}

/* ---------- content ---------- */
.features,.how-to,.faq,.related-tools{padding:var(--space-5) 0}
.note{padding:var(--space-4) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.article{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);
  margin-top:var(--space-6);box-shadow:var(--shadow)}
.section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);
  text-align:center;margin-bottom:var(--space-4)}
.section-lead{margin:0 0 var(--space-3);color:var(--color-text-secondary)}
.features__list{list-style:none;padding:var(--space-4);margin:0;display:flex;flex-direction:column;
  gap:var(--space-3);background-color:#fff;border-radius:var(--radius-lg)}
.features__list li{font-size:var(--font-size-base);padding-left:var(--space-5);
  position:relative;line-height:1.6}
.features__list li::before{content:"\2713";position:absolute;left:0;color:var(--color-primary);
  font-weight:var(--font-weight-bold)}
.features__list li strong{color:var(--color-text)}
.how-to__steps{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-4);
  background-color:#fff;border-radius:var(--radius-lg)}
.step{display:flex;align-items:center;gap:var(--space-4)}
.step__number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;
  border:2px solid var(--color-primary);color:var(--color-primary);border-radius:50%;
  font-weight:var(--font-weight-bold);flex-shrink:0}
.step__content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);
  margin:0 0 var(--space-1)}
.step__content p{margin:0;font-size:var(--font-size-base)}
.faq__list{display:flex;flex-direction:column;gap:var(--space-3)}
.faq-item{border:1px solid var(--color-border-light);border-radius:var(--radius);overflow:hidden}
.faq-item__question{width:100%;margin:0;padding:var(--space-3);padding-bottom:0;
  background:var(--color-surface);border:none;text-align:left;font-size:var(--font-size-base);
  font-weight:var(--font-weight-medium);font-family:var(--font-family);
  display:flex;justify-content:space-between;align-items:center}
.faq-item__answer{padding:var(--space-3);font-size:var(--font-size-base);
  background-color:#fff;color:var(--color-text)}
.faq-item__answer p{margin:0 0 var(--space-2)}
.faq-item__answer p:last-child{margin-bottom:0}
.related-tools__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  gap:var(--space-2) var(--space-3)}
.related-tools__list a{display:inline-block;padding:var(--space-2) var(--space-3);
  border:1px solid var(--color-border-light);border-radius:var(--radius);
  background:var(--color-surface);text-decoration:none;font-size:var(--font-size-sm)}
.related-tools__list a:hover{border-color:var(--color-primary);text-decoration:none}
.note p{margin:0}

/* ---------- blog / article / pagination ---------- */
.blog{padding:var(--space-8) 0}
.blog__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);
  margin-bottom:var(--space-6);text-align:center}
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.blog__empty{text-align:center;padding:var(--space-12) 0;color:var(--color-text-secondary)}
.blog-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow);transition:box-shadow var(--transition),transform var(--transition)}
.blog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.blog-card__thumb{width:100%;object-fit:cover;display:block;background:var(--color-bg);aspect-ratio:16/9}
.blog-card__body{padding:var(--space-4)}
.blog-card__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);
  margin-bottom:var(--space-2);line-height:1.4}
.blog-card__title a{color:var(--color-text)}
.blog-card__title a:hover{color:var(--color-primary);text-decoration:none}
.blog-card__excerpt{font-size:var(--font-size-sm);color:var(--color-text-secondary);
  margin-bottom:var(--space-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;
  -webkit-box-orient:vertical;overflow:hidden}
.blog-card__date{font-size:var(--font-size-xs);color:#6b6e72}
.article__breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);
  color:var(--color-text-secondary);margin-bottom:var(--space-6);flex-wrap:wrap}
.article__breadcrumb a{color:var(--color-text-secondary)}
.article__breadcrumb a:hover{color:var(--color-primary)}
.article__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}
.article__meta{font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--space-6)}
.article__thumbnail{width:100%;border-radius:var(--radius-lg);margin-bottom:var(--space-6)}
.article__content{line-height:1.7}
.article__content h2{font-size:var(--font-size-xl);margin-top:var(--space-8)}
.article__content img{border-radius:var(--radius)}
.pagination-wrap{display:flex;justify-content:center;margin-top:var(--space-8)}
.pagination{display:flex;gap:var(--space-2);list-style:none;margin:0;padding:0}
.pagination__item{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;
  padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);
  font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface)}
.pagination__item:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}
.pagination__item--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.pagination__item--disabled{opacity:.5;pointer-events:none}
.error-page{text-align:center;padding:var(--space-12) 0}
.error-page__code{font-size:4rem;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}
.error-page__title{font-size:var(--font-size-xl);margin:var(--space-4) 0 var(--space-2)}
.error-page__desc{color:var(--color-text-secondary);margin-bottom:var(--space-6)}
.error-page__actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
.footer{padding:var(--space-8) 0 var(--space-4);border-top:1px solid var(--color-border-light);
  margin:0;background:transparent}
.footer__columns{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.footer__heading{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}
.footer__links{list-style:none;margin:0;padding:0;font-size:var(--font-size-sm)}
.footer__links li{margin-bottom:var(--space-2)}
.footer__links a{color:var(--color-text-secondary)}
.footer__socials{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-3)}
.footer__socials a{color:var(--color-text-secondary);display:inline-flex}
.footer__socials a:hover{color:var(--color-primary)}
.footer__disclaimer{font-size:var(--font-size-xs);color:var(--color-text-light);
  margin-top:var(--space-6);line-height:1.6}
.footer__copyright{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-light);
  margin-top:var(--space-4)}

@media (max-width:900px){
  .blog__grid{grid-template-columns:repeat(2,1fr)}
  .bulk-grid{grid-template-columns:repeat(2,1fr)}
  .footer__columns{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .navbar-hamburger{display:flex}
  .navbar-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-surface);
    flex-direction:column;padding:var(--space-4);gap:0;box-shadow:var(--shadow-md);
    border-top:1px solid var(--color-border-light);z-index:200}
  .navbar.menu-open .navbar-links{display:flex}
  .navbar-links a{display:block;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}
  .navbar-links a:last-child{border-bottom:none}
  .navbar-dropdown{flex-direction:column;align-items:flex-start}
  .navbar-dropdown__toggle{padding:var(--space-3) 0;width:100%;justify-content:space-between;
    border-bottom:1px solid var(--color-border-light)}
  .navbar-dropdown__menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:none;min-width:0;padding:0;display:none}
  .navbar-dropdown.open .navbar-dropdown__menu{display:block}
  .navbar-dropdown__menu a{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);
    border-bottom:1px solid var(--color-border-light)}
  .navbar-dropdown__menu li:last-child a{border-bottom:none}
  .navbar-lang__toggle{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2)}
  .hero__title{font-size:var(--font-size-xl)}
  .hero__subtitle{font-size:var(--font-size-base)}
  .media-result__header{flex-direction:column}
  .media-result__thumb-wrap{width:100%;flex-basis:auto;height:180px}
  .media-item__size,.media-item__ext{display:none}
  .media-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}
  .media-item__info{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}
  .media-item__info .badge,.media-item__quality{min-width:auto;text-align:center}
  .media-item__quality{white-space:normal}
  .media-item__action{width:100%}
  .media-item__action .btn{flex:1}
  .media-item__progress{width:100%;justify-content:space-between}
  .blog__grid{grid-template-columns:1fr}
  .cookie-consent__inner{flex-direction:column;align-items:stretch}
  .cookie-consent__actions{justify-content:center}
}
@media (max-width:600px){
  .bulk-grid,.bulk-grid--facebook{grid-template-columns:1fr}
  .footer__columns{grid-template-columns:1fr;gap:var(--space-4)}
}

/* ---------- platform-specific result cards ---------- */
.tk-result,.ig-result{background:var(--color-surface);border:1px solid var(--color-border-light);
  border-radius:var(--radius-lg);padding:var(--space-4)}
.tk-result__header,.ig-result__header{display:flex;align-items:flex-start;gap:var(--space-3);
  margin-bottom:var(--space-4)}
.tk-result__thumb-wrap,.ig-result__thumb-wrap{width:96px;height:96px;border-radius:var(--radius);
  overflow:hidden;flex-shrink:0;background:var(--color-bg)}
.tk-result__thumb-wrap.ig-shimmer,.ig-result__thumb-wrap.ig-shimmer{
  background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite}
.tk-result__thumb,.ig-result__thumb{width:100%;height:100%;object-fit:cover;display:block}
.tk-result__info{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.ig-result__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}
.tk-result__title,.ig-result__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}
.tk-result__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tk-result__caption{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:pre-line;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ig-result__caption{font-size:var(--font-size-sm);color:var(--color-text-secondary);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ig-result__hint{margin-top:var(--space-3);font-size:var(--font-size-xs);
  color:var(--color-text-light);text-align:center}
.tk-result__author{display:flex;align-items:center;gap:var(--space-2)}
.tk-result__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}
.tk-result__author-meta{display:flex;flex-direction:column;line-height:1.2;
  font-size:var(--font-size-sm);min-width:0}
.tk-result__username{color:var(--color-text-light);font-size:var(--font-size-xs)}
.tk-result__stats{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;padding:0;margin:0}
.tk-result__stats li{display:inline-flex;align-items:center;gap:4px;
  font-size:var(--font-size-xs);color:var(--color-text-secondary)}

.ig-media-grid{display:grid;gap:var(--space-3)}
.ig-media-grid--one{grid-template-columns:minmax(0,360px);justify-content:center}
.ig-media-grid--many{grid-template-columns:repeat(4,1fr)}
.ig-media-card{display:flex;flex-direction:column;border:1px solid var(--color-border-light);
  border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}
.ig-media-card__media{position:relative;display:block;aspect-ratio:1/1;
  background:var(--color-bg);overflow:hidden}
.ig-media-card--vertical .ig-media-card__media{aspect-ratio:9/16}
.ig-media-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ig-media-card__placeholder{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;color:var(--color-text-light);background:var(--color-border-light)}
.ig-media-card__badge{position:absolute;top:var(--space-2);left:var(--space-2);padding:2px 8px;
  font-size:10px;font-weight:var(--font-weight-bold);line-height:1.6;color:#fff;
  background:rgba(0,0,0,.7);border-radius:999px;pointer-events:none}
.ig-media-card__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#fff;background:rgba(0,0,0,.35);opacity:0;transition:opacity .15s ease;pointer-events:none}
.ig-media-card__media:hover .ig-media-card__overlay{opacity:1}
.ig-media-card__meta{padding:var(--space-1) var(--space-2);font-size:11px;
  color:var(--color-text-secondary);text-align:center;border-top:1px solid var(--color-border-light)}
.ig-media-card__btn{width:calc(100% - var(--space-4));margin:var(--space-2) var(--space-2) var(--space-3)}
.ig-media-card-loading{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;background:rgba(255,255,255,.7);z-index:2}
.ig-media-card-loading .spinner{width:28px;height:28px;border-width:3px}

.ig-bulk{background:var(--color-bg);border:1px solid var(--color-border-light);
  border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-4)}
.ig-bulk__row{display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-3);flex-wrap:wrap}
.ig-bulk__hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.ig-bulk__progress{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}
.ig-bulk__progress .progress-bar{flex:1}
.ig-bulk__status{font-size:var(--font-size-xs);color:var(--color-primary);
  font-weight:var(--font-weight-medium);min-width:90px;text-align:right}

/* ---------- shared utilities ---------- */
.card{background:var(--color-surface);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);padding:var(--space-6)}
.text-primary{color:var(--color-primary)}
.hero__cta-link{padding-top:var(--space-4);margin:0}
.btn__quality-mobile{display:none}
.btn-download{display:inline-flex;align-items:center;gap:var(--space-2)}
.app-promo--inline{display:flex;align-items:center;gap:var(--space-3);
  padding:var(--space-2) var(--space-3);background:var(--color-primary-light);
  border:1px solid #CFE3FF;border-top:0}
.app-promo--note{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.article__header{margin-bottom:var(--space-6)}
.article__breadcrumb-sep{color:var(--color-text-light)}
.page{padding:var(--space-8) 0}
.page__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-6)}
.page__content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);
  margin-top:var(--space-6);margin-bottom:var(--space-3)}
.page__content p{font-size:var(--font-size-base);line-height:1.7;margin-bottom:var(--space-3)}
.page__content ul{padding-left:var(--space-6);margin-bottom:var(--space-3)}
.page__content ul li{list-style:disc;line-height:1.7;margin-bottom:var(--space-1)}
.page__content a{color:var(--color-primary)}
.related-articles{margin-top:var(--space-12);border-top:1px solid var(--color-border-light);
  padding-top:var(--space-8)}
.related-articles__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);
  margin-bottom:var(--space-6)}
.related-articles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.latest-articles{padding:var(--space-5) 0}
.latest-articles__more{text-align:center;margin-top:var(--space-6)}
/* aliases kept so both naming conventions resolve */
.bulk-grid--fb{grid-template-columns:repeat(2,1fr)}
.bulk-card--fb.shimmer,.bulk-card--fb .bulk-card__thumb-wrap,
.bulk-card--fb.bulk-card--error .bulk-card__error{aspect-ratio:16/9}
.bulk-card--fb .bulk-card__thumb{max-width:100%}

@media (max-width:900px){
  .ig-media-grid--many{grid-template-columns:repeat(3,1fr)}
  .related-articles__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .btn__quality-mobile{display:inline;margin-left:4px}
  .ig-media-grid--many{grid-template-columns:repeat(2,1fr)}
  .related-articles__grid{grid-template-columns:1fr}
  .tk-result__header,.ig-result__header{flex-direction:column;align-items:center;text-align:center}
}
.app-promo{display:none}
.footer__col{min-width:0}
@media (max-width:768px){.app-promo--banner{display:block}}
