/* ============================================================
   OVERRIDE PROTECTION CSS - MUST LOAD LAST
   This file prevents other CSS from overriding pricing & footer
   ============================================================ */

/* ========== FONT AWESOME PROTECTION ========== */
.fa, .fa-*, [class^="fa-"], [class*=" fa-"], i[class*="fa"] {
  font-family: 'FontAwesome' !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  display: inline-block !important;
  speak: none !important;
}

/* ========== PRICING TABLE 2 PROTECTION ========== */

/* Container */
.pricing_table2,
section.pricing_table2 {
  background: #f5f5f5 !important;
  padding: 80px 0 !important;
  position: relative !important;
}

/* Individual pricing boxes */
.pricing_table2 .pricing_box {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding: 40px 30px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Hover state */
.pricing_table2 .pricing_box:hover {
  transform: translateY(-15px) scale(1.02) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
  border-color: #d71c67 !important;
}

/* Active/Featured plan */
.pricing_table2 .pricing_box.active {
  background: #ffffff !important;
  border: 3px solid #d71c67 !important;
  transform: scale(1.08) translateY(-20px) !important;
  box-shadow: 0 25px 60px rgba(215, 28, 103, 0.3) !important;
  z-index: 10 !important;
}

/* Price styling */
.pricing_table2 .pricing_box h1 {
  color: #333333 !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  margin: 20px 0 !important;
  line-height: 1 !important;
}

.pricing_table2 .pricing_box h1 small {
  color: #666666 !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
}

/* Plan name */
.pricing_table2 .pricing_box h5 {
  color: #666666 !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 20px 0 !important;
}

/* Features list */
.pricing_table2 .pricing_box ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 25px 0 !important;
}

.pricing_table2 .pricing_box ul li {
  color: #555555 !important;
  font-size: 15px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  line-height: 1.6 !important;
  transition: all 0.3s ease !important;
}

.pricing_table2 .pricing_box ul li:last-child {
  border-bottom: none !important;
}

.pricing_table2 .pricing_box ul li:hover {
  color: #d71c67 !important;
  padding-left: 10px !important;
}

/* Order button */
.pricing_table2 .pricing_box .order_now {
  margin-top: 25px !important;
}

