:root {
  /* --- Bioreux Brand Colors --- */
  --color-primary: #00a651;
  --color-primary-dark: #008a42;
  --color-footer: #1a1a1a;
}

.h-500px { height: 500px; }
.h-600px { height: 600px; }

/* Margin Bottom Utilities */
.mb-1 { margin-bottom: var(--spacing-1); }
.mb-2 { margin-bottom: var(--spacing-2); }
.mb-3 { margin-bottom: var(--spacing-3); }
.mb-4 { margin-bottom: var(--spacing-4); }
.mb-5 { margin-bottom: var(--spacing-5); }
.mb-6 { margin-bottom: var(--spacing-6); }
.mb-8 { margin-bottom: var(--spacing-8); }
.mb-10 { margin-bottom: var(--spacing-10); }
.mb-12 { margin-bottom: var(--spacing-12); }
.mb-16 { margin-bottom: var(--spacing-16); }
.py-100 { padding-top: 100px; padding-bottom: 100px; }
.pt-100 { padding-top: 100px; }
.py-150 { padding-top: 100px; padding-bottom: 100px; }
.pt-150 { padding-top: 100px; }
.pd-150 { padding-bottom: 100px; }
.searchbox input{
  padding: 6px 10px;
}
#industry .card{
  background-color: #00a651;
}
@media (max-width: 768px) {
  .h-500px, .h-600px { height: auto; min-height: 400px; }
  .py-150 { padding-top: 80px; padding-bottom: 80px; }
}

/* Horizontal Scroll for Industries */
.horizontal-scroll {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
  padding-bottom: 20px;
  /* Hide scrollbar */
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
.horizontal-scroll::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}

.horizontal-scroll > .card {
  flex: 0 0 auto;
  width: 85%; /* Mobile friendly width */
  max-width: 350px;
  scroll-snap-align: start;
}

@media (min-width: 768px) {
  .horizontal-scroll > .card {
    width: 320px;
  }
}

/* Scroll Arrows */
.scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(4px);
}

.scroll-arrow:hover {
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--color-primary);
    border-color: white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.left-arrow {
    left: -60px;
}

.right-arrow {
    right: -60px;
}

/* Ensure arrows are visible but don't overlap on slightly smaller screens */
@media (max-width: 1300px) {
    .left-arrow { left: -20px; }
    .right-arrow { right: -20px; }
}
/* Hide arrows on mobile where touch works best, handled by utility class in HTML, but ensuring here just in case */
@media (max-width: 768px) {
    .scroll-arrow { display: none; }
}

/* Negative positioning for badges */
.-top-2 { top: -8px; }
.-right-2 { right: -8px; }