/* Minimal mobile hero carousel styles (placeholder to avoid 404) */
.carousel-container { transition: transform 0.3s ease; }
.carousel-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; }
.carousel-btn { background: #1f3bd1; color: #fff; border: none; width: 42px; height: 42px; border-radius: 50%; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.carousel-btn:active { transform: scale(0.98); }
.carousel-dots { display: flex; gap: 10px; }
.carousel-dots .dot { width: 10px; height: 10px; border-radius: 50%; background: #c8d0ff; box-shadow: 0 0 0 3px rgba(32,57,214,0.15); }
.carousel-dots .dot.active { background: #ffb400; box-shadow: 0 0 0 5px rgba(255,180,0,0.25); }

/* ——— Hero responsive layout for mobile ——— */
@media (max-width: 992px) {
  .hero {
    padding-top: 90px !important; /* Отступ от фиксированного навбара на мобильных */
  }
  
  .hero-buttons-with-image {
    display: flex !important;
    flex-direction: row !important; /* всегда в ряд */
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: nowrap !important; /* не переносить на вторую строку */
    width: 100%;
  }

  .hero-buttons {
    order: 1 !important;
    flex: 1 1 56% !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .hero-buttons .btn {
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.2;
    border-radius: 12px;
  }

  .hero-image {
    order: 2 !important;
    flex: 1 1 44% !important;
    min-width: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 !important;
  }

  .hero-image .founder-img {
    width: 42vw; /* scale with viewport */
    max-width: 260px;
    height: auto;
    object-fit: contain;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
  }
}

@media (max-width: 480px) {
  .hero {
    padding-top: 80px !important; /* Отступ от фиксированного навбара на маленьких экранах */
  }
  
  .hero-buttons-with-image { 
    gap: 10px !important;
    align-items: flex-start !important;
  }
  .hero-buttons { 
    flex: 1 1 62% !important;
    order: 1 !important;
    min-width: 0;
  }
  .hero-buttons .btn { 
    padding: 9px 11px !important; 
    font-size: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: auto !important;
    line-height: 1.3 !important;
  }
  .hero-image { 
    order: 2 !important; 
    flex: 0 0 120px !important;
    max-width: 120px !important;
    margin-bottom: 0 !important;
  }
  .hero-image .founder-img { 
    width: 120px !important; 
    max-width: 120px !important;
    height: auto !important;
    transform: scale(1) !important;
  }
}

@media (max-width: 360px) {
  .hero {
    padding-top: 75px !important; /* Отступ от фиксированного навбара на очень маленьких экранах */
  }
  
  .hero-buttons-with-image {
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .hero-buttons { 
    flex: 1 1 65% !important; 
    order: 1 !important;
    min-width: 0;
  }
  .hero-buttons .btn { 
    padding: 8px 10px !important; 
    font-size: 11px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: auto !important;
    line-height: 1.3 !important;
  }
  .hero-image { 
    order: 2 !important; 
    flex: 0 0 100px !important;
    max-width: 100px !important;
    margin-bottom: 0 !important;
  }
  .hero-image .founder-img { 
    width: 100px !important; 
    max-width: 100px !important;
    height: auto !important;
    transform: scale(1) !important;
  }
}

/* Специально для узких мобильных (≤575px x 670) — держим картинку справа */
@media (max-width: 575px) {
  .hero {
    padding-top: 85px !important; /* Отступ от фиксированного навбара для узких мобильных */
  }
  
  .hero-buttons-with-image { flex-wrap: nowrap !important; flex-direction: row !important; gap: 8px; }
  .hero-buttons { order: 1 !important; flex: 1 1 64% !important; }
  .hero-buttons .btn { padding: 8px 10px; font-size: 12px; line-height: 1.15; }
  .hero-image { order: 2 !important; flex: 1 1 36% !important; }
  .hero-image .founder-img { width: 42vw; max-width: 170px; }
}

/* экстремально узкие экраны */
@media (max-width: 320px) {
  .hero {
    padding-top: 70px !important; /* Отступ от фиксированного навбара на экстремально узких экранах */
  }
  
  .hero-buttons-with-image { 
    gap: 6px !important;
    align-items: flex-start !important;
  }
  .hero-buttons { 
    flex: 1 1 70% !important;
    order: 1 !important;
    min-width: 0;
  }
  .hero-buttons .btn { 
    padding: 7px 9px !important; 
    font-size: 10.5px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: auto !important;
    line-height: 1.3 !important;
  }
  .hero-image { 
    flex: 0 0 90px !important;
    max-width: 90px !important;
    order: 2 !important;
    margin-bottom: 0 !important;
  }
  .hero-image .founder-img { 
    width: 90px !important; 
    max-width: 90px !important;
    height: auto !important;
    transform: scale(1) !important;
  }
}

@media (max-width: 280px) {
  .hero {
    padding-top: 65px !important; /* Отступ от фиксированного навбара на самых узких экранах */
  }
  
  .hero-buttons { flex: 1 1 70% !important; }
  .hero-buttons .btn { padding: 6px 8px; font-size: 11px; }
  .hero-image { flex: 1 1 30% !important; }
  .hero-image .founder-img { width: 38vw; max-width: 140px; }
}

