/* ================== */
/* СТРАНИЦА ПОРТФОЛИО */
/* ================== */
#projects{padding:90px 0 30px}
#projects.no-bg{background:#fff;}
#portfolio{padding:50px 0 65px;}
.similar-projects{padding:0 0 30px;}
/* СЕТКА КАРТОЧЕК ПРОЕКТОВ */
.projects{width:100%;margin:50px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.project-item{position:relative;width:100%;display:block;margin:0;text-align:left;}
.project-item.show{display:inline-block;}
/* НИЖНЯЯ ПОДЛОЖКА И ТЕКСТ НА КАРТОЧКЕ */
.project-card-badges{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;z-index:3;pointer-events:none;}
.project-card-badge{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:12px;background:#ff6900;color:#fff;font:700 13px/13px Rubik;letter-spacing:.3px;border:1px solid rgba(255,255,255,.28);box-shadow:0 10px 22px rgba(255,105,0,.26);}
/* ПЕРВЫЙ ЭКРАН ПРОЕКТА */
.project-title-block{padding:0 0 30px;align-items:flex-start;display:flex;flex-wrap:wrap;gap:28px;}
.project-title-block-image-wrapper{flex:0 0 31%;max-width:31%;}
.project-title-block-content{flex:1 1 0;max-width:calc(69% - 28px);}
.project-title-block-content h1{padding:0;font:700 24px/36px Rubik;color:#1f2937;}
.project-main-title{margin:0 0 16px;}
.project-separator{width:60px;height:3px;background:#ff7b00;border-radius:2px;margin:0 0 18px;}
.project-sub{font:400 17px/27px Rubik;color:#4b5563;margin:0 0 20px;max-width:820px;}
.project-photo-caption{font:400 13px/18px Rubik;color:#6b7280;margin:10px 0 0;}
/* КНОПКА И CTA */
.project-title-block-content .orange-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 26px;border-radius:12px;font:700 15px/20px Rubik;box-shadow:0 10px 24px rgba(255,123,0,.22);margin:2px 0 18px;transition:transform .15s ease,box-shadow .15s ease;}
.project-title-block-content .orange-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,123,0,.28);}
.project-cta-note{font:400 14px/22px Rubik;color:#777;margin:0 0 14px;}
#vacancy-form{padding:30px 0;background:url(../images/projects-bg.jpg) center center no-repeat;}
/* СПИСОК ВЫГОД */
.project-benefits-list{margin:0 0 24px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.project-benefits-list li{margin:0;padding:0 0 0 34px;list-style:none;position:relative;font:600 18px/28px Rubik;color:#223046;}
.project-benefits-list li::before{content:"✓";position:absolute;left:0;top:0;color:#ff7b00;font:700 22px/28px Rubik;background:none!important;width:auto;height:auto;border-radius:0;}
.project-benefits-list li::marker{content:"";}
.project-benefits-list li:after{display:none;}
/* БЕЙДЖИ ДОВЕРИЯ */
.location-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px;}
.badge-item{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d7e3f3;border-radius:12px;background:#f8fbff;font:600 14px/18px Rubik;color:#223046;}
/* ГАЛЕРЕЯ */
.gallery img{border-radius:4px;transition:transform .2s ease;}
.gallery img:hover{transform:scale(1.04);}
/* ТАБЛИЦА */
#portfolio-table-view th{font-weight:700;text-align:left;border-bottom:1px solid #e5e5e5;}
#portfolio-table-view td{border-bottom:1px solid #f0f0f0;font-size:15px;}
#portfolio-table-view tr:hover{background:#fafafa;}
/* ТЕГИ */
.project-tags{margin:8px 0 20px;display:flex;flex-wrap:wrap;gap:8px;}
.tag-item{display:inline-block;background:#eef4ff;color:#005BB5;font:500 14px/20px Rubik;padding:6px 12px;border-radius:6px;text-decoration:none;transition:.2s;}
.tag-item:hover{background:#d6e4ff;color:#003f8a;}
/* ПАСПОРТ ПРОЕКТА */
.section-lead{font:600 18px/26px Rubik;margin:28px 0 12px;color:#0e1a2f;}
.project-passport{margin:25px 0 35px;padding:22px 26px;background:#f9fbff;border:1px solid #e3e9f5;border-radius:10px;}
.passport-title{font:600 20px/26px Rubik;margin:0 0 18px;color:#0e1a2f;}
.passport-grid{display:flex;flex-direction:column;gap:12px;}
.passport-row{display:flex;align-items:flex-start;gap:12px;}
.passport-key{flex:0 0 180px;font:600 15px/22px Rubik;color:#111;white-space:nowrap;}
.passport-value{font:400 15px/22px Rubik;color:#333;}
.passport-tags-block{margin-top:22px;}
.tags-title{margin-bottom:8px;}
.passport-tags{display:flex;flex-wrap:wrap;gap:8px;}
.passport-tag{display:inline-block;background:#eef4ff;color:#005BB5;padding:6px 12px;border-radius:6px;font:500 14px/20px Rubik;text-decoration:none;transition:.2s;}
.passport-tag:hover{background:#d6e4ff;color:#003f8a;}
/* АДАПТИВ */
@media(max-width:1140px){.projects{grid-template-columns:repeat(3,1fr);gap:10px;}.project-card-title{font:700 15px/21px Rubik;max-height:84px;}.project-card-bottom{height:36%;}.project-title-block-content h1{font:700 22px/32px Rubik;}.project-sub{font:400 16px/25px Rubik;}}
@media(max-width:968px){.projects{grid-template-columns:repeat(2,1fr);gap:10px;}#projects{padding:50px 0;}.project-title-block-content h1{font:700 18px/30px Rubik;}.project-card-title{font:700 15px/20px Rubik;max-height:150px;}.project-card-badge{font:700 12px/12px Rubik;padding:7px 10px;}}
@media(max-width:768px){.projects{grid-template-columns:repeat(2,1fr);gap:18px;}.project-title-block{gap:20px;}.project-title-block-image-wrapper{flex:0 0 100%;max-width:334px;padding:0 0 20px;}.project-title-block-content{flex:0 0 100%;max-width:100%;}.project-title-block-content .line-separator{margin:10px 0;}.project-title-block-content h1{font:700 20px/30px Rubik;}.project-sub{font:400 15px/22px Rubik;}.project-cta-note{font:400 13px/20px Rubik;}.project-benefits-list li{font:500 14px/21px Rubik;}.project-card-bottom{height:52%;}.project-card-title{font:700 16px/22px Rubik;max-height:150px;}.project-card-badge{font:700 13px/13px Rubik;padding:9px 12px;border-radius:12px;}.project-card-badges{gap:8px;}}
@media(max-width:600px){.passport-row{flex-direction:column;gap:4px;}.passport-key{flex:initial;}}
@media(max-width:480px){.projects{grid-template-columns:repeat(1,1fr);gap:16px;}.project-title-block-content h1{font:700 16px/26px Rubik;}.project-card-bottom{height:56%;}.project-card-title{left:12px;right:12px;bottom:12px;font:700 17px/22px Rubik;max-height:150px;}.project-card-badge{font:700 13px/13px Rubik;padding:9px 12px;border-radius:12px;}.project-card-badges{top:12px;left:12px;right:12px;}.gallery img{width:48%;}}


/* Интерактивная карта */
#portfolio-map-wrapper{max-width:1240px;width:90%;margin:60px auto;text-align:center;}
#russia-map-container svg path{fill:#004F9E;stroke:#fff;stroke-width:.5;transition:fill .25s ease,opacity .25s ease;cursor:pointer;}
#russia-map-container svg path:hover,#russia-map-container svg path.active{fill:#FF7B00;}
.map-flag{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .2s ease;}
.map-flag:hover{transform:scale(1.15);}
#region-tooltip{position:absolute;display:none;padding:12px 14px 14px;background:#0E1A2F;color:#fff;font-size:13px;border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.3);max-width:320px;text-align:left;z-index:999;line-height:1.35;}
#region-tooltip strong{display:block;font-size:14px;font-weight:700;margin-bottom:4px;color:#fff;}
#region-tooltip ul{margin:6px 0 0;padding:0;list-style:none;}
#region-tooltip li{margin:2px 0;padding-left:10px;position:relative;line-height:1.3;}
#region-tooltip a{color:#ffb300;text-decoration:none;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;}
#region-tooltip a:hover{text-decoration:underline;}
#region-tooltip .tooltip-close{position:absolute;top:6px;right:8px;font-size:16px;font-weight:700;cursor:pointer;color:#fff;opacity:.7;}
#region-tooltip .tooltip-close:hover{opacity:1;}
#russia-map-container svg path{opacity:0;transition:opacity .4s ease;}
#russia-map-container svg.loaded path{opacity:1;}
.map-flag{opacity:0;transform:scale(.6);}
.map-flag.appear{opacity:1;transform:scale(1);transition:opacity .35s ease,transform .35s ease;}
#russia-map-container svg path.focused{stroke:#ffb300;stroke-width:2;}
#russia-map-container svg path.dimmed{opacity:.25 !important;}

#portfolio-view-switch .pv-btn {
    padding: 8px 16px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    border-radius: 6px;
}
#portfolio-view-switch .pv-btn.active {
    background: #005BB5;
    color: #fff;
    border-color: #005BB5;
}
