body {
  background: #fff;
  font-family: 'Montserrat', Arial, sans-serif;
  margin: 0;
  padding: 0;
}

.slider-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 80px;
  padding-bottom: 100px;
}

.slider-arc-container {
  position: relative;
  width: 1000px;
  height: 500px;
  margin-bottom: 30px;
}

.icon img{
  width: 18px;
}

#slider-arc {
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
}

.slider-center-block {
  position: absolute;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 0%);
  background: #fff;
  border-top-left-radius: 999px;
  border-top-right-radius: 999px;
  padding: 40px 32px 32px 32px;
  max-width: 420px;
  text-align: center;
  z-index: 2;
  margin-top: 40px;
}

.slider-center-block h2 {
  color: #1a237e;
  font-size: 30px;
  font-weight: 700;
  margin: 0 0 16px 0;
}

.slider-center-block p {
  color: #3a437e;
  font-size: 16px;
  margin: 0 0 24px 0;
}

.choose-btn {
  background: none;
  border: none;
  color: #ffb300;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: color 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.choose-btn:hover {
  color: #ffa000;
}

.slider-arrows {
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 370px;
  display: flex;
  justify-content: space-between;
  transform: translate(-50%, 0);
  z-index: 3;
}

.slider-pagination {
  position: absolute;
  left: 50%;
  bottom: 0%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 3;
}

.slider-pagination .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e3eaf6;
  transition: background 0.2s;
  cursor: pointer;
}
.slider-pagination .dot.active {
  background: #ffb300;
}

.arrow {
  background: #fff;
  color: #ffb300;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 1.5rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}

.arrow img{
  width: 32px;
}

.arrow:hover {
  background: #f0f0f0;
  color: #fff;
}

/* Акцент для активного сегмента */
.active-segment {
  filter: drop-shadow(0 0 8px #ffb30033);
}

.recommended-block {
  margin-top: 32px;
  width: 900px;
  max-width: 100%;
  background: none;
}

.spec-btn {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  padding: 10px 24px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.spec-btn-light {
  background: #fff3cd;
  color: #ffb300;
}
.spec-btn-main {
  background: #ffb300;
  color: #fff;
}
.spec-btn-light:hover {
  background: #ffe082;
}
.spec-btn-main:hover {
  background: #ffa000;
}

.spec-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.spec-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 8px #e3eaf6;
  padding: 24px 32px 20px 32px;
  min-width: 220px;
  flex: 1 1 220px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #1a237e;
  font-weight: 600;
}
.spec-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 4px;
}
.spec-skills {
  color: #ffb300;
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 18px;
}
.spec-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}
.spec-minus, .spec-plus {
  width: 32px;
  height: 32px;
  border: 1px solid #e3eaf6;
  background: #fff;
  color: #1a237e;
  font-size: 1.3rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spec-minus:hover, .spec-plus:hover {
  background: #ffb300;
  color: #fff;
}
.spec-count {
  min-width: 24px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
  color: #1a237e;
}
.spec-remove {
  background: none;
  border: none;
  color: #b0b8d9;
  font-size: 1rem;
  font-weight: 500;
  margin-left: 12px;
  cursor: pointer;
  transition: color 0.2s;
}
.spec-remove:hover {
  color: #ffb300;
}

.spec-controls.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.spec-input {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1rem;
  border: 1px solid #cfd8dc;
  border-radius: 10px;
  padding: 12px 18px;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0;
  color: #1a237e;
  background: #fff;
  transition: border 0.2s;
}
.spec-input:focus {
  border: 1.5px solid #ffb300;
}
#spec-form-block form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#spec-form-block textarea.spec-input {
  resize: vertical;
  min-height: 60px;
  margin-top: 0;
  margin-bottom: 0;
}

