/* Базовый стиль */
.btn {
  display: inline-block;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}


/* Основная кнопка */
.btn-primary {
  min-width: 260px;    /* одинаковая ширина как у самой длинной */
  position: relative;
  padding: 10px 20px;
  border-radius: 10px;
  background: linear-gradient(180deg, #c7a764, #8f5f18);
  color: var(--parchment);
  font-weight: 400;
  text-align: center;
}


/* Тултип */
.btn-primary[data-desc]::after {
  content: attr(data-desc);
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: var(--tooltip-bg-color, #fffef9);
  color: var(--tooltip-ink, #333);
  font-size: 0.9rem;
  line-height: 1.3;
  padding: 8px 10px;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s, transform .2s;
  white-space: pre-wrap;
  z-index: 10;
}

.btn-primary[data-desc]::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--tooltip-bg-color, #fffef9);
  opacity: 0;
  transition: opacity .2s;
}

/* Показать тултип */
.btn-primary[data-desc]:hover::after,
.btn-primary[data-desc]:hover::before,
.btn-primary[data-desc]:focus-visible::after,
.btn-primary[data-desc]:focus-visible::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Hover / Active */
.btn-primary:hover,
.btn-primary:focus-visible {
  filter: saturate(1.08) brightness(1.02);
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
  background: linear-gradient(180deg, #f0d98a, var(--gold-2));
  color: var(--color-black-olive); /* синий текст при наведении */
}

.btn-primary:active {
  transform: scale(.98);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Disabled */
.btn-primary:disabled {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}






/* ========================== Мобильная адаптация — всегда внизу ========================== */

@media (max-width: 768px) {
  .btn-primary {
    width: 100%;       /* на мобилках кнопка на всю ширину */
    padding: 12px 0;
  }
}

/* Мобилка */
@media (max-width: 768px) {
  .btn-primary {
    background: linear-gradient(180deg, rgba(199,167,100,0.7), rgba(143,95,24,0.8));
  }
}