/* ===============================================================
   BRAND CAROUSEL STYLES (row.css)
   Extracted from index.css for modularity
   =============================================================== */

/* --- Side-Scrolling Carousel Layout --- */
.carousel-wrapper {
  position: relative;
  width: 100%;
}

.brand-carousel {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 2rem; /* Creates space for the custom scrollbar */
  scrollbar-width: thin; /* For Firefox */
  scrollbar-color: #f68b1e #112240; /* For Firefox */
}

/* Custom Webkit Scrollbar for Chrome/Safari */
.brand-carousel::-webkit-scrollbar {
  height: 8px;
}
.brand-carousel::-webkit-scrollbar-track {
  background: #112240;
  border-radius: 10px;
}
.brand-carousel::-webkit-scrollbar-thumb {
  background-color: #f68b1e;
  border-radius: 10px;
}

/* --- Individual Brand Cards --- */
.brand-card {
  /* Flex settings allow 3 cards visible at a time on desktop, shrinking for smaller screens */
  flex: 0 0 calc(33.333% - 1.33rem); 
  min-width: 320px; 
  background: #112240;
  border: 1px solid rgba(246, 139, 30, 0.15);
  border-radius: 12px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  overflow: hidden;
}

.brand-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
  border-color: rgba(246, 139, 30, 0.5);
}

/* Card Header (Logo Area) */
.brand-logo {
  background: #ffffff;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid #f68b1e;
}

/* Fallback styling for when actual brand logo images aren't uploaded yet */
.brand-logo h3 {
  color: #0b1c35;
  font-size: 1.8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}

.brand-logo img {
  max-width: 75%;
  max-height: 75%;
  object-fit: contain;
}

/* Card Body */
.brand-info {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Pushes the button to the bottom */
}

.brand-info h4 {
  font-size: 1.25rem;
  margin-bottom: 0.8rem;
  color: #ffffff;
  font-weight: 700;
}

.brand-info p {
  color: #94a3b8;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  flex-grow: 1;
}

/* Text-Based Call to Action */
.btn-text {
  color: #f68b1e;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.3s ease, transform 0.3s ease;
}

.btn-text:hover {
  color: #ffffff;
  transform: translateX(4px);
}

/* Responsive Scaling for Tablets and Mobile */
@media (max-width: 1024px) {
  .brand-card {
    flex: 0 0 calc(50% - 1rem); /* 2 items visible */
  }
}

@media (max-width: 768px) {
  .landing-brands {
    padding: 4rem 5%;
  }
  
  .section-title {
    font-size: 2rem;
  }

  .brand-card {
    flex: 0 0 85%; /* 1 item visible, hints at scrolling */
    min-width: unset;
  }
}