/* ==========================================================================
   USP SECTION CSS - Following highlight-products structure pattern
   ========================================================================== */

/* USP Section Base Styles */
.usp-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--Space-15, 60px) var(--Space-10, 40px);
}

.usp-wrapper {
  display: flex;
  width: 100%;
  max-width: 1200px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.usp-wrapper .grid-container {
  gap: var(--Space-10, 40px);
  max-width: 100%;
  margin: 0 auto;
  grid-template-columns: 1fr; /* Mobile-first: 1 column */
}

.usp-wrapper .grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.usp-wrapper .grid-item .usp-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 365px;
  width: 100%;
}

.usp-wrapper .grid-item .usp-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

.usp-wrapper .grid-item .usp-title {
  margin: 0;
  color: #23252a;
  text-align: center;
  /* Heading/Serif/Medium */
  font-family: var(--Type-Font-Serif, "Plus Jakarta Sans");
  font-size: var(--Heading-Size-Medium, 24px);
  font-style: normal;
  font-weight: var(--Heading-Font-Weight, 700);
  line-height: 140%; /* 28px */
  margin-bottom: var(--Space-2, 8px);
}

.usp-wrapper .grid-item .usp-description {
  margin: 0;
  color: #44474e;
  text-align: center;
  /* Single_Line/Small/Regular */
  font-family: var(--Type-Font-Serif, "Plus Jakarta Sans");
  font-size: var(--Body-Size-Small, 16px);
  font-style: normal;
  font-weight: var(--Body-Font-Weight-Regular, 400);
  line-height: 140%; /* 22.4px */
  letter-spacing: -0.16px;
  max-width: 320px;
}

/* Responsive USP Section Positioning */
.usp-section-desktop {
  display: none; /* Hidden by default (mobile first) */
}

.usp-section-mobile {
  display: block; /* Shown by default (mobile first) */
}

.usp-mobile-spacing {
  display: block; /* Shown by default for mobile spacing */
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */

/* Mobile Responsive */
@media (max-width: 575px) {
  .usp-section {
    padding: var(--Space-8, 32px) var(--Space-4, 16px);
  }

  .usp-wrapper {
    padding: var(--space-spacer-1-rem, 16px);
    gap: var(--space-spacer-1-rem, 16px);
  }

  .usp-wrapper .grid-container {
    gap: var(--Space-8, 32px);
  }

  .usp-wrapper .grid-item .usp-item {
    gap: 4px;
  }


  .usp-wrapper .grid-item .usp-title {
    font-size: var(--Heading-Size-Medium, 20px);
    margin-bottom: var(--Space-1-5, 6px);
  }

  .usp-wrapper .grid-item .usp-description {
    font-size: var(--Body-Size-Small, 14px);
    max-width: 300px;
  }
}

/* Tablet Responsive */
@media (min-width: 576px) and (max-width: 991px) {
  .usp-section {
    padding: var(--Space-10, 40px) var(--Space-5, 20px);
  }

  .usp-wrapper {
    gap: var(--Space-8, 32px);
  }

  .usp-wrapper .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }

  .usp-wrapper .grid-item .usp-item {
    max-width: 300px;
    gap: var(--space-spacer-1-rem, 8px);
  }


  .usp-wrapper .grid-item .usp-title {
    font-size: var(--Heading-Size-Medium, 20px);
  }

  .usp-wrapper .grid-item .usp-description {
    font-size: var(--Body-Size-Small, 14px);
  }

  /* Third item spans both columns and centers */
  .usp-wrapper .grid-item:nth-child(3) {
    grid-column: 1 / -1;
    justify-self: center;
  }
}

/* Desktop Responsive */
@media (min-width: 992px) {
  .usp-section {
    padding: var(--Space-15, 60px) var(--Space-10, 40px);
  }

  .usp-wrapper {
    width: 100%;
    gap: var(--Space-10, 40px);
  }

  .usp-wrapper .grid-item {
    gap: var(--space-spacer-1-rem, 16px);
  }

  .usp-wrapper .grid-container {
    grid-template-columns: repeat(3, 1fr);
  }

  .usp-wrapper .grid-item .usp-item {
    gap: var(--space-spacer-1-rem, 16px);
  }

  .usp-wrapper .grid-item .usp-title {
    font-size: var(--Heading-Size-Medium, 24px);
  }

  .usp-wrapper .grid-item .usp-description {
    font-size: var(--Body-Size-Small, 16px);
  }

  /* Desktop: Show top USP section, hide bottom one */
  .usp-section-desktop {
    display: block;
  }

  .usp-section-mobile {
    display: none;
  }

  .usp-mobile-spacing {
    display: none;
  }
}