.pricing_table2 .pricing_box .btn_primary,
.pricing_table2 .pricing_box .order_now .btn_primary {
  background: linear-gradient(135deg, #d71c67 0%, #e0005d 100%) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 40px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  transition: all 0.4s ease !important;
  display: inline-block !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  box-shadow: 0 8px 20px rgba(215, 28, 103, 0.3) !important;
  text-decoration: none !important;
}

.pricing_table2 .pricing_box .btn_primary:hover,
.pricing_table2 .pricing_box .order_now .btn_primary:hover {
  background: linear-gradient(135deg, #ff006a 0%, #d71c67 100%) !important;
  transform: translateY(-3px) scale(1.05) !important;
  box-shadow: 0 12px 30px rgba(215, 28, 103, 0.5) !important;
}

/* ========== FOOTER MODERN PROTECTION ========== */

/* Main footer container */
.footer-modern,
footer.footer-modern {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
  color: #ffffff !important;
  padding: 60px 0 0 !important;
  position: relative !important;
  overflow: hidden !important;
  border-top: 2px solid rgba(6, 182, 212, 0.2) !important;
}

/* Footer main section */
.footer-modern .footer-main {
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Footer widgets */
.footer-modern .footer-widget {
  margin-bottom: 30px !important;
}

/* Footer titles */
.footer-modern .footer-title {
  color: #ffffff !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  margin-bottom: 25px !important;
  position: relative !important;
  padding-bottom: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.footer-modern .footer-title::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 60px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #d71c67 0%, #ff006a 100%) !important;
  border-radius: 2px !important;
}

/* Footer logo */
.footer-modern .footer-logo-box {
  margin-bottom: 20px !important;
  padding-bottom: 15px !important;
  border-bottom: 2px solid rgba(6, 182, 212, 0.25) !important;
}

.footer-modern .footer-logo-img {
  max-width: 160px !important;
  height: auto !important;
  display: block !important;
}

/* Footer description */
.footer-modern .footer-description {
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.8 !important;
  margin-bottom: 25px !important;
  font-size: 14px !important;
}

/* Social links */
.footer-modern .footer-social {
  display: flex !important;
  gap: 12px !important;
  margin-top: 20px !important;
}

.footer-modern .footer-social .social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 45px !important;
  height: 45px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 50% !important;
  margin-right: 10px !important;
  transition: all 0.3s ease !important;
  color: #ffffff !important;
  font-size: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  text-decoration: none !important;
}

.footer-modern .footer-social .social-link:hover {
  background: linear-gradient(135deg, #d71c67 0%, #ff006a 100%) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 20px rgba(215, 28, 103, 0.4) !important;
  border-color: transparent !important;
}

/* Footer menu */
.footer-modern .footer-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-modern .footer-menu li {
  margin-bottom: 12px !important;
}

.footer-modern .footer-menu li a {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  font-size: 14px !important;
}

.footer-modern .footer-menu li a:hover {
  color: #d71c67 !important;
  transform: translateX(8px) !important;
}

/* Contact items */
.footer-modern .contact-item {
  display: flex !important;
  align-items: flex-start !important;
  margin-bottom: 20px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 14px !important;
}

.footer-modern .contact-item i {
  color: #d71c67 !important;
  font-size: 18px !important;
  margin-right: 15px !important;
  margin-top: 3px !important;
  font-family: 'FontAwesome' !important;
}

.footer-modern .contact-item a {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.footer-modern .contact-item a:hover {
  color: #d71c67 !important;
}

/* Footer bottom */
.footer-modern .footer-bottom-modern {
  background: rgba(0, 0, 0, 0.2) !important;
  padding: 25px 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

.footer-modern .footer-copyright {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
}

.footer-modern .footer-copyright p {
  margin: 5px 0 !important;
}

.footer-modern .footer-copyright strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.footer-modern .footer-tagline {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.9rem !important;
  margin-top: 5px !important;
}

/* Payment section */
.footer-modern .footer-payments {
  text-align: right !important;
}

.footer-modern .payment-text {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.95rem !important;
  margin-bottom: 10px !important;
}

.footer-modern .payment-icons {
  display: inline-flex !important;
  gap: 15px !important;
}

.footer-modern .payment-icons i {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 32px !important;
  transition: all 0.3s ease !important;
  font-family: 'FontAwesome' !important;
}

.footer-modern .payment-icons i:hover {
  color: #d71c67 !important;
  transform: translateY(-3px) scale(1.1) !important;
}

/* Scroll to top button */
.footer-modern .scroll-to-top,
.scroll-to-top {
  position: fixed !important;
  bottom: 30px !important;
  right: 30px !important;
  width: 50px !important;
  height: 50px !important;
  background: linear-gradient(135deg, #d71c67 0%, #e0005d 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
  z-index: 999 !important;
  box-shadow: 0 5px 20px rgba(215, 28, 103, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.footer-modern .scroll-to-top.show,
.scroll-to-top.show {
  opacity: 1 !important;
  visibility: visible !important;
}

.footer-modern .scroll-to-top:hover,
.scroll-to-top:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 30px rgba(215, 28, 103, 0.6) !important;
}

.footer-modern .scroll-to-top i,
.scroll-to-top i {
  font-family: 'FontAwesome' !important;
  color: #ffffff !important;
}

/* ========== DARK MODE OVERRIDES ========== */

body.dark-mode .pricing_table2 {
  background: #1a1a1a !important;
}

body.dark-mode .pricing_table2 .pricing_box {
  background: #2a2a2a !important;
  border-color: #3a3a3a !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6) !important;
}

body.dark-mode .pricing_table2 .pricing_box:hover {
  border-color: #d71c67 !important;
  box-shadow: 0 20px 60px rgba(215, 28, 103, 0.4) !important;
}

body.dark-mode .pricing_table2 .pricing_box.active {
  background: #2a2a2a !important;
  border-color: #d71c67 !important;
  box-shadow: 0 25px 70px rgba(215, 28, 103, 0.5) !important;
}

body.dark-mode .pricing_table2 .pricing_box h1 {
  color: #ffffff !important;
}

body.dark-mode .pricing_table2 .pricing_box h5 {
  color: #cccccc !important;
}

body.dark-mode .pricing_table2 .pricing_box ul li {
  color: #b0b0b0 !important;
  border-bottom-color: #3a3a3a !important;
}

body.dark-mode .footer-modern {
  background: linear-gradient(135deg, #0a0a0f 0%, #0d1117 50%, #0f1419 100%) !important;
}

body.dark-mode .footer-modern .footer-main {
  border-bottom-color: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .footer-modern .footer-description,
body.dark-mode .footer-modern .footer-menu li a,
body.dark-mode .footer-modern .contact-item,
body.dark-mode .footer-modern .contact-item a {
  color: rgba(255, 255, 255, 0.7) !important;
}

body.dark-mode .footer-modern .footer-social .social-link {
  background: rgba(255, 255, 255, 0.05) !important;
}

/* ========== RESPONSIVE FIXES ========== */

@media (max-width: 991px) {
  .footer-modern .footer-payments {
    text-align: left !important;
    margin-top: 20px !important;
  }
  
  .pricing_table2 .pricing_box {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 767px) {
  .pricing_table2 .pricing_box.active {
    transform: scale(1) translateY(0) !important;
  }
  
  .scroll-to-top,
  .footer-modern .scroll-to-top {
    bottom: 20px !important;
    right: 20px !important;
    width: 45px !important;
    height: 45px !important;
  }
}
