body.offers-page-body {
  background: #f6f7f8;
}

/* Offers list page (unified style with services/accommodation) */
.offers-page {
  background: #f6f7f8;
  min-height: 100vh;
}

.content.offers-page {
  padding-top: var(--desktop-header-h, 110px);
}

.offers-page > .container {
  width: min(100%, var(--home-canvas-max));
  max-width: var(--home-canvas-max);
}

.offers-hero {
  padding: 4px 0 10px;
}

.offers-hero .container {
  width: min(100%, var(--home-canvas-max));
  max-width: var(--home-canvas-max);
  background: linear-gradient(135deg, #00a88e 0%, #0f766e 58%, #ff7f6f 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0;
  padding: clamp(18px, 3vw, 32px) 20px;
  text-align: center;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.offers-title {
  margin: 0;
  font-size: clamp(30px, 3.5vw, 46px);
  line-height: 1.12;
  color: #fff;
}

.offers-subtitle {
  margin: 10px auto 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 16px;
  text-align: center;
  max-width: 760px;
}

.offers-section-header {
  margin: 0 0 10px;
  text-align: center;
}

.offers-section-header .section-title {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.12;
  color: #0f172a;
}

.offers-section-header .section-description {
  margin: 8px auto 0;
  max-width: 760px;
  color: #475569;
}

.offers-section-header--boxed {
  background: linear-gradient(135deg, #00a88e 0%, #0f766e 58%, #ff7f6f 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0;
  padding: 16px 20px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

.offers-section-header--boxed .section-title {
  color: #fff;
}

.offers-section-header--boxed .section-description {
  color: rgba(255, 255, 255, 0.94);
}

/* Сетка карточек */
.offers-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }

.top-offers-week {
  width: min(100%, var(--home-canvas-max));
  margin-left: auto;
  margin-right: auto;
  --top-houses-gap: 12px;
}

.top-offers-week .top-houses-week__link {
  aspect-ratio: 16 / 10;
}

.offer-card .top-houses-week__label small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 2.3em;
}

.offer-card.past .top-houses-week__shade {
  background: linear-gradient(180deg, rgba(9,16,32,0.18) 25%, rgba(9,16,32,0.88) 100%);
}

.offer-status-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  padding: 6px 10px;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  border-radius: 0;
  backdrop-filter: blur(4px);
}

.offer-status-badge--ended {
  background: rgba(255, 127, 111, 0.92);
  border-color: rgba(255, 255, 255, 0.28);
}

.offer-card.past .top-houses-week__label {
  bottom: 54px;
}

.offer-ribbon {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 3;
  padding: 6px 10px;
  background: rgba(0, 0, 0, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.26);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  border-radius: 0;
}

/* Пусто */
.offers-empty { background:#fff; border:1px dashed #bbb; border-radius:0; padding:16px; color:#666; }

/* HERO детальной */
.offer-hero{
  position:relative; min-height:380px; display:flex; align-items:flex-end;
  background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.65)), var(--bg, #333) center/cover no-repeat;
}
.offer-hero .hero-inner{ padding:32px 0 24px; }
.offer-hero h1{ color:#fff; font-size:36px; text-shadow:0 2px 6px rgba(0,0,0,.5); }
.offer-hero .hero-teaser{ color:#fff; margin-top:6px; max-width:720px; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.offer-hero .hero-badge{ display:flex; gap:10px; margin-bottom:8px; }
.offer-hero .ribbon{ background:rgba(0,0,0,.75); color:#fff; padding:6px 10px; border-radius:8px; font-size:13px; }
.offer-hero .badge.big{ background:#00a88e; color:#fff; padding:6px 12px; border-radius:999px; font-weight:bold; }
.offer-hero .hero-meta{ color:#fff; margin-top:8px; }
.offer-hero .ended{ color:#ffd1d1; font-weight:bold; }
.offer-hero .hero-price{ display:flex; gap:12px; align-items:baseline; margin-top:10px; }
.offer-hero .hero-price .old{ text-decoration:line-through; color:#ffdede; }
.offer-hero .hero-price .new{ color:#fff; font-weight:bold; font-size:22px; }
.offer-hero .hero-actions{ margin-top:14px; display:flex; gap:10px; }
.offer-hero .hero-actions .booking{ background:#007bff; color:#fff; border-color:#007bff; }

/* Контент детальной */
.offer-content{ padding:16px 0; }
.offer-columns{ display:grid; grid-template-columns: 1fr 320px; gap:20px; }
.offer-main{ background:#fff; border:1px solid #ddd; border-radius:12px; padding:16px 18px; }
.offer-main h2{ margin-bottom:8px; }
.offer-main h3{ margin:14px 0 8px; }
.offer-terms{ padding-left:16px; }
.offer-bottom-cta{ margin-top:16px; display:flex; gap:10px; }
.offer-aside{ display:flex; flex-direction:column; gap:14px; }
.aside-box{ background:#fff; border:1px solid #ddd; border-radius:12px; padding:14px; }
.aside-box.light{ background:#f9f9f9; }
.back-link{ margin-top:14px; }

@media (max-width: 1024px){
  .offers-grid{ grid-template-columns: 1fr; gap:10px; }
  .top-offers-week { --top-houses-gap: 8px; }
  .top-offers-week .top-houses-week__link { aspect-ratio: 16 / 11; }
  .offer-columns{ grid-template-columns: 1fr; }
  .offer-status-badge {
    top: 10px;
    right: 10px;
    font-size: 11px;
    padding: 5px 8px;
  }
  .offer-card.past .top-houses-week__label {
    bottom: 48px;
  }
}
