/* Styles ported from the former Vue landing components (Navbar/Footer/Promo/Pricing scoped styles) */

/* ── Promo banner ─────────────────────────────────────────── */
.td_promo_banner {
  background: linear-gradient(90deg, #1e40af 0%, #3b82f6 50%, #0ea5e9 100%);
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
  width: 100%;
}
.td_promo_banner_in {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  text-align: center;
}
.td_promo_banner_text { margin: 0; }
.td_promo_banner_discount,
.td_promo_banner_code {
  display: inline-block;
  margin: 0 4px;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.2);
  letter-spacing: 0.03em;
}
.td_promo_banner_link {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-decoration: underline;
  white-space: nowrap;
}
.td_promo_banner_link:hover { color: #e0f2fe; }
@media (max-width: 767px) {
  .td_promo_banner { font-size: 16px; }
  .td_promo_banner_link { font-size: 15px; }
  .td_promo_banner_in { flex-direction: column; gap: 6px; }
}

/* ── Language switcher ────────────────────────────────────── */
.td_header_btns_extra { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.td_lang_switcher { position: relative; }
.td_header_right_desktop,
.td_header_right_desktop .td_header_btns,
.td_header_right_desktop .td_lang_switcher_desktop { overflow: visible; }
.td_lang_switcher_desktop { position: relative; z-index: 102; }
.td_lang_dropdown {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  min-width: 140px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
  padding: 8px 0;
  z-index: 10002;
}
.td_lang_switcher.is-open .td_lang_dropdown { display: block; }
.td_lang_dropdown_rtl { right: auto; left: 0; }
.td_lang_item { display: block; padding: 10px 16px; color: var(--heading-color, #333); text-decoration: none; font-size: 15px; transition: background 0.2s; }
.td_lang_item:hover { background: rgba(0,0,0,0.05); }
.td_lang_item.active { font-weight: 600; color: var(--accent-color); }
.td_ml_8 { margin-left: 8px; }
[dir="rtl"] .td_ml_8 { margin-left: 0; margin-right: 8px; }
[dir="rtl"] .td_nav .td_nav_list > li > a { text-align: right; }

/* Mobile menu actions (auth + language) shown only inside overlay on small screens */
.td_nav_mobile_actions {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 20px 15px 0;
  margin-top: 16px;
  border-top: 1px solid rgba(0,0,0,0.08);
}
@media screen and (max-width: 1199px) {
  .td_header_right_desktop { display: none !important; }
  .td_nav_mobile_actions { display: flex; }
}
@media screen and (min-width: 1200px) {
  .td_nav_mobile_actions { display: none !important; }
}
.td_nav_mobile_actions form { margin: 0; }

/* ── Footer social + payments ─────────────────────────────── */
.td_footer_social { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.td_footer_social_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.td_footer_social_link:hover { background: rgba(255, 255, 255, 0.25); color: #fff; transform: translateY(-2px); }
.td_footer_social_link i { font-size: 1rem; }
.td_footer_payments { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; }
.td_footer_payments img { height: 50px; max-width: 80px; object-fit: contain; }
@media (max-width: 575px) { .td_footer_payments { justify-content: flex-start; } }
.flex.flex-column { display: flex; flex-direction: column; }
.justify-center { justify-content: center; }
.items-center { align-items: center; }
.mt-3 { margin-top: 1rem; }

/* ── Pricing card highlights ──────────────────────────────── */
.td_pricing_popular { border: 2px solid var(--td_accent_color, #5189c9); box-shadow: 0 8px 32px rgba(81, 137, 201, 0.18); }
.td_pricing_popular_badge {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 18px;
  border-radius: 20px;
  white-space: nowrap;
  z-index: 2;
  border: 1px solid #5189c9;
}
.td_pricing_rec_badge { display: inline-block; }
.td_pricing_price { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.td_pricing.td_style_1:hover .td_pricing_price span { color: #fff !important; }
.td_white_custom { color: #5189c9; }
.td_accent_bg_custom { background-color: #ffffff; }
.px-3 { padding-left: 1rem; padding-right: 1rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
