.offers-page {
  padding-top:8rem
}

.offers-hero,
.offers-results,
.offers-list,
.offers-cta__inner {
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
  padding-left:80px;
  padding-right:80px
}

.offers-hero {
  margin-bottom:4rem
}

.offers-hero__head {
  margin-bottom:3rem
}

.offers-hero__title {
  margin:0 0 1rem;
  color:#001843;
  font-family:"Playfair Display",Georgia,serif;
  font-size:96px;
  font-weight:700;
  line-height:1
}

.offers-hero__lead {
  max-width:42rem;
  margin:0;
  color:#434651;
  font-family:Inter,Arial,sans-serif;
  font-size:18px;
  line-height:28px
}

.offers-filter {
  border:1px solid rgba(117,119,128,.3);
  border-radius:12px;
  background:#fff;
  padding:2rem;
  box-shadow:0 24px 48px rgba(15,33,69,.05)
}

.offers-filter__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem
}

.offers-filter__eyebrow {
  color:#001843;
  font-family:Inter,Arial,sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1rem;
  text-transform:uppercase
}

.offers-filter__grid {
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem
}

.offers-filter__grid--compact {
  align-items:end
}

.offers-filter__field {
  display:flex;
  flex-direction:column;
  gap:.5rem
}

.offers-filter__label {
  color:#001843;
  font-family:Inter,Arial,sans-serif;
  font-size:.75rem;
  font-weight:600;
  line-height:1rem;
  text-transform:uppercase
}

.offers-filter__control-wrap {
  position:relative
}

.offers-filter__control-icon {
  position:absolute;
  left:.75rem;
  top:50%;
  color:#757780;
  transform:translateY(-50%)
}

.offers-filter__control {
  width:100%;
  border:1px solid #757780;
  border-radius:8px;
  background:#fff;
  padding:.75rem;
  color:#001843;
  transition:border-color .2s ease
}

.offers-filter__control--icon {
  padding-left:2.5rem
}

.offers-filter__control--location {
  padding-right:1rem
}

.offers-filter__control:focus {
  border-color:#001843;
  outline:0;
  box-shadow:none
}

.offers-filter__suggestions {
  position:absolute;
  top:calc(100% + .5rem);
  left:0;
  right:0;
  z-index:30;
  display:none;
  max-height:17rem;
  overflow-y:auto;
  border:1px solid rgba(117,119,128,.24);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,33,69,.16);
  padding:.35rem
}

.offers-filter__suggestions.is-open {
  display:block
}

.offers-filter__suggestion {
  display:block;
  width:100%;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#001843;
  cursor:pointer;
  font-family:Inter,Arial,sans-serif;
  font-size:.875rem;
  font-weight:500;
  line-height:1.25rem;
  padding:.7rem .8rem;
  text-align:left;
  transition:background .18s ease,color .18s ease
}

.offers-filter__suggestion:hover,
.offers-filter__suggestion:focus {
  background:rgba(0,24,67,.08);
  color:#001843;
  outline:0
}

.offers-filter__suggestion[hidden] {
  display:none
}

.offers-filter__range,
.offers-filter__actions {
  display:flex;
  align-items:center;
  gap:.5rem
}

.offers-filter__range .offers-filter__control {
  width:50%
}

.offers-filter__rooms {
  width:66.666%
}

.offers-filter__button {
  display:flex;
  width:100%;
  min-height:43px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:8px;
  background:#001843;
  color:#fff;
  transition:opacity .2s ease
}

.offers-filter__button:hover {
  opacity:.9
}

.offers-filter__reset {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  color:#757780;
  font-family:Inter,Arial,sans-serif;
  font-size:.75rem;
  font-weight:600;
  line-height:1rem;
  text-decoration:none;
  transition:color .2s ease
}

.offers-filter__reset:hover {
  color:#001843
}

.offers-filter__advanced {
  margin-top:1.25rem;
  border-top:1px solid rgba(117,119,128,.18);
  padding-top:1rem
}

.offers-filter__advanced-toggle {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:#001843;
  cursor:pointer;
  font-family:Inter,Arial,sans-serif;
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1rem;
  list-style:none;
  text-transform:uppercase
}

.offers-filter__advanced-toggle::-webkit-details-marker {
  display:none
}

.offers-filter__advanced-toggle::after {
  content:"expand_more";
  font-family:"Material Symbols Outlined";
  font-size:1.25rem;
  font-weight:400;
  line-height:1;
  transition:transform .2s ease
}

.offers-filter__advanced[open] .offers-filter__advanced-toggle::after {
  transform:rotate(180deg)
}

.offers-filter__grid--advanced {
  margin-top:1.25rem
}

.offers-filter__field[hidden],
.offers-filter__check[hidden] {
  display:none
}

