/*--------------------------------------------------------------
# CW SPONSOR plugin styles
--------------------------------------------------------------*/


.cw-block-sponsor-row+.cw-block-sponsor-category-title,
.cw-block-sponsor-row+.cw-block-sponsor-text {
  margin-top: 1.5rem;
}

.block-sponsor-category-group+.block-sponsor-category-group {
  margin-top: var(--space-12);
}

.cw-logos-with-borders .cw-block-sponsor-category-title {
  margin-bottom: var(--space-12);
}

.cw-logos-with-borders .cw-logo-with-border {
  background-color: #fff;
}

.cw-sponsor-archive-grid,
.cw-sponsor-column-list {
  --sponsor-radius: 4px;
  --sponsor-gap: 0.5rem;
  --sponsor-padding: 1rem;
  --sponsor-padding-total: calc(var(--sponsor-padding) * 2);
  --sponsor-padding-half: calc(var(--sponsor-padding) / 2);
  --grid-sm: 1;
  --grid-lg: 4;
  --grid-2xl: 6;
}

.cw-sponsor-archive-grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-sm), minmax(0, 1fr));
  gap: var(--sponsor-gap);
}

@media (min-width: 1024px) {
  .cw-sponsor-archive-grid {
    grid-template-columns: repeat(var(--grid-lg), minmax(0, 1fr));
  }
}

@media (min-width: 1536px) {
  .cw-sponsor-archive-grid {
    grid-template-columns: repeat(var(--grid-2xl), minmax(0, 1fr));
  }
}

.cw-sponsor-archive-grid .cw-sponsor-card {
  position: relative;
  border: 1px solid #eee;
  border-radius: var(--sponsor-radius);
  background-color: white;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.cw-sponsor-archive-grid .cw-sponsor-type {
  position: absolute;
  background: linear-gradient(0deg, rgb(204, 20, 20) 0.00%, rgb(255, 59, 0) 100.00%);
  color: white;
  font-size: .6rem;
  font-weight: bold;
  border-top-left-radius: var(--sponsor-radius);
  padding: var(--sponsor-padding-half) var(--sponsor-padding);
  margin-left: -1px;
  margin-top: -1px;
  text-transform: uppercase;
}

.cw-sponsor-archive-grid .sponsor-profile {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
  /* Limits text to 3 lines */
  max-height: 4.5em;
  /* Adjust this based on line height to fit exactly three lines */
  line-height: 1.5em;
  /* Adjust line-height as needed */
      
  font-size: .8rem;
  color: #666;
}
.cw-sponsor-archive-grid .cw-sponsor-archive-link,
.cw-sponsor-column-list .cw-sponsor-archive-link {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.cw-sponsor-archive-grid .cw-sponsor-url,
.cw-sponsor-archive-grid a,
.cw-sponsor-column-list .cw-sponsor-url,
.cw-sponsor-column-list a {
  white-space: nowrap;
}

.cw-sponsor-archive-grid .cw-sponsor-image-container {
  padding: var(--sponsor-padding) var(--sponsor-padding) 0 var(--sponsor-padding);
  aspect-ratio: 16/9;
  width: calc(100% - var(--sponsor-padding-total));
  display: flex;
}

.cw-sponsor-archive-grid .cw-sponsor-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cw-sponsor-archive-grid .cw-sponsor-meta,
.cw-sponsor-column-list .cw-sponsor-meta {
  padding: var(--sponsor-padding);
  display: flex;
  flex-direction: column;
  gap: .25rem;
  font-size: 1rem;
}
.cw-sponsor-column-list .cw-sponsor-meta {
    padding-top: var(--sponsor-padding);
}
.cw-sponsor-archive-grid .cw-sponsor-meta *,
.cw-sponsor-column-list .cw-sponsor-meta * {
  margin: 0;
}

/* When the sponsor list wrapper is used inside the archive grid,
   make the structural wrapper transparent to layout so each
   sponsor item participates in the grid. This keeps the DOM
   wrapper available for scripts/selectors while giving the
   grid control over layout. */
.cw-sponsor-archive-grid > .cw-block-sponsor-row {
  display: contents;
}

/* Accessibility note: `display: contents` can affect the
   accessibility tree in some assistive technologies. If the
   wrapper carries ARIA roles/labels, move those to the sponsor
   items themselves or test with relevant assistive tech. */

/* Column list styles */
.cw-sponsor-column-list {
  display: block;
}

.cw-sponsor-column-list .cw-sponsor-card {
  width: 100%;
  margin-bottom: 1.5rem;
}

.cw-sponsor-column-list .cw-sponsor-type {
  position: static;
  margin-bottom: .5rem;
}

.cw-block-sponsor-category-title {
  font-size: 1.25rem;
  margin: 1rem 0 .5rem;
}


.cw-sponsor-column-list .sponsor-profile {
    display: block;
    max-height: none;
    overflow: visible;
    font-size: 1rem;
}
.cw-sponsor-column-list .sponsor-profile p + p {
  margin-top: .5em;
}
.cw-sponsor-column-list .cw-sponsor-card {
  position: relative;
  border: 1px solid #eee;
  border-radius: var(--sponsor-radius);
  background-color: white;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  align-items: start;
}

@media (max-width: 1024px) {
  .cw-sponsor-column-list .cw-sponsor-card {
  flex-direction: column;
    }
  }

 .cw-sponsor-column-list .cw-sponsor-image-container {
  padding: 1rem;
  aspect-ratio: 16 / 9;
  width: 100%;
  display: flex;
}
@media (min-width: 1024px) {
  .cw-sponsor-column-list .cw-sponsor-image-container {
  min-width: 30% !important;
  max-width: 30% !important;
    }
  }

.cw-sponsor-column-list .cw-sponsor-image-container .cw-sponsor-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cw-sponsor-column-list .cw-block-sponsor-category-title {
  margin-top: calc(var(--sponsor-padding-total) * 2);
}

/* Heading background styles activated via the `heading-has-background` class */
.cw-sponsor-column-list .cw-block-sponsor-category-title.heading-has-background {
  color: #fff; /* default text colour when background is used */
  padding: .5rem .75rem;
  display: inline-block;
  border-radius: 4px;
}