.featured-listings-wrap,
.local-listings-wrap {
  padding-left: var(--global-content-edge-padding);
  padding-right: var(--global-content-edge-padding);
  padding-top: var(--global-kb-spacing-xxl, 5rem);
  padding-bottom: var(--global-kb-spacing-xxl, 5rem);
}

.featured-listings-wrap {
  background-color: var(--listing-wrap-bg, var(--global-palette6));
}

.featured-listings {
  display: grid;  
  max-width: var(--listing-container-width, 1920px);
  --listing-padding: 1rem;
  justify-content: center;
  margin-inline: auto;
  gap: 2rem;
}

@media (min-width: 680px) {
  .featured-listings {
    grid-template-columns: min(100%, 600px);
  }
}

@media (min-width: 900px) {
  .featured-listings {
    --listing-padding: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .featured-listings--one {
    grid-template-columns: min(100%, 600px);
  }

  .single-post .featured-listings {
    grid-template-columns: min(100%, 750px);
  }
}

@media (min-width: 1200px) {
  .featured-listings {
    --listing-padding: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
  }

  .featured-listings--one {
    grid-template-columns: 40%;
  }

  .single-post .featured-listings--one {
    grid-template-columns: 75%;
  }

  .featured-listings--two {
    grid-template-columns: repeat(2, 40%);
  }
  
  .single-post .featured-listings--two {
    grid-template-columns: min(100%, 600px);
  }
}

@media (min-width: 1400px) {
  .single-post .featured-listings--two {
    grid-template-columns: repeat(2, calc(50% - var(--listing-padding)));
  }
}

.featured-listings-wrap .featured-listings__title,
.local-listings-wrap .local-listings__title {
  margin-bottom: 2.5rem;
  text-align: center;
}

.featured-listing {
  background: var(--listing-bg, #fff);
  display: flex;
  flex-direction: column;
}

.featured-listing__header {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  background: var(--listing-header-bg, var(--global-palette7));
  padding: var(--listing-padding);
}

@media (min-width: 680px) {
  .featured-listing__company-meta {
    min-width: max-content;
  }
}

.featured-listing .featured-listing__name {
  margin-bottom: 0.15rem;
}

.featured-listing__address {
  font-size: 0.85rem;
}

.featured-listing__content {
  padding: var(--listing-padding);
}

.featured-listing__description {
  font-size: 0.85rem;
}

.featured-listing__description p:not(:last-child) {
  margin-bottom: 1rem;
}

.featured-listing__footer {
  display: grid;
  margin-top: auto;
  gap: 1rem;
  padding-inline: var(--listing-padding);
  padding-bottom: var(--listing-padding);
  background: var(--listing-footer-bg, #fff);
}

@media (min-width: 360px) {
  .featured-listing__footer {
    grid-template-columns: repeat(3, max-content);
  }
}

.listing__modal-phonelink {
  display: block;
  text-align: center;
}

.company-logo-wrap {
  max-width: 250px;
}

.company-logo--has-light-background {
  padding: 0.5rem;
  background-color: var(--global-palette9, #fff);
}

.company-logo--has-dark-background {
  padding: 0.5rem;
  background-color: var(--global-palette3, #212121);
}

.company-button {
  font-size: 0.85em;
  text-decoration: none;
  text-align: center;
  border: 2px solid var(--listing-button-bg, var(--global-palette-btn-bg));
  background: var(--listing-button-bg, var(--global-palette-btn-bg));
  color: var(--listing-button, var(--global-palette-btn));
  padding: 0.4em 1em;
  border-radius: 24rem;
  transition: all 0.2s ease;
  font-weight: 600;
}

.company-button:hover,
.company-button:focus {
  --listing-button-bg: var(--listing-button-bg-hover, var(--global-palette7));
  --listing-button: var(--listing-button-hover, var(--global-palette3));
  border-color: var(--listing-button-bg) !important;
}

.company-button--secondary {
  --listing-button-bg: var(--listing-button-secondary-bg, var(--global-palette5));
  --listing-button: var(--listing-button-secondary, #fff);
}

.company-button--tertiary {
  --listing-button-bg: transparent;
  --listing-button: var(--listing-button-secondary-bg, var(--global-palette5));
  border-color: var(--listing-button) !important;
}

.single-bedrift .company-button {
  font-size: 1.125rem;
  font-weight: 400;
}

.other-companies {
  list-style: none;
  padding-left: 0 !important;  
}
  
.other-company {
  margin: 0 !important;
  background: #fff;
  padding-block: 1rem;
  padding-inline: 2rem;
  font-size: .9rem;
}
  
.other-company:nth-child(odd) {
  background: var(--global-palette8);
}
  
.other-company:last-child {
  border-bottom-right-radius: 50px;
  border-bottom-left-radius: 50px;
}

.other-company--partner {
  font-size: 1rem;
  font-weight: 600;
}

.other-company--partner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.4;
  gap: .75rem;
}

.other-company__partner-button {
  background: var(--global-palette-btn-bg);
  color: var(--global-palette-btn);
  white-space: nowrap;
  text-decoration: none;
  font-weight: normal;
  font-size: .85rem;
  padding: .25rem .75rem;
  border-radius: 12rem;
}

.other-company__partner-button:hover,
.other-company__partner-button:focus {
    background: var(--global-palette-btn-bg-hover);
    color: var(--global-palette-btn-hover);
}

@media (min-width: 768px) {
  .company-button--small-screens-only {
    display: none;
  }
}

@media (max-width: 767px) {
  .company-button--large-screens-only {
    display: none;
  }
}

.single-content .banner {
  position: relative;
  margin-block: 2rem;
  display: flex;
  gap: 1rem;
  font-size: 0.75rem;
  padding: var(--banner-padding, 1rem);
  background: var(--banner-bg, var(--global-palette7));
}

.single-content .banner__name {
  font-size: 1.5em;
  margin-bottom: 0;
}

.single-content .banner__label {
  background: var(--banner-label-bg, var(--global-palette2));
  color: var(--banner-label-color, var(--global-palette7));
  font-size: 0.8em;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0.25rem;
  line-height: 1;
  display: inline-block;
  position: absolute;
  right: 0.25rem;
  top: 0.25rem;
}

.single-content .banner__buttons {
  margin-top: 0.5em;
  font-size: 1.1em;
  display: grid;
  gap: 0.5em;
}

@media (min-width: 400px) {
  .single-content .banner__buttons {
    grid-template-columns: repeat(3, max-content);
  }
}

.local-listings {
  --local-listing-padding: 1rem;
  display: grid;
  grid-template-columns: min(100%, 400px);
  justify-content: center;
  margin-inline: auto;
  gap: 2rem;
}

@media (min-width: 900px) {
  .local-listings:not(.local-listings--one) {
    grid-template-columns: repeat(2, 400px);    
  }

  .local-listings:not(.local-listings--one) .local-listing__company-meta:only-child {
    margin-top: 3rem;
  }
}

@media (min-width: 1280px) {
  .local-listings:not(.local-listings--one):not(.local-listings--two) {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1600px) {
  .local-listings:not(.local-listings--one):not(.local-listings--two):not(.local-listings--three) {
    grid-template-columns: repeat(4, 1fr);
  }

  .local-listings.local-listings--three:not(.local-listings--one):not(.local-listings--two) {
    grid-template-columns: repeat(3, 400px);
  }
}

@media (min-width: 1900px) {
  .local-listings:not(.local-listings--one):not(.local-listings--two):not(.local-listings--three):not(.local-listings--four) {
    grid-template-columns: repeat(5, 1fr);
  }

  .local-listings.local-listings--four:not(.local-listings--one):not(.local-listings--two):not(.local-listings--three) {
    grid-template-columns: repeat(4, 400px);
  }
}
@media (min-width: 2250px) {
  .local-listings:not(.local-listings--one):not(.local-listings--two):not(.local-listings--three):not(.local-listings--four) {
    grid-template-columns: repeat(5, 400px);
  }
}

.local-listing {
  display: flex;
  flex-direction: column;
  background: var(--local-listing-bg, #fff);
  border-radius: 50px;
  font-size: .75rem;
  text-align: center;
}

.local-listings__title {
  color: var(--local-listing-title-color, var(--global-palette8));
}

.local-listing__header {
  padding: var(--local-listing-padding, 1rem);
}

.local-listing .company-logo-wrap {
  max-width: 200px;
  height: 85px;
  margin-inline: auto;
  margin-bottom: 1em;  
}

.local-listing .company-logo {
  margin-inline: auto;
  height: 100%;
  object-fit: contain;
}

.local-listing .local-listing__name {
  font-weight: 900;
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: .15em;
}

.local-listing__address {
  font-weight: 600;
  font-size: .9em;
}

.local-listing__content {  
  padding-inline: var(--local-listing-padding, 1.5rem);
  padding-bottom: var(--local-listing-padding, 1.5rem);
}

.local-listing__footer {
  display: flex;
  margin-top: auto;
  gap: .5rem;
  flex-wrap: wrap;
  background: var(--local-listing-footer-bg, var(--global-palette8));
  padding: var(--local-listing-footer-padding, 1rem);
  border-bottom-right-radius: 50px;
  border-bottom-left-radius: 50px;
  justify-content: center;  
  font-size: .95em;
}

.local-listing__footer a[href*='action=edit'] {
  flex-basis: 100%;
}