/* «Наши работы» — список объектов, фильтр, страница объекта. Цвета темы: --blue (зелёный vistabio). */
.go-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}
.go-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid var(--grey, #ccc);
    border-radius: 20px;
    color: var(--dark, #333);
    background: var(--white, #fff);
    text-decoration: none;
    font-size: .95rem;
    line-height: 1.2;
    transition: background-color .15s, border-color .15s, color .15s;
}
.go-chip:hover {
    border-color: var(--blue, #38B011);
    color: var(--blue-hover, #2b890d);
}
.go-chip.is-active {
    background: var(--blue, #38B011);
    border-color: var(--blue, #38B011);
    color: var(--white, #fff);
}
.go-chip__count {
    font-size: .8rem;
    opacity: .75;
}

.go-grid { margin-bottom: 30px; }
.go-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--white, #fff);
    border: 1px solid #e5e5e5;
    color: var(--dark, #333);
    text-decoration: none;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
}
.go-card:hover {
    color: var(--dark, #333);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    transform: translateY(-2px);
}
.go-card__img {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: var(--grey-light, #f5f5f5);
    overflow: hidden;
}
.go-card__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.go-item__play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 64px;
    height: 64px;
    margin: -32px 0 0 -32px;
    border-radius: 50%;
    background: var(--blue, #38B011);
    border: 3px solid #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .45);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    padding-left: 5px;
    pointer-events: none;
    transition: transform .2s, background-color .2s;
}
.go-item--video:hover .go-item__play {
    transform: scale(1.1);
    background: var(--blue-hover, #2b890d);
}
/* метка «Видео» в углу превью и «N видео» на карточке объекта */
.go-item__badge, .go-card__video {
    position: absolute;
    left: 8px;
    top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: 4px;
    background: rgba(0, 0, 0, .72);
    color: #fff;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    pointer-events: none;
}
.go-item__badge i, .go-card__video i { color: var(--blue, #38B011); }
.go-card__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 14px 14px;
    flex: 1;
}
.go-card__title {
    font-family: 'PlumbCondensedBold', sans-serif;
    font-size: 1.25rem;
    line-height: 1.25;
    text-transform: uppercase;
}
.go-card__meta {
    color: var(--grey-dark, #5f6368);
    font-size: .9rem;
}
.go-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.go-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    background: var(--grey-light, #f5f5f5);
    color: var(--grey-dark, #5f6368);
    font-size: .8rem;
    text-decoration: none;
}
a.go-tag--link:hover {
    background: var(--blue, #38B011);
    color: #fff;
}
.go-card__counts {
    display: flex;
    gap: 14px;
    margin-top: auto;
    color: var(--grey-dark, #5f6368);
    font-size: .85rem;
}
.go-empty {
    padding: 20px 0;
    color: var(--grey-dark, #5f6368);
}

.go-object__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: -4px 0 16px;
    color: var(--grey-dark, #5f6368);
}
.go-object__desc {
    margin-bottom: 20px;
    max-width: 900px;
    line-height: 1.55;
}
.go-media { margin-bottom: 30px; }
.go-item {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: var(--grey-light, #f5f5f5);
    overflow: hidden;
    cursor: zoom-in;
}
.go-item--video { cursor: pointer; }
.go-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.go-item:hover img { transform: scale(1.04); }
.go-item__duration {
    position: absolute;
    right: 6px;
    bottom: 6px;
    padding: 1px 6px;
    border-radius: 3px;
    background: rgba(0, 0, 0, .7);
    color: #fff;
    font-size: .8rem;
}
.go-docs, .go-related { margin: 10px 0 30px; }
.go-back { margin: 0 0 30px; }

/* видео внутри lightGallery: по умолчанию рамка 16:9, и вертикальные ролики с телефона
   получаются крошечными. Растягиваем рамку на всю высоту слайда, кадр вписывается сам. */
.lg-outer .lg-video-cont {
    width: 100%;
    height: 100%;
    max-width: 1280px !important;
    max-height: 100%;
    padding: 0 5px;
    box-sizing: border-box;
}
.lg-outer .lg-video { height: 100%; padding-bottom: 0 !important; }
.lg-outer .lg-video .lg-html5 { width: 100%; height: 100%; object-fit: contain; background: #000; }
@media (min-width: 768px) {
    .lg-outer .lg-video-cont { padding-top: 50px; } /* под панелью кнопок лайтбокса */
}

@media (max-width: 575.98px) {
    .go-chip { padding: 6px 11px; font-size: .9rem; }
    .go-item__play { width: 52px; height: 52px; margin: -26px 0 0 -26px; font-size: 18px; }
}

/* Главная: «Видео- и фотоотчёты» */
.go-home__item { display: flex; flex-direction: column; gap: 6px; height: 100%; }
.go-home__title {
    font-family: 'PlumbCondensedBold', sans-serif;
    font-size: 1.15rem;
    line-height: 1.25;
    text-transform: uppercase;
    color: var(--dark, #333);
    text-decoration: none;
}
.go-home__title:hover { color: var(--blue-hover, #2b890d); }
.go-home__meta { color: var(--grey-dark, #5f6368); font-size: .88rem; }
.go-home__meta i { color: var(--blue, #38B011); }

/* Отзывы заказчиков под объектом */
.go-reviews { margin: 0 0 30px; }
.go-review {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 16px;
    padding: 18px 20px;
    background: var(--grey-light, #f5f5f5);
    border-left: 4px solid var(--blue, #38B011);
}
.go-review__body { flex: 1 1 360px; position: relative; }
.go-review__quote { color: var(--blue, #38B011); font-size: 1.4rem; opacity: .6; }
.go-review blockquote { margin: 6px 0 10px; font-size: 1.05rem; line-height: 1.55; }
.go-review figcaption { color: var(--dark, #333); }
.go-review__meta { display: block; color: var(--grey-dark, #5f6368); font-size: .88rem; margin-top: 2px; }
.go-review__shot { flex: 0 0 180px; }
.go-review__shot img { width: 100%; border-radius: 6px; box-shadow: 0 2px 10px rgba(0, 0, 0, .15); cursor: zoom-in; }
.go-card__review { color: var(--blue-hover, #2b890d); }
@media (max-width: 575.98px) { .go-review__shot { flex-basis: 140px; } }
