/* ================================================================
   objects-page.css — Страница «Реализованные объекты»
   Северный город Premium | Scope: .our-objects, .sg-objcards
   ================================================================ */

.our-objects {
  --g:   #c8a84b;
  --gs:  rgba(200,168,75,.11);
  --gb:  rgba(200,168,75,.28);
  --dk:  #07192b;
  --ink: #0f172a;
  --mt:  #64748b;
  --ln:  rgba(2,6,23,.10);
  --sh:  0 4px 20px rgba(2,6,23,.07);
  --sh2: 0 14px 40px rgba(2,6,23,.15);
  --r:   18px;

  padding: 16px 0 56px;
}

/* ── H1 ───────────────────────────────────────────────────────── */
.our-objects .sgp-title {
  text-align: left !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  position: relative;
  font-weight: 900;
  font-size: clamp(26px, 3.2vw, 48px) !important;
  line-height: 1.05;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--dk);
}
.our-objects .sgp-title::before { content: none !important; }
.our-objects .sgp-title::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important; bottom: 0 !important; top: auto !important;
  width: clamp(160px, 22vw, 320px) !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--g), #e8c96a) !important;
}

/* ── Вводный блок ─────────────────────────────────────────────── */
.our-objects .pageIntro {
  margin: 0 0 28px;
  padding: 18px 22px;
  background: var(--dk);
  border: 1px solid var(--gb);
  border-radius: var(--r);
  box-shadow: 0 8px 28px rgba(7,25,43,.18);
}
.our-objects .pageIntro p {
  margin: 0 0 8px;
  color: rgba(255,255,255,.72);
  font-size: 15px; line-height: 1.65;
}
.our-objects .pageIntro p:last-child { margin-bottom: 0; }
.our-objects .pageIntro a {
  color: var(--g);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(200,168,75,.4);
  text-underline-offset: 3px;
}
.our-objects .pageIntro a:hover { text-decoration-color: var(--g); }
.our-objects .pageIntro strong { color: #fff; }

/* ── Секция карточек ──────────────────────────────────────────── */
.sg-objcards {
  --g:   #c8a84b;
  --gs:  rgba(200,168,75,.11);
  --gb:  rgba(200,168,75,.28);
  padding: 0;
}

/* ── Сетка ────────────────────────────────────────────────────── */
.sg-objcards__grid {
  width: 100%;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 20px);
}
@media (max-width: 900px) {
  .sg-objcards__grid { grid-template-columns: 1fr; }
}

/* ── Карточка объекта ─────────────────────────────────────────── */
.sg-objcard {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(2,6,23,.10);
  box-shadow: 0 6px 24px rgba(2,6,23,.09);
  transition: box-shadow .25s, transform .25s;
  background: #fff;
}
.sg-objcard:hover {
  box-shadow: 0 18px 50px rgba(2,6,23,.16);
  transform: translateY(-4px);
}

/* Золотая черта сверху при ховере */
.sg-objcard::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px; z-index: 5;
  background: linear-gradient(90deg, var(--g), #e8c96a);
  transform: scaleX(0); transform-origin: left;
  transition: transform .28s ease;
}
.sg-objcard:hover::before { transform: scaleX(1); }

/* ── Картинка ─────────────────────────────────────────────────── */
.sg-objcard__media {
  height: clamp(200px, 20vw, 280px);
  background-image: var(--sg-bg);
  background-size: cover;
  background-position: center;
  position: relative;
}

/* Затемнение слева для заголовка */
.sg-objcard__media::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(135deg,
    rgba(7,25,43,.72) 0%,
    rgba(7,25,43,.35) 55%,
    rgba(7,25,43,.08) 100%);
  pointer-events: none;
}

/* Плавный переход к белому контенту снизу */
.sg-objcard__media::before {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 100px;
  background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,.98) 100%);
  pointer-events: none; z-index: 1;
}

/* ── Заголовок на картинке ────────────────────────────────────── */
.sg-objcard__headline {
  position: absolute;
  left: clamp(14px, 2vw, 20px);
  top: clamp(14px, 1.8vw, 20px);
  right: clamp(14px, 2vw, 20px);
  z-index: 2; margin: 0;
  color: #fff;
  font-weight: 700;
  font-size: clamp(12px, 1.3vw, 16px);
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* ── Три мини-карточки ────────────────────────────────────────── */
.sg-objcard__items {
  position: relative; z-index: 3;
  display: flex; gap: 10px;
  padding: 0 14px 16px;
  margin-top: -52px;
}

/* Мобиле — горизонтальный скролл */
@media (max-width: 899px) {
  .sg-objcard__items {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 14px;
  }
  .sg-objitem { min-width: 180px; scroll-snap-align: start; }
}

/* ── Мини-карточка (адрес / подрядчик / работы) ──────────────── */
.sg-objitem {
  flex: 1 1 0;
  background: #fff;
  border: 1px solid rgba(2,6,23,.09);
  border-radius: 14px;
  padding: 13px 11px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(2,6,23,.10);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.sg-objcard:hover .sg-objitem {
  border-color: rgba(200,168,75,.25);
}

/* Иконка */
.sg-objitem__icon {
  width: 44px; height: 44px;
  margin: 0 auto 9px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: var(--gs);
  border: 1px solid var(--gb);
  font-size: 18px;
  color: var(--g);
}

/* Метка */
.sg-objitem__label {
  font-weight: 800;
  font-size: 10px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--mt);
  margin-bottom: 5px;
  line-height: 1.2;
}

/* Значение */
.sg-objitem__value {
  font-size: 12px;
  color: var(--ink);
  line-height: 1.4;
  word-break: break-word;
}

/* Убираем лишние <p> внутри карточек (WP вставляет пустые) */
.sg-objitem p { display: none; }
.sg-objcard__items > p { display: none; }