.main-photo-container {
  text-align: center;
  margin-bottom: 20px;
}

.main-photo-container .main-photo {
  width: 448px;
  height: 336px;
  background: #f0f0f0 center center no-repeat;
  background-size: contain;
  background-color: #eee;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  margin: 0 auto;
  cursor: zoom-in;
  transition: box-shadow 0.2s;
}

.main-photo:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* Миниатюры */
.tender-photo {
  width: 144px;
  height: 112px;
  background: #f0f0f0 center center no-repeat;
  background-size: cover;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  border: 2px solid transparent;
}

.tender-photo:hover {
  border: 1px solid #91d7ff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.tender-photo.active {
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0,123,255,0.3);
}

.thumb-link:focus-visible {
  outline: 3px solid #007bff;
  outline-offset: 2px;
  border-radius: 8px;
}

.photo-carousel {
  scroll-behavior: smooth;
  padding-bottom: 5px;
}

/* ========== ПЛАНШЕТ ========== */
@media screen and (max-width: 1024px) {
  .main-photo-container .main-photo {
    width: 384px;
    height: 288px;
  }
  
  .tender-photo {
    width: 120px;
    height: 93px;
  }
}

/* ========== МОБИЛЬНЫЕ ========== */
@media screen and (max-width: 768px) {
  .main-photo-container {
    margin-bottom: 15px;
  }
  
  .main-photo-container .main-photo {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
   
    background-size: contain;
  }
  
  .tender-photo {
    width: 88px;
    height: 68px;
  }
}

@media screen and (max-width: 480px) {
  .tender-photo {
    width: 72px;
    height: 56px;
  }
  
  .photo-carousel {
    gap: 8px;
  }
}