/* Homepage listings — alternating white / mosaic + unified headings + Special Offers */

.amal-home-listings > section {
  --amal-blue: #0B74DE;
  --amal-ink: #0a2540;
  --amal-muted: #64748b;
  --amal-heading-size: 30px;
  --amal-text-size: 16px;
  position: relative;
  isolation: isolate;
  background-image: none !important;
}

.amal-home-listings > section > .container,
.amal-home-listings > section > .container-fluid {
  position: relative;
  z-index: 1;
}

/* —— Unified section headings (all same size) —— */
.amal-home-listings > section h4,
.amal-home-listings > section h4 a,
.amal-home-listings .heading-stay,
.amal-home-listings .heading-stay a,
.amal-home-listings .heading-sight,
.amal-home-listings .heading-sight a,
.amal-home-listings .amal-home-clubs__title,
.amal-home-listings .amal-home-clubs__title a,
.amal-home-listings .amal-qs__title,
.amal-home-listings .amal-tst__title,
.amal-home-listings .amal-act__title,
.amal-home-listings h6.heading-stay,
.amal-home-listings h6.heading-stay a,
section.amal-wj .amal-wj__title {
  font-size: var(--amal-heading-size, 30px) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.amal-home-listings .amal-tst__title {
  color: #12151a !important;
  font-size: 34px !important;
}

.amal-home-listings .amal-tst__kicker {
  color: #ffffff !important;
  background: #1a1d24 !important;
}

.amal-home-listings > section.amal-tst p.amal-tst__quote {
  font-size: 22px !important;
  color: #1f2430 !important;
  line-height: 1.45 !important;
}

.amal-home-listings > section.amal-tst p.amal-tst__sub {
  font-size: 16px !important;
  color: #6b7280 !important;
}

/* Body / supporting text — larger for readability */
.amal-home-listings > section p,
.amal-home-listings > section .load-more,
.amal-home-listings > section .sight-text,
.amal-home-listings > section .blog-desc,
.amal-home-listings > section .amal-offer-tile__title,
.amal-home-listings > section .amal-qs__copy p,
.amal-home-listings > section .amal-qs__subtitle,
.amal-home-listings > section .amal-act__sub,
.amal-home-listings > section .amal-tst__card p,
.amal-home-listings > section .text-slight-h6,
.amal-home-listings > section h6:not(.heading-stay):not(.amal-home-clubs__title),
section.amal-wj .amal-wj__subtitle {
  font-size: var(--amal-text-size, 16px) !important;
  line-height: 1.55 !important;
}

section.amal-wj .amal-wj__card-text {
  font-size: 19px !important;
  line-height: 1.55 !important;
}

.amal-home-listings > section .amal-qs__copy h3,
.amal-home-listings > section .amal-act__card h3 {
  font-size: 18px !important;
}

.amal-home-listings > section .amal-wj__card-title,
section.amal-wj .amal-wj__card-title {
  font-size: 20px !important;
}

.amal-home-listings > section .amal-offer-tile__cta,
.amal-home-listings > section .amal-qs__link,
.amal-home-listings > section .amal-act__foot a {
  font-size: 15px !important;
}

.amal-home-listings > section .amal-qs__kicker,
.amal-home-listings > section .amal-tst__kicker,
.amal-home-listings > section .amal-act__kicker,
section.amal-wj .amal-wj__kicker {
  font-size: 13px !important;
}

/* White sections — clean, no pattern */
.amal-home-listings > section.amal-bg-plain {
  background-color: #ffffff !important;
}

.amal-home-listings > section.amal-bg-plain::before {
  content: none !important;
  display: none !important;
}

/* Pattern sections — mosaic at 0.4 */
.amal-home-listings > section.amal-bg-pattern {
  background-color: #fafcfe !important;
}

.amal-home-listings > section.amal-bg-pattern::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
  background-image: url("../patterns/amal-mosaic.png");
  background-size: 420px auto;
  background-position: center;
  background-repeat: repeat;
}

/* Fallback before JS classes apply: alternate by section type index */
.amal-home-listings > section:nth-of-type(odd) {
  background-color: #ffffff !important;
}

.amal-home-listings > section:nth-of-type(even) {
  background-color: #fafcfe !important;
}

.amal-home-listings > section:nth-of-type(even)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
  background-image: url("../patterns/amal-mosaic.png");
  background-size: 420px auto;
  background-position: center;
  background-repeat: repeat;
}

.amal-home-listings > section.amal-bg-plain:nth-of-type(even)::before,
.amal-home-listings > section.amal-bg-plain::before {
  content: none !important;
  display: none !important;
}

