.btn,
.icon-btn,
.select-pill {
  min-height: 44px;
  border: 0;
  cursor: pointer;
  transition: transform 120ms ease, filter 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 11px 14px;
  border: 2px solid rgba(76, 45, 18, 0.78);
  border-radius: 13px;
  background:
    radial-gradient(circle at 24% 16%, rgba(255, 244, 214, 0.3), transparent 36%),
    linear-gradient(180deg, rgba(233, 184, 66, 0.44), rgba(168, 100, 24, 0.34)),
    var(--texture-button-panel-asset),
    linear-gradient(180deg, #7A4D29, #4A2A1A);
  background-size: auto, auto, 100% 100%, auto;
  box-shadow:
    inset 0 1px 0 rgba(255, 244, 214, 0.24),
    inset 0 -4px 0 rgba(35, 19, 12, 0.34),
    0 5px 0 rgba(55, 35, 22, 0.28),
    0 10px 14px rgba(40, 20, 10, 0.14);
  color: #FFF0C8;
  font-size: 0.95rem;
  font-weight: 900;
  text-align: center;
  text-shadow: 0 2px 0 rgba(31, 18, 12, 0.38);
  overflow: hidden;
}

.btn.secondary {
  border-color: rgba(143, 106, 70, 0.72);
  background:
    linear-gradient(180deg, rgba(246, 230, 195, 0.08), rgba(0, 0, 0, 0.12)),
    var(--texture-button-panel-asset),
    linear-gradient(180deg, #6B4328, #3B2115);
  background-size: auto, 100% 100%, auto;
  color: var(--text-on-dark);
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.28);
}

.btn.is-ready-action {
  border-color: rgba(76, 45, 18, 0.78);
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.42), transparent 38%),
    linear-gradient(180deg, rgba(240, 182, 61, 0.58), rgba(168, 100, 24, 0.34)),
    var(--texture-button-panel-asset),
    linear-gradient(180deg, #8C572B, #4C2B18);
  background-size: auto, auto, 100% 100%, auto;
  animation: readyActionPulse 1.8s ease-in-out infinite;
}

.btn.ghost {
  border-color: rgba(83, 48, 28, 0.28);
  background:
    var(--texture-paper-asset),
    linear-gradient(180deg, rgba(246, 230, 195, 0.84), rgba(231, 197, 141, 0.58)),
    var(--texture-cardboard-asset),
    rgba(83, 48, 28, 0.075);
  background-size: 512px 512px, auto, 360px 360px, auto;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 2px 0 rgba(116, 82, 50, 0.12);
  color: var(--text-main);
  text-shadow: none;
}

.btn.danger-btn {
  background:
    linear-gradient(180deg, rgba(255, 244, 214, 0.12), rgba(0, 0, 0, 0.12)),
    var(--texture-button-panel-asset),
    var(--danger);
  background-size: auto, 100% 100%, auto;
  color: #fff8ea;
}

.btn:disabled,
.select-pill:disabled {
  cursor: not-allowed;
  filter: grayscale(0.8) brightness(0.72);
  transform: none;
}

/* Хомяк, який зараз у вилазці — напівпрозорий з синім акцентом */
.select-pill.pill-in_expedition,
.select-pill.pill-resting {
  opacity: 0.72;
  border-color: rgba(40, 120, 200, 0.45);
  background: rgba(40, 120, 200, 0.08);
}

.select-pill.pill-injured {
  opacity: 0.72;
  border-color: rgba(164, 59, 45, 0.45);
  background: rgba(164, 59, 45, 0.08);
}

.btn:not(:disabled):hover {
  filter: brightness(1.1);
}

.icon-btn:not(:disabled):hover {
  background:
    var(--texture-paper-asset),
    linear-gradient(180deg, rgba(246, 230, 195, 0.88), rgba(231, 197, 141, 0.68)),
    var(--texture-cardboard-asset);
  border-color: rgba(83, 48, 28, 0.38);
}

.select-pill:not(:disabled):hover {
  border-color: rgba(83, 48, 28, 0.38);
  background:
    var(--texture-paper-asset),
    linear-gradient(180deg, rgba(246, 230, 195, 0.82), rgba(207, 159, 98, 0.48)),
    var(--texture-cardboard-asset);
}

.btn:not(:disabled):active,
.icon-btn:not(:disabled):active,
.select-pill:not(:disabled):active {
  transform: translateY(3px) scale(0.99);
}

.btn:not(:disabled):active {
  box-shadow:
    inset 0 2px 0 rgba(255, 244, 214, 0.18),
    inset 0 -2px 0 rgba(31, 18, 12, 0.24),
    0 2px 0 rgba(55, 35, 22, 0.28),
    0 5px 9px rgba(40, 20, 10, 0.12);
}

.icon-btn {
  display: inline-grid;
  width: 44px;
  min-width: 44px;
  place-items: center;
  border: 2px solid rgba(83, 48, 28, 0.22);
  border-radius: 13px;
  background:
    var(--texture-paper-asset),
    linear-gradient(180deg, rgba(246, 230, 195, 0.86), rgba(207, 159, 98, 0.58)),
    var(--texture-cardboard-asset);
  background-size: 512px 512px, auto, 320px 320px;
  color: var(--accent-2);
  font-weight: 900;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    0 2px 4px rgba(65, 40, 20, 0.12);
}

.hero-panel .icon-btn {
  border-color: rgba(83, 48, 28, 0.22);
  background:
    var(--texture-paper-asset),
    linear-gradient(180deg, rgba(246, 230, 195, 0.72), rgba(207, 159, 98, 0.38)),
    var(--texture-cardboard-asset);
  color: var(--text-main);
}

.select-pill {
  padding: 9px 12px;
  border: 2px solid rgba(96, 73, 45, 0.28);
  border-radius: 14px;
  background:
    var(--texture-paper-asset),
    linear-gradient(180deg, rgba(246, 230, 195, 0.8), rgba(231, 197, 141, 0.42)),
    var(--texture-cardboard-asset);
  background-size: 512px 512px, auto, 320px 320px;
  color: var(--text-main);
  font-size: 0.85rem;
  font-weight: 850;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 2px 0 rgba(116, 82, 50, 0.1);
}

.select-pill.is-active,
.select-pill.active {
  border-color: rgba(183, 120, 28, 0.7);
  background:
    radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.42), transparent 36%),
    linear-gradient(180deg, rgba(247, 200, 76, 0.36), rgba(79, 117, 84, 0.12)),
    var(--texture-cardboard-asset);
  background-size: auto, auto, 320px 320px;
  color: var(--accent);
}

.button-row {
  display: flex;
  gap: 8px;
}
