/* ============================================
   tubefabricationmachine.com - Elementor Homepage Styles
   Replicates heat-exchange.com layout
   ============================================ */

/* === General === */
body.elementor-page-9 .elementor-section {
  overflow: hidden;
}

/* === Products Grid === */
.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 30px;
}
.products-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* === Product Card === */
.product-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s, box-shadow 0.3s;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.product-card-img {
  position: relative;
  overflow: hidden;
}
.product-card-img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}
.product-card:hover .product-card-img img {
  transform: scale(1.05);
}
.product-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #EF4444;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: 0.5px;
}
.product-card-info {
  padding: 20px;
}
.product-card-info h3 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
  color: #1E293B;
}
.product-card-info h3 a {
  color: inherit;
  text-decoration: none;
}
.product-card-info h3 a:hover {
  color: #2563EB;
}
.product-card-info p {
  margin: 0;
  font-size: 14px;
  color: #64748B;
  line-height: 1.5;
}

/* === Application Tabs === */
.app-tab-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  padding: 30px 0;
}
.app-tab-text {
  flex: 1;
}
.app-tab-text h3 {
  font-size: 22px;
  font-weight: 700;
  color: #1E293B;
  margin: 0 0 16px;
}
.app-tab-text p {
  font-size: 15px;
  color: #475569;
  line-height: 1.7;
  margin: 0 0 20px;
}
.app-see-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #2563EB;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: gap 0.3s;
}
.app-see-more:hover {
  gap: 14px;
  color: #1D4ED8;
}
.app-tab-img {
  flex: 0 0 400px;
}
.app-tab-img img {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

/* Elementor tabs styling override */
.elementor-tabs {
  border: none !important;
}
.elementor-tabs .elementor-tab-title {
  font-weight: 600;
  font-size: 14px;
  padding: 12px 20px;
}

/* === Cases Section === */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 30px;
}
.case-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.case-images {
  display: flex;
  gap: 4px;
  overflow: hidden;
}
.case-images img {
  width: 33.33%;
  height: 180px;
  object-fit: cover;
}
.case-info {
  padding: 20px;
}
.case-info h3 {
  font-size: 16px;
  font-weight: 600;
  color: #1E293B;
  margin: 0 0 8px;
}
.case-info p {
  font-size: 14px;
  color: #64748B;
  margin: 0;
}

/* === Partners Grid === */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
  margin-top: 30px;
  align-items: center;
}
.partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: filter 0.3s, opacity 0.3s;
}
.partner-logo:hover {
  filter: grayscale(0%);
  opacity: 1;
}
.partner-logo img {
  max-width: 100%;
  max-height: 50px;
  object-fit: contain;
}

/* === Blog Posts Override === */
.elementor-posts {
  margin-top: 30px;
}

/* === Responsive === */
@media (max-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .partners-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .app-tab-content {
    flex-direction: column;
  }
  .app-tab-img {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .products-grid,
  .products-grid-3 {
    grid-template-columns: 1fr;
  }
  .cases-grid {
    grid-template-columns: 1fr;
  }
  .partners-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* ===== FOOTER STYLES ===== */
.site-footer { background: #1a1a2e !important; color: #ccc; }
.site-footer * { color: #ccc; }
.site-footer a { color: #ccc; text-decoration: none; transition: color 0.3s; }
.site-footer a:hover { color: #4a9eff; }
.site-footer h6, .site-footer h3, .site-footer h4 { color: #fff !important; font-weight: 600; }
.site-footer img { max-width: 155px; height: auto; }

/* Footer social icons */
.site-footer .fab, .site-footer .fas { font-size: 20px; margin-right: 12px; }

/* Footer widget columns */
.site-primary-footer-wrap .ast-builder-grid-row-container { max-width: 1200px; margin: 0 auto; padding: 40px 20px; }
.site-footer .widget_block { margin-bottom: 0; }

/* Copyright bar */
.site-below-footer-wrap { background: #151525 !important; }
.site-below-footer-wrap .ast-builder-layout-element { text-align: center; padding: 15px 0; }

/* Ensure FontAwesome loads */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');

/* Cases intro text */
.cases-intro { color: #666; font-size: 16px; text-align: center; max-width: 700px; margin: 0 auto 30px; }

/* Partners description */
.partners-desc { color: #666; font-size: 16px; text-align: center; max-width: 700px; margin: 0 auto 30px; }

/* View All Blogs link */
.view-all-blogs { display: inline-block; margin-top: 30px; padding: 12px 30px; background: #1a3a6e; color: #fff !important; text-decoration: none; border-radius: 4px; font-weight: 600; transition: background 0.3s; }
.view-all-blogs:hover { background: #2a5aae; }
