/* Partner banner strip (home) — see partner-banner.js. Hidden (no box at all)
   outside a campaign window; inside one the aspect ratio reserves the space
   before the image arrives, so the page never shifts. */
.partner-strip { padding: 10px 0 2px; }
.partner-strip[hidden] { display: none; }
.partner-slot {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 10 / 1;
  overflow: hidden;
  border-radius: 12px;
  background: #f3f6f6;
}
.partner-slot .partner-link { display: block; width: 100%; height: 100%; }
.partner-slot picture, .partner-slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.partner-label {
  position: absolute;
  top: 6px;
  right: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(16, 42, 43, 0.55);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  pointer-events: none;
}
@media (max-width: 767px) {
  .partner-slot { aspect-ratio: 3 / 1; border-radius: 10px; }
}

/* Side rails (partner-banner.js fillRails): fixed left/right of the 1280 px
   container on the emlak pages, from 1640 px up so each side has ≥140 px,
   capped at 218 px like the biznes rails. Hidden = no box at all. */
.partner-rails {
  position: fixed;
  z-index: 18;
  inset: 96px 18px 24px;
  display: none;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
}
.partner-rail {
  position: relative;
  display: block;
  width: clamp(140px, calc((100vw - 1280px) / 2 - 36px), 218px);
  aspect-ratio: 480 / 1800;
  max-height: min(760px, calc(100vh - 122px));
  overflow: hidden;
  border-radius: 22px;
  background: #f3f6f6;
  box-shadow: 0 18px 55px rgba(18, 58, 56, 0.08);
  pointer-events: auto;
}
.partner-rail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.partner-rail .partner-label { top: 8px; }
@media (min-width: 1200px) {
  .partner-rails { display: flex; }
}

/* Mid-listing strip (partner-banner.js placeInline) on emlak listings. */
.partner-strip--inline { padding: 18px 0; }
.partner-strip--inline .partner-slot { position: relative; display: block; width: 100%; aspect-ratio: 10 / 1; overflow: hidden; border-radius: 12px; background: #f3f6f6; }
.partner-strip--inline picture, .partner-strip--inline img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) { .partner-strip--inline .partner-slot { aspect-ratio: 3 / 1; border-radius: 10px; } }

/* Top-of-listing and in-feed strips reuse the inline look; inside a grid
   the feed strip spans every column (set inline) and drops the padding. */
.partner-strip--top { padding: 12px 0 4px; }
.partner-strip--feed { padding: 4px 0; }

/* Laptops (1200–1639 px): the rails only fit if the content steps aside, so
   while a partner campaign is on (html.partner-rails-on) the page wrappers
   narrow to leave a rail-wide gutter on each side — the bina.az layout. */
:root { --pr-w: clamp(150px, 13vw, 218px); }
@media (min-width: 1200px) and (max-width: 1639px) {
  .partner-rail { width: var(--pr-w); }
  html.partner-rails-on .container,
  html.partner-rails-on .ev-wrap { max-width: calc(100vw - 2 * (var(--pr-w) + 36px)) !important; }
}