.offers-filter__checks {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  grid-column:1/-1
}

.offers-filter__check {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  gap:.55rem;
  border:1px solid rgba(117,119,128,.28);
  border-radius:8px;
  background:#fff;
  color:#001843;
  cursor:pointer;
  font-family:Inter,Arial,sans-serif;
  font-size:.875rem;
  font-weight:500;
  line-height:1.25rem;
  padding:.55rem .8rem;
  transition:border-color .2s ease,background .2s ease
}

.offers-filter__check:hover {
  border-color:#001843;
  background:rgba(0,24,67,.04)
}

.offers-filter__check input {
  width:1rem;
  height:1rem;
  accent-color:#001843
}

.offers-results {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:2rem
}

.offers-results__count {
  color:#434651;
  font-family:Inter,Arial,sans-serif;
  font-size:16px;
  line-height:24px
}

.offers-results__count strong {
  color:#001843
}

.offers-results__sort {
  display:flex;
  align-items:center;
  gap:1rem
}

.offers-results__sort-label {
  color:#757780;
  font-family:Inter,Arial,sans-serif;
  font-size:.75rem;
  font-weight:600;
  line-height:1rem;
  text-transform:uppercase
}

.offers-results__select {
  cursor:pointer;
  border:0;
  background:transparent;
  color:#001843;
  font-family:Inter,Arial,sans-serif;
  font-size:.75rem;
  font-weight:600;
  line-height:1rem
}

.offers-results__select:focus {
  outline:0;
  box-shadow:none
}

.offers-list {
  margin-bottom:128px
}

.offers-list__grid {
  display:grid;
  grid-template-columns:1fr;
  gap:24px
}

.offers-list__grid .offer-card {
  display:flex;
  height:100%;
  flex-direction:column
}

.offers-list__grid .offer-card__body {
  display:flex;
  flex:1;
  flex-direction:column
}

.offers-list__grid .offer-card__meta {
  margin-top:auto
}

.offers-list__grid .offer-card__button {
  margin-top:1rem
}

.offers-pagination {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:48px
}

.offers-pagination .page-numbers {
  display:inline-flex;
  min-width:42px;
  min-height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,24,67,.18);
  border-radius:8px;
  background:#fff;
  color:#001843;
  padding:0 14px;
  font-family:Inter,Arial,sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1;
  transition:background .2s ease,color .2s ease,border-color .2s ease
}

.offers-pagination .page-numbers.current,
.offers-pagination .page-numbers:hover {
  border-color:#001843;
  background:#001843;
  color:#fff
}

.offers-cta {
  background:#001843;
  padding-top:6rem;
  padding-bottom:6rem
}

.offers-cta__inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center
}

.offers-cta__title {
  margin:0 0 1.5rem;
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:48px;
  font-weight:600;
  line-height:56px
}

.offers-cta__text {
  max-width:42rem;
  margin:0 0 3rem;
  color:#ffdbc9;
  font-family:Inter,Arial,sans-serif;
  font-size:18px;
  line-height:28px
}

.offers-cta__actions {
  display:flex;
  flex-direction:column;
  gap:1.5rem
}

.offers-cta__button {
  border-radius:8px;
  padding:1rem 2.5rem;
  font-family:Inter,Arial,sans-serif;
  font-size:.75rem;
  font-weight:600;
  line-height:1rem;
  transition:all .3s ease
}

.offers-cta__button--primary {
  border:1px solid #fff;
  background:#fff;
  color:#001843
}

.offers-cta__button--secondary {
  border:1px solid #fff;
  background:transparent;
  color:#fff
}

.offers-cta__button--primary:hover {
  opacity:.9;
  transform:translateY(-.25rem)
}

.offers-cta__button--secondary:hover {
  background:#fff;
  color:#001843
}

@media (min-width:768px) {
  .offers-results {
    flex-direction:row
  }

  .offers-list__grid,
  .offers-filter__grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .offers-cta__actions {
    flex-direction:row
  }
}

@media (min-width:1024px) {
  .offers-filter__grid {
    grid-template-columns:repeat(5,minmax(0,1fr))
  }

  .offers-filter__grid--compact {
    grid-template-columns:1fr 1.35fr 1.15fr 1.15fr 56px
  }

  .offers-list__grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media (max-width:767px) {
  .offers-filter__top {
    align-items:flex-start;
    flex-direction:column
  }

  .offers-hero,
  .offers-results,
  .offers-list,
  .offers-cta__inner {
    padding-left:20px;
    padding-right:20px
  }

  .offers-page {
    padding-top:6rem
  }

  .offers-hero__title,
  .offers-cta__title {
    font-size:40px;
    line-height:48px
  }
}
