/* prem-house portfolio.css v1 — страница /portfolio/ (построенные объекты) */

.ph-pf { font-family: Arial, Helvetica, sans-serif; color: #1a1a1a; }
.ph-pf, .ph-pf * { box-sizing: border-box; }

.ph-pf__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 22px;
}

.ph-pf__card {
  display: flex; flex-direction: column;
  background: #FFF;
  border: 1px solid rgba(26,26,26,0.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(36,45,51,.08), 0 2px 6px rgba(36,45,51,.04);
  text-decoration: none !important;
  color: #1a1a1a !important;
  transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease;
}
.ph-pf__card:hover { transform: translateY(-4px); border-color: rgba(240,79,47,.35); box-shadow: 0 16px 40px rgba(36,45,51,.14); }
.ph-pf__card--nolink { cursor: default; }
.ph-pf__card--nolink:hover { transform: none; border-color: rgba(26,26,26,0.08); box-shadow: 0 8px 28px rgba(36,45,51,.08), 0 2px 6px rgba(36,45,51,.04); }

.ph-pf__card-imgwrap { position: relative; aspect-ratio: 16 / 9; background: #EFEFF1; overflow: hidden; }
.ph-pf__card-imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.ph-pf__card:hover .ph-pf__card-imgwrap img { transform: scale(1.05); }

.ph-pf__card-body { padding: 16px 18px 18px; }
.ph-pf__card-name {
  font-family: 'Times New Roman', Times, serif;
  font-size: 20px; font-weight: 700; line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 8px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.ph-pf__card-name > span:first-child { flex: 1; min-width: 0; }
.ph-pf__card-go {
  flex: none; width: 34px; height: 34px; border-radius: 10px;
  background: linear-gradient(135deg, #F04F2F, #F58F32);
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 5px 14px rgba(240,79,47,.35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ph-pf__card-go svg { width: 16px; height: 16px; stroke: #fff; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ph-pf__card:hover .ph-pf__card-go { transform: translateX(3px); box-shadow: 0 8px 20px rgba(240,79,47,.45); }
.ph-pf__card-meta { font-size: 14px; color: rgba(26,26,26,0.65); }

.ph-pf__empty { grid-column: 1 / -1; text-align: center; padding: 56px 20px; font-size: 15px; color: rgba(26,26,26,0.55); }

/* ===== Карточка-слайдер «до/после» (портфолио) ===== */
.ph-pf__card--ba:hover { transform: translateY(-4px); border-color: rgba(240,79,47,.35); box-shadow: 0 16px 40px rgba(36,45,51,.14); }
.ph-pf__ba {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #EFEFF1;
  --pos: 50%; touch-action: pan-y; user-select: none;
}
.ph-pf__ba-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ph-pf__ba-after { z-index: 1; }
.ph-pf__ba-before { z-index: 2; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.ph-pf__ba-tag {
  position: absolute; top: 12px; z-index: 3; padding: 5px 11px; border-radius: 999px;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  background: rgba(18,22,26,.55); color: #fff; backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
  pointer-events: none;
}
.ph-pf__ba-tag--b { left: 12px; }
.ph-pf__ba-tag--a { right: 12px; }
.ph-pf__ba-line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; z-index: 4; background: #fff; transform: translateX(-1px); box-shadow: 0 0 10px rgba(0,0,0,.35); pointer-events: none; }
.ph-pf__ba-handle {
  position: absolute; top: 50%; left: var(--pos); z-index: 5; transform: translate(-50%, -50%);
  width: 42px; height: 42px; border-radius: 50%; background: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.3); pointer-events: none;
}
.ph-pf__ba-handle svg { width: 20px; height: 20px; stroke: #F04F2F; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ph-pf__ba-range {
  position: absolute; inset: 0; z-index: 6; width: 100%; height: 100%; margin: 0;
  -webkit-appearance: none; appearance: none; background: transparent; cursor: ew-resize; opacity: 0;
}
.ph-pf__ba-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 44px; height: 100%; cursor: ew-resize; }
.ph-pf__ba-range::-moz-range-thumb { width: 44px; height: 100%; border: 0; background: transparent; cursor: ew-resize; }
.ph-pf__card--ba .ph-pf__card-go { width: 34px; height: 34px; }

@media (max-width: 600px) {
  .ph-pf__grid { grid-template-columns: 1fr; gap: 14px; }
}
