/* Единая карточка объекта: маршрут, фотографии и только ключевые работы */
.section--route{padding-top:18px;padding-bottom:10px}
.project-route-wrap{margin:0}
.project-route{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;position:relative}
.project-route::before{content:"";position:absolute;left:5%;right:5%;top:23px;height:2px;background:#e3d9cf;z-index:0}
.project-route__item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:transparent;padding:0 3px;color:var(--color-text-muted);font:inherit;text-align:center}
.project-route__item:not(:disabled){cursor:pointer;color:var(--color-text)}
.project-route__dot{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eee7df;border:2px solid #dfd5cb;font-size:12px;font-weight:950;transition:transform .22s ease,background .22s ease,border-color .22s ease,color .22s ease}
.project-route__label{font-size:12px;line-height:1.25;font-weight:850}
.project-route__item.is-available .project-route__dot{background:#fff;border-color:var(--color-brick);color:var(--color-brick);box-shadow:0 5px 18px rgba(0,0,0,.06)}
.project-route__item.is-current .project-route__dot,.project-route__item:hover:not(:disabled) .project-route__dot{background:var(--color-brick);border-color:var(--color-brick);color:#fff;transform:translateY(-2px)}
.project-route__item:disabled{opacity:.48}

.project-showcase{margin:8px 0 30px}
.project-showcase-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.project-showcase-gallery .gallery-item{position:relative;grid-column:span 4;min-height:285px;cursor:zoom-in}
.project-showcase-gallery .gallery-item:nth-child(1),.project-showcase-gallery .gallery-item:nth-child(6){grid-column:span 8;min-height:390px}
.project-showcase-gallery .gallery-item:nth-child(4),.project-showcase-gallery .gallery-item:nth-child(9){grid-column:span 5}
.project-showcase-gallery .gallery-item:nth-child(5),.project-showcase-gallery .gallery-item:nth-child(10){grid-column:span 7}
.gallery-item__caption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 11px;border-radius:999px;background:rgba(20,22,24,.68);color:#fff;font-size:12px;font-weight:800;line-height:1.2;backdrop-filter:blur(8px);pointer-events:none}

.project-stage{scroll-margin-top:110px}
.project-stage + .project-stage{margin-top:18px}
.project-stage-card{padding:24px}
.project-stage-card__head{margin-bottom:14px}
.project-stage-card__index{font-size:13px;font-weight:950;color:var(--color-brick);letter-spacing:.08em;text-transform:uppercase}
.project-stage-card h2{margin:4px 0 0}
.project-stage-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.project-stage-gallery .gallery-item{position:relative;min-height:250px;cursor:zoom-in}
.project-stage-gallery .gallery-item:nth-child(1){grid-column:span 2;min-height:320px}
.project-stage-gallery img,.project-showcase-gallery img{width:100%;height:100%;object-fit:cover}
.project-work-block{margin-top:8px}
.project-work-title{margin:0 0 10px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted,#756f68)}
.project-work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.project-work-list li{position:relative;padding:14px 15px 14px 42px;border-radius:16px;background:#f7f1ea;line-height:1.45}
.project-work-list li::before{content:"✓";position:absolute;left:16px;top:14px;color:var(--color-brick);font-weight:950}

.project-lightbox{position:fixed;inset:0;z-index:1100;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(16,18,20,.93)}
.project-lightbox.is-open{display:flex}
.project-lightbox__image{max-width:min(1440px,94vw);max-height:87vh;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.project-lightbox__close,.project-lightbox__prev,.project-lightbox__next{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;backdrop-filter:blur(10px)}
.project-lightbox__close{top:18px;right:18px;width:48px;height:48px;border-radius:50%;font-size:30px}
.project-lightbox__prev,.project-lightbox__next{top:50%;width:50px;height:64px;border-radius:16px;transform:translateY(-50%);font-size:32px}
.project-lightbox__prev{left:18px}.project-lightbox__next{right:18px}
.project-lightbox__caption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(820px,88vw);padding:9px 14px;border-radius:999px;background:rgba(15,17,19,.72);color:#fff;font-size:13px;text-align:center}

@media(max-width:900px){
  .project-route{display:flex;overflow-x:auto;padding:0 2px 10px;scrollbar-width:thin}
  .project-route::before{display:none}
  .project-route__item{flex:0 0 100px}
  .project-stage-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-stage-gallery .gallery-item:nth-child(1){grid-column:1/-1}
  .project-showcase-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-showcase-gallery .gallery-item,.project-showcase-gallery .gallery-item:nth-child(n){grid-column:auto;min-height:270px}
  .project-showcase-gallery .gallery-item:first-child{grid-column:1/-1;min-height:360px}
}
@media(max-width:620px){
  .section--route{padding-top:8px}
  .project-work-list{grid-template-columns:1fr}
  .project-stage-card{padding:20px}
  .project-stage-gallery{grid-template-columns:1fr;gap:10px}
  .project-stage-gallery .gallery-item,.project-stage-gallery .gallery-item:nth-child(1){grid-column:auto;min-height:255px}
  .project-showcase-gallery{grid-template-columns:1fr;gap:10px}
  .project-showcase-gallery .gallery-item,.project-showcase-gallery .gallery-item:nth-child(n),.project-showcase-gallery .gallery-item:first-child{grid-column:auto;min-height:265px}
  .gallery-item__caption{left:9px;bottom:9px;max-width:calc(100% - 18px);font-size:11px}
  .project-lightbox__prev,.project-lightbox__next{width:42px;height:54px}.project-lightbox__prev{left:8px}.project-lightbox__next{right:8px}
}


/* Customer review bridge */
.project-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.project-detail-actions .button{flex:0 1 auto}
.project-review-button{box-shadow:none}
@media(max-width:620px){
  .project-detail-actions{display:grid}
  .project-detail-actions .button{width:100%}
}
