/* BunnyTix overrides — loaded after the theme CSS */

/* Keyboard focus */
a:focus-visible, button:focus-visible, .themeht-btn:focus-visible {
  outline: 3px solid var(--themeht-primary-color3);
  outline-offset: 3px;
}

/* Language switcher: highlight current language */
.bt-lang .nav-item + .nav-item { margin-left: 18px; }
.bt-lang .nav-link.is-active { color: var(--themeht-primary-color); }
.bt-lang .nav-link.is-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px;
  border-radius: 2px; background: var(--themeht-primary-color);
}

/* Hero */
.bt-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Shared card look */
.bt-card, .bt-price-card, .bt-review {
  box-shadow: 0 10px 30px rgba(22, 7, 47, 0.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.bt-card:hover, .bt-price-card:hover, .bt-review:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(22, 7, 47, 0.10);
}
.bt-card { border-radius: 30px; }

/* Pricing */
.bt-price-card { display: flex; flex-direction: column; }
.bt-price-card .price-header { margin-bottom: 25px; padding-bottom: 25px; }
.bt-price-card .price-title { margin-bottom: 6px; }
.bt-price-card .price-icon { margin-left: 12px; flex-shrink: 0; }
.bt-price-card .price-icon img { width: 90px; height: 90px; object-fit: cover; }
.bt-price-old { font-size: 14px; line-height: 20px; color: var(--themeht-body-color); }
.bt-price-card .price-list { margin-bottom: 30px; }
.bt-price-card .price-list ul li { align-items: flex-start; line-height: 24px; }
.bt-price-card .price-list li i { line-height: 24px; }
.bt-price-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 10px; }
.bt-save-badge {
  position: absolute; top: 16px; right: 20px; z-index: 10;
  padding: 2px 12px; border-radius: 50px; font-size: 13px; line-height: 22px; font-weight: 600;
  color: var(--themeht-white-color);
  background: linear-gradient(115deg, var(--themeht-primary-color2), var(--themeht-primary-color));
}

/* Testimonials */
.bt-review {
  position: relative; display: flex; flex-direction: column;
  padding: 35px 30px 30px; border-radius: 20px; background: var(--themeht-white-color);
  border: 1px solid var(--themeht-border-light-color);
}
.bt-review-quote { font-size: 48px; line-height: 1; color: var(--themeht-primary-color); opacity: .25; }
.bt-review-text { margin: 10px 0 25px; }
.bt-review-author { margin-top: auto; display: flex; align-items: center; gap: 14px; }
.bt-review-author img { width: 48px; height: 48px; border-radius: 14px; object-fit: cover; }
.bt-review-author h5 { margin: 0; font-size: 18px; line-height: 24px; color: var(--themeht-primary-color); }
.bt-review-author span { font-size: 14px; line-height: 20px; color: var(--themeht-text-color); }

@media (max-width: 991.98px) {
  .bt-lang .nav-item + .nav-item { margin-left: 0; }
  .bt-lang .nav-link.is-active::after { display: none; }
}

@media (max-width: 767.98px) {
  .banner-2.bt-hero { padding: 140px 0 180px; }
  .bt-price-card { padding: 45px 22px 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .bt-card, .bt-price-card, .bt-review { transition: none; }
  .bt-card:hover, .bt-price-card:hover, .bt-review:hover { transform: none; }
}
