.l2-craft-page {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: 0 8px 20px;
}

.l2-craft-badge {
  font-weight: 700;
  text-align: center;
  margin: 8px 0 12px;
}

.l2-craft-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.l2-craft-grade-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  margin-bottom: 10px;
}

.l2-craft-grade-tabs[hidden] {
  display: none !important;
}

.l2-craft-grade-tab {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 4px 2px;
  border: 1px solid #5c4a36;
  border-radius: 4px;
  background: linear-gradient(180deg, #3a3228 0%, #252018 55%, #1a1612 100%);
  color: #fff;
  font-family: var(--l2-font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.l2-craft-grade-tab.is-active {
  filter: brightness(1.14);
  border-color: #8a7048;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(191, 168, 138, 0.18);
}

.l2-craft-grade-tab:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  filter: none;
}

.l2-craft-grade-tab:not(:disabled):hover,
.l2-craft-grade-tab:not(:disabled):focus-visible {
  filter: brightness(1.08);
  outline: none;
}

.l2-craft-meta {
  font-size: 12px;
  margin-bottom: 10px;
  line-height: 1.45;
}

.l2-craft-stub {
  padding: 16px 8px;
  text-align: center;
  opacity: 0.85;
}

/* —— Accordion список рецептів —— */
.l2-craft-accordion {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.l2-craft-accordion-item {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.22);
  border-radius: 2px;
}

.l2-craft-accordion-item.is-locked {
  opacity: 0.82;
}

.l2-craft-accordion-item.is-expanded {
  border-color: rgba(191, 168, 138, 0.35);
  background: rgba(0, 0, 0, 0.28);
}

.l2-craft-accordion-trigger {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 6px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}

.l2-craft-accordion-trigger:hover,
.l2-craft-accordion-trigger:focus-visible {
  background: rgba(255, 255, 255, 0.04);
  outline: none;
}

.l2-craft-accordion-arrow {
  flex: 0 0 14px;
  width: 14px;
  font-size: 10px;
  line-height: 1;
  opacity: 0.85;
  text-align: center;
}

.l2-craft-accordion-icon {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.l2-craft-accordion-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.l2-craft-accordion-title {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
  word-break: break-word;
}

.l2-craft-accordion-status {
  font-size: 11px;
  line-height: 1.3;
  opacity: 0.92;
}

.l2-craft-accordion-status.is-ready {
  color: #8fd48f;
}

.l2-craft-accordion-status.is-blocked {
  color: #d4b896;
}

.l2-craft-accordion-panel {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.l2-craft-accordion-panel-inner {
  padding: 8px 10px 10px;
}

.l2-craft-recipe {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
  padding: 8px;
}

.l2-craft-recipe.is-locked {
  opacity: 0.72;
}

.l2-craft-recipe-head {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 6px;
}

.l2-craft-recipe-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex: 0 0 32px;
}

.l2-craft-recipe-title {
  font-weight: 700;
  font-size: 13px;
}

.l2-craft-recipe-sub {
  font-size: 11px;
  opacity: 0.9;
}

.l2-craft-ing-list {
  margin: 6px 0;
  padding-left: 0;
  list-style: none;
}

.l2-craft-ing-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  margin-bottom: 3px;
}

.l2-craft-ing-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.l2-craft-ing-qty.is-ok {
  color: #8fd48f;
}

.l2-craft-ing-qty.is-bad {
  color: #e88;
}

.l2-craft-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
}

.l2-craft-count-input {
  width: 52px;
  padding: 4px 6px;
  text-align: center;
}

.l2-craft-summary {
  font-size: 11px;
  margin-top: 4px;
  opacity: 0.92;
}

.l2-craft-lock-reason {
  font-size: 11px;
  color: #eaa;
  margin-top: 4px;
}

.l2-craft-msg {
  text-align: center;
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.4;
}

.l2-craft-msg--ok {
  color: #FFBF00;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.l2-craft-msg-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  object-fit: contain;
}

.l2-craft-msg-text {
  min-width: 0;
}

.l2-craft-msg-qty {
  color: #fff;
  font-weight: 700;
}

.l2-craft-msg--err {
  color: #e88;
}

/* Кнопки крафту — той самий стиль, що «Назад до міста» (magisters), трохи менші */
body.l2-page-craft .l2-craft-tabs .l2-craft-tab.l2-town-btn,
body.l2-page-craft .l2-craft-controls .l2-town-btn,
body.l2-page-craft .l2-craft-recipe > .l2-town-btn,
body.l2-page-craft .l2-craft-accordion-panel .l2-town-btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 56px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  font-family: var(--l2-font-display);
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  line-height: 1.25 !important;
  text-align: center;
  color: #fff !important;
  text-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer;
  border: 1px solid #5c4a36 !important;
  border-image: none !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #4a4034 0%, #2e2820 55%, #1f1a14 100%) !important;
  background-image: linear-gradient(180deg, #4a4034 0%, #2e2820 55%, #1f1a14 100%) !important;
  background-color: transparent !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  filter: none !important;
  transform: none !important;
  transition: filter 0.12s ease;
}

body.l2-page-craft .l2-craft-tabs .l2-craft-tab.l2-town-btn {
  flex: 1 1 auto;
  min-width: 64px !important;
}

body.l2-page-craft .l2-craft-tab.is-active.l2-town-btn {
  filter: brightness(1.12) !important;
  border-color: #6d5840 !important;
}

body.l2-page-craft .l2-craft-tab:disabled.l2-town-btn {
  opacity: 0.55;
  cursor: default;
}

body.l2-page-craft .l2-craft-tabs .l2-craft-tab.l2-town-btn:hover,
body.l2-page-craft .l2-craft-tabs .l2-craft-tab.l2-town-btn:focus,
body.l2-page-craft .l2-craft-tabs .l2-craft-tab.l2-town-btn:focus-visible,
body.l2-page-craft .l2-craft-controls .l2-town-btn:hover,
body.l2-page-craft .l2-craft-controls .l2-town-btn:focus,
body.l2-page-craft .l2-craft-controls .l2-town-btn:focus-visible,
body.l2-page-craft .l2-craft-recipe > .l2-town-btn:hover,
body.l2-page-craft .l2-craft-recipe > .l2-town-btn:focus,
body.l2-page-craft .l2-craft-recipe > .l2-town-btn:focus-visible,
body.l2-page-craft .l2-craft-accordion-panel .l2-town-btn:hover,
body.l2-page-craft .l2-craft-accordion-panel .l2-town-btn:focus,
body.l2-page-craft .l2-craft-accordion-panel .l2-town-btn:focus-visible {
  color: #fff !important;
  border-color: #5c4a36 !important;
  filter: brightness(1.1) !important;
  outline: none;
}

body.l2-page-craft .l2-craft-btn:disabled.l2-town-btn,
body.l2-page-craft .l2-craft-tab:disabled.l2-town-btn {
  opacity: 0.5;
  cursor: not-allowed;
  filter: none !important;
}

/* Craft-only 3-slot MP hotbar, under Jewelry; no impact on battle HUD. */
.l2-craft-mp-hotbar { margin: 5px 0 11px; }
.l2-craft-mp-hotbar[hidden] { display: none !important; }
.l2-craft-mp-line { display: flex; align-items: center; justify-content: center; gap: 9px; }
.l2-craft-mp-caption { color: #bea679; font-size: 11px; font-weight: 700; }
.l2-craft-mp-slots { display: flex; justify-content: center; gap: 5px; }
.l2-craft-mp-slot {
  position: relative; width: 43px; height: 43px; padding: 3px; overflow: hidden;
  border: 1px solid #75634d; border-radius: 5px;
  background: linear-gradient(#36312b, #15120f); box-shadow: inset 0 1px 1px #82705a66;
  color: #d5bf94; cursor: pointer; touch-action: manipulation;
}
.l2-craft-mp-slot img { width: 100%; height: 100%; object-fit: contain; }
.l2-craft-mp-slot-qty {
  position: absolute; right: 2px; bottom: 1px; padding: 0 2px;
  border-radius: 2px; background: #0c0909cf; color: #f4dd9a;
  font-size: 10px; font-weight: 700; text-shadow: 1px 1px #000;
}
.l2-craft-mp-slot.is-empty { border-style: dashed; }
.l2-craft-mp-plus { font-size: 22px; color: #d8c3a2; }
.l2-craft-mp-slot.is-depleted { opacity: .48; }
.l2-craft-mp-slot.is-editing { outline: 2px solid #bf9b64; }
.l2-craft-mp-slot:disabled, .l2-craft-mp-edit:disabled { cursor: wait; opacity: .55; }
.l2-craft-mp-edit {
  font: inherit; font-size: 11px; color: #e0cfb4; border: 1px solid #594a39;
  border-radius: 4px; background: #2b251d; padding: 8px 5px; cursor: pointer;
}
.l2-craft-mp-picker {
  margin: 8px auto 2px; padding: 7px; max-width: 360px;
  background: #1d1916; border: 1px solid #514438; border-radius: 6px;
}
.l2-craft-mp-picker-title { color: #e3c79e; text-align: center; margin-bottom: 5px; font-size: 12px; }
.l2-craft-mp-choice {
  display: flex; align-items: center; width: 100%; gap: 8px; margin-top: 5px;
  border: 1px solid #4f4134; border-radius: 4px; padding: 5px;
  background: #2b241d; color: #e5dac8; text-align: left; font-size: 12px;
  cursor: pointer;
}
.l2-craft-mp-choice img { width: 27px; height: 27px; object-fit: contain; }
.l2-craft-mp-choice-count { margin-left: auto; color: #dac18b; }
.l2-craft-mp-choice:disabled { opacity: .45; }
.l2-craft-mp-clear { justify-content: center; color: #d3b7a3; }