/* Модалка */
.spec-modal {
  position: fixed;
  left: 0; top: 0; right: 0; bottom: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spec-modal-bg {
  position: absolute;
  left: 0; top: 0; right: 0; bottom: 0;
  background: rgba(44, 62, 80, 0.25);
  z-index: 1;
}
.spec-modal-content {
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 32px rgba(44, 62, 80, 0.12);
  padding: 48px 40px 32px 40px;
  min-width: 300px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.spec-added {
  color: #b0b8d9;
  font-size: 1rem;
  font-weight: 600;
  margin-left: 12px;
  user-select: none;
}
.spec-add {
  background: none;
  border: none;
  color: #ffb300;
  font-size: 1rem;
  font-weight: 600;
  margin-left: 12px;
  cursor: pointer;
  transition: color 0.2s;
  padding: 0 8px;
}
.spec-add:disabled {
  color: #b0b8d9;
  cursor: not-allowed;
}
.spec-add:hover:not(:disabled) {
  color: #ffa000;
}

.title-r{
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  margin-bottom:24px;
}

.h2-top{
  color:#1a237e; 
  font-size:2rem; 
  font-weight:700; 
  margin:12px 0 8px 0;
}
.p-top{
  color:#3a437e; 
  font-size:1rem; 
  margin:0 0 16px 0;
}
.rec-top{
  color:#1a237e; 
  font-size:2rem; 
  font-weight:700; 
  margin-bottom:0; 
  margin-top:0;
}

.spec-modal-content-add{
  max-width: 700px;
}

@media (max-width: 1100px) {
  .slider-arc-container {
    width: 100vw;
    min-width: 0;
    max-width: 100vw;
  }
  .recommended-block {
    width: 100vw;
    padding: 0 10px;
  }
}


/* отключил и ниде продублировал с изменениями */

/* @media (max-width: 800px) {
  .slider-arc-container {
    width: 100vw;
    height: 340px;
    min-width: 0;
    max-width: 100vw;
  }
  #slider-arc {
    width: 100vw;
    height: 100%;
  }
  .slider-center-block {
    max-width: 95vw;
    padding: 24px 8px 24px 8px;
  }
  .slider-center-block p {
    font-size: 14px;
  }
  .slider-arrows {
    width: 90vw;
    min-width: 0;
    max-width: 100vw;
  }
  .recommended-block {
    width: 100vw;
    padding: 0 4px;
  }
  .spec-list {
    flex-direction: column;
    gap: 12px;
  }
  .spec-card {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 10px 14px 10px;
  }
  .title-r{
    flex-direction: column;
    gap: 20px;
  }
  .slider-wrapper{
    padding-top: 0px;
    padding-bottom: 50px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .spec-card{
    flex: auto;
    width: 100%;
    min-width: 100%;
  }
  .spec-modal-content, .spec-modal-content{
    width: 90vw;
  }
  .spec-modal-content{
    overflow-y: auto;
    max-height: 70vh;
  }
  .center-icon img{
    width: 20px;
  }
  .slider-center-block h2{
    font-size: 14px;
    margin-bottom: 5px;
  }
  .slider-center-block p{
    font-size: 12px;
    margin-bottom: 5px;
  }
  .choose-btn{
    font-size: 14px;
    white-space: nowrap;
  }
  .p-top{
    font-size: 14px;
  }
  .slider-center-block{
    bottom: auto;
    top: 36%;
  }
  .rec-top{
    font-size: 20px;
  }
  .spec-modal-content{
    max-width: 90vw;
  }

  .spec-modal-content{
    max-width: 70vw;
    min-width: auto;
  }
} */





/* new styles */






@media (max-width: 1000px) {
  .slider-arc-container{
    width: 760px;
    height: 380px;
  }

  #slider-arc{
    height: 380px;
  }

  .slider-center-block{
    padding-bottom: 20px;
  }
}


@media (max-width: 800px) {
  .slider-arc-container {
    width: 560px;
    height: 250px;
  }
  #slider-arc {
    height: 250px;
  }
  .slider-center-block {
    padding: 24px 20px 24px 20px !important;
    margin-top: 7.5px !important;
    min-height: 140px;
  }
  .slider-center-block p {
    font-size: 14px;
  }
  .slider-arrows {
    /* width: 90vw; */
    bottom: -40px !important;
    min-width: 0;
    max-width: 100vw;
  }

  .slider-pagination{
    bottom: -30px;
  }

  .recommended-block {
    width: 100vw;
    padding: 0 4px;
  }
  .spec-list {
    flex-direction: column;
    gap: 12px;
  }
  .spec-card {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 10px 14px 10px;
  }
  .title-r{
    flex-direction: column;
    gap: 20px;
  }
  .slider-wrapper{
    padding-top: 0px;
    padding-bottom: 50px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .spec-card{
    flex: auto;
    width: 100%;
    min-width: 100%;
  }
  .spec-modal-content, .spec-modal-content{
    width: 90vw;
  }
  .spec-modal-content{
    overflow-y: auto;
    max-height: 70vh;
  }
  .center-icon img{
    width: 20px;
  }
  .slider-center-block h2{
    font-size: 14px;
    margin-bottom: 5px;
  }
  .slider-center-block p{
    font-size: 12px;
    margin-bottom: 5px;
  }
  .choose-btn{
    font-size: 14px;
    white-space: nowrap;
  }
  .p-top{
    font-size: 14px;
  }
  .slider-center-block{
    bottom: auto;
    top: 36%;
  }
  .rec-top{
    font-size: 20px;
  }
  .spec-modal-content{
    max-width: 90vw;
  }

  .spec-modal-content{
    max-width: 70vw;
    min-width: auto;
  }
}



@media (max-width: 500px) {
  .slider-arc-container {
    width: 360px;
    height: 180px;
  }
  #slider-arc {
    height: 180px;
  }
  .slider-center-block {
    padding: 14px 14px 14px 14px !important;
    margin-top: 0.5px !important;
    min-height: 87px;
  }
  .slider-arrows {
    bottom: -40px !important;
  }
  .slider-pagination{
    bottom: -30px;
  }

}



@media (max-width: 360px) {
  .slider-arc-container {
    width: 320px;
    height: 160px;
  }
  #slider-arc {
    height: 160px;
  }
  .slider-center-block {
    padding: 5px 10px 10px 10px !important;
    margin-top: -5.5px !important;
    min-height: 100px;
    max-height: 100px;
  }
  .slider-arrows {
    bottom: -40px !important;
    z-index: 5;
    max-width: 96vw;
  }
  .slider-pagination{
    bottom: -30px;
  }

}