/* Nexovo overrides: highlighted Get a Quote button + small UX polishes */
a.quote-btn,
.navbar .quote-btn,
.menu a.quote-btn {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  background: linear-gradient(90deg, #ff6a00, #ffab00);
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(255, 153, 0, 0.35);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  line-height: 10px !important;
  padding: 20px !important;
}
a.quote-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(255, 153, 0, 0.45);
  filter: brightness(1.02);

}
/* In nav bars that use <li><a></a></li> ensure spacing */
li:has(> a.quote-btn) { list-style: none; }
li > a.quote-btn { margin-left: .5rem; }

/* put this in overrides.css loaded LAST */
.sticky-header .main-menu .navigation > li > a.quote-btn,
.main-header  .main-menu .navigation > li > a.quote-btn,
.header-lower .main-menu .navigation > li > a.quote-btn {
  padding: 12px 18px !important;
  line-height: 20px !important;
  display: inline-flex;                /* keeps pill shape tidy */
  align-items: center;
  border-radius: 999px;
  margin-top: 13px;
}

/* Minimal cookie banner styles */
.nx-cookie-banner{
  position: fixed; left:0; right:0; bottom:0; z-index: 9999;
  background: #2e2a5a; /* close to your purple */
  color:#fff; padding:.75rem 0; box-shadow: 0 -4px 16px rgba(0,0,0,.12);
}
.nx-cookie-inner{ display:flex; align-items:center; gap:1rem; }
.nx-cookie-text{ margin:0; flex:1; }
.nx-cookie-actions{ display:flex; gap:.5rem; }
.nx-cookie-actions .btn-style-one{ background:#ff9f1c; border:none; }
.nx-cookie-actions .btn-style-two{ background:#4b4791; border:none; }
.nx-cookie-banner a{ color:#ffd; text-decoration: underline; }
@media (max-width: 767px){
  .nx-cookie-inner{ flex-direction:column; align-items:flex-start; }
}

/* ===== Case Studies layout ===== */
.case-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: clamp(16px, 2vw, 24px);
}

/* Card = equal height, hover, clean rhythm */
.case-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 1px rgba(0,0,0,.02);
  transition: transform .18s ease, box-shadow .18s ease;
}
.case-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(18, 31, 56, .08);
}

/* Lock covers to 16:9 regardless of image size */
.case-thumb img {
  width: 100%;
  aspect-ratio: 16/9;         /* modern browsers */
  object-fit: cover;
  display: block;
}

/* Body pushes CTA to the bottom for equal-height look */
.case-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 18px 18px;
}
.case-meta { color:#6b7280; font-size: .9rem; }
.case-points { margin: 6px 0 0; padding-left: 18px; }
.case-points li { margin: 4px 0; }

/* CTA pin to bottom */
.case-cta { margin-top: auto; }
.case-cta .btn-link { font-weight: 600; }

/* ===== Filter pills ===== */
.cs-filter {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0 6px;
}
@media (max-width: 640px){
  .cs-filter {
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
  }
  .cs-filter > * { scroll-snap-align: start; }
}
.cs-filter .pill {
  border: 1px solid #d9dbe1;
  background: #fff;
  color: #374151;
  border-radius: 999px;
  padding: 6px 12px;
  line-height: 1;
  font-size: .9rem;
  cursor: pointer;
}
.cs-filter .pill:focus {
  outline: 2px solid #6c63ff; /* your brand focus */
  outline-offset: 2px;
}
.cs-filter .pill[aria-pressed="true"],
.cs-filter .pill.is-active {
  background: #5c52d6;  /* brand primary */
  border-color: #5c52d6;
  color: #fff;
}

/* ===== Spacing rhythm between sections ===== */
.section-tight { margin-block: clamp(24px, 4vw, 40px); }

/* ===== Prefer-reduced-motion: tone down big animations ===== */
@media (prefers-reduced-motion: reduce) {
  .case-card, .case-card:hover { transition: none; }
}

/* ===== Minor: FAQ accordion spacing tidy ===== */
#faq-title + .accordion .card-header { padding: .5rem 1rem; }
#faq-title + .accordion .card-body   { padding: .75rem 1rem 1rem; }

/* ===== Footer tiny fix: keep brand consistent (optional) ===== */
.footer .copyright { white-space: normal; }

.cs-card .inner-box {
  display: grid;
  gap: .75rem;
}

.cs-card .media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: .5rem;
}

.cs-card .media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

.default-bg-section .image-layer::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.36), rgba(0,0,0,.28));
}
.default-bg-section .content-box{ color:#fff; }

.cta-widget{margin-top: 10px;}