.amal-home-listings > section.amal-qs {
  background: #0a5fbe !important;
  background-image: none !important;
}

.amal-home-listings > section.amal-qs::before,
.amal-home-listings > section.amal-qs.amal-bg-pattern::before,
.amal-home-listings > section.amal-qs.amal-bg-plain::before,
.amal-home-listings > section.amal-qs:nth-of-type(even)::before {
  content: none !important;
  display: none !important;
}

.amal-home-listings > section.amal-qs .amal-qs__title {
  color: #ffffff !important;
  font-size: 34px !important;
}

.amal-home-listings > section.amal-qs .amal-qs__panel-head p,
.amal-home-listings > section.amal-qs .amal-qs__body-top p,
.amal-home-listings > section.amal-qs .amal-qs__foot p {
  color: #5b6b7c !important;
}

.amal-home-listings > section.amal-qs .amal-qs__subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 17px !important;
}

.amal-home-listings > section.amal-qs h6:not(.heading-stay) {
  font-size: inherit !important;
}

.amal-home-listings > section.amal-home-clubs,
.amal-home-listings > section.amal-home-clubs.amal-bg-plain,
.amal-home-listings > section.amal-home-clubs.amal-bg-pattern,
.amal-home-listings > section.amal-home-clubs.Freelancers.listing-latest-design {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

.amal-home-listings > section.amal-home-clubs .amal-hc__title,
.amal-home-listings > section.amal-home-clubs .amal-hc__title a,
.amal-home-listings > section.amal-home-clubs .amal-home-clubs__title,
.amal-home-listings > section.amal-home-clubs .amal-home-clubs__title a {
  font-size: 34px !important;
  color: #0B1F44 !important;
}

/* Live from the community — always white, no pattern */
.amal-home-listings > section.amal-act,
.amal-home-listings > section.amal-act.amal-bg-pattern,
.amal-home-listings > section.amal-act.amal-bg-plain {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

.amal-home-listings > section.amal-act::before,
.amal-home-listings > section.amal-act.amal-bg-pattern::before,
.amal-home-listings > section.amal-act:nth-of-type(even)::before {
  content: none !important;
  display: none !important;
}

.amal-home-listings section.Freelancers.spoffer {
  padding: 40px 0 48px !important;
  margin: 0 !important;
  border: none !important;
}

.amal-home-listings section.spoffer .amal-offers-head-row {
  margin-bottom: 18px;
}

.amal-home-listings section.spoffer .load-more {
  color: var(--amal-blue) !important;
  font-weight: 700;
  text-decoration: none !important;
}

/* Special Offers — clean carousel tiles */
.amal-offer-tile {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden;
}

.amal-offer-tile__img {
  display: block;
  line-height: 0;
  overflow: hidden;
  background: #e8eef5;
  aspect-ratio: 4 / 3;
}

.amal-offer-tile__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.amal-offer-tile:hover .amal-offer-tile__img img {
  transform: scale(1.04);
}

.amal-offer-tile__body {
  display: block;
  padding: 12px 2px 4px;
}

.amal-offer-tile__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--amal-ink);
  margin: 0 0 6px;
  transition: color 0.2s ease;
}

.amal-offer-tile:hover .amal-offer-tile__title {
  color: var(--amal-blue);
}

.amal-offer-tile__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--amal-blue);
}

.amal-offers-empty-line {
  margin: 8px 0 0;
  color: var(--amal-muted);
  font-size: 14px;
}

@media (max-width: 575.98px) {
  .amal-home-listings > section {
    --amal-heading-size: 24px;
    --amal-text-size: 15px;
  }

  .amal-home-listings > section h4,
  .amal-home-listings > section h4 a,
  .amal-home-listings .heading-stay,
  .amal-home-listings .heading-stay a,
  .amal-home-listings .heading-sight,
  .amal-home-listings .heading-sight a,
  .amal-home-listings .amal-home-clubs__title,
  .amal-home-listings .amal-home-clubs__title a,
  .amal-home-listings .amal-qs__title,
  .amal-home-listings .amal-tst__title,
  .amal-home-listings .amal-act__title,
  .amal-home-listings h6.heading-stay,
  .amal-home-listings h6.heading-stay a,
  section.amal-wj .amal-wj__title {
    font-size: 24px !important;
  }

  .amal-home-listings > section .amal-qs__copy h3,
  .amal-home-listings > section .amal-act__card h3,
  section.amal-wj .amal-wj__card-title {
    font-size: 20px !important;
  }

  .amal-offer-tile__title {
    font-size: 15px;
  }
}
