
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:22px;
}
.cta-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Open Sans',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.2px;
  padding:10px 20px;
  border-radius:10px;
  border:1px solid transparent;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease,
             color .15s ease, transform .1s ease, box-shadow .15s ease,
             filter .15s ease;
  text-decoration:none !important;
  white-space:nowrap;
}
.cta-btn:active{ transform:translateY(1px); }

.cta-btn--primary{
  background:linear-gradient(135deg,var(--color-amber) 0%,var(--color-amber-dark) 100%);
  color:#fff;
  box-shadow:var(--shadow);
}
.cta-btn--primary:hover{
  box-shadow:var(--shadow-lift);
  filter:brightness(1.06);
}

.cta-btn--ghost{
  background:var(--color-paper);
  border-color:var(--color-line);
  color:var(--color-amber-dark);
}
.cta-btn--ghost:hover{
  background:var(--color-sand);
  border-color:var(--color-amber-soft);
}

.cta-btn--soft{
  background:var(--color-sand);
  color:var(--color-amber-dark);
  border-color:var(--color-sand-dark);
}
.cta-btn--soft:hover{
  background:var(--color-sand-dark);
}

.cta-btn__arrow{
  font-size:15px;
  line-height:1;
  transition:transform .15s ease;
}
.cta-btn--primary:hover .cta-btn__arrow{ transform:translateX(3px); }
.cta-btn--ghost:hover .cta-btn__arrow,
.cta-btn--soft:hover .cta-btn__arrow{ transform:translateX(-3px); }

@media (max-width:520px){
  .cta-row{ flex-direction:column; }
  .cta-btn{ justify-content:center; }
}

.table-wrapper{
  border:1px solid var(--color-line);
  border-radius:12px;
  box-shadow:var(--shadow);
  background:var(--color-paper);
  overflow:auto;
}
.table-wrapper table.class_table{
  margin-bottom:0;
}
.table-wrapper table.class_table .table_header td{
  position:sticky;
  top:0;
  z-index:1;
}
.table-wrapper table.class_table .table_header td:first-child{
  border-top-left-radius:11px;
}
.table-wrapper table.class_table .table_header td:last-child{
  border-top-right-radius:11px;
}
.table-wrapper table.class_table tr:last-child td{
  border-bottom:none;
}
.table-wrapper table.class_table tr:last-child td:first-child{
  border-bottom-left-radius:11px;
}
.table-wrapper table.class_table tr:last-child td:last-child{
  border-bottom-right-radius:11px;
}

tr[data-dmg]{
  box-shadow:inset 3px 0 0 0 transparent;
}
tr[data-dmg="piercing"]{ box-shadow:inset 3px 0 0 0 #8a9bb0; }
tr[data-dmg="slashing"]{ box-shadow:inset 3px 0 0 0 #b0555a; }
tr[data-dmg="bludgeoning"]{ box-shadow:inset 3px 0 0 0 #8a6a3f; }
tr[data-dmg="none"]{ box-shadow:inset 3px 0 0 0 #b7ab8f; }

.dmg-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 auto;
}
.dmg-dot--piercing{ background:#8a9bb0; }
.dmg-dot--slashing{ background:#b0555a; }
.dmg-dot--bludgeoning{ background:#8a6a3f; }
.dmg-dot--none{ background:#b7ab8f; }

.chip .dmg-dot{
  box-shadow:0 0 0 1px rgba(255,255,255,.5);
}

table.class_table tr.is-filtered-out{
  display:none;
}

.empty-state::before{
  content:'🔍';
  display:block;
  font-size:22px;
  margin-bottom:8px;
}

.dmg-filter-note{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:#8a7757;
  font-style:italic;
  margin:-8px 0 14px;
}
.dmg-filter-note::before{
  content:'i';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  border-radius:50%;
  border:1px solid #8a7757;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  flex:0 0 auto;
}

h2.bigSectionTitle{
  scroll-margin-top:70px;
}

.equip-toc{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:14px 0 22px;
}
.equip-toc__btn{
  font-family:inherit;
  font-size:12.5px;
  font-weight:600;
  background:var(--color-paper-2);
  border:1px solid var(--color-line);
  color:var(--color-amber-dark);
  padding:6px 13px;
  border-radius:8px;
  cursor:pointer;
  transition:background .15s, border-color .15s, box-shadow .15s,
             color .15s, transform .1s;
}
.equip-toc__btn:hover{
  background:var(--color-sand);
  border-color:var(--color-amber-soft);
  box-shadow:var(--shadow);
}
.equip-toc__btn:active{ transform:translateY(1px); }
.equip-toc__btn.is-active{
  background:linear-gradient(135deg,var(--color-amber) 0%,var(--color-amber-dark) 100%);
  border-color:var(--color-amber-dark);
  color:#fff;
  box-shadow:var(--shadow);
}

.equip-section.is-hidden{
  display:none;
}

.pending-note{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  color:#8a7757;
  font-style:italic;
  padding:10px 14px;
  background:var(--color-paper-2);
  border-left:3px solid var(--color-amber-soft);
  border-radius:0 8px 8px 0;
  margin:10px 0;
}
.pending-note::before{
  content:'⏳';
  font-style:normal;
}

@media (max-width:520px){
  .filter-dropdown__panel{ left:auto; right:0; }
}
