/* =============================================
   GRADIENT BLEND HERO & CENTERED ARCHIVE STYLES
   ============================================= */

/* 1. Full-Width Hero Section */
.tff-archive-gradient-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 420px !important;
  background-size: cover !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-color: #0F1410 !important;
  padding: 48px 0 !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* Multi-stop Left-to-Right Dark Gradient Overlay */
.tff-hero-gradient-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, 
    rgba(15, 20, 16, 0.98) 0%, 
    rgba(15, 20, 16, 0.88) 45%, 
    rgba(15, 20, 16, 0.35) 80%, 
    rgba(15, 20, 16, 0.05) 100%
  ) !important;
  z-index: 1 !important;
}

/* Hero Content Panel */
.tff-hero-gradient-container {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}

.tff-hero-content-panel {
  max-width: 760px !important;
  color: #ffffff !important;
}

/* Breadcrumbs in Hero */
.tff-hero-breadcrumbs .breadcrumbs,
.tff-hero-breadcrumbs .breadcrumbs a,
.tff-hero-breadcrumbs .breadcrumbs .current {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Main Hero Title */
.tff-hero-main-title {
  font-family: var(--font-display) !important;
  font-size: clamp(28px, 4.5vw, 42px) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 12px 0 16px 0 !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
}

/* Trust Badges Strip */
.tff-hero-trust-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
}

.tff-hero-badge {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  backdrop-filter: blur(6px) !important;
}

.tff-hero-badge.price-badge {
  background: rgba(244, 166, 35, 0.25) !important;
  border-color: rgba(244, 166, 35, 0.5) !important;
  color: #FFD700 !important;
}

/* Glassmorphism Quick Answer Box */
.tff-hero-quick-answer-glass {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-left: 4px solid var(--color-accent, #F4A623) !important;
  border-radius: var(--radius-md, 12px) !important;
  padding: 16px 20px !important;
  backdrop-filter: blur(8px) !important;
  margin-top: 10px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
}

.tff-hero-quick-answer-glass .quick-title {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #FFD700 !important;
  margin-bottom: 6px !important;
}

.tff-hero-quick-answer-glass p {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}

/* 2. Main Centered Wrapper Below Hero */
.tff-archive-centered-wrapper {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 36px 20px 60px !important;
  box-sizing: border-box !important;
}

/* Intro Text */
.tff-archive-intro-text p {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: var(--color-text-2, #4A5C4E) !important;
  margin-bottom: 28px !important;
  font-family: var(--font-body) !important;
}

/* Toolbar Filters */
.tff-archive-filter-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-bottom: 28px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--color-border, #E2EBE4) !important;
}

.tff-filter-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: auto !important;
}

.tff-archive-sort-form select {
  padding: 8px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  border-radius: var(--radius-md, 10px) !important;
  border: 1.5px solid var(--color-border, #E2EBE4) !important;
  background: var(--color-bg, #ffffff) !important;
  color: var(--color-text, #1a1a1a) !important;
  outline: none !important;
}

.tff-sub-chips {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.tff-sub-chip {
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 5px 12px !important;
  border-radius: 50px !important;
  background: var(--color-bg-2, #F7F9F7) !important;
  border: 1px solid var(--color-border, #E2EBE4) !important;
  color: var(--color-text-2, #4A5C4E) !important;
  text-decoration: none !important;
}

/* 3-Column Grid Layout */
.tff-archive-grid-3col {
  display: grid; /* Removed !important so JS can hide it */
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 40px !important;
}
@media (max-width: 991px) {
  .tff-archive-grid-3col {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 600px) {
  .tff-archive-grid-3col {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .tff-archive-gradient-hero {
    padding: 32px 0 !important;
    min-height: auto !important;
  }
}

/* Pagination */
.tff-archive-pagination {
  margin-bottom: 50px !important;
  text-align: center !important;
}

/* Section Titles */
.tff-archive-section-title {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--color-text, #1a1a1a) !important;
  margin: 0 0 16px 0 !important;
}

/* FAQs Accordion */
.tff-archive-faqs-section {
  margin-bottom: 50px !important;
  padding-top: 24px !important;
  border-top: 1.5px solid var(--color-border, #E2EBE4) !important;
}

.tff-archive-faq-item {
  border: 1.5px solid var(--color-border, #E2EBE4) !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
  background: var(--color-surface, #ffffff) !important;
  overflow: hidden !important;
}

.tff-archive-faq-q {
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 20px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--color-text, #1a1a1a) !important;
  background: var(--color-bg-2, #F7F9F7) !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
}

.tff-archive-faq-plus {
  color: var(--color-primary, #1A7F4B) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid var(--color-border, #E2EBE4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.tff-archive-faq-a {
  display: none;
  padding: 18px 20px !important;
  font-size: 14.5px !important;
  color: var(--color-text-2, #4A5C4E) !important;
  line-height: 1.65 !important;
  background: #ffffff !important;
  border-top: 1px solid var(--color-border, #E2EBE4) !important;
  font-family: var(--font-body) !important;
}

.tff-archive-faq-item.open .tff-archive-faq-a {
  display: block !important;
}

.tff-archive-faq-item.open .tff-archive-faq-plus {
  background: var(--color-primary, #1A7F4B) !important;
  color: #ffffff !important;
  border-color: var(--color-primary, #1A7F4B) !important;
}

/* Related Links Section */
.tff-archive-related-section {
  padding-top: 24px !important;
  border-top: 1.5px solid var(--color-border, #E2EBE4) !important;
}

.tff-archive-related-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 16px !important;
}

.tff-related-box {
  border: 1.5px solid var(--color-border, #E2EBE4) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  background: var(--color-bg-2, #F7F9F7) !important;
}

.tff-related-box-title {
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--color-text-3, #7A917E) !important;
  margin-bottom: 12px !important;
}

.tff-related-chips .tff-chip {
  display: inline-block !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  background: #ffffff !important;
  border: 1px solid var(--color-border, #E2EBE4) !important;
  color: var(--color-text-2, #4A5C4E) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin: 0 6px 8px 0 !important;
  transition: all 0.15s ease !important;
}

.tff-related-chips .tff-chip:hover {
  background: var(--color-primary, #1A7F4B) !important;
  color: #ffffff !important;
  border-color: var(--color-primary, #1A7F4B) !important;
}

/* =============================================
   MAP CANVAS (TOGGLE VIEW)
   ============================================= */
.tff-archive-map {
  display: none; /* By default hidden */
  width: 100% !important;
  height: 500px !important; /* Map ki height fix karni zaroori hai */
  border-radius: var(--radius-lg, 16px) !important;
  overflow: hidden !important;
  margin-bottom: 40px !important;
  background: #e5e7eb !important;
  border: 1.5px solid var(--color-border, #E2EBE4) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.05) !important;
  z-index: 10 !important;
}

/* Jab JS .active class lagaye toh Map show ho jaye */
.tff-archive-map.active {
  display: block !important;
}

.tff-archive-map .map-canvas {
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